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
V
przypisz wynik dzielenias1
przezt1
.Zmiennej
t2
przypisz wynik dzielenias2
przezV
.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
temp
wynik mnożeniacena2
i100
.Przypisz zmiennej
procent
wynik dzieleniatemp
przezcena1
.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 (
kupno
lubsprzedaż
.Jeżeli:
wybrano
kupno
Przypisz zmiennej
k
odpowiedni kurs (kursKupno
).Podaj, ile pieniędzy potrzebujesz. Przypisz wartość do zmiennej
kwota
.Przypisz zmiennej
kwota2
wynik mnożeniak
orazkwota
.
wybrano
sprzedaż
Przypisz zmiennej
k
odpowiedni kurs (kursSprzedaż
).Podaj, ile pieniędzy sprzedajesz. Przypisz wartość do zmiennej
kwota
.Przypisz zmiennej
kwota2
wynik mnożeniak
orazkwota
.
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
<liczba2
liczba2
– liczba naturalna; koniec przedziału;liczba1
<liczba2
Wynik:
suma
– liczba naturalna
Podaj
liczba1
.Podaj
liczba2
.Przypisz zmiennej
i
wartośćliczba1
.Przypisz zmiennej
suma
wartośćliczba1
.Zwiększ wartość zmiennej
i
o 1.Dodaj do zmiennej
suma
wartość zmienneji
.Jeżeli:
i
jest równaliczba2
przejdź do kroku 8.
i
jest różna odliczba2
wróć 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ść