Паскаль в примерах. Иринчеев А.А - 47 стр.

UptoLike

47
Пример 23. Составить программу вычисления значений функции Z=sin(x) +cos(y) для
x=x
0
(h
x
)x
n
и y=y
0
(h
y
)y
n
. Аргументы функции x, y - действительные числа. (Здесь имеем x
0,
y
0
- начальные значения х и y; hx, h
y
- шаг изменения x и y; x
n
, y
n
- конечные значения x и y).
Для определения значений функций Z для всех различных пар (х и y) необходимо про-
цесс вычислений организовать следующим образом. Вначале при фиксированном значении
одного из аргументов, например при х= x
0
вычислить все значения Z для всех заданных y: y
0
,
y
0 +
h
y
, ... , y
n.
Затем, изменив значение х на х+ h
x
, вновь перейти к полному циклу изменения
переменной y. Данные действия повторить для всех заданных x: x
0
, x
0
+ h
x
, ... , x
n
.
При реализации данного алгоритма нам необходима структура вложенных циклов:
внешнего цикла - для изменения значения переменной х и внутреннего цикла - для измене-
ния значений переменной y. Причем в данной задаче внешний и внутренний циклы можно
поменять местами, при этом изменится только очередность изменения аргументов при вы-
числении функции.
PROGRAM PR23;
VAR
I,J,NX,NY:INTEGER;
X,X0,HX,XN,Y,Y0,HY,YH,Z:REAL;
BEGIN
WRITE(‘ Введите X0,HX,XN ‘);
READLN(X0,HX,XN);
WRITE(‘ Введите Y0,HY,YH’);
READLN(Y0,HY,YH);
NX:= TRUNC((XN-XO)/HX)+1;
NY:= TRUNC((YN-YO)/YX)+1;
X:=X0;
WRITELN (‘ X Y Z’);
FOR I:=1 TO NX DO
Y:=Y0;
BEGIN
FOR J:=1 TO NY DO
BEGIN
Z:=SIN(X)+COS(Y);
WRITELN (X:5:3,’ ‘’, Y:5:3,’ ‘,Z:8:5);
Y:=Y+Y0;
END;
X:=X+X0;
END;
END.
2.17. Оператор цикла с предусловием
Оператор цикла с предусловием имеет вид
WHILE
B DO A,
где WHILE (ПОКА), DO - служебные слова:
В - логическое выражение булевского типа;
А - простой или составной оператор.
Выполнение оператора начинается с вычисления значения В. Если оно имеет значение
TRUE, то выполняется оператор А. Затем выполнение оператора цикла повторяется до тех
пор, пока значения выражения В не станет равным FALSE. Как только получается значение
FALSE, управление передается оператору, следующим за оператором цикла, а оператор А
внутри цикла не повторяется.
      Пример 23. Составить программу вычисления значений функции Z=sin(x) +cos(y) для
x=x0(hx)xn и y=y0(hy)yn. Аргументы функции x, y - действительные числа. (Здесь имеем x0, y0
- начальные значения х и y; hx, hy - шаг изменения x и y; xn, yn - конечные значения x и y).
      Для определения значений функций Z для всех различных пар (х и y) необходимо про-
цесс вычислений организовать следующим образом. Вначале при фиксированном значении
одного из аргументов, например при х= x0 вычислить все значения Z для всех заданных y: y0,
y0 + hy, ... , yn. Затем, изменив значение х на х+ hx, вновь перейти к полному циклу изменения
переменной y. Данные действия повторить для всех заданных x: x0, x0 + hx , ... , xn.
      При реализации данного алгоритма нам необходима структура вложенных циклов:
внешнего цикла - для изменения значения переменной х и внутреннего цикла - для измене-
ния значений переменной y. Причем в данной задаче внешний и внутренний циклы можно
поменять местами, при этом изменится только очередность изменения аргументов при вы-
числении функции.

PROGRAM PR23;
 VAR
 I,J,NX,NY:INTEGER;
 X,X0,HX,XN,Y,Y0,HY,YH,Z:REAL;
   BEGIN
    WRITE(‘ Введите X0,HX,XN ‘);
     READLN(X0,HX,XN);
   WRITE(‘ Введите Y0,HY,YH’);
    READLN(Y0,HY,YH);
       NX:= TRUNC((XN-XO)/HX)+1;
       NY:= TRUNC((YN-YO)/YX)+1;
       X:=X0;
WRITELN (‘ X       Y    Z’);
   FOR I:=1 TO NX DO
     Y:=Y0;
      BEGIN
       FOR J:=1 TO NY DO
         BEGIN
           Z:=SIN(X)+COS(Y);
          WRITELN (X:5:3,’ ‘’, Y:5:3,’ ‘,Z:8:5);
          Y:=Y+Y0;
         END;
     X:=X+X0;
      END;
 END.

                            2.17. Оператор цикла с предусловием

       Оператор цикла с предусловием имеет вид
              WHILE B DO A,
       где WHILE (ПОКА), DO - служебные слова:
       В - логическое выражение булевского типа;
       А - простой или составной оператор.
    Выполнение оператора начинается с вычисления значения В. Если оно имеет значение
TRUE, то выполняется оператор А. Затем выполнение оператора цикла повторяется до тех
пор, пока значения выражения В не станет равным FALSE. Как только получается значение
FALSE, управление передается оператору, следующим за оператором цикла, а оператор А
внутри цикла не повторяется.

                                                                                            47