- •1. Ссылочные типы данных.
- •2. Оператор new.
- •3. Сортировка данных в динамической памяти.
- •4. Файлы с прямым доступом.
- •5. Нетипизированные файлы.
- •6. Особенности работы с типами в tp. Явные преобразования типов.
- •12. Объектовый тип. Основные понятия.
- •13. Наследование и переопределение в объектовых типах.
- •14. Виртуальные методы в объектах.
- •15. Конструкторы и деструкторы.
- •16. Скрытые поля и методы.
- •17. Раздел files основного меню turbo-Паскаль 7.0.
- •19. Библиотека crt turbo-Паскаля.
- •20. Библиотека dos turbo-Паскаля.
- •21. Библиотека system turbo-Паскаля.
- •22. Раздел edit основного меню turbo-Паскаль 7.0.
- •23. Раздел run основного меню turbo-Паскаль 7.0.
- •24. Классификация типов данных.
- •25. Перечислимые типы данных. (На самостоят. Рассмотрение)
- •26. Ограниченые типы данных. (На самостоят. Рассмотрение)
- •27. Регулярные типы данных.
- •28. Многомерные массивы.
- •29. Комбинированные типы данных.
- •30. Оператор with.
- •31. Записи с вариантами.
- •32. Множественные типы данных.
- •33. Операции над данными множесвенного типа.
- •34. Файловые типы данных.
- •35. Текстовые файлы.
- •36. Процедуры.
- •37. Функции.
- •38. Параметры процедур и функций.
- •39. Локальные и глобальные объекты в процедуах и функциях.
- •46. Внутреннее представление чисел с плавающей точкой.
- •47. Реализация алгоритма сортировки с применением метода "часового".
- •48. Сортировка методом "пузырька".
- •49. Алфавит языка, имена, числа, строки.
- •50. Структура программы.
- •51. Тип Integer.
- •52. Тип Real.
- •53. Тип Boolean.
- •54. Char.
- •55. Описательная часть программного блока.
- •56. Процедуры ввода-вывода.
- •57. Оператор присваивания.
- •58. Условный оператор.
- •59. Оператор варианта.
- •60. Оператор цикла с перечислением.
- •61. Оператор цикла с предусловием.
- •62. Оператор цикла с постусловием.
5. Нетипизированные файлы.
var F:File;
Открытие нетипизированных файлов.
reset(F, 200);
rewrite(F, 200);
200 – размер элемента буфера в байтах. По умолчанию 128 байт.
Скорость чтения с дисков обеспечивается в случае, если длина кратна размеру физического кластера диска (512).
Реальный размер файла не кратен значению при открытии файла.
операця чтения с нетипизированных файлов:
blockread(ифп, BUF, count [, result]);
blockwrite(ифп, BUF, count [, result]);
BUF – буфер с данными (куда писать или откуда читать) – переменная.
count – количество блоков, объёмом указанным в reset.
Размер переменной буфера должен быть не меньше, чем произведение размера элементаа (указано в reset) на количество блоков (count).
result – для blockread указывает на объём прочитанных данных, а для blockwrite – это объём записанных данных. (Если было прочитано 150 байт данных, а надо было 4 блока по 200 байт, то result будет 1)
6. Особенности работы с типами в tp. Явные преобразования типов.
Приведение типов позволяет рассматривать одну и ту же величину в памяти ЭВМ как принадлежащую разным типам. Для этого используется конструкция:
Имя_Типа(переменная или значение)
Например:
Integer(‘Z’); - представляет собой значение кода символа в двухбайтном представлении целого числа
Byte(534); - даст значение 22, поскольку целое число 534 имеет тип Word изанимает 2 байта, а тип byte – один байт, и в процессе приведения старший байт будет отброшен.
7. Эквивалентность типов.
Два типа эквивалентны (идентичны), если выполняется одно из условий:
Оба типа представляют собой одно и то же имя типа.
Один из типов описан с использованием другого типа с помощью равенства или последовательности равенств. Например:
type
T1 = integer;
T2 = T1;
T3 = T2;
8. Совместимость типов.
Два типа совместимы, если выполняется одно из условий:
Они эквивалентны.
Один тип интервальный, а другой – его базовый.
Оба типа интервальные с общим базовым.
Один тип строковый, а другой символьный.
10. Типизированные константы.
Тип констант определяется ближайшим типом по присвоенному значению. Типизированным константам можно присваивать другие значения в теле программы.
const
max:integer=999;
m=999;
A:array[1..3] of integer=(7,9,15);
11. Работа с внешними процедурами. Модули.
Модуль – это подключаемая к программе библиотека ресурсов. Он может содержать описания типом, констант, переменных и подпрограмм.
Модули применяются либо как библиотеки, которые могут использоваться различными программами, либо для разбиения сложной программы на составные части.
Если программа разбита на модули, то скорость её компиляции возрастает, так как модули хранятся в готовом, скомпилированном виде и перекомпилируются при изменении в их исходном коде.
Модули бывают стандартные и пользовательские (определяемые пользователем).
Описание модуля:
unit имя;
interface {описание глобальных элементов модуля (видимых)}
implementation {описание локальных (внутр) элементов модуля}
begin
{ может отсутствовать }
end.
Для подключения модуля его нужно указать в uses (после interface или implementation)
В интерфейсной часть модуля определяют константы, типы, переменные, заголовки подпрограмм. Сами программы описываются в скрытой части.
В секции реальзации можно описывать константы, типы, переменные и подпрограммы, скрытые от пользователя.