Podstawowe pojęcia

Przypomnijmy sobie podstawowe pojęcia.

Już wiesz

AlgorytmemalgorytmAlgorytmem 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 godzinach

  • s1 – długość wcześniejszej drogi wyrażona w kilometrach

  • s2 – długość drogi wyrażona w kilometrach

Wynik:

  • t2 – czas przebycia drogi wyrażony w godzinach

  1. Podaj t1.

  2. Podaj s1.

  3. Podaj s2.

  4. Zmiennej V przypisz wynik dzielenia s1 przez t1.

  5. Zmiennej t2 przypisz wynik dzielenia s2 przez V.

  6. Wyświetl wartość zmiennej t2.

  7. 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 naturalna

  • cena2 – liczba naturalna

Wynik:

  • procent – liczba rzeczywista

  1. Podaj cena1.

  2. Podaj cena2.

  3. Przypisz zmiennej temp wynik mnożenia cena2100.

  4. Przypisz zmiennej procent wynik dzielenia temp przez cena1.

  5. Wyświetl wartość zmiennej procent.

  6. 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ów

  • waluta2 – łańcuch znaków

  • kursSprzedaż – liczba rzeczywista dodatnia

  • kursKupno – liczba rzeczywista dodatnia

  • kwota1 – liczba rzeczywista dodatnia

Wynik:

  • kwota2 – liczba rzeczywista

  1. Podaj symbol waluty, którą masz (waluta1).

  2. Podaj symbol waluty, którą chcesz kupić lub sprzedać (waluta2).

  3. Podaj rodzaj operacji (kupno lub sprzedaż.

  4. 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żenia k oraz kwota.

    • wybrano sprzedaż

      • Przypisz zmiennej k odpowiedni kurs (kursSprzedaż).

      • Podaj, ile pieniędzy sprzedajesz. Przypisz wartość do zmiennej kwota.

      • Przypisz zmiennej kwota2 wynik mnożenia k oraz kwota.

  5. Wypisz kwota2.

  6. 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

  1. Podaj liczba1.

  2. Podaj liczba2.

  3. Przypisz zmiennej i wartość liczba1.

  4. Przypisz zmiennej suma wartość liczba1.

  5. Zwiększ wartość zmiennej i o 1.

  6. Dodaj do zmiennej suma wartość zmiennej i.

  7. Jeżeli:

    • i jest równa liczba2

      • przejdź do kroku 8.

    • i jest różna od liczba2

      • wróć do kroku 5.

  8. Wyświetl wartość zmiennej suma.

  9. Zakończ działanie algorytmu.

Słownik

algorytm
algorytm

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ć

cechy poprawnego algorytmu
cechy poprawnego algorytmu

algorytm powinien mieć zestaw podstawowych właściwości; należą do nich: uniwersalność, skończoność, jednoznaczność, efektywność