Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
W-10_Fort_68_стр_10г..doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1 Мб
Скачать
☆

5.5 Примеры решения заданий к лабораторной работе № 5

Пример 1: Составить программу вычисления суммы факториалов всех нечетных целых чисел от 1 до 11 с ис­пользованием подпрограммы FUNCTION вычисления факториала целого аргумента n по формуле n! = 1·2·…·n.

Подпрограмме присвоим имя FACT, тип функции должен быть целочисленным. В основной программе обращение к подпрограмме осуществляется внутри цикла с параметром n, изменяющимся от 1 до 11 с шагом 2. Программа имеет вид:

подпрограмма основная программа

Здесь имена формального и фактического параметров подпрограммы SUM совпадают, в общем случае они могут быть различными, но соответствующи­ми по типам.

Пример 2. Составить программу вычисления среднего арифметического элементов массива A (50) и B (75) и вывода на печать значения большего из средних. Для вычислений использовать подпрограмму. Подпрограмма должна вычислять только один резуль­тат- среднее арифметическое элементов формального массива X, состоящего из N элементов, поэтому ее можно оформить в виде подпрограммы FUNCTION с именем, например SR и аргументами X, N. Значение результата будет присвоено имени функ­ции -переменной SR внутри подпрограммы. Формаль­ный массив X должен иметь регулируемый размер N, по­этому в операторе DIMENSION максимальное значе­ние индекса необходимо задать переменной N.

Обращение к подпрограмме SR в вызывающей про­грамме производится дважды. В первый раз при обра­щении с помощью указателя SR (А, 50) формальный массив X получает размер 50 и совмещается с фактиче­ским массивом A, с элементами которого и проводятся все вычисления, предусмотренные в подпрограмме. При обращении к подпрограмме с помощью указателя SR (В, 75) эти же действия выполняются с массивом B, состоящим из 75 элементов. Программа решения:

подпрограмма основная программа

5.6 Задания на тему: составление подпрограмм типа function .

Составить тексты подпрограмм и блок-схемы к заданиям 1), 2).

(смотри на стр. 65 возможные варианты решений)

* 1) – FUNCTION задание–1)

* Составить подпрограмму-функцию FELIX (A, B, C, D, EPS) для нахождения кор-

* ня уравнения X*A**X-B=0 с заданной точностью EPS, если известно, что он

* находится в интервале (X1,X2).

PROGRAM P1

PRINT*, 'введ. переменные A,B, концы отрезка C, D, EPS'

READ (5,*) A, B, C, D, EPS

YKOR = FELIX (A, B, C, D, EPS)

PRINT*,'КОРЕНЬ УРAВНЕНИЯ'

PRINT 8, YKOR

8 FORMAT (/, 5X , ' YKOR= ' , F10.5)

END

* 2) – FUNCTION задание–2)

* Пользуясь разложением в ряд

* SIN(X)=x-(x**3/3!)+(x**5/5!)-(x**7/7!)+.....(-1**(n-1))*(x**(2*n-1))/

* (2*n-1)!+.... , составить подпрограмму-функцию SINUS(X, EPS) для вычисления

* значений SIN(X) с заданной точностью EPS.

PROGRAM PSIN

PRINT*, ' ввести значение Х, а также точность (погрешность) EPS '

READ (5,*) X,EPS

P=SINUS(X, EPS)

PRINT 1,P

1 FORMAT (//, 5X ,' SIN(X)= ' , F10.8)

END

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