Задача 1. Нахождение n-го члена арифметической прогрессии
(an=a1+d*(n-1)-формула n-го члена арифметической прогрессии).
Program Progressiy;
Var
a1, d, k: real;
n: integer;
{- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -}
Function Arif (a1, d: real; n: integer): real;
Begin
if n = 1
then
Arif:= a1
else
Arif:= Arif(a1, d, n - 1) + d;
End;
{- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -}
Begin
writeln('Задайте первый член прогрессии');
readln(a1);
writeln('Задайте разность арифметической прогрессии');
readln(d);
writeln('Арифметическая прогрессия ', Аrif(a1, d, n): 4: 2);
End.
Задание. Составьте программу
a) нахождения n-го члена геометрической прогрессии,
б) нахождения суммы членов арифметической прогрессии,
в) нахождения суммы членов геометрической прогрессии,
г) нахождения n-го члена ряда Фибоначчи.
Задача 2. Вложенность квадратов.
Program KaparovS;
Uses
Crt, Graph;
Var
x, y, x1, y1, x2, y2, x3, y3, n, d, a, b: integer
{- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -}
Procedure Pic(x, y, x1, y1, x2, y2, x3, y3, n, d: integer);
Var
k, j: integer;
Begin
if n >=1
then
begin
Line(x, y, x1, y1);
Line(x1, y1, x2, y2);
Line(x2, y2, x3, y3);
Line(x3, y3, x, y);
j:= x;
k:= y;
x:= (x1-x) div 2 + x;
|
|
y:= (y1-y) div 2 + y;
x1:= (x2-x1) div 2 + x1;
y1:= (y2-y1) div 2 + y1;
x2:= (x3-x2) div 2 + x2;
y2:= (y3-y2) div 2 + y2;
x3:= (j-x3) div 2 + x3;
y3:= (k-y3) div 2 + y3;
Pic(x, y, x1, y1, x2, y2, x3, y3, n-1, d);
end;
End;
{- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -}
Begin
ClrScr;
write ('Введите количество повторений: ');
readln (n);
x:= 0;
y:= 0;
x1:= 400;
y1:= 0;
x2:= 400;
y2:= 400;
x3:= 0;
y3:= 400;
a: Detect;
InitGraph(a, b, 'D:\TP7\BGI');
ClearDevice;
Setcolor(Green);
Pic(x, y, x1, y1, x2, y2, x3, y3, n, d);
readln;
CloseGraph;
End.
Задание. Наберите программу и просмотрите ее действие. Дополните программу комментарием. По желанию улучшите алгоритм.
Творческое задание. Придумайте и решите задачу на демонстрацию рекурсии в графическом режиме.