Adatbeviteli operátorok ReadLn és Read. Téma: Bemenet - Kimenet. Olvass (Readln), írj (Writeln) állításokat. A legegyszerűbb lineáris programok Mi a különbség az Readln és az Read között
A Readln rutint nem csak a képernyő késleltetésére használják. Fő feladata az adatok bevitele a billentyűzetről. Ebben a cikkben megtanuljuk, hogyan kell számokat bevinni a billentyűzetről, majd megjeleníteni őket a képernyőn. Ehhez meg kell ismernünk a Var változók leírására vonatkozó részt, valamint a Pascalban használt egyik adattípust.
Programszám3; crt -t használ; var n: egész szám; start clrscr; write (‘Írjon be egy számot a billentyűzetről:’); readln (n); writeln (‘Számot írt be’, n); olvasás vége.
A 3. sorba írjuk a Var függvényt. Változók deklarálására szolgál. A változók különböző értékek, számok vagy szavak, amelyek változhatnak a program végrehajtása során. Amikor számokat vagy betűket írunk be a billentyűzetről, azokat változókba írjuk. A Var szó után egy szóközzel elválasztva jelezzük a változóazonosítót (vagyis a nevét, amelyet magunk találunk ki). A változók nem szolgálati szavak, a programozó maga állítja be őket. Ebben az esetben egy "n" változót állítottunk be, és a jövőben csak ezt a változót fogjuk használni. A változó írása után az adattípust kettősponttal jelöltük. Számos adattípus létezik. Az egyik az Integer. A program számára világossá teszi, hogy az "n" változónk csak -32768 és 32767 közötti egész szám lehet. A különböző adattípusok használata a programozás során a programozó sajátos igényeitől függ. A legfontosabb ebben a szakaszban annak megértése, hogy ha valamilyen számot fog használni a programjában, akkor ehhez meg kell adnia egy változót (esetünkben "n") és egy adattípust (esetünkben egész) .
A # 7 sorban nyilatkozatot írunk az adatok beviteléhez a Readln billentyűzetről. Ez az utasítás meghívja a beépített adatbeviteli rutint, és ezen a ponton a program leáll, és elkezd várni az adatbevitelre. Ezt az operátort már használtuk a képernyő késleltetéséhez. Ebben a programban a Readln utasítás után az "n" változónk zárójelben van feltüntetve. A billentyűzetről beírt számot ebbe a változóba írjuk. Ennek megfelelően ennek a számnak meg kell egyeznie a változó paramétereivel, azaz egész számnak kell lennie a -32768 és 32767 közötti tartományban. Miután a program elérte a 7. sort, megjelenik az "Enter a number from the keyboard:" üzenet, és vár. Ebben a szakaszban meg kell adnunk néhány számot, és meg kell nyomnunk az Enter billentyűt.
8. sor. Itt írunk egy kimeneti utasítást a Writeln képernyőre. Megjelenik az "Ön számot adott meg" üzenet, és megjelenik az "n" változónk értéke is (azaz a billentyűzetről beírt érték). Vegye figyelembe, hogy a 8. sorban vesszőt teszünk az "n" változó elé, és maga a változó nincs aposztrófban.
Most gépeljük be a programot Pascalba.
Futtatás (Ctrl + F9). Gépelünk be egy számot, például 5 -öt, és nyomjuk meg az Enter billentyűt.
Téma: Bemenet kimenet. Olvass (Readln), írj (Writeln) állításokat. A legegyszerűbb lineáris programok.
Oldjuk meg a problémát úgy, hogy minden tettünket göndör zárójelben kommentáljuk. Emlékezzünk vissza, hogy a megjegyzést a számítógép nem érzékeli, de szükségünk van rá, hogy jobban megértsük a program működését.
Feladat ... Írjon programot, amely kitisztítja a képernyőt, és kiszámítja a felhasználó által megadott két szám szorzatát.
Proizv2 program; Felhasználások Crt; (Csatlakoztassa a Crt modult) Var szám1, (az első számot tartalmazó változó) szám2, (a második számot tartalmazó változó) rezult (változó, amely tartalmazza az eredményt) : egész szám; Kezdődik ClrScr; (A képernyőt a Crt modulból való törléshez használjuk) Write ("Írja be az első számot"); Readln (szám1); (A felhasználó által megadott szám beolvasásra kerül a number1 változóba) Write ("Írja be a második számot"); (Az aposztrófok közé írt karakterek megjelenítése) Readln (szám2); (A felhasználó által megadott szám beolvasásra kerül a number2 változóba) eredmény: = szám1 * szám2; (Keresse meg a bevitt számok szorzatát, és rendelje hozzá az eredmény változóhoz) Write ("Számok szorzata", szám1, "és", szám2, "egyenlő", eredmény); (Megjelenítünk egy sort, amely tartalmazza a probléma megoldását) Olvasás; (Képernyő késleltetési eljárás) Vége. |
Annak érdekében, hogy jobban megértse egy program működését, írja be a számítógépébe, és tesztelje a működését. Válaszolj a kérdésekre:
- miért hívták a Proizv2 programot?
- Miért tette a Crt modult a Felhasználások szakaszba?
- mi a célja a szám1, szám2, eredmény változóknak?
- milyen típusúak ezek a változók? mit jelent?
- Ha a szám1 és a szám2 változókat az 5, illetve a 7 értékhez rendeljük, akkor melyik sort állítja elő a számítógép az utolsó írási eljárás végrehajtásakor? Írd le egy füzetbe.
- mely sorokban kéri a felhasználó a változók értékeit?
- melyik sorban történik a számok szorzása?
- mit csinál a hozzárendelési operátor ebben a programban?
Gyakorlat ... Módosítsa a programot úgy, hogy egy másik változót kérjen a felhasználótól, és a három szám szorzatának eredményét adja ki.
Írjon és írjon kimutatásokat
A Write és WriteLn operátorokat már használtuk, de részletesebben foglalkoznunk kell ezeknek az operátoroknak a használatára vonatkozó szabályokkal.
Írás (angolul írni) - operátor, amely az információk megjelenítésére szolgál a képernyőn. Az WriteLn operátor ugyanazt a műveletet hajtja végre, de mivel rendelkezik Ln véggel (sor - angol sor, sor), a kívánt üzenet képernyőn való megjelenítése után a kurzort a következő sorra is áthelyezi.
Általános forma:
Írás (kifejezések listája)
WriteLn (kifejezések listája)
A Write és WriteLn eljárásokat nemcsak az eredmény megjelenítésére, hanem különféle üzenetek vagy kérések megjelenítésére is használják. Ez lehetővé teszi, hogy párbeszédet folytasson a felhasználóval, mondja meg neki, mikor kell értékeket megadnia, mikor kap eredményt, mikor hibázott stb.
Például a WriteLn eljárás végrehajtásakor (‘Talált szám’, a) az aposztrófok közé sor kerül nyomtatásra, majd megjelenik az a változó értéke.
Az WriteLn utasítás paraméterek nélkül is használható. Ebben az esetben a szóközökből álló sor kerül nyomtatásra, és a kurzor egy másik sorra kerül. Néha szükségünk van rá az adatbevitel jobb megértése érdekében.
Olvasás és ReadLn operátorok
Ne feledjük, hogy a számítógép fő célja az emberi munka megmentése. Ezért szükség van arra, hogy lehetőséget biztosítsunk, miután egyszer megírtunk egy programot, és azt újra fel kell használni, minden alkalommal különböző adatokat beírva. A nyelv ezen rugalmasságát a Read és ReadLn utasítások biztosítják. Ezek az operátorok a billentyűzetről írják be az információkat.
Általános forma:
Olvasás (változó, változó ...)
ReadLn (változó, változó ...)
Az Olvasási eljárás elvárja, hogy a zárójelben megadott értékeket adja meg. A bevitt adatokat szóközzel kell elválasztani egymástól. Az értékek hozzárendelése sorra történik.
Például, ha az 53 és X értékeket adja meg, akkor az Read (a, b) utasítás végrehajtásakor az 53 -as szám az a változóhoz, az X betű pedig az X változóhoz lesz hozzárendelve. a vészhelyzet elkerülése érdekében helyesen kell meghatározni az adattípust a Var; esetünkben a: egész és b: char.
A Read és ReadLn operátorok használatában nincs különösebb különbség az olvasásban és az írásban. Gyakran a paraméterek nélküli ReadLn eljárást használják a program végén a késleltetéshez: a gomb megnyomása előtt
jegyzet ... Amikor beállítja a képernyő késleltetését, figyeljen az előző bejegyzésre. Ha az adatokat az Olvasási eljárás kérte, nem késik.
Oldjunk meg egy problémát, amelyben megvizsgáljuk ezen eljárások minden lehetséges felhasználását.
Feladat ... Keresse meg három szám átlagát.
jegyzet ... Több szám átlagának megtalálásához adja hozzá ezeket a számokat, és ossza el az összeget a számok számával.
Írja be a feladat szövegét, és gondosan mérlegelje az egyes sorokat. A Srednee program neve tükrözi a feladat tartalmát. Egyébként egyetértünk abban, hogy a program neve és az ezt a programot tartalmazó fájl neve megegyezik. Ezután következik a Crt modul csatlakoztatása. A Var szakaszban az Első, Második, Harmadik egész típusú változóként szerepel, a Sum pedig valós típusú. A kezelői rész a Crt modulban található szokásos ClrScr (Clear Screen) képernyőrutinmal kezdődik. Ezután az Write utasítással megjelenítjük az „Írja be az első számot” üzenetet, amelyet követően a felhasználónak be kell írnia a számot.
Most a számítógépnek be kell olvasnia a beírt karaktereket, és be kell helyeznie őket az Első változóba, ez a következő ReadLn (Első) utasítás végrehajtásakor történik meg. Ezután az Write utasítás használatával további két szám értékét kérjük, és beolvassuk a második és harmadik változóba. Ezután kiszámítjuk az összegüket, és a kapott számot hozzárendeljük a Sum változóhoz. Az átlag megtalálásához most el kell osztani a kapott számot 3 -mal, és az eredményt valamilyen változóban tárolni.
Az eredmény mentéséhez egyáltalán nem szükséges másik változót deklarálni. A programunkhoz hasonlóan eloszthatja a Sum változó értékét 3 -mal, és újra hozzárendelheti az eredményt ugyanahhoz a Sum változóhoz. Most az írási eljárással megjelenítheti a képernyőn a számítások eredményét. És végül, az utolsó ReadLn rutin addig tartja a kimenetünket a képernyőn, amíg le nem nyom egy gombot.
Nyomja meg a gombokat
Az 5, 7 és 12 átlaga 8,00
Nézze meg alaposan ezt a sort, és hasonlítsa össze a programunk eredményének megadásával. Még néhányszor tesztelje a programot a különböző változóértékekre.
Válasszon megoldandó problémát a tanárral az alábbi listából:
- Írjon be két a és b számot. A hozzárendelő operátorral cserélje ki értékeiket:
a) egy köztes változó használatával (x: = a; a: = b; b: = x);
b) közbenső változó használata nélkül (a: = a-b; b: = a + b; a: = b-a). - Írjon olyan programot, amely egész számot, valós számot, tetszőleges karaktert és karakterláncot kér a felhasználótól, majd mindent egy sorba nyomtat.
- Jelenítse meg vezetéknevét, keresztnevét és utónevét, majd két sorral később - születési dátumát.
- Írjon programot az egyik alak csillaggal történő nyomtatására:
a) karácsonyfák (több karácsonyfa);
b) hópelyhek (több hópehely);
c) ház. Például*
* *
* *
***********
* *
* *
* *
* *
*********** - Készítse el névjegyét.
* Ivanov Szergej *
* Proletarskaya 74 négyzetméter 55 *
* Telefon: 45-72-88 *
******************************* - Párbeszédet írhat a felhasználó és a számítógép között tetszőleges témában.
Például egy gép két kérdést tesz fel: "Mi a neved?" hány éves vagy?"; miután beírta a nevet (Anton) és a számot (15) megjelenik a képernyőn „Igen ... 50 év múlva 65 éves lesz, és a neve nem Anton lesz, hanem Anton nagyapa” - Kérjen két számot a felhasználótól, és jelenítse meg e számok összegének, különbségének, szorzatának és hányadosának eredményét teljes választ adva.
- Kérdezze meg a felhasználót két számtól, és táblázat formájában jelenítse meg egy egész osztás eredményét és egy egész osztás fennmaradó részét. Például az 5 -ös és a 3 -as szám bevitelénél a képernyőn a következő táblázatot kell megjeleníteni:
**************************
* X * Y * div * mod *
**************************
* 5 * 3 * 1 * 2 *
************************** - Írjon egy programot, amely megkérdezi az állat nevét és számát, majd megjelenít egy olyan kifejezést, mint "A mókus megeszi a 10 gombát" (amikor beírja a "mókus" szót és a 10 -es számot).
- Szervezzen párbeszédet az eladó (számítógép) és a vevő (felhasználó) között, amikor bármilyen terméket vásárol a következő séma szerint: termék felajánlása meghatározott áron, a vásárolt termék összegének kérése, a pénzösszeg meghatározása és megjelenítése a vevőnek fizetnie kell a vásárlásért.
Ön a Pascal programozás szakaszban van. Mielőtt elkezdenénk programozni, tisztáznunk kell néhány fogalmat, amelyekre az elején szükségünk lesz. Nem lehet csak úgy programozni. Nem írhatunk programot szavakkal - a számítógép nem ért semmit, csak nullákat és egyeseket. Ehhez speciális szimbólumokat hoztak létre a Pascal -ban - a Pascal -nyelvben, olyan lefoglalt szavak halmazát, amelyeket a rendeltetésükön kívül máshol nem lehet használni programjaikban. Soroljuk fel az elején szükséges alapfogalmakat:
) 1) program - "program" angol nyelven, a kód legelején írva, majd a program neve latin betűkkel és pontosvesszővel. Például: program Summa; - Summa nevű program. De a kódnak ezt a részét, amelyet programfejlécnek neveznek, nem kell megírni - csak az egyértelműség kedvéért van jelen, és megmutatja, hogy az adott program milyen problémát old meg. Itt a "kód" szót használtuk - ez a program szöveges rekordjának neve.
) 2) egész szám-angolul "egész" (vagy csak "egész"), Pascalban pedig a 32 bites (8 bájt) aláírt egész számokat jelöli a [-2147483648, 2147483647] tartományban. Hogy mit jelentenek ezek a nagy számok, később elemezzük.✎ 3) valódi - angolból „valódi”, „valódi”, „valódi”, „valódi”. A Pascal nyelvben ez a kifejezés a [-1,8 ∙ 10 308, 1,8 ∙ 10 308] tartományból származó valós számokat jelöli. Ezek nagyon nagy számok, de 15 - 16 számjegy jelenik meg. Egyébként a PascalABC.Net programozási környezetben az egész és valós adattípusok automatikusan automatikusan kék színnel vannak kiemelve.
) 4) const - az angol analógja. "Állandó" jelentése "állandó", "állandó". Pascalban ez egy olyan mennyiség, amelyet nem lehet megváltoztatni. Így van írva:
Ezt a bejegyzést úgy kell felfogni, ahogy meg van írva: az N szám 12, S 5, "pi" 3,14 (mint a matematikában, Pascalban vessző helyett csak pontot használnak). Az utolsó sorban kettős perjelet (két perjelet) használtunk, amelyet a szöveg követett - így írják a megjegyzéseket Pascalban, és a program nem fogadja el őket. Minden, ami kettős perjelezéssel kezdődik, és a sor végéig egy megjegyzés, amely a program magyarázataként íródott, és mindig más színnel van kiemelve (a PascalABC -ben. Neten zöld, a Turbo Pascalban ez a fajta megjegyzés nem használt). Van egy másik típusú megjegyzés is - ez (göndör zárójelek közé zárt szöveg, valamint itt, szintén zölddel kiemelve). Ez a fajta megjegyzés több sorban is felléphet - a zárójel kezdetétől a zárásig, és mindent, ami egy ilyen konstrukció közepén van, a fordító nem érzékeli kódként, és egyszerűen kihagy.
Valójában a felvételi formátum const kicsit nehezebb. A szabályok szerint ezt kellett írnunk:
|
Az egyes értékek deklarálása után megjelenik a típusuk, majd hozzárendelünk egy értéket. De az előző bejegyzés is helyes, mivel a Pascal fordító úgy van konfigurálva, hogy automatikusan érzékeli az állandó típusát. De ugyanez nem mondható el a következő típusú számokról - változókról.
) 5) var - az angolból származik. "Változó" (vagy "illékony"), ami Pascalban olyan értéket jelent, amely a program során megváltoztathatja értékét. Így van írva:
Amint a bejegyzésből látható, nincs "=" előjel - az azonos típusú változókat újraszámítják (vesszővel elválasztva), és csak a típust jelölik a kettőspont után. A programban az N, m (egész számok) és a Q, r, t (valós) változók megváltoztathatják az egész és a valós értékeket. Még egy megjegyzés: a változók leírása mindig az állandók (konstansok) leírása után következik - először jön a const konstrukció, majd a var.
✎ 6) start - angolból lefordítva azt jelenti, hogy „kezdeni”, a Pascal pedig a főprogram kezdetét jelenti, amelyben parancsokat (operátorokat) írnak. A szó után kezdődik nincs pontosvessző.
✎ 7) vége - angolul. "End", és Pascal nyelven ugyanazt jelenti (a program vége). Az utolsó szó után vége mindig van egy pont. A konstrukció használata óta kiemeltük az "utolsó" szót kezd - vége esetleg még egy esetben: ezek az úgynevezett kezelői zárójelek, amelyeket több művelet egyesítésére használnak egy kezelő alatt. De erről majd később. Így a fő program így fog kinézni:
|
Itt a program törzsében lévő operátorok különböző parancsok a fordító számára.
) 8) írni - angolul azt jelenti, hogy „írni”. Ez az operátor megjeleníti a benne elhelyezett szöveget, ezért hívják kimeneti operátornak. A benne elhelyezett szöveg kékkel van kiemelve, és így íródik:
Ír ( "ez a szöveg megjelenik a képernyőn");
A zárójelben és idézőjelben lévő üzenet megjelenik a konzol ablakában (zárójelben lévő idézőjelek nélkül egyszerűen lehetetlen). Ezen állítás végrehajtása után a képernyőn látni fogjuk:
ez a szöveg megjelenik a képernyőn
Ebben a formában az írási operátort abban az esetben használjuk, amikor utalást, magyarázatot, megjegyzést stb. Kell megjeleníteni, és ha számszerű értéket is ki kell mutatni, mondjuk S = 50 négyzetméter. m, akkor a formátumot használják:
Írjon (, S);
Ennek eredményeként az eredményt kapjuk a képernyőn:
A terület mérete: S = 50
Ha pedig mértékegységeket kell megjelenítenie, akkor a szöveget ismét S után kell idézőjelbe illesztenie:
Ír ( "A terület mérete: S =", S, "M négyzet");
Az utolsó kimeneti utasítás végrehajtása után a kimenetet a képernyőre kapjuk:
A terület mérete: S = 50 nm
✎ 9) A writeln ugyanaz, mint az írás, de a végrehajtás után a kurzor a következő sorba kerül.
✎ 10) olvasni - angolból lefordítva azt jelenti, hogy „olvasni”, ezért az olvasást olvasás vagy adatbevitel operátorának nevezik. Olvasottként (N) írjuk, ami azt jelenti, hogy meg kell adnia az N értéket, ahol N bármilyen szám, szöveg vagy bármilyen más típusú változó. Például, ha meg kell adnia egy 32 éves személy életkorát, akkor ezt a következőképpen írhatjuk:
Ennek a kódnak az első sorában a program a következő kérdést jeleníti meg: Hány éves vagy?»És a kurzort a következő sorra mozgatja (ln végződésű); a második sorra az "Év =" -t írjuk (szóköz az elején); akkor látjuk a readln (Év) operátort, ami a kor Év (32. szám) megadásának szükségességét jelenti; Végül a "My age", "32" és "years" üzeneteket jelenítjük meg. "Egyenként. Szorosan szemmel kell tartania a tereket. Ennek a kódnak a végrehajtása eredményeként az alábbi üzenetet kapjuk:
Hány éves vagy?
Év = 32
32 éves vagyok
) 11) readln - ugyanaz, mint az olvasás, csak újsorral. Valóban, a fenti példában az Év szám megadása után csak a következő sorba írjuk: „ 32 éves vagyok».
Ez minden most. A következő oldalon megírjuk az első programot, Pascal programozásban pedig ezek lesznek a miénk
Gépelt fájlok esetén a fájlkomponenst beolvassa egy változóba.
Szöveges fájlok esetén egy vagy több értéket olvas be egy vagy több változóba
Megjegyzések:
Karakterlánc -változók esetén:
A Read olvassa az összes karaktert a sor végének jelölőjéig (de nem tartalmazza), vagy amíg az Eof (F) igaz nem lesz. Olvasás után nem lép a következő sorra. Ha a kapott karakterlánc hosszabb, mint a karakterlánc -változó maximális hossza, akkor csonka lesz. Az első olvasás után minden következő olvasási hívás látja a sor végét, és nulla hosszúságú karakterláncot ad vissza.
Több hívás használata a ReadLn -hez több karakterlánc értékének olvasásához.
Ha a Bővített szintaxis opció engedélyezve van, az Olvasási eljárás a nullvégű karakterláncokat null alapú karakter tömbökbe tudja olvasni.
Integer vagy Real típusú változók esetén:
A Read kihagyja a numerikus sort megelőző szóközöket, füleket vagy sorvégi jelzőket. Ha a numerikus karakterlánc nem
megfelel a várt formátumnak, I / O hiba lép fel, ellenkező esetben a változóhoz hozzárendelik a kapott értéket. A következő olvasás szóközzel, tabulátorral vagy sorvégi jelölővel kezdődik, amely befejezte a numerikus karakterláncot.
WinCrt, WinDos;
Var F: Szöveg;
Ch: Char;
Kezdődik
(Szerezze be a fájlnevet a parancssorból)
Hozzárendelés (F, ParamStr (1));
Visszaállítás (F);
Míg nem EOF (F), tegye
Kezdődik
Olvas(F, Ch);
Írás (Ch); (Megjelenítjük a fájl tartalmát a képernyőn)
Vége;
Vége.
- Readln
- Ír
- Writeln
Az olvasási utasítás a változók (kezdeti adatok) értékeinek billentyűzetről történő bevitelére szolgál. Általában az utasítás így néz ki:
read (Változó!, Változó2, ... Változó, ahol a változók a változó neve, amelynek értékét a program végrehajtása során a billentyűzetről kell megadni.
Íme néhány példa az olvasott nyilatkozat írására:
Olvasni egy); olvass (Cena, Kol);
Az olvasási utasítás végrehajtásakor a következők történnek:
1. A program szünetelteti a munkát, és várja, amíg a szükséges adatokat beírja a billentyűzetre, és megnyomja a gombot
2. A gomb megnyomása után
Például az utasítás végrehajtásának eredményeként
Olvasás (Tempérât);
és a 21. sort beírva a Tempérât értéke 21 lesz.
Egy olvasott utasítás lehetővé teszi több változó értékének lekérését. Ebben az esetben a bevitt számokat egy sorba kell írni, és szóközökkel kell elválasztani. Például, ha az a, b és c változók típusa valós, akkor az olvasás végrehajtásának eredményeként (a, b, c); és billentyűzet beviteli karakterlánc:
4.5 23 0.17
a változók a következő értékekkel rendelkeznek: a = 4,5; b = 23, o; c = 0,17.
Ha a sor több számot tartalmaz, mint az olvasási utasításban megadott változók, akkor a sor többi részét a következő olvasási utasítás fogja feldolgozni. Például az utasítások végrehajtása eredményeként:
Olvassa el (a, B); olvassa el (C);
és billentyűzet beviteli karakterlánc
10 25 18
a változók a következő értékeket kapják: a = 10, b = 25. Olvassa el a (C) utasítást; 18 -as értékű változót rendel hozzá.
A readln utasítás abban különbözik az olvasási utasítástól, hogy miután a billentyűzetről beírt sorból kiválasztja a következő számot, és az readln utasítás listájából az utolsó változóhoz rendeli, a sor többi része elveszik, és a következő az olvasás vagy olvasás utasítás új bevitelt igényel.
Például az utasítás végrehajtásának eredményeként:
Readln (a, B); olvassa el (C);
és beírja a karakterláncot
10 25 18
a változók a következő értékeket kapják: a = 10, b = 25. Ezt követően a program megvárja az új szám megadását, hogy hozzá tudja rendelni a c változóhoz.
Minden olvasási vagy olvasási utasítást írási utasításnak kell megelőznie, amely megmondja a felhasználónak, hogy a program milyen adatokat vár el tőle. Például a vásárlás költségeinek kiszámítására szolgáló program töredéke így nézhet ki:
Writeln ("Adja meg az eredeti adatokat."); write ("A termék ára:"); readln (Sepa); write ("Mennyiség a kötegben:"); readln (Kol); write ("Kedvezmény:"); readln (Skidka);
Ha a billentyűzetről bevitt adatok típusa nem egyezik, vagy nem konvertálható olyan típusú változókra, amelyeknek a nevét az olvasási (readln) utasítás határozza meg, a program összeomlik (az olvasást követő utasításokat nem hajtják végre), és megjelenik egy üzenet a képernyőn a hibáról.