Содержание работы

1. Текст главной программы задачи №1:

! Lab7_V1_1.f90

! FUNCTIONS:

! Lab7_V1_1 - Entry point of console application.

!****************************************************************************

! PROGRAM: Lab7_V1_1

! PURPOSE: Entry point for the console application.

!****************************************************************************

program Lab7_V1_1

implicit none

! Объявления переменных

integer:: fi=1,fo=2! Номера устройств ввода и вывода

integer F(100)! Массив F

integer n! Количество элементов массива F

integer i! Счетчик элементов массива F

character(4) teta,alfa,beta! Строки

real w! Вещественное число W

real v! Вещественное число V

integer e! Целое число Е

! ----- Выполняемые операторы -----

! Файловой переменной fi назначается файл File1.txt

open(fi,file='File1.txt')! Текстовый файл открывается для чтения

read(fi,*) teta,alfa,beta! Чтение из файла первой строки

read(fi,*) w,e,v! Чтение из файла второй строки

read(fi,*) n! Чтение из файла третьей строки

read(fi,*) (F(i),i=1,n)! Чтение из файла четвертой строки

close(fi)! Закрывается прочитанный файл fi

! Выводим информацию в файл:

! Файловой переменной fo назначается файл File1.out

open(fo,file='File1.out')! Текстовый файл fo открывается для записи

write(fo,'(3(a,a4))') ' teta=',teta,' alfa=',alfa,' beta=',beta

write(fo,'(a,e13.4,a,i4,a,f6.2)') ' w=',w,' e=',e,' v=',v

write(fo,'(a,$)') ' F = '

write(fo,'(100i3)') (F(i),i=1,n)

close(fo)! Закрывается файл fo,созданный программой

! дублируем вывод информаци на экран:

write(*,'(3(a,a4))') ' teta=',teta,' alfa=',alfa,' beta=',beta

write(6,'(a,e13.4,a,i4,a,f6.2)') ' w=',w,' e=',e,' v=',v

write(*,'(a,$)') ' F = '

write(*,'(100i3)') (F(i),i=1,n)

end program Lab7_V1_1

2. Файл исходных данных для задачи №1.

3. Окно консольного приложения с результатами расчета для задачи №1.

4. Файл с результатами расчета для задачи №1.

5. Текст главной программы задачи №2:

! Lab7_V1_2.f90

! FUNCTIONS:

! Lab7_V1_2 - Entry point of console application.

!****************************************************************************

! PROGRAM: Lab7_V1_2

! PURPOSE: Entry point for the console application.

!****************************************************************************

program Lab7_V1_2

implicit none

! Объявления переменных

integer:: fi=1,fo=2! Номера устройств ввода и вывода

integer m! количество строк и столбцов

integer A(100,100)! массив А

integer R! искомая разность

integer Amax! максимальный элемент

integer Amin! минимальный элемент

integer i,j! счетчики по строкам, столбцам

! ----- Выполняемые операторы -----

! Файловой переменной fi назначается файл File1.txt

open(fi,file='File1.txt')! Текстовый файл открывается для чтения

read(fi,*) m! Чтение количества строк и столбцов

do i=1,m! цикл по строкам

read(fi,*) (A(i,j),j=1,m)! чтение массива по строкам

enddo

close(fi)! Закрывается прочитанный файл fi

! поиск минимального и максимального элементов

Amin=A(1,1)! начальное значение минимального элемента

Amax=A(1,1)! начальное значение максимального элемента

do j=1,m! цикл по столбцам

do i=1,m! цикл по строкам

if (A(i,j)<Amin) Amin=A(i,j)! проверка на минимум

if (A(i,j)>Amax) Amax=A(i,j)! проверка на максимум

enddo

enddo

R=Amax-Amin! разность между максимальным и минимальным

! Выводим информацию в файл:

! Файловой переменной fo назначается файл File1.out

open(fo,file='File1.out')! Текстовый файл fo открывается для записи

write(fo,*) '-----------------------------------'

write(fo,*) 'Check elements of array A:'

do i=1,m

write(fo,'(100i5)') (A(i,j),j=1,m)! чтение массива по строкам

enddo

write(fo,*) '-----------------------------------'

write(fo,'(2(a,i4))') ' Amin=',Amin,' Amax=',Amax

write(fo,'(a,i4)') ' Result: R=',R! вывод результата на экран

close(fo)! Закрывается файл fo,созданный программой

! дублируем вывод информаци на экран:

! Вывод массива на экран - проверка правильности ввода

print *,'-----------------------------------'

print *, 'Check elements of array A:'

do i=1,m

write(*,'(100i5)') (A(i,j),j=1,m)! чтение массива по строкам

enddo

print *,'-----------------------------------'

write(*,'(2(a,i4))') ' Amin=',Amin,' Amax=',Amax

write(*,'(a,i4)') ' Result: R=',R! вывод результата на экран

end program Lab7_V1_2

6. Файл исходных данных для задачи №2.

7. Файл с результатами расчета для задачи №2.

8. Окно консольного приложения с результатами расчета для задачи №2.

9. Выводы:

· изучены файлы данных и способы доступа к ним;

· приобретены навыки ввода-вывода простых переменных различных типов;

· ознакомился с вводом-выводом индексированных переменных, массивов;

· применено форматирование выводимой информации.


(КОНТРОЛЬНЫЕ ВОПРОСЫ – ПРАВИЛЬНЫЕ ВАРИАНТЫ ОТВЕТОВ)


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: