Лабораторная работа №6, 12 вариант
Задание:
Составить программу, которая:
-
вводит из файла в массив 12 вещественных чисел и выводит этот массив в результирующий файл. Среди чисел должны быть отрицательные, положительные и равные нулю. Дополнительные параметры, если они упоминаются в тексте задания, ввести с клавиатуры.
-
вычисляет значения всех переменных, которые входят в состав выражения, и значение самого выражения.
-
выводит значения всех полученных переменных с пояснениями.
-
для проверки вычислить указанные величины повторно, используя новые возможности Ф-90 по работе с массивами
-
красиво оформить результаты, используя форматный вывод
|
A В С |
наименьший положительный элемент произведение отрицательных элементов число элементов меньших D с нечетным номером |
Текст программы:
Program Lab2
Implicit None
Real M(1:12), A, B, D, F
Integer I, C
Open(1,FILE='In.txt') ! файл с исходным массивом
Open(2,FILE ='Out.txt') ! результирующий файл
Read(1,*)M ! ввод массива
Write(2,11) M ! вывод массива для контроля
!Наименьший положительный элемент
Do i=1,12
If(M(i)>0) Exit
EndDo
A=M(i)
Do i=i,12
If(M(i)>0 .And. M(i)<A) A=M(i)
EndDo
Write(2,1) A, MINVAL(M,mask=M>0)
!Произведение отрицательных элементов
B=1
Do I=1,12
If (M(I)<0) B=B*M(I)
EndDo
Write(2,2)B,product(M,mask=M<0)
!Число элементов меньших D с нечетным номером
Write(*,*)'Введите D:'
Read(*,*)D
C=0
Do I=1,11,2
If (M(I)<D) C=C+1
EndDo
Write(2,3)C,COUNT(mask=M(1:11:2)<D)
!Формула
F=C+(A+B)/(A*B+1)
Write(2,4) F
!Форматный вывод
11 format('Исходный массив в 2 колонки:'/&
2x,'Нечетные:',1x,'Четные:'/&
2(2x,F7.2))
1 format(2(1x,'A =',F7.2),' (Наименьший положительный элемент)')
2 format(2(1x,'B =',F7.1),' (Произведение отрицательных элементов)')
3 format(2(1x,'C =',I2),' (Число элементов меньших D с нечетным номером)')
4 format(1x,'F =',F7.2,' (Выражение)')
End
Результаты:
Файл In.txt:
-9.15 9 3 -7.1 -1 0 0.2 8.9 2 -4 -5.72 6
Файл Out.txt:
Исходный массив в 2 колонки:
Нечетные: Четные:
-9.15 9.00
3.00 -7.10
-1.00 .00
.20 8.90
2.00 -4.00
-5.72 6.00
A = .20 A = .20 (Наименьший положительный элемент)
B =-1486.4 B =-1486.4 (Произведение отрицательных элементов)
C = 6 C = 6 (Число элементов меньших D с нечетным номером)
F = 11.02 (Выражение)