
- •1.Основные понятия: программирование, данные, программа, процесс, оператор, алгоритм. Краткая характеристика развития программирования.
- •2.Основные этапы решения задач на эвм.???
- •3.Алгоритм, свойства алгоритма. Алгоритмический язык программирования. Способы записи алгоритма.
- •4. Синтаксис и семантика языка программирования??. Структура программы на языке Pascal.
- •5.Основные символы языка Pascal. Идентификаторы, константы, переменные.
- •6.Скалярные типы данных.? Вроде как тоже стандартные
- •7.Стандартные типы данных. Надо уточнить
- •8.Выражения. Операторы. Составной оператор.
- •9.Оператор условия if.
- •10.Оператор выбора case.
- •11.Оператор цикла For.
- •12.Оператор цикла Repeat.
- •13.Оператор цикла While.
- •14.Процедуры и функции. Основные понятия.
- •15.Подпрограммы в языке Pascal.
- •16.Параметры подпрограмм.
- •17.Принцип локализации. (поискать)
- •18.Массив как структура данных.
- •19.Строки.
- •1 . Операция сравнения (так как в строках определён порядок, то для их возможно сравнить).
- •2. Операция обращения к элементу строки
- •20.Записи.
- •Запись с вариантной частью
- •21.Множества.
- •22.Файлы. Типизированные файлы.
- •Описание типизированных файлов
- •23.Файлы. Текстовые файлы.
- •Текстовые файлы
- •Пробельные символы
- •24.Файлы. Нетипизированные файлы.
- •25.Рекурсии.
- •26. Программирование графики. Графика в Pascal
- •Действия с пером.
- •Действия с кистью.
- •Действия со шрифтом
- •Действия с рисунками.
- •Действия с графическим окном
- •Задание режимов вывода
- •27.Создание модулей.
- •28.Сортировки массивов. Пузырьковая сортировка.
- •29.Сортировки массивов. Шейкерная сортировка.
- •30.Сортировки массивов. Сортировка Шелла.
- •31.Сортировки массивов. Быстрая сортировка.
- •32.Сортировки массивов. Сортировка прямыми (простыми) вставками.
- •33.Сортировки массивов. Сортировка бинарными вставками.
- •34.Сортировки массивов. Сортировка прямыми (простыми) вставками с барьером.
- •35.Сортировка массивов. Пирамидальная сортировка.
- •36.Динамические структуры данных. Стек, его применение. Операции над элементами стека.
- •37.Динамические структуры данных. Очередь, ее применение. Операции над элементами очереди.
- •38.Динамические структуры данных. Списки, их применение. Операции над элементами списка, их реализация.
- •Формирование списка
- •Просмотр списка
- •Удаление элемента из списка
- •39.Динамические структуры данных. Деревья, их применение.
- •40.Тип данных указатель.
27.Создание модулей.
Модули предназначены для разбиения текста программы на несколько файлов. В модулях описываются переменные, константы, типы, классы, процедуры и функции. Для того чтобы эти объекты можно было использовать в вызывающем модуле (которым может быть и основная программа), следует указать имя файла модуля (без расширения .pas) в разделе uses вызывающего модуля. Файл модуля (.pas) или откомпилированный файл модуля (.pcu) должен находиться либо в том же каталоге, что и основная программа, либо в подкаталоге Lib системного каталога программы PascalABC.NET.
Модуль имеет следующую структуру:
unit имя модуля;
interface
раздел интерфейса
implementation
раздел реализации
initialization
раздел инициализации
finalization
раздел финализации
end.
Имеется также упрощенный синтаксис модулей без разделов интерфейса и реализации.
Первая строка обязательна и называется заголовком модуля. Имя модуля должно совпадать с именем файла.
Раздел интерфейса и раздел реализации модуля могут начинаться с раздела uses подключения внешних модулей и пространств имен .NET. Имена в двух разделах uses не должны пересекаться.
Раздел интерфейса включает объявление всех имен, которые экспортируются данным модулем в другие модули (при подключении его в разделе uses). Это могут быть константы, переменные, процедуры, функции, классы, интерфейсы. Реализация методов классов может быть дана прямо в разделе интерфейса, но это не рекомендуется.
Раздел реализации содержит реализацию всех процедур, функций и методов, объявленных в разделе интерфейса. Кроме этого, в разделе реализации могут быть описания внутренних имен, которые не видны вне модуля и используются лишь как вспомогательные.
Раздел инициализации и раздел финализации представляют собой последовательность операторов, разделяемых символом ;. Операторы из раздела инициализации модуля выполняются до начала основной программы, операторы из раздела финализации модуля - после окончания основной программы. Порядок выполнения разделов инициализации и разделов финализации подключенных модулей непредсказуем. Как раздел инициализации, так и раздел финализации могут отсутствовать.
Циклические ссылки между модулями
Циклические ссылки модулей в интерфейсных частях запрещены. Например, следующая ситуация ошибочна:
unit A; interface uses B; implementation end. unit B; interface uses A; implementation end.
Таким образом, невозможно определить два общедоступных класса в разных модулях с объектными полями, ссылающимися друг на друга.Однако, если одна ссылка находится в интерфейсной части, а вторая - в части реализации, или обе - в частях реализации, то циклические ссылки в этом случае разрешены:
u
nit
A;
interface
implementation
uses
B;
end.
unit
B;
interface
uses
A;
implementation
end.
28.Сортировки массивов. Пузырьковая сортировка.
Задача сортировки
Задача сорт заключаются в упорядочении элементов массива.
Пузырьковая сортировка
Алгоритм состоит из повторяющихся проходов по сортируемому массиву. За каждый проход элементы последовательно сравниваются попарно и если порядок в паре неверный, выполняется обмен элементов. Проходы повторяются до тех пор, пока на очередном проходе не окажется, что обмены больше не нужны.
T:= истина
Цикл пока t: истина
T:ложь
Цикл пока для j=1,2,…n
T:=истина
Цикл пока t:
T:=ложь
Цикл для j:=1,2,…n;
Если a[j]>a[j+1];
……………………….
Паскаль
A:array [1..n];
T:boolean;
T:=true;
While t do
T:=false;
For j:=1 to n do
If A[j]>a[j+1] then
T:=a[j];
A[j]=a[j+1];
A[j+1]:=k;
T:=true;
End;
End;
End.