Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Инфа теор вопр.docx
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
94.22 Кб
Скачать

21. Подпрограммы общего типа - процедуры. Оформление вспомогательного алгоритма общего типа и форма обращения к нему.

Subroutine, процедура - подпрограмма более общего вида с любым количеством аргументов, в том числе и выходных

Описание процедуры subroutine:

subroutine имя (a1, а2, …а(n))

<описание>

{операторы}

end

a1, а2, …а(n) - формальные параметры, то есть условные имена входных и выходных данных (входные и выходные данные)

Через заголовок процедуры осуществляется передача переменных из модуля в модуль.

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

call имя (Q1, Q2, … Q(n))

Q1, Q2, … Q(n) - фактические параметры

7. Понятие простой переменной и массива. Особенности их представления в ЭВМ. Объявление массива, обращение к его элементу. Возможности использования массивов с переменными границами (в головном модуле, в подпрограмме). Организация ввода/вывода массивов.

  • Переменная – это величина, которая может принимать различные значения.

Переменные различаются по именам. Имя переменной (идентификатор) может содержать 1320 символов, но машина будет читать только первые 6 символов. Причём первый символ – буква (желательно латинского алфавита). Следует избегать имен (идентификаторов), совпадающих с операторами языка, например REAL, READ, а так же с именами встроенных функций.

  • Массивы

Массив – совокупность однотипных элементов, объединенных под одним именем и расположенных в памяти машины подряд.

Массивы должны быть описаны в программе одним из операторов описания. Существует специальный оператор для описания массивов: DIMENSION (указывается имя, тип, размерность)

Пример:

DIMENSION A(10), C(3,4)

Оператор не выполняет никаких действий в программе и служит лишь только для отведения места в оперативной памяти ЭВМ для размещения массивов.

  • Чтобы обратиться к определённому элементу массива, необходимо указать его имя и индекс этого элемента. Индекс в одномерном массиве – это порядковый номер элемента массива, для двухмерного – номер строки и номер столбца. В качестве индекса может выступать константа целого типа, переменная целого типа или арифметическое выражение, желательно целого типа.

Ввод массивов (указывается имя, тип, размерность)

Предположим, что в программе описаны массивы:

DIMENSION A(10)

READ (5,*) ( A(I) , I = 1, 10 )

Достоинство: таким способом можно ввести весь массив целиком или часть этого массива, что весьма удобно использовать в программе, когда необходимо массив заполнить не полностью, а частично.

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

Вывод массивов

Первый способ вывода массива:

WRITE(6,*) A

При бесформатном (упрощенном) выводе массива А на экран дисплея выведутся значения всех элементов массива, количество которых было описано в операторе DIMENSION. В каждой строке печатается по 5 чисел в виде:

-0.1234567Е-01

т.е. с точностью до 7 знаков после запятой.

Недостатки:

– выводятся все элементы массива и при большой размерности массива первые элементы выведутся на экран, но будут недоступными для просмотра, т.к. сдвинутся при выводе остальных элементов;

– при выводе массива не выводятся никакие пояснения (ни имени массива, ни порядкового номера элемента массива);

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

Достоинство: простота использования.

Второй способ вывода массива:

WRITE(6,*) (A(I),I=1,N) , где N – заданно ;

Достоинства:

– позволяет вывести только часть массива;

– количество выводимых элементов задаётся пользователем;

Недостатки:

– нет никаких пояснений к выводимым числам (имя массива и порядковый номер);

– элементы выводятся на экран по 5 чисел в каждую строку..

Третий способ вывода массива:

WRITE(6,*) (‘A(’,I,’)=’,A(I),I=1,N)

Здесь используется неявный цикл типа DO, по которому происходит вывод имени массива с помощью текстовой константы, а за ним в скобках указывается номер выведенного элемента и через знак ‘=’ само численное значение элемента массива:

А(…1)=число А(…2)=число и т.д.