Чем отличаются операторы ввода read и readln. Тема: Ввод - вывод. Операторы Read (Readln), Write (Writeln). Простейшие линейные программы. Операторы read и readln. Процедуры ввода информации

В языке программирования Pascal применяются такие инструкции, как read и readLn. Что они собой представляют?

Что представляет собой инструкция read?

Данная инструкция предназначена для обеспечения ввода с клавиатуры ПК различных значений переменных при использовании языка Pascal. Схема задействования рассматриваемой инструкции выглядит просто: как read («значение переменной»).

На практике инструкция read применяется в целях обеспечения считывания тех или иных данных из файла и последующего присвоения значений, извлекаемых из соответствующих данных, переменным, что указаны при обращении к процедуре.

В случае если пользователь ошибся при вводе данных они не соответствуют какому-либо типу переменных, отраженных в инструкции, программа перестает выполнять команды. При этом на экране ПК появляется сообщение о том, что в приложении возникла ошибка.

Если программист использует несколько инструкций read, то данные будут так или иначе вводиться в одной строке. На следующую переход возможен только при условии, что закончится текущая строка. Вместе с тем считать сведения, размещенные в другой строке, можно посредством инструкции readLn. Рассмотрим ее особенности подробнее.

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

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

  • какое-либо число, вводимое в строку, присваивается последней по инструкции переменной;
  • оставшаяся область строки не обрабатывается программой, в то время как следующая инструкция потребует осуществления нового ввода.

Так, можно ввести инструкцию:

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

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

Как и в случае с инструкцией read, при некорректном вводе типа данных пользователем посредством команды readLn программа завершает работу и выдает сообщение о том, что возникла ошибка.

Сравнение

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

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

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

Read (процедура)

Для типизированных файлов, считывает компонент файла в переменную.
- Для текстовых файлов, считывает одно или большее количество значений
в одну или большее количество переменных

Объявление

Типизированные файлы

Procedure Read(F , V1 [, V2,...,Vn ]);

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

Procedure Read([ Var F: Text; ] V1 [, V2,...,Vn ]);

Режим

Windows, Real, Protected

Замечания

Для строковых переменных:

Read считывает все символы до (но не включая) следующего маркера конца строки или пока Eof (F) станет равным True. Read не переходит к следующей строке после чтения. Если полученная в результате строка длиннее, чем максимальная длина строковой переменной, то она усекается. После первого Read, каждые последующие вызовы Read будут видеть маркер конца строки и возвращать строку нулевой длины.

Используйте несколько обращений к ReadLn, чтобы считать несколько строковых значений.

Когда включена опция Extended Syntax , процедура Read может считывать строки с нулевым окончанием в нуль-основанные массивы символов.

Для переменных типа Integer или Real :

Read будет пропускать любые пробелы, метки табуляции или маркеры конца строки, предшествующие числовой строке. Если числовая строка не соответствует ожидаемому формату, происходит ошибка ввода/вывода, иначе переменной присваивается полученное значение. Следующий Read начнется с пробела, знака табуляции или маркера конца строки, которые завершали числовую строку.

См. также

Пример

uses Crt, Dos;

var
F : Text;
Ch : Char ;

begin
{ Получаем имя файла из командной строки }
Assign(F, ParamStr (1 ));
Reset (F);
while not EOF (F) do
begin
Read (F, Ch);
Write (Ch); { Выводим содержимое файла на экран }
end ;
end .

Вы находитесь в разделе материалов по пограммированию на Паскале. Перед тем как начать программировать, надо прояснить некоторые понятия, которые нам понадобятся в начале. Ведь просто так программировать нельзя. Мы не можем записать программу словами – компьютер кроме нулей и единиц больше ничего не понимает. Для этого в Паскале создана специальная символика – язык Паскаля, набор зарезервированных слов, которые нельзя использовать в своих программах больше нигде, кроме как по назначению. Перечислим основные понятия, которые нам понадобятся в начале:

✎ 1) program – по-английски «программа», пишется в самом начале кода, после чего идет название программы латиницей и точка с запятой. Например: program Summa; − программа под названием Summa. Но эту часть кода, называемую заголовком программы, можно и не писать − она присутствует только для наглядности и показывает, какую задачу решает данная программа. Здесь мы употребили слово «код» − так называется текстовая запись программы.

✎ 2) integer – по-английски означает «целое число» (или просто «целое») и в Паскале используется для обозначения 32-битных (8 байт) целых чисел со знаком с диапазона [-2147483648, 2147483647] . Что означают эти большие числа, мы потом разберем.

✎ 3) real – с английского «реальный», «настоящий», «вещественный», «действительный». В языке Паскаль этим термином обозначаются вещественные числа с диапазона [-1.8∙10 308 , 1.8∙10 308 ] . Это очень большие числа, но значащих цифр выводится 15 – 16. Кстати, типы данных integer и real в среде программирования PascalABC.Net всегда автоматически выделяются синим цветом.

✎ 4) const – аналог англ. «constant», означающее «постоянная», «константа». В Паскале это величина, которая не может изменяться. Записывается так:


Эту запись надо воспринимать так, как она пишется: число N равно 12, S равно 5, «пи» равно 3,14 (как и в математике, только вместо запятой в Паскале используется точка). В последней строке мы использовали двойной слэш (две косые черты), после которых идет текст, – так в Паскале пишутся комментарии, и их программа не воспринимает. Всё, что начинается двойным слэшом и до конца строки – это комментарий, который пишется для пояснения к программе и всегда выделяется другим цветом (в PascalABC.Net - это зеленый, в Turbo Pascal не используется такой вид комментария). Существует и другой тип комментария – это {текст, заключенный в фигурные скобки, так же, как и здесь, тоже выделяющийся зеленым цветом} . Этот вид комментария может действовать несколько строк подряд – от начала скобки и до её закрытия, и всё, что находится в середине такой конструкции, компилятор не воспринимает как код и просто пропускает.

В действительности формат записи const немножко сложнее. По правилам мы должны были записать:

1 2 3 4 const N: type integer;

Описание:

")" onmouseout="toolTip()">integer
= 12 ; //число N – целого типа S: type integer;

Описание:
Представляет 32-битовое целое число со знаком.

Диапазон значений: -2 147 483 648 .. 2 147 483 647 ")" onmouseout="toolTip()">integer
= 5 ; //число S – целого типа pi : type real;

Описание:
Представляет число двойной точности с плавающей запятой.

Размер: 8 байт
Количество значащих цифр: 15 - 16
Диапазон значений: -1.8∙10 308 .. 1.8∙10 308
")" onmouseout="toolTip()">real
= 3.14 ; //число «пи» - вещественного

После объявления каждой величины указывается её тип, а потом присваивается значение. Но предыдущая запись тоже верна, поскольку компилятор Паскаля настроен так, что он автоматически определяет тип постоянной. Но этого нельзя сказать о следующем типе чисел – переменных.

✎ 5) var – происходит от англ. «variable» («переменная», или «изменчивый»), что в Паскале означает величину, которая в процессе программы может изменять свое значение. Записывается так:


Как видно из записи, знака «=» здесь нет – пересчитываются переменные одного типа (через запятую) и после двоеточия указывается только тип. Переменные N, m (целые) и Q, r, t (вещественные) в программе могут изменять значения в пределах integer и real соответственно. Ещё одно замечание: описание переменных всегда стоит после описания констант (постоянных) – сначала идет конструкция const , а потом var .

✎ 6) begin – в переводе с английского означает «начинать» и Паскале означает начало основной программы, в которой записываются команды (операторы). После слова begin точка с запятой не ставится.

✎ 7) end – по-англ. «конец», и в языке Pascal означает то же (конец программы). После последнего слова end всегда стоит точка. Мы выделили слово «последнего», поскольку использование конструкции begin – end возможно ещё в одном случае: это так называемые операторные скобки, которые применяются для объединения нескольких операций под одним оператором. Но об этом потом. Таким образом, основная программа будет выглядеть так:

1 2 3 4 5 6 begin < оператор 1 > ; < оператор 2 > ; . . . . . . . < оператор N > ; end .

Здесь операторы в теле программы – это разные команды компилятору.

✎ 8) write – по-английски означает «писать». Этот оператор выводит на экран текст, помещенный в него, поэтому так и называется – оператор вывода. Текст, помещенный в него, выделяется синим и записывается так:

Write("этот текст выведен на экране" );

Сообщение, находящееся в скобках и кавычках, будет показано в окне консоли (просто в скобках без кавычек нельзя). После выполнения этого оператора мы увидим на экране:

этот текст выведен на экране

В таком виде оператор write используется в том случае, когда надо показать подсказку, пояснение, комментарий и т. п. А от если необходимо вывести ещё и числовое значение, скажем, S = 50 кв. м, то используется формат:

Write(, S);

В результате получим на экране результат:

Величина площади равна: S = 50

А при необходимости вывести единицы измерения, надо после S снова вставить текст в кавычках:

Write("Величина площади равна: S = " , S, " кв.м" );

После выполнения последнего оператора вывода получим вывод на экран:

Величина площади равна: S = 50 кв.м

✎ 9) writeln – то же, что и write, но после выполнения курсор будет переведен на следующую строку.

✎ 10) read – в переводе с английского означает «читать», поэтому read называется оператором считывания, или ввода данных. Записывается как read(N), что означает необходимость ввода величины N, где N – любое число, или текст, или другой тип переменной. Например, если надо ввести возраст человека, которому 32 года, мы можем записать так:


В первой строчке этого кода программа выводит вопрос «Каков Ваш возраст? » и переводит курсор в следующую строку (окончание ln); во второй строке мы выводим « Year = » (в начале пробел); далее мы видим оператор readln(Year) означающий необходимость введения возраста Year (число 32); наконец, выводим сообщения «Мой возраст », «32 » и « года. » поочередно. Необходимо внимательно следить за пробелами. В результате выполнения данного кода мы получим сообщение:

Каков Ваш возраст?
Year = 32
Мой возраст 32 года

✎ 11) readln – то же, что и read, только с переводом на новую строку. Действительно, в приведенном выше примере после введения числа Year мы только в следующей строке пишем: «Мой возраст 32 года ».

Это пока что все. На следующей странице мы напишем первую программу, и в программировании на Паскале это будут наши

Я думаю многим это будет интересно)))

Инструкции read и readln

Инструкция read предназначена для ввода с клавиатуры значений переменных (исходных данных). В общем виде инструкция выглядит следующим образом:

read (Переменная1, Переменная2, ... ПеременнаяN)

где переменнаяы - имя переменной, значение которой должно быть введено с клавиатуры во время выполнения программы.

Приведем примеры записи инструкции read:

read(a); read(Cena,Kol);

При выполнении инструкции read происходит следующее:

1. Программа приостанавливает свою работу и ждет, пока на клавиатуре будут набраны нужные данные и нажата клавиша .

2 http://tissot.ua/ купить наручные часы часы купить киев. . После нажатия клавиши введенное значение присваивается переменной, имя которой указано в инструкции.

Например, в результате выполнения инструкции

read(Temperat);

и ввода с клавиатуры строки 21, значением переменной Temperat будет число 21.

Одна инструкция read позволяет получить значения нескольких переменных. При этом вводимые числа должны быть набраны в одной строке и разделены пробелами. Например, если тип переменных а, ь и с - real, то в результате выполнения инструкции read(a,b,c); и ввода с клавиатуры строки:

4.5 23 0.17

переменные будут иметь следующие значения:

а = 4,5; b = 23,0; с = 0,17.

Если в строке набрано больше чисел, чем задано переменных в инструкции read, то оставшаяся часть строки будет обработана следующей инструкцией read http://crystal.lviv.ua crystal crystal. . https://mainvisa.com.ua фото приглашение в украину для иностранных граждан. . Например, в результате выполнения инструкций

read(А,В); read(С);

и ввода с клавиатуры строки

10 25 18

переменные получат следующие значения: А=10, B = 25. Инструкция read (С); присвоит переменной с значение 18.

Инструкция readln отличается от инструкции read тем, что после выделения очередного числа из введенной с клавиатуры строки и присваивания его последней переменной из списка инструкции readin, оставшаяся часть строки теряется, и следующая инструкция read или readin будет требовать нового ввода.

Например, в результате выполнения инструкции

readin(А,В); read(С);

и вводе с клавиатуры строки

10 25 18

переменные получат следующие значения: А=10, B = 25. После чего программа будет ожидать ввода нового числа, чтобы присвоить его переменной с.

Перед каждой инструкцией read или readin следует располагать инструкцию write, для того чтобы подсказать пользователю, какие данные ожидает от него программа. Например, фрагмент программы вычисления стоимости покупки может иметь вид:

writeln("Введите исходные данные.");

Write("Цена изделия:");

Readln(Сеnа);

write("Количество в партии:");

Readln(Kol);

write("Скидка:");

readln(Skidka);

Если тип данных, вводимых с клавиатуры, не соответствует или не может быть приведен к типу переменных, имена которых указаны в инструкции read (readin), то программа аварийно завершает работу (инструкции, следующие за read, не выполняются), и на экран выводится сообщение об ошибке.

4. Операторы write и writeln. Процедуры вывода информации

Вы обратили внимание, что в программе были использованы операторы write и writeln. Английское слово write переводится - писать, а слово writeln происходит как сокращение от двух английских слов write - писать и line - строка.

Кроме операторов write и writeln мы говорим о процедурах вывода информации.

Что же такое процедура ?

Понятие процедуры - одно из основных понятий Паскаля. Ему подобна подпрограмма на языке Бейсик.

Процедура - это некоторая последовательность операторов языка Паскаль, имеющая имя и к которой можно обратиться из любого места основной программы, указав ее имя.

Выше мы говорили об операторах вывода информации, хотя в Паскале, в отличие от Бейсика нет операторов вывода информации, а через служебные слова write и writeln происходит обращение к стандартной или встроенной процедуре вывода информации. Стандартная процедура не нуждается в предварительном описании, она доступна любой программе, в которой содержится обращение к ней. Вот почему обращение к write или writeln напоминает оператор PRINT - вывода информации на языке Бейсик.

Разница между оператором вывода и обращением к процедуре вывода состоит в том, что имя процедуры вывода, как и любой другой процедуры Паскаля не является зарезервированным словом, а, следовательно, пользователь может написать свою собственную процедуру с именем write или writeln. Но это очень редко используется на практике.

Таким образом, операторы write и writeln являются операторами обращения к встроенным процедурам вывода информации.

Обе эти процедуры выводят информацию на экран, если эта информация содержится в виде значений переменных, тогда достаточно в скобках в операторах write или writeln записать имена этих переменных, например: write(a), writeln(f). Если таких переменных несколько, то их записывают через запятую, например: write(a, b, c, d), writeln(e,f, g, h).

Если информацией являются слова, предложения, части слов или символы, тогда она заключается между знаками "; " "; - апостроф , например:

write("Введите длину пути"),

writeln("Значение скорости равно"

Возможен одновременный вывод и символьной информации и значений переменных, тогда в операторе write или writeln они разделяются запятыми, например:

write("Значение температуры равно ", t),

writeln("Скорость равна ", v, " при времени движения ", t).

Заметьте, в конце слов, перед апострофом оставлен пробел.

Для чего это сделано ? Конечно, чтобы следующая числовая информация была разделена со словами пробелом.

В чем состоит отличие в работе процедур write и writeln?

Процедура write требует от следующих процедур ввода или вывода, информацию вводить или выводить ее на ту же строку (в одну строку ).

Если в программе указан оператор write и за ним следуют еще операторы write или writeln, то выводимая ими информация будет присоединяться к строке информации первого оператора write.

Например: write("Сегодня и завтра будут ");

write("выходные дни ");

На экран выводится:

Сегодня и завтра будут выходные дни

Пробел между словом ";будут"; и ";выходные"; обеспечивается за счет пробела в конце первой строки. Если его не будет, то вывод произойдет слитно :

write("Сегодня и завтра будут");

write("выходные дни");

Сегодня и завтра будутвыходные дни

Еще некоторые примеры: t:=20;

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

write(" секунд");

Время движения равно 20 секунд

write("Сумма чисел равна ");

write(", а произведение ");

Сумма чисел равна 30, а произведение 216

Процедура writeln обеспечивает для следующих процедур ввода или вывода информации вводить или выводить ее с начала каждой новой строки .

В программе:

writeln("Сегодня вечером, вечером, вечером,");

writeln("Когда пилотам, скажем прямо, делать нечего");

На экран выводится:

Сегодня вечером, вечером, вечером,

Когда пилотам, скажем прямо, делать нечего

В программе:

writeln("Сумма и разность чисел равны:");

На экране:

Сумма и разность чисел равны:

5. Операторы read и readln. Процедуры ввода информации

Так же, как и для операторов вывода информации, операторы read и reeadln являются операторами обращения к встроенным процедурам ввода информации.

Операторы read (считывать) и readln, который происходит от двух английских слов read (считывать) и line (строка) используются в программах для ввода информации в память компьютера и ";считывания "; значений в переменную.

Рассмотрим работу этих операторов и процедур ввода информации.

В нашей программе есть процедура readln(a). При выполнении программы, встретив оператор readln, компьютер приостановит работу в ожидании ввода информации. После того, как мы введем с клавиатуры значение переменной a - 16, компьютер присвоит это значение переменной a, т.е. отправит его в ячейку памяти с именем a и продолжит выполнение программы. Этот процесс мы называем ";считыванием "; значения в переменную.

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

Таких переменных может быть несколько, тогда они записываются в этих операторах через запятую, например:

read(a, b, c, n, g, j, i), readln(e,f, k, p, d) и т.п.

Чем же отличается работа процедур read и readln?

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

Например:

В программе: write("Введите значения a и b "); read(a, b);

write("Ввод информации в одну строку");

При выполнении этой части программы, на экран будет выведено все то, что записано в первом операторе write, затем в той же строке будет находиться курсор, и компьютер будет ждать ввода значений a и b. Введем их значения - 2 и 3, разделяя их пробелом или, иначе говоря, через пробел. После этого, в той же строке будет выдана информация записанная в следующем операторе write.

На экране:

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

В программе:

writeln("Введите значения a, b и c); readln(a, b, c);

writeln("Ввод и вывод информации с начала строки");

На экране:

Введите значения a, b и c

Ввод и вывод информации с начала строки

Глава 2. Ввод и выполнение программ

1. В интегрированной среде Турбо Паскаль 7.0.

После запуска Турбо Паскаля на экране появится следующая оболочка (см. рис. 3):

Рис. 3

Верхняя строка открывшегося окна содержит ";меню "; возможных режимов работы Турбо Паскаля, нижняя - краткую справку о назначении основных функциональных клавиш. Вся остальная часть экрана принадлежит окну текстового редактора, очерченному двойной рамкой и предназначенному для ввода и редактирования текста программы.

Когда мы вводим программу, то работаем с текстовым редактором, встроенным в среду Турбо Паскаль. Поэтому ниже мы и познакомимся с работой редактора и основными его командами.

Признаком того, что среда находится в состоянии редактирования, является наличие в окне редактора курсора - небольшой мигающей черточки.

Для создания текста программы нужно ввести этот текст с помощью клавиатуры подобно тому, как это делается при печатании текста на пишущей машинке. После заполнения очередной строки следует нажать на клавишу B>Enter> ";Ввод ";, чтобы перевести курсор на следующую строку (курсор всегда показывает место на экране, куда будет помещен очередной вводимый символ программы).

Окно редактора имитирует длинный и достаточно широкий лист бумаги, часть которого видна в окне экрана. Если курсор достиг нижнего края, осуществляется прокрутка окна редактора: его содержимое смещается вверх на одну строку и внизу появляется новая строка ";листа ";. Наибольшая длина строки на Турбо Паскале - 126 символов.

Окно можно смещать относительно листа с помощью следующих клавиш:

PgUp - на страницу вверх (PaGe UP - страница вверх);

PgDn - на страницу вниз (PaGe DowN - страница вниз);

Home - в начало текущей строки (HOME - домой);

End - в конец текущей строки (END - конец);

Ctrl-PgUp - в начало текста;

Ctrl-PgDn - в конец текста.

Клавишами управления курсора “курсор ” можно смещать по тексту на экране (заметьте, только по тексту!). По ";чистому "; не исписанному экрану курсор не перемещается!

Если Вы ошиблись при вводе очередного символа, его можно стереть с помощью клавиши, обозначенной стрелкой влево (клавиша Backspace - B>Забой>, она располагается справа и вверху зоны основных алфавитно-цифровых клавиш над клавишей B>Enter> - “Ввод ”). Клавиша B>Delete > (Delete - стирать, удалять ) стирает символ, на который в данный момент указывает курсор, а команда Ctrl-Y - всю строку, на которой располагается курсор. Следует помнить, что редактор Турбо Паскаля вставляет в конце каждой строки невидимый на экране символ-разделитель. Этот символ вставляется клавишей B>Ввод>, а стирается клавишей B>Забой> или B>Delete > . С помощью вставки/стирания разделителя можно ";разрезать ”/";склеить "; строки.

Чтобы ";разрезать "; строку, следует подвести курсор к нужному месту и нажать клавишу B>Ввод>, чтобы ";склеить "; соседние строки, нужно установить курсор в конец первой строки и нажать клавишу B>Delete > или установить курсор в начало следующей строки и нажать клавишу B>Забой>.

Режим вставки

Нормальный режим работы редактора - режим вставки, в котором каждый вновь вводимый символ как бы ";раздвигает "; текст на экране, смещая вправо остаток строки. Следует учитывать, что ";разрезание "; и последующая вставка пропущенных символов возможна только в этом режиме.

Примеры ";разрезания ";, ";склеивания "; строк и вставки символов в текст.

Пусть по каким-то причинам на экране получена такая запись:

Program Serg; var

a, b, c: integer;

Если говорить об эстетической стороне написания программы, то желательно, чтобы раздел описаний, который начинается со слова var, начинался с красной строки. Для внесения изменений в текст установим курсор на букву v и нажмем клавишу B>Ввод>, при этом часть текста после курсора и под ним переместится на следующую строку, получим:

Program Serg;

a, b, c: integer;

Для большей красоты и наглядности, не перемещая курсора, а оставляя его на букве v , нажмем несколько раз клавишу B>Пробел>. Вся строка передвинется на вправо и запись станет такой:

Program Serg;

a, b, c: integer;

Допустим другую ситуацию, когда часть текста ";разорвалась "; и ее нам надо ";склеить ";, например, получилось так:

write("Введите число лет, кото

рое было бы Серёже ";);

Устанавливаем курсор в начало второй строки перед буквой ";р"; и нажимаем клавишу B>Забой>, получим:

write("Введите число лет, которое было бы Серёже ");

Можно поступить иначе, установить курсор в конец первой строки после буквы ";о"; и нажимая несколько раз клавишу B>Delete> ";подтягивать"; нижнюю строчку вверх.

С помощью клавиш B>Забой> и B>Delete > можно ";соединять "; ";разорванную ” строку. Например, в такой ситуации:

write("Вве дите число лет, которое было бы Сереже ");

Устанавливаем курсор перед буквой ";д"; и нажимаем несколько раз клавишу B>Забой> до тех пор, пока слово ";Введите"; примет нужную конструкцию, или, установив курсор после буквы ";е"; нажать несколько раз клавишу B>Delete>.

Вставка пропущенных символов делается еще проще.

Например, вы пропустили несколько букв:

wrte("Ввете число лет, которое было бы Сеже ");

В первом слове пропущена буква ";i";, в слове ";Введите"; пропущены две буквы ";ди";, в слове ";Сережа"; буквы ";ер";.

Установим курсор на букву ";t"; в первом слове и наберем с клавиатуры ";i";, она тут же вставится на нужное место. Далее установим курсор на букву ";т"; в слове ";Ввете"; и наберем с клавиатуры ";ди";, слово ";раздвинется "; и буквы ";ди"; станут на свои места. Установим курсор на ";е"; в слове ";Сежа"; и наберем ";ер";,

Режим наложения

Редактор может также работать в режиме наложения новых символов на существующий старый текст: в этом режиме новый символ заменяет собой тот символ, на который указывает курсор, а остаток строки справа от курсора не смещается вправо. Для перехода к режиму наложения надо нажать клавишу B>Insert > (Ins ert - вставка), если нажать эту клавишу еще раз, вновь восстановится режим вставки. Признаком того, в каком режиме работает редактор, является форма курсора: в режиме вставки курсор похож на мигающий символ подчеркивания, а в режиме наложения он представляет собой крупный мигающий прямоугольник, заслоняющий символ целиком.

Режим автоотступа

Еще одной особенностью редактора является то, что обычно он работает в режиме автоотступа. В этом режиме каждая новая строка начинается в той же позиции экрана, что и предыдущая.

Режим автоотступа поддерживает хороший стиль оформления текстов программ: отступы от левого края выделяют различные операторы и делают программу более наглядной.

Отказаться от режима автоотступа можно командой Ctrl-O I (при нажатой клавише Ctrl нажимается сначала клавиша O , затем клавиша O отпускается и нажимается клавиша I ), повторная команда Ctrl-O I восстановит режим автоотступа.

Ниже перечислены наиболее часто используемые команды текстового редактора Турбо Паскаля, кроме тех, которые были приведены выше.

Команды редактирования

Backspac - B>Забой> - стереть символ слева от курсора;

Del - стереть символ, на который указывает курсор;

Ctrl-Y - стереть строку, на которой располагается курсор;

Enter - B>Ввод> - вставить новую строку, ";разрезать "; старую;

Ctrl-Q L - восстановить текущую строку (действует, если

курсор не покидал измененную строку).

Работа с блоком

Ctrl-K B - пометить начало блока;

Ctrl-K Y - стереть блок;

Ctrl-K V - переместить блок;

Ctrl-K P - напечатать блок;

Ctrl-K H - спрятать/отобразить блок (снять пометку);

Ctrl-K K - пометить конец блока;

Ctrl-K C - копировать блок;

Ctrl-K W - записать блок в дисковый файл;

Выполнение программы

После того, как программа набрана можно попробовать ее выполнить.

Для этого нажимаем клавиши B>Ctrl>+ (удерживая клавишу B>Ctrl>, нажать клавишу B>F9>). Эту же операцию можно выполнить, перейдя в основное меню, нажав клавишу B>F10>, а затем перемещением указателя выбрать опцию Run и нажать клавишу B>Ввода>.

На экране раскроется меню второго уровня, связанное с этой опцией. Новое меню как бы ";выпадает "; из верхней строки, поэтому такое меню часто называют выпадающим (Pull-down). Экран станет таким (см. рис. 4):

Рис. 4

Теперь надо найти в новом меню опцию RUN (пуск) и нажать клавишу B>Ввод>.

Если не было ошибки при вводе текста, то, спустя несколько секунд, произойдет смена изображения на экране. Турбо Паскаль предоставляет экран в распоряжение работающей программы пользователя. Такой экран называется окном программы.

В ответ на запрос:

Введите число лет, которое было бы Серёже, надо ввести 16 и нажать клавишу B>Ввод>.

После завершения прогона (работа программы часто называется ее прогоном) на экране вновь появится окно редактора с текстом программы. Если Вы не успели разглядеть изображение окна программы, то нажмите Alt-F5. При этом окно редактора скроется и вы сможете увидеть результаты работы программы. Чтобы вернуть экран в режим воспроизведения окна редактора, надо нажать на любую клавишу.

Можно экран сделать более удобным, чтобы видеть результаты работы программы. Для этого в нижней части экрана можно открыть второе окно.

Для этого нажмите клавишу F10, чтобы перейти к режиму выбора из главного меню, подведите указатель к опции Debug (отлаживать) и нажмите клавишу B>Ввод> - на экране раскроется меню второго уровня, связанное с этой опцией. Экран станет таким (см. рис. 5):


Рис. 5

Найдите в новом меню опцию OUTPUT (вывод программы), подведите к ней указатель и нажмите клавишу B>Ввод>.

В нижней части экрана появится второе окно, но оно уже не будет исчезать.

Теперь добьемся того, чтобы на экране демонстрировалось два окна одновременно: снова нажмите клавишу F10, выберите WINDOW , нажмите клавишу B>Ввод>, подведите указатель к опции TILE (черепица) и нажмите клавишу B>Ввод>.

Если все сделано правильно, экран примет вид (см. рис. 6):

Рис. 6

Двойная рамка, очерчивающая окно программы, свидетельствует о том, что именно это окно активно в данный момент.

Сделаем активным окно редактора: нажмем клавишу B>Alt> и, не отпуская ее, - клавишу с цифрой 1 (окно редактора имеет номер 1, окно программы - номер 2, эти номера написаны в верхних правых углах рамок). Теперь всё готово к дальнейшей работе с программой.

Первые ошибки и их исправление

1. Не поставлена точка с запятой, например, после оператора readln(a). После пуска программы, нажатием клавиш B>Ctrl>+B>F9>, в верхней строке экрана появится написанное красным цветом сообщение:

Error 85: ";;"; expected.

(Ошибка 85: ";;"; отсутствует.)

Редактор установит курсор на следующий символ после пропущенного знака, в нашем примере на переменную b. После нажатия любой клавиши, сообщение об ошибке исчезает и редактор переходит в режим вставки. Надо подвести курсор к нужному месту, поставить точку с запятой - “;” и продолжить работу.

2. В описании переменных не записана переменная, а в программе она присутствует, например переменная c . После пуска программы, будет выдано сообщение:

Error 3: Unknown identifier.

(Ошибка 3: Неизвестный идентификатор.)

Курсор будет установлен на эту переменную, в нашем примере на переменную c . Надо исправить ошибку, т.е. записать переменную c в раздел описаний переменных и продолжить работу.

3. Не поставлена точка после оператора end в конце программы. Сообщение компилятора будет таким:

Error 10: Unexpected end of file.

(Ошибка 10: Неправильный конец файла.),

курсор установится на букву ";e "; в слове ";end ";. Надо поставить точку и снова выполнить программу.

Запись файла на диск

Итак, программа отредактирована и выполнена (прокручена), теперь ее надо записать на диск. Для этого можно воспользоваться основным меню, в котором выбрать опцию ";File "; (см. рис. 7). Последовательность действий такова: 1) нажать клавишу F10 и перейти в основное меню; 2) переместить указатель на опцию ";File "; и нажать B>Ввод>, откроется второе меню опции ";File ";:

Рис. 7

Вы можете из этого меню выбрать опцию ";Save ";. Она записывает содержимое активного окна редактора в дисковый файл.

Если нажать клавишу B>Ввод>, то среда запросит имя файла, если такового не было установлено и окно было связано с именем NONAME00.PAS. Вы можете изменить имя, или оставить его прежним.

Эта опция вызывается непосредственно из редактора клавишей B>F2>.

Можно выбрать опцию SAVE AS . Она записывает содержимое активного окна редактора в дисковый файл под другим именем.

Диалоговое окно этой опции имеет вид (см. рис. 8):

Рис. 8

В поле ввода Вы должны написать имя того файла, в который будет переписано содержимое активного окна редактора. Вы можете выбрать уже существующий файл из поля выбора или из протокола с опциями. В этом случае в зависимости от настройки среды старое содержимое файла будет уничтожено или сохранено в виде страховой копии с расширением.BAK.

Построчная запись текста программы

В Паскале нет правил разбивки текста программы на строки.

Однако для записи программы можно дать некоторые

Очень важно, чтобы текст программы был расположен наглядно не только ради красоты, но (и это главное!) ради избежания ошибок. (Найти ошибки в наглядном тексте значительно легче.)

1. Каждый оператор следует писать с новой строки, за исключением коротких и по смыслу связанных операторов.

Например,

write ... readln ... - записываются в одной строке, короткие операторы присваивания можно записать в одну строку:

a:= 23; b:= 105; c:= -11.2.

2. Операторы одного уровня, находящиеся в разных строках, должны быть выровнены по вертикали, т.е. одинаково отодвинуты от левого края.

Например, запишем последовательность операторов для определения суммы цифр трехзначного числа:

s:= a div 100;

d:= a div 10 mod 10;

e:= a mod 10;

Здесь все операторы равноценны, последовательно идут один за другим, поэтому все начинаются с одной и той же вертикальной позиции.

3. Операторы, включенные в другой оператор, следует сдвинуть вправо на несколько позиций (желательно одинаково).

if ... then

4. Рекомендуется вертикально выравнивать пары базовых слов: begin и end , с которыми мы уже познакомились, а также слова, с которыми мы познакомимся позже: repeat и until , record и end , case и end .

Вот несколько самых популярных вариантов размещения оператора if :

а) if ... then ...

else ...

б) if ... then ...

else ...

в) if ...

then ...

else ...

г) if ...

then ...

else ...

д) if ... then ... else ...

6. Комментарии пишутся либо рядом с конструкцией (идентификатором, оператором, его частью), которую они объясняют, либо в отдельной строке.

Документ

программированием программирования программирования , общего... Гробовая тишина . › Несколько раз парное программирование прошло...

  • Алистэр коуберн парное программирование преимущества и недостатки

    Документ

    Исследования, связанных с программированием и организационной эффективностью. Удивительно... языка программирования , определенных способов проектирования и программирования , общего... Гробовая тишина . › Несколько раз парное программирование прошло...

  • Введение в нейролингвистическое программирование новейшая психология личного мастерства

    Документ

    Будет называться?" В результате получилось Нейролингвистическое программирование - громоздкое словосочетание, за которым скрываются... неразговорчивый, вокаль­ный, звучать, голос, говорит, тишина , диссонанс, созвучный, гармоничный, пронзительный, тихни...

  • НЕЙРОЛИНГВИСТИЧЕСКОЕ ПРОГРАММИРОВАНИЕ (методическое пособие для начинающих)

    Документ

    ПСИХОТЕРАПЕВТИЧЕСКИЙ ЦЕНТР "ЛАД" В.И.ЭЛЬМАНОВИЧ НЕЙРОЛИНГВИСТИЧЕСКОЕ ПРОГРАММИРОВАНИЕ (методическое пособие для начинающих) ЧАСТЬ1. ... МОДАЛЬНОСТИ (А). 1. Если громкость = 0, то «слушает тишину» , если громкость максимальная, то «горит...

  • 
    Top