- •8 800 7008 028 (Звонок по России бесплатный) Адрес электронной почты: school@omu.Ru
- •Раздел 1. Знакомство с Pascal Тема 1. Интегрированная среда Pascal. Типы данных. Процедуры ввода-вывода. Оператор присваивания. Модуль crt
- •Тема 2. Подпрограммы
- •Тема 3. Графический модуль
- •Раздел 2. Алгоритмические конструкции Тема 4. Операторы ветвления
- •I. Условный оператор If
- •II. Условный оператор Case
- •Тема 5. Операторы цикла
- •I. Оператор цикла с заданными параметрами For
- •II. Оператор цикла с предусловием While
- •III. Оператор цикла с постусловием Repeat
- •Тема 6. Символьный тип
- •Тема 7. Анимация в Pascal
- •Раздел 3. Структурированные типы Тема 8. Массивы
- •Тема 9. Строки
- •Тема 10. Работа с файлами
- •Тема 11. Множества и записи
- •Раздел 4. Разработка и создание проекта
- •Стандартные процедуры и функции
Тема 7. Анимация в Pascal
Цель
Научиться реализовывать программную анимацию.
Задачи
Дать понятие принципу «оживления» графических объектов.
Научиться анимировать графику в Pascal.
Основные понятия
1. Моделирование движения на экране происходит по следующему алгоритму:
устанавливаются начальные значения координат объекта;
в цикле объект стирается;
по формулам изменяются его координаты;
объект выводится на экран (уже в новом месте).
2. При анимировании объекта, изменяющего свою форму, используется следующий алгоритм (для каждой формы объекта по очереди):
выводится форма;
создаётся временная задержка;
стирается форма;
изменяются координаты объекта;
алгоритм повторяется сначала.
Задания
1. Выполните задания, размещённые на слайде № 72 презентации.
2. Выполните задания из урока 21 «Про маленькую гордую гусеницу, или Покадровая анимация» интерактивного электронного учебника.
Контроль знаний
1. Для задержки исполнения программы используется процедура ___________. Параметр n указывает количество миллисекунд задержки. Чем больше значение этого параметра, тем медленнее исполняется соответствующий блок программы.
2. Процедура delay входит в модуль ___________, поэтому для её использования необходимо этот модуль подключить.
Контроль знаний по разделу № 1
Выполните тест № 2, размещённый на слайде № 73 презентации.
Раздел 3. Структурированные типы Тема 8. Массивы
Цель
Научиться оформлять данные табличного вида в одномерные, двумерные массивы, использовать их стандартные алгоритмы обработки данных.
Задачи
Дать основное понятие массивов (одномерных, двумерных); синтаксис их описания, индекса.
Научиться организовывать ввод и вывод данных в одномерных и двумерных массивах, обращаться к элементу массива, использовать стандартные алгоритмы обработки массива.
Основные понятия
1. Массив — структурированный тип данных, состоящий из фиксированного числа элементов и имеющий один и тот же тип:
Индекс определяет доступ к каждому элементу массива, так как является его порядковым номером.
2. Массив может быть объявлен:
в разделе типов
TYPE mas=array[1..20] of integer;
VAR a:mas;
в разделе переменных
VAR a: array[1..20] of integer;
в разделе констант
CONST mas:array[1..8] of byte=(31,28,31,30,31,30,26,48)
3. Типизированные константы.
Для типизированной константы задают тип (как для переменной) и значение (как для константы):
типизированная константа-число:
Const v:integer=5
типизированная константа-массив:
Const a:array[1..2,1..3] of integer = (1,2,3),(4,5,6),(7,8,9);
Задания
1. Выполните задания, размещённые на слайде № 81 презентации.
Контроль знаний
1. Массив объявляется в разделе _____ с помощью идентификатора ______. При этом указывается размерность массива и тип его элементов: ___________________________.
2. Конкретный элемент массива обозначается с помощью индекса (номера элемента), записанного в квадратных скобках: ______ — элемент с индексом ____, _____ — элемент с индексом k.
3. Для обработки массива чаще всего используется цикл с параметром (____): ____________ x[i]:=random(640).
4. Двумерный массив обрабатывается во вложенном цикле _____________________________.
5. Постройте матрицы, которые будут получены в результате выполнения следующих программ.
A1 |
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CONST m=4, n=5;
VAR A1:array[1..m,1..n] of byte;
i,j:byte;
BEGIN
For i:=1 to m do
For j:=1 to n do A1[i,j]:=i;
END.
A2 |
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A2 |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CONST m=4, n=5;
Var A2:array[1..m,1..n] of byte;
i,j:byte;
BEGIN
For i:=1 to m do
For j:=1 to n do A2[i,j]:=j;
END.
A2 |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A2 |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
