Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Otchot po kusovoy.doc
Скачиваний:
33
Добавлен:
26.11.2019
Размер:
499.2 Кб
Скачать

2.4.6 Описание вызывающей программы «Main».

Алгоритм.

Вызывающая программа позволяет формировать задачу из разработанных блоков с последующим выполнением задания.

Блок - схема.

см. приложение № 1

Таблица идентификаторов.

Листинг.

program main

use source_data

external f

real::L

common/cml/ Cxz,Cyz

print*,"Programma dlya raschota dal'nosti polyota. Copyright Vladimir Tsukanov, gruppa 1O-203B,MAI 2012"

n=20

Cyz=Cyt(G)

call inter(Cy,Cx,Cxz,Cyz,5)

L=3.6*trap(Gk,G0,n,f)

print*,"Dal'nost' ravna",L

end program

Тестирование программы.

См. Раздел 2.5

2.5 Тестирование программы и отладка задачи в целом.

Чтобы оттестировать программу в целом необходимо предварительно отладить все программные компоненты. Оттестировать их на любых примерах. Разработать инструкции по использованию.

Листинг главной программы вместе с подпрограммами приводятся ниже.

!Курсовая работа по информатике

!Вариант № 17

!Выполнил Цуканов Владимир гр 1О-203Б

module source_data

real,dimension(5)::Cy=(/0.,0.1,0.2,0.3,0.4/),&

Cx=(/0.018,0.018,0.019,0.021,0.027/)

real,parameter::G0=120000,Gk=70000,V=250,S=40

real,parameter::ro=0.705

end module

function Cyt(G)

use source_data

G=Gk

Cyt=2*G/(ro*V**2*S)

print*,'Cyz=',Cyt

end function

!Подпрограмма интерполяции

subroutine inter(y,x,xk,yk,m)

real, dimension(m)::y,x

do j=2,m-1

if(yk<=y(j))then

i=j-1

xk= x(i)+((x(i+1)-x(i))/(y(i+1)-y(i)))*(yk-y(i))

exit

elseif (yk>y(m))then

xk= x(m-1)+((x(m)-x(m-1))/(y(m)-y(m-1)))*(yk-y(m-1))

end if

end do

end subroutine

function f(G)

use source_data

common/cml/ Cxz,Cyz

f=(V*Cyz)/(G*Cxz)

end function

program main

use source_data

external f

real::L

common/cml/ Cxz,Cyz

print*,"Programma dlya raschota dal'nosti polyota. Copyright Vladimir Tsukanov, gruppa 1O-203B,MAI 2012"

n=20

Cyz=Cyt(G)

call inter(Cy,Cx,Cxz,Cyz,5)

L=3.6*trap(Gk,G0,n,f)

print*,"Dal'nost' ravna",L

end program

! Подпрограмма интерирования

function trap(Gk,G0,nt,f)

h=(G0-Gk)/(nt-1)

x=Gk

y=G0

s=f(x)+f(y)/2

do i=2,nt-1

x=x+h

s=s+f(x)

end do

trap=s*h

end function

2.6 Выполнение расчетов.

Результаты, полученные в результате вычислений, совпадают с расчетом контрольной точки рассмотренного фрагмента программы.

Предусмотрены все предполагаемые аварийные ситуации с соответствующими сообщениями.

Programma dlya raschota dal'nosti polyota. Copyright Vladimir Tsukanov, gruppa

1O-203B,MAI 2012

Cyz= 7.9432629E-02

Dal'nost' ravna 2215.659

Press any key to continue

По каждому модулю должны быть разработаны и приведены:

блок-схема, таблица идентификаторов, листинг программы,

расчет контрольной точки, инструкция по использованию.

Документация по использованию подпрограмм.

Таблицы идентификаторов:

Входные данные

Идентиф.

Тип 37перем.

Инженерное обознач.

Значение

Размерность

Содержательное наименование

Cy

Real

Коэффициент подъемной силы

V

Real

V

250

м/с

Скорость полёта

Cx

Real

Коэффициент лобового сопротивления

G0

Real

120000

Н

Начальный вес самолета

Gk

Real

70000

Н

Конечный вес самолета

Ro

Real.

0,705

кг/м3

плотность воздуха на высоте полета

S

Real

S

40

м2

Площадь крыла

Integer

7

Количество разбиений

Выходные данные

Идентиф.

Тип 38перем.

Инженерное обознач.

Значение

Размерность

Содержательное наименование

L

Real

 определ

Дальность полета

Заключение

В курсовой работе разработана математическая модель для расчета дальности полета самолета в горизонтальном полете для заданного диапазона скоростей.

Программа была отлажена на персональном компьютере. Представленные расчеты отвечают заданной точности.

Список использованных источников

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