Изменим предыдущую программу таким образом, чтобы пользователь мог вводить сначала первое число, далее знак (+, -, *, / ), потом второе число, и в ответе получался бы результат применения соответствующего арифметического действия к введенным числам:

character s                ! определяем переменную s типа "character" т.е."символьная"
write(*,*)" x="         ! выводится на экран подсказка " x= "
read(*,*) x                 ! считывается с экрана вводимое пользователем значение x
write(*,*)" Znak="   ! выводится на экран подсказка " Znak= "
read(*,'(a)') s             ! считывается вводимое пользователем значение s (знак)
write(*,*)" y="          ! выводится на экран подсказка " y= "
read(*,*) y                 ! считывается с экрана вводимое пользователем значение y
if(s.eq."+") z=x+y     ! если s='+' (введенный знак -"плюс"), то z присваивается X+Y
if(s.eq."-") z=x-y       ! если s='-' (введенный знак -"минус"), то z присваивается X-Y
if(s.eq."*") z=x*y      ! если s='*' (введенный знак -"умножить"), то z присваивается X*Y
if(s.eq."/") z=x/y        ! если s='/' (введенный знак -"делить"), то z присваивается X/Y
write(*,*)x,s,y,"=",z   ! пишем на экран значения X, s, Y, символ "=" и значение Z
end                              ! конец программы

В этой программе определена переменная s, которая имеет тип "character" т.е. "символьная". В ней будем хранить вводимое пользователем значение знака арифметического действия.
После того, как пользователь, в ответ на подсказки программы, вводит значения x, s и y, выполняется сравнение знака (s) с допустимыми арифметическими действиями (+, -, *, / ):

if(s.eq."+") z=x+y     ! если s='+' (введенный знак -"плюс"), то z присваивается X+Y
if(s.eq."-") z=x-y       ! если s='-' (введенный знак -"минус"), то z присваивается X-Y
if(s.eq."*") z=x*y      ! если s='*' (введенный знак -"умножить"), то z присваивается X*Y
if(s.eq."/") z=x/y        ! если s='/' (введенный знак -"делить"), то z присваивается X/Y

В этих строках применена конструкция " if (<условие>) <действие> ", где в данном случае <условие> - это сравнение s со знаками арифметического действия, а <действие> - присвоение переменной z соответствующего значения. Обратите внимание на то, что в Фортране при сравнении .eq. означает "равно".

                    <<ранее             к оглавлению        далее>>

                      то же на С                        то же на Basic                 то же на Pascal

                аналог на JavaScript
Используются технологии uCoz