(Pascal)Используя операторы For и If, вычислить ** отрезке [a, b] с шагом 1 значения...

0 голосов
85 просмотров

(Pascal)Используя операторы For и If, вычислить на отрезке [a, b] с шагом 1 значения функции:


image

Информатика (27 баллов) | 85 просмотров
Дано ответов: 2
0 голосов
Правильный ответ
// PascalABC.NET 3.2, сборка 1492 от 03.07.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var (a,b):=ReadInteger2('Введите a и b:');
  var Y:real;
  for var x:=a to b do begin
    if x<5 then<br>      Y:=Sqrt(Abs((x-23)/67))
    else if x>10 then Y:=Exp(x)+Ln(x/6)
    else Y:=Sin(Pi/4);
    Writeln(x:5,y:20:9)
    end
end.

Пример
Введите a и b: -6 12
   -6         0.657902592
   -5         0.646459935
   -4         0.634811054
   -3         0.622944381
   -2         0.610847222
   -1         0.598505602
    0         0.585904072
    1         0.573025487
    2         0.559850726
    3         0.546358365
    4         0.532524262
    5         0.707106781
    6         0.707106781
    7         0.707106781
    8         0.707106781
    9         0.707106781
   10         0.707106781
   11     59874.747851001
   12    162755.484566184
(150k баллов)
0 голосов

Var a, b, x: integer;
begin
    readln(a);
    readln(b);
    for x:=a to b do
    begin
        if x > 10 then
            writeln(exp(x) + ln(x / 6))
        else if x < 5 then
            writeln(sqrt(abs(x - 23) / 67))
        else 
            wrtieln(sin(pi/4));
    end;
end.

(1.4k баллов)