Operátori zadávania údajov. Vstup a výstup údajov v jazyku Pascal Ako je napísaný vstupný príkaz

Cieľové laboratórium A nudná práca: naučte sa správne popisovať premenné pomocou nasledujúcich štandardných dátových typov: integer. skutočné a logické; študovať operátorov vstupu/výstupu dát, rozvíjať praktické zručnosti v práci so systémom PascalABC, naučiť sa vytvárať, vstupovať do počítača, spúšťať a opravovať jednoduché programy v jazyku Pascal v dialógovom režime, zoznámiť sa s diagnostickými hláseniami kompilátora o chybách pri vykonávaní programy, ktoré implementujú lineárne algoritmy.

Operátor je špeciálna množina funkčných slov, identifikátorov a špeciálnych znakov, ktoré vykonávajú určité akcie. Operátory sú od seba oddelené bodkočiarkou „;.“ Príklady operátorov.

Operátor priradenia: (:=). Operátor priradenia sa používa na priradenie hodnôt premenným, napríklad: x:=1; a:=5. 02; b:= 32*a+Sin(x); S:= "Ivan Ivanovič."

Zložený operátor: Začnite<операторы>Koniec;

Zložený operátor sa používa na zápis ďalších operátorov do jeho tela, ktorých postupnosť sa v tomto prípade považuje za jeden operátor. Tento príkaz začína a končí vykonávaciu časť hlavného programu, podprogramu alebo funkcie. Po poslednom vyhlásení KONIEC hlavného programu nasleduje bodka.

    1. Operátory vstupu/výstupu údajov

Na vykonávanie I/O operácií sa používajú štyri operátory:

Čítať, čítať, písať, písať. Operátor Read poskytuje zadávanie číselných údajov, znakov, reťazcov atď. na ich následné spracovanie programom.

Formát: Read(X1, X2, .. , Xn), kde X1, X2, .. , Xn sú premenné platných dátových typov.

Hodnoty X1, X2, .., Xn zadáva používateľ aspoň o jedno miesto na klávesnici a zobrazujú ich na obrazovke. Hodnoty premenných musia byť zadané v prísnom súlade so syntaxou jazyka. Ak má program viacero operátorov Read, údaje pre ne sa zapisujú do streamu, t.j. po načítaní hodnôt premenných pre jeden operátor Read sa údaje pre nasledujúci operátor Read napíšu na rovnaký riadok ako pre predchádzajúci. až do konca riadku, potom dôjde k prechodu na ďalší riadok. Operátor čítania ReadLn je podobný ako operátor Read, rozdiel je len v tom, že po načítaní poslednej hodnoty v zozname pre jeden operátor ReadLn sa budú údaje pre nasledujúci operátor ReadLn čítať od začiatku nového riadku.

Operátor Write vytvára výstup údajov.

Formát: Write(X1, X2, .. , Xn), kde X1, X2, .. , Xn sú výrazy ako celé číslo, byte, real, char, Boolean atď.

Príklad: Write(125); (výraz reprezentovaný hodnotou)Napíš(A+B–C); (zobrazí sa výsledok výrazu).

Príkaz Write vám umožňuje zobraziť hodnoty premenných nasledujúcimi spôsobmi.

    Výstup desiatkovej reprezentácie hodnoty I, počnúc od pozície kurzora (I):

    Výstup desiatkovej reprezentácie hodnoty I na pozície úplne vpravo v poli šírky p (I:p):

Kde ַ je priestor.

3. Výstup desiatkovej reprezentácie hodnoty I na krajné pravé pozície poľa so šírkou p a zlomkovej časti čísla so šírkou q (I:p:q):

Príkaz WriteLn je podobný príkazu Write, ale po vytlačení poslednej hodnoty v zozname pre aktuálny príkaz WriteLn sa kurzor presunie na začiatok nasledujúceho riadku. Príkaz WriteLn napísaný bez parametrov spôsobí posun riadkov.

Ak nie je dostatočný počet pozícií na zobrazenie, číslo alebo text sa zobrazí celé a formát sa ignoruje, s výnimkou formátu na zobrazenie zlomkovej časti čísla. Ak nie je zadaný výstupný formát, potom sa hodnoty celočíselných a reťazcových premenných vypíšu celé a skutočné - s počtom číslic zodpovedajúcim typu premennej, napr.

a:=5,12345678912345678912345; Writeln("a=", a); zobrazí správu na obrazovke.

Zhrnutie otvorenej hodiny v 8. ročníku „Lineárne programy v Pascale“ (operátory vstupu a výstupu)

Téma lekcie: „Lineárne programy v Pascale“ (vstupné a výstupné príkazy)

Účel lekcie: študovať základné operátory programovacieho jazyka Pascal, syntax, sémantiku a tiež naučiť študentov používať tieto operátory pri riešení problémov.

Ciele lekcie:

  • vzdelávacie:
  • pochopenie operátorov a oblastí ich použitia zo strany študentov;
  • rozvíjanie zručností v písaní vyhlásení v programovacom jazyku Pascal;
  • rozvíjanie zručností v písaní programov, ktoré implementujú lineárne algoritmy na riešenie problémov;
  • vyvíja:
  • rozvoj logického a algoritmického myslenia študentov;
  • rozvoj kognitívnej činnosti u študentov;
  • rozvoj pamäti a pozornosti;
  • rozvoj komunikačnej kompetencie u študentov;
  • rozvíjanie počítačovej gramotnosti žiakov a potreby získavania vedomostí;
  • vzdelávacie:
  • vštepovať študentom zručnosti samostatnej práce;
  • pestovanie starostlivého prístupu k počítačovej technológii;
  • výchova k tolerancii.

Typ lekcie: lekcia učenia sa nového materiálu.

Formy a metódy výučby:slovné, vizuálne, praktické, problémové - frontálne kladenie otázok, práca na počítači.

Celkový čas: 45 minút.

Miesto lekcie:učebne informatiky.

Vybavenie lekcie:počítačová prezentácia „Základné operátory jazyka Pascal“, multimediálny projektor, interaktívny kurz „Základy programovania v Turbo Pascal“ od vydavateľstva „Equilibrium“, počítače s nainštalovaným balíkom Turbo Pascal, reproduktory, didaktické materiály.

Plán lekcie

  1. Organizačný moment – ​​1 min.
  2. Úvodné slovo – 1 min.
  3. Aktualizácia vedomostí a zručností študentov – 8 min.
  4. Učenie sa nového materiálu – 15 min.
  5. Upevnenie učiva Práca na počítači – 15 min.
  6. Záver – 3 min.
  7. Zadanie domácej úlohy – 2 min.

Počas vyučovania

1. Rozhovor s dôstojníkom. Ahoj.

Kto má dnes službu? Ktorí žiaci chýbajú na vyučovaní?

2. Úvodné slovo. Dnes sa v lekcii zoznámime so základnými operátormi programovacieho jazyka Pascal. V akých prípadoch sa tieto operátory používajú a aký formát zaznamenávania týchto operátorov sa dozviete v dnešnej lekcii.

3. Aktualizácia vedomostí a zručností žiakov.Vedomosti a zručnosti študentov sa aktualizujú počas frontálneho prieskumu, počas ktorého budú musieť odpovedať na nasledujúce otázky:

  1. Definujte lineárny algoritmus.
  2. Štruktúra lineárneho algoritmu.
  3. Uveďte príklady lineárnych algoritmov.
  4. Zapíšte si formát hlavičky programu.

4. Štúdium nového materiálu.

Študenti si môžu vypočuť interaktívny tréningový kurz „Základy programovania Turbo Pascal“ – Úvod do Turbo Pascal\Input and Output Operators, urobiť si základnú osnovu – zapísať si formát a vývojový diagram do zošita a odpovedať na otázky:

  1. V akých prípadoch sa používa operátor Read a v ktorých Readln?
  2. Aký je rozdiel medzi príkazmi Write a Writeln?
  3. Základné postupy a funkcie CRT modulu.

Princíp vykonávania operátorov a príklady riešenia niektorých problémov.

Začnime tým, že sa pozrieme na príklad programu:

Nájdite súčet a súčin 3 celých čísel zadaných z klávesnice.

Program bude vyzerať takto:

Program summa (vstup, výstup);

Var a,b,c,s,p:integer;

Začať

Napíšte('zadajte 3 celé čísla');

Readln(a,b,c);

S:=a+b+c; P:=a*b*c;

Writeln(‘súčet zadaných čísel je‘,s);

Writeln('súčin zadaných čísel je',p);

Koniec.

Upozorňujeme žiakov na rôzne formy zaznamenávania postupu vyvodzovania a uvádzame materiál.

Zadávanie údajov sa vykonáva pomocou procedúrčítaj a čítaj ;

Formát záznamu:

Čítať (názvy premenných); čítaj(a,b,c);

Pri použití tohto postupu po zadaní hodnôt premenných zostáva kurzor na rovnakom riadku, to znamená, že ďalší vstup alebo výstup začína na rovnakom riadku.

Readln(názvy premenných); readln(a,b,c);

Pri použití tohto postupu sa po zadaní údajov kurzor presunie na nový riadok a ďalší vstup alebo výstup sa vykoná z nového riadku.

Výstup sa vykonáva pomocou postupov písať, písať.

Formát záznamu:

Napíšte('text', názvy premenných:m:n);

writeln('text', názvy premenných:m:n);

Tieto procedúry fungujú rovnakým spôsobom ako vstupné procedúry.

Parametre m a n určujú výstupný formát. Pre premenné celočíselného typu je zadaný iba parameter m, pre premenné typu real možno zadať oba parametre v závislosti od požadovaného výstupného formátu, pre znakové a reťazcové premenné iba m.

Potom prejdeme k štúdiu postupov a funkcií dostupných v module CRT.

Študentom dávame základné postupy a funkcie modulu.

Postupy:

Clrscr (čistá obrazovka) – zatemnenie obrazovky (vymazanie výstupného okna).

Gotoxy(m,n) – umiestnenie kurzora na pozíciu m riadku n.

Trxtbackground(c) – nastavenie farby pozadia; c je konštanta, ktorá určuje farbu (číslo od 0 do 7).

Farba textu(c) – nastavenie farby písma; c môže nadobúdať hodnoty od 0 do 7.

Ohraničiť – vymazanie riadku, v ktorom sa nachádza kurzor. Všetky riadky pod vymazaným riadkom sa posunú o jeden riadok nahor.

Insline – pridanie prázdnych riadkov na pozíciu kurzora, všetky riadky za kurzorom sa posunú o jeden riadok nadol.

Oneskorenie (n) – pozastaviť vykonávanie programu na n milisekúnd.

Zvuk (n) – spustenie generátora zvuku s frekvenciou tónu n Hz.

Žiadny zvuk vypnutie zvukového signálu.

Funkcie:

Stlačené tlačidlo – hodnota funkcie môže mať dve hodnoty: true alebo false. Pravda, ak v schránke nie sú žiadne znaky, inak nepravda.

Readkey – zadávanie znakov z klávesnice bez ich zobrazenia na obrazovke.

Vysvetlenie použitia týchto postupov a funkcií bude stručné. Študenti sa v tomto prípade musia naučiť iba to, aké postupy a funkcie existujú, aký majú formát a na čo slúžia. Úplnejšie zoznámenie s nimi bude počas laboratórnych prác.

5. Konsolidácia študovaného materiálu. Práca na počítačochNa upevnenie študovaného materiálu sú študenti požiadaní o absolvovanie laboratórnych prác.

Podstatou práce je, že študenti načítajú učiteľom zadané súbory do systémového editora a podľa pokynov programu analyzujú jeho obsah a naučia sa, ako fungujú určité postupy.

Úlohy, ktoré študenti v tejto fáze plnia:

Problém 1

Obdobie programu;

Usescrt;

Var a,b,c,d,p:real;

Začať

Writeln(‘Zadajte dĺžky strán lichobežníka a,b,c,d‘);

Readln(a,b,c,d);

P:=a+b+c+d;

Writeln('obvod=',p);

Writeln('pre návrat do editora stlačte ľubovoľnú klávesu');

Opakujte, kým nestlačíte klávesrd;

Koniec.

Prezrite si text programu a zistite, čo robí;

Spustite program na vykonanie;

Pozrite sa pozorne na výstupný výsledok;

Vstúpte do editora a:

Po spustení vložte procedúru gotoxy(25,5);

V procedúre writeln, ktorá zobrazuje hodnotu obvodu na obrazovke, zmeňte záznam p na p:7:2;

Spustite ho na vykonanie a zistite, čo sa zmenilo v programovom robote.

Problém 2

Program dvij;

Usescrt,graph;

Var i,j,x:integer;

Začať

i:=detekcia; initgraph(i,j,‘‘); zvuk (400);

pre x:=0 až 640 do

začať

setcolor(5); kruh (x, 100,5); oneskorenie(300); setcolor(0);

koniec;

žiadny zvuk

koniec.

Bežať na popravu;

Sledujte vykonávanie;

Po návrate do editora zmeňte hodnotu parametra v procedúre zvuku zo 400 na 800, hodnotu parametra v procedúre delay z 300 na 1000;

Reštartujte program;

Analyzujte, ako zmeny ovplyvnili fungovanie programu.

Ak trieda rýchlo splní úlohy, môžete dať deťom príležitosť experimentovať s týmito programami.

6. Záver. Hodiny sú zhrnuté, práca každého študenta je analyzovaná a hodnotená.

odraz:
- Cítili ste sa dnes v triede dobre?
- Čo nové ste sa naučili v dnešnej lekcii?
- S akými konkrétnymi ťažkosťami ste sa stretli?
- Ktoré úlohy sa vám zdali jednoduché?

7. Zadanie domácej úlohy.

  1. Naučte sa podporné poznámky.
  2. Nájdite cenu daného množstva látky. Cena a množstvo sa zadávajú z klávesnice. Vytvorte vývojový diagram a program na riešenie problému.
  3. Hodnoty premenných sú uvedené: a=12; b = 5. Aké budú hodnoty týchto premenných po vykonaní nasledujúceho fragmentu programu:

a) a:=b; b:=a; c:= a+b;

b) f:=y; y:=x; x:=f; c:=a+b.


Ako je organizovaný vstup/výstup dát z koncového zariadenia? Na začiatok (kto nevie), definujme koncové zariadenie. Koncovým zariadením je klávesnica, displej, t.j. s čím používateľ zvyčajne pracuje. Ktoré existujú? Operátory vstupu/výstupu Pascal?

Vstup údajov Pascal:

Ako zadať údaje v jazyku Pascal? Veľmi ľahké a jednoduché! Zadávanie počiatočných údajov v jazyku Pascal sa vykonáva procedúrou readln:

readln(b1,b2,…,bk)

V tomto príklade procedúra readln načíta k hodnôt zdrojových údajov a tieto hodnoty priradí premenným b1, b2,..., bk s novým riadkom (podobná procedúra čítania sa líši od readln tým, že neprechádzať na ďalší riadok). Pri zadávaní údajov v Pascale dochádza k zvláštnej transformácii vonkajšej formy na vnútornú, ktorá je určená typom premenných.

Premenné zahrnuté v zozname vstupov môžu byť rôznych typov: celé číslo, skutočné číslo, znak. Čítanie boolovských údajov však v Pascale nie je povolené. Zdrojové údaje (t.j. ich hodnoty) sa od seba oddeľujú stlačením kláves Enter a Tab, medzerami (pri zadávaní údajov je neprijateľné oddeľovať čísla čiarkami).

Výstup údajov Pascal:

Teraz si povedzme o výstupe údajov v jazyku Pascal. Na zobrazenie výstupu vášho programu na obrazovke zvyčajne používate dva postupy:

napísať (b1,b2,...bk)— vypíše hodnoty premenných b1, b2,…, bk na riadok obrazovky.

writeln(b1,b2,…, bk)- vytvára výstup údajov na obrazovke a prechod na začiatok nasledujúceho riadku.

Procedúru writeln je možné použiť bez parametrov a jednoducho preskočí pôvodný riadok a presunie sa na začiatok ďalšieho. Vo výstupnom zozname môžu byť premenné niekoľkých typov: celočíselné, skutočné, znakové alebo boolovské. Prvky výstupného zoznamu zahŕňajú aj výrazy a reťazce. Forma prezentácie hodnôt vo výstupnom poli zodpovedá typu premenných a výrazov:

  • celočíselné hodnoty sa vydávajú ako celé desatinné čísla,
  • hodnoty reálneho typu sú reprezentované ako reálne desatinné čísla s desatinným exponentom,
  • hodnoty typu znaku a reťazce sa vydávajú ako znaky,
  • hodnoty logického typu - vo forme true a false (logické konštanty).

Výstupný operátor vytvára možnosť nastaviť šírku výstupného poľa pre každý prvok výstupného zoznamu, ktorý bude vyzerať takto: A:K, kde A je reťazec alebo výraz, K je výraz alebo celočíselná konštanta. V tomto prípade nastávajú dve situácie:

  1. Ak výstupná hodnota zaberá menej pozícií vo výstupnom poli ako K, umiestnia sa pred ňu medzery.
  2. Ak sa hodnota nezmestí do poľa K, potom sa tejto hodnote priradí požadovaný počet pozícií.

Prvok výstupného zoznamu pre hodnoty reálneho typu môže mať tvar: A:K:M, kde A je výraz reálneho typu alebo premenná, K je šírka výstupného poľa (výraz alebo konštanta), M je počet číslic zlomkovej časti výstupnej hodnoty (výraz alebo konštanta) . V tejto situácii sa skutočné hodnoty vydajú ako desatinné číslo s pevnou desatinnou čiarkou. Predstavme si príklad písania výstupných príkazov:

Ak si pamätáte, pri zvažovaní príkladu operátora priradenia sme čelili potrebe zistiť výsledok vykonávania programu. Prišli sme na to, ako ukladať informácie (v premenných), ako ich spracovávať (pomocou výrazov), ale dva základné informačné procesy zostali mimo našej pozornosti: prijímanie informácií a ich prenos do sveta mimo počítača. Zatiaľ naše programy dokážu využívať iba informácie, ktoré sa nachádzajú priamo v texte programu. Nebolo tiež možné zistiť, aké hodnoty majú premenné momentálne. Programovanie v takýchto podmienkach stráca zmysel.

Interakcia zariadení na spracovanie a ukladanie informácií s vonkajším prostredím (aspoň s používateľom) je absolútne nevyhnutná. V Pascale sú za takéto rozhranie zodpovední operátori vstupu/výstupu informácií. Tieto pokyny vám umožňujú zadávať argumenty a parametre výpočtu počas vykonávania programu (a nie vo fáze jeho písania) a vydávať vypočítané údaje vo forme zrozumiteľnej pre ľudí.

Najprv vstupné príkazy (formáty príkazov):

Čítať(<Список ввода>);

Readln(<Список ввода>);

V tomto formáte tieto príkazy umožňujú zadávanie údajov do premenných počas vykonávania programu z klávesnice. Prvky vstupného zoznamu môžu byť názvy premenných, ktoré musia byť vyplnené hodnotami zadanými z klávesnice.

Vykonávanie vstupných príkazov prebieha nasledovne: program je pozastavený, na obrazovke sa zobrazí kurzor a počítač očakáva, že používateľ poskytne súbor údajov pre premenné, ktorých názvy sú uvedené v zozname vstupov. Používateľ zadá požadované hodnoty z klávesnice v poradí, v akom ich vyžaduje vstupný zoznam, a stlačí Enter. Potom zadané údaje prejdú do zodpovedajúcich premenných a vykonávanie programu pokračuje.

Poznámka: Zadané údaje sú oddelené medzerami.

Rozdiel medzi fungovaním procedúr Read a Readln (z riadku Read) je nasledovný: po vykonaní Read sa načíta hodnota ďalších údajov z toho istého riadku a po vykonaní Readln - z nového riadku.

Existujú tiež dva príkazy na zobrazenie informácií v jazyku Pascal:

Napíšte (<Список вывода>);

Writeln(<Список вывода>);

Tento formát používania Write a Writeln vám umožňuje zobraziť údaje zo zoznamu výstupov na obrazovke monitora. Prvky výstupného zoznamu môžu byť názvy premenných, výrazy a konštanty. Pred zobrazením hodnôt výrazov na obrazovke ich počítač najskôr vypočíta. Prvky zoznamu, ako vo vstupných príkazoch, sú oddelené čiarkami.

Rozdiel medzi týmito dvoma výstupnými operátormi je nasledovný: po vykonaní operátora Writeln (z riadku Write) dôjde k prechodu na nový riadok a po vykonaní inštrukcie Write k prechodu na nový riadok nedochádza a tlač na následnom riadku Výstupné príkazy Write alebo Writeln sa vyskytnú na rovnakom riadku. Pri volaní operátora Writeln bez parametrov jednoducho preskočí na nový riadok.

Tu je príklad použitia operátorov vstupu a výstupu:

Rozhranie programu;

Napíšte("Zadajte polomer kruhu"); (Tlač na obrazovke so žiadosťou o zadanie)

Readln(R); (Zadanie hodnoty do premennej R z klávesnice)

S:=4*ARCTAN(1)*SQR(R); (Výpočet plochy kruhu (pR2))

Writeln("Oblasť kruhu s polomerom ",R," je ",S)

Tento program sa pýta používateľa na polomer kruhu, poskytuje možnosť zadať jeho hodnotu, vypočítava a zobrazuje plochu kruhu s týmto polomerom. Takto je možné bez zmien v texte programu zadať rôzne hodnoty polomeru a získať zodpovedajúce hodnoty kruhovej plochy. Ak to chcete urobiť, stačí spustiť program niekoľkokrát. Tento program tiež demonštruje nasledujúce pravidlo: výstup výsledkov by mal byť komentovaný, aby bol jasný význam vytlačených čísel. V skutočnosti by sme sa mohli obmedziť na Writeln(S), ale význam čísla výstupného programom by v tomto prípade bol jasný iba tomu, kto program napísal.

VSTUPNÉ A VÝSTUPNÉ OPERÁTORY

Zoberme si organizáciu vstupu a výstupu dát z koncového zariadenia. Koncové zariadenie je zariadenie, s ktorým používateľ interaguje, zvyčajne obrazovka (displej) a klávesnica. Na vstup a výstup dát sa používajú štandardné vstupné a výstupné procedúry Read and Write, ktoré pracujú so štandardnými sekvenčnými súbormi INPUT a OUTPUT.

Tieto súbory sú rozdelené do riadkov s premenlivou dĺžkou, ktoré sú od seba oddelené zakončením riadku. Koniec riadku je určený stlačením klávesu ENTER.

Na zadanie zdrojových údajov sa používajú operátory vstupných procedúr:

Čítať(A1,A2,...AK);

ReadLn(A1,A2,...AK);

Prvý z nich implementuje čítanie K hodnôt zdrojových údajov a priradenie týchto hodnôt k premenným A1, A2, ..., AK. Druhý operátor implementuje čítanie K hodnôt zdrojových údajov, preskakovanie zostávajúcich hodnôt na začiatok nasledujúceho riadku a priraďovanie načítaných hodnôt premenným A1, A2, ..., AK. Tretí operátor implementuje preskočenie riadku zdrojových údajov.

Pri zadávaní zdrojových údajov dochádza k transformácii z vonkajšej formy zobrazenia na vnútornú, určenú typom premenných. Premenné, ktoré tvoria vstupný zoznam, môžu byť celočíselné, skutočné alebo znakové. Čítanie boolovských zdrojových údajov v jazyku PASCAL nie je povolené.

Vstupné príkazy pri čítaní hodnôt premenných typu integer a reálneho typu preskočia medzery pred číslom. Tieto operátory zároveň nepreskakujú medzery pred hodnotami znakových premenných, pretože medzery sú rovnaké znaky v reťazcoch. Príklad písania vstupných príkazov:

var rV, rS: Real;

iW, iJ: celé číslo;

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

Read(rV, rS, iW, iJ);

Hodnoty zdrojových údajov je možné od seba oddeliť medzerami a stlačením kláves Tab a Enter.

Na zobrazenie výsledkov programu na obrazovke sa používajú nasledujúce operátory:

Zapis(A1,A2,...AK);

WriteLn(A1,A2,...AK);

Prvý z týchto operátorov implementuje výstup hodnôt premenných A1, A2,...,AK na riadok obrazovky. Druhý operátor implementuje výstup hodnôt premenných A1, A2, ..., AK a prechod na začiatok ďalšieho riadku. Tretí operátor implementuje preskočenie riadku a presun na začiatok nasledujúceho riadku.

Premenné, ktoré tvoria výstupný zoznam, môžu byť celočíselné, skutočné, znakové alebo boolovské typy. Okrem názvov premenných môžu byť ako prvok výstupného zoznamu použité aj výrazy a reťazce.

Každá hodnota sa vypíše na riadok obrazovky v súlade so šírkou výstupného poľa, určenou špecifickou implementáciou jazyka.

Forma zobrazenia hodnôt vo výstupnom poli zodpovedá typu premenných a výrazov: hodnoty typu integer sa vydávajú ako desiatkové celé čísla, reálneho typu - ako reálne desatinné čísla s desiatkovým poradím, znaku typ a reťazec - ako znaky, logického typu - ako logické konštanty TRUE a FALSE.

Operátor výstupu vám umožňuje nastaviť šírku výstupného poľa pre každý prvok zoznamu výstupov. V tomto prípade má prvok výstupného zoznamu tvar A:K, kde A je výraz alebo reťazec, K je výraz alebo celočíselná konštanta. Ak výstupná hodnota zaberá menej pozícií vo výstupnom poli ako K, potom sa pred touto hodnotou umiestnia medzery. Ak sa zobrazená hodnota nezmestí do šírky poľa K, potom sa pre túto hodnotu pridelí požadovaný počet pozícií. Pre hodnoty reálneho typu môže mať prvok výstupného zoznamu tvar A:K:M, kde A je premenná alebo výraz reálneho typu, K je šírka výstupného poľa, M je číslo číslic zlomkovej časti výstupnej hodnoty. K a M sú výrazy alebo konštanty celočíselného typu. V tomto prípade sa skutočné hodnoty vydávajú v desatinnej forme s pevnou desatinnou čiarkou. Príklad písania výstupných príkazov:

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

var rA, rB: Real; iP,iQ:Integer;

bR, bS: boolovská hodnota; chT, chV, chU, chW: Char;

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

WriteLn(rA, rB:10:2);

WriteLn(iP, iQ:8);

WriteLn(bR, bS:8);

WriteLn(chT, chV, chU, chW);

Tagy. Operátor bezpodmienečného skoku.

Každý dom na ulici má svoje číslo, všetci ľudia majú svoje mená, dokonca aj pamäťové bunky počítača majú každý svoju adresu. Toto všetko je brané na to, aby bolo možné jednoznačne označiť definovaný objekt. Podobne sa štítky používajú na označenie príkazov v programoch.

Označenie v štandarde jazyka Pascal je nezáporné celé číslo. Všetky štítky použité v programe musia byť uvedené v časti popisu štítkov, začínajúc servisným slovom Štítok, napríklad:

Jedným štítkom môže byť označený len jeden operátor. Označenie je od označeného výroku oddelené dvojbodkou.

6: Writeln(14/2);

Vo všetkých predchádzajúcich programoch sa príkazy vykonávali jeden po druhom v poradí, v akom boli napísané v texte. Táto algoritmická štruktúra sa nazýva priama postupnosť. V jazyku Pascal však spočiatku existuje operátor, ktorý narúša lineárne vykonávanie programu a prenáša riadenie do ľubovoľného bodu. Táto inštrukcia sa nazýva nepodmienený skok a má nasledujúci formát:

Ísť do<метка>;

Operátor, ku ktorému dochádza k prechodu, musí byť označený týmto štítkom.

Operátor bezpodmienečného skoku by sa mal používať s mimoriadnou opatrnosťou, aby sa predišlo získaniu chybných výsledkov alebo úplnému zacykleniu programu. Vo všeobecnosti sa používanie tohto príkazu medzi programátormi považuje za zlú formu. Ako uvidíte, vždy sa to dá zaobísť aj bez toho.

PRVKY ŠTRUKTÚROVANÉHO PROGRAMOVANIA

Štruktúrovaný program (alebo podprogram) je program zložený z pevnej množiny základných konštruktov. Uvažujme o základných definíciách a metódach vytvárania týchto konštrukcií v algoritmických schémach.

Z operácií, vidlíc a fúzií sa budujú základné štruktúry: sledovanie, vetvenie, cyklus. Pomocou iba týchto troch konštrukcií môžete implementovať algoritmus na riešenie akéhokoľvek problému.

Konštrukcia, ktorá predstavuje postupné vykonávanie dvoch alebo viacerých operácií, sa nazýva nasledujúci.

Konštrukcia pozostávajúca z vidlice, dvoch operácií a zlúčenia sa nazýva vidlica. Jedna z operácií môže chýbať.

Návrh, ktorý má riadiace línie vedúce k predchádzajúcim operáciám alebo vetvám, sa nazýva slučka.

Nasledujúce konštrukty vetvenia a slučky možno považovať za operácie, pretože majú jeden vstup a jeden výstup. Ľubovoľná postupnosť operácií môže byť reprezentovaná ako jedna operácia.

Operáciu môže implementovať ľubovoľný operátor jazyka PASCAL (jednoduchý alebo zložený), alebo skupina operátorov, s výnimkou operátora prechodu GOTO.

V jazyku PASCAL sa počet základných štruktúr zvýšil na šesť, a to:

Sledovanie;

Vetvenie;

Slučka s predpokladom;

Slučka s dodatočnou podmienkou;

Slučka s parametrom;

Podmienený operátor

Jednou z hlavných algoritmických štruktúr je vetvenie (alternatívne).

Ak je podmienka splnená, vykoná sa pokyn „1“, ak nie, vykoná sa pokyn „2“. Aj keď sú v okruhu dve akcie, vykoná sa iba jedna, pretože podmienka je buď nepravdivá alebo pravdivá. Tretia neexistuje. Táto schéma vám umožňuje riešiť problémy, pri ktorých musíte v závislosti od prevládajúcich okolností vykonať jednu alebo druhú akciu. Niet pochýb o tom, že počet problémov tohto druhu je obrovský. Navyše je veľmi ťažké vymyslieť skutočne významnú úlohu, ktorej vykonávací algoritmus by obsahoval jednoduchú priamu sekvenciu príkazov. Dokonca ani primitívny príklad z kurzu matematiky, ako uvidíte, nemožno vyriešiť bez použitia vetvenia. Je teda potrebné vypočítať hodnotu výrazu y=1/x. Viete, že daná funkcia nemá vždy hodnotu, to znamená, že nie všetky hodnoty argumentov majú výslednú hodnotu. Našou úlohou je zostaviť algoritmus tak, aby sa exekútor nikdy nedostal do slepej uličky, ani keď dostane nulu ako argument. Nie je ťažké to sformulovať v prirodzenom jazyku:

1. Získajte hodnotu x.

2. Ak x=0, oznámte, že výraz nemá žiadnu hodnotu, inak vypočítajte y ako 1/x.

Týmto spôsobom sa používa vyššie uvedená algoritmická štruktúra. Dá sa to vyjadriť jednoduchými slovami:

Ak<усл.>(Ak je podmienka splnená)

To<действие 1>(potom vykonajte akciu číslo 1)

inak<действие 2>(inak - vykonajte akciu č. 2)

Ako to napísať v Pascale? Áno, presne to isté, len v angličtine.

Formát podmieneného operátora v jazyku Pascal:

Ak<условие>

Potom<оператор 1>

Inak<оператор 2>;

Všimnite si prosím, že v častiach Potom a Inak je len jeden výrok. Čo však robiť, aby ste vyriešili problém, v ktorom na splnenie alebo nesplnenie podmienky musíte vykonať nie jednu, ale niekoľko akcií? Tu prichádza na pomoc zložený operátor, ktorého už poznáte. Do zátvoriek operátorov môžete uzavrieť ľubovoľný počet operátorov.

Variant podmieneného operátora v tomto prípade:

Ak<условие>

Potom Začnite<группа операторов 1>koniec

Inak začnite< группа операторов 2>koniec;

Bodkočiarka sa neumiestňuje pred funkčným slovom Else, ale výroky v skupinách sú od seba prirodzene oddelené touto bodkočiarkou.

Teraz si povedzme o podmienkach. V programoch Pascal sú podmienky výrazy, ktorých hodnota je booleovská hodnota. Môže to byť buď jednoduchá premenná zadaného typu, alebo zložitá postupnosť príkazov spojených logickými operáciami.

V jednoduchých podmienkach možno použiť porovnávacie operátory: >(väčšie ako),<(меньше), =(равно), <>(nerovná sa), >= (väčšie alebo rovné),<=(меньше или равно).

Príklady jednoduchých podmienok: A=5 (hodnota premennej A je 5)

(C+D3)>=(D1*(45-2)) (Hodnota výrazu na ľavej strane je väčšia alebo rovná hodnote výrazu na pravej strane)

S<>"ABC" (hodnota premennej S sa nerovná reťazcovej konštante "ABC")

Uveďme príklad riešenia iného problému: "Vyberte najväčšie z dvoch čísel."

Riešenie je na prvý pohľad zrejmé, no nie je také triviálne, ako sa zdá.

Príklad programu;

Var A,B,C: Skutočné; (A,B - na ukladanie argumentov, C - výsledok)

Writeln("Zadajte dve čísla");

Readln(A,B); (Zadajte argumenty z klávesnice)

Ak A>B Potom C:=A Inak C:=B; (Ak A>B, potom je výsledok A, inak je výsledok B)

WriteIn(C); (Výsledok zobrazíme na obrazovke)

Ďalší klasický príklad: "Vyriešte kvadratickú rovnicu pomocou daných koeficientov." Táto úloha je zložitejšia, preto si pred písaním programu vytvorme algoritmus, ktorý napíšeme vo forme blokového diagramu, najskôr zadáme koeficienty, potom vypočítame diskriminant. Teraz vyvstávajú dve možnosti: buď neexistujú žiadne skutočné korene v prípade negatívneho diskriminantu, alebo sa tieto korene môžu stále vypočítať a zobraziť v prípade nezáporného diskriminantu (tu je zahrnutý prípad, keď sa diskriminant rovná nule , sú dva korene, len sú rovnaké J).

Pri písaní algoritmu v programovacom jazyku by ste mali vziať do úvahy, že vo vetve „nie“ nie je jedna akcia, ale tri, takže by ste mali použiť zložený operátor. Nezabudnite napísať aritmetické výrazy v súlade s pravidlami jazyka Pascal. Inak tento program nie je o nič komplikovanejší ako predchádzajúci.

Var A, B, C, D, X1, X2: skutočný;

Writeln("Zadajte koeficienty kvadratickej rovnice");

Ak D<0 Then Writeln ("Корней нет! ")

X1:=(-B+SQRT(D))/2/A;

X2:=(-B-SQRT(D))/2/A;

Je zaujímavé, že podmienený operátor môže pôsobiť ako operátor, ktorý sa vykoná, keď je alebo nie je splnená podmienka. V tomto prípade hovoríme o vnorení podmienených príkazov. Pri riešení problémov tohto druhu dôrazne odporúčam zostaviť si vývojový diagram algoritmu v notebooku. Až potom pri skladaní programu stačí najprv pozorne vypísať celú časť Potom a potom prejsť na časť Else. Pri písaní podmienených príkazov v jazyku Pascal (najmä s viacerými vetvami) sa príkazy zvyčajne píšu s odsadením doprava a nadol. To zvyšuje viditeľnosť a verte mi, znižuje stratu času pri ladení.

Na ilustráciu vyriešme ďalší problém: „vyriešte rovnicu v tvare A*x^2 + B*x + C = 0“. Prosím, nemýľte si to s kvadratickou rovnicou, o ktorej sme vedeli, že koeficient A sa nerovná nule. Tu môžu byť koeficienty ľubovoľné čísla. Na základe elementárnej matematickej úvahy získame nasledujúci algoritmus:

Var A, B, C, D, X, X1, X2: skutočný;

Writeln("Zadajte koeficienty rovnice (A, B, C)");

Ak C=0, potom Writeln("X je ľubovoľné číslo")

Else Writeln("Bez koreňov!")

Inak Začať X:=-C/B; Writeln("X=",X:8:3) Koniec

Ak D<0 Then Writeln ("Корней нет! ")

X1:=(-B+SQRT(D))/2/A;

X2:=(-B-SQRT(D))/2/A;

Writeln("X1=", X1:8:3, " X2=",X2:8:3)

Cyklus. Typy cyklov.

Cyklus je opakované opakovanie toho istého typu akcie. Telo cyklu budú tie isté akcie, ktoré je potrebné mnohokrát opakovať.

Ako viete, rovnaké akcie môžete zopakovať pomocou operátora bezpodmienečného skoku. Ak tieto akcie zapíšete do programu jednu po druhej a na konci umiestnite operátor skoku na začiatok tohto bloku. Takto však môžete získať iba program, ktorý beží navždy (slučky). Tomu sa dá vyhnúť použitím podmieneného operátora spolu s operátorom prechodu, čím sa vykonanie prechodu stane závislým od splnenia určitej podmienky. Získame tak štruktúru podmieneného skoku a schopnosť zorganizovať záverečnú slučku. Všeobecne povedané, týmto spôsobom môžeme vyriešiť takmer každý problém, ktorý vyžaduje implementáciu cyklického algoritmu. Samozrejme, len s jednou sekerou môžete postaviť dom. Položme si nasledujúce otázky: "Bude tento dom krásny? Koľko času a úsilia môžete ušetriť používaním všetkých druhov špeciálnych nástrojov?" Prečo? - Pre pohodlie, stručnosť, ľahké čítanie programu a, dovolím si povedať, krásu. Existujú teda tri typy slučiek, ktoré majú svoje vlastné operátory Pascal na ich zapisovanie. Tieto typy majú svoje vlastné konvenčné názvy: „Zatiaľ“, „Pred“, „S parametrom“. Odlišujú sa od seba a každý sa používa na svoju vlastnú triedu úloh.

cyklus "BYE".

Skupina operátorov nazývaná „telo slučky“, súdiac podľa tohto diagramu, bude vykonaná, pokiaľ je podmienka slučky pravdivá. Cyklus sa ukončí, keď podmienka už nie je pravdivá.

Ak je podmienka na začiatku nepravdivá, telo cyklu sa nevykoná ani raz. Ak je podmienka na začiatku pravdivá a v tele cyklu nie sú žiadne akcie, ktoré ovplyvňujú pravdivosť tejto podmienky, telo cyklu sa vykoná nekonečne veľakrát. Táto situácia sa nazýva "looping". Cyklický program môže byť prerušený buď príkazom (stlačením Ctrl+C), alebo núdzovým zastavením samotného programu, v prípade pretečenia premennej, delenia nulou a pod., preto by sa štruktúra cyklu mala používať s opatrnosť, dobre si uvedomujúc, že ​​opakované vykonávanie by sa niekedy malo skončiť.

V Pascal je štruktúra cyklu While napísaná takto:

Zatiaľ čo<условие>Do<оператор>;

Naozaj, stručne? V ruštine to možno čítať takto: „Pokiaľ je podmienka pravdivá, vykonajte príkaz. Tu, rovnako ako vo formáte podmieneného príkazu, sa má vykonať iba jeden príkaz. Ak je potrebné vykonať viacero akcií, možno použiť zložený operátor. Potom má formát operátora nasledujúci tvar:

Zatiaľ čo<условие>Do

<оператор #1>;

<оператор #2>;

<оператор #3>;

Cyklus "PRED"

Tento typ slučky sa od predchádzajúceho líši najmä tým, že kontrola podmienky opakovania tela slučky nie je pred ním, ale až po ňom. Preto sa cyklus „Pred“ nazýva cyklus „s dodatočnou podmienkou“ a „Kým“ sa nazýva cyklus „s predbežnou podmienkou“.

Všimnite si tiež, že nová iterácia (opätovné vykonanie tela slučky) nastane nie vtedy, keď je podmienka pravdivá, ale práve vtedy, keď je nepravdivá. Preto dostal cyklus svoje meno (vykonávajte telo cyklu, kým nie je splnená zodpovedajúca podmienka).

Zadávanie údajov- Ide o prenos informácií z externých zariadení do RAM. Spravidla sa zadávajú počiatočné údaje riešeného problému. Záver- spätný proces, kedy sú dáta prenášané z RAM na externé médium (tlačiareň, displej, magnetické zariadenia atď.). Výsledky riešenia akéhokoľvek problému musia byť zobrazené na jednom z týchto médií.

Hlavnými vstupnými/výstupnými zariadeniami osobného počítača sú klávesnica a displej (obrazovka monitora). Prostredníctvom týchto zariadení prebieha hlavne dialóg medzi osobou a PC.

operátor čítania vstupu

Postup zadávania klávesnice (volanie štandardného vstupu) má nasledujúci formát:

Čítať(<список ввода>)

Kde<список ввода>je postupnosť názvov premenných oddelených čiarkami. Pri zadávaní zdrojových údajov dochádza k transformácii z vonkajšej formy zobrazenia na vnútornú, určenú typom premenných. Premenné, ktoré tvoria vstupný zoznam, môžu byť celočíselné, skutočné alebo znakové. Čítanie boolovských zdrojových údajov nie je v Pascale povolené. Hodnoty zdrojových údajov je možné od seba oddeliť medzerami a stlačením klávesov Tab a Zadajte.

Ak je v programe niekoľko príkazov čítať, potom sa údaje pre ne zadávajú do streamu, t.j. po prečítaní hodnôt premenných pre jeden príkaz čítaťÚdaje pre nasledujúci výpis sa načítajú z rovnakého riadku na obrazovke ako pre predchádzajúci až do konca riadku, potom sa presunie na ďalší riadok.

Ďalším variantom operátora vstupu klávesnice je:

Readln(<список ввода>)

Tento operátor sa líši od čítať len to, že po prečítaní poslednej hodnoty v zozname pre jedného operátora readlnúdaje pre nasledujúci výpis sa budú čítať od začiatku nového riadku.

výstupný operátor zápisu

Príkaz zobrazenia (nazývajúci štandardný výstupný postup) má nasledujúci formát:

Napíšte (<список вывода>)

Premenné, ktoré tvoria výstupný zoznam, môžu byť celočíselné, skutočné, znakové alebo boolovské typy. Okrem názvov premenných môžu byť ako prvok výstupného zoznamu použité aj výrazy a reťazce. Pri zobrazení viacerých čísel na riadku nie sú oddelené medzerami. O toto rozdelenie sa musí postarať sám programátor.

Druhá možnosť zobrazenia obrazovky:

Writeln(<список вывода>)

Jeho činnosť je odlišná od operátora písať tým, že po zobrazení poslednej hodnoty v zozname sa kurzor presunie na začiatok nasledujúceho riadku. Operátor napísaťln, zapísaný bez parametrov, spôsobí posun o riadok.

Každá hodnota sa vypíše na riadok obrazovky v súlade so šírkou výstupného poľa, určenou špecifickou implementáciou jazyka. Forma zobrazenia hodnôt vo výstupnom poli zodpovedá typu premenných a výrazov: hodnoty typu integer sa vydávajú ako celočíselné desatinné čísla, typu real - ako reálne desatinné čísla s desatinným poradím, znakový typ a reťazec - vo forme znakov, logického typu - vo forme logických konštánt PRAVDA A FALSE.

Operátor výstupu vám umožňuje nastaviť šírku výstupného poľa pre každý prvok zoznamu výstupov. V tomto prípade má prvok výstupného zoznamu tvar A:K, kde A je výraz alebo reťazec, K je výraz alebo celočíselná konštanta. Ak výstupná hodnota zaberá menej pozícií vo výstupnom poli ako K, potom sa pred touto hodnotou umiestnia medzery. Ak sa zobrazená hodnota nezmestí do šírky poľa K, potom sa pre túto hodnotu pridelí požadovaný počet pozícií. Pre hodnoty reálneho typu môže mať prvok výstupného zoznamu tvar A:K:M, kde A je premenná alebo výraz reálneho typu, K je šírka výstupného poľa, M je číslo číslic zlomkovej časti výstupnej hodnoty. K a M sú výrazy alebo konštanty celočíselného typu. V tomto prípade sa skutočné hodnoty vydávajú v desatinnej forme s pevnou desatinnou čiarkou.