SlideShare a Scribd company logo
1
Рекурсивное программирование
Рекурсия – это метод, сводящий общую задачу к
некоторым задачам более узкого, простого типа
Рекурсивный алгоритм – это алгоритм, который
в процессе своей работы обращается сам к себе.
Суть заключается в том, что при каждом вызове
создается новая копия со своими переменными,
но как только она заканчивает свою работу, то
память, занятая этими локальными переменными,
освобождается, а полученные результаты
передаются в точку вызова.
Рекурсивное программирование
Рекурсивное программирование
Recursio (лат.) - возврвщение
2
Рекурсия …
• послушать… «У попа была собака,
Он ее любил. …
• посмотреть… встаньте между двумя
зеркалами и смотрите…(не детали гардероба,
нет. Отражение себя, там …)
• нарисовать… нарисуйте себя, где на полотне
вы рисуете себя, где на полотне…
Ее можно:
Это примеры «бесконечной» рекурсии…
3
Задачи с рекурсивной формулировкойПример: вычисление факториала натурального числа
N! =
1, при N = 1
N * (N – 1)!, при N > 1
Function factorial(n: integer): longint;
Begin
If n = 1 then factorial:=1
else factorial:= n * factorial (n – 1);
End;
При использовании рекурсии необходимо обеспечить выход
из подпрограммы в нужный момент, т.к. алгоритм
должен быть конечным (одно из свойств).
4
Найдем 5! Первый вызов этой функции
будет из основной программы.
Например, α:= factorial(5)
Function factorial
Begin
factorial:= 5 *
factorial(4);
End;
Function factorial
Begin
factorial:= 4*
factorial(3);
End;
Function factorial
Begin
factorial:= 2*
factorial(1);
End;
Function factorial
Begin
factorial:= 3*
factorial(2);
End;
Function factorial
Begin
factorial:= 1;
End;
3 вызов (n=3)
2 вызов (n=4)
4 вызов (n=2)
5 вызов (n=1)
1 вызов (n=5)
2 *1
5 *24
4 *6
3 *2
factorial(5) = 120
α:= 120
5
Задание
1. Напишите рекурсивную программу определения
суммы первых n натуральных чисел:
Sn = Sn-1 + n;
S1 = 1.
2. Составить рекурсивную программу ввода с
клавиатуры последовательность чисел
(окончание ввода - 0) и вывода ее на экран в
обратном порядке.
6
Пример: перевод натурального числа из
десятичной системы счисления в двоичную.
39
38 19
18 9
8 4
4 2
2
2
2
2
1
2
2
1
0
1
1
0
3910 = 1001112
Procedure Rec(n: integer);
begin
If n > 1 then Rec(n Div 2);
Write(n Mod 2);
End;
7
Procedure Rec
begin
Rec(n Div 2);
Write(n Mod 2);
End;
1 вызов (n = 39)
Procedure Rec
begin
Rec(n Div 2);
Write(n Mod 2);
End;
Procedure Rec
begin
Rec(n Div 2);
Write(n Mod 2);
End;
Procedure Rec
begin
Rec(n Div 2);
Write(n Mod 2);
End;
Procedure Rec
begin
Rec(n Div 2);
Write(n Mod 2);
End;
Procedure Rec
begin
Write(n Mod 2);
End;
2 вызов (n = 19)
3 вызов (n = 9)
4 вызов (n = 4)
6 вызов (n = 1)
5 вызов (n = 2)
8
Задание
1.Написать процедуру перевода числа из
десятичной системы в N - ю, при условии,
что 2 ≤ N ≥ 16 и его значение вводится с
клавиатуры.
Каким будет условие завершения входа в
рекурсию?
9
Напишите программу:
Найти первые N чисел Фибоначчи. Каждое
число равно сумме двух предыдущих чисел
при условии, что первые два равны 1 (1,
1, 2, 3, 5, 8, 13, 21, …).
Рекурсивная постановка данной задачи:
Ф(n) =
1, если n = 1 или n = 2;
Ф(n – 1) + Ф(n – 2), при n > 2
10
Program chisla_Fibonachi;
var i,n:integer;
function fib(nf:integer):longint;
begin
if (nf=1) or (nf=2) then fib:=1
else fib:=fib(nf-1)+fib(nf-2);
end;
begin
readln(n);
for i:=1 to n do
writeln(fib(i));
end.
Данная программа раскрывает недостатки рекурсии:
с увеличением n глубина рекурсии многократно (во сколько?)
увеличивается и выполняемая программа потребует много памяти, что
может привести к переполнению стека.
Если при решении есть выбор между итерацией и рекурсией, то
предпочтительным выбором является итерация.
12
Выводит цифры целого положительного числа в обратном порядке
Program Perevertish;
Var n: longint;
Procedure reverse(n: longint);
begin
write (n mod 10);
if n div 10 <> 0 then reverse (n div 10)
end;
Begin
writeln(‘Введите натуральное число <=‘, 2 147 483 647);
readln(n);
reverse(n);
writeln; readln
End.
Измените процедуру. Сформируйте
число-«перевертыш». Выдайте сообщение,
является ли введенное число палиндромом
14
Решение задач
1. Даны первый член и разность
арифметической прогрессии. Написать
рекурсивную функцию для нахождения:
a) n-го члена прогрессии;
б) суммы n первых членов арифметической
прогрессии.
2. Даны первый член и знаменатель
геометрической прогрессии. Написать
рекурсивную функцию для нахождения:
a) ее n-го члена;
б) суммы n первых членов прогрессии.
15
3. Написать рекурсивную функцию для
вычисления:
а) суммы цифр натурального числа;
б) количества цифр натурального числа.
4. Написать рекурсивную процедуру для вывода
на экран цифр натурального числа в
обратном порядке.
5. Написать рекурсивную функцию,
определяющую является ли заданное
натуральное число простым.
16
Procedure Picture1(x,y,r,r1,n:integer);
Var x1,y1:integer; i:integer;
Begin
if n > 0 then {“заглушка”}
begin
circle(x,y,r);r1:=trunc(r*k2); {рисование окружности}
r1:=trunc(r*k2) {вычисление радиуса орбиты}
For i:=1 to 4 do
begin
x1:=trunc(x+r1*cos(pi/2*i); { координаты центра }
y1:=trunc(y+r1*sin(pi/2*i); { i-ой окружности }
Picture1(x1,y1,trunc(r*k1),r1,n-1);
end;
end;
end;
17
Uses Graph;
Var x,y,n,r,r1,cd,gm:integer; k1,k2:real;
Procedure Picture1(x,y,r,r1,n:integer);
…
End;
Begin
Writeln(‘Введите количество уровней n’); Readln(n);
x:=600 Div 2; y:=400 Div 2;
Writeln(‘Введите радиус первой окружности r’);
readln(r);
k1:=0.3; k2:=2;
Cd:=detect; gm:=1;
Initgraph(cd,gm,’c:tp7bin’);
Picture1(x,y,r,r1,n);
Readln;
Closegraph;
End.

More Related Content

What's hot

ПВТ - весна 2015 - Лекция 1. Актуальность параллельных вычислений. Анализ пар...
ПВТ - весна 2015 - Лекция 1. Актуальность параллельных вычислений. Анализ пар...ПВТ - весна 2015 - Лекция 1. Актуальность параллельных вычислений. Анализ пар...
ПВТ - весна 2015 - Лекция 1. Актуальность параллельных вычислений. Анализ пар...
Alexey Paznikov
 
04 ос взаимодействие_процессов_1
04 ос взаимодействие_процессов_104 ос взаимодействие_процессов_1
04 ос взаимодействие_процессов_1921519
 
Лекция 7: Многопоточное программирование: часть 3 (OpenMP)
Лекция 7: Многопоточное программирование: часть 3 (OpenMP)Лекция 7: Многопоточное программирование: часть 3 (OpenMP)
Лекция 7: Многопоточное программирование: часть 3 (OpenMP)Mikhail Kurnosov
 
Лекция 6. Стандарт OpenMP
Лекция 6. Стандарт OpenMPЛекция 6. Стандарт OpenMP
Лекция 6. Стандарт OpenMP
Mikhail Kurnosov
 
паскаль 10кл 14
паскаль 10кл 14паскаль 10кл 14
паскаль 10кл 14
Ирина Куликова
 

What's hot (6)

ПВТ - весна 2015 - Лекция 1. Актуальность параллельных вычислений. Анализ пар...
ПВТ - весна 2015 - Лекция 1. Актуальность параллельных вычислений. Анализ пар...ПВТ - весна 2015 - Лекция 1. Актуальность параллельных вычислений. Анализ пар...
ПВТ - весна 2015 - Лекция 1. Актуальность параллельных вычислений. Анализ пар...
 
04 ос взаимодействие_процессов_1
04 ос взаимодействие_процессов_104 ос взаимодействие_процессов_1
04 ос взаимодействие_процессов_1
 
Лекция 7: Многопоточное программирование: часть 3 (OpenMP)
Лекция 7: Многопоточное программирование: часть 3 (OpenMP)Лекция 7: Многопоточное программирование: часть 3 (OpenMP)
Лекция 7: Многопоточное программирование: часть 3 (OpenMP)
 
My pascal
My pascalMy pascal
My pascal
 
Лекция 6. Стандарт OpenMP
Лекция 6. Стандарт OpenMPЛекция 6. Стандарт OpenMP
Лекция 6. Стандарт OpenMP
 
паскаль 10кл 14
паскаль 10кл 14паскаль 10кл 14
паскаль 10кл 14
 

Viewers also liked

Email marketing build a successful
Email marketing build a successfulEmail marketing build a successful
Email marketing build a successful
Aldiablos Infotech Pvt Ltd
 
Рекурсивные алгоритмы
Рекурсивные алгоритмыРекурсивные алгоритмы
Рекурсивные алгоритмыAndrey Pahomov
 
٭امام علی(ع) ایک بہترین نمونۂ حیات٭
٭امام علی(ع) ایک بہترین نمونۂ حیات٭٭امام علی(ع) ایک بہترین نمونۂ حیات٭
٭امام علی(ع) ایک بہترین نمونۂ حیات٭
Jafferia Students Organization Pakistan Hyderabad Division
 
Media pembelajaran selesai
Media pembelajaran selesaiMedia pembelajaran selesai
Media pembelajaran selesai1207185
 
مولا علی(ع) مولود کعبہ، علمائے اہل سنّت کی نگاہ میں
مولا علی(ع) مولود کعبہ، علمائے اہل سنّت کی نگاہ میںمولا علی(ع) مولود کعبہ، علمائے اہل سنّت کی نگاہ میں
مولا علی(ع) مولود کعبہ، علمائے اہل سنّت کی نگاہ میں
Jafferia Students Organization Pakistan Hyderabad Division
 
Poetry Project 2.0
Poetry Project 2.0Poetry Project 2.0
Poetry Project 2.0
Waites4N1
 
Sensualappeal blog
Sensualappeal blogSensualappeal blog
Sensualappeal blog
sensualappealblog
 
شیخ مفید(رض) اور ولایت فقیہ
شیخ مفید(رض) اور ولایت فقیہشیخ مفید(رض) اور ولایت فقیہ
شیخ مفید(رض) اور ولایت فقیہ
Jafferia Students Organization Pakistan Hyderabad Division
 
Fiber Cement Technology - US Patent Report (JHX, VAL, Nichiha)
Fiber Cement Technology - US Patent Report (JHX, VAL, Nichiha)Fiber Cement Technology - US Patent Report (JHX, VAL, Nichiha)
Fiber Cement Technology - US Patent Report (JHX, VAL, Nichiha)
FC_Report
 
social media addiction
social media addictionsocial media addiction
social media addiction
Akhtar Baloch
 
Rabindranath tagore
Rabindranath tagoreRabindranath tagore
Rabindranath tagore
Karan Saraswat
 

Viewers also liked (16)

Email marketing build a successful
Email marketing build a successfulEmail marketing build a successful
Email marketing build a successful
 
اجتہاد کا وجود
اجتہاد کا وجوداجتہاد کا وجود
اجتہاد کا وجود
 
Рекурсивные алгоритмы
Рекурсивные алгоритмыРекурсивные алгоритмы
Рекурсивные алгоритмы
 
106170
106170106170
106170
 
٭امام علی(ع) ایک بہترین نمونۂ حیات٭
٭امام علی(ع) ایک بہترین نمونۂ حیات٭٭امام علی(ع) ایک بہترین نمونۂ حیات٭
٭امام علی(ع) ایک بہترین نمونۂ حیات٭
 
مظلوميّت على (ع
مظلوميّت على (عمظلوميّت على (ع
مظلوميّت على (ع
 
Media pembelajaran selesai
Media pembelajaran selesaiMedia pembelajaran selesai
Media pembelajaran selesai
 
مولا علی(ع) مولود کعبہ، علمائے اہل سنّت کی نگاہ میں
مولا علی(ع) مولود کعبہ، علمائے اہل سنّت کی نگاہ میںمولا علی(ع) مولود کعبہ، علمائے اہل سنّت کی نگاہ میں
مولا علی(ع) مولود کعبہ، علمائے اہل سنّت کی نگاہ میں
 
98680537
9868053798680537
98680537
 
Poetry Project 2.0
Poetry Project 2.0Poetry Project 2.0
Poetry Project 2.0
 
Sensualappeal blog
Sensualappeal blogSensualappeal blog
Sensualappeal blog
 
شیخ مفید(رض) اور ولایت فقیہ
شیخ مفید(رض) اور ولایت فقیہشیخ مفید(رض) اور ولایت فقیہ
شیخ مفید(رض) اور ولایت فقیہ
 
زیارت امام حسین علیہ السلام کی فضیلت
زیارت امام حسین علیہ السلام کی فضیلتزیارت امام حسین علیہ السلام کی فضیلت
زیارت امام حسین علیہ السلام کی فضیلت
 
Fiber Cement Technology - US Patent Report (JHX, VAL, Nichiha)
Fiber Cement Technology - US Patent Report (JHX, VAL, Nichiha)Fiber Cement Technology - US Patent Report (JHX, VAL, Nichiha)
Fiber Cement Technology - US Patent Report (JHX, VAL, Nichiha)
 
social media addiction
social media addictionsocial media addiction
social media addiction
 
Rabindranath tagore
Rabindranath tagoreRabindranath tagore
Rabindranath tagore
 

Similar to 106170

5
55
04 динамическое программирование - основные концепции
04 динамическое программирование - основные концепции04 динамическое программирование - основные концепции
04 динамическое программирование - основные концепцииFedor Tsarev
 
Программирование циклических алгоритмов
Программирование циклических алгоритмовПрограммирование циклических алгоритмов
Программирование циклических алгоритмов
Andrey Dolinin
 
8 3-5
8 3-58 3-5
Алгоритмы на ruby: перебор и рекурсия
Алгоритмы на ruby: перебор и рекурсияАлгоритмы на ruby: перебор и рекурсия
Алгоритмы на ruby: перебор и рекурсияEvgeny Smirnov
 
чернякова г.в.
чернякова г.в.чернякова г.в.
чернякова г.в.sharikdp
 
Алгоритмы и структуры данных осень 2013 лекция 8
Алгоритмы и структуры данных осень 2013 лекция 8Алгоритмы и структуры данных осень 2013 лекция 8
Алгоритмы и структуры данных осень 2013 лекция 8Technopark
 
лабораторная работа №6
лабораторная работа №6лабораторная работа №6
лабораторная работа №6Zhanna Kazakova
 
лекция1
лекция1лекция1
лекция1ap0f30z
 
оператор присваивания и процедуры ввода и вывода
оператор присваивания и процедуры ввода и выводаоператор присваивания и процедуры ввода и вывода
оператор присваивания и процедуры ввода и вывода
liza2209
 
1 вводное занятие
1 вводное занятие1 вводное занятие
1 вводное занятие
luis_blanco_rau
 
паскаль
паскальпаскаль
паскаль
Гимназия
 
Лекция 7: Фибоначчиевы кучи (Fibonacci heaps)
Лекция 7: Фибоначчиевы кучи (Fibonacci heaps)Лекция 7: Фибоначчиевы кучи (Fibonacci heaps)
Лекция 7: Фибоначчиевы кучи (Fibonacci heaps)Mikhail Kurnosov
 
Back to the future: Функциональное программирование вчера и сегодня
Back to the future: Функциональное программирование вчера и сегодняBack to the future: Функциональное программирование вчера и сегодня
Back to the future: Функциональное программирование вчера и сегодня
Alexander Granin
 

Similar to 106170 (20)

5
55
5
 
04 динамическое программирование - основные концепции
04 динамическое программирование - основные концепции04 динамическое программирование - основные концепции
04 динамическое программирование - основные концепции
 
Программирование циклических алгоритмов
Программирование циклических алгоритмовПрограммирование циклических алгоритмов
Программирование циклических алгоритмов
 
8 3-5
8 3-58 3-5
8 3-5
 
Алгоритмы на ruby: перебор и рекурсия
Алгоритмы на ruby: перебор и рекурсияАлгоритмы на ruby: перебор и рекурсия
Алгоритмы на ruby: перебор и рекурсия
 
чернякова г.в.
чернякова г.в.чернякова г.в.
чернякова г.в.
 
лекция 7
лекция 7лекция 7
лекция 7
 
Diskretn analiz
Diskretn analizDiskretn analiz
Diskretn analiz
 
Diskretn analiz
Diskretn analizDiskretn analiz
Diskretn analiz
 
Алгоритмы и структуры данных осень 2013 лекция 8
Алгоритмы и структуры данных осень 2013 лекция 8Алгоритмы и структуры данных осень 2013 лекция 8
Алгоритмы и структуры данных осень 2013 лекция 8
 
лабораторная работа №6
лабораторная работа №6лабораторная работа №6
лабораторная работа №6
 
лекция1
лекция1лекция1
лекция1
 
оператор присваивания и процедуры ввода и вывода
оператор присваивания и процедуры ввода и выводаоператор присваивания и процедуры ввода и вывода
оператор присваивания и процедуры ввода и вывода
 
1 вводное занятие
1 вводное занятие1 вводное занятие
1 вводное занятие
 
циклы1
циклы1циклы1
циклы1
 
циклы1
циклы1циклы1
циклы1
 
паскаль
паскальпаскаль
паскаль
 
Лекция 7: Фибоначчиевы кучи (Fibonacci heaps)
Лекция 7: Фибоначчиевы кучи (Fibonacci heaps)Лекция 7: Фибоначчиевы кучи (Fibonacci heaps)
Лекция 7: Фибоначчиевы кучи (Fibonacci heaps)
 
82
8282
82
 
Back to the future: Функциональное программирование вчера и сегодня
Back to the future: Функциональное программирование вчера и сегодняBack to the future: Функциональное программирование вчера и сегодня
Back to the future: Функциональное программирование вчера и сегодня
 

106170

  • 1. 1 Рекурсивное программирование Рекурсия – это метод, сводящий общую задачу к некоторым задачам более узкого, простого типа Рекурсивный алгоритм – это алгоритм, который в процессе своей работы обращается сам к себе. Суть заключается в том, что при каждом вызове создается новая копия со своими переменными, но как только она заканчивает свою работу, то память, занятая этими локальными переменными, освобождается, а полученные результаты передаются в точку вызова. Рекурсивное программирование Рекурсивное программирование Recursio (лат.) - возврвщение
  • 2. 2 Рекурсия … • послушать… «У попа была собака, Он ее любил. … • посмотреть… встаньте между двумя зеркалами и смотрите…(не детали гардероба, нет. Отражение себя, там …) • нарисовать… нарисуйте себя, где на полотне вы рисуете себя, где на полотне… Ее можно: Это примеры «бесконечной» рекурсии…
  • 3. 3 Задачи с рекурсивной формулировкойПример: вычисление факториала натурального числа N! = 1, при N = 1 N * (N – 1)!, при N > 1 Function factorial(n: integer): longint; Begin If n = 1 then factorial:=1 else factorial:= n * factorial (n – 1); End; При использовании рекурсии необходимо обеспечить выход из подпрограммы в нужный момент, т.к. алгоритм должен быть конечным (одно из свойств).
  • 4. 4 Найдем 5! Первый вызов этой функции будет из основной программы. Например, α:= factorial(5) Function factorial Begin factorial:= 5 * factorial(4); End; Function factorial Begin factorial:= 4* factorial(3); End; Function factorial Begin factorial:= 2* factorial(1); End; Function factorial Begin factorial:= 3* factorial(2); End; Function factorial Begin factorial:= 1; End; 3 вызов (n=3) 2 вызов (n=4) 4 вызов (n=2) 5 вызов (n=1) 1 вызов (n=5) 2 *1 5 *24 4 *6 3 *2 factorial(5) = 120 α:= 120
  • 5. 5 Задание 1. Напишите рекурсивную программу определения суммы первых n натуральных чисел: Sn = Sn-1 + n; S1 = 1. 2. Составить рекурсивную программу ввода с клавиатуры последовательность чисел (окончание ввода - 0) и вывода ее на экран в обратном порядке.
  • 6. 6 Пример: перевод натурального числа из десятичной системы счисления в двоичную. 39 38 19 18 9 8 4 4 2 2 2 2 2 1 2 2 1 0 1 1 0 3910 = 1001112 Procedure Rec(n: integer); begin If n > 1 then Rec(n Div 2); Write(n Mod 2); End;
  • 7. 7 Procedure Rec begin Rec(n Div 2); Write(n Mod 2); End; 1 вызов (n = 39) Procedure Rec begin Rec(n Div 2); Write(n Mod 2); End; Procedure Rec begin Rec(n Div 2); Write(n Mod 2); End; Procedure Rec begin Rec(n Div 2); Write(n Mod 2); End; Procedure Rec begin Rec(n Div 2); Write(n Mod 2); End; Procedure Rec begin Write(n Mod 2); End; 2 вызов (n = 19) 3 вызов (n = 9) 4 вызов (n = 4) 6 вызов (n = 1) 5 вызов (n = 2)
  • 8. 8 Задание 1.Написать процедуру перевода числа из десятичной системы в N - ю, при условии, что 2 ≤ N ≥ 16 и его значение вводится с клавиатуры. Каким будет условие завершения входа в рекурсию?
  • 9. 9 Напишите программу: Найти первые N чисел Фибоначчи. Каждое число равно сумме двух предыдущих чисел при условии, что первые два равны 1 (1, 1, 2, 3, 5, 8, 13, 21, …). Рекурсивная постановка данной задачи: Ф(n) = 1, если n = 1 или n = 2; Ф(n – 1) + Ф(n – 2), при n > 2
  • 10. 10 Program chisla_Fibonachi; var i,n:integer; function fib(nf:integer):longint; begin if (nf=1) or (nf=2) then fib:=1 else fib:=fib(nf-1)+fib(nf-2); end; begin readln(n); for i:=1 to n do writeln(fib(i)); end. Данная программа раскрывает недостатки рекурсии: с увеличением n глубина рекурсии многократно (во сколько?) увеличивается и выполняемая программа потребует много памяти, что может привести к переполнению стека. Если при решении есть выбор между итерацией и рекурсией, то предпочтительным выбором является итерация.
  • 11. 12 Выводит цифры целого положительного числа в обратном порядке Program Perevertish; Var n: longint; Procedure reverse(n: longint); begin write (n mod 10); if n div 10 <> 0 then reverse (n div 10) end; Begin writeln(‘Введите натуральное число <=‘, 2 147 483 647); readln(n); reverse(n); writeln; readln End. Измените процедуру. Сформируйте число-«перевертыш». Выдайте сообщение, является ли введенное число палиндромом
  • 12. 14 Решение задач 1. Даны первый член и разность арифметической прогрессии. Написать рекурсивную функцию для нахождения: a) n-го члена прогрессии; б) суммы n первых членов арифметической прогрессии. 2. Даны первый член и знаменатель геометрической прогрессии. Написать рекурсивную функцию для нахождения: a) ее n-го члена; б) суммы n первых членов прогрессии.
  • 13. 15 3. Написать рекурсивную функцию для вычисления: а) суммы цифр натурального числа; б) количества цифр натурального числа. 4. Написать рекурсивную процедуру для вывода на экран цифр натурального числа в обратном порядке. 5. Написать рекурсивную функцию, определяющую является ли заданное натуральное число простым.
  • 14. 16 Procedure Picture1(x,y,r,r1,n:integer); Var x1,y1:integer; i:integer; Begin if n > 0 then {“заглушка”} begin circle(x,y,r);r1:=trunc(r*k2); {рисование окружности} r1:=trunc(r*k2) {вычисление радиуса орбиты} For i:=1 to 4 do begin x1:=trunc(x+r1*cos(pi/2*i); { координаты центра } y1:=trunc(y+r1*sin(pi/2*i); { i-ой окружности } Picture1(x1,y1,trunc(r*k1),r1,n-1); end; end; end;
  • 15. 17 Uses Graph; Var x,y,n,r,r1,cd,gm:integer; k1,k2:real; Procedure Picture1(x,y,r,r1,n:integer); … End; Begin Writeln(‘Введите количество уровней n’); Readln(n); x:=600 Div 2; y:=400 Div 2; Writeln(‘Введите радиус первой окружности r’); readln(r); k1:=0.3; k2:=2; Cd:=detect; gm:=1; Initgraph(cd,gm,’c:tp7bin’); Picture1(x,y,r,r1,n); Readln; Closegraph; End.

Editor's Notes

  1. Стр.299 (Бабушкина)