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.
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ć.
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ł.
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ę:
Ta sekwencja jest bardzo uproszczona, ale jest to najprostszy algorytm.
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.
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ą.
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.
Dlatego utworzono język formalny lub algorytmiczny z dużą liczbą czytelnych dla człowieka słów kluczowych i nazw.
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ść.
Lista tych słów kluczowych odnosi się do tytułu i oznaczenia treści algorytmu. A oto leksemy dla zmiennych:
Poniższa lista słów służy do porządkowania mechanizmów rozgałęzień i pętli.
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.
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.
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.
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 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.
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 .:
Te standardowe funkcje pozwalają uniknąć tworzenia "roweru", pomagając w realizacji najprostszych funkcji zwykłych środków.
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:
Ponadto istnieją operatory porównania - <,>, =, które można łączyć, aby utworzyć wyrazy typu większe lub równe.
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.
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.
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.