Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ООП_ЛР1,2_A5_Часть1.doc
Скачиваний:
34
Добавлен:
08.11.2019
Размер:
1.7 Mб
Скачать

Выполнить компиляцию и проверку работы программы, последовательно нажимая кнопки “Операция”, “Проверка”, “Закрыть’.

9. Процедуры и функции

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

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

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

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

  4. В качестве открытого массива можно использовать массив с компонентами разного типа. В этом случае соответствующему формальному параметру задается тип array of const, что позволяет передавать в процедуру/функцию произвольное число фактических параметров различных типов с сохранением их исходного типа в рамках процедуры/функции.

Открытые массивы рассматриваются в [2, с. 196]. Для работы с ними используются следующие стандартные функции: функции High(X) и Low(X) определяют соответственно максимальный и минимальный индексы массива открытого типа X, а функция Slice(X,C) выделяет из массива X первые C компонент (типа Integer) для передачи их в подпрограмму в качестве открытого массива.

Конструктор открытого массива аналогичен конструктору множества, только используемые в нем выражения должны иметь тот же тип, что и компоненты открытого массива. Любой конструктор открытого массива помещается в квадратные скобки и представляет собой перечисленные через запятую выражения соответствующего типа, например: Max([A, 1.15, B+C]), где Max – имя функции.

Задание 14. Подготовить и выполнить программу, которая читает из текстового файла записанные в него целые числа, помещает их в массив открытого типа, выделяет в нем первые 5 элементов и среди них отыскивает элемент с наибольшим значением.

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

10. Отчет по лабораторной работе

Отчет следует оформить как документ MS Word. Он должен содержать:

  1. Исходные тексты программ по всем заданиям практической части с комментариями.

  2. Формы программы, демонстрирующие все результаты ее выполнения 7

Литература

1. Марченко А. И. Программирование на языке Object Pascal 2.0. - К.:ЮНИОР,1998.

2. Фаронов В.В. Delphi 3.:Учебный курс. – М.: Нолидж, 1998.

3. Архангельский А. Я. Delphi 7. БИНОМ, 2003.

Приложение 1 Стандартные подпрограммы преобразования типов

Chr(X) - преобразовать число в символ

Функция возвращает символ типа Char, кодом которого является число Х типа Byte.

FloatToStr(Value) - преобразовать вещественное число в символьное представление

Функция возвращает строку типа string, содержащую символьное пред­ставление вещественного числа Value типа Extended.

Hi(X) - выделить старший байт из числа

Функция выделяет старший байт из числа Х (любого целого типа) и возвращает его как результат своей работы. Тип возвращаемого результата -Byte.

lntToHex(Value, Digits) - преобразовать целое число в шестнадцатеричную символьную форму

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]