Przeczytaj
Podstawowe pojęcia
Przypomnijmy sobie podstawowe pojęcia.
AlgorytmemAlgorytmem nazywamy przepis postępowania, który prowadzi do rozwiązania ustalonego problemu. Przepis ten określa ciąg czynności elementarnych, które należy wykonać.
Problem algorytmiczny formułujemy za pomocą specyfikacji.
Do specyfikacji problemu należy:
zdefiniowanie danych wejściowych,
opis związków, jakie zachodzą między wynikami a danymi,
zdefiniowanie danych wyjściowych, określenie stanu końcowego, po wykonaniu algorytmu.
Do sposobów zapisywania algorytmów należą m.in.:
schemat blokowy,
pseudokod,
lista kroków,
język programowania.
Skupimy się na zapisaniu algorytmów za pomocą listy kroków.
Lista kroków
Algorytmy liniowe
Algorytm liniowy zapisany za pomocą listy kroków jest uporządkowaną listą instrukcji. Kolejne punkty listy reprezentują kolejne kroki algorytmu.
Przedstawimy zapisany za pomocą listy kroków algorytm obliczania czasu potrzebnego na przebycie danej drogi na podstawie danych dotyczących innej podróży pokonanej z taką samą prędkością.
Specyfikacja problemu:
Dane:
t1– czas przebycia poprzedniej drogi wyrażony w godzinachs1– długość wcześniejszej drogi wyrażona w kilometrachs2– długość drogi wyrażona w kilometrach
Wynik:
t2– czas przebycia drogi wyrażony w godzinach
Podaj
t1.Podaj
s1.Podaj
s2.Zmiennej
Vprzypisz wynik dzielenias1przezt1.Zmiennej
t2przypisz wynik dzielenias2przezV.Wyświetl wartość zmiennej
t2.Zakończ działanie algorytmu.
Zapoznajmy się również z innym algorytmem, tym razem znanym z lekcji matematyki.
Na początku roku rower kosztował pewną kwotę pieniędzy (cena1). Po podwyżkach cena wzrosła (cena2). Oblicz, o ile procent wzrosła cena roweru (procent).
Specyfikacja problemu:
Dane:
cena1– liczba naturalnacena2– liczba naturalna
Wynik:
procent– liczba rzeczywista
Podaj
cena1.Podaj
cena2.Przypisz zmiennej
tempwynik mnożeniacena2i100.Przypisz zmiennej
procentwynik dzieleniatempprzezcena1.Wyświetl wartość zmiennej
procent.Zakończ działanie algorytmu.
Algorytmy rozgałęzione
Będziemy zapisywać jednak nie tylko algorytmy liniowe, ale i rozgałęzione. Przyjrzyjmy się algorytmowi działania pewnego kantoru.
W tym kantorze użytkownik najpierw wybiera waluty, między którymi chce dokonać wymiany (waluta1 oraz waluta2). Następnie decyduje, czy chce sprzedać, czy kupić drugą z podanych walut. Pracownik kantoru sprawdza aktualny kurs (kursSprzedaż lub kursKupno). Kolejnym krokiem jest wpisanie kwoty podanej w drugiej walucie (kwota1), którą chce wymienić (niezależnie od tego, czy chce ją sprzedać, czy kupić). Na koniec użytkownik uruchamia kalkulator kantoru, a ten wyświetla mu informację na temat tego, za ile kupi lub sprzeda podaną kwotę pieniędzy w kantorze (kwota2).
Specyfikacja problemu:
Dane:
waluta1– łańcuch znakówwaluta2– łańcuch znakówkursSprzedaż– liczba rzeczywista dodatniakursKupno– liczba rzeczywista dodatniakwota1– liczba rzeczywista dodatnia
Wynik:
kwota2– liczba rzeczywista
Podaj symbol waluty, którą masz (
waluta1).Podaj symbol waluty, którą chcesz kupić lub sprzedać (
waluta2).Podaj rodzaj operacji (
kupnolubsprzedaż.Jeżeli:
wybrano
kupnoPrzypisz zmiennej
kodpowiedni kurs (kursKupno).Podaj, ile pieniędzy potrzebujesz. Przypisz wartość do zmiennej
kwota.Przypisz zmiennej
kwota2wynik mnożeniakorazkwota.
wybrano
sprzedażPrzypisz zmiennej
kodpowiedni kurs (kursSprzedaż).Podaj, ile pieniędzy sprzedajesz. Przypisz wartość do zmiennej
kwota.Przypisz zmiennej
kwota2wynik mnożeniakorazkwota.
Wypisz
kwota2.Zakończ działanie algorytmu.
Algorytmy z pętlą
Poza algorytmami rozgałęzionymi oraz liniowymi wymienić możemy również algorytmy z pętlą. Zapoznajmy się z przykładowym algorytmem obliczania sumy liczb naturalnych w danym przedziale. Zakładamy, że liczba1 jest różna od liczba2.
Specyfikacja problemu:
Dane:
liczba1– liczba naturalna; początek przedziału;liczba1<liczba2liczba2– liczba naturalna; koniec przedziału;liczba1<liczba2
Wynik:
suma– liczba naturalna
Podaj
liczba1.Podaj
liczba2.Przypisz zmiennej
iwartośćliczba1.Przypisz zmiennej
sumawartośćliczba1.Zwiększ wartość zmiennej
io 1.Dodaj do zmiennej
sumawartość zmienneji.Jeżeli:
ijest równaliczba2przejdź do kroku 8.
ijest różna odliczba2wróć do kroku 5.
Wyświetl wartość zmiennej
suma.Zakończ działanie algorytmu.
Słownik
przepis postępowania prowadzący do rozwiązania ustalonego problemu, określający ciąg czynności elementarnych, które należy w tym celu wykonać
algorytm powinien mieć zestaw podstawowych właściwości; należą do nich: uniwersalność, skończoność, jednoznaczność, efektywność