Как известно, наиболее сложно при управлении автомобилем (на дорогах с правосторонним движением) поворачивать налево, поскольку при этом нужно пропускать автомобили, двигающиеся навстречу. Поэтому в некотором городе запретили все повороты налево, то есть на перекрёстках можно либо продолжить движение в том же направлении, либо повернуть направо. Разворачиваться и поворачивать налево на перекрёстках запрещено. План города представляет собой прямоугольную сетку, в узлах сетки находятся перекрёстки, соединённые дорогами. Расстояние между перекрёстками равно 1. Но некоторые проезды между перекрёстками закрыты, передвигаться можно только по белым улицам (в том числе и по внешней белой границе), проезжать по серым улицам и перекрёсткам нельзя.
В среде программирования QuickBASIC используется оконная технология организации диалога, рассчитанная на использование в качестве устройств ввода клавиатуры и специального манипулятора мышь. Маркер курсора клавиатуры или мыши позиционируется в одном из окон и нажимается клавиша <ENTER> или соответствующая кнопка мыши для выполнения выбранного действия связанного с этим окном.
Рассмотрим подробнее технологию организации диалога с использованием клавиатуры. Для выбора какого либо пункта меню необходимо нажать клавишу <ALT> фон слова File изменится и среда ожидает выбора конкретного раздела меню. Управляя курсором клавишами стрелки выбрать нужный раздел, после этого необходимо нажать клавишу <ENTER>. Под выбранным пунктом меню появится подменю. Управляя курсором клавишами < стрелки > выбрать нужный раздела подменю ,после этого необходимо нажать клавишу <ENTER>. В случае необходимости отмены исполнения выбранного пункта меню достаточно нажать клавишу <ESC>.
m:=0. "количество отрицателных"
p:=0 "количество положительных"
i:=1.
пока i<>0 повторять
i:=прочитать число, введенное с клавиатуры.
если i>0 то p:=p+1.
если i<0 то m:=m+1.
конец цикла пока.
вывести на экран('процент положительных = ', p/(p+m)).
вывести на экран('процент отрицательных = ', m/(p+m)).
Алгоритм будет верно работать, если введено хотя бы одно число, отличное от нуля. В противном случае возникнет ошибка деления на ноль. В нормальных программах подобные случаи отлавливаются и корректно обрабатываются.