Главная » Basic » ЧТЕНИЕ ПРОГРАММЫ

0

Одним из важнейших качеств, которые потребуются от Вас как от программиста, является умение "читать" программы и получать определенное представление об их функциях. Вы  должны уметь распознать "куски" программы и определить их назначение, не сбиваясь из-за  неудачного выбора имен переменных или формата текста программы. По мере накопления опыта  Вы обнаружите, что после  некоторой  модификации  эти  куски  программ  можно  использовать  для  Ваших  целей.  В качестве отправной точки этого процесса рассмотрим следующую программу на Бейсике, в которой используются представленные в этой главе операторы. Она вычисляет площадь и длину окружности круга по значению его радиуса. (Площадь равна πr2,  а  длина окружности 2πr,  где r-радиус, π=3. 14159 …)

10 LET Р=3.14159

20 INPUT R

З0 LET A=P*R*R

40 LET C=2*P*R

50 PRINT R,A,C

60 END

Напомним, что первое число в  каждой строке является номером оператора и обязательно должно быть указано и что операторы исполняются в порядке возрастания из номеров, в нашем случае — с 10 до 60.

Когда ЭВМ получает команду на исполнение этой программы (см. команду RUN в  разд. 2.4),  то переменной Р присваивается  значение 3.14159. Затем программа приостанавливается для ввода  с клавиатуры значения переменной

R, далее продолжает работу и вычисляет по значениям этих переменных значения А и С. Наконец, на ВТУ  изображаются  значение  R  (радиус)  и  вычисленные величины А  (площадь)  и  С   (длина окружности).

Программа остается в памяти ЭВМ и может быть повторно исполнена для вычислений при другом значении R. Таким образом, она является программой общего назначения, получающей с клавиатуры важное для работы значение переменной (радиуса). Обратите внимание на то, что  мы не хотим каждый раз набирать значение константы я. Поэтому оно устанавливается в  программе. Конечно, можно было бы не вводить значение переменной R, а присваивать его в программе, но в этом случае программу надо было бы изменять всякий раз, когда требуется произвести вычисления при другом значении радиуса. В нашем случае сделать это нетрудно, но при более сложных программах это не так-то просто, и, кроме того, мы потеряли бы общность, которую так нелегко получить.

Структура этой программы очень проста, что бывает нередко и в  случае очень больших программ.

Она такова: Ввод Обработка Вывод

Таким   образом,   вначале  вводятся значения,   затем   следует   обработка   данных,   после   чего производится  вывод результатов. Может показаться само собой разумеющимся, что такой схемы и надо придерживаться. Однако дистанция между постановкой задачи и написанием программы для ее решения   столь   велика,  что   в     практику   программирования  приходится    включать  средства преодоления этой дистанции. Описанный выше подход к разработке программы является одним из таких  средств. Вы  обнаружите,  что  последовательность   ввод—обработка—вывод  применима  к множеству  программ  и   может  служить  полезной   отправной  точкой  при   разработке  Вашей программы.

В заключение этой главы бросим еще один взгляд на программу и обсудим новый оператор REM. Этот  оператор  позволяет Вам  включить в   текст  программы  любые  комментарии. Комментарии игнорируются машиной и предназначены помочь человеку (программисту). Например,

10 REM ЭТОТ ОПЕРАТОР КОММЕНТАРИЙ 20

REM И ЭТОТ ТОЖЕ

30 REMARK ВНОВЬ КОММЕНТАРИЙ Оператор REM

Общая форма записи;

REM комментарии

В комментариях допустим любой текст, в том числе и служебные слова Бейсика. Оператор REM используется   для   добавления   комментариев  к   распечатке   программы   и   игнорируется   при исполнении программы.

Надежды  возлагаются на  то,  что  оператор  REM  в   сочетании  с  приданием  программе  четкой структуры   сделает   программу   самодокументирующейся.   Иначе   говоря,   программисту   будет достаточно иметь только распечатку про-

граммы  и  он  сможет  без  привлечения дополнительной информации  точно  установить, что  эта программа делает и как ее исполнить. К сожалению, эта цель редко достигается; тем не менее  она стоит того, чтобы к ней стремиться, так как в  результате получаются программы,  которые легче модифицировать и развивать.

При исполнении приведенной выше программы выдается три числа в одной строке. Было бы полезно указывать, что эти числа означают. Это можно сделать с помощью оператора PRINT в  строке  46, изображающего названия, которые указываются в нем заключенными в кавычки:

5 RЕМ ПЕРВАЯ ПРОГРАММА

10 LET Р=3.14159

15 RЕМ

20 INPUT R

25 REM

30 LET A=P*R*R

40 LET C=2*P*R

45  RЕМ

46  PRINT "РАДИУС"."ПЛОЩАДЬ"."ОКРУЖНОСТЬ"

50 PRINT R,A,C

60 END

Для разъяснения программы желательно включать в  нее операторы REM, однако они  занимают место в памяти, и если память ограничена, то Вам может показаться, что их лучше избегать. Тем не менее включайте их всюду, где только возможно.

Учтите, что версия Бейсика ВВС отличается от большинства других способом позиционирования чисел и  строк символов  при  выводе  их  оператором PRINT.  При  работе с  ней указанные выше заголовки  РАДИУС,   ПЛОЩАДЬ,   ОКРУЖНОСТЬ   окажутся   сдвинутыми  по   отношению    к изображенным под ними числам. Один из путей добиться правильного соответствия — добавить к каждому заголовку по несколько пробелов и тем самым сдвинуть их вправо. Таким образом,  надо воспользоваться оператором

46 PRINT" РАДИУС"," ПЛОЩАДЬ"," ОКРУЖНОСТЬ"

Если Вы пользуетесь Бейсиком ВВС, то запомните это на будущее при исполнении других примеров книги.

Источник: Уолш Б.    Программирование на Бейсике: Пер. с англ. М.: Радио и связь, 1988. 336 с: ил.

По теме:

  • Комментарии