72636

ПОДПРОГРАММЫ-ФУНКЦИИ

Доклад

Информатика, кибернетика и программирование

С использованием функции RRMX непосредственно возвращающей значение максимального элемента массива и с помощью функции NUMX возвращающей номер максимального элемента массива. Так в приведенном ниже примере имя функции NUMX типизировано как целое по умолчанию а для функции RRMX необходима явная типизация.

Русский

2014-11-26

13.95 KB

0 чел.

ПОДПРОГРАММЫ-ФУНКЦИИ.

Программа SOMAX печатает максимальные значения массивов A, B и C двумя способами. С использованием функции ARRMAX, непосредственно возвращающей значение максимального элемента массива, и с помощью функции NUMAX, возвращающей номер максимального элемента массива.

Подпрограмма-функция начинается с ключевого слова FUNCTION, после которого указывается ее имя и, в круглых скобках, список формальных параметров. Завершается подпрограмма-функци, как и все програамные единицы, оператором END.

Подпрограмма-функция является типизированным объектом. Тип функции определяется типом ее имени. Если имя необходимо явно типизировать, то тип указывается перед FUNCTION. Имя функции должно быть так же типизировано в использующей ее программной единице. Так, в приведенном ниже примере, имя функции NUMAX типизировано как целое, по умолчанию, а для функции ARRMAX необходима явная типизация.

     program SOMAX

     integer A(2), B(3), C(4), ARRMAX

     data A /1, 2/ B/4, 5, 3/ C/ 7, 6, 9, 8/

     print'(3(1x,i1)/)', ARRMAX(A,2), ARRMAX(B,3), ARRMAX(C,4)

     print'(3(1x,i1)/)', A(NUMAX(A,2)), B(NUMAX(B,3)), C(NUMAX(C,4))

     end

 

     integer function ARRMAX(X,N)

     integer X(N)

     ARRMAX = X(1)

     if(N .eq. 1) return

     do i=1, N

       if( X(i) .gt. ARRMAX ) ARRMAX = X(i)

     end do

     return

     end

     function NUMAX(X,N)

     integer X(N)

     NUMAX = 1

     if(N .eq. 1) return

     do i= 2, N

       if( X(i) .gt. X(NUMAX) ) NUMAX = i

     end do

     return

     end

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

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

Подпрограммы-функции используются в вызывающих их программных единицах точно так же, как переменные и константы соответствующего типа. Например, значение функции NUMAX используется как индекс массива.

Функцию NUMAX следует признать более информативной, поскольку, зная номер максимального элемента и используя его в качестве индекса, можно получить значение максимального элемента массива.


 

А также другие работы, которые могут Вас заинтересовать

33398. Структура РПП и ВПП КР1816ВЕ51 28.5 KB
  Организация памяти в микроконтроллере иллюстрируется рисунке Память программ имеет 16битовую адресную шину ее элементы адресуются с использованием счетчика команд PC или инструкций которые вырабатывают 16разрядные адреса. Память программ доступна только по чтению. ОМЭВМ не имеют команд и управляющих сигналов предназначенных для записи в память программ.
33399. Структура РПД и ВПД КР1816ВЕ51 27.5 KB
  Организация памяти в микроконтроллере иллюстрируется рисунке Память данных делится на внешнюю и внутреннюю каждая из них имеет свое пространство адресов. В архитектуре MК51 пространство адресов внутренней памяти данных объединяет все внутренние программно доступные ресурсы. Это пространство размером 256 байт в свою очередь делится на пространство адресов внутреннего ОЗУ резидентная память данных РПД размером 128 байт и пространство адресов регистров специальных функций.
33400. Порты ввода-вывода КР1816ВЕ51 34.5 KB
  Каждый порт содержит управляемые регистрзащелку входной буфер и выходной драйвер. Выходные драйверы портов 0 Р0 и 2 Р2 а также входной буфер Р0 используются при обращении к внешней памяти ВПП и ВПД.5 Вход таймера счетчика 1 или тест вход.4 Вход таймера счетчика 0 или тест вход.
33401. Таймер/Счетчики КР1816ВЕ51 30 KB
  Для управления режимами работы Т С и для организации взаимодействия таймеров с системой прерывания используются два регистра специальных функций РРТС и РУСТ. РРТС определяет включение и выключение T C а также их режимы работы. Используются четыре режима работы Т С. Режим 0.
33402. Образ организации-работодателя 15.43 KB
  Профиль восприятия или имидж предприятия как работодателя в персоналмаркетингеmix называют персоналимиджем personlimge. Персоналимидж организации управляет поведением кандидата на наем ищущего работу. Сначала персоналимидж влияет на решение кандидата: можно ли вообще рассматривать организацию как работодателя. Если организация в итоге потенциальной для найма определяется то персоналимидж свое решающее влияние может оказать на претендента в процессе собеседования в результате которого у кандидата на должность сформируется...
33403. КОНСТРУКТИВНЫМ КОНФЛИКТ 45 KB
  Чтобы конфликт начал разрастаться нужен инцидент т. По значению конфликты делятся на конструктивные созидательные и деструктивные неконструктивные разрушительные. КОНСТРУКТИВНЫМ КОНФЛИКТ бывает тогда когда оппоненты имея собственную позицию не выходят за рамки этических норм деловых отношений и разумных аргументов.
33404. Етикет подарка 35.5 KB
  Ваш подарок может и должен зависеть от характера Ваших отношений с тем кому Вы собираетесь его преподнести. Такой подарок разрушает имидж слабого пола . В портмоне или кошелек надо обязательно положить монетку иначе подарок сулит безденежье. Этот подарок может смутить и вызвать неприятные ощущения если будет подарен в присутствии смешанной компании.
33405. ПРИЁМ ПОСЕТИТЕЛЕЙ И ОБЩЕНИЕ С НИМИ 35.5 KB
  Хозяин офиса принимает посетителя сидя ЗА РАБОЧИМ СТОЛОМ. Он отвечает на приветствие и приглашает сесть перед своим столом. Расположение участников беседы в офисе за стандартным прямоугольным столом при четырех положениях вашего собеседника: 1. Люди не желающие взаимодействовать за столом друг с другом занимают независимую позицию.
33406. Психологическая культура делового разговора 12.94 KB
  Создание благоприятного психологического климата. Задавайте вопросы, на которые вашему партнеру приятно будет отвечать. Поощрите его к тому, чтобы он рассказывал и о достижениях своей фирмы.