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 следует признать более информативной, поскольку, зная номер максимального элемента и используя его в качестве индекса, можно получить значение максимального элемента массива.


 

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

42651. ДОСЛІДЖЕННЯ АРИФМЕТИЧНИХ ТА ЛОГІЧНИХ ОПЕРАЦІЙ 201 KB
  Безпосередня адресація дозволяє занести на адресу призначення константу що безпосередньо вказана в команді наприклад: MOV 100; в акумулятор записується десяткове число 100. Допускається пряма байтова адресація до внутрішніх регістрів RM з номерами 0 127 наприклад MOV 25H ; в акумулятор записується вміст регістра з адресою 25Н. Наприклад передачу даних з регістру RM за номером 44Н в регістр 0Н або R0 можна реалізувати наступними способами: MOV 0H 44H; пряма адресація запис команди займає 3 байти в ROM MOV R0 44H; регістрова...
42652. Розрахунок контакних площадок елемента 196.5 KB
  Діаметр контактної площадки розраховується за формулою: де – верхнє граничне відхилення діаметра отвору; – верхнє та нижнє граничні відхилення ширини провідника відповідно приймаємо 0.; – діаметр отвору вибирається із таблиці 1. Діаметри отворів в ПП мм Номінальний діаметр монтажного отвору Максимальний діаметр вивода елемента неметалізованого Перехідного металізованого із урахуванням металізації 05 04 07 06 До 04 09 08 04 – 06 11 10 06 – 08 16 15 08 – 13 21 20 13 – 17 Площа плати. Елемент Діаметр виводу...
42653. Склад програм циклічної структури. Цикли з відомою та невідомою кількістю повторів 43.5 KB
  Які оператори циклу існують та як вони виконуються Яким оператором циклу краще програмувати ті або інші циклічні обчислювальні алгоритми Як ініциалізіруються перемінні циклу for якщо нема вираження el.
42654. Себестоимость продукции 74.81 KB
  Главными задачами развития экономики на современном этапе является всемерное повышение эффективности производства, а также занятие устойчивых позиций предприятий на внутреннем и международном рынках
42655. Строение полукружных каналов, их функциональное значение, связь с другими отделами уха и черепа 14.75 KB
  Задний лабиринт представлен системой полукружных каналов. Это три костных трубки просветом до 0.5 мм, изогнутые полукругом. Оба конца полукружных каналов открываются в преддверие.
42656. Строение перепончатой улитки, особенности звуковосприятия, нарушения слуха при поражении кортиева органа 15.29 KB
  Кортиев орган - рецепторная часть слухового анализатора, расположенная внутри перепончатого лабиринта. Воспринимает колебания волокон, расположенных в канале внутреннего уха, и передаёт в слуховую зону коры больших полушарий, где и формируются звуковые сигналы.
42657. Розробка програм зі складеними типами даних 14.81 KB
  Аномалии развития. Чаще всего отмечаются отклонения в строении надгортанника. Он может быть недоразвитым и даже совсем отсутствовать. Иногда надгортанник оказывается резко деформированным: расщепленным на несколько долей, свернутым в трубку. Существенного влияния на функцию голосоречеобразования дефекты надгортанника обычно не оказывают.
42658. Место расположения и строения Кортиева органа, его назначение, нарушения слуха при его патологии 14.77 KB
  В большинстве врожденных дефектов внутреннего уха отмечается недоразвитие кортиева органа, причем неразвившимся оказывается именно специфический концевой аппарат слухового нерва — волосковые клетки
42659. Роль органов дыхания в механизмах фонации. Строение и функция дыхательных мышц и их иннервация. Теории голосообразования 14.7 KB
  При обычном дыхании голосовая щель широко раскрыта и имеет форму равнобедренного треугольника. Вдыхаемый и выдыхаемый воздух при этом беззвучно проходит через широкую голосовую щель.