Въведение в Pascal. Процедури Read и ReadLn Какво означава read в Pascal

Прочетете (процедура)

За въведени файлове чете файловия компонент в променлива.
- За текстови файлове чете една или повече стойности
в една или повече променливи

Съобщение

Въведени файлове

Процедура Четене (F, V1 [, V2, ..., Vn]);

Текстови файлове

Процедура Read ([Var F: Text;] V1 [, V2, ..., Vn]);

режим

Windows, истински, защитени

Забележки

За низови променливи:

Read чете всички знаци до (но не включително) следващия маркер за край на реда или до Eof(F) ще стане Вярно. Read не преминава към следващия ред след прочитане. Ако полученият низ е по-дълъг от максималната дължина на низовата променлива, тогава той се съкращава. След първото Read, всяко следващо повикване Read ще види маркера за край на реда и ще върне низ с нулева дължина.

Използвайте множество извиквания към ReadLn, за да прочетете множество стойности на низове.

Когато опцията е активирана Разширен синтаксис, процедурата Read може да чете низове с нулев крайкъм нулеви символни масиви.

За променливи като цяло числоили Истински:

Read ще пропусне всички интервали, табулатори или маркери за край на реда, предхождащи числов ред. Ако числовият низ не съответства на очаквания формат, възниква I/O грешка, в противен случай на променливата се присвоява получената стойност. Следващото четене ще започне с интервал, табулатор или маркер за край на реда, който завършва цифровия низ.

Вижте също

Пример

използва Crt, Dos;

вар
F: Текст;
Ch: Char;

започнете
(Вземете името на файла от командния ред)
Присвояване (F, ParamStr (1));
Нулиране (F);
докато не EOF (F) правят
започнете
Прочетете (F, Ch);
Пишете (Ch); (Показваме съдържанието на файла на екрана)
край;
край.

Както при изходните оператори, операторите read и reeadln са вградени оператори за извикване. процедури за въвеждане на информация.

Операторите read (read) и readln, които идват от двете английски думи read и line (string) се използват в програмите за въвеждане на информация в паметта на компютъра и " показания"стойности към променлива.

Нека разгледаме работата на тези оператори и процедурите за въвеждане на информация.

Нашата програма има рутина readln (a). Докато изпълнява програмата, след като срещне оператора readln, компютърът ще спре, докато чака въвеждането на информация. След като въведете стойността на променливата a - 16 от клавиатурата, компютърът ще присвои тази стойност на променливата a, т.е. ще го изпрати до място в паметта a и ще продължи изпълнението на програмата. Ние наричаме този процес " чрез четене"стойности към променлива.

И така, процедурите read и readln "четат" стойностите на променливите и ги присвояват на променливите, които са записани в тях.

Може да има няколко такива променливи, тогава те се записват в тези оператори, разделени със запетаи, например:

прочетете (a, b, c, n, g, j, i), readln (e, f, k, p, d) и т.н.

Каква е разликата между процедурите read и readln?

Процедурата read ще изисква след себе си въвеждането или извеждането на информация в един ред, а процедурата readln дава възможност след себе си да въвежда и извежда информация от началото на нов ред.

Например:

В програмата: напишете ("Въведете стойностите на a и b"); прочетете (a, b);

write ("Въвеждане на информация в един ред");

Когато тази част от програмата се изпълни, всичко, което е написано в първия оператор за запис, ще се покаже на екрана, след това курсорът ще бъде на същия ред и компютърът ще изчака стойностите на a и b да бъде въведен. Нека въведем техните стойности - 2 и 3, като ги разделим с интервал или, с други думи, чрез интервал. След това информацията, написана в следващия оператор за запис, ще бъде показана на същия ред.

На екрана:

Въведете стойности за a и b 2 3 Въведете информация на един ред

в една програма:

writeln ("Въведете стойностите a, b и c); readln (a, b, c);

writeln ("Въвеждане и извеждане на информация от началото на реда");

На екрана:

Въведете стойностите a, b и c

Въвеждане и извеждане на информация от началото на ред

Аритметични операции с цели числа. Целочислени променливи. Истински тип

В езика Pascal се използват цели числа, които включват всички естествени числа, образувани в процеса на преброяване на обекти: 1, 2, 3, 4, 5, 6, ...; отрицателни числа: ..., -6, -5, -4, -3, -2, -1 и число нула: 0. Целите числа образуват следната серия:

6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, ...

Pascal приема диапазон от цели числа от -32768 до 32767.

Променливикоито приемат целочислени стойности, се записват в раздела за описание с посочения целочислен тип.

Например: var a, b, c, a1, b34, nomb: цяло число;

Стойности от различен тип спрямо тези променливи в една програма не може да бъде назначен.

Аритметични операции с цели числа и целочислени променливи в Pascal

Знакът "_" означава интервал. Интервалите между имената на променливите и името на операцията (div) са задължителни. (Идва от английското division - division).

Остатъкът от a, разделен на b. a_mod_b

тема:Вход изход. Прочетете (Readln), напишете (Writeln) изявления. Най-простите линейни програми.

Нека решим проблема, като коментираме всяко наше действие в фигурни скоби. Припомнете си, че коментарът не се възприема от компютъра, но се нуждаем от него, за да разберем по-добре как работи програмата.

Задача ... Напишете програма, която изчиства екрана и изчислява произведението на две числа, предоставени от потребителя.

Програма Proizv2;
Използва
Crt; (Свързваме модула Crt)
Вар
номер1, (променлива, която ще съдържа първото число)
номер2, (променлива, която ще задържи второто число)
rezult (променлива, която ще съдържа резултата)
: цяло число;
Започнете
ClrScr; (Използваме процедурата за изчистване на екрана от модула Crt)
Напишете ("Въведете първото число");
Readln (число 1);
(Въведеният от потребителя номер се чете в променлива number1)
Напишете ("Въведете второто число");
(Показване на знаци, написани между апострофи)
Readln (число 2);
(Въведеният от потребителя номер се чете в променлива number2)
резултат: = число1 * число2;
(Намерете произведението на въведените числа и го присвоете на променливата rezult)
Напишете ("Произведение на числа", число1, "и", число2, "равно", резултат);
(Показваме ред, съдържащ отговора на проблема)
Readln; (Процедура за забавяне на екрана)
Край.

За да разберете по-добре действието на дадена програма, въведете я на компютъра си и тествайте нейното действие. Отговори на въпросите:

  • защо програмата беше наречена Proizv2?
  • Защо поставихте модула Crt в секцията Използване?
  • каква е целта на променливите номер1, номер2, резултат?
  • какъв тип са тези променливи? какво означава?
  • Ако присвоим променливите number1 и number2 съответно на стойностите 5 и 7, какъв ред ще произведе компютърът при изпълнение на последната процедура за запис? Запишете го в бележника си.
  • в кои редове потребителят получава подкана за стойностите на променливите?
  • в кой ред става умножението на числата?
  • какво прави операторът за присвояване в тази програма?

Упражнение ... Променете програмата така, че да подкани потребителя за друга променлива и да изведе произведението на три числа.

Пишете и пишете изявления

Вече използвахме операторите Write и WriteLn, но трябва да се спрем по-подробно на правилата за използване на тези оператори.

Write е оператор, който се използва за показване на информация на екрана. Операторът WriteLn извършва същото действие, но тъй като има и завършек Ln (ред), след като изведе желаното съобщение на екрана, той допълнително премества курсора на следващия ред.

Обща форма:
Напишете (списък с изрази)
WriteLn (списък с изрази)

Процедурите Write и WriteLn се използват не само за показване на резултата, но и за показване на различни съобщения или заявки. Това ви позволява да водите диалог с потребителя, да му кажете кога трябва да въведе стойности, кога получава резултат, кога е направил грешка и т.н.

Например, когато се изпълнява процедурата WriteLn („Намерено число“, a), ще бъде отпечатан ред, затворен в апострофи, и след това се показва стойността на променливата a.

Инструкцията WriteLn може да се използва без параметри. В този случай ще бъде отпечатан ред, състоящ се от интервали и курсорът ще бъде преместен на друг ред. Понякога имаме нужда от него за по-добро възприемане на въведените данни.

Оператори Read и ReadLn

Нека припомним, че основната цел на компютъра е да пести човешки труд. Следователно е необходимо да се предостави възможност, след като веднъж напишете програма, да я използвате повторно, като всеки път въвеждате различни данни. Тази гъвкавост на езика се осигурява от операторите Read и ReadLn. Тези оператори въвеждат информация от клавиатурата.

Обща форма:
Четене (променлива, променлива ...)
ReadLn (променлива, променлива ...)

Процедурата Read очаква да бъдат въведени стойностите, изброени в скоби. Въведените данни трябва да бъдат разделени една от друга с интервали. Присвояването на стойности става на свой ред.

Например, ако са въведени стойностите 53 и X, тогава когато се изпълни операторът Read (a, b), числото 53 ще бъде присвоено на променливата a, а буквата X на променливата X. Освен това в за да избегнете спешни случаи, трябва правилно да определите типа данни в секцията Var; в нашия случай a: цяло число и b: char.

Няма специални разлики в четенето и писането при използването на операторите Read и ReadLn. Често процедурата ReadLn без параметри се използва в края на програмата за забавяне: преди натискане на клавиш резултатът от изпълнението на програмата остава на екрана. Това е много полезно за анализиране на резултатите.

Забележка ... Когато задавате забавяне на екрана, обърнете внимание на предишния запис. Ако данните са били поискани от процедурата Read, няма да има забавяне.

Нека решим задача, в която ще разгледаме всички възможни приложения на тези процедури.

Задача ... Намерете средната стойност на три числа.

Забележка ... За да намерите средната стойност на няколко числа, добавете тези числа и разделете сбора на броя на тези числа.

Въведете текста на задачата и внимателно обмислете всеки ред. Името на програмата Srednee отразява съдържанието на задачата. Между другото, нека се съгласим, че името на програмата и името на файла, който съдържа тази програма, са еднакви. Следва свързването на модула Crt. В раздела Var, First, Second, Third са описани като променливи от целочислен тип, а Sum е от реален тип. Операторският раздел започва със стандартната екранна рутина ClrScr (Изчистване на екрана), която се намира в модула Crt. След това с оператора Write показваме съобщението „Въведете първото число“, след получаване на което потребителят трябва да въведе номера.

Сега компютърът трябва да прочете въведените символи и да ги постави в Първата променлива, това ще се случи, когато бъде изпълнено следващото ReadLn (First) оператор. След това, използвайки оператора Write, ние изискваме стойностите на още две числа и ги четем във втората и третата променливи. След това изчисляваме тяхната сума и приписваме полученото число на променливата Sum. За да намерите средната стойност, сега трябва да разделите полученото число на 3 и да съхраните резултата в някаква променлива.

Изобщо не е необходимо да декларирате друга променлива, за да запазите резултата. Можете, както в нашата програма, да разделите стойността на променливата Sum на 3 и отново да присвоите резултата на същата променлива Sum. Сега можете да покажете резултата от изчисленията на екрана, като използвате процедурата Write. И накрая, последната процедура ReadLn ще забави нашия изход на екрана, докато не бъде натиснат клавиш.

Натиснете клавишите +... Въведете стойностите на променливи 5, 7 и 12, на екрана ще видите следното:

Средната стойност на 5, 7 и 12 е 8,00

Погледнете внимателно този ред и го сравнете с реда за извеждане на резултата в нашата програма. Тествайте програмата още няколко пъти за различни стойности на променливи.

Изберете с учителя задачите за решаване от следния списък:

  1. Въведете две числа a и b. Използвайте оператора за присвояване, за да обмените техните стойности:
    а) използване на междинна променлива (x: = a; a: = b; b: = x);
    б) без използване на междинна променлива (a: = a-b; b: = a + b; a: = b-a).
  2. Напишете програма, която иска от потребителя цяло число, реално число, произволен знак и низ и след това отпечатва всичко на един ред.
  3. Покажете вашето фамилно име, собствено и бащино име и два реда по-късно - вашата дата на раждане.
  4. Напишете програма за отпечатване на една от фигурите със звездички:
    а) коледни елхи (няколко коледни елхи);
    б) снежинки (няколко снежинки);
    в) къща, напр.

    *
    * *
    * *
    ***********
    * *
    * *
    * *
    * *
    ***********

  5. Съставете своята визитна картичка.


    * Иванов Сергей *
    * Пролетарска 74 кв. 55 *
    * Телефон 45-72-88 *
    *******************************

  6. Съставете диалог между потребителя и компютъра на произволна тема.
    Например, една машина задава два въпроса: "Как се казваш?" на колко години си?"; след въвеждане на името (Антон) и числото (15) се извежда на екрана „Да ... След 50 години ще станеш на 65 години и няма да се казваш Антон, а дядо Антон“
  7. Попитайте потребителя за две числа и покажете резултата от сумата, разликата, произведението и частното от тези числа с пълен отговор.
  8. Подканете потребителя за две числа и покажете резултата от целочислено деление и остатъка от целочислено деление под формата на таблица. Например, когато въвеждате числа 5 и 3, на екрана трябва да се покаже следната таблица:

    **************************
    * X * Y * div * mod *
    **************************
    * 5 * 3 * 1 * 2 *
    **************************

  9. Напишете програма, която пита за името на животно и число и след това показва фраза като "Една катерица ще изяде 10 гъби" (когато въведете думата "катерица" и числото 10).
  10. Организирайте диалог между продавача (компютъра) и купувача (потребителя) при закупуване на продукт по следната схема: предлагане на продукта на определена цена, заявка за количеството на закупения продукт, определяне и показване на сумата, която купувачът трябва да плати за покупката.

Инструкцията за четене е предназначена за въвеждане на стойностите на променливи (начални данни) от клавиатурата. Като цяло инструкцията изглежда така:

прочетете (променлива !, променлива2, ... променлива

Ето примери за писане на изявление за четене:

Прочетете (а); чети (Цена, Кол);

Когато инструкцията за четене се изпълни, се случва следното:

1. Програмата спира работата си и изчаква, докато необходимите данни бъдат въведени на клавиатурата и се натисне клавишът .

2. След натискане на клавиша въведената стойност се присвоява на променливата, посочена в оператора.

Например в резултат на изпълнение на инструкцията

Прочетете (Tempérât);

и напишете ред 21, стойността на Tempérât е 21.

Едно изявление за четене ви позволява да получите стойностите на няколко променливи. В този случай въведените числа трябва да бъдат въведени на един ред и разделени с интервали. Например, ако типът на променливите a, b и c е реален, тогава в резултат на изпълнение на прочитането (a, b, c); и низ за въвеждане на клавиатурата:

4.5 23 0.17

променливите ще имат следните стойности: a = 4,5; b = 23, о; c = 0,17.

Ако редът съдържа повече числа от променливите, посочени в оператора за четене, тогава останалата част от реда ще бъде обработена от следващия оператор за четене. Например, в резултат на изпълнение на инструкциите:

Прочетете (a, B); прочетете (C);

и низ за въвеждане на клавиатурата

10 25 18

променливите ще получат следните стойности: a = 10, b = 25. Прочетете инструкцията (C); ще присвои на променливата със стойност 18.

Инструкцията readln се различава от инструкцията readln по това, че след избиране на следващото число от реда, въведен от клавиатурата и присвояването му на последната променлива от списъка на инструкцията readln, останалата част от реда се губи, а следващото прочетено или Инструкцията readln ще изисква нов вход.

Например, в резултат на изпълнение на инструкцията:

Readln (a, B); прочетете (C);

и въвеждане на низа

10 25 18

променливите ще получат следните стойности: a = 10, b = 25. След това програмата ще изчака въвеждането на ново число, за да го присвои на променливата c.

Всяка инструкция за четене или readln трябва да бъде предшествана от инструкция за запис, за да каже на потребителя какви данни програмата очаква от него. Например, фрагмент от програмата за изчисляване на цената на покупка може да изглежда така:

Writeln ("Въведете оригиналните данни."); напишете ("Цена на продукта:"); readln (Sepa); write ("Количество в партидата:"); readln (Кол); напиши ("Отстъпка:"); readln (Skidka);

Ако типът на данните, въведени от клавиатурата, не съвпада или не може да бъде преобразуван към типа променливи, чиито имена са посочени в оператора read (readln), програмата се срива (инструкциите след прочитане не се изпълняват) и се показва съобщение на екрана за грешка.

Езикът за програмиране Pascal използва инструкции като read и readLn. Какво са те?

Какво е прочетено изявление?

Тази инструкция е предназначена да осигури въвеждане от клавиатурата на компютъра на различни стойности на променливи, използвайки езика Pascal. Схемата за използване на разглежданата инструкция изглежда проста: като read („променлива стойност“).

На практика инструкцията за четене се използва, за да се гарантира, че определени данни се четат от файл и след това стойностите, извлечени от съответните данни, се присвояват на променливите, които са посочени при извикване на процедурата.

Ако потребителят направи грешка при въвеждане на данни, те не отговарят на нито един тип променливи, отразени в инструкцията, програмата спира да изпълнява командите. В този случай на екрана на компютъра се появява съобщение, че в приложението е възникнала грешка.

Ако програмистът използва няколко инструкции за четене, тогава данните ще бъдат въведени по един или друг начин на един ред. Следващият скок е възможен само ако текущата линия приключи. Можете обаче да прочетете информация, поставена на друг ред, като използвате инструкцията readLn. Нека разгледаме неговите характеристики по-подробно.

Какво представлява инструкцията readLn?

Същността на инструкцията readLn е да зададе условие в програмата, при което:

  • всяко число, въведено в низа, се присвоява на последната променлива от инструкцията;
  • останалата част от реда не се обработва от програмата, докато следващата инструкция ще изисква нов вход.

Така че можете да въведете инструкцията:

readLn (C, D); прочетете (E);

И ако след това въведете ред 1 2 3 от клавиатурата, тогава променливата C ще придобие стойност 1, D - 2. Но програмата няма да присвои определена стойност на променливата E, докато потребителят не въведе ново число.

Както в случая с инструкцията за четене, ако потребителят въведе неправилно типа данни с командата readLn, програмата излиза и показва съобщение за грешка.

Сравнение

Основната разлика между readLn и read е, че първата процедура включва програмата да прескочи до файловия ред, следващ този, в който са написани инструкциите. Втората процедура позволява на програмата да прочете данните, поставени в следващия ред, само с разрешение на потребителя - ако той натисне Enter.

На практика инструкцията readLn най-често се използва за осигуряване на забавяне между резултата от изпълнението на приложението и прехода към следващата инструкция. Съответното забавяне продължава, докато потребителят натисне Enter.

След като определихме каква е разликата между readLn и read на език Pascal, нека фиксираме изводите в таблицата.