PascalABC.net с нуля/Урок 4. Условия. Переменные: различия между версиями
Содержимое удалено Содержимое добавлено
Рулин (обсуждение | вклад) уточнение |
Рулин (обсуждение | вклад) оформление |
||
Строка 17:
Как видно, мы можем делать много вложенных друг в друга условий, причём как с оператором else , так и без него. Модернизируйте программу следующим образом – заставьте программу выводить одно решение уравнения, если дискриминант равен 0 , и два если больше 0. Также модернизируйте вашу функцию вычисления корня. Сделайте , чтобы функция была одна. Если на неё передаётся 0 , то она должна выводить один корень, а если что-то другое, то второй корень. Например, функция должна работать при таком вызове.
Writeln('Корни уравнения: ',Solve(sqrt(Discriminant(b,c)),0), ,', ', Solve(sqrt(Discriminant(b,c)),1));
Теперь, после выполнения, задания наша программа выводит всё правильно. Однако в ней есть недостатки. К примеру, функция Discriminant вычисляется много раз подряд, а могла бы вычисляться один раз. Также в нашей программе образовалось очень большое количество скобок в которых можно запутаться. Чтобы такого избежать, результат выполнения функций можно сохранять в [[w:Переменная (программирование)|'''переменную''']] и далее использовать её. ''Переменная'' отличается от константы тем, что её значение
''Переменные'' задаются оператором '''var'''(буквально можно
var //Здесь объявляются переменные
|