Паскаль. Операторы вывода данных Write и WriteLn. Первая программа

Паскаль. Операторы вывода данных Write и WriteLn. Первая программа

Оператор (команда) вывода Write

Первый оператор, с которым мы познакомимся, занимается исключительно тем, что приказывает компью­теру изобразить на экране монитора ту или иную информацию, состоящую из букв (символов) и чисел. Пусть мы хотим, чтобы компьютер изобразил на экране число 1999. Эту задачу выполняет оператор Write. К ней обра­тимся так - Write(1999). То, что нужно изобразить, положено заключать в круглые скобки. По-английски слово Write [raɪt] означает «ПИШИ». Для тех, кто плохо разбирается в английской транскрипции, приведём примерное американское произношение русскими буквами - «врайт».

Говорят, что команда Write(1999) выводит на экран число 1999, или (по традиции), что команда Write печа­тает число 1999, хотя, конечно, печатать на экране нельзя. (Правда, Паскаль всегда легко настроить так, чтобы Write выполнялся не на мониторе, а на принтере.)

А теперь поучимся на примерах:

Как пишем команду в программеЧто видим в результате на экране
Write(-500);-500
Write(3+2);5

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

Как пишем команду в программеЧто видим в результате на экране
Write(3*2);6
Write(6/2);3

Пояснение: «*» - знак умножить, «/» - знак деления и дроби на Паскале.

Как пишем команду в программеЧто видим в результате на экране
Write(2*2-1);3
Write('Здравствуйте!');Здравствуйте!

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

Как пишем команду в программеЧто видим в результате на экране
Write('Я играю на басу');Я играю на басу
Write(3+2 , 4+4);58

Это не пятьдесят восемь, а два числа: пять и восемь. К сожалению, они расположены вплотную друг к другу. Чуть ниже вам станет ясно, как преодолеть этот недостаток оператора Write.

Как пишем команду в программеЧто видим в результате на экране
Write('Это' , 4+4 , 'кошек');Это8кошек

Как видите, один оператор Write может выводить сразу несколько элементов. Элементы нужно отделять друг от друга запятыми. В этом примере - три элемента:

  • текст 'Это';
  • выражение 4+4;
  • текст 'кошек'.

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

Самое трудное для новичка - не путать запятые и одинарные кавычки (апострофы), находить элементы и отличать текстовые элементы от чисел и выражений.

Совет: сначала найдите внутри скобок запятые. Рассмотрим пример:

Как пишем команду в программеЧто видим в результате на экране
Write (8, 'котят', 3*3, 'щенят');    8котят9щенят

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

8         'котят'        3*3             'щенят'

Теперь, чтобы отличить текстовые элементы от прочих, обратим внимание, что они заключены в апострофы.

'котят'         'щенят'

Еще пример:

Как пишем команду в программеЧто видим в результате на экране
Write ( 'Это',4       +4,     ' кошек' );Это8кошек

Как видите, результат не зависит от количества пробелов (пропусков, пустых мест) снаружи от текстовых элементов, взятых в апострофы. Но пробелы, встретившиеся внутри апострофов, отображаются на экране:

Как пишем команду в программеЧто видим в результате на экране
Write('Это', 4+4, 'ко шек');Это8ко шек
Write('Это ', 4+4, ' кошек');Это 8 кошек
Write('16+16=' , 16+16);16+16=32

Здесь два элемента: текст '16+16=' и выражение 16+16. Несмотря на то, что текст очень похож на выражение, компьютер узнает его по апострофам и не вычисляет, а просто воспроизводит, как записано – 16+16=. Любой элемент, заключенный в апострофы, Паскаль считает текстом.

Как пишем команду в программеЧто видим в результате на экране
Write(3+2 , '  ' , 4 +4);5 8

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

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

Задание 1

Изобразите на листке бумаги в клетку (один символ - одна клетка), что напечатает оператор Write('12' , '5 + 1' , 5 + 1, '=' , 120+21);. Подчеркните текст одной чертой, а выражения и числа двойной.

Первая программа на Паскале

Конечно, кроме оператора Write в Паскале есть еще много команд. Но для начального понимания того, как устроена программа на Паскале, достаточно и его. Вот пример программы:

Begin
  Write('Начали!');
  Write(8+1);
  Write(5-2);
End.

Вы видите, что программа состоит из трех операторов Write, записанных друг за другом. Кроме них, программы на Паскале содержат «знаки препинания» - в нашем случае это служебные слова Begin и End, точка с запятой и точка. Слова Begin и End в нашей программе не являются, в отличие от Write, приказами на выполнение каких-либо действий по выполнению задания.

Пока примем такие правила расстановки «знаков препинания»:

  1. Begin [bɪˈgɪn] – служебное слово, обозначающее начало тела программы. Переводится как «Начать», читается «биге́н». Begin будем ставить в начале программы, чтобы компьютеру было видно, откуда она начинается. (Это правило мы очень скоро уточним).
  2. End [end] – служебное слово, обозначающее конец тела программы. Переводится как «Конец», читается «энд». End с точкой ставится в конце программы, чтобы компьютеру было видно, где она кончается.
  3. Точкой с запятой необходимо отделять операторы (команды) друг от друга. Служебные слова Begin и End от команд точкой с запятой отделять не нужно.

Итак, программа на Паскале, как и на многих языках, состоит из последовательности команд, выполняемых компьютером в порядке записи. Так, выполняя нашу программу, компьютер сначала выведет на экран слово «Начали!», затем число 9, затем число 3. На этом работа программы завершится. На экране мы увидим «Начали!93».

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

Begin	Write('Начали!')	;
	Write(8 +1)	;Write(5
			-2); End.

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

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

bEgin WriTe('Начали!') ; write( 8+1) ; WRITE( 5-2) enD.

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

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

Пример:

Begin {Начало тела программы}
  Write('Начали!'); { Это команда напечатает слово «Начали!». }
  Write(8+1) ;
  Write(5-2);	{ А здесь компьютер из 5 вычтет 2 и напечатает результат. }
End.	{ Конец тела программы. Не забыть бы точку. }

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

Оператор (команда) вывода WriteLn. Курсор

Оператор WriteLn - читается «врайт лайн», переводится - «ПИШИ СТРОКУ». Правила его записи и выполнения те же, что и у Write, с одним исключением - после выполнения команды Write следующий оператор Write или WriteLn печатает свою информацию в той же строке, а после выполнения оператора WriteLn - с начала следующей.

Примеры:

ПрограммаЧто видим на экране
Begin
Write('Ама');
Write('зонка');
End.
Амазонка
Begin
Write('Ама');
WriteLn('зонка');
End.
Амазонка
Begin
WriteLn('Ама');
Write('зонка');
End.
Ама
зонка
Begin
WriteLn('Ама');
WriteLn('зонка');
End.
Ама
зонка

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

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

Оператор WriteLn можно использовать просто для перевода курсора в начало следующей строки. Для этого достаточно написать одно слово WriteLn без скобок.

Задание 2

Определите без компьютера и изобразите на листке бумаги в клетку (один символ - одна клетка), что напечатает программа:

Begin
  Write(1992);
  WriteLn('	Мы начинаем!');
  WriteLn(6*8);
  WriteLn;
  WriteLn('Шестью шесть ' ,	6*6,	'. Арифметика:' , (6+4)*3);
End.

Пояснение. Значок «*» обозначает умножение. Выполнив задание на бумаге, напечатайте программу на компьютере и сверьте результаты. Совпадает ли число пробелов между символами? Если не совпадает, еще раз прочтите материал, чтобы понять, почему. Измените число пробелов в разных местах последнего WriteLn. Как изменилась картинка на экране? Почему? Добавьте рядом с пустым WriteLn еще один. Что изменилось? Почему?

Турбо-Паскаль 7.0 - Самоучитель
Лукин С.Н.