top of page

На примере простых задач «Банк» и «Евклид» нужно сравнить готовые решения этих задач с помощью трех типов циклов.

Задача «Банк». Посчитать итоговую сумму денег на банковском вкладе за N лет при P процентах годовых.

 

Решение

Program bank1;
CONST P=15;  N=5;
VAR   S:real;  i: integer;
BEGIN
Writeln (‘Summa vklada: ’);
Readln (S);
For i:=1 to N do
S:=S+S*P/100;
Writeln (‘itogovaja summa’, S);
END.

Пример решения №2

Пример решения №3

Задача «Евклид» (алгоритм нахождения наибольшего общего делителя).

Условие: Если n=m, то НОД (n, m) = n = m
Если n>m, то НОД (n, m) = НОД (n-m, m)
Если n<m, то НОД (n, m) = НОД (n, m-n)

Решение:

Program evklid2;
VAR  n,m : integer;
BEGIN
Readln (n, m);
While n<>m do
If n>m then n:=n-m
else m:=m-n;
Writeln (‘НОД = ’, n)
END.

Пример решения №2

Эту задачу нельзя решить с помощью цикла со счетчиком. Применение цикла с постусловием требует изначально сравнения введенных чисел, таким образом цикл вложен в условный оператор. Решение этой задачи с помощью цикла с предусловием кажется наиболее красивым.

 

Составить программу для вычисления S. Задачу решить тремя способами (с использованием трех типов оператора цикла).

 

1. Вычислить:    

S:=xn/n!+xn-1/(n-1)!+...+x1/1!    

Известные величины: n,x

 

Решение

    

var s:real;

    x,i,n,j,Fact,Stepen:integer;

begin

write('Input n=');

readln(n);

write('Input x=');

readln(x);

S:=0;

for i:=n downto 1 do begin

Fact:=1;

Stepen:=1;

for j:=1 to i do begin

Fact:=Fact*j;

stepen:=stepen*x;

end;

S:=S+stepen/Fact;

end;

writeln(s:4:2);

readln;

end.

 

 

 

Пример решения №2

 

Пример решения №3

 

 

Найти сумму квадратов всех натуральных чисел от 1 до 100. Решим эту задачу с использованием всех трех видов циклов.

 

I. С использованием цикла "Пока".

 

Program Ex1;
Var
A : Integer;
S : Longint;
Begin

A:=1; S:=0;
While A<=100 Do
Begin

S:=S+A*A;
A:=A+1

End;
Writeln(S)

End.

 

Пример решения С использованием цикла "До".

Пример решения С использованием цикла "С параметром".


 

Дополнительное задание:

Написать таблицу "Соответствия расстояния в дюймах расстоянию в метрах". Для значений от 10 до 20; с шагом h=+1; 1 дюйм = 25,4 мм. Решить эту задачу с использованием всех трех видов циклов.

 

 

Практикум по решению задач

bottom of page