Лекция №11
Тема: Операторы языка Pascal. Линейные программы.
Цель: Сформировать и развить умения и навыки составления и записи на языке Раskal линейных программ.
Количество часов – 4часа
Для ввода используются операторы:
Read (b1, b2, ,b n);
Readln (b,b,..,b);
Readln;
Где B1,b2,…, bn-имена переменных, значения которых вводятся.
Оператор read(b1,b2,…,bn); осуществляет ввод данных из стандартного файла INPUT. Типы вводимых данных должны соответствовать типам переменных в списке оператора ввода.
Оператор readln (b1,b2,…,bn); осуществляет ввод данных из стандартного файла INPUT и после выбора значения последней переменной обеспечивает переход к началу новой строки файла. При вводе значений целого и действительного типов операторы READ и READLN игнорируют пробелы между значениями.
Оператор READLN; обеспечивает пропуск одной строки в стандартном файле INPUT и переход к началу новой строки. Ввод переменных логического типа недопустим.
Для вывода информации используются операторы:
WRITE (b1, b2, ,b n);
WRITELN (b1, b2, ,b n);
WRITELN;
Где b1,b2,…, bn-имена переменных, значения которых выводятся.
Оператор WRITE(b1, b2, ,b n); выполняет вывод значений, соответствующих перечисленным именам в стандартный файл OUTPUT, размещая выводимые значения в одной строке.
Оператор WRITELN(b1, b2, ,b n); выполняет вывод значений, соответствующих перечисленным именам в стандартный файл OUTPUT и после вывода последнего значения осуществляется переход к новой строке файла
Оператор WRITELN; обеспечивает пропуск одной строки в стандартном файле и переход к началу новой строки. Имена переменных в списке операторов вывода могут принадлежать к целому, действительному, символьному или логическому типам.
Вещественные данные выводятся в формате с плавающей точкой. Ширина поля вывода в этом случае составляет 18 символов: #.###########E+###, где # - любая десятичная цифра от 0 до 9, например :
0.34430000000Е-01 0,03443
Общий вид записи операторов для вывода значений целого типа:
WRITE (b:m); WRITELN (b:m);
А для вывода действительного типа:
WRITE (b:m:n); WRITELN (b:m:n);
Где B - имя выводимой переменной; m- ширина поле, отводимое под значение и задаваемое константой или выражением целого типа; n- часть поля, отводимого под дробную часть числа.
Операторы программы линейной структуры записываются друг за другом в соответствии с порядком, определяемым алгоритмом. Для записи программы такой структуры необходимы операторы присваивания, ввода исходных данных и вывода результатов вычислений.
Программа на языке ПАСКАЛЬ оформляется в виде заголовка программы и блока, заканчивающегося точкой.
Заголовок программы имеет вид Program имя (input, output);
Имя программы выбирается пользователем.
Блок программы включает в себя разделы:
описания меток (LABEL);
определение констант (CONST);
определение типов (TYPE);
описание переменных (VAR);
описание функций и процедур (FUNCTION и PROCEDURE).
Раздел операторов включает в себя операторы, которые записываются в соответствии с
алгоритмом решения и заключаются, в операторные скобки BEGIN и END.
Описания и определения в разделах заканчиваются символом “;” .
При отсутствии описаний или определений, принадлежащих какому-либо разделу, данный
раздел опускается.
Операторы присваивания .В результате присваивания переменная получает конкретное
значение.
Общий вид оператора:
V: =a;
Где v- имя переменной (результата); a- выражение.
Выполнение инструкции присваивания заключается в следующем:
-
вычисляется результат выражения, находящегося справа от символа «:=»
-
вычисленное значение записывается в переменную, имя которой стоит слева от
символа «:=»
Например:
Im: = 0;
P: = 1;
Im: = im + 2;
P: = p * im;
Имя переменной и результат выражения должны принадлежать одному типу. Исключение
может составить случай, когда выражение имеет значение целого типа, а имя результата-
действительного типа. Например, для описаний и определений вида
Counts n=100;
Var. Tyrell;
Справедлив оператор присваивания T: = N;
Пример1.
Составить программу для вычисления высот треугольника со сторонами a,b,c, используя
формулы:
где p=(a + b + c)/2;
Исходными данными для решения являются значения длин сторон треугольника- a, b, c. Для
ввода этих значений следует использовать оператор READ. При этом значения а, b, c
должны быть расположены
на одной строке экрана дисплея. В программе используются переменная р для вычисления
полупериметра и вспомогательная переменная t для исключения повторений.
Вычислительные значения высот ha, hb, hc необходимо вывести со своими именами, каждую
на одной строке.
Программа имеет вид:
Program hrt ( input, output);
Var a, b, c, p, t, ha, hb, hc : real;
Begin
Read (a, b, c);
P: =(a+b+c)/2;
T: =2*SQRT (p*(p-a)*(p-b)*(p-c));
Ha:= t/a;
Hb:= t/b;
Hc:= t/c;
Writeln(‘Ha=’, Ha);
Writeln(‘Hb=’, Hb);
Writeln(‘Hc=’, Hc);
End.
Пример2.
Составить программу для вычисления значений y и p,
используя расчетные формулы:
program prim2;
var a, x, z, y, p, c: real;
begin
writeln(' введите a, x, z');
read(a, x, z);
y: = a*exp(3* Ln(sin(x*x)/cos(x*x)))+SQRT(z*z/(a*a+x*x));
p:=Ln(a+x*x)+SQR(sin(z/a));
writeln('y=',y:3:2);
write('p=',p:3:2);
end.
Пример3.
Составьте программу вычисления общей поверхности и объема круглого конуса , имеющего
радиус основания R=12,54см и длину образующей L=24,54см. При вычислении используем
равенства:
где H-высота конуса, определяемая по формуле
program prim3;
const pi=3.14;
var R,L,H,S,V:real;
begin
read(L,R);
s:=pi*R*R+pi*R*L;
H:=SQRT(L*L-R*R);
V:=PI*(R*R+r*r+R*r)*H/3;
Writeln(‘параметры конуса’);
Writeln(‘R=’,R,’L=’,L,’H=’,H);
Writeln(‘поверхность конуса’);
Writeln(‘S=’,S);
Writeln(‘объем конуса’);
Writeln(‘V=’,V);
END.
В программе отсутствуют метки, константы, типы, функции и процедуры. Поэтому разделы
определения и описания указанных структур.
Одним из способов, улучшающих восприятие программы, являются применение
комментариев. Комментарий представляет собой текст, вставляемый в программу для
дополнительных пояснений. Комментарии не воспринимаются и не обрабатываются Э.В.М.,
поэтому они могут быть записаны на русском языке. Текст комментария заключается между
символами "{" и "}" или "(*" и "*)" и может содержать цифры, буквы, ключевые слова и
специальные символы. Например:(* ПРОГРАММА УПОРЯДОЧЕВАНИЯ ЭЛЕМЕНТОВ
МАССИВА *). Комментарии могут использоваться для пояснения назначения программы,
констант, переменных, разделов программы или для пояснения используемых методов в
алгоритме.
В языке ПАСКАЛЬ символьные переменные и массивы описываются в разделе описания
типов. Описание типов имеет вид:
TYPE <имя> OF CHAR;
Где <имя>- имя символьной переменной или символьного массива. При этом размеры
массива описываются обычным образом.
ЗАДАЧИ ДЛЯ РЕШЕНИЯ
ЗАДАЧА № 1.
Вычислить для усеченного конуса площадь поверхности
и объем
ЗАДАЧА № 2.
Составить программу для нахождения значения функции y по формуле.
;
ЗАДАЧА № 3.Составить программу для нахождения значений A и B по формулам: ; x=1,426 y=-1,22 z=3,5