Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Metodichka_po_informatike.pdf
Скачиваний:
162
Добавлен:
13.02.2015
Размер:
1.67 Mб
Скачать

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

3.8. Ввод исходных данных. Операторы READ и READLN

Оператор READ(переменная1, переменная2, …, перемен-

наяN) обеспечивает чтение данных с клавиатуры дисплея и присвоение прочитанных значений соответствующим переменным из списка в скобках.

Оператор READLN(переменная1, переменная2, …, пере-

меннаяN) выполняется, так же как и операторREAD, за исключение того, что по окончании чтения последней переменной осуществляется переход к началу новой строки. Данные, оставшиеся в старой строке игнорируются, и следующий оператор READ будет воспринимать данные только с новой строки. Поэтому ввод тех значений, которые указываются в оператореREADLN(...), необходимо всегда заканчивать нажатием клавишиEnter. При выполнении операторов READ и READLN ЭВМ приостанавливает работу и ждет, когда пользователь введет с терминала необходимое количество значений, которые в порядке очередности присваиваются переменным, стоящим в скобках.

Пример. В результате фрагмента программы

Var

N: Integer; {определение переменной целого типа}

C, D, R, S: Real; {определение переменных вещественного типа}

S1, S2, S3: Char; {определение переменных символьного ти-

па}

Begin Readln (N);

Read (C, D, R, S);

Read (S3, S2, S1);

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

2 <Enter>

23.45_ _ _ 2_43_ __54.5 <Enter> Лес <Enter>

27

переменные примут следующие значения: N = 2; C = 23,45;

D =2; R =43; S = 54,5; S3 ='Л'; S2 ='е'; S1 ='с'.

С помощью одного оператораREAD можно прочитать любое число данных. Типы вводимых значений необходимо согласовывать с типами соответствующих переменных. Вводить можно переменные любых из описанных типов, кроме булевского (логического) типа Boolean.

3.9. Вывод данных. Операторы WRITE и WRITELN

Оператор WRITE(выражение1, выражение2, …, выраже-

ниеN) выполняет вывод значений выражений, указанных в списке. Тип каждого выражения определяет тип печатаемой единицы данных. Могут выводиться выражения целого, вещественного,

символьного типов, логического

типа Boolean, а так же строки

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

 

Значения

переменных

каждого

следующего

оператора

WRITE печатаются на той же строке. Чтобы осуществить переход к новой строке используется операторWRITELN, имеющий вид: WRITELN(выражение1, выражение2, …, выражениеN)

выполняет такие же действия, как и оператор WRITE, за исключением того, что после вывода значения последнего выражения производится переход к новой строке . экранаОпертор WRITELN без параметров (WRITELN;) вызывает пропуск строки на экране.

Управление печатью. Чтобы выводимые на печать результаты были оформлены в удобном для пользователя виде, необходимо регулировать число позиций, отводимых в листинге под каждую единицу данных операторовWRITE и WRITELN. Для этого в языке Турбо-Паскаль предназначены две положительные величины: ширина поля и точность, указываемые через двоеточие после соответствующего выражения.

Например: WRITE(‘РЕЗУЛЬТАТЫ’: 16, R: 5: 2);

Ширина поля

Точность

28

Ширина поля - это общее количество позиций, занимаемых единицей данных (числом, строкой, символом).

Точность указывает число цифр дробной части числа (после точки). Точность всегда меньше ширины. Обе величины указываются только для выражений действительного типа. Для выражений других типов следует указывать только один параметр-

ширину поля.

Если параметр ширина поля опущен, то по умолчанию он принимает стандартное значение:

-для данных целых и действительных типов - 13;

-для данных логического типа - 6;

-для символьных данных и строковых констант ширина поля будет равна числу символов в единице данных.

3.10. Оператор присваивания

Оператор присваивания, имеет вид A:= B, где А - имя переменной, B - выражение или переменная. Он обозначает, что вновь вычисленное значение выраженияB присваивается некоторой переменной A. Например,

L := a mod b;

J := k*(j - h*b-f*b);

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

3.11. Пример составления программы

Составить программу вычисления общей поверхности и объема круглого конуса, имеющего радиус основания R=12,54 cм

и длину образующей L=24,83 см. При вычислениях использовать равенства:

S = p R2 + RL; V= 13 p R2H,

 

где H - высота

конуса, определяемая

по

формуле

H=

 

.

 

 

 

L2 - R 2

 

 

 

29

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

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

При вычислениях будет использоваться зарезервированная константа PI (p = 3,1415926).

В качестве имен переменных будем использовать переменные, обозначения которых максимально совпадают с именами самой задачи. Таким образом, выберем следующие имена переменных:

R - радиус основания;

L - длина образующей; H - высота конуса;

S - полная поверхность конуса V - объем конуса.

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

(*Программа вычисления поверхности и объема конуса *) Program Conus;

Var R, L, H, S, V : Real; Begin

Read (R,L); (* ввод R, L с клавиатуры *) S := PI*R*R + PI*R*L;

H := SQRT(L*L - R*R); V := PI*R*R*H/3;

(*вывод значений R, L, H, V, S*)

Writeln(‘Параметры конуса: R=', R:6:3,’L=', L:6:3, ’H=', H:6:3);

Write ('V=',V:6:3,’S=',S:6:3); End.

30

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