
- •Алфавит языка Паскаль. Правила построения идентификаторов.
- •Структура Паскаль-программы. Прокомментировать назначения разделов.
- •Структура программы на языке Паскаль такова:
- •Логические переменные в Паскале. Основные операции над ними. Логические выражения. Правила записи и вычсления сложных логических выражений.
- •Арифметические, строковые и логические выражения. Операции mod и div.
- •Формат и правила выполнения оператора присваивания.
- •Понятие и применение составного оператора.
- •Формат и правила выполнения условного оператора if.
- •Оператор цикла с известным числом повторений for: формат, порядок выполнения.
- •Оператор цикла с неизвестным числом повторений While: формат, порядок выполнения.
- •Оператор цикла с неизвестным числом повторений Repeat...Until: формат, порядок выполнения.
- •Сравнительный анализ возможностей оператора цикла с неизвестным числом повторений While и оператора цикла с известным числом повторений For.
- •Сравнительный анализ возможностей оператора цикла с неизвестным числом повторений Repeat...Until и оператора цикла с известным числом повторений For.
- •Сравнительный анализ возможностей операторов цикла с неизвестным числом повторений While и Repeat...Until.
- •Операторы ввода данных Read и Readln, их форматы, сходство и различие между операторами.
- •Операторы вывода данных Write и Writeln, их форматы, сходство и различие между операторами.
- •Оператор case: формат, порядок выполнения.
- •Организация управления выполнением программы с помощью меню (на примере).
- •Одномерный массив. Понятие, варианты об0ъявления, настройка на фактическое число элементов массива.
- •Алгоритм упорядочения элементов одномерного массива методом обмена пар смежных записей (метод "пузырька"). Рационализация алгоритма.
- •Алгоритм и особенности этой сортировки таковы:
- •Двумерный массив: понятие, варианты объявления, настройка на фактическое число строк и столбцов массива. Организация в программе вывода двумерного массива в матричной форме.
- •Основные действия с двумерными массивами Паскаля
- •Ввод двумерного массива Паскаля.
- •Вывод двумерного массива Паскаля на экран.
- •Представление двумерного массива Паскаля в памяти
- •Строки в Паскале: понятие, описание, варианты представления и использования.
- •Стандартные процедуры и функции работы со строками.
- •Понятие процедуры и функции в Паскале. Их назначение, применение, варианты размещения в программе.
- •Формат процедуры, размещение ее в программе обращение к ней из вызывающей программы.
- •Обмен информацией между процедурой и вызывающей программой: понятие формального и фактического параметра. Требования к этим параметрам, их описание и применение.
- •27. Формат функции в Паскале, размещение ее в программе, обращение к ней из вызывающей программы
- •28. Обмен информацией между функцией и вызывающей программой: понятие входных параметров, их описание, особенности технологии возврата результата.
- •29. Сравнительный анализ возможностей процедуры и функции. Возможности преобразования процедуры в функцию и наоборот.
- •30. Область действия имен. Глобальные и локальные переменные.
- •31. Достоинства и недостатки использования глобальных переменных и параметров при обмене информацией между программами. Рекомендации по применению.
- •32. Модуль в Паскале (Unit), его назначение, структура модуля, назначение и описание частей модуля.
Формат процедуры, размещение ее в программе обращение к ней из вызывающей программы.
Процедурой называется часть программы, предназначенная для решения определенной задачи или подзадачи.
Процедура в Паскале имеет структуру, подобную структуре программы. Известно, что в стандартном Паскале программы имеют жесткий формат:
Оператор Program должен быть первым, а тело программы последним. Порядок описания остальных составляющих жестко не регламентирован, но идентификаторы должны быть объявлены до их использования во избежание ошибок компиляции.
Общая структура процедуры будет иметь вид:
Procedure имя процедуры (параметры); {Заголовок процедуры}
Label метки;
Const объявление констант;
Type определения типов данных;
Var объявления переменных;
Процедуры, входящие в данную;
Begin
Тело главной процедуры;
End;
Таким образом, процедура состоит подобно основной программе из заголовка процедурой программного блока. Заголовок процедуры в отличие от заголовка программы не может быть опущен. Он имеет вид:
PROCEDURE < ИМЯ > (<СПИСОК ПАРАМЕТРОВ>);
где PROCEDURE - служебное слово; ИМЯ - имя процедуры, определяемое в соответствии с общими правилами построения идентификаторов; СПИСОК ПАРАМЕТРОВ (формальных) - перечень имен для обозначения исходных данных и результатов работы процедуры с указанием их типов.
Допускается описание процедуры, не содержащее <СПИСКА ПАРАМЕТРОВ>:
PROCEDURE < ИМЯ >;
в этом случае параметры в процедуру и из нее передаются через систему глобальных параметров (см. ниже).
Сразу за заголовком подпрограммы может следовать одна из стандартных директив ASSEMBLER, EXTERNAL, FAR, FORWARD, INLINE, INTERRUPT, NEAR.
Параметры в списке заголовка отделяются друг от друга точками с запятой. Если параметры однотипны, то их можно объединять в подсписки и записывать через запятую. Например:
Procedure Sub (a:real; b:real; n:integer; k:integer; ch:char);
Содержательная часть процедуры представляет собой блок и состоит, следовательно, из раздела описаний (меток, констант, типов, переменных, процедур и функций) и раздела операторов, представляющего собой составной оператор Begin - End, в котором для обеспечения наглядности программы слова Begin и End целесообразно записывать с заглавной буквы. Заканчивается блок процедуры точкой с запятой.
Обращение к процедуре
Если процедура объявлена, то в программе ее можно использовать многократно, просто задавая ее имя и, если необходимо, список аргументов, т.е. вызов происходит с помощью оператора вызова:
<ИМЯ ПРОЦЕДУРЫ> (<СПИСОК ПАРАМЕТРОВ>);
где ИМЯ ПРОЦЕДУРЫ - имя процедуры, к которой происходит обращение; СПИСОК ПАРАМЕТРОВ (фактических) - перечень конкретных значений (выражений) и имен, подставляемых на место формальных параметров процедуры при ее выполнении.
При описании подпрограмм и вызова их используются понятия формальных и фактических параметров.
Формальные параметры - это переменные, фиктивно (формально) присутствующие в процедуре и определяющие тип и место подстановки фактических параметров.
Фактические параметры - это реальные объекты программы, заменяющие в теле процедуры при ее вызове формальные параметры.
Над этими объектами и производятся действия, предусмотренные операторами тела процедуры.
При вызове процедуры формальные параметры, указанные в ее заголовке, заменяются аргументами в порядке их следования: первому слева параметру в списке ставится в соответствие первый аргумент, второму - второй и т.д. Число и тип формальных и фактических параметров должны обязательно совпадать.
25. Обмен информацией между процедурой и вызывающей программой: понятие входного и выходного параметра. Технологии передачи параметров – по ссылке и по значению. Описание этих параметров в списке формальных параметров процедуры.
Для обмена информацией между процедурами и функциями и другими блоками программы существует механизм входных и выходных параметров. Входными параметрами называют величины, передающиеся из вызывающего блока в подпрограмму (исходные данные для подпрограммы), а выходными - передающиеся из подрограммы в вызывающий блок (результаты работы подпрограммы).
В стандарте языка Паскаль передача параметров может производиться двумя способами - по значению и по ссылке. Параметры, передаваемые по значению, называют параметрами-значениями, передаваемые по ссылке - параметрами-переменными. Последние отличаются тем, что в заголовке процедуры (функции) перед ними ставится служебное слово var. При первом способе (передача по значению) значения фактических параметров копируются в соответствующие формальные параметры. При изменении этих значений в ходе выполнения процедуры (функции) исходные данные (фактические параметры) измениться не могут. Поэтому таким способом передают данные только из вызывающего блока в подпрограмму (т.е. входные параметры). При этом в качестве фактических параметров можно использовать и константы, и переменные, и выражения.
При втором способе (передача по ссылке) все изменения, происходящие в теле процедуры (функции) с формальными параметрами, приводят к немедленным аналогичным изменениям соответствующих им фактических параметров. Изменения происходят с переменными вызывающего блока, поэтому по ссылке передаются выходные параметры. При вызове соответствующие им фактические параметры могут быть только переменными.
Выбор способа передачи параметров при создании процедуры (функции) происходит в соответствии со сказанным выше: входные параметры нужно передавать по значению, а выходные - по ссылке. Практически это сводится к расстановке в заголовке процедуры (функции) описателя var при всех параметрах, которые обозначают результат работы подпрограммы. Однако, в связи с тем, что функция возвращает только один результат, в ее заголовке использовать параметры-переменные не рекомендуется.