top of page

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

 

Решение

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

назад

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

назад

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

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

Решение:

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

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

 

назад

 

 

 

Составить программу для вычисления 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;

i:=n;

while i>0 do begin

j:=1;

Fact:=1;

Stepen:=1;

while j<=i do begin

Fact:=Fact*j;

Stepen:=Stepen*x;

j:=j+1;

end;

s:=s+stepen/fact;

i:=i-1;

end;

writeln(s:4:2);

readln;

end.

назад

var s:real;

    i,n,j,x,stepen,fact:integer;

begin

write('Input n=');

readln(n);

write('Input x=');

readln(x);

S:=0;

i:=n;

repeat

j:=1;

stepen:=1;

fact:=1;

repeat

fact:=fact*j;

stepen:=stepen*x;

j:=j+1

until j>i;

s:=s+stepen/fact;

i:=i-1;

until i=0;

writeln(s:4:2);

readln;

end.

назад

 

 

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

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

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

A:=1; S:=0;
Repeat

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

Until A>100;
Writeln(S)
End.

назад

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

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

S:=0;
For A:=1 To 100 Do S:=S+A*A;
Writeln(S)

End.

назад

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

Якорь 1
Якорь 2
Якорь 3.1
Якорь для
банк 3
Якорь 5
Якорь до
bottom of page