Для реализации задачи №1 была выбрана следущая стрктура данных.
ArrType – массив от 1 до 55 типа integer (целочисленный тип) предназначенная для хранения значения функции y
xx: integer; переменная типа integer (целочисленный тип) играет роль индекса элемента массива, а также значения x в функции
Для реализации задачи №2 была выбранная следующая структура данных:
desk – тип двумерного массива от 1 до 8, от 0 до 2, где 0-пусто; 1-поле которое бьёт ферзь; 2-ферзь.
cur_desk – переменная типа desk, обозначающая текущий статус доски.
now_f – переменная типа byte (целочисленный тип), обозначает какой ферзь ставится в данный момент.
count – переменная типа byte (целочисленный тип), обозначает количество ферзей на доске
fi,fj – переменные типа byte (целочисленный тип) в массиве от 1 до 5, обозначающие координаты ферзей.
i,j – переменные типа byte (целочисленный тип), обозначающие координаты для расстановки первого ферзя.
Ferzes – массив уже существующего типа desk.
5. Описание применяемого алгоритма к задаче №1:
Блок №1 – x:=2
Блок №2 – x<=size
Блок №3 - Line(arr[x-1], y, arr[x], y+y1), циклически начинаем рисовать линии, гистограммы, начало линии, это значение предстоящего значения, конец линии текущий элемент массива.
Блок №4 - xx<=size
Блок №5 - arr[xx]:= 420 div (xx+(xx*xx)) заполняем циклически массив значениями.
Блок №6 - Draw(15) рисуем гистограмму, входная переменная означем шаг, который мы отступаем между каждым значением x.
Рисунок 1 - Блоксхема №1
Рисунок 2 - Блоксхема №2