экзамен (ШпОрА по ИНФУ)

Посмотреть архив целиком

2 Организация программ линейной структуры. Примеры. Ввод-вывод различных типов данных и матриц.


Программой линейной структуры называется такая программа, каждый оператор которой выполняется один и только один раз. Она может строиться только из простых операторов, не меняющих естественный порядок вычислений, а именно, из операторов присваивания и операторов процедур. Из числа последних в этом разделе нас будут интересовать только операторы процедур ввода и вывода для стандартных устройств – клавиатуры и монитора.



3 Операторы передачи управления. Организация программ разветвляющейся структуры. Примеры.


Программой разветвляющейся структуры называют такую программу, в которой, в зависимости от исходных данных, возможны различные последовательности выполнения операторов, причем на любой из них каждый оператор выполняется только один раз.

Для реализации программ или фрагментов программ с разветвляющейся структурой используются условные операторы if и операторы выбора case.


Оператор if then else имеет следующую синтаксическую диаграмму

где БВ – булевское выражение , значением которого может быть либо Истина, либо Ложь. О1 и О2 – операторы, каждый из которых может быть пустым оператором.


Оператор case do else имеет следующую синтаксическую диаграмму:

4 Организация программ циклической структуры. Виды циклов. Примеры использования.


Программой циклической структуры называют такую программу, в которой операторы могут повторно, при изменяющихся значениях переменных выполняться несколько раз, образуя цикл. Различают следующие виды циклов (для их организации используются специальные структурные операторы - операторы циклов):

  • цикл с заданным числом повторений или цикл с параметром (операторы цикла for: оператор for to и оператор for downto),

  • цикл с предусловием (оператор цикла while),

  • цикл с постусловием (составной оператор цикла repeat until).

В циклах можно выделить управляющие части, определяющие начало и условия выполнения цикла, и части из одного или нескольких операторов (тело цикла), выполняющие необходимые преобразования данных.

Структура оператора цикла for to описывается синтаксической диаграммой


Структура оператора цикла while описывается синтаксической диаграммой

Структура оператора цикла repeat until описывается синтаксической диаграммой



6 Классификация типов данных. Описание характеристик каждого типа данных. Описание конструкций пользовательских типов данных с помощью синтаксических диаграмм. Примеры использования.

    • Стандартные числовые типы данных.

    • Перечисляемый и интервальный типы данных.

    • Тип данных массив (статический и динамический).

    • Тип данных множество.

    • Строковые типы данных.

    • Тип данных запись. Записи с вариантами.

    • Текстовый файл, особенности работы.

    • Типизированный файл, особенности работы.

    • Ссылочные типы данных. Примеры использования для работы со связными списками.

    • Символьный тип данных. Массивы символов.

    • Булевский тип данных.

    • Процедурный тип.


Классификация типов данных:

  1. Простые

а) Ординальные:

* Целые.(ShortInt, Byte, Integer, Word, LongInt)

* Символьные(Char)

* Булевы (Boolean)

* Перечисляемые

* Диапазонные

б) Вещественные(Single, Real, Double, Extended)

  1. Сложные

    • Cтроки(String)

    • Массивы(Array)

    • Записи(Record)

    • Файл(File)

    • Множества(Set)

  2. Указатели(^)

  3. Объектный(Object(TObject в Delphi))



Описание конструкции пользовательских типов данных с помощью синтаксических диаграмм:





Определение типа





7 Файловые типы данных. Работа с файлами различных типов в режиме последовательного доступа. Работа с файлами в режиме прямого доступа. Обработка ошибок.





Работ с файлами в режиме прямого доступа используется в типизированных и нетипизированных файлах. Нетипизированные файлы дают возможность прямого доступа к любому файлу на диске, независимо от его типа и структуры. Типизированные файлы дают возможность прямого доступа к любому компоненту файла по его порядковому номеру.

Работа в режиме последовательного доступа используются текстовые файлы. В текстовых, для того чтобы добраться до нужного маркера(указателя, символа), нужно прочитать все предыдущие строки.


Ошибки, возникающ9ие при работе с файлами:

2 – Файл не найден

3 – Путь не найден

4 – Открыто более 15 файлов

5 – Попытка записи в файл, открытого только для чтении,. ИЛИ файл с указанным именем не существует, ИЛИ Попытка перезаписи в файл, открытого только для чтении, ИЛИ попытка удаления каталога или файла, открытого только для чтения, ИЛИ каталог с указанным именем не существует

6 – Файл повреждён

8 – Недостаточно памяти

12 – Неправильный тип файла

15 – Неправильное устройство

16 – Удаление текущего каталога

17 – Попытка переноса файла на другое место

100 – Попытка чтения после признака конца файла

101 – Нет места на диске

102 – Не выполнено связывание файлового переменного с внешним файлом

103 – Файл не был открыт

104 – Не открыть для чтения текстовый файл

105 – Не открыт для вывода записи текстовый файл

106 – Ошибка ввода числового значения


Обработка файл: До открытия файла выключаем директиву компилятора {$I-}, а после открытия включаем {$I+}, после с помощью функции IOResult (Возвращает 0, если нет ошибок) определяем код ошибки, который мы будем дальше обрабатывать. Директивы компилятора {$I-}и{$I+} выключают и включают автоматическую проверку ошибок, мы выключаем авт. проверку ошибок, чтобы не прервать работу программы.









8 Процедуры и функции. Сравнительная характеристика. Примеры использования.


Объявление процедуры



Заголовок процедуры


Имя процедуры строится так же, как и прочие имена в языке Pascal. Блок процедуры строится так же, как блок основной программы, а именно, в нём могут присутствовать объявления меток, констант, типов, переменных, подпрограмм и обязательно – составной оператор (begin … end), представляющий алгоритм подпрограммы.


Обращение к процедуре

Список формальных параметров









Объявление функции


Заголовок функции


Обращение к функции


Отличие функции от процедуры состоит в том, что

  • в заголовке функции после списка параметров необходимо указать тип функции (то есть тип вычисляемого ею результата) именем ранее объявленного или стандартного типа,

  • в вызывающей программе имя функции одновременно рассматривается как имя переменной, представляющей результат вычислений, и по этой причине обращение к функции можно записывать в правой части оператора присваивания и в выражениях, если тип результата простой (но присваивать значение имени функции в вызывающей программе запрещено),

  • в объявлении функции её имя (а не обращение к ней, делающее подпрограмму рекурсивной) не должно встречаться в правой части операторов присваивания или в выражениях,

  • в объявлении функции должен быть хотя бы один оператор, присваивающий её имени, или объявленной по умолчанию локальной (известной только внутри функции) переменной Result того же типа, что и тип функции, результат вычислений,

  • в отличие от имени функции, переменную Result можно использовать в правых частях операторов присваивания и в выражениях как дополнительную переменную, представляющую результат вычислений.


9 Структура программ с использованием подпрограмм. Виды параметров. Использование массивов в качестве параметров. Параметр – открытый массив.


В Delphi допускается любой уровень вложенности процедур и функции. Схематическую структуру программ с использованием подпрограмм можно изобразить так:

Подпрограммы могут иметь Формальные и фактические параметры. Параметры, имена которых указаны в заголовке подпрограммы называют формальными. Переменные, имена которых подставляются в оператор вызова подпрограммы или фактическом обращении к ней, называют фактическими параметрами.

Параметр переменная (В списке формальных параметров VAR). При любых изменениях значения формального параметра-переменной изменится и фактический параметр.

Параметр константа (CONST).

Параметр результат (OUT).

Параметр значение. При изменении формального параметра-значения фактический параметр не меняется.




Как известно, массив можно рассматривать не только как группу упорядоченных переменных, объединенных одним именем, но и как одну переменную, называемую полной переменной. Если имеются две полные переменные “A” и “B”, одинаковые по размерам и типу хранимых ими значений, то значение “A” может быть присвоено переменной “B” с помощью одного оператора присваивания B:=A; т.е. не обязательно передавать значения из одного массива в другой поэлементно. Таким образом, массивам внутри процедуры можно передавать значения извне с помощью формальных и фактических параметров, оформленных в виде полных переменных. При использовании массивов в качестве параметров процедур существует ряд ограничений. Во-первых, нельзя обрабатывать одной и той же процедурой массивы разных типов и размеров. Во-вторых, в заголовке процедур для указания типов формальных параметров- полных переменных запрещается использовать безымянные типы, например A:Array[1..20] of Real. Правильно будет предварительно описывать имя типа массива в разделе описаний программы:Type
Mas1=Array[1..20] of Real;
...............................
Procedure Proced(Var A:Mas1);
begin
...............................
end;


Случайные файлы

Файл
112080.rtf
94878.rtf
15685-1.rtf
7607-1.rtf
159870.rtf




Чтобы не видеть здесь видео-рекламу достаточно стать зарегистрированным пользователем.
Чтобы не видеть никакую рекламу на сайте, нужно стать VIP-пользователем.
Это можно сделать совершенно бесплатно. Читайте подробности тут.