IF арифметический не может быть последним оператором в цикле DO.
Если в качестве условия имеется неравенство, то его необходимо привести к виду, при котором происходит сравнивание выражения с нулём.
x2+c>y → x2+c-y>0
С учётом этого доработаем Программу № 1, где при помощи IF арифметического проверим условие: если самая длинная сторона больше чем полупериметр, то треугольник не существует.
С Программа № 2 – Вычисление площади треугольника при помощи
С IF арифметического
4 WRITE(6,*)’ Введите значения сторон треугольника A,B,C’
READ(5, *) A,B,C
C Блок проверки правильности введенных данных
IF(A) 4,4,20 Проверка введенных исходных данных: сторона треугольника не может быть отрицательной или равна нулю.
IF(B) 4,4,21
IF(C) 4,4,22
Вместо этих трех операторов лучше использовать один IF(AMIN1(A,B,C)) 4,4,22
С Конец блока проверки правильности введённых данных
22 P=(A+B+C)/2.
IF(AMAX1 (A,B,C)–P) 6,8,9 Встроенные функции АМIN1, АМАХ1 из списка переменных, перечисленных в скобках, выбирают минимальное (максимальное) число. Последний оператор обозначает: если максимальная из сторон равна полупериметру, то управление передается на метку 8. Если максимальная из сторон меньше полупериметра, то идем на метку 6 и вычисляем площадь. А иначе идем на метку 9.
8 WRITE(6,*)’ Площадь треугольника равна нулю’
GO TO 4
6 S=SQRT(P*(P-A)*(P-B)*(P-C))
WRITE(6,*)’ Площадь S=’, S
PAUSE
Дата добавления: 2015-06-10; просмотров: 1591;