Dzwon.

Są ci, którzy przeczytali tę wiadomość przed tobą.
Subskrybuj odbieranie artykułów świeżych.
E-mail
Nazwa
Nazwisko
Jak chcesz przeczytać dzwonek
Bez spamu

Język algorytmiczny edukacyjny jest środkiem do nagrywania algorytmów w postaci, pośrednim między algorytmem nagrania na naturalnym (ludzkim) języku i napisać komputer (język programowania).

Zalety algorytmicznego języka edukacyjnego obejmują jego prostotę, a także fakt, że algorytm jest rejestrowany w języku rosyjskim z pewną ograniczoną liczbą słów, których znaczenie i sposób konsumpcji jest ściśle określony. Te słowa nazywane są oficjalnymi słowami.

Aby przydzielić oficjalne słowa między innymi języka, podkreślają je podczas pisania.

Rekord algorytmu w języku algorytmicznym edukacyjnym składa się z nagłówka i korpusu algorytmu. Ciało algorytmu jest między słowami kluczowymi nach. i kon. I reprezentuje sekwencję poleceń algorytmowych. Tytuł zawiera nazwę algorytmu, odzwierciedlając jej zawartość, listę danych źródłowych (argumentów) i wyników.

Znakiem nagłówka algorytmu jest słowo kluczowe alg..

Tak więc algorytm nagrany w języku algorytmicznym edukacyjnym ma następujący formularz:

alg. algorytm tytułu.

arg lista danych źródłowych

skaleczenie lista wyników

sekwencja poleceń algorytmu

Studiowanie języka algorytmicznego szkolnego jest wskazane rozpoczęcie od zespołu przydziału, jest jedną z głównych zespołów.

Jest tak napisany:

<переменная> := <выражение>

Znak ": \u003d" brzmi "przypisać".

W przypadku, gdy wartość jest przypisana do wartości, zawiera również prawą stronę polecenia, następuje:

1) Wartość wyrażenia zapisanego po prawej stronie polecenia przypisywania jest obliczana przy użyciu bieżących wartości wszystkich wartości zawartych w tym wyrażeniu;

2) Zmienna jest przypisana nowa obliczona wartość bieżąca. W tym przypadku wcześniejsza wartość zmiennej jest zniszczona.

W związku z tym polecenie B: \u003d A + B oznacza, że \u200b\u200bwartość zmiennej A i uzyskanego wyniku staje się nową bieżącą wartością wartości B, dodaje się do poprzedniej wartości bieżącej wartości B.

Ten przykład ilustruje trzy podstawowe właściwości przypisania:

1) dopóki zmienna zostanie przypisana wartość, pozostaje ona nie zdefiniowana;

2) Wartość przypisana do zmiennej jest w niej przechowywana do czasu wykonania następnego przypisania tej zmiennej;

3) Nowa wartość przypisana do zmiennej zastępuje jej poprzednią wartość.

Zapoznajmy się z podstawowymi strukturami, zacznijmy od takiej operacji jako "Śledź". Tworzy sekwencję działań po drugim:

akcja 1.

działanie 2.

. . . . . . . . .

działanie N.

Następnie rozważ podstawową strukturę "Oddział". Zapewnia w zależności od wyniku weryfikacji warunku (tak lub nie) wyboru jednej z alternatywnych ścieżek algorytmu. Każda ze ścieżek prowadzi do ogólnego wyjścia, więc praca algorytmu będzie kontynuowana niezależnie od tego, której ścieżka zostanie wybrana. Struktura gałęzi istnieje w czterech głównych opcjach:



1. Jeśli coś;

jeśli stan: schorzenie

że działania

2. Jeśli coś - inaczej;

jeśli stan: schorzenie

że akcje 1.

inaczej działania 2.

wybór

dlawarunek 1: Akcje 1

dlawarunek 2: Akcje 2

. . . . . . . . . . . .

dla warunek N: Działania n

{inaczejdziałania n + 1}

I wreszcie, podstawowa struktura cyklu przy użyciu języka algorytmicznego szkolnego będzie wygląda tak.

Algopitis jest dokładnym i zrozumiałym przykładem artysty, aby spełnić sekwencję działań mających na celu rozwiązanie zadania.

Nazwa "Algorytm" wystąpiła z łacińskiej formy nazwy Matematyki Azji Środkowej Al-Khorezmi - Algorytmi. Algorytm jest jedną z podstawowych koncepcji informatyki i matematyki.

Wykonawca algorytmu jest jakiś abstrakcyjny lub prawdziwy (techniczny, biologiczny lub biotechniczny) system zdolny do wykonywania działań przepisanych przez algorytm.

Artysta HampetavePiz:

podstawowe działania;

system zespołu;

Absolwent (lub środowisko) to "siedlisko" artysty. Zatwierdzimy, że czytanie artysty z podręcznika szkolnego jest to nieskończone pole komórek. Ściany i komórek morskich są również częścią skrzyżowania. I ich pozytywne i stanowisko samego wyglądu ustanawiają stan podboju medium.

Każdy wykonawca może wykonywać polecenia tylko z określonej listy zdefiniowanej - wykonawcy systemów poleceń. Dla każdego polecenia należy określić warunki (ponieważ Państwa instrukcji można wykonać) i opisuje wyniki polecenia. Zastosuj, polecenie "VVEPS" można wykonać, jeśli nie ma ściany powyżej. Jej wynik jest przesunięciem w jednej komórce w jednej komórce.

Po wywołaniu polecenia wykonawca składa się z odpowiedniego działania podstawowego.

Występują awarie wykonawcze, jeśli polecenie jest wywoływane w stanie niedopuszczalnym stanu stanu.

Zwykle wykonawca nie zna nic o celu pojawienia się algo. Wykonuje wszystkie polecenia otrzymane bez zadawania pytań "dlaczego" i "dlaczego".

W informatyce uniwersalny wykonawca algorytmów jest komputerem.

Główne właściwości algorytmów są następujące:

Zrozumiałość dla artysty - I.e. Wykonawca algorytmu powinien wiedzieć, jak go wykonać.

Dyskrecja (przerwa, oddzielność) - I.e. Algoporty powinny otrzymać zadanie postępu jako sekwencyjnego wykonania następujących (lub bardziej oderwanych) kroków (kroków).

Obowiązki - I.e. Każdy algorytm musi być jasny, jednoznaczny i nie opuszczać miejsc dla postępu. Dzięki tej właściwości wykonanie algorytmu jest obsługiwane mechanicznie i nie ma żadnych dodatkowych instrukcji ani informacji o zadaniu.

Figura (lub kończyna). Ta właściwość polega na tym, że algorytm musi spróbować wypróbować zadanie ostatniej liczby kroków.

Masażeństwo. Oznacza to, że algorytm zadania jest w formie ogólnej, tj. Musi być kucyk dla pewnej klasy zadań, które są tylko w danych źródłowych. W tym przypadku początkowe dane mogą być spożywane z określonego obszaru, który nazywa się obszarem algorytmu.

W praktyce najczęściej występują następujące formy reprezentacji algorytmów:

słowne (pisanie w języku naturalnym);

grafika (obrazy z symboli graficznych);

pseudocodes (pół-sformalizowane opisy algorytmów na warunkowym języku algorytmicznym, w tym zarówno elementy języka programowania, jak i frazy języka naturalnego, ogólnie przyjętych notacji matematycznej itp.);

oprogramowanie (teksty w językach programowania).

Werbalny sposób na rekordowy algorytmy jest opisem kolejnych etapów przetwarzania danych. Algorytm jest ustawiony w dowolnej prezentacji w języku naturalnym.

Na przykład. Zapisz algorytm do znalezienia największego ogólnego rozdzielacza (węzła) dwóch numerów naturalnych.

Algorytm może być następujący:

ustaw dwie liczby;

jeśli liczby są równe, a następnie weź dowolną z nich jako odpowiedź i zatrzymaj, w przeciwnym razie kontynuuj wykonanie algorytmu;

określić więcej liczb;

wymień więcej spośród różnicy w większym i mniejszym wśród liczb;

powtórz algorytm z kroku 2.

Opisany algorytm ma zastosowanie do dowolnych liczb naturalnych i powinien prowadzić do rozwiązania zadania. Upewnij się, że algorytm jest określany przy użyciu tego algorytmu największą wspólną dzielnik liczb 125 i 75.

Metoda słowna nie jest szeroko rozpowszechniona z następujących powodów:

takie opisy są ściśle nieformalizowane;

cierpią na weryfikację zapisów;

dostosuj dwuznaczność interpretacji poszczególnych przepisów.

Graficzna metoda reprezentowania algorytmów jest bardziej kompaktowa i wizualna w porównaniu do słownego.

Dzięki reprezentacji graficznej algorytm jest przedstawiony jako sekwencja połączonych bloków funkcjonalnych, z których każdy odpowiada wdrażaniu jednego lub więcej działań.

Że reprezentacja graficzna Nazywany schematem algorytmu lub diagramu blokowego.

Na schemacie blokowym, każdy rodzaj działania (wprowadzanie danych źródłowych, obliczanie wartości wyrażeń, warunków testowania, zarządzanie powtórzeniem, koniec przetwarzania itp.) Odpowiada figura geometrycznareprezentowany w formie symbolu bloku. Symbole bloków są połączone liniami przejściowymi, które określają priorytet działania.

Tabela 1 przedstawia najczęściej używane znaki.

Blok procesu służy do wyznaczania działania lub sekwencji działań, które zmieniają wartość, formę reprezentacji lub umiejscowienie danych. Aby poprawić widoczność obwodu, kilka oddzielnych jednostek przetwarzania można łączyć w jeden blok. Prezentacja poszczególnych operacji jest dość wolna.

Blok "Rozwiązanie" służy do wyznaczania przejść kontroli sterowania. W każdym bloku "Rozwiązanie" należy wskazać pytanie, stan lub porównanie, które określa.

Jednostka "Modyfikacja" służy do organizowania struktur cyklicznych. (Modyfikacja słów oznacza modyfikację, transformację). Wewnątrz bloku parametr cyklu jest rejestrowany, dla którego jest wskazany początkowe znaczenie, warunek graniczny i krok zmiany wartości parametru dla każdego powtórzenia.

Blok "predefiniowany proces" służy do wskazania odwołań do algorytmów pomocniczych, istniejących autonomicznie w postaci niektórych niezależnych modułów oraz odwoływanie się do podprogramów bibliotecznych.

Pseudokodka jest systemem symboli i zasad przeznaczonych do jednolitego zapisu algorytmów.

Zajmuje pośrednie miejsce między językami naturalnymi i formalnymi.

Z jednej strony jest blisko zwykłego języka naturalnego, więc algorytmy można nagrać na nim i czytać jako zwykły tekst. Z drugiej strony, niektóre formalne projekty i symbole matematyczne są stosowane w pseudokodzie, co przynosi rekord algorytmu do ogólnie przyjętego rekordu matematycznego.

Pseudokod nie podjęła ścisłych zasad składowych do rejestracji poleceń związanych z językami formalnymi, co ułatwia rejestr algorytmu na etapie jego projektu i umożliwia korzystanie z szerszego zestawu poleceń przeznaczonych do abstrakcyjnego artysty. Jednakże pseudokod ma zwykle niektóre projekty związane z językami formalnymi, co ułatwia przejście przed pisaniem do pseudokodu do nagrywania algorytmu w języku formalnym. W szczególności w pseudokodzie, a także w językach formalnych, istnieją oficjalne słowa, których znaczenie jest określane raz i dla wszystkich. Wyróżniają się w drukowanym tekście z odważną czcionką, a w podkreślonym tekście odręcznym. Nie ma pojedynczej lub formalnej definicji pseudo-formacji, dlatego możliwe są różne pseudokody, charakteryzujące się zestawem słów usługowych i podstawowych (podstawowych) struktur.

Przykładem pseudokodki jest językiem algorytmicznym szkolnym w notacji rosyjskiej (szkoła (szkoła), opisana w samouczku A.G. Kushnirenko i in. "Podstawy informatyki i obliczenia", 1991. Ten język będzie nazywany po prostu "językiem algorytmicznym" w przyszłości.

Główne słowa usługi

Ogólny widok algorytmu:

algorytm nazwy alg (argumenty i wyniki)

warunki stosowania algorytmu

konieczne jest wykonanie algorytmu

nCH \u200b\u200bOpis wartości pośrednich

|. Sekwencja komunikacyjna (algorytm ciała)

Część algorytmu ze słowa Alg do słowa NCH nazywana jest tytułem, a część zawarta między słowami początku a organami algorytmem.

W zdaniu Alg Po nazwisku algorytmu w nawiasach, charakterystyki (Arg, CR) i rodzaj wartości (dla argumentu, 1, lite lub log) (dla argumentów) oraz zmiennych wyjściowych (wyników) . Opisując tablice (tabele), używany jest słowo usługi, uzupełnione parami brzegowymi dla każdego indeksu elementów tablicy.

Przykłady ofert Alg:

obszar objętości i cylindrów w obiekcie (Arg Mane R, H, Cut V, S)

alg korzenie SMB (Arg Mana A, B, C, Cut Mee X1, X2, Res Lite T)

alg Exclude Element (Arg Complex N, Arg Dres Tab a)

alg Diagonal (Arg Complex N, Karta komunikacji ARG A, CRA oświetlona OTVET)

Oferty są podane i niekoniecznie. Zaleca się rejestrowanie stwierdzeń opisujących stan środowiska algorytmu wykonawczego, na przykład:

wymiana aleg (Arg Lit Str1, Str2, Tekst Crasus Crop Crop)

dano |. Str1 i Str2 Długość substytucji zbiegają

jest to konieczne | Wszędzie w linii tekstowej Str1 zastąpiona STR2

aLG Liczba Maxima (Arg Cover N, Arg Tab A, RESH K)

dano |. N\u003e 0.

jest to konieczne | K - liczba maksymalnych elementów w tabeli A

oporność Alg (Arg Mane R1, R2, Arg Complex N, COM R)

dano |. N\u003e 5, R1\u003e 0, R2\u003e 0

jest to konieczne | R - Rezystancja schematu

Tutaj w zdaniach są podane i konieczne po znaku "|" Uwagi są rejestrowane. Komentarze można umieścić na końcu dowolnego wiersza. Nie są one przetwarzane przez tłumacza, ale znacząco ułatwiają zrozumienie algorytmu.

Algorytmy mogą być reprezentowane jako niektóre struktury składające się z oddzielnych elementów podstawowych (I.e. Basic).

Naturalnie, z tym podejściem do algorytmów, badanie podstawowych zasad ich projektu powinno rozpocząć się od badania tych podstawowych elementów.

Dla ich opisu będziemy wykorzystywać język algorytmów i języka algorytmicznego szkolnego.

Logiczna struktura dowolnego algorytmu można przedstawić z kombinacją trzech podstawowych struktur:

podążać

rozgałęzienie

Charakterystyczną cechą podstawowych struktur jest obecność jednego wejścia i jednego wyjścia.

Część algorytmu alg. przed słowem nach. zwany tytułem, a część zawarta między słowami nach. i kon. - Algorytm ciała.

W zdaniu alg. Po nazwie algorytm w nawiasach, charakterystyki (arg, CR) i typ wartości (niematerialne, sim, lite, log) są wskazane dla wszystkich zmiennych wejściowych (argumentów) i wyjściowych (wyników).

Opisanie tablic (tabele) używany jest słowo serwisowe patka, Uzupełniane parami brzegowymi dla każdego indeksu elementów tablicy.

Przykłady ofert alg.:

obszar objętości i cylindrów w obiekcie (Arg Mane R, H, Cut V, S)

alg korzenie SMB (Arg Mana A, B, C, Cut Mee X1, X2, Res Lite T)

alg Exclude Element (Arg Complex N, Arg Dres Tab a)

alg Diagonal (Arg Complex N, Karta komunikacji ARG A, CRA oświetlona OTVET)

Gatunki słowa dano. i potrzebujemy Nie obowiązkowy. Zaleca się rejestrowanie stwierdzeń opisujących stan środowiska algorytmu wykonawczego, na przykład:

Wymiana ALLEG (ARG LIT STR1, STR2, ARG Crop Croping) Dano | Str1 i str2 str2 długość | Wszędzie w linii tekstowej Str1 zastąpiona STR2

Alg Numer Maxima (Arg Cover N, Arg Mest Tab a, Resh K) Dana | N\u003e 0Anado | K - liczba maksymalnych elementów w tabeli A

Odporność alga (Arg Mane R1, R2, Arg Complex N, Cole R) Dange | N\u003e 5, R1\u003e 0, R2\u003e 0ANADO | R - Rezystancja schematu

Tutaj w zdaniach dano. i potrzebujemy Po znaku "|" Uwagi są rejestrowane. Komentarze można umieścić na końcu dowolnego wiersza. Nie są przetwarzane przez tłumacza komputerowego, ale znacząco ułatwiają zrozumienie algorytmu.

Drużyny szkolne Programowanie Aya

Operator aplikacji.. Używane do obliczania wyrażeń i przypisywania ich wartości zmiennych. Ogólny widok operatora: A: \u003d B, gdzie znak ": \u003d" oznacza działanie przypisania, tj. Polecenie zastąpienie dawnej wartości zmiennej A, stojąc po lewej stronie, na obliczonej wartości wyrażenia po prawej stronie.


Na przykład, a: \u003d (B + C) * SIN (PI / 4);

i: \u003d i + 1 .

Dla wejście i wyjście Dane używane zespoły

· wejście Nazwy zmiennych

· wynik Nazwy zmiennych, wyrażeń, tekstów.

Dla Rozgałęzienie Algorytm używa poleceń jeśli i wybór.

Dla organizacji cykle. - Drużyny dla i aż doOpisane poniżej.

Przykład zapisu algorytmu w języku szkolnym.

Kwadraty Alg (Arg n., lekarstwo S.) Dano |. N\u003e 0Anado | S \u003d 1 * 1 + 2 * 2 + 3 * 3 + ... + n * Nach jA. Wejście n.; S. : =0 nC.dla I od 1 do n s : \u003d S + I * I kc. Wniosek "S \u003d", SKON

Algorytmiczny Y3YK. - sztuczny system funduszy językowych, które mają wyraźne możliwości wystarczające, aby zapewnić, że z jego pomocą można ustawić wszelkie wykrywalne ogólne połączenie na określonej klasie, z których wykonywanie prowadzi z różnych ograniczeń danych źródłowych do pożądanego wyniku . Ten rodzaj recepty nazywa się algorytm , z miejsca, w którym sam "język algorytmiczny". W systemowym użytkowaniu został wprowadzony w 1958 r. Bottenbruh. Historycznie koncepcja języka algorytmicznego powstała w latach 50-tych. 20 V. W trakcie stania się programowanie komputerowe. jako niezależna dyscyplina naukowa. Jednak teoretyczne pochodzenie tej koncepcji są śledzone w pracach 30-tych. S.K. Klini, E.Posta, a.m.tyuhta i A.fercha, aby wyjaśnić ogólną koncepcję matematyczną algorytmu. Obecnie teoria języków algorytmicznych, a także problemy związane z ich rozwojem i użytkowaniem, jest jedną z najważniejszych sekcji informatyki.

W aspekcie logicznym i ginoseologicznym, języki algorytmiczne są jednym z modeli imperatywnych (imperatywna skłonność), a zatem wykonują, z jednej strony, jako środek mocowania wiedzy operacyjnej, a na drugim - jako narzędzie maszyna, maszyna do mężczyzn lub nawet po prostu ludzka komunikacja. W krótkim czasie, języki algorytmiczne zmieniły się w nowy agent poznawczy, organicznie zawarte na działania naukowe i praktyczne danej osoby. Zwykle robią wymóg "wszechstronności", który jest konieczne, aby mieć możliwość modelowania z pomocą wszelkich algorytmów spośród osób, które dają wszelkie udoskonalenie. ogólna koncepcja Algorytm (np. Maszyny do turing). Absolutna dokładność składni języka algorytmicznego nie jest konieczna we wszystkich przypadkach. Jest to obowiązkowe w rozpatrzeniu znaczącej natury. Ale w niektórych sytuacjach (np. Kiedy teksty zapisane na dowolnym języku algorytmicznym zaczynają działać jako środek komunikacji z komputerem) Ten język algorytmiczny musi być ozdobiony w formie odpowiedniego sformalizowany język z wyraźnie opisaną składniami i dokładnie podanym semantyczny jego kategorie gramatyczne. Centralne miejsce w takich językach algorytmicznych zajmuje teksty zwane programami (w rzeczywistości, są one koncepcją wyrażonej algorytmu). Koncepcja programu jest formułowany w warunkach czysto strukturalnych składni tego języka, bez żadnego odwołania do kategorii semantycznej. Opis procedury wykonania programu jest również uważany za dokładnie taki sam. Dlatego też, jak wykonawca algorytmów odnotowanych na formalizowanych językach algorytmicznych, nie tylko osobie, ale także wyposażony w odpowiednie automatyczne urządzenie, na przykład komputer. "Teoretyczne" języki algorytmiczne (takie jak język maszyn Turingi lub normalnych algorytmów Markowa) podkład teoria ogólna Algorytmy.

"Praktyczne" języki algorytmiczne - tzw Języki programowania dla komputerów (obecnie istnieją więcej niż tysiąc) - wykorzystywane w praktyce roztworów maszyn wielu różnych zadań w ich charakterze. Na wczesnych etapach programowania, "zorientowane na maszyny" algorytmiczne języki (tak zwane "języki niskiego poziomu"), biorąc pod uwagę strukturę lub nawet charakterystykę konkretnych maszyn obliczeniowych (system poleceń, funkcji i struktury pamięci itp.). Następnie zmienili języki algorytmiczne "zorientowane na problemy" (języki wysokiego poziomu), które uwolniły użytkownikowi z potrzeby skupiania się na maszynach pewnego typu, a zatem znacznie większą matematyczną koncentrację na jego wysiłkach. Dalszym rozwojem idei języka algorytmicznego było bardziej ogólne języki programowania, niekoniecznie algorytmicznego charakteru. Podobnie jak języki algorytmiczne, takie języki są ostatecznie skierowane do otrzymania oprogramowanie maszynowe.Ale w wielu przypadkach ich teksty umożliwiają pewną swobodę spełnienia i, z reguły, zapewniają jedynie materiał do syntezy pożądanych algorytmów, a nie tych algorytmów samych. Wszechstronna penetracja maszyn obliczeniowych do sfer naukowych, kulturowych i społecznych prowadzi do znacznego wzrostu roli języków algorytmicznych w życiu społeczeństwa, a to wyraża, w szczególności w fakcie, że algorytmy i ich programy Wdrażanie ich (tj. Ostatecznie teksty na niektórych językach algorytmicznych), charakter rzeczywistych zasobów w zakresie gospodarczego, naukowego i kulturowego społeczeństwa jest coraz bardziej nabywana, co z kolei powoduje znaczną liczbę poważnych problemów metodologicznych i ginoseologicznych. Ponadto, wszystkie rozszerzające się (do codziennego) stosowania języków algorytmicznych prowadzi do ustanowienia specjalnego stylu myślenia, a stosunek myślenia o tradycyjnym matematycznym jest również ważnym i niewiele rozwiniętym problemem metodologicznym.

Literatura:

1. Knut D.Sztuka programowania dla komputerów, Vol. 1-3. M., 1976;

2. Ershov A.P.Wprowadzenie do programowania teoretycznego: rozmowy o metodzie. M., 1977;

3. Dieetstra E.Dyscyplina programistyczna. M "1978.

Komputer może wykonać tylko program, jeśli polecenia zawarte w nim są prezentowane w kodzie maszyny binarnej, tj. Określony w języku, którego alfabet składa się z jednostek logicznych i zerów. W przypadku pierwszych komputerów Program został wykonany bezpośrednio w kategoriach maszynowych, co wymagało wysokiej kwalifikacji programistów i wysokich kosztów pracy, więc w latach 40. rozpoczęła się rozwój języków programowania, które w ich słownictwie byłoby tak blisko jak możliwe dla naturalnego języka osoby. Takie języki programowania są nazywane algorytmiczny..

Pośredni krok w kierunku rozwoju języków algorytmicznych był język Monter. W asemblerze zespoły są prezentowane numery binarne, ale w formie kombinacji symboli (kodów mnemonicznych), które mogą odtwarzać znaczenie zespołu, co znacząco eliminuje trudności i niedociągnięcia programowania w języku maszynowym. Jednakże, asembler jest również nieodłączny w wadach - jest to język zorientowany na maszynę, a asembler jest tworzony dla każdego komputera. Programowanie na asemblerze wymaga programisty dobrej wiedzy na temat komputera (urządzenie) komputera i jest związane ze znaczącymi kosztami pracy, jednocześnie jest to precyzyjnie korzystać z asemblera do korzystania z zasobów komputerowych (pamięci, prędkości) w Program, dlatego asembler jest nadal szeroko rozpowszechniony wśród profesjonalnych programistów.

Pierwszy język algorytmiczny stał się Fortran.utworzony w 1957 roku. Profesjonaliści. iBM. Pod kierownictwem Jana BECUS. Teraz istnieje wiele języków algorytmicznych: Pascal, C, Algol, PL1, Podstawowy, Lisp, Prolog i wielu innych.

Języki algorytmiczne i zespoły należą do języków symbolicznych kodowania, tj. Do języków, które działają nie z kodów maszynowych, ale zatem warunkowe symbolizyjne symbole, dlatego programy sporządzone w tych językach nie mogą być bezpośrednio wykonywane na komputerze. Tak więc, taki program uzyskał, jego tekst musi zostać przekształcony w kody maszyn. W tym celu są specjalne tłumacze (tłumacze). Wyróżnić 2 typy kompilator tłumacza i tłumacz. Kompilator Przekłada program jednocześnie, a tylko po tym, jak można go wykonać. Interpretator - Jest to prostszy tłumacz, sekwencyjnie transmituje operatorów programów, a także wykonuje go w częściach.

21) Struktura programu w C / C ++.

Program językowy C ++ składa się z funkcje , opisy i dyrektywy preprocesora . Jedna z funkcji powinna mieć nazwę główny. . Program zaczyna się od pierwszego operatora tej funkcji. Najprostsza definicja funkcji ma następujący format:


Z reguły funkcja służy do obliczenia dowolnej wartości, więc przed nazwą funkcji wskazuje jego typ. Poniżej znajdują się najbardziej niezbędne informacje o funkcjach:

  • jeśli funkcja nie powinna zwrócić wartości, określony jest typ void:
  • ciało funkcji jest blok, a zatem jest szelki;
  • nie można zainwestować funkcji;
  • każdy operator kończy się pokrętłem przecinkowym (z wyjątkiem operatora kompozytowego).

Przykład konstrukcji programowej zawierającej główne funkcje, FL i F2:

Program może składać się z kilku moduły (pliki źródłowe).

Kilka komentarzy na temat wejścia / wyjścia w C ++

W C ++ nie ma wbudowanych narzędzi we / wy - odbywa się za pomocą funkcji, typów i obiektów zawartych w standardowych bibliotekach. Używane są dwie metody: funkcje dziedziczone z obiektów C i C ++.

Główne funkcje wejścia / wyjścia z:

int Scanf (Const Char * Format, ...) // Enter
Int Printf (Const Char * Format, ...) // Wniosek

Wykonują sformatowane wejście i wyjście dowolnej liczby wartości zgodnie z ciągiem format formatu.. Ciąg formatu zawiera symbole skopiowane do strumienia (na ekranie) lub są wymagane ze strumienia (z klawiatury) podczas wprowadzania, a specyfikacja transformacji począwszy od wartości%, która przy wejściu i wyjściu są zastępowane przez specyficzne wartości.

Przykład programu, który wykorzystuje funkcję I / O w stylu z:

#Zawierać.
Int main () (
int I;
Printf ("Wprowadź liczbę całkowitą P");
Skanf ("% D", i I);
Printf ("Wprowadziłeś numer% D, dziękuję!", I);
Powrót 0;
}

Pierwszy wiersz tego programu - dyrektywa przed preprocesorem, w której włożono plik nagłówkowy zawierający opis funkcji we / wy używany w programie funkcji I / O (w tym przypadku wprowadza się wsporniki kątowe są elementem język). Wszystkie dyrektywy preprocesora zaczynają się od znaku #.

Trzecia linia jest opis zmiennej typu całkowitego o nazwie I.

Funkcja PrintF w czwartej linii wyświetla zaproszenie "Wprowadź integer" i idzie do nowy ciąg Zgodnie z sekwencją kontrolną n. Funkcja SCANF wchodzi do liczby całkowitej wprowadzonej z klawiatury do zmiennej I (znak i oznacza działanie uzyskania adresu), a następny operator wyświetla ciąg określony, zastępując specyfikację transformacji
Znaczenie tego numeru.

Ale co wygląda ten sam program biblioteki klasy C ++:

#Zawierać.
Int main () (
int I;
Cout.<< "Введите целое числоN."; Cin \u003e\u003e I;
Cout.<< "Вы ввели число " << i << ", спасибо!";
Powrót 0;
}

Plik nagłówka jest opisem zestawu zajęć do wejścia / wyjścia. Określa standardowe obiekty przepływowe CIN, aby wprowadzić klawiaturę i COUT, aby wyświetlić na ekranie, a także działanie pomieszczenia w strumieniu.< < и чтения из потока >>.

22) Alfabet i identyfikatory w C / C ++.

ALFABET
Kapitał i małe litery łacińskie i znak podkreślenia;
Liczby arabskie od 0 do 9;
Symbole ślepy: przestrzeń, zakładki, symbole przejścia do baru.
Specjalne znaki:

Język LEXEMES są utworzone z symboli alfabetu:
identyfikatory;
kluczowe słowa (zarezerwowane);
Operacje;
stałe;
Oddziela się (wsporniki, punkt, przecinek, statek kosmiczny).

Identyfikatory
Listy łacińskie, cyfry i znak podkreślenia mogą być używane w identyfikatorze;
Kapitał i małe litery różnią się;
Pierwszym znakiem identyfikatora może być literą lub znakiem podkreślenia, ale nie jest cyfrą;
Nazwy w nazwach nie są dozwolone;
Długość identyfikatora zgodnie ze standardem nie jest ograniczona, ale niektórzy kompilatory i liniowcy na nią ograniczenia;
Identyfikator nie powinien pokrywać się ze słowami kluczowymi;
Nie zaleca się rozpoczęcia identyfikatorów z symbolu podkreślenia (może zbiegać się z nazwami funkcji systemu lub zmiennych);
Na identyfikatorach używanych do określenia zmiennych zewnętrznych;
Istnieją ograniczenia łącznika (stosowanie różnych łączników lub wersji łączników nakłada różne wymagania dotyczące nazw zmiennych zewnętrznych).

Słowa kluczowe C ++.

23) Całe typy danych w C / C ++.

Cały typ danych ma na celu reprezentowanie zwykłych liczb całkowitych w pamięci komputera. Główny i najczęściej typowy typ to typ int.. Znacznie rzadziej korzystają ze swoich odmian: krótki (krótka liczba całkowita) i długo. (długa liczba całkowita). Rodzaj typu zawiera również typ typu zwęglać. (symbol). Ponadto, jeśli to konieczne, możesz użyć typu długie. (Długi renderowanie!), który nie jest zdefiniowany przez standard, ale jest obsługiwany przez wielu kompilatorów C ++. Domyślnie wszystkie wszystkie typy są ikonowy. Starszy bit w takich ilościach określa znak numeru: 0 - liczba jest dodatnia, 1 jest liczbą ujemną. Oprócz ikonowych numerów na C ++ możesz użyć niezależnie od. W tym przypadku wszystkie wyładowania są zaangażowane w tworzenie liczby całkowitej. Opisując niezręczny, dodano słowo niepodpisany (brak znaku).

Podsumowanie tabeli kultowych typów danych liczb całkowitych:

Typ danych Rozmiar, bajt. Zakres wartości
Zwęglać. -128 ... 127
Krótki -32768 ... 32767
int. -2147483648 ... 2147483647
Długo. -2147483648 ... 2147483647
Długie. -9223372036854775808 ... 9223372036854775807

Stół podsumowany niepodpisanych typów danych liczb całkowitych:

Typ danych Rozmiar, bajt. Zakres wartości
Niepodpisany char. 0 ... 255
Niepodpisany krótki 0 ... 65535
Unsigned Int (możesz po prostu uncjonować) 0 ... 4294967295
Niepodpisany długość. 0 ... 4294967295
Niepodpisany długie. 0 ... 18446744073709551615

Pamiętaj o wartości granicznych, zwłaszcza na 4 lub 8 bajtów, trudno jest to, że wystarczy poznać przynajmniej jakiś rodzaj kolejności tych wartości, na przykład, na przykład int. - około 2 · 10 9.

W praktyce zaleca się użycie głównego całego typu wszędzie, tj. int.. Faktem jest, że dane głównego całego typu jest prawie zawsze przetwarzane szybsze niż inne dane danych. Krótkie ( zwęglać., krótki) Nadaje się do przechowywania dużych tablic liczb w celu zapisania pamięci, pod warunkiem, że wartości elementów nie wykraczają poza limity dla tych typów. Długie rodzaje są potrzebne w sytuacji, gdy za mało typ int..

24) Rodzaj danych w języku C / C ++.

Funkcja rzeczywistej (ważnych) numerów jest to, że w pamięci komputera są one prawie zawsze przechowywane w przybliżeniu, a podczas wykonywania operacji arytmetycznych na takich danych, zgromadzono błąd obliczeniowy.

Istnieją trzy rzeczywiste typy danych: pływak, podwójnie. i długi podwójny.. Najważniejszą rzeczą jest typ podwójnie.. Więc wszystkie funkcje matematyczne obowiązują domyślnej pracy dokładnie z typem podwójnie.. Poniższa tabela przedstawia główne cechy rodzajów rzeczywistych:

Typ długi podwójny. Obecnie z reguły zbieży się z typem podwójnie. W praktyce zwykle nie jest stosowany. Używając starych 16-bitowych danych kompilatorów długi podwójny. Mają rozmiar 10 bajtów i zapewniają dokładność do 19 cyfr dziesiętnych.

Zaleca się używanie typu wszędzie. podwójnie.. Praca z nim jest zawsze szybsza, mniej prawdopodobne, aby zauważyć utratę dokładności z dużą liczbą obliczeń. Typ pływak Może być przydatny tylko do przechowywania dużych tablic, pod warunkiem, że wystarczy, aby rozwiązać zadanie.

25) Typ danych symbolu w C / C ++.

W normie C ++ nie ma typu danych, który można uznać za naprawdę symboliczny. Aby przedstawić informacje symboliczne, istnieją dwa rodzaje danych odpowiednich do tego celu - to są typy zwęglać. i wchar_t.Chociaż oba te typy są zasadniczo całym typami. Na przykład możesz wziąć symbol "A" i podzielić go na numer 2. Przy okazji, co się dzieje? Wskazówka: Symbol przestrzeni. Dla "normalnych" typów symbolicznych, na przykład na Pascal lub C #, operacje arytmetyczne dla symboli są zabronione.

Typ zwęglać. Służy do reprezentowania znaków zgodnie z systemem kodowania ASCII (American Standard Code for Information Interchange - American Standard Information Exchange Code). Jest to kod siedmio-bitowy, jest wystarczający do kodowania 128 różnych znaków z kodami od 0 do 127. Symbole z kodami od 128 do 255 służą do kodowania czcionek krajowych, pseudotograficznych znaków itp.

Typ wchar_t. Zaprojektowany do pracy z zestawem znaków do kodowania, który nie wystarczy 1 bajt, na przykład Unicode. Typ rozmiaru wchar_t. Zwykle jest równy 2 bajty. Jeśli program musi używać stałych ciągów wchar_t.Następnie są rejestrowane z prefiksem L., na przykład l "słowo".

26) Przypisanie operatora i pusty operator w C / C ++

Operator aplikacji. - Jest to najczęstszy operator. Jego celem jest przypisanie nowej wartości dowolnej zmiennej. C ++ ma trzy formy tego operatora.

1)Prosty operator cesji. napisane tak:

zmienna \u003d wyrażenie;

Ten operator działa w następujący sposób: Oblicza się wyrażenie zapisane po prawej stronie symbolu operacji. = (równy), wówczas wynik jest przypisany do zmiennej stojącej po lewej stronie znaku = . Rodzaj wyników musi pokrywać się z typem zmiennej nagranej po lewej stronie lub do cytowanego.

Po lewej stronie znaku = Może być tylko zmienna, możesz również zapisać stałą, a zmienną i ogólnie ekspresję dowolnej złożoności.

Przykład operatorów

y \u003d x + 3 * r;

s \u003d grzech (x);

2)Wielokrotne zadanie - W takim operatorze, kolejno w prawo do lewej, kilka zmiennych przypisuje tę samą wartość, na przykład:

a \u003d b \u003d c \u003d 1;

Możesz więc natychmiast określić, na przykład, w trójkącie równobocznym, wszystkie strony są równe tej samej numerze 1. Powyższy operator jest równoważny sekwencyjnej realizacji trzech operatorów:

Oczywiście łatwiej jest nagrywać jeden operator, a nie trzy. Program zamienia się w krótszy, tekst naturalnie wygląda, a ta konstrukcja działa trochę szybciej.

3)Zadanie z jednoczesnym wykonywaniem dowolnej pracy Ogólnie jest napisany:

zmienna sign_aporatracja \u003d wyrażenie;

i odpowiednik nagrywania

zmienna \u003d Zmienna wyrażenie znakowania;

Na przykład operator:

s + \u003d 5; // 1. opcja

robi to samo co operator

s \u003d s + 5; // 2ND opcji.

mianowicie: Weź starą wartość ze zmiennej s.Dodaj numer numeru 5 a wartość otrzymała ponownie zmienną s..

Jak widać, nagrywanie pierwszej wersji krótszą nagrywanie w wersji 2ND i jest wykonywane szybciej, ponieważ w pierwszej wersji adresu zmiennej s. Jest obliczany 1 raz, aw drugiej wersji - dwukrotnie.

Pusty operator

Pustym operatorem jest operator, który nic nie spełnia. Dlaczego potrzebujesz "bezużytecznego" operatora?

Puste operator jest używany w przypadkach, w których składnia językowa jest wymagana do nagrywania dowolnego operatora, a zgodnie z logiką programu, nie zrobimy czegoś. W ten sposób można wymagać pustego operatora w instrukcji oddziału, gdy jakakolwiek oddział jest wymagany do wykonania wszystkiego, w celu określenia etykiety, aby przejść do tekstu programu, a czasami dla pustego korpusu cyklu.

Pusty operator jest pojedynczym symbolem ; (punkt z przecinkiem), na przykład:

c \u003d a + b; ;

Oto pierwszy znak ; (Punktem z przecinkiem) Uzupełnia operatora przypisania, a druga postać jest po prostu daje nam pusty operator. W tej sytuacji pusty operator nie jest w ogóle potrzebny (ale nie jest błędem składniowym!), Podano tylko w celu wyjaśnienia. Więcej "rozsądnych" przykładów używania pustego operatora zostaną wymienione w dalszej części odpowiednich tematów.

27) Operacje arytmetyczne w języku C / C ++.

Są to najczęściej używane operacje. Ich znaczenie jest blisko tego, co znany jest z kursu matematyki. Wymień je:

Priorytet operacji dodawania i odejmowania jest niższy niż mnożenie, podział i obliczanie pozostałości. Aby zmienić procedurę obliczania, używają obrotowych wsporników, na przykład do mnożenia 2 Ilość dwóch liczb ZA. i B. Możesz pisać:

Dalej. Jak widać z uzyskanych wyników w C ++ jeden znak / oznacza dwie różne operacje. Jeśli jeden lub obu operand jest prawdziwy, wykonuje się wspólny podział, jeśli oba operandy są liczbami całkowitymi, wówczas przeprowadzany jest podział, a wynik będzie cały typ. Korzystanie z tej operacji wymaga zwiększenia opieki, na przykład, jeśli programujesz obliczenie wyrażenia matematycznego

dosłownie, tj. Więc:

1/3 * grzech (2 * x)

następnie wynik jest niezależnie od wartości X. zawsze będzie zero, ponieważ wyrażenie 1/3 Oznacza podział nacisku. Aby rozwiązać problem, wystarczy jeden z operandów, aby naprawdę

1.0 / 3 * SIN (2 * X)

Działanie obliczania pozostałości ( % ) Dotyczy tylko operandy całkowitej.

Zmień się. Operacja UNELARY " - "Oznacza zmianę znaku. Jak widać ze wspólnego stołu wszystkich operacji, ma bardzo wysoki priorytet - wyższy niż na przykład operacja mnożenia. Dlatego w wyrażeniu

początkowo przeprowadzana jest zmiana znaku ZA.a następnie mnożenie -ZA. na B..

Dla sparowanego jest operacja uNILARY PLUS.. może być napisany

W jakim celu jest użycie? Trudno powiedzieć. Ale jest taka szansa.

Bardziej interesujące, a co najważniejsze, operacje autowarów i butów są bardzo często powszechne.

Dzwon.

Są ci, którzy przeczytali tę wiadomość przed tobą.
Subskrybuj odbieranie artykułów świeżych.
E-mail
Nazwa
Nazwisko
Jak chcesz przeczytać dzwonek
Bez spamu