Практика программирования (Бейсик, Си, Паскаль)



         

Что такое "хорошая" программа? - часть 3


спагетти на языке Бейсик предназначен для поиска максимального среди значений трех переменных — max (a,b,c).

10 INPUT А,В,С

20 IF А>В THEN GOTO 80

30 IF B>C THEN GOTO 60

40 PRINT "Наибольшее число = "; С

50 GOTO 100

60 PRINT "Наибольшее число = "; В

70 GOTO 100

80 IF A<C THEN GOTO 40

90 PRINT "Наибольшее число = "; A

100 END

Представляете, как разрастется подобный монстр, если количество переменных, среди которых ищется максимум, достигнет 10. Насколько изящнее выглядит следующая программа:

10 INPUT А,В,С

20 МАХ=А

30 IF MAX<B THEN MAX=B

40 IF MAX<C THEN MAX=C

50 PRINT "Наибольшее число = ";МАХ

Эта программа значительно короче, и в ней нет ни одного оператора перехода. Кроме того, она допускает простое обобщение на поиск максимума среди элементов массива:

МАХ=А(1)

FOR K=2 TO N

IF MAX<A(K) THEN MAX=A(K) NEXT К

Красивую программу можно сравнить со скульптурой, гениальный творец которой отсек от камня все лишнее.




Содержание  Назад