Пример программы с использованием процедуры, определенной пользователем
В качестве примера опишем процедуру, которая прерывает выполнение программы и выдает соответствующее сообщение об ошибке. procedure Abort(Msg: string); begin Writeln('Ошибка: ', Msg); Halt(1); end; В данной процедуре пользователя использована переменная Msg типа string, в которой хранится текст сообщения о характере ошибки, вызвавшей прерывание программы. Для прерывания выполнения программы используется стандартная процедура Halt из стандартного библиотечного модуля System. Процедура не может выполниться сама, ее необходимо вызвать по имени и указать фактические параметры того же типа, что и формальные. Количество и тип формальных параметров равны количеству и типу фактических параметров. В качестве примера приведем фрагмент программы, в котором используется описанная выше процедура Abort. program DemoProc; {Подсчет суммы десяти введенных целых положительных чисел: если будет введено отрицательное число, прервать выполнение} const Limit= 10; {Ограничение на количество вводимых чисел) var Count, Item, Sum: integer; procedure Abort(Msg: string); {описание и реализация процедуры Abort} begin Writeln('Ошибка: ', Msg); Halt(1); end; Begin {основная программа} Count:= 0; Sum: = 0; while (Count < Limit) do {Условие выполнение цикла} begin Count:= Count+1; Write('Введите ', Count, '-e целое число: '); Readln(Item); if Item < 0 then {Если введено отрицательное число} Abort('Введено отрицательное число! '); {Вызов процедуры} Sum:= Sum+Item; end; Writeln('Сумма введенных чисел равна ', Sum); end. В разделе описания программы описываются константа Limit, ограничивающая количество вводимых чисел; в разделе описания переменных описываются переменные Count, Item, Sum типа integer. В начале программы обнуляются значения количества введенных чисел Count и их сумма Sum. Потом выполняется цикл, пока очередное вводимое число меньше предельного, заданного значением константы Limit. Сначала устанавливается номер очередного числа, затем на экран выводится приглашение "Введите 1-е (2-е и т.п.) число", считывается значение числа с клавиатуры в переменную Item. Затем проверяется условие Item<0.
Если условие выполняется, то вызывается Abort, которой передается фактический параметр-значение типа string: "введено отрицательное число". Это значение присваивается формальному параметру Msg процедуры Abort. Процедура Abort выводит на экран сообщение об ошибке и печатает текст сообщения - значение параметра Msg: "Ошибка: введено отрицательное число", после чего вызывает стандартную процедуру Halt(1), которая прерывает выполнение программы. Если условие Item<0 не выполняется, то значение суммы Sum увеличивается на значение введенного числа Item, и управление передается в заголовок цикла для проверки условия Count < Limit. Если условие соблюдается, то тело цикла выполняется еще раз, иначе цикл завершается, а управление в программе передается на оператор, следующий за циклом, т. е. за резервированным словом end, обозначающим окончание составного оператора в теле цикла. После этого на экран выводится сообщение: "Сумма введенных чисел равна" и печатается значение переменной Sum. На этом выполнение программы завершается.
Читайте также: b) Пример классического. Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|