Jaký je rozdíl mezi readln a read. READ a READLN instrukce. Operátory Read a ReadLn

V jazyce Programování v Pascalu používají se instrukce jako read a readLn. co jsou zač?

Co je to přečtené prohlášení?

Tato instrukce je určena k zadávání různých hodnot proměnných z klávesnice PC při použití jazyka Pascal. Schéma použití příslušné instrukce vypadá jednoduše: jako čtení („proměnná hodnota“).

V praxi se instrukce čtení používá k zajištění toho, že určitá data jsou načtena ze souboru a následně přiřazeny hodnoty extrahované z odpovídajících dat do proměnných, které jsou specifikovány při volání procedury.

Pokud se uživatel při zadávání údajů zmýlí, neodpovídá žádným variabilní typ v pokynech přestane program provádět příkazy. Zároveň se na obrazovce PC objeví hlášení, že v aplikaci došlo k chybě.

Pokud programátor používá několik čtených instrukcí, pak se data nějak zadají na jeden řádek. Přechod na další je možný pouze v případě, že skončí aktuální linka. Můžete však číst informace umístěné na jiném řádku pomocí instrukce readLn. Pojďme se blíže podívat na jeho vlastnosti.

Co je to instrukce readLn?

Podstatou instrukce readLn je nastavit v programu podmínku, při které:

  • libovolné číslo zadané do řádku je přiřazeno poslední proměnné podle instrukce;
  • zbývající oblast řádku není programem zpracována, zatímco další instrukce bude vyžadovat nový vstup.

Můžete tedy zadat pokyn:

readLn(C,D); read(E);

A pokud poté zadáte z klávesnice řádek 1 2 3, pak proměnná C nabude hodnoty 1, D - 2. Ale přiřazení určitou hodnotu pro proměnnou E se program nespustí, dokud uživatel nezadá nové číslo.

Stejně jako u čteného návodu, kdy nesprávné zadání datový typ uživatelem pomocí příkazu program readLn ukončí a zobrazí zprávu oznamující, že došlo k chybě.

Srovnání

Hlavní rozdíl mezi readLn a read je v tom, že první procedura zahrnuje přesun programu na řádek souboru, který následuje po řádku, ve kterém jsou zapsány instrukce. Druhý postup umožňuje programu číst data umístěná v další řádek, pouze se svolením uživatele – pokud stiskne Enter.

V praxi se instrukce readLn nejčastěji používá k zajištění zpoždění mezi výsledkem provádění aplikace a přechodem na další instrukci. Odpovídající prodleva trvá, dokud uživatel nestiskne Enter.

Po určení, jaký je rozdíl mezi readLn a read in jazyk Pascal, zaznamenejme závěry do tabulky.

Myslím, že to bude zajímat mnoho lidí)))

číst a číst pokyny

Instrukce čtení je určena pro zadávání proměnných hodnot (počátečních dat) z klávesnice. V celkový pohled návod vypadá takto:

číst (Proměnná1, Proměnná2, ... ProměnnáN)

kde proměnné je název proměnné, jejíž hodnota musí být zadána z klávesnice během provádění programu.

Zde jsou příklady psaní instrukce pro čtení:

číst(a); read(Cena,Kol);

Po provedení příkazu read se stane následující:

1. Program pozastaví svou práci a čeká, dokud nejsou na klávesnici napsána potřebná data a není stisknuta klávesa .

2 opravy notebooků počítačů Deria ve Stavropol ITGen. . Po stisknutí klávesy zadaná hodnota je přiřazena proměnné, jejíž název je uveden ve výpisu.

Například v důsledku provedení instrukce

read(Temperat);

a zadáním řádku 21 z klávesnice bude hodnota proměnné Temperat číslo 21.

Jediný příkaz čtení může načíst hodnoty více proměnných. V tomto případě je třeba zadaná čísla napsat na jeden řádek a oddělit je mezerami. Pokud je například typ proměnných a, b a c reálný, pak v důsledku provedení instrukce read(a,b,c); a zadejte řádek z klávesnice:

4.5 23 0.17

proměnné budou mít následující hodnoty:

a = 4,5; b = 23,0; c = 0,17.

Pokud je na řádku více čísel, než je proměnných zadaných v příkazu read, bude zbytek řádku zpracován dalším příkazem read. Například v důsledku provádění pokynů

read(A,B);

read(C);

10 25 18

a vstupní řetězec klávesnice

proměnné obdrží následující hodnoty: A = 10, B = 25. Přečtěte si instrukci (C); přiřadí proměnné c hodnotu 18.

Instrukce readln se od instrukce read liší tím, že po vybrání dalšího čísla z řetězce zadaného z klávesnice a jeho přiřazení poslední proměnné ze seznamu instrukce readin se zbytek řádku ztratí a další čtení, resp. instrukce čtení bude vyžadovat nový vstup.

Například v důsledku provedení instrukce

readin(A,B);

10 25 18

proměnné získají následující hodnoty: A = 10, B = 25. Poté program počká na zadání nového čísla, aby je mohl přiřadit proměnné c.

Každé instrukci čtení nebo čtení by měla předcházet instrukce zápisu, která uživateli sdělí, jaká data od něj program očekává. Fragment programu pro výpočet ceny nákupu může například vypadat takto:

writeln("Zadejte počáteční data.");

Napište("Cena položky:");

Readln(Cena);

write("Množství v dávce:");

Readln(Kol);

napište("Sleva:");

readln(Skidka);

Pokud se typ dat zadávaných z klávesnice neshoduje nebo je nelze přetypovat na typ proměnných, jejichž názvy jsou uvedeny v příkazu read (readin), program se zhroutí (neprovedou se instrukce následující po čtení) a zobrazí se zpráva vytištěno na obrazovce o chybě.

Nacházíte se v sekci programovací materiály Pascal. Než se pustíme do programování, musíme si ujasnit některé pojmy, které budeme na začátku potřebovat. Koneckonců, nemůžete jen tak programovat. Program neumíme napsat slovy – počítač nerozumí ničemu jinému než nulám a jedničkám. Pro tento účel byla v Pascalu vytvořena speciální symbolika – jazyk Pascal, sada vyhrazených slov, která nelze použít nikde jinde ve vašich programech kromě jejich zamýšleného účelu. Vyjmenujme si základní pojmy, které budeme na začátku potřebovat:

✎ 1) program – v angličtině „program“, napsané na samém začátku kódu, za nímž následuje latinský název programu a středník. Například: naprogramovat Summa; − program s názvem Summa. Tuto část kódu, zvanou hlavička programu, ale není třeba psát – je přítomna pouze pro přehlednost a ukazuje, jaký problém řeší tento program. Zde jsme použili slovo „kód“ - tak se tomu říká zadávání textu programy.

✎ 2) integer – v angličtině znamená „celé číslo“ (nebo jednoduše „celé číslo“) a v Pascalu se používá k označení 32bitových (8 bajtů) celých čísel se znaménkem z rozsahu [-2147483648, 2147483647] . Co to znamená? velká čísla, vyřešíme to později.

✎ 3) skutečný – z angličtiny „skutečný“, „skutečný“, „skutečný“, „skutečný“. V Pascalu tento termín označuje reálná čísla z rozsahu [-1,8∙10 308, 1,8∙10 308] . To jsou velmi velká čísla, ale významné postavy 15 – 16 jsou zobrazeny datové celé číslo a skutečné v programovacím prostředí PascalABC.Net jsou vždy automaticky zvýrazněny modře.

✎ 4) const – analogie angličtiny. "konstantní", což znamená "konstantní", "konstantní". V Pascalu je to veličina, která se nemůže změnit. Píše se to takto:


Tento záznam je třeba brát tak, jak je napsán: číslo N je 12, S je 5, „pí“ je 3,14 (stejně jako v matematice se v Pascalu místo čárky používá pouze tečka). V posledním řádku jsme použili dvojité lomítko (dvě lomítka), za nímž následuje text – tak se komentáře píší v Pascalu a program je nevnímá. Vše, co začíná dvojitým lomítkem a až do konce řádku je komentář, který se píše pro vysvětlení programu a je vždy zvýrazněn jinou barvou (v PascalABC.Net je zelená; Turbo Pascal tento typ nepoužívá komentář). Existuje další typ komentáře - tento (text uzavřený ve složených závorkách, stejně jako zde, také vyniká zelený). Tento typ komentáře může být platný pro více řádků za sebou - od začátku závorky až po její uzavření a kompilátor nevnímá vše, co je uprostřed takové konstrukce jako kód, a jednoduše to přeskočí.

Ve skutečnosti formát záznamu konst trochu složitější. Podle pravidel jsme museli napsat:

1 2 3 4 konst N: zadejte celé číslo;

Popis:

")" onmouseout="toolTip()">celé číslo
= 12 ; //číslo N – celočíselný typ S: zadejte celé číslo;

Popis:
Představuje 32bitové celé číslo se znaménkem.

Rozsah hodnot: -2 147 483 648 .. 2 147 483 647")" onmouseout="toolTip()">celé číslo
= 5 ; //číslo S – celočíselný typ : typ skutečný;

Popis:
Představuje číslo s plovoucí desetinnou čárkou s dvojitou přesností.

Velikost: 8 bajtů
Počet platných číslic: 15 - 16
Rozsah hodnot: -1,8∙10 308 .. 1,8∙10 308
")" onmouseout="toolTip()">skutečné
= 3.14 ; //číslo "pi" - skutečné

Po deklaraci každé hodnoty je uveden její typ a poté je přiřazena hodnota. Ale předchozí záznam je také správné, protože kompilátor Pascal je nakonfigurován tak, že automaticky určuje typ konstanty. To samé se ale říci nedá další typčísla – proměnné.

✎ 5) var – pochází z angličtiny. „variable“ („variable“ nebo „changeable“), což v Pascalu znamená hodnotu, která může v průběhu programu měnit svou hodnotu. Píše se to takto:


Jak je patrné ze zápisu, znak „=“ zde není - proměnné stejného typu se přepočítávají (oddělují se čárkami) a za dvojtečkou je uveden pouze typ. Proměnné N, m (integer) a Q, r, t (real) v programu mohou měnit hodnoty v mezích integer a real. Ještě poznámka: popis proměnných vždy následuje za popisem konstant (konstant) - nejprve je konstrukce const a až poté var.

✎ 6) begin – v překladu z angličtiny znamená „začít“ a Pascal znamená začátek hlavního programu, ve kterém se zapisují příkazy (operátory). Po slově začít Není středník.

✎ 7) end – v angličtině. „konec“ a v Pascalu to znamená totéž (konec programu). Po posledním slově konec vždy je období. Zdůraznili jsme slovo „poslední“ kvůli použití konstrukce začátek–konec snad ještě v jednom případě: jedná se o tzv. operátorové závorky, které slouží ke spojení více operací pod jeden operátor. Ale o tom později. Takže hlavní program bude vypadat takto:

1 2 3 4 5 6 začít < оператор 1 > ; < оператор 2 > ; . . . . . . . < оператор N > ; konec.

Zde jsou operátory v těle programu různé příkazy kompilátoru.

✎ 8) psát – v angličtině znamená „psát“. Tento operátor zobrazuje text v něm umístěný, proto se nazývá výstupní operátor. Text umístěný uvnitř je zvýrazněn modře a napsán takto:

Napsat( "tento text se zobrazí na obrazovce");

V okně konzoly se zobrazí zpráva v závorkách a uvozovkách (nemůžete ji dát jen tak do závorek bez uvozovek). Po provedení tohoto příkazu uvidíme na obrazovce:

tento text se zobrazí na obrazovce

V této podobě operátor zápisu používá se v případě, kdy potřebujete ukázat nápovědu, vysvětlení, komentář atd. A pokud potřebujete zobrazit i číselnou hodnotu, řekněme S = 50 sq. m, pak se použije formát:

Write(, S);

Výsledkem je, že na obrazovce dostaneme výsledek:

Plocha se rovná: S = 50

A pokud potřebujete zobrazit měrné jednotky, musíte za S znovu vložit text do uvozovek:

Napsat( "Plocha se rovná: S = ", S, "m2");

Po provedení posledního výstupního příkazu dostaneme na obrazovce následující výstup:

Velikost plochy je: S = 50 m2

✎ 9) writeln – stejné jako write, ale po provedení se kurzor přesune na další řádek.

✎ 10) read – v překladu z angličtiny znamená „číst“, takže čtení se nazývá operátor čtení nebo zadávání dat. Zapisuje se jako read(N), což znamená, že je třeba zadat hodnotu N, kde N je libovolné číslo, nebo text nebo jiný typ proměnné. Pokud například potřebujeme zadat věk osoby, které je 32 let, můžeme to napsat takto:


V prvním řádku tohoto kódu program zobrazí otázku „ jaký je tvůj věk?" a přesune kurzor na další řádek (končí ln); do druhého řádku vypíšeme „Rok =“ (mezera na začátku); Dále vidíme operátor readln(Year), což znamená, že je nutné zadat věk Year (číslo 32); nakonec zobrazíme zprávy „Můj věk“, „32“ a „roky“. "jeden po druhém. Je třeba pečlivě hlídat prostory. V důsledku provedení tohoto kódu obdržíme zprávu:

jaký je tvůj věk?
Rok = 32
Můj věk je 32 let

✎ 11) readln – totéž jako read, pouze přeloženo do nový řádek. Ve výše uvedeném příkladu totiž po zavedení čísla Rok napíšeme na další řádek pouze: „ Můj věk je 32 let».

To je zatím vše. Na další stránka napíšeme první program a v programování v Pascalu to bude náš

Procedura Readln se používá pro více než pouhé zpoždění obrazovky. Jeho hlavním úkolem je zadávání dat z klávesnice. V tomto článku se naučíme zadávat čísla z klávesnice a následně je zobrazovat na obrazovce. K tomu se budeme muset seznámit s částí pro popis proměnných Var a také s jedním z datových typů používaných v Pascalu.

Číslo programu3; používá crt; var n:integer; začít clrscr; write('Zadejte číslo z klávesnice:'); readln(n); writeln('Zadali jste číslo',n); readlnend.

Do řádku č. 3 napíšeme služební slovo Var. Používá se k deklaraci proměnných. Proměnné jsou různé významy, čísla nebo slova, která se mohou během provádění programu změnit. Když zadáváme čísla nebo písmena z klávesnice, zapisují se do proměnných. Za slovem Var uvedeme identifikátor proměnné oddělený mezerou (tedy její název, který si vymyslíme sami). Proměnné nejsou funkční slova, programátor si je nastavuje sám. V v tomto případě Nastavili jsme jednu proměnnou „n“ a v budoucnu budeme používat pouze tuto proměnnou. Po zápisu proměnné je datový typ označen dvojtečkou. Jedním z nich je Integer. Říká programu, že naše proměnná "n" může být pouze celé číslo v rozsahu od -32768 do 32767. Použití různé typy data závisí na konkrétních potřebách programátora při psaní programu. To nejdůležitější na v této fázi Pochopte, že pokud budete ve svém programu používat číslo, musíte pro něj zadat proměnnou (v našem případě „n“) a datový typ (v našem případě Integer).

Do řádku č. 7 napíšeme operátor pro zadávání údajů z klávesnice Readln. Tento příkaz volá vestavěnou proceduru zadávání dat a v této fázi se program zastaví a začne čekat na zadání dat. Tento operátor jsme již použili ke zpoždění obrazovky. V tomto programu je za operátorem Readln naše proměnná „n“ uvedena v závorkách. Do této proměnné se zapíše číslo, které zadáme z klávesnice. Podle toho musí toto číslo odpovídat parametrům proměnné, tzn. musí být celé číslo v rozsahu -32768 až 32767. Poté, co program dosáhne 7. řádku, zobrazí zprávu „Zadejte číslo z klávesnice: “ a počkejte. V této fázi musíme zadat nějaké číslo a stisknout Enter.

Linka č. 8. Zde napíšeme výstupní příkaz Writeln screen. Zobrazí zprávu „Zadali jste číslo“ a také zobrazí hodnotu naší proměnné „n“ (tedy hodnotu, kterou zadáváme z klávesnice). Všimněte si, že v řádku č. 8 jsme před proměnnou „n“ dali čárku a samotná proměnná není uzavřena v apostrofech.

Nyní napíšeme program v Pascalu.

Spusťte (Ctrl+F9). Zadejte číslo, například 5, a stiskněte Enter.

Číst A ReadLnčíst informace ze zařízení standardní vstup. V konzolových aplikacích může být tímto zařízením např. klávesnice (přesněji data zadávaná z klávesnice), v grafické aplikace- soubor na disku.

To znamená, že tyto postupy jsou „antipody“ - provádějí akce opačné než oni.

Procedury Read a ReadLn provádějí podobné akce. Hlavní rozdíl mezi nimi je následující: procedura ReadLn po dokončení vstupu provede posun řádku (a v případě souborů čte soubor řádek po řádku). A procedura Read čte data v řadě - bez posunu řádku.

POZNÁMKA:

V Turbo Pascalu si to nepamatuji (možná jsem jen zapomněl), ale vstup z klávesnice lze provádět pouze pomocí procedury ReadLn a z nějakého důvodu procedura Read nefunguje.

Syntaxe výstupu konzole:

postup Read(Args: Argumenty);

Syntaxe pro výstup do souboru:

postupČíst( var F:Text; Args: Argumenty);

Argumenty ( Argumenty) se může lišit. Pokud je použito více proměnných, jsou uvedeny oddělené čárkami. Například:

Var x, y: celé číslo; z:skutecne; str:string; begin WriteLn("Zadejte tři celá čísla oddělená mezerou:"); ReadLn(x, y, z); WriteLn("Zadali jste: ", x, ", ", y, ", ", z:0:2);

ReadLn(str); různé typy. Ale na rozdíl od procedur Write/WriteLn není povoleno (a to je logické))).

DŮLEŽITÉ!
Při zadávání dat si uvědomte, že pokud je uživatelem zadaná hodnota jiného typu než typ proměnné, do které se tato hodnota zadává, dojde k chybě za běhu. Pokud například ve výše uvedeném příkladu uživatel zadá jako první číslo skutečnou hodnotu (například 3.14), program se zhroutí, protože proměnná x je typu celé číslo.

Při čtení ze souboru můžete pracovat jak se strojovými, tak textovými soubory.

Li F(viz syntaxe) je typovaný soubor, pak proměnné předané jako parametry (Args) musí mít stejný typ, jaký je zadán pro soubor F. Soubory bez typu nejsou povoleny. Pokud je parametr F není specifikováno, předpokládá se, že čtení se provádí z standardní zařízení vstup.

Pokud soubor F má typ Text, pak proměnné musí být typu , nebo .

Pokud při čtení souboru nejsou k dispozici žádná data pro čtení, vrátí se proměnná F prázdná hodnota(0 - pro , prázdný řetězec- pro struny).

V případě použití procedury ReadLn, tedy při čtení dat řádek po řádku, je konec řádku označen určitým sledem znaků (které závisí na operační systém, pro DOS/Windows jsou to dva znaky - #10 a #13).

Značka konce řádku není součástí přečteného řádku a je ignorována.

Pokud během procedury Read/ReadLn dojde k chybě, vygeneruje se chyba za běhu. Toto chování není vždy přijatelné (například při čtení souboru). Proto je v některých případech generování chyb zakázáno. To lze provést pomocí .

POZNÁMKA:

V jiném ladění a vzdělávací programyČasto se používá procedura ReadLn konzolová aplikace se po provedení automaticky neuzavřel. Chcete-li to provést, na konci programu jednoduše napište (jako v příkladu výše):

Tedy jen název procedury bez parametrů. V tomto případě bude program čekat na stisknutí klávesy ENTER. Program se tedy neukončí, dokud není stisknuto klávesa ENTER, a to vám umožní vidět výsledek programu. Samozřejmě v operačním systému




Nahoru