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