ZAPAMIĘTAJ - JĘZYK PROGRAMOWANIA TO TYLKO NARZĘDZIE
Transkrypt
ZAPAMIĘTAJ - JĘZYK PROGRAMOWANIA TO TYLKO NARZĘDZIE
Algorytm ■ ■ ■ ■ W początkowych latach ery komputerowej wszystkie programy pisano w kodzie maszyny, zapisując rozkazy (kody operacji, adresy w pamięci, dane) w formie kombinacji bitów. Było to szalenie uciążliwe dla większych programów Dlatego opracowywano języki oprogramowania, by kody operacji oraz adresy móc zapisywać w formie symbolicznej, a dane w postaci czytelnych dla człowieka liczb dziesiętnych, tekstów itd.. Zamianą notacji czytelnej dla człowieka na program zrozumiały dla komputera zajmują asię specjalne programy zwane kompilatorami ■ ■ ■ ■ ■ Kroki algorytmu wykonuje się sekwencyjnie, jeden po drugim. W określonej sytuacji pomija się niektóre kroki W niektórych sytuacjach powtarza się część kroków Pojedynczy krok to operacja wykonywana na zawartościach zmiennych Zmienna to pojemnik na zawartość określonego rodzaju (typu) Kroki algorytmu wykonuje się sekwencyjnie, ZAPAMIĘTAJ - JĘZYK PROGRAMOWANIA TO TYLKO NARZĘDZIE Pisząc progam Znajomość budowy młotka ■ MUSISZ NAJPIERW UMIEĆ nie zastąpi umiejętności OPRACOWAĆ wbijania gwoździa ALGORYTM ■ MUSISZ UMIEC PRZETŁUMACZYĆ ALGORYTM NA KONSTRUKCJE JĘZYKA PROGRAMOWANIA Ale trzeba wiedzieć, za co trzymać ■ NIE MUSISZ a nawet nie powinieneś ■ znać wszystkich tajników języka ani tryków zaawansowanych programistów ■ Algorytm Algorytm: Mycie zębów 1. Wypłucz jamę ustną 2. Nałóż pastę na szczoteczkę 3. Czyść szczoteczką zęby 4. Wypłucz jamę ustną 5. Wypłucz szczoteczkę 6. Koniec KOLEJNOŚĆ KROKÓW JEST WAŹNA ■ Algorytm to ścisła instrukcja postępowania: ■ krok po kroku. Algorytm to szczegółowy plan rozwiązania określonego problemu, przedstawiony za pomocą skończonej liczby operacji. ■ Przykłady algorytmów: ■ Instrukcja pożarowa Przepis kucharski Algorytm Euklidesa (obliczania największego wspólnego podzielnika) Pisemne dodawanie, odejmowanie, mnożenie ... ■ ■ ■ Algorytm: Mycie zębów Jasia Wypłucz jamę ustną 2. Wypłucz jamę ustną 3. Wypłucz szczoteczkę 4. Czyść szczoteczką zęby 5. Nałóż pastę na szczoteczkę 6. Koniec 1. W określonej sytuacji pomija się niektóre kroki Algorytm: Wychodzenie do pracy 1. Spakuj teczkę 2. Jeśli jesteś łysy, przejdź do pkt. 4 3. Uczesz się 4. Ubierz się 5. Jeśli nie masz żony, przejdź do pkt.7 6. Pożegnaj się z żoną 7. Koniec Główne etapy algorytmu ■ Pobieranie danych ■ Przetwarzanie ■ Przedstawienie wyników 90 80 70 60 Wsch. Zach. Płn. 50 40 30 20 10 0 1. Kw W niektórych sytuacjach powtarza się kroki Algorytm: Jedzenie śniadania 1. Umyj ręce 2. Ukrój kromkę chleba 3. Posmaruj 4. Obłóż 5. Zjedz 6. Jeśli jesteś głodny, przejdź do pkt. 2 7. Umyj ręce, zęby i twarz 8. Koniec Zadanie ■ Obliczyć wynik równania: A*x+B=0 Krok to operacja na zawartościach zmiennych Początkowy stan zmiennych Analiza Końcowy stan zmiennych Człowiek ■ misa X = -B/A ■ Przykładowo: dla 4x+30=0 ■ Mamy wynik: x = -30/4 = -7.5 JEDZENIE Rozwiązanie: 2. Kw 3. Kw 4. Kw Algorytm w formalizmie PAP Inny przebieg START krok START -Wczytaj(A) -Wczytaj(B) -X :=-B/A -Wypisz(X) A B X - - - 4 - - 4 30 - 4 30 -7.5 4 30 -7.5 1 Wczytaj(X) TAK NIE 1 X>=0 2 3 X WYN - - -8 - 2 FAŁSZ WYN:=X 5 4 WYN:=-X 4 -8 8 5 -8 8 Wypisz(WYN) STOP STOP Zadanie ■ Zadanie Obliczyć wartość bezwzględną liczby ■ ANALIZA ■ ■ ■ Wartość bezwzględna to wartość bez znaku (np.. |7|=7, a |-8|=8) Jeśli liczba X jest dodatnia lub zero, to jej wartość bezwzględna równa się X (|7|=7) Jeśli liczba X jest ujemna, to jej wartość bezwzględna równa się –X (|-8|=-(-8)=8) Obliczyć n! (n silnia) ANALIZA n! to iloczyn 1*2*.....*n Przykładowo: 3!=1*2*3 = 6 ■ 5!=1*2*3*4*5=120 ■ n! = (n-1)! * n ■ ■ Algorytm w formalizmie PAP Zmienne START krok 1 TAK Wczytaj(X) NIE 1 X>=0 2 3 X WYN - - 7 - 2 PRAWDA WYN:=X 5 4 WYN:=-X Wypisz(WYN) STOP 3 7 7 5 7 7 n – zmienna z liczbą, której silnię chcemy liczyć (całkowita dodatnia) ■ WYN – zmienna na wynik obliczeń ■ J – zmienna wskazująca, który czynnik już wymnożyliśmy (np.. J=2 znaczy, że WYN = 1*2, itd..) ■ Algorytm w formalizmie PAP krok n 1 3 2 3 3 3 4 FAŁSZ 5 3 6 3 4 FAŁSZ 5 3 6 3 4 PRAWDA 7 3 Wypisz(WYN) START 1 Wczytaj(n) 2 WYN:=1 3 J:=1 TAK J=n 4 NIE 5 J:=J+1 6 WYN:=WYN*J 7 WYN 1 1 J 1 1 2 2 2 2 6 3 3 6 3 WYN 1 1 J 1 1 2 2 2 2 6 3 3 6 24 4 4 24 120 5 5 120 5 STOP Inny przebieg krok n 1 5 1 Wczytaj(n) 2 5 3 5 2 WYN:=1 4 FAŁS5Z 3 J:=1 5 5 6 5 4 FAŁSZ TAK 5 5 J=n 6 5 4 NIE 4 FAŁSZ 5 5 5 J:=J+1 6 5 7 Wypisz(WYN) 4 FAŁSZ 6 WYN:=WYN*J 5 5 6 5 STOP 4 PRAWDA 7 5 START W skrócie: Elementy formalizmu PAP Instrukcja START TEST STOP