Программирование циклических вычислительных процессов с использованием операторов, реализующих базовые структуры цикла, страница 2

n=10, a0=1,2, a1=1,2, a2=1,2, k=0.


4. Блок-схема:                                                                                             


4. Программа:

Program Prog2;

Var

a0,a:real;

i,n,k:integer;

Begin

WriteLn;

WriteLn('Введите n,a0');

Read(n,a0);

WriteLn;

WriteLn('Введено число вычисляемых элементов последовательности:',n:4);

WriteLn('Начальное значение:',a0:6:1);

k:=0;

i:=1;

a:=a0;

while i<=n do

begin

a:=a;

if a>5 then k:=k+1;

i:=i+1;

end;

WriteLn;

WriteLn('k=',k:4);

End.

5. Вид печати:

Введено число вычисляемых элементов последовательности:  10

Начальное значение:   1.2

k=   0

Задачи 3. Используя формулу для элементов последовательности ai, составить программу для вычисления суммы n элементов этой последовательности.

Дано: , n=8.

Решение.

1.Анализ задачи:

В этой задаче элементы последовательности вычисляются рекуррентно, составим это соотношение

 Тесты для проверки программы:

x=0, y=0;

x=1, y=0,47111.

3. Исходные данные:

4. Блок-схема:

 


5.Программа:

Program Pro3;

Var x,a,b,g,h,y:real;

Begin

WriteLn('Введите x:');

ReadLn(x);

WriteLn;

WriteLn('x=',x:6:2);

a:=EXP(-x);

b:=1+x;

g:=4*x*a/b;

h:=(1+b)/(6+a);

If g<=h then y:=g

else y:=h;

WriteLn;

WriteLn('Вычислено у=',y:10:5);

End.

6. Вид печати:

Введено x=  0.00

Вычислено у=   0.00000

Введено x=  1.00

Вычислено у=   0.47111.

Задача 4. Разработать программу, которая вычисляет для целых значений аргумента одну из заданных функций в указанной точке:

а) если х равен –2, -1, 0, 1, 2, то

б) если х равен 3, 4, 5, 6, 7, 8, 9, 10, то

в) если х равен –4, 4, то

г) в остальных случаях

Напечатать значения х, у.

Указание. Программу составить двумя способами:

а) с помощью условного оператора;

б) с помощью оператора выбора.

Решение.

  1. Расчетные формулы:

  1. Тесты для проверки программы:

x=0, y=2.08008;

x=3, y=0.47712;

x=4, y= 0.60206;

x=15, y=3375.

  1. Исходные данные:
  2. Блок-схема:

 


  1. Программа:

Program Pro4;

Var   x:integer;

      a,y:real;

Begin

WriteLn('Введите x');

ReadLn(x);

a:=x+9;

if (-2<=x) and (x<=2) then y:=a/ABS(a)*EXP(Ln(a)/3)

else if (3<=x) and (x<=10) then y:=Ln(x)/Ln(10)

else if (x=-4) and (x=4) then y:=sin(a)