Косвенная рекурсия Задача о Ханойских башнях. Принцип косвенной рекурсии АВ А Процедура А вызывает процедуру В, а та, в свою очередь - процедуру А. B.

Презентация:



Advertisements
Похожие презентации
Рекурсия Презентация разработана учителем информатики лицея 124 г.Барнаула Воловиковой Л.Л.
Advertisements

Оператор ветвления : if then else ; Вложенное ветвление : if then else else ;
5.Дана матрица А и вектор Х соответствующих размерностей. Нечетные строки матрицы заменить элементами вектора Х. Результаты работы: n=4 m=
3. Дана прямоугольная матрица, элементами которой являются целые числа. Поменять местами ее строки следующим образом: первую строку с последней, вторую.
АЛГОРИТМ ВЕТВЛЕНИЯ ОПЕРАТОР ВЕТВЛЕНИЯ. Какая задача решается по этой программе? Program Z1: Var a,b,c: integer; Begin Write ( vv a,b:); Read (a,b); C:=(a+b)*(b-a);
I := 1, 20 вывод В массиве нет числа X PROGRAM VAR, INTEGER Rand FORTO Example2 ; :=:= i 120DO BEGIN WRITE() : ARRAY [ ] OF i ; BEGIN ; : NumberX.
21 ноября 2013 г. 10а класс. Оператор ветвления в полном варианте IF (условие) THEN (операторы) ELSE (операторы); условие - з- записывается с помощью.
Тема: Нахождение минимального и максимального элемента в массиве.
Что такое структурный подход в программировании? Как он реализуется в ЯП Паскаль? Что такое процедура? Кто дает название процедуре? Где записывается процедура?
1 Программирование на языке Паскаль © К.Ю. Поляков, ВведениеВведение 2.ВетвленияВетвления 3.Сложные условияСложные условия 4.ЦиклыЦиклы 5.Циклы.
Решение задач с использованием массивов
МЕТОД ПОСЛЕДОВАТЕЛЬНОЙ ДЕТАЛИЗАЦИИ. ПРОЦЕДУРЫ И ФУНКЦИИ Урок 1.
Поиск максимального и минимального элемента линейного массива на языке Turbo Pascal. Program poisk; Const n=10; Type mass=array[1..n] of integer; Var a:mass;
PROGRAM example1; const m=100; var a : ARRAY [1.. m] of INTEGER; i,k,n,q : INTEGER; BEGIN readln (n); randomize; WRITELN('Полученный массив:' ); FOR i.
Программа имеет заголовок следующего вида Program имя ; Имя - это имя программы. Идентификатор имени имеет не более семи символов. Имя начинается с буквы.
Алгоритмические структуры 1.Линейный 2.Ветвление 3.Цикл.
Задача. Даны действительные числа A, B, C, D. Найти max(a,b,c), max(a,b,d), max(b,c,d). Написать программу решения задачи PROGRAM ex1; PROCEDURЕ Max (x,
Условный оператор. Алгоритм с ветвлением – это такой алгоритм, в котором осуществляется выбор одного из двух путей продолжения алгоритма. На TPascal данный.
В этой презентации даны программы с применением подпрограмм- процедур. Постарайтесь самостоятельно ответить на вопрос, что появится на экране в результате.
- это структура данных, представляющая собой упорядоченную совокупность значений одного типа.
Транксрипт:

Косвенная рекурсия Задача о Ханойских башнях

Принцип косвенной рекурсии АВ А Процедура А вызывает процедуру В, а та, в свою очередь - процедуру А. B A В программе необходимо предварительное определение второй процедуры B, так как ее вызов встречается в процедуре A, т.е. перед ее полным описанием.

Program KosvRecurs; Var A : integer; Procedure Rec2 (Var Y:integer); Forward; Procedure Rec1 (Var X:integer); Begin X := X-1; if X>0 then Rec2; writeln (X); End; Procedure Rec2 (Var Y:integer); Begin Y := Y div 2; if Y>2 then Rec1; writeln (Y); End; Begin A := 15; Rec1(A); End.

Ханойские башни Запустите программу, используя ярлык HanoY Towers, находящийся на Рабочем столе; Внимательно прочитайте правила игры. Решите задачу для 3, 4 и 5 дисков.

Program Tower; Type Position = (Left, Centre, Right); Var N : integer; Procedure MoveDisk (From, Tol : Position); Procedure writePos (P : Position); Begin case P of Left : write ('1'); Centre : write ('2'); Right : write ('3'); end; End; Begin writePos (From); write('->'); writePos (Tol); writeln End;

Procedure MoveTower(Hight : integer; From, Tol, Work : Position); Begin if Hight>0 then begin MoveTower(Hight-1, From, Work, Tol); MoveDisk (From, Tol); MoveTower(Hight-1, Work, Tol, From); end; End; Begin writeln('Введите количество колец '); readln(N); MoveTower(N, Right, Left, Centre); End.