Информатика
Глава 9. Основные приемы программирования назад оглавление вперед

ГЛАВА 9. ОСНОВНЫЕ ПРИЕМЫ ПРОГРАММИРОВАНИЯ

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

В качестве примеров здесь приводятся программы на языке Basic. Basic очень похож на “естественный” язык, но в качестве служебных слов в Basic вместо русских используются английские слова: IF — если, GO ТО — идти к, SТОР — закончить вычисления, INPUT — задать (ввести) значения переменных. Будет использоваться также оператор PRINT — печатать — для вывода результатов вычислений на экран дисплея. Полное описание языка Basic дается в главе 3.

9.1. Организация циклов

Как уже отмечалось ранее, существуют два основных вида цикла — До и Пока. Рассмотрим их подробнее.

В языке Basic циклу До (рис. 8.3) соответствует следующая структура программы:

  1. Операторы начальных присваиваний
  2. Тело цикла
  3. IF условие GO ТО 2

Циклу Пока (рис. 8.4) соответствует структура программы:

  1. Операторы начальных присваиваний
  2. IF условие GO ТО 5
  3. Тело цикла
  4. GO TO 2
  5. . . .

Рассмотрим следующую программу

10 P=0
20 PRINT P, P*P
30 Р=Р+1
40 IF P<=10 GО ТО 20

(*—знак умножения, <= употребляется вместо ).При выполнении программы на экран дисплея выводятся числа от 0 до 10 и их квадраты.

Это пример цикла До. Здесь операторы 20, 30 образуют тело цикла. Собственно телом цикла является оператор 20. Оператор 30 относится к операторам, организующим цикл (наряду с операторами 10 и 40). Оператор 40— оператор условного перехода — осуществляет после каждого прохода цикла проверку условия выхода из цикла (вернее сказать — условия продолжения цикла). Оператор 10 осуществляет начальные присваивания и обеспечивает возможность выполнения цикла при первом его прохождении. В цикле — многократно — выполняются операторы 20—40.

Для организации цикла в этой программе используется переменная Р, которая называется управляющей переменной цикла или параметром цикла. Для организации цикла нужно знать начальное значение управляющей переменной Рнач, конечное значение управляющей переменной Ркон и шаг ее изменения Н.

Значения Рнач, Ркон, Н назовем параметрами цикла. При этом количество повторений цикла определяется по формуле

.

Это значение можно использовать для контроля правильности организации цикла.

Перед тем как писать программу, содержащую цикл, целесообразно заполнить таблицу такого вида:

Таблица 9.1. Управляющая переменная и параметры цикла

Управляющая переменная цикла

Начальное значение

Конечное значение

Шаг изменения

Количество повторений цикла

Р

0

10

1

11

Таблица заполнена для управляющей переменной Р, использованной в предыдущей программе.

Дополним рассмотренную программу.

1. Предусмотрим печать заголовка таблицы оператором

PRINT “ЧИСЛО”, “КВАДРАТ ЧИСЛА”

Этот оператор должен быть расположен до входа в цикл.

2. Предусмотрим вывод пустой строки после заголовка оператором

PRINT

3. В конце программы разместим оператор STOP, который прекращает выполнение программы, когда будет Р > 10, и перенумеруем строки программы стандартным образом, изменив также номер строки в операторе условного перехода.

Тогда программа будет иметь вид

10 PRINT “ ЧИСЛО”, “ КВАДРАТ ЧИСЛА”
20 PRINT
30 Р=0
40 PRINT P, P*P
50 P=P+1
60 IF P<=10 GO TO 40
70 STOP

При выполнении этой программы на экране будут высвечиваться результаты:

ЧИСЛО

КВАДРАТ ЧИСЛА

0

0

1

1

2

4

3

9

4

16

5

25

6

36

7

49

8

64

9

81

10

100

Как самому составить программу решения задачи, требующей использования циклов? Рассмотрим порядок разработки программы на примере.

Пример. Составить таблицу перевода миль в километры для расстояний от 5 до 75 миль с шагом 5. 1 миля составляет 1,609 км.

С чего начать разработку программы?

1. Сначала нужно решить, в каком виде мы хотим получить результат. Допустим, что это должна быть таблица с заголовком, например, такого вида:

Мили

Км

5

8.045

10

16.09

….

….

75

120.675

2. Выделить повторяющиеся действия.
Для рассматриваемой задачи для 5 миль, для 10, для 15 и т. д. нужно печатать расстояние в милях и соответствующее ему расстояние в километрах.

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

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

Таблица 9.2

Управляющая переменная цикла

Начальное значение

Конечное значение

Шаг изменения

Количество повторений цикла

М

5

75

5

15

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

Таким образом, программа может быть составлена в виде

10 PRINT “МИЛИ”,”КМ”
20 PRINT
30 M=5
40 PRINT М, 1.609*Н
50 М=М+5
60 IF М<=75 GO ТО 40
70 SТОР

Пояснения к программе. Оператор 10 печатает заголовок.

Оператор 20 выводит пустую строку.

Оператор 30 устанавливает начальное значение управляющей переменной цикла.

Оператор 40 составляет тело цикла и при каждом изменении переменной М выводит на экран ее значение (количество миль) и его эквивалент в километрах.

Оператор 50 увеличивает текущее значение управляющей переменной на шаг, равный 5.

Оператор 60 осуществляет проверку, пройдено ли последнее значение.

Оператор 70 прекращает выполнение программы.

В результате выполнения этой программы на экране появится следующая таблица:

МИЛИ

КМ

5

8.045

10

16.09

15

24.135

20

32.18

25

40.225

30

48.27

35

56.315

40

64.36

45

72.405

50

80.45

55

88.495

60

96.54

65

104.585

70

112.63

75

120.675

В языке Basic имеются операторы цикла FOR и NEXT (FOR — для, NEXT — следующий), которые обеспечивают многократное выполнение операторов, расположенных между ними и образующих тело цикла.

С использованием операторов FOR, NEXT предыдущая программа будет иметь вид

10 PRINT “МИЛИ”,”КМ”
20 PRINT
30 FOR M=5 TO 75 STEP 5
40 PRINT M, 1.609*M
50 NEXT M
60 STOP

В операторе FOR используются еще два служебных слова ТО — до, STEP — шаг.

 


назад оглавление вперед