
- •4. Подпрограммы в Паскале. Подпрограммы-процедуры и подпрограммы-функции.
- •5. Формальные и фактические параметры подпрограмм Паскаля.
- •6. Формальные параметры подпрограмм Паскаля. Параметры-значения и параметры-переменные.
- •11. Тип массив в Турбо- Паскале (понятие, описание, размещение в памяти эвм).
- •16. Статическое и динамическое распределение памяти. Тип-указатель в Турбо Паскале ( понятие, описание, типизированные и нетипизированные указатели).
- •17. Общие представления об объектно-ориентированном программировании. Тип-объект в Турбо Паскале (понятие, особенности описания).
- •Пример.
- •23. Особенности компиляции Паскаль-программы модульной структуры.
- •24. Основный стандартные модули и их краткая характеристика.
- •28. Отладка программ ( понятие, цель, стадии отладки, основные фазы контроля корректности программ).
- •30. Восходящее и нисходящее тестирование программ.
- •37. Основные типы и структуры данных в Фортране. Объявление типа и структур данных в Фортране.
- •43. Простейший способ ввода-вывода данных на Фортране, управляемого списками ввода-вывода.
- •44. Запись операторов ввода-вывода в Фортране при использовании объявления формата данных.
16. Статическое и динамическое распределение памяти. Тип-указатель в Турбо Паскале ( понятие, описание, типизированные и нетипизированные указатели).
СТАТИЧЕСКОЕ РАСПРЕДЕЛЕНИЕ ПАМЯТИ (static memory allocation) Способ распределения оперативной памяти, при котором размещение в ней программы или объектов одной программы (переменных, констант, процедур и т. п.), а также объем занимаемой ими памяти определяется заранее и не меняется в процессе выполнения.
Динамическое распределение памяти — способ выделения оперативной памяти компьютера для объектов в программе, при котором выделение памяти под объект осуществляется во время выполнения программы.
Указатель - это ссылка на данные или код вашей программы. Он представляет адрес в памяти элемента, на который указывает. Использование указателей позволяет писать большие и более гибкие программы и особенно полезно, когда вы начинаете писать объектно-ориентированные программы. Как правило, в Турбо Паскале указатель связывается с некоторым типом данных. Такие указатели будем называть типизированными. Для объявления типизированного указателя используется значок (^), который помещается перед соответствующим типом. В Паскале можно объявлять указатель и не связывать его при этом с каким-либо конкретным типом данных. Для этого служит стандартный тип POINTER. Указатели такого рода называются нетипизированными. Поскольку нетипизированные указатели не связаны с конкретным типом, с их помощью удобно динамически размещать данные, структура и тип которых меняются в ходе работы программы.
17. Общие представления об объектно-ориентированном программировании. Тип-объект в Турбо Паскале (понятие, особенности описания).
Объектно-ориентированное программирование представляет собой метод программирования, который весьма близко напоминает наше поведение. Оно является естественной эволюцией более ранних нововведений в разработке языков программирования. Объектно-ориентированное программирование является более структурным, чем все предыдущие разработки, касающиеся структурного программирования. Оно также является более модульным и более абстрактным, чем предыдущие попытки абстрагирования данных и переноса деталей программирования на внутренний уровень. Объектно-ориентированный язык программирования характеризуется тремя основными свойствами:
1. Инкапсуляция. Комбинирование записей с процедурами и функциями, манипулирующими полями этих записей, формирует новый тип данных - объект.
2. Наследование. Определение объекта и его дальнейшее ис пользование для построения иерархии порожденных объектов с возможностью для каждого порожденного объекта, относя щегося к иерархии, доступа к коду и данным всех порождаю щих объектов.
3. Полиморфизм. Присваивание действию одного имени, которое затем совместно используется вниз и вверх по иерархии объектов, причем каждый объект иерархии выполняет это действие способом, именно ему подходящим.
Основным понятием ООП и элементом программы является объект, сочетающий в себе как совокупность данных, так и действий над ними. Тип-объект в Turbo Pascal напоминает тип-запись, однако вместо зарезервированного слова record используется слово object, а кроме полей, представляющих данные, в нем перечислены и заголовки подпрограмм, называемых методами. При задании такого типа после зарезервированного слова object перечисляются все поля объекта и заголовки методов, после чего пишется слово end.
18. Понятие совместимости типов в Турбо Паскале. Идентичность типов в Турбо Паскале.
Два типа считаются совместимыми, если:
|
оба они есть один и тот же тип; |
|
оба вещественные; |
|
оба целые; |
|
один тип есть тип-диапазон второго типа; |
|
оба являются типами-диапазонами одного и того же базового типа; |
|
оба являются множествами, составленными из элементов одного и того же базового типа; |
|
оба являются упакованными строками (определены с предшествующим словом PACKED) одинаковой максимальной длины; |
|
один тип есть тип-строка, а другой - тип-строка, упакованная строка или символ; |
|
один тип есть любой указатель, а другой - нетипизированный указатель; |
|
один тип есть указатель на объект, а другой - указатель на родственный ему объект; |
|
оба есть процедурные типы с одинаковыми типом результата (для типа-функции), количеством параметров и типом взаимно соответствующих параметров. |
Идентичность типов требуется от формальных параметров процедур и функций и соответствующих им фактических параметров во время вызова.Два типа Т1 и Т2 идентичны в следующих случаях:
1.Т1 и Т2 - один и тот же идентификатор типа (например, Integer, Real и т. д.);
2.один тип объявляется эквивалентным другому.
Пример.
type T1 = Boolean; Т2 = Т1; ТЗ = Boolean;
Все типы T1, T2, ТЗ и Boolean - идентичные типы.
type M1 = array[1..5] of Integer; M2 = array[1..5] of Integer;
Типы Ml и М2 - не идентичные типы. Однако VI и V2 - переменны идентичных типов:
var V1, V2: array[1..5] of Integer;
19. Преобразование типов в Турбо Паскале.
В раде случаев требуется преобразовать переменную одного типа в переменную другого типа. В Turbo Pascal такое преобразование осуществляется сравнительно просто, если переменные обоих типов имеют один и тот же размер. Для этого следует указать идентификатор типа, а за ним в круглых скобках переменную исходного типа. Если новый тип - структурированный, можно в случае необходимости выбрать компоненту в соответствии с общими правилами.