Pascaler
О проекте Теоретический материал Тестирование Архив задач
Войти в личный кабинет



О проекте


Преподавателям


Тема: Примеры задач рекурсивного решения в текстовом и графическом режимах.

Задача 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.

Задание. Наберите программу и просмотрите ее действие. Дополните программу комментарием. По желанию улучшите алгоритм.

Творческое задание. Придумайте и решите задачу на демонстрацию рекурсии в графическом режиме.

Вернуться назад
2003—2012 © Группа «Vimedia»
Проект «Pascaler» — лучший на ХI Всероссийской конференции молодых исследователей с международным участием «Шаг в будущее», Россия, Москва, 12 – 16 апреля 2004г.