Программирование
на языках высокого уровня. Язык программирования Паскаль |
|
Лабораторная работа № 1 Тема 1: Стандартные функции. Арифметические выражения. (в лекциях см. п. 1.4, 2.9 ) Тема 2: Логические выражения. Условный оператор. (в лекциях см. п. 2.4, 3.3
) Пример задания: 1. Вычислить значение арифметического выражения следующего вида:
3. Вывести на экран значения y и f. Варианты программы: 1. Var A, B, C, D, Y ,f: Real; Begin A:=1.5; B:=4.3; C:=10; D:=7.1; {ввод данных} Y:=(A*Sqrt(Abs(Sin(A+B*C)))-Exp(-A*C))/Sqrt(Abs(2*B+D)); WriteLn (‘Y=’, Y:8:3); {вывод результата} f:=0; {перед началом вычисления значению f присваивается 0 (можно любое другое значение) для того, чтобы в случае, если ни одно из условий не выполнится, на экран вывелось f = 0, т.е. чтобы значение f не осталось неопределенным } if (y>0) and (y<=20) then f:=2*y; if (y=0) then f:=y+2; if (y<0) or (y>25) then f:=y/2; WriteLn (‘f=’, f:8:3); End. 2. Const D=10; Var A, B, C, Y ,f: Real; Begin randomize; A:=random; Write(введите числa B и C типа real:’); Read(B,C); Y:=(A*Sqrt(Abs(Sin(A+B*C)))-Exp(-A*C))/Sqrt(Abs(2*B+D)); WriteLn (‘Y=’, Y:8:3); {вывод результата} if (y>0) and (y<=20) then f:=2*y else if (y=0) then f:=y+2 else if (y<0) or (y>25) then f:=y/2 else f:=0; WriteLn (‘f=’, f:8:3); End. Замечание: В первом варианте программы выполняется три проверки условия (т.е. три оператора if ) даже если например уже первое условие будет истинным (хотя понятно, что в этом случае другие условия точно будут ложными и нет необходимости в их проверке). Во втором варианте используется один вложенный оператор if, что позволяет избежать лишних проверок. Задание: Разработать программу для вычисления: 1) значения заданного арифметического выражения (см. вариант по таблице 1); 2) значения заданной функции (см. вариант по таблице 2); и вывода на экран полученных результатов. Значения исходных данных выбираются произвольно. Ввод исходных данных организовать любым известным вам способом (использовать не менее двух способов).
Таблица 2 – Варианты функций
|