Język algorytmiczny jest formalnym językiem służącym do pisania, implementowania lub studiowania algorytmów. Główne słowa usługi w języku algorytmicznym

09.04.2019

Każdy język programowania jest pełen różnych słów kluczowych, funkcji lub klas. Z reguły wszyscy używają angielskiego, który opisuje metody lub argumenty. W niektórych środowiskach występują po prostu skróty funkcji maszyny. To znacznie utrudniło rozwój rozwoju na początkowych etapach. Aby zwiększyć szybkość zrozumienia, stworzono serię specjalnych algorytmicznych języków programowania, które składały się z jasnych i dostępnych słów oraz ich kombinacji, jednoznacznych nawet dla osoby nieprzeszkolonej.

Trochę historii

Aby komunikować się z pierwszymi komputerami używano języków programowania tak blisko jak to możliwe kodu maszynowego, składającego się z zer i jedynek. Oczywiście, pamiętanie wielu poleceń było bardzo trudnym zadaniem. Ponadto metoda przydzielania pamięci podczas programowania została całkowicie położona na barkach programisty. A jeśli popełnił mały błąd, musiał najpierw wszystko przerobić.

język algorytmiczny

Dużą rolę w przejściu z języka maszynowego do bardziej odpowiedniej osoby odegrał niskopoziomowy asembler języka programowania. Używał mnemonicznych wartości i symboli. Uprościło to zadanie programisty, ponieważ teraz mógł wydajniej budować swoje algorytmy z kombinacji instrukcji sterujących i kodów numerycznych. Pomimo całej swojej elastyczności i mocy, język wciąż był trudny do opanowania.

W celu szkolenia w zakresie rozwoju i algorytmów w instytucjach edukacyjnych rozpoczęto wprowadzanie języka programowania BASIC. Zawierał już wiele poleceń, słów kluczowych, zrozumiałych dla ucznia. BASIC jest nadal używany do opanowania podstaw programowania.

Wraz z utworzeniem pierwszego algorytmicznego języka programowania - Algol - rozwój algorytmów znacznie się przyspieszył.

Co to jest algorytm

Jeśli odejdziesz od suchej teorii i definicji, algorytm jest sekwencją działań mających na celu rozwiązanie problemu. Pomimo całej ornatyczności wypowiedzi, człowiek codziennie spotyka się z tą koncepcją. Na przykład, aby pić herbatę, musisz wykonać następującą sekwencję:

  1. Umieść czajnik na kuchence.
  2. Poczekaj, aż się zagotuje.
  3. Wlej do wody wrzącą wodę.
  4. Wrzuć torebkę z herbatą do filiżanki.
  5. Dodaj wymaganą ilość cukru, mleka lub miodu.

Ta sekwencja jest bardzo uproszczona, ale jest to najprostszy algorytm.

algorytmiczny język programowania

Tak jak człowiek, komputer może wykonywać określoną sekwencję zadań. Jednak aby je wyraźnie zrozumieć, należy pamiętać, że w przypadku komputerów nie ma wielu oczywistych pojęć dla ludzi. Ponadto algorytm musi dokładnie opisywać wszystkie niezbędne działania. W tym celu służy jako język algorytmiczny, który tworzy pomost między maszyną a człowiekiem.

Właściwości i cechy języka algorytmicznego

Algorytmiczne - język formalny, który opisuje algorytmy, które mają działać na komputerach. Z reguły nie jest związany z żadną architekturą komputera. Pomaga to znacznie zwiększyć i przyspieszyć pisanie kodu. Jako żywy przykład - język algorytmiczny BASIC. Pascal i C również okazali się popularni, ponieważ mieli prostą składnię i szybkość uczenia się.

Struktura jest zaimplementowana w taki sposób, że procedury opisane w kodzie są wykonywane jeden po drugim. To jest jeden algorytm - jedno zadanie. Jest to podobne do tworzenia funkcji lub metod w językach C i Java.

Cały kod jest zbudowany ze słów kluczowych opisujących wydarzenie lub zmienną.

Różnice między językami maszynowymi a algorytmicznymi

Wybitnym przedstawicielem języka zależnego od maszyny jest asembler. Programowanie sprowadza się do określenia tłumacza ze specjalnymi znakami, co i gdzie przenieść lub jaki obszar danych do wypełnienia. Ponieważ składnia asemblera jest bardziej podobna do maszyny, dość trudno jest studiować i pisać na niej kod. Poniżej możesz zobaczyć, jak mogą wyglądać komendy dla różnych procesorów.

język formalny

Dlatego utworzono język formalny lub algorytmiczny z dużą liczbą czytelnych dla człowieka słów kluczowych i nazw.

Słowa kluczowe

Język algorytmiczny składa się ze słów kluczowych, które stanowią skróty do pełnego oznaczenia czynności lub zmiennych. Pozwala to zmniejszyć długość kodu, zachowując przy tym jasność.

  • Alg . Dowolny algorytm rozpoczyna się od tego słowa kluczowego. Opisuje on nazwę, aw nawiasach wskazuje, które argumenty trzeba obliczyć i jaki powinien być wynik.
  • Arg . Wskazuje argumenty algorytmu. Odzwierciedla typ i nazwę wartości, która będzie używana w kodzie.
  • Res . To słowo kluczowe służy do wskazania rodzaju i nazwy zmiennej, w której będzie konieczne umieszczenie wyniku obliczeń.
  • Wcześnie Wskazuje natychmiastowe rozpoczęcie wykonywania algorytmu. Trwa do słowa kluczowego con. Cały zakres od "początku" do "con" nazywany jest ciałem obecnego algorytmu.
  • Kon Raportuje, że wykonanie algorytmu zostało zakończone.
  • Biorąc pod uwagę . Mówi o niektórych cechach i niuansach korzystania z algorytmu lub o ograniczeniach. Na przykład tutaj możesz określić, że długości porównywanych łańcuchów powinny być takie same. Użycie słowa kluczowego "given" jest opcjonalne.
  • Jest to konieczne . Bardziej szczegółowy opis, co powinno wynikać z wykonania algorytmu. Oprócz "danego", można go pominąć, ale aby zbudować bardziej zrozumiały i szczegółowy kod, zaleca się jego użycie.

Lista tych słów kluczowych odnosi się do tytułu i oznaczenia treści algorytmu. A oto leksemy dla zmiennych:

  • Całość Zmienny typ liczb całkowitych. Ich zakres powinien wynosić od -32768 do 32767.
  • Rzeczy . Rzeczywiste liczby. Na przykład z częścią wykładniczą lub ułamkową.
  • Zaloguj się To słowo kluczowe oznacza, że ​​zostanie użyta zmienna typu logicznego, która akceptuje tylko "tak" lub "nie".
  • Sim Obejmuje to wartości z pojedynczymi znakami, na przykład "a", "3".
  • Lit. Zmienne łańcuchowe, które mogą zawierać całe ciągi tekstowe.
  • Tab . Wskazuje tabelę z danymi określonego typu. Jest to odpowiednik tablicy z innych języków programowania.

słowa usługi

Dodatkowe słowa serwisowe

Poniższa lista słów służy do porządkowania mechanizmów rozgałęzień i pętli.

  • Dla . Służy do iteracji wszystkich wartości określonego zakresu. Używane do pętli, tj. Ciągłe wykonywanie dowolnych procedur z danymi.
  • Od i do . Wskazuje dokładnie, jaki zakres wartości należy przeliczyć w pętli typu "dla".
  • Cześć Służy także do iteracji na kilka wartości. Używany do pracy, dopóki nie zostanie spełniony określony warunek.
  • Нц i кц . "Нц" w języku algorytmicznym oznacza początek ciała cyklu, a "kz" - koniec. Pomiędzy tymi dwoma słowami kluczowymi są wbudowane niezbędne do obliczenia procedury.
  • Jeśli Dzięki temu słowu zaimplementowano strukturę gałęzi. W ten sposób możesz określić przebieg programu we właściwym kierunku, biorąc pod uwagę warunki.
  • W przeciwnym razie . Dwa słowa działające w połączeniu z "jeśli". Zbuduj także mechanizm rozgałęziania.
  • Wybór Poręczne narzędzie do wdrażania rozgałęzień z wielu wartości tego samego typu. Działa w połączeniu ze słowem kluczowym "kiedy" i "inaczej".
  • Wszystko Oznacza koniec mechanizmu gałęzi.
  • Wejdź . To słowo kluczowe pozwala użytkownikowi wprowadzić wartości zmiennych w trakcie programu do dalszego przetwarzania.
  • Wniosek. Generuje dane wyjściowe na ekranie.

Podstawowe struktury językowe

Algorytmiczny język programowania pomaga budować różne struktury, które wytwarzają funkcje obliczeniowe w wygodnej formie. Ogólnie rzecz biorąc, każdy język może korzystać z kilku konkretnych mechanizmów i ich kombinacji.

składniki języka algorytmicznego

Następująca struktura

Podczas projektowania tego typu struktury wykonywanie kodu odbywa się bezpośrednio po linii. Ogólny przykład można wyrazić jako:

alg Suma dwóch liczb (arg integer a, b, liczba całkowita S)

nach

wejście a, b

S: = a + b

wyjście "S =", S

con

W tym przykładzie obliczana jest suma dwóch liczb wprowadzonych przez użytkownika. Na początku słowo "al" wskazuje, że zaczyna się algorytm i krótko opisuje, co robi. Nawiasy definiują argumenty wymagane dla programu oraz zmienną, która będzie służyć jako pojemnik do przechowywania wyników. Następnie pojawia się słowo kluczowe "nach", pokazujące natychmiastowy początek wykonywania wyrażeń i procedur. Obok "początku" możesz zdefiniować i niektóre zmienne pośrednie.

nts w języku algorytmicznym

W treści algorytmu słowo kluczowe "input" pobiera dane od użytkownika i zapisuje je w zmiennych. Następnie są one sumowane, a ich suma jest przypisana do S. Przed zakończeniem algorytmu wynik programu wyświetlany jest na ekranie za pomocą słowa kluczowego "output". To nagranie w języku algorytmicznym jest typowe dla wielu innych środowisk programowania.

Struktura oddziału

Przebieg programu nie zawsze musi być wykonywany linia po linii. Czasami musisz zdefiniować lub zmienić wartość zmiennej w zależności od sytuacji. Na przykład pod warunkiem, że x = 0, nie dziel się przez x.

Algorytmiczny język programowania wykorzystuje kilka wariantów konstrukcji i słowa kluczowe "jeśli", "wtedy", "inaczej" lub "wybór". Po ustaleniu warunku "if", za pomocą którego zostanie określone kryterium przejścia do innego oddziału. Na przykład:

jeśli x = 0

następnie y = 1

wszyscy

W ten sposób można zmieniać wartości zmiennych w zależności od innych czynników. Ten przykład nie obejmuje w pełni wszystkich możliwych implementacji. Dlatego oprócz wzoru stosowane jest słowo kluczowe "w przeciwnym razie". Pozwala na przejście do innej gałęzi, jeśli warunek nie pasuje do wybranych kryteriów.

jeśli x = 0

następnie y = 1

w przeciwnym przypadku y = 0

wszyscy

Oznacza to, że w przypadku, gdy x nie jest równe zero, y również zostanie zresetowane, niezależnie od wartości, jaką miało wcześniej.

Bardziej dogodnym środkiem do wprowadzenia wielokrotnego wyboru jest konstrukcja "wyboru". To pozwala ci uporządkować kilka warunków. Kiedy jeden z nich się uruchomi, zostanie wykonana akcja dla niego określona.

wybór

z x = 0: y = 0

zx = 1: y = 1

zx = 2: y = 2

wszyscy

Ten przykład pokazuje zależność zmiennej y na x. Program przechodzi przez wszystkie dane i porównuje bieżącą wartość x z podaną w warunku. Po znalezieniu dopasowania wykonuje następującą po nim akcję. Ten projekt można również połączyć ze słowem kluczowym "w przeciwnym razie" w celu uzyskania bardziej elastycznych rozwiązań, gdy żaden z warunków nie zadziałał.

Cykle

Cykle odgrywają bardzo ważną rolę w programowaniu. Praktycznie żaden rozwój nie może obyć się bez wdrożenia tego projektu. W ogólnym przypadku cykle rozwiązują problem wielokrotnego wykonywania akcji tego samego typu z kilkoma zmiennymi. Jest to wygodne, na przykład podczas wypełniania tablic danymi za pomocą dobrze znanej formuły, sortowania lub liczenia niektórych wartości.

Słowo kluczowe "pa" pozwala na zorganizowanie cyklu, w którym określone działanie zostanie powtórzone, dopóki warunek nie zostanie spełniony. Na przykład:

nts, ​​gdy x <= 3

y: = y + x

x: = x + 1

kc

W tym przykładzie y zwiększy się, aż x będzie większe od 3. Aby pętla była nieskończona, x musi być zmieniane w dużym kierunku w każdym przebiegu, na przykład 1, co robi druga linia kodu.

Słowo kluczowe "dla" stosuje się do pewnego zakresu liczb, które muszą być kolejno powtarzane, wykonując z nimi dowolne działania. Ta konstrukcja jest używana, gdy znana jest skończona liczba elementów.

Jego składnia to:

nts dla x od 1 do 3

y: = y + x

kc

Oficjalne słowa "od" i "do" wskazują zakres wartości, które należy przeszukać. Tak więc, w pierwszej iteracji, x = 1, w wyniku przejścia, y również uzyska wartość 1. Następnie sterowanie powróci na początek, a x będzie teraz równe 2, odpowiednio, y zmieni się na 3.

Korzystając ze wspólnych konstrukcji pętli i rozgałęzień, można zbudować proste algorytmy rozwiązywania problemów świetlnych i zdobywania wiedzy na temat języków programowania.

Funkcje standardowe

Język algorytmiczny ma standardowe funkcje, które już są w nim wbudowane. Mogą ułatwiać rutynowe operacje z liczbami i wyrażeniami. Standardowe funkcje języka algorytmicznego można obliczyć pierwiastek kwadratowy logarytmy, moduły, sinusy, cosinusy, itp .:

  • bezwzględny moduł to abs (x);
  • pierwiastek kwadratowy - sqrt (x);
  • logarytmy naturalne i dziesiętne - ln (x) i lg (x);
  • minimum i maksimum dwóch liczb - min (x, y), max (x, y);
  • sinus, cosinus, styczna, cotangens - sin (x), cos (x), tg (x), ctg (x).

Te standardowe funkcje pozwalają uniknąć tworzenia "roweru", pomagając w realizacji najprostszych funkcji zwykłych środków.

Wyrażenia logiczne

Wyrażenia logiczne odzwierciedlać, czy dana operacja spełnia warunek. Na przykład x> 0 będzie prawdziwe, gdy x będzie równe 1, 2, 25 lub jakiejkolwiek innej liczbie większej od zera. Język algorytmiczny zawiera wyrażenia logiczne, które oprócz standardowych operacji matematycznych mogą wykorzystywać następujące słowa kluczowe i operatory:

  • I. Oznacza, że ​​wyrażenia, pomiędzy którymi występuje słowo kluczowe, muszą spełniać pewien warunek: (x> 0) i (y> 0);
  • Or Jedno z wyrażeń może nie spełniać warunku, na przykład (x> 0) lub (y> 0);
  • Nie rób tego . "Odwraca" wartość logiczną wyrażenia. Na przykład taka konstrukcja nie jest (x> 0), co oznacza, że ​​x musi nadal być większe od zera.

Ponadto istnieją operatory porównania - <,>, =, które można łączyć, aby utworzyć wyrazy typu większe lub równe.

Mały program do języka algorytmicznego

Następny jest mały przykładowy kod. Edukacyjny język algorytmiczny pozwala tworzyć przybliżone modele dużych systemów oprogramowania, które rozwiązują najbardziej złożone zadania.

Aby zrozumieć proces, możesz zorganizować program, który współdziała z użytkownikiem. Poprosi o numer, a samochód go wyrówna.

Składniki języka algorytmicznego składają się z wielu słów kluczowych. Pierwszą rzeczą, od której zaczyna się program, jest ogłoszenie algorytmu - al.

al Kwadratowa liczba ()

W nawiasach należy podać argument, który będzie wartością od użytkownika i wyniku. Nie zapominaj również o ogłoszeniu typów danych.

alg Kwadratowanie liczby (arg cx, cz S)

Teraz maszyna będzie wiedziała, że ​​będzie musiała współdziałać ze zmienną typu całkowitego, a wynikiem jej pracy będzie S.

Następnie przychodzi początek ciała algorytmu, w którym w razie potrzeby można zdefiniować wartości pośrednie.

nach

Pierwszą rzeczą do zrobienia jest wprowadzenie danych. Odbywa się to za pomocą słowa kluczowego "input".

wejście x

Teraz, bezpośrednio w ciele algorytmu, konieczne jest opisanie szeregu poleceń, za pomocą których zaimplementowana zostanie liczba kwadratów.

S: = x * x

wyjście "S =", S

Język algorytmiczny, którego polecenia pozwalają na realizację zadania, jest napisany w postaci: =. Zatem zmienna S otrzymuje wartość produktu x na siebie. Linia z wyjściem pokazuje wynik na ekranie. Wszystko to kończy się słowem kluczowym "con". Pełny kod będzie teraz wyglądał następująco:

alg Kwadratowanie liczby (arg cx, cz S)

nach

wejście x

S: = x * x

wyjście "S =", S

con

Jest to prosty sposób implementacji algorytmu do obliczania kwadratu wprowadzonej liczby. Program może być skomplikowany, dodając do niego sumę wszystkich operacji. A potem będzie wyglądać tak:

al Kwadrowanie liczby i obliczanie ich sumy (arg cx, cz S c)

dany | x> 0

potrzeba | S = 1 * 1 + 2 * 2 + ... + x * x

nach jest w całości

wejście x; S: = 0

nts dla a od 1 do x

S: = S + a * a

kc

wyjście "S =", S

con

W tym wariancie używa się cyklu, zmiennej pośredniej a oraz krótkiej instrukcji do zadania w sekcjach "dany" i "konieczny". Teraz, jeśli przeniesiesz pewną liczbę do programu, wyrówna ją i wyświetli sumę kwadratów wszystkich poprzedzających ją liczb.

Używanie i rozwój języków algorytmicznych

Język algorytmiczny jest powszechny w środowisku uczenia się w celu zrozumienia podstawowych norm i reguł programowania. Na przykład BASIC, który odbywa się w wielu szkołach. Doskonale odzwierciedla wszystkie paradygmaty takiego terminu, jak imperatywny język programowania, w którym wszystkie polecenia są wykonywane sekwencyjnie jedna po drugiej.

program do języka algorytmicznego

Ze względu na przybliżenie opisanych konstrukcji i słów kluczowych do ludzkiego języka, pisanie kodu stało się znacznie łatwiejsze niż w całkowicie maszynowych lub maszynowych modelach. Rodzina języków programowania Algol poszedł najdalej w swoim rozwoju, ponieważ jego składnia została wprowadzona w kilku lokalizacjach. Możliwe było napisanie kodu nawet po rosyjsku.

Ogólnie rzecz biorąc, rozwój języków algorytmicznych silnie wpłynął na programowanie jako całość i pozwolił dużej liczbie osób zostać programistami. Nowoczesne narzędzia stają się bardziej dostępne i zrozumiałe. Języki programowania wysokiego poziomu zawierają coraz więcej funkcji z nazwami i tytułami mówiącymi. Granice ich użycia stają się coraz mniejsze. W przyszłości możliwe będzie bardziej zrozumiałe i naturalne wdrożenie tego rozwoju.