Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PASСAL_a4_2007.doc
Скачиваний:
31
Добавлен:
13.09.2019
Размер:
2.51 Mб
Скачать

5.2. Ввод информации

Для того, чтобы можно было работать с какой-то переменной величиной, необходимо задать ее значение. Первый путь - присвоить ей значение с помощью команды присваивания. Этот путь имеет существенные недостатки. Разберем его на примере программы CIRCULE (см. раздел 5.1). Эта программа годится только для того, чтобы вычислить S и L для окружности радиуса 73.34. Для того, чтобы вычислить S и L для окружности другого радиуса, необходимо написать (или изменить старую) программу, которая будет отличаться лишь одной командой:

R:=<значение>;

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

  • в нужный момент запрашивала бы у человека значение переменной,

  • а после задания человеком этого значения присваивала бы его этой переменной.

Такая команда называется командой ввода и имеет следующую структуру:

READLN(<список переменных>)

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

Например, если в программе есть команда

READLN(A,B)

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

15.76 21

и затем нажата клавиша <ENTER>, то переменные А и В примут следующие значения:

А=15.76 В=21

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

...

WRITELN;

WRITE(‘Введите длину прямоугольника ‘);

READLN(L);

WRITE(‘Введите ширину прямоугольника ‘);

READLN(H);

...

Рекомендуем в дальнейшем использовать только комментированный ввод данных!

Программа CIRC, приведенная в разделе 5.1, с использованием команд ввода и вывода будет иметь следующий вид:

PROGRAM CIRC;

{ Программа вычисления площади и длины окружности }

CONST

PI=3.14159;

VAR

R,S,L : REAL;

BEGIN

WRITELN; {пустой ввод - готовимся к вводу информации }

WRITE(‘Введите радиус окружности: ‘); { вывод текста }

READLN(R); { ввод радиуса окружности }

S:=PI*R*R; { вычисление площади круга }

L:=2*PI*R; { вычисление длины окружности }

WRITE(‘Площадь круга S=’,S,’ Длина окружности L=’,L);

END.

Вопросы для контроля

  1. Какова структура программы на языке Pascal?

  2. Для чего нужны и как записываются идентифи­каторы? Какие из следующих имен могут быть использованы в качестве идентификаторов:

а)

begin

ж)

help+me

н)

#1

б)

beginend

з)

help me

о)

sin

в)

IBM

и)

helpme

п)

***********

г)

1999space

к)

буфер1

р)

Keyboard

д)

1999

л)

КОАЛИЦИЯ

с)

a.b.c

е)

space1999

м)

number_school

т)

hungry...dog

  1. В каком порядке выполняются команды? Что напечатает каждый из приведенных фрагментов:

a)

y:=3;

x:=y+1;

writeln(x,’ ‘,y);

y:=y+1;

x:=3;

writeln(x,’ ‘,y);

в)

w:=3;

w:=w+1;

q:=2*w;

writeln(w,’ ‘,q);

б)

rate:=5;

time:=4;

junk:=rate-time;

dist:=rate*time;

write(rate,’ ‘,time,’ ‘, junk,’ ‘,dist);

г)

Num:=2;

Cbnum:=num*num*num;

writeln(cbnum,’ ‘,num*num);

(4) Найдите ошибки в записи арифметических выражений на языке программирования Pascal:

Математическая запись

Запись на языке Pascal

(a)

2a+b

2a+,b

(б)

a+b/c+d

(в)

(a+2b)2

(a+2*b)2

(г)

| x-12 |

abs x-12

(д)

(5) Что такое «ключевое слово»? Что произойдет, если ключевое слово записано неправильно?

(6) Может ли существовать программа, в которой нет ни одной команды вывода?

(7) Сколько элементов вывода может быть в команде вывода? Чем они отделяются друг от друга?

(8) Какое самое маленькое целое число может быть использовано в программе на языке Pascal? Самое большое?

(9) Что вы предпочитаете использовать при записи вещественных констант в программе: десятичную запятую или десятичную точку? Мотивируйте свой ответ.

(10) Какие символы могут входить в состав числовой константы? Текстовой константы?

(11) Будут ли отличаться результаты выполнения команд write(125+25); и write(‘125+25’)?

(12) Является ли обязательным символ “;” в программе? Приведите пример программы, где нет ни одной точки с запятой. Назовите ситуации, в которых можно не ставить точку с запятой ( ; ).

(13) Для чего используются комментарии в программах?

(14) Для чего предназначена команда ввода?

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]