Программирование на языках высокого уровня. Язык программирования Паскаль 

 

назад

 

 

Лабораторная работа № 1

Тема 1: Стандартные функции. Арифметические выражения.

(в лекциях см. п. 1.4, 2.9 )

Тема 2: Логические выражения. Условный оператор.

(в лекциях см. п. 2.4, 3.3 )

Пример задания:

1. Вычислить значение арифметического выражения следующего вида:

  2y при 0 < y < = 20
2. Вычислить значение функции f = y+2 при y = 0
  у/2 при у < 0 или y > 25

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);

и вывода на экран полученных результатов.

Значения исходных данных выбираются произвольно. Ввод исходных данных организовать любым известным вам способом (использовать не менее двух способов).

Таблица 1 – Варианты арифметических выражений

Номер варианта Выражение Исходные данные
0
x, y
1
x, y
2
c, x, y
3
b, x, y
4
x, y, z
5
x, y, z
6
x, y, z
7
x, y
8
x, y, z
9
x, y, z


  Таблица 2 – Варианты функций  
0
b =
ln|x/y|+(x^2+y)^3, при x-y=0;ln|x*y|+(x^2+y)^3, при x-y>0;(x^2+y)^3, при x-y<0.
1
c =
x^2+y^2+sin(x), при x-y=0;(x-y)^2+cos(x), при 0<x-y<=36;(y-x)^2+tg(x), при x-y<0.
2
d =
(x-y)+arctg(x), при x>y;(y-x)^3+arctg(x), при y>x;(y+x)^3+0.5, при x=y.
3
f =
|x|-|y|, при 0.5<=xy<1.0;
x+y, при 0.1<xy<0.5;2x, при 1.0<=xy<2.5.
4
g =
arctg(x+|y|), при 2<y<12;arctg(|x|+y), при y<=2;(x+y)^2, при y>=12.
5
h =
5x-3y, при -1<x<15;x+2*|y|, при x>15;2y, при x=15 или x<= -1
6
i =
3x^3+3y^2, при x>|y|;|x-y|, при 3<x<|y|;(x-y)^2, при x=|y|.
7
j =
ln(|x|+|y|), при 5<=|xy|<10;x-y, при |xy|>=10;x+y, при |xy|<5.
8
c =
x^2+y^2, при x-y<=0;cos(y), при 0<x-y<=45;(y-x)^2, при x-y>45.
9
h =
2x+4y, при -4<=x<32;x+2*|x|-y, при x>32;3x, при x=32 или x< -4
 

 

 

 


назад