We współczesnym świecie technologii cyfrowejprogramowanie jest podstawą działania różnych komputerów, gadżetów i innego sprzętu elektronicznego. A umiejętność szybkiego i prawidłowego sporządzenia schematu blokowego algorytmu działa jako podstawa, podstawa tej nauki. Taki schemat jest graficznym modelem procesów, które musi wykonać sprzęt. Składa się z oddzielnych bloków funkcyjnych, które pełnią różne funkcje (początek / koniec, wejście / wyjście, wywołanie funkcji itp.).
По сути, алгоритм является обычной инструкцией о wolumin, w której kolejności konieczne jest wykonanie określonych czynności podczas przetwarzania danych źródłowych na pożądany wynik. Wraz z tym terminem często używana jest koncepcja algorytmów. Rozumie się przez to zestaw metod i technik kompilowania sekwencji rozwiązywania określonych problemów.
Często algorytm nie jest używany jakoinstrukcje dla komputera, ale jako schemat realizacji wszelkich działań. Pozwala nam to odnotować skuteczność i wydajność tej metody rozwiązania, poprawić ewentualne błędy, a także porównać ją z innymi podobnymi rozwiązaniami nawet przed wprowadzeniem do komputera. Ponadto algorytm stanowi podstawę do kompilacji programu, który musi zostać napisany w języku programowania, aby umożliwić dalszą implementację procesu przetwarzania informacji na komputerze PC. Do tej pory zyskały sławę dwa praktyczne sposoby konstruowania takich sekwencji. Pierwszy to opis słowny krok po kroku, a drugi to schemat blokowy algorytmu problemowego. Pierwszy z nich otrzymał znacznie mniej dystrybucji. Wynika to z braku jasności i gadatliwości. Druga metoda, przeciwnie, jest bardzo wygodnym środkiem sekwencji obrazów. Jest szeroko rozpowszechniony zarówno w literaturze edukacyjnej, jak i naukowej.
Schemat blokowy algorytmu programu tosekwencja symboli graficznych określających wykonywanie określonych operacji, a także relacje między nimi. Wewnątrz każdego takiego obrazu znajduje się informacja o wykonywanym zadaniu. Rozmiary i konfiguracja symboli graficznych, a także sekwencja projektowania sekwencji są regulowane przez GOST 19003-80 i GOST 19002-80.
Rozważ główne elementy schematu blokowego algorytmu (zdjęcie zawiera przykłady ich konspektu).
1. Proces jest akcją obliczeniową lub sekwencją takich akcji.
2. Rozwiązanie - weryfikacja danego warunku.
3. Modyfikacja - tytuł cyklu.
4. Wstępnie zdefiniowany proces stanowi odwołanie do procedury.
5. Dokument - drukowanie i wysyłanie danych.
6. Dziurkacz - wprowadź informacje.
7. Wejście / Wyjście - Wejście / Wyjście danych.
8. Łącznik - przerwa w liniach przepływu.
9. Start / End - start, koniec, stop, start, wejście i wyjście są używane w algorytmach pomocniczych.
10. Komentarz - służy do umieszczania opisów wyjaśniających.
11. Przepływy pionowe i poziome - kierunek sekwencji, linia komunikacyjna między blokami.
12. Scalanie - łączenie wątków.
13. Łącznik śródmiąższowy - znak symbolizujący przejście na inny arkusz.
Konstrukcja schematu blokowego algorytmu odbywa się zgodnie zszczególne wymagania określone przez GOST. Na przykład podczas łączenia symboli graficznych używane są tylko linie poziome lub pionowe. Strumienie skierowane od prawej do lewej i od dołu do góry są koniecznie oznaczone strzałkami. Inne linie mogą nie być zaznaczone. Odległość między równoległymi strumieniami nie powinna być mniejsza niż trzy milimetry, a między pozostałymi elementami - co najmniej pięć milimetrów. Rozmiary bloków muszą być wielokrotnościami pięciu. Stosunek poziomu do pionu znaku graficznego wynosi 1,5. Czasami dozwolone jest równe dwa. Dla ułatwienia opisu symbole graficzne należy ponumerować. Ze względu na charakter połączeń rozróżnia się typy schematów blokowych algorytmu struktur liniowych, cyklicznych i rozgałęzionych.
Dla lepszego zrozumienia zasady działania algorytmumożesz rozważyć najprostszy automat. Zawiera pamięć składającą się z komórek; pisz / czytaj głowę; PROCESOR. Jaka jest zasada takiego urządzenia? Głowica po otrzymaniu zamówienia od procesora zapisuje dane do komórki lub odczytuje stałą. W najprostszym przypadku będzie to liczba arytmetyczna. Poza tym stałymi mogą być struktury danych, ciągi znaków itp. Zmienna to komórka pamięci, w której przechowywane są informacje. W trakcie wykonywania algorytmu w takiej komórce mogą być zapisywane różne dane. Komputery osobiste i inna elektronika są zbudowane na tej zasadzie. Algorytm wykonywania zadania to zestaw poleceń do odczytu lub zapisu informacji do tych komórek pamięci.
Tablice to kolejna odmianaindeksowane zmienne. W rzeczywistości jest to zbiór komórek, które są połączone wspólnym oznaczeniem. Tablice rozróżniają między 2D, 3D itd. Najprostszym z nich jest seria kolejnych komórek. Taka tablica ma swoją własną nazwę. Każdy element ma swój numer - indeks. Stała zapisywana w komórce nazywana jest elementem tablicy.
Typ dwuwymiarowy poprzez rozmieszczenie elementówprzypomina matrycę. Komórki w takiej tablicy charakteryzują się dwoma indeksami (przypomina to szachownicę z numerami komórek). Trójwymiarowe i więcej struktur są realizowane na tej samej zasadzie.
Ten typ sekwencji schematu blokowegoalgorytmy (przykłady podane w tym artykule) charakteryzują się wykonywaniem od początku do końca od góry do dołu. W takim przypadku automat wykonuje przypisane mu czynności krok po kroku. Każda akcja jest przetwarzana przez procesor. Oprócz obliczeń, w razie potrzeby, nakazuje głowicy odczytującej / zapisującej, gdzie i co należy napisać oraz skąd odczytać. Wynik końcowy jest zapisywany w komórkach pamięci, z których każda ma swój własny indeks i przechowuje własną stałą.
W praktyce typ liniowy jest niezwykle rzadki. Często konieczne jest zorganizowanie sekwencji, która w zależności od danych warunków przebiega wzdłuż jednej lub drugiej gałęzi. Schemat blokowy algorytmu typu rozgałęzienia zawiera element „Rozwiązanie”, dzięki któremu sprawdzany jest pewien warunek, a im więcej, tym więcej rozgałęzień ma sekwencja.
Zastanów się, jak to zrobićalgorytm rozgałęziony. Weźmy na przykład funkcję: z = y / x. Z warunku wynika, że to równanie ma jedno ograniczenie - nie można podzielić przez zero. Konieczne jest więc wykluczenie tego rozwiązania i ostrzeżenie użytkownika o zaistniałym błędzie. Najpierw sporządzany jest schemat blokowy algorytmu. Będzie składał się z siedmiu bloków. Pierwszy symbol graficzny to „Start”, drugi to „Enter”, tu należy ustawić wartości X i Y. Następnie następuje blok „Decyzja”, w którym sprawdzany jest warunek: X = 0. W takim przypadku automat sprawdza komórkę stałą, jeśli wpisana wartość się z nią pokrywa, to decyzja algorytmu pójdzie wzdłuż gałęzi „Tak”. W tym przypadku sterowanie jest przenoszone do czwartego bloku, a maszyna generuje „błąd”, praca kończy się na siódmym symbolu „Koniec”. Jeżeli wynik sprawdzenia jest ujemny, to proces dzielenia jest przeprowadzany w piątym symbolu graficznym i określana jest wartość Z. W szóstym bloku wynik jest wyświetlany na ekranie.
Często przy rozwiązywaniu problemów trzeba powtórzyćwykonywanie dowolnej operacji na tej samej zależności dla różnych wartości zmiennych i wykonywanie wielu przejść przez tę samą sekcję obwodu. Takie sekcje są zwykle nazywane cyklami, a algorytm nazywa się cyklicznymi. Stosowanie tej metody znacznie skraca samą sekwencję. Algorytmy cykliczne są zwykle podzielone na dwa typy: z nieznaną z góry i znaną liczbą takich przejść z góry.
Rozważ przykład, który przedstawia schemat blokowyalgorytm z nieznaną liczbą przebiegów z góry. Aby to zrobić, musisz rozwiązać problem - wskazać najmniejszą liczbę elementów szeregu liczb naturalnych, których suma przekracza liczbę K. Taki schemat blokowy algorytmu składa się z ośmiu symboli. Najpierw wpisujemy wartość liczby K (nr 2). Następnie w bloku 3 zmienna P otrzymuje wartość „jeden”, co oznacza, że liczenie liczb naturalnych rozpocznie się od niej. A skumulowana suma C na początku otrzymuje wartość „zero”. Ponadto sterowanie przenoszone jest do piątego bloku, w którym wykonywane jest polecenie: С = С + П. Oznacza to, że wartości komórek C i P są sumowane, a wynik jest zastępowany w C. Po dodaniu pierwszego elementu tej sekwencji w bloku 6 sprawdzany jest warunek - czy suma przekracza określoną liczbę K? Jeśli warunek nie jest spełniony, sterowanie jest przenoszone do czwartego bloku, gdzie jeden jest dodawany do zmiennej P i ponownie następuje przejście do bloku # 5. Ta procedura będzie kontynuowana do momentu spełnienia warunku: C> K, czyli skumulowana kwota przekroczy określoną wartość. Zmienna P to licznik pętli. Następnie następuje przejście do bloku numer 7, w którym drukowane są wyniki pracy.
Często z algorytmicznym rozwiązaniem zbioruzadaniem, istnieje potrzeba stworzenia cyklu zawierającego w swoim ciele kolejny cykl. Jest to uważane za normę. Takie elementy nazywane są zagnieżdżonymi strukturami pętlowymi. Ich kolejność może być dość duża. Decyduje o tym metoda, za pomocą której osiąga się rozwiązanie wymaganego problemu. Na przykład podczas przetwarzania tablicy jednowymiarowej z reguły budowany jest schemat blokowy algorytmu bez zagnieżdżania pętli. Niemniej jednak w wielu przypadkach przy rozwiązywaniu takich problemów konieczne staje się wybranie właśnie takiego rozwiązania. Należy zauważyć, że wszystkie zagnieżdżone pętle, w tym pierwsza (zewnętrzna), muszą zawierać liczniki o różnych nazwach. Poza pętlą mogą być używane jako zwykłe zmienne.
Ten typ sekwencji jest analogiczny doprocedury językowe. Algorytm pomocniczy ma nazwę i parametry, które nazywane są formalnymi. Nazwa jest nadawana w celu odróżnienia go od wielu innych, a parametry pełnią rolę wyjściowych i wejściowych funkcji matematycznych. Dobierane są w taki sposób, aby wyczerpany został pełen zakres wymaganych wartości. Często jeden i ten sam parametr formalny okazuje się być zarówno wejściowy, jak i wyjściowy. Na przykład w takim algorytmie tablica może być dostarczona jako dane wejściowe do przetwarzania. W wynikowej części można go przedstawić w zmodyfikowanej formie jako parametr wyjściowy. Wśród algorytmów typu pomocniczego wyróżnia się funkcje i procedury.
Termin ten jest rozumiany jako dekompozycja ogólnego schematualgorytm pomocniczy (funkcje i procedury) i głowy. Ta metoda jest bardzo prosta, gdy algorytm jest podany w schemacie blokowym - najpierw wyodrębnione są z niego sekcje odpowiedzialne za główną pracę. Najtrudniejsze etapy są sformalizowane jako funkcje i procedury najwyższego poziomu. Następnie dzielą się na elementarne sekcje niskiego poziomu. Działa tutaj zasada „od złożonego do prostego”. Dzieje się tak, dopóki algorytm nie zostanie podzielony na najprostsze elementy. Zazwyczaj rozwiązanie do dekompozycji sekwencji składa się z trzech głównych etapów: wprowadzania danych, sortowania tablic i wyprowadzania posortowanej tablicy. Etapy pierwszy i ostatni ze względu na swój elementarny charakter nie wymagają dekompozycji, dlatego są wykonywane w algorytmie głownym. Ale drugi jest bardzo złożonym niezależnym fragmentem obliczeń, więc zwykle jest wyświetlany w osobnym bloku. Z kolei etapy sortowania podzielone są na dwie części: ustalenie konieczności wykonania procedury (N - 1) - wielokrotne przejście przez daną tablicę i znalezienie najmniejszego elementu w rozpatrywanym fragmencie tablicy i jego późniejsze przestawienie z początkowym elementem sekcji. Ponieważ ostatni etap powtarza się wielokrotnie, jest on sformalizowany jako odrębna procedura.