Как Петя Бейсиков Тоню Соображалкину программировать учил
- Автор: Бруно Мартузан
- Жанр: Околокомпьютерная литература / Детская образовательная литература / Basic, Visual Basic, VB Script, VBA и т.п.
- Дата выхода: 1987
Читать книгу "Как Петя Бейсиков Тоню Соображалкину программировать учил"
КАК ЗАКОНЧИТЬ ВВОД!
— Что же мне делать? Может быть, поступать так же, как при переводе градусов Фаренгейта в градусы Цельсия? После каждого ввода оценки еще дополнительно вводить либо нуль, либо не нуль для выяснения, кончается ли работа?
— Да, так можно было бы. Но так ты фактически удвоишь работу пользователя. Ему придется вводить и оценку, и кроме того указание, кончать или не кончать работу. Сколько оценок, столько указаний. А если оценки перепутаются с указаниями?
— Не перепутаются. Напишем на экран информацию, что именно надо вводить.
— Как пить дать перепутаются. В таких случаях пользователь всегда хочет вводить все быстрее и быстрее и кончается это тем, что он все перепутывает.
— Сам виноват.
— Это еще неизвестно. Может быть, виноват программист, который так нескладно запрограммировал. Лучше здесь делать так: в самом начале вывести сообщение, что сигналом конца ввода служит ввод нуля вместо оценки. Ясно, что оценки могут меняться только в пределах от 1 до 5. А в программе проверяем введенную оценку — нуль это или не нуль. Еще может быть и другой способ: в самом начале спрашиваем, сколько в классе учеников и каждый раз до увеличения — я подчеркиваю, до, а не после увеличения счетчика Н в строке 40— проверяем, стал ли Н равным количеству учеников. Если не стал, продолжаем ввод. Если стал, кончаем.
— А почему ты так усиленно подчеркивал, что эту проверку нужно выполнять до увеличения Н?
— До увеличения Н нужно проверять, равно ли значение счетчика количеству учеников, а после увеличения — больше ли оно количества учеников. Отличие только в этом.
— Ну, а какой же вариант ввода данных лучше?
— Может быть, второй, когда после увеличения счетчика в строке 40 мы делаем сравнение «не больше ли Н количества учеников», и если не больше, то уходим на строку 20.
— Насколько я помню, такого логического условия «не больше» в Бейсике не было.
— Да, не было. Но что такое «не больше»? Это меньше или равно. А такое условие у нас было. Если обозначать количество учеников буквой К, то новая строка 50 будет такой.
50 IF Н<=К THEN 20
— И значение переменной К нужно ввести где-то в начале программы?