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

UptoLike

51
PROGRAM PR29;
VAR
X,Y,E,A,B,C:REAL;
I:INTEGER;
BEGIN
WRITE('X,E');
READLN(X,E);
WRITE('A');
READLN(A);
WRITE('B');
READLN(B);
WRITE('C');
READLN(C);
Y:=1;
I:=1;
WHILE I<=2 DO
BEGIN
WHILE ABS(Y)>= E DO
BEGIN
X:=X+E/2;
Y:=A*X*X+B*X+C;
END;
WRITELN('Y = ',Y:8:7,' X',I:2,' = ',X:5:4);
I:=I+1;
X:=X+E/2;
Y:=A*X*X+B*X+C;
END;
END.
Пример 30. Составить программу вычисления значений функции
Y=
520
10 12 2 7
2
−+
x
Ln x x(.)
при изменении Х от Х
н
до Х
к
с шагом dX.
При решении данной задачи возникает ситуация, когда попытка вычислить значение
функции Y при Х=0.3 - логарифм натуральный из отрицательного числа. В данном случае
необходимо дополнительно произвести проверку, является ли аргумент логарифма положи-
тельным числом.
PROGRAM PR30;
VAR
XN,XK,DX,X,Y,R:REAL;
BEGIN
WRITE(' Введите XN,XK,DX ');
READLN(XN,XK,DX);
X:=XN;
WRITELN(' X Y');
WHILE X<=XK DO
BEGIN
R:=10*X*X-12*X+2.7;
IF R>0 THEN
BEGIN
Y:=(5-20*X)/LN(R);
PROGRAM PR29;
VAR
 X,Y,E,A,B,C:REAL;
 I:INTEGER;
 BEGIN
  WRITE('X,E');
   READLN(X,E);
  WRITE('A');
     READLN(A);
     WRITE('B');
     READLN(B);
     WRITE('C');
     READLN(C);
     Y:=1;
      I:=1;
       WHILE I<=2 DO
        BEGIN
         WHILE ABS(Y)>= E DO
          BEGIN
          X:=X+E/2;
          Y:=A*X*X+B*X+C;
          END;
          WRITELN('Y = ',Y:8:7,' X',I:2,' = ',X:5:4);
            I:=I+1;
            X:=X+E/2;
            Y:=A*X*X+B*X+C;
        END;
     END.

      Пример 30. Составить программу вычисления значений функции
                 5 − 20 x
      Y=
           Ln(10 x 2 − 12 x + 2.7 )
      при изменении Х от Хн до Хк с шагом dX.
    При решении данной задачи возникает ситуация, когда попытка вычислить значение
функции Y при Х=0.3 - логарифм натуральный из отрицательного числа. В данном случае
необходимо дополнительно произвести проверку, является ли аргумент логарифма положи-
тельным числом.

PROGRAM PR30;
VAR
XN,XK,DX,X,Y,R:REAL;
 BEGIN
  WRITE(' Введите XN,XK,DX ');
  READLN(XN,XK,DX);
   X:=XN;
WRITELN(' X        Y');
 WHILE X<=XK DO
   BEGIN
    R:=10*X*X-12*X+2.7;
    IF R>0 THEN
     BEGIN
      Y:=(5-20*X)/LN(R);

                                                                                  51