czwartek, 20 października 2016

Schematy blokowe



Schematy blokowe są podobno meta językiem, czyli nie są językiem programowania samym w sobie, ale taki schemacik potrafi opisać sposób na wykonanie czegoś w jakimś języku.

Przykładowo  - wiemy jak może wyglądać samochód, ale może właśnie spotkaliśmy ufoludka i on nas pyta jak wygląda samochód. No i akurat nie mamy pod ręką samochodu żeby mu go pokazać, ale mamy bardzo dużo klocków lego. I z tych klocków możemy taki samochód zbudować. Taki samochód będzie wyglądał prawie jak prawdziwy, może będzie w skali 1:1, ale jednak nie będzie prawdziwym samochodem takim którym będziemy się mogli przemieszczać. Tak właśnie jest ze schematami blokowymi (algorytmami) nie jest to program w żadnym języku, ale obrazuje jak taki program może działać aby coś wykonać. To co jest najważniejsze to to że auto możemy zbudować z kilku typów klocków. Tak jest też ze schematami blokowymi aby przedstawić nawet bardzo skomplikowany algorytm wystarczą  4 bloczki. Oto one:

 
Start/Koniec  prostokąt z zaokrąglonymi rogami. Umieszczamy go na początku i na końcu naszego algorytmu. Jeżeli test to start to ma tylko jedną strzałkę wychodzącą. Jeżeli jest to koniec to ma jedną strzałkę wchodzącą.
  
Ważne: logiczne jest że program zawsze rozpoczyna się w taki sam sposób? Zatem logiczne musi być że zawsze tak samo będzie się kończył. Wnioskować można że zawsze będziemy mieli tylko i wyłącznie jeden start i jeden koniec.  (Oczywiście w praktyce zdarza się inaczej ;) ale w tym momencie istotne jest to co powinno a nie co się zdarza.)



 




 
 
Blok instrukcji. Tylko jedna strzałka wchodząca i tylko jedna strzałka wychodząca. W środku z reguły znajdują się obliczenia matematyczne.



 



 
 
Blok wejścia wyjścia (Równoległobok). Tylko jedna strzałka wchodząca i tylko jedna wychodząca. Wykorzystamy go do pobrania informacji od użytkownika, bądź do ich wyświetlenia.




 
No i uwaga nasz najtrudniejszy bloczek. Jest mega trudny bo ma aż 3 strzałki. Jedną wchodzącą i dwie  wychodzące. Czyli ….. (poproszę werble) ;)  Blok decyzyjny (Romb).



 
Oczywiście 4 elementy to trochę mało. I nie jest to do końca prawda ale nie chciałem nikogo przestraszyć. Mamy jeszcze strzałki, które pokazują którędy należy podążać, węzły, łączniki stronnicowe i między stronnicowe. Chyba każdy wie jak wygląda strzałka i dlatego opiszę jeszcze węzeł.


 

Węzeł może powiadać wiele strzałek wchodzących. Ale tylko jedną wychodzącą.

No to może jakiś prosty przykładzik.
Obliczanie pola kwadratu:


Algorytm w postaci listy kroków:
  1. START.
  2. Ile wynosi podstawa kwadratu?
  3. Jeżeli podana liczba jest mniejsza zera to przejdź do punktu 4 jeżeli nie to przejdź do punktu 5.
  4. Wypisz : „Długość nie może być ujemna”  a następnie przejdź do punktu 2.
  5. Do wartości W wprowadź wynik mnożenia a*a.
  6. Wypisz: „W”.
  7. KONIEC.
 

Algorytm w postaci schematu blokowego: