ЕТАПИ НА СЪЗДАВАНЕ НА FLASH-ЛЕКЦИИ В ТЕМАТА "PASCAL"

Първата лекция, изнесена от Паскал, беше на тема „Опашка“ (Фигура 27)

опашка

Фигура 27 - Флаш лекция

В него се опитах да обясня учебния материал по темата „Опашка“, както и вътре в лекцията направих тестови задачи за по-пълно разбиране.

Лекцията се състои от три урока:

Разказва за ходовете на рицаря.

Тук съм илюстрирал всички възможни ходове на рицаря, ако е в позиция d4.

Анализ на проблема с хода на рицаря.

Дадени са обозначенията на две полета на шахматната дъска (например A5 и C2). Намерете минималния брой ходове, необходими на шахматен рицар, за да премине от първия квадрат към втория.

Идея за решение: опашката от възможни рицарски движения.

Първо, поставяме на опашка всички квадратчета на дъската, които могат да бъдат достигнати с едно движение. След това, използвайки елементите, които вече са в опашката, попълваме опашката с полета, които могат да бъдат достигнати точно за 2 хода и т.н. Ясно е, че всеки път, когато поставяте квадрат в опашката, не е излишно да проверите дали е желаният и тогава знаем в колко хода ще получи рицарят тук. В този случай механизмът на опашката гарантира, че това ще бъде минималният брой ходове.

По-строг алгоритъм на решението:

Поставете оригиналния рицарски квадрат в опашката

До (не намерих точния номер)

Изберете първия елемент от опашката - клетка X, Y

Ако този артикул НЕ е желаният артикул

след това клетки, до които може да се стигне от X, Y в ход на рицар

ако не окончателен

и все още не е маркиран

опашка и марка

По-долу е основната част от програмата, която решава този проблем:

Намерено: = (Sx = Ex) и (Sy = Ey);

докато (не е намерен)

В тази част на лекцията се опитах да покажа как работи алгоритъмът на опашката. (фигура 28)

flash-лекции

Фигура 28 - Последният урок от флаш лекцията

Рекурсивни процедури и функции

Задачата беше да се изнесе лекция на тема: „Рекурсивни процедури и функции“. В хода на работата лекцията беше разделена на три части:

1) рекурсивно изчисление на gcd.

2) Сума M от N числа.

3) Анализ на проблема с Ханойската кула.

1) Рекурсивно изчисление на gcd

В първата част на лекцията беше необходимо да се покаже програма за рекурсивно изчисляване на най-големия общ делител на две числа a и b. (фигура 29)

Фигура 29 - Първата част на лекцията

Опитах се да илюстрирам следния материал в лекцията:

функция NOD (a, b: longint): longint;

тогава NOD: = NOD (a-b, b)

тогава NOD: = NOD (a-b, b)

ако 12, тогава функцията NOD се нарича ОТНОВО, но с параметри (18-12,12), тоест с параметри (6,12).

Моля, обърнете внимание, че функцията NOD, без да завърши работата си, се самоизвиква, но с намалена стойност на един от параметрите - (6,12) вместо (18,12). Такива функции се наричат ​​РЕКУРСИВНИ. Необходимо условие за правилната работа на рекурсивните функции е и условието за НЕ-РЕКУРСИВНО (т.е. БЕЗ извикване на самата функция) изчисление на резултата за определени аргументи на повикване. Например във функцията NOD (a, b) това условие е условието a = b.

В нашия пример функцията NOD ще се извика първо с параметри (6,12), след това 6,6 - това ще бъде последното повикване с отговор 6. След което този отговор ще бъде последователно предаден на извикващите функции до основна програма.

Програмата за изчисляване на най-големия общ делител на числата a и b може да бъде написана нерекурсивно - например по следния начин:

ако a> b, тогава a: = a-b, друго b: = b-a;

2) Сума M от N числа

В тази част на лекцията показах по колко начина можете да направите сума М от N числа. (Фигура 30) Да предположим, че трябва да напишем програма, която въвежда числа M, N и последователност от N числа a [i] и отчита броя на начините, по които числа a [i] могат да бъдат използвани за съставяне на дадена сума M.

Фигура 30 - Съставяне на сумата M от N числа

3) Анализ на проблема с Ханойската кула

Една от древните легенди казва следното:

". В храма на Бенарес има бронзова плоча с три диамантени пръчки. При създаването на света Бог е нанизал 64 диска с различен диаметър чисто злато върху една от пръчките, така че най-големият диск да лежи върху бронзовата плоча, а останалите образуват пирамида, която се стеснява нагоре. Това е кула. ​​Брами Работейки денем и нощем, свещениците прехвърлят дискове от един прът на друг, следвайки законите на Брахма:

Дисковете могат да бъдат премествани само от един прът на друг по един;

Не можете да поставите по-голям диск на по-малък.

Когато всички 64 диска бъдат прехвърлени от един прът на друг, кулата, храмовете и свещениците брахмани ще се превърнат в прах и светът ще свърши. "

Програмата за рекурсивно решаване на проблеми:

Фигура 31 - Рекурсивно решение на проблема с кулата на Ханой