Algorytmy i schematy blokowe

Algorytmy i schematy blokowe - wstęp do programowania

Algorytmy wydają się być zagadnieniem bardzo skomplikowanym. Nic bardziej mylnego. Algorytmy są obecne w naszym życiu na każdym kroku, tylko nie zdajemy sobie z tego sprawy. Każdy, niezależnie od wieku, może nauczyć się tworzenia algorytmów. To naprawdę łatwe. A korzyści jest wiele. Nauka algorytmiki rozwija umiejętności: logicznego myślenia, analizowania i rozwiązywania problemów.

Algorytmy - przykłady z życia codziennego

Przepis na babeczki z czekoladą

Krok 1. Przygotuj składniki
Krok 2 . Wymieszaj w misce wszystkie suche składniki: mąka, cukier, cukier waniliowy, proszek do pieczenia.
Krok 3.  Dodaj wszystkie składniki płynne: Jajko, olej, mleko.
Krok 4.  Ciasto dokładnie wymieszaj do uzyskania jednolitej masy.
Krok 5. Nałóż po łyżce ciasta do każdej foremki, na środku każdej babeczki wetknij po kostce czekolady
Krok 6. Czekoladę przykryj dodatkową porcją ciasta, aby wypełniło ¾ wysokości foremki.
Krok 7. Piecz w 180 °C przez 25-30 minut

Zakupy - schemat blokowy

Algorytm - Schemat blokowy - zakupy

Pierwsza pomoc - schemat blokowy

Co to jest właściwie algorytm ?

Algorytm jest to zestaw kroków (czynności) prowadzący do rozwiązania pewnego konkretnego problemu (zadania).

Algorytmy możemy przedstawić w postaci opisu wykonywanych kroków lub w postaci schematów blokowych.

Co musi posiadać algorytm (właściwości) ?

  1. Algorytm wymaga podania jakiś danych wejściowych, czyli początkowych wartości.
  2. Każdy krok algorytmu musi być precyzyjnie zdefiniowany.
  3. Musi kończyć się po pewnej skończonej liczbie kroków.
  4. Na zakończenie oczekujemy na wyjściu jakiegoś rezultatu (wyniku).
  5. Dane wyjściowe często są uzależnione od danych jakie podaliśmy na wejściu.

Jakie są rodzaje algorytmów ?

  1. Algorytm liniowy (sekwencyjny) – jest to zestaw poleceń wykonywanych jeden po drugim, w kolejności w jakiej zostały zapisane.
Przykład:
Problem (zadanie): Napisz algorytm wyliczający sumę dwóch liczb.
Dane wejściowe do algorytmu: Liczba1, Liczba2
Dane wyjściowe (oczekiwany wynik): Suma dwóch liczb

Krok 1: Start
Krok 2: Podaj pierwszą liczbę (wczytaj z klawiatury Liczba1).
Krok 3: Podaj drugą liczbę (wczytaj z klawiatury Liczba2).
Krok 4: Oblicz sumę dwóch liczb: Suma = Liczba1 + Liczba2
Krok 5: Wyświetl sumę.
Krok 6: Koniec
  1. Algorytm rozgałęziony (zawierający wybór) – jest to taki algorytm, w którym wykonanie operacji opiera się na pewnym warunku. Jeśli warunek jest spełniony przechodzimy do jednej gałęzi, jeżeli nie jest spełniony to do innej gałęzi.
    W językach programowania zazwyczaj odnosi się do instrukcji if (jeśli), lub instrukcji switch.
    Na schematach blokowych pole wyboru jest zaprezentowane w postaci pola o kształcie rombu.
Przykład:
Problem (zadanie): Znajdź największą z dwóch liczb.
Dane wejściowe do algorytmu: Liczba1, Liczba2
Dane wyjściowe (oczekiwany wynik): Większa liczba – Max

Krok 1: Start
Krok 2: Podaj pierwszą liczbę (wczytaj z klawiatury Liczba1).
Krok 3: Podaj drugą liczbę (wczytaj z klawiatury Liczba2).
Krok 4: Jeśli Liczba1 jest większa od Liczba2, to Max = Liczba1
Krok 5: Jeśli Liczba2 jest większa od Liczba1, to Max = Liczba2
Krok 6: Wyświetl większą liczbę (max).
Krok 7: Koniec
  1. Algorytm iteracyjny (zawierający pętle) – wykorzystywany jest w przypadkach, gdy pewne instrukcje trzeba wykonywać wielokrotnie. Ilość wykonań uzależniona jest od spełnienia warunku w pętli.
    W językach programowania są to pętle while, for i do…while .
    Na schematach blokowych pętlę wskazuje strzałka wstecz.
    Przebieg pętli nazywamy iteracją. Bardzo ważne jest, aby warunek zakończenia pętli został spełniony po pewnej liczbie iteracji. W przeciwnym wypadku pętla będzie nieskończona. Spowoduje to zawieszenie się programu.
Przykład:
Problem (zadanie): napisz algorytm, który wyświetli liczby z pewnego zakresu (n, m)
Dane wejściowe do algorytmu: zakres (n, m)
Dane wyjściowe (oczekiwany wynik): Liczby z przedziału (n, m)

Krok 1: Start
Krok 2: Podaj dolny zakres (wczytaj z klawiatury n)
Krok 3: Podaj górny zakres (wczytaj z klawiatury m)
Krok 4: Wypisz n
Krok 5: Zwiększ liczbę n o 1
Krok 6: Jeżeli liczba n <= m to idź do kroku 4 w przeciwnym wypadku idź do kroku 7
Krok 7: Koniec

Schematy blokowe

Służą do graficznego zaprezentowania algorytmów. Składają się z pewnego zestawu elementów (symboli).

Podstawowe symbole powszechnie stosowane do tworzenia schematów to:

Algorytm Schemat blokowy Start End

Oznacza początek lub koniec algorytmu.

Oznacza proces, zazwyczaj są to działania, obliczenia, podstawienia.

Algorytm Schemat blokowy Wczytywanie danych

Oznacza operacje wejścia /wyjścia – wczytywanie danych z klawiatury i wyświetlanie na ekran.

Algorytm schemat blokowy Wybór

Oznacza pole wyboru. Umieszczamy w nim jakiś warunek. Z wierzchołków rombu wyprowadzamy dwie strzałki. 

Algorytm schemat blokowy arrow

Pokazują kierunek wykonywania poszczególnych kroków.

Algorytm wyliczania średniej arytmetycznej

Średnia arytmetyczna to suma liczb podzielona przez ich liczbę.

Średnią arytmetyczną wyliczamy według wzoru:

Średnia arytmetyczna wzór

Algorytm w formie opisowej

Krok 1. Start
Krok 2. Wczytaj ilość liczb do zmiennej n.
Krok 3. Ustaw zmienną suma na 0 ( Suma = 0 ) oraz indeks i = 1.
Krok 4. Jeśli pobrano wszystkie liczby, czyli   i = n, to wówczas przejdź do kroku 6, w przeciwnym wypadku idź do kroku 5.
Krok 5. Pobierz liczbę i dodaj ją do sumy, zwiększ indeks i o 1. Przejdź do kroku 4.
Krok 6. Wylicz średnią jako iloraz sumy i ilości liczb n.
Krok 7. Wypisz na ekranie średnią.
Krok 8. Koniec

Schemat blokowy

Algorytm Schemat blokowy Średnia arytmetyczna
Program Replit Średnia arytmetyczna cpp

Podsumowanie

Nauka tworzenia algorytmów nie jest taka trudna, jak się początkowo wydaje. Algorytmy są obecne w naszym życiu na każdym kroku. Cała trudność polega na dostrzeżeniu analogii między algorytmami z życia codziennego, a tymi ze świata matematyki. Gdy to zauważymy, projektowanie algorytmów do problemów matematycznych nie będzie już takie skomplikowane. Opanowanie ich oraz schematów blokowych to pierwszy krok do nauki programowania.

Co dalej...

Jeśli zainteresował Cię ten artykuł, zachęcamy do zapoznania się z naszymi kursami i książkami.