
- •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.Тип данных указатель.
40.Тип данных указатель.
Указатель - это ячейка памяти, хранящая адрес. В PascalABC.NET указатели делятся на типизированные (содержат адрес ячейки памяти данного типа) и бестиповые (содержат адрес оперативной памяти, не связанный с данными какого-либо определенного типа).
Тип указателя на тип T имеет форму ^T, например:
type pinteger = ^integer; var p: ^record r,i: real end;
Бестиповой указатель описывается с помощью слова pointer.
Для доступа к ячейке памяти, адрес которой хранит типизированный указатель, используется операция разыменования ^:
var i: integer; pi: ^integer; ... pi := @i; // указателю присвоили адрес переменной i pi^ := 5; // переменной i присвоили 5
Операция разыменования не может быть применена к бестиповому указателю.
Типизированный указатель может быть неявно преобразован к бестиповому:
var p: pointer; pr: ^real; ... p := pr;
Обратное преобразование также может быть выполнено неявно:
pr := p; pr^ := 3.14;
Указатели можно сравнивать на равенство (=) и неравенство (<>). Для того чтобы отметить тот факт, что указатель никуда не указывает, используется стандартная константа nil (нулевой указатель) : p := nil.
Внимание! Ввиду особенностей платформы .NET тип T типизированного указателя не должен быть ссылочным или содержать ссылочные типы на каком-то уровне (например, запрещены указатели на записи, у которых одно из полей имеет ссылочный тип). Причина такого ограничения проста: указатели реализуются неуправляемым кодом, который не управляется сборщиком мусора. Если в памяти, на которую указывает указатель, содержатся ссылки на управляемые переменные, то они становятся недействительными после очередной сборки мусора. Исключение составляют динамические массивы и строки, обрабатываемые особым образом. То есть, можно делать указатели на записи, содержащие в качестве полей строки и динамические массивы.