Schemat blokowy (informatyka): Różnice pomiędzy wersjami
m |
m (Zabezpieczył Schemat blokowy (informatyka) ([edit=sysop] (na zawsze) [move=sysop] (na zawsze))) |
||
(Nie pokazano 14 pośrednich wersji utworzonych przez tego samego użytkownika) | |||
Linia 15: | Linia 15: | ||
Wygląd i znacznie poszczególnych bloków normalizuje [[PN-72/E-01226 |polska norma (PN-72/E-01226)]]. | Wygląd i znacznie poszczególnych bloków normalizuje [[PN-72/E-01226 |polska norma (PN-72/E-01226)]]. | ||
− | + | === Najczęściej używane symbole bloków schematów blokowych === | |
{| class="wikitable" | {| class="wikitable" | ||
! Nazwa bloku | ! Nazwa bloku | ||
Linia 47: | Linia 47: | ||
| style="text-align:left" | Blok wywołania podprogramu | | style="text-align:left" | Blok wywołania podprogramu | ||
| style="text-align:center" | [[Plik:Blok-wywolania-podprogramu.png]] | | style="text-align:center" | [[Plik:Blok-wywolania-podprogramu.png]] | ||
− | | style="text-align:left" | '''Blok wywołania podprogramu''', oznacza zmianę w przebiegu wykonywania programu w skutek wywołania podprogramu. Wewnątrz bloku podaje się nazwę podprogramu oraz listę parametrów. | + | | style="text-align:left" | '''Blok wywołania podprogramu''', oznacza zmianę w przebiegu wykonywania programu w skutek wywołania podprogramu. Wewnątrz bloku podaje się nazwę podprogramu oraz listę parametrów.<br />'''W niektórych opracowaniach jest mylnie określany jako blok decyzyjny (warunkowy)'''. |
|- | |- | ||
Linia 54: | Linia 54: | ||
| style="text-align:left" | '''Łącznik wewnętrzny (wewnątrzstronicowy)''' służy do łączenia odrębnych części schematu znajdujących się na tym samym arkuszu i ułatwia zachowanie przejrzystej postaci schematu. Należy je stosować aby wyeliminować krzyżowanie się linii strzałek.<br />Pary łączników oznacza się tym samym napisem wewnętrznym - zwykle liczbą naturalną. '''Jeśli schemat zawiera także łączniki zewnętrzne (międzystronicowe), dla odróżnienia można używać wielkich liter'''. | | style="text-align:left" | '''Łącznik wewnętrzny (wewnątrzstronicowy)''' służy do łączenia odrębnych części schematu znajdujących się na tym samym arkuszu i ułatwia zachowanie przejrzystej postaci schematu. Należy je stosować aby wyeliminować krzyżowanie się linii strzałek.<br />Pary łączników oznacza się tym samym napisem wewnętrznym - zwykle liczbą naturalną. '''Jeśli schemat zawiera także łączniki zewnętrzne (międzystronicowe), dla odróżnienia można używać wielkich liter'''. | ||
+ | |- | ||
+ | | style="text-align:left" | Łącznik zewnętrzny | ||
+ | | style="text-align:center" | [[Plik:Lacznik-zewnetrzny.png]] | ||
+ | | style="text-align:left" | '''Łącznik zewnętrzny (międzystronicowy)''' służy do łączenia części schematu umieszczonych na odrębnych arkuszach i ułatwia konstruowanie obszernych schematów blokowych. Napis wewnątrz łącznika powinien określać numer arkusza, strony i numer łącznika na stronie. | ||
+ | |||
+ | |- | ||
+ | | style="text-align:left" | Blok komentarza | ||
+ | | style="text-align:center" | [[Plik:Blok-komentarza.png]] | ||
+ | | style="text-align:left" | '''Blok komentarza''' służy do umieszczania ewentualnych wyjaśnień dla osób czytających schemat. Ułatwia zrozumienie przeznaczenia jego poszczególnych elementów. | ||
+ | |||
+ | <!-- | ||
|- | |- | ||
| style="text-align:left" | | | style="text-align:left" | | ||
| style="text-align:center" | | | style="text-align:center" | | ||
| style="text-align:left" | | | style="text-align:left" | | ||
− | |||
|- | |- | ||
Linia 64: | Linia 74: | ||
| style="text-align:center" | | | style="text-align:center" | | ||
| style="text-align:left" | | | style="text-align:left" | | ||
+ | --> | ||
|} | |} | ||
+ | == Zasady budowania schematu blokowego == | ||
+ | Istnieje wiele zasad budowania schematu blokowego. Najważniejsze z nich to: | ||
+ | # Schemat blokowy składa się z bloków połączonych zorientowanymi liniami, określającymi kolejność wykonywania poszczególnych czynności. | ||
+ | # Z każdego bloku może wychodzić tylko jedna strzałka. Wyjątkiem jest '''blok decyzyjny''' - z którego muszą wychodzić dwie strzałki: Tak oraz Nie. | ||
+ | # Do każdego bloku może dochodzić dowolna liczba strzałek. Każda z nich oznacza wykonanie wszystkich czynności danego bloku. <br />''Według innej zasady, do każdego bloku może dochodzić tylko jedna strzałka. W takim przypadku kilka strzałek dochodzi do punktu koncentracji, od którego jedna strzałka prowadzi do bloku.'' | ||
+ | # Wszystkie bloki muszą mieć co najmniej jedną strzałkę dochodzącą i wychodzącą. Wyjątkami są: łączniki i bloki graniczne. | ||
+ | # Strzałki mogą się łączyć ale nie mogą się rozdzielać. | ||
+ | # Każdy schemat blokowy musi zawierać dokładnie jeden ''blok graniczny'' '''START''' i przynajmniej jeden ''blok graniczny'' '''KONIEC'''. | ||
+ | Schemat blokowy powinien zawierać także tzw. '''listę nazw''' zawierającą nazwy wszystkich zmiennych użytych w schemacie wraz z wyjaśnieniem spełnianej funkcji. | ||
+ | |||
+ | |||
+ | == Zasady tworzenia schematu blokowego == | ||
+ | # Schemat blokowy powinien być prosty i czytelny. A w razie złożonego rozwiązania należy podzielić go na mniejsze części (podprogramy) i umieścić je na osobnych arkuszach. | ||
+ | # Schemat blokowy powinien być dobrze rozumiany przez programistów posługujących się różnymi językami programowania. Dlatego też nie powinno się używać w schematach składni jakiegokolwiek języka programowania. Zalecane jest używanie operatorów matematycznych rozumianych przez wszystkich, np. dla operacji przypisania wartości dla zmiennej zamiast: x = 10 czy x := 10, użyć '''x ← 10'''. | ||
+ | # Należy unikać rysowania przecinających się linii strzałek. W razie konieczności lepiej użyć łączników. | ||
+ | # Należy unikać umieszczania zbyt dużej liczby operacji w jednym bloku. | ||
+ | # Należy komentować zaprojektowane operacje, jak i kolejność ich wykonywania. Komentarze powinny być krótkie, lecz dostatecznie wyjaśniające ich działanie. | ||
+ | # Należy unikać zbyt dużej szczegółowości, jak i zbytniej ogólności schematów. Operacje można zapisać w formie pseudokodu np. "Odczytaj z bazy rekord x". | ||
+ | # Należy brać pod uwagę możliwość wystąpienia konieczności wprowadzenia poprawek do schematu, z tego względu tak należy tworzyć arkusze, aby umożliwiały one nanoszenie zmian bez konieczności przerysowywania całego schematu. | ||
+ | # Należy dokładnie numerować arkusze schematu blokowego. | ||
+ | # Dla zwiększenia czytelności schematu blokowego można kolorować poszczególne jego bloki. | ||
+ | |||
+ | == Przydatne narzędzia == | ||
+ | Schematy blokowe najszybciej i najłatwiej rysuje się przy użyciu szablonów, ołówka i kartki papieru. Tak zrobione schematy mają jednak kilka wad. Pierwsza, to problem z nanoszeniem większych modyfikacji i poprawek. Druga, to kłopot z wysłaniem takiego projektu np. [[e-mail]]em. Dlatego też często używa się różnych programów, np.: pakietu [[MS Office]] czy [[OpenOffice]], jednak tworzenie schematów blokowych przy ich pomocy jest trochę kłopotliwe. O wiele wygodniejsze są: [[Dia]] czy [[Diagram Designer]]. | ||
+ | |||
+ | |||
+ | == Schematy blokowe w praktyce == | ||
+ | === Definicja konwencji === | ||
+ | W niżej przedstawionych przykładach schematów blokowych będzie obowiązywało odstępstwo od 2 [[Schemat blokowy (informatyka)#Zasady tworzenia schematów blokowych |Zasady tworzenia schematów blokowych]].<br /> Przyjęte zostaje: | ||
+ | * przypisanie wartości zmiennej: X = wartość | ||
+ | * instrukcje warunkowe: | ||
+ | ** jest równe: == | ||
+ | ** nie jest równe: != | ||
+ | |||
+ | === Przykłady === | ||
+ | * [[Media:Algorytm-srednia-arytmetyczna.png |Schemat blokowy algorytmu obliczania średniej arytmetyczne z n liczb]] | ||
== Zobacz też == | == Zobacz też == | ||
Linia 71: | Linia 118: | ||
+ | [[Kategoria:Algorytmika]] | ||
+ | [[Kategoria:Schematy blokowe]] | ||
[[Kategoria:Uzupełnić]] | [[Kategoria:Uzupełnić]] |
Aktualna wersja na dzień 20:51, 20 lut 2014
Schemat blokowy programu (ang. block diagram, flowchart) zwany także schematem działania programu przedstawia w postaci graficznej rodzaje i kolejność wykonywania czynności wynikających z przyjętego rozwiązania problemu.
Schemat blokowy programu szczegółowo przedstawia wszystkie operacje arytmetyczne, logiczne, przesyłania, sterujące i pomocnicze oraz kolejność ich wykonywania. Stanowi podstawę do rozpisania programu w określonym języku programowania, a po uruchomieniu jest jednym z elementów dokumentacji programu.
Schemat blokowy pozwala dostrzec istotne etapy algorytmu i logiczne zależności między nimi.
Spis treści
Elementy budowy
Schemat blokowy składa się z następujących elementów:
- strzałki − wskazują jednoznacznie powiązania między blokami i ich kierunek,
- bloki - zwane także skrzynkami, zawierają opisy operacji arytmetycznych, logicznych, przesyłania, sterowania, itp.
- operand − prostokąt, do którego wpisywane są wszystkie operacje z wyjątkiem instrukcji wyboru,
- predykat − romb, do którego wpisywane są tylko instrukcje wyboru,
- etykieta − owal służący do oznaczania początku bądź końca sekwencji schematu (kończą, zaczynają lub przerywają/przenoszą schemat).
Wygląd i znacznie poszczególnych bloków normalizuje polska norma (PN-72/E-01226).
Najczęściej używane symbole bloków schematów blokowych
Zasady budowania schematu blokowego
Istnieje wiele zasad budowania schematu blokowego. Najważniejsze z nich to:
- Schemat blokowy składa się z bloków połączonych zorientowanymi liniami, określającymi kolejność wykonywania poszczególnych czynności.
- Z każdego bloku może wychodzić tylko jedna strzałka. Wyjątkiem jest blok decyzyjny - z którego muszą wychodzić dwie strzałki: Tak oraz Nie.
- Do każdego bloku może dochodzić dowolna liczba strzałek. Każda z nich oznacza wykonanie wszystkich czynności danego bloku.
Według innej zasady, do każdego bloku może dochodzić tylko jedna strzałka. W takim przypadku kilka strzałek dochodzi do punktu koncentracji, od którego jedna strzałka prowadzi do bloku. - Wszystkie bloki muszą mieć co najmniej jedną strzałkę dochodzącą i wychodzącą. Wyjątkami są: łączniki i bloki graniczne.
- Strzałki mogą się łączyć ale nie mogą się rozdzielać.
- Każdy schemat blokowy musi zawierać dokładnie jeden blok graniczny START i przynajmniej jeden blok graniczny KONIEC.
Schemat blokowy powinien zawierać także tzw. listę nazw zawierającą nazwy wszystkich zmiennych użytych w schemacie wraz z wyjaśnieniem spełnianej funkcji.
Zasady tworzenia schematu blokowego
- Schemat blokowy powinien być prosty i czytelny. A w razie złożonego rozwiązania należy podzielić go na mniejsze części (podprogramy) i umieścić je na osobnych arkuszach.
- Schemat blokowy powinien być dobrze rozumiany przez programistów posługujących się różnymi językami programowania. Dlatego też nie powinno się używać w schematach składni jakiegokolwiek języka programowania. Zalecane jest używanie operatorów matematycznych rozumianych przez wszystkich, np. dla operacji przypisania wartości dla zmiennej zamiast: x = 10 czy x := 10, użyć x ← 10.
- Należy unikać rysowania przecinających się linii strzałek. W razie konieczności lepiej użyć łączników.
- Należy unikać umieszczania zbyt dużej liczby operacji w jednym bloku.
- Należy komentować zaprojektowane operacje, jak i kolejność ich wykonywania. Komentarze powinny być krótkie, lecz dostatecznie wyjaśniające ich działanie.
- Należy unikać zbyt dużej szczegółowości, jak i zbytniej ogólności schematów. Operacje można zapisać w formie pseudokodu np. "Odczytaj z bazy rekord x".
- Należy brać pod uwagę możliwość wystąpienia konieczności wprowadzenia poprawek do schematu, z tego względu tak należy tworzyć arkusze, aby umożliwiały one nanoszenie zmian bez konieczności przerysowywania całego schematu.
- Należy dokładnie numerować arkusze schematu blokowego.
- Dla zwiększenia czytelności schematu blokowego można kolorować poszczególne jego bloki.
Przydatne narzędzia
Schematy blokowe najszybciej i najłatwiej rysuje się przy użyciu szablonów, ołówka i kartki papieru. Tak zrobione schematy mają jednak kilka wad. Pierwsza, to problem z nanoszeniem większych modyfikacji i poprawek. Druga, to kłopot z wysłaniem takiego projektu np. e-mailem. Dlatego też często używa się różnych programów, np.: pakietu MS Office czy OpenOffice, jednak tworzenie schematów blokowych przy ich pomocy jest trochę kłopotliwe. O wiele wygodniejsze są: Dia czy Diagram Designer.
Schematy blokowe w praktyce
Definicja konwencji
W niżej przedstawionych przykładach schematów blokowych będzie obowiązywało odstępstwo od 2 Zasady tworzenia schematów blokowych.
Przyjęte zostaje:
- przypisanie wartości zmiennej: X = wartość
- instrukcje warunkowe:
- jest równe: ==
- nie jest równe: !=
Przykłady
Zobacz też
<htmlet>zobacz-tez</htmlet>