Реализация задачи на Fortran'е
Вот сам текст задачи :
Организовать вычисления в диалоге по схеме:
1. Вывод приглашения к диалогу.
2. Ввод исходных данных.
3. расчет и вывод результатов.
4. Запрос на повторение результатов. Если не повторять, то конец работы; если повторять, то пе-реход к п.1.
Вычислить:
1. Себестоимость валовой продукции по формуле:
S = C - S1 + S2 + S3 + S4,
где C - общие затраты на производство; S1 - затраты, списанные на непроизводительные счета; S2 - изменение остатка по счету расходов будущих периодов; S3 - изменение остатка незавершенного производства; S4 - изменение остатка по счету предстоящих расходов. Установить, как получен-ная себестоимость соотносится с заданным Y, и соответствующее сообщение напечатать?
2. Балансовую прибыль по формуле:
PБ = PP + PПP + PВН - S,где PP - прибыль от реализации товарной продукции; PПP - результат от прочей реализации; PВН - нереализационные результаты. Проверить, попадает ли полученная прибыль в заданный интер-вал [A,B].
3. Расчетную прибыль по формуле:
PРС = PБ - PФ - PК,где PБ - прибыль балансовая; PФ - фиксированные (рентные) платежи; PК - плата по процентам за кредит. Проверить, попадает ли расчетная прибыль в заданный интервал [A,C].
-------------
И буду очень признателен, если вы покажете мне фрагмент кода, где реализованно условие 2, т.е. принадлежность выражения к определенному интервалу.
Большое спасибо.
Видимо никто не поможет..
program lr3
character povtor
character(16), parameter :: input1='Please, input z '
character(16), parameter :: input2='Please, input b '
character(16), parameter :: input3='Please, input c '
character(16), parameter :: input4='Please, input d '
character(16), parameter :: input5='Please, input e '
character(16), parameter :: input6='Please, input f '
character(16), parameter :: input7='Please, input g '
character(16), parameter :: input8='Please, input h '
character(16), parameter :: input9='Please, input i '
character(16), parameter :: input10='Please, input j '
character(16), parameter :: input11='Please, input k '
character(16), parameter :: input12='Please, input l '
character(16), parameter :: input13='Please, input m '
character(16), parameter :: input14='Please, input n '
character(16), parameter :: input15='Please, input o '
character(16), parameter :: input16='Please, input p '
integer a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p
data k/.false./
write(*, '(T10,8hHello!!!, //)')
1 write(*,'(T10,a,//)')'Laboratory work'
write(*,'(1x,tl5,a,\)')input1
read(*,'(i, bn)') a
2 write(*,'(1x,tr1,a,\)')input2
read(*,'(i, bz)') b
if (b==0) goto 2
write(*,'(1x,tr3,a,\)')input3
read(*,'(i)') c
write(*,'(1x,tl5,a,\)')input4
read(*,'(i, bn)') d
3 write(*,'(1x,tr1,a,\)')input5
read(*,'(i, bz)') e
if (e==0) goto 3
write(*,'(1x,tr3,a,\)')input6
read(*,'(i)') f
write(*,'(1x,tl5,a,\)')input7
read(*,'(i, bn)') g
4 write(*,'(1x,tr1,a,\)')input8
read(*,'(i, bz)') h
if (h==0) goto 4
write(*,'(1x,tr3,a,\)')input9
read(*,'(i)') i
write(*,'(1x,tl5,a,\)')input10
read(*,'(i, bn)') j
5 write(*,'(1x,tr1,a,\)')input11
read(*,'(i, bz)') k
if (k==0) goto 5
write(*,'(1x,tr3,a,\)')input12
read(*,'(i)') l
write(*,'(1x,tl5,a,\)')input13
read(*,'(i, bn)') m
6 write(*,'(1x,tr1,a,\)')input14
read(*,'(i, bz)') n
if (n==0) goto 6
write(*,'(1x,tr3,a,\)')input15
read(*,'(i)') o
write(*,'(1x,tl5,a,\)')input16
read(*,'(i, bn)') p
z=b-c+d+e+f
if (z>g) then
Print *, 'a bolshe g'
else if (z<g) then
Print *, 'a menshe g'
else
Print *, 'a ravno g'
End if
h=i+j+k-z
if (l.lt.h.lt.m) then
print *, ' h prinadlegit intervaly [a,b] '
end if
n=h-o-p
if (l.lt.h.lt.b) then
print *, ' h prinadlegit intervaly [a,c] '
end if
print*
print*,'=================================='
print*
print*
write(*,'(1x,a,\)')'Do you want to repeat calculations? '
read*, povtor
select case (povtor)
case ('YES','yes','Yes','Y','y')
write(*,'(//,a,/)')'========================================='
goto 1
end select
end