Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Директивы подпрограмм



Директивы дают дополнительную информацию транслятору о размещении подпрограмм и условиях компиляции. Рассмотрим только одну из директив - директиву forward.

Если одна подпрограмма использует другую, а та в свою очередь, эту первую, то возникает проблема размещения этих подпрограмм в программе (ни одну из них нельзя поместить перед другой). Для устранения этой проблемы используют директиву forward.

Сначала записывается полный заголовок первой подпрограммы. Тело этой подпрограммы заменяется директивой forward. Затем полностью описывается вторая подпрограмма, а после этого и первая. Причем для последней можно использовать сокращенный заголовок – только слово procedure или function и ее имя.

Пример 13:

Program Test; var A, B: Integer;   procedure First(A, B: Integer); forward; procedure Second(C: Real); var X, Y: Integer; begin …. First(X, Y); …. end;   procedure First; var Z: Real; begin … Second(Z); … end; begin … First(A, B); … end.

В примере 13 процедура First вызывает Second, а Second в свою очередь – First, поэтому здесь необходимо использовать директиву forward.

Директиву forward можно использовать и просто для более удобного размещения подпрограмм: сначала описать все заголовки, а затем – сами подпрограммы. Директиву forward нельзя использовать для подпрограмм, объявленных в интерфейсе модуля.

Варианты заданий

  Составить процедуру для нахождения корней квадратного уравнения.
  Написать функцию для нахождения суммы цифр целого числа.
  Написать процедуру для ввода и вывода элементов двумерных массивов как целого (Integer), так и вещественного (Real) типа.
  Написать рекурсивную функцию вычисления определителя квадратной матрицы (использовать разложение по строке/столбцу).
  Составить функцию для нахождения i -го числа Фибоначчи по соотношениям .
  Написать подпрограмму, вычисляющую количество вхождений одной текстовой строки в другую.
  Написать процедуру, которая упорядочивает массив чисел по указанному ключу: по возрастанию или по убыванию.
  Составить функции для выполнения операций с квадратными матрицами: сложение, вычитание, умножение.
  Составить подпрограмму для получения обратной матрицы.
  Составить подпрограмму для удаления из строки всех кратных рядом стоящих символов.
  Составить подпрограмму, меняющую в двумерном массиве два указанных столбца или строки.
  Составить подпрограмму для нахождения методом перебора корня уравнения f (x)=0 на данном отрезке [ a, b ] с заданной точностью e.
  Составить подпрограмму для вычисления значения полинома, коэффициенты которого хранятся в массиве.
  Составить подпрограмму для нахождения максимальных и минимальных элементов в каждом столбце матрицы и возврата их в виде двух одномерных массивов.
  Составить подпрограмму для циклического сдвига столбцов двумерного массива в зависимости от параметра либо влево либо вправо.
  Составить подпрограмму для циклического сдвига строк двумерного массива в зависимости от параметра либо вверх либо вниз.
  Составить функцию вычисления среднего арифметического элементов одномерного массива как целого, так и вещественного типов.
  Составить функцию вычисления медианы среди элементов одномерного массива как целого, так и вещественного типов

Требования к оформлению отчета приведены в разделе "Содержание и оформление отчета".





Дата публикования: 2015-04-07; Прочитано: 225 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...