ЕТАПИ НА СЪЗДАВАНЕ НА FLASH-ЛЕКЦИИ В ТЕМАТА "PASCAL", Опашка, Рекурсивни процедури и функции -

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

опашка

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

flash-лекции

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

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

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