
- •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.Тип данных указатель.
1 . Операция сравнения (так как в строках определён порядок, то для их возможно сравнить).
В строках определён лексико-графический порядок: из двух строк меньшей считается та у который первый символ меньше.
Пустая строка по умолчанию меньше всех остальных.
2. Операция обращения к элементу строки
В отличии от массивов нельзя s[5]:=’c’ для этого лучше воспользоваться Copy или Concat.
20.Записи.
Данные такого рода, описывающие существенные стороны того или иного объекта путем включения в описание нескольких, часто разнотипных, элементов, называют записью (record). В языке Паскаль запись определяется путем указания служебного слова record и перечисления входящих в запись элементов с указанием типов этих элементов.
Запись Паскаля – структурированный комбинированный тип данных, состоящий из фиксированного числа компонент (полей) разного типа.
type < имя _ типа >=record
<имя_поля1>: тип;
<имя_поля2>: тип;
………………….
<имя_поля K >: тип
end ;
где record – служебное слово, а <имя_типа> и <имя_поля> - правильные идентификаторы языка Паскаль.
Type anketa1=record
fio: string[45];
pol: char;
dat_r: record;
god: integer;
mes: string[10];
den: 1..31;
end;
adres: record
gorod: string[25];
ulica: string [20];
dom, kv: integer;
end;
curs: 1..5;
grupp: string[3];
end;
Полями записи могут быть любые типы (базовые, структурированные, конструируемые, процедуры, функции, файлы)
var
student: anketa;
student 1: anketa 1;
Оперирование несколькими полями
Оператор with служит для
With <имя_записи> do
Begin <операторы>
{имена полей здесь используются как <имя_поля>, а не как <имя_записи>.<имя_поля>}
End;
With birthday [father] do
Begin
Day:=30;
Month:=12;
Year:=1964;
End;
Замечание: Для того, чтобы внутри оператора with можно было обратиться не к полю записи, а к глобальной переменной с таким же именем нужно указать имя программы.
НО!
With_my_birthday do
Begin day:=17;
Month:=3;
{поле записи birthday.month}
Year:=2005;
Programma.month:=5;
{глобальная переменная month}
End;
Оператор with может иметь вложенность.
Запись с вариантной частью
Если заранее известно, что в массиве записей некоторые поля могут оставаться пустыми, то для сокращения объема используемой памяти можно использовать запись с вариантной частью (ЗВЧ).
Шаблон:
Type имя=record
Имя_поля1:тип1;
……………………
Имя_поляN:типN;
Case переключатель:тип Of
Метка1: (имя_поля11:тип11;имя_поля12:тип12;…);
………………………………………………………..
Меткаk: (имя_поляk1:типk1;имя_поляk2:типk2);
End;
Вариантная часть начинается зарезервированным словом case, после которого указывается то поле записи, которое в дальнейшем будет служить переключателем (переключатель относится к одному из перечисляемых типов).
Список вариантов может быть константой, диапазоном, может быть объединением нескольких констант или нескольких диапазонов. Набор соответствующих полей берется в круглые скобки.
Пример:
Type kind=(married,single);
Person=record
Name:string;
Datebirth:date;
Case yesno:kinf Of
Married: (name1:string;date1:date);
Single: ();
End;
Type biblio=record
Name,publisher:string[20];
Case item:char of
‘b’: (author:string[20];year:0..2004);
‘n’ : (data:date);
‘m’: (year:1700..2004;
Month:1..12;
Number:integer);
End;