Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Часть 2.doc
Скачиваний:
16
Добавлен:
04.11.2018
Размер:
4.01 Mб
Скачать

124

Часть 2. Лабораторный практикум по курсу «оСновы информационных технологий и программирование»

(язык программирования фортран)

Лабораторная работа №1

Тема: Арифметические и логические выражения. Разработка и реализация программ с линейной структурой

Цель работы:

  • получить навыки составления арифметических и логических выражений на языке Фортран;

  • получить навыки работы по созданию проекта в среде FPS;

  • научиться составлять программу с линейной структурой, используя средства языка Фортран.

Задания к лабораторной работе

Задание 1.1 Математическую запись представить на языке Фортран

№ вар.

Математическое выражение

№ вар.

Математическое выражение

1,2

а)

б)

3,4

а)

б)

5,6

а)

б)

7,8

а)

б)

9,10

а)

б)

11,12

а)

б)

13,14

а)

б)

15,16

а)

б)

17,18

а)

б)

19,20

а) 10

б)

Задание 1.2 Представить запись на языке Фортран в виде математического выражения. Указать порядок выполнения действий.

№ вар

Арифметическое выражение на языке Фортран

1,20

A/B/D+SIN(2*X)-ABS(B*X)-1.E-02+3*H**(1/3.)

2,19

2*SQRT(SIN(3*X*X)+4)-0.2#P**3/D

3,18

LOG10(2*X-1)+COS(X)**2-ABS(SIN(X))/2.*C

4,17

3.17*X**5/(2.7E-3*A+SQRT(X**5+EXP(-X)))

5,16

SIN(5*X**3)**2-A/3.**SQRT(X+Y)*4.8

6,15

ATAN(ABS(X**3))+COSH(X)**2/2.*(1-Y)

7,14

(X/A**2)**3-TAN(R/2/C)+(2/X-A**5)**(1/3.)

8,13

(A+B)/(C+D/(X+Y))-ABS(X-0,5*Y)*2*SINH(X)

9,12

2*SQRT(SIN(3*X*X)+4.)-0.2/P**3/D

10,11

A+B/C*D-LOG(ABS(B*X))-1.E-02+3*H**(1./3)

Задание 1.3.

Составить программу с линейной структурой (представить блок-схему). Выполнить программу в среде Compaq Visual Fortran и записать результаты ее выполнения

Номер варианта

Вычисляемые значения

Формулы для вычислений

Исходные данные

1,2

T,l

 ;

;

t=2i-1

a)i=3,x=2,7 y=2

б)I=5,x=0,5 y=0,01

3,4

P,r

;

а)к=2,

б)к=3,

5,6

;

u=2k+1

а)к=3,у=34,7,t=60

б)к=1,у=0,74,t=2,5

7,8

;

;

a)k=2,x=2,4,t=1,52

б)k=3,x=5,12,t=15,8

9,10

T,r

a)k=5,x=1,24,y=3,24

б)k=3,x=2,38,y=13,44

11,12

P,r

a)n=2,

б)n=3,

13,14

K,n

a)I=1,x=1,35,y=2

б)I=2,x=1,8,y=2,3

15, 16

x, y

;

a, b

17,18

x, y, z

;

a, b

19,20

z, x

;

;

a, b

Образец выполнения работы

Задание 1.1. Математическую запись представить на язык Фортран

Дано выражение

Рассмотрим элементы числителя:

10-7 → 1.0e-7

z**3

abs(3*z**3)

log(abs(3*z**3))

z**5

sin(2*z**5)

Таким образом числитель можно записать:

1.0e-7*log(abs(3*z**3))+sin(2*z**5).

Рассмотрим элементы знаменателя:

sqrt(z+1)

106 → 1.0e+6

Знаменатель имеет вид:

sqrt(z+1)+1.0e+6

Все выражение имеет вид:

(1.0e-7*log(abs(3*z**3))+sin(2*z**5))/(sqrt(z+1)+1.0e+6)

Задание 1.2 Представить запись на языке Фортран в виде математического выражения

Дано выражение :

X+4/3/(X+Abs(ATan(X)))/2*X+1.0E-5*X**(5/3)

Разобьём выражение на слагаемые

X+

1

4/3/(X+Abs(ATan(X)))/2*X+

2

1.0E-5* X**(5/3)

3

Рассмотрим слагаемые по отдельности:

1) X → x

2) Примем условные обозначения:

С = X+Abs(ATan(X)), тогда

4/3/С/2*x →

X+Abs(ATan(X)) →

Подставим вместо С выражение X+Abs(ArcTan(X))

4/3/(X+Abs(ATan(X)))/2*X →

3) 1.0E-5 → 10-5

X**(5/3) →

Все выражение имеет вид

X+4/3/(X+Abs(ATan(X)))/2*X+1.0E-5* X**(5/3))→

+

Задание 1.3. Составить программу с линейной структурой (представить блок-схему). Выполнить программу в среде Compaq Visual Fortran и записать результаты выполнении.

Решение:

  1. Принимает с клавиатуры значения x и z

  2. вычисляет выражения , ,

  3. выводит на экран значения a и b.

Составим алгоритм программы в графическом виде с использованием блок-схемы (рис.Л1.1).

Рис. Л1.1 Схема алгоритма программы с линейной структурой

Текст программы

Program Lr1 !заголовок программы

real x, z, a, r, b !блок описания переменных

print ’(a,$)’,’Vvedite x ’

read(*,*),x ! ввод исходных данных (значения переменной х)

print ’(a,$)’,’Vvedite z ’

read(*,*),z ! ввод исходных данных (значения переменной z)

r=tan(34/23.)+x ! блок вычислений

a=log(abs(z-(1.0e5+x)/(exp(2+r)+4)))/log(10.)

b= z**3 + a**2

print’(a,f8.3,a,f8.3)’,‘a=’,a,’b=’,b!вывод результатов

end program Lr1 !оператор окончания программы

Результаты работы программы:

Vvedite x 2

Vvedite z 2

a= 0.293 b= 8.086.

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