- •1. Ссылочный тип данных.
- •2. Оператор new.
- •3. Сортировка в дп.
- •4. Файлы с прям. Доступом
- •5. Нетипизированные файлы
- •6. Особенности работы с типами в tp. Явные преобразования типов
- •7. Эквивалентность типов.
- •8. Совместимость типов.
- •9. Настройка перменных.
- •10. Типизированные константы.
- •11. Работа с внешними процедурами. Модули.
- •12. Объектовый тип. Основные понятия
- •13. Наследование и переопределение в объектовых типах
- •14. Виртуальные методы в объектах
- •15. Конструкторы и деструкторы
- •16. Скрытые поля и методы
- •17. Раздел files основного меню turbo-паскаль 7.0
- •18. Директивы компилятора тр.
- •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. Локальные и глобальные объекты в процедурах и ф-циях.
- •40. Структурн. Предст. Осн. Констр-ий языка
- •41. Перевод вещественных чисел из 10-ичной системы в 2-ную.
- •42. Перевод вещественных чисел из двоичной сс в 10-чную.
- •43. Перевод чисел из двоичной системы в восьмеричнуюа из 8-й в 16-ю.
- •44. Перевод чисел из 8-ричной и 16-ричной системы счисления в десятичную.
- •45. Внутр. Представление двоичных чисел с фиксир. Точкой
- •46. Внутр. Представление числа с плавающей точкой
- •47. Сортировка методом «часового»
- •49. Алфавит языка, имена, числа, строки
- •50. Структура программы.
- •51. Тип integer.
- •52. Тип real.
- •53. Тип boolean и char.
- •54. Тип char.
- •55. Описат. Часть программного блока.
- •56. Процедуры ввода-вывода.
- •57. Оператор присваивания
- •58. Условный оператор.
- •59. Оператор варианта (case of).
- •60. Цикл с параметром for (с перечислением)
- •61. Оператор цикла с предусловием
- •62. Оператор цикла с постусловием.
5. Нетипизированные файлы
Нетипизированные файлы объявляются как файловые переменные типа FILE и отличаются тем, что для них не указан тип компонентов. Отсутствие типа делает эти файлы, с одной стороны, совместимыми с любыми другими файлами, а с другой позволяет организовать высокоскоростной обмен данными между диском и памятью.
При инициации нетипизированного файла процедурами RESET или REWRITE можно указать длину записи нетипизированного файла в байтах. Например, так:
var
f: filei
begin
assign(f, 'myfile.dat');
reset(f,512);
end.
6. Особенности работы с типами в tp. Явные преобразования типов
В TP предусмотрен принцип СТРОГОЙ ТИПИЗАЦИИ. Он гласит следующее: все применяемые в языке операции определены только над операндами совместимых типов!
ПРИВЕДЕНИЕ ТИПА ПЕРЕМЕННОЙ – конструкция, предназначенная для явного преобразования типа, которая не совершает никаких действий над переменной, а просто позволяет трактовать действия над одной переменной, как над переменной другого типа.
Тип (переменная):
var
SI:1..255;
begin
char(SI):=’A’;
end.
Использовать данную конструкцию можно везде, где допускается хранение значения этой переменной.
ПРИВЕДЕНИЕ ТИПА ЗНАЧЕНИЯ ВЫРАЖЕНИЯ – конструкция, позволяющая преобразовать тип произвольного выражения, которое записывается в круглых скобках после идентификатора.
Если ограничения на длину нет и если один дискретный тип преобразуется в другой дискретный тип, то это может привести к уменьшению или увеличению размера памяти по сравнению с исходным значением.
var
LI:longint;
I:integer;
begin
LI:=1234567;
I:=integer (LI+1);
{I=>-10616}
end.
7. Эквивалентность типов.
Принцип строгой типизации требует точного определения, какие типы описывают идентичные множества значений, т.е. являются эквивалентными. Вирт заложил в стандарт языка принцип именной эквивалентности: 2 типа Т1 и Т2 являются эквивалентными, если выполняется одно из двух условий:
1. Т1 и Т2 представляют собой один и тот же идентификатор типа.
2. Тип Т2 описан с использованием типа Т1 с помощью равенства вида:
type
T1 = real;
T2=T1;
T3= T2;
На самом деле такая строгое соответствие требуется только при передачи параметров в процедуры и функции, в остальных же случаях требование эквивалентности ослаблено, но более детально проработаны правила совместимости типов.
8. Совместимость типов.
1) СОВМЕСТИМОСТЬ ОПЕРАНДОВ ВЫРАЖЕНИЯ.
Оба типа операндов совместимы, если:
1. Оба типа эквивалентны
2. ~ являются либо целыми, либо вещественными
3. ~ один тип – ограниченный и его базовый – второй тип
4. ~ ограничены, но базовый тип один и тот же
5. ~ множественные, а их базовые типы - совместимые (результат выражения будет приводится к тому типу, диапазон которого шире)
6. один тип – строковый, второй – либо строковый, либо символьный.
2) СОВМЕСТИМОСТЬ ТИПОВ ПО ПРИСВАИВАНИЮ.
Оба типа совместимы, если:
1) Оба типа эквиваленты (но не файловые и не содержащие файловый в своем составе)
2) ~ дискретные (диапазон значений правой части – подмножество диапазона в левой)
3) ~ вещественные (диапазон значений правой части – подмножество диапазона в левой)
4) Тип левой части – вещественный, правой – целый.
5) Тип левой – строковый, правой – строковый/символьный
6) ~ совместимые множественные типы (множество правой части – подмножество диапазона в левой)
7) ~ объектовые (правая часть – потомок левой)
ЕСЛИ НИ ОДИН ПУНКТ НЕ ВЫПОЛНЯЕТСЯ – НА ЭТАПЕ КОМПИЛЯЦИИ/ВЫПОЛНЕНИЯ – СООБЩЕНИЕ ОБ ОШИБКЕ
