Cтраница 3
Под ПУ понимаются все устройства, рассмотренные в § 13.1 - 13.3, и внешние ЗУ ( см. гл. Кроме операций ввода-вывода каждое ПУ выполняет и другие действия, в которых не происходит передача слов данных. В электрифицированной пишущей машинке выполняются: перевод каретки, пропуск строки. [31]
Наиболее заметными являются неоднородности на краях. Неоднородность этого типа, вообще говоря, проявляется в тех случаях, когда большие устройства отображения изготовляются из модулей или при наличии производственных дефектов. Глаз особенно чувствителен к дефектам такого типа, проявляющимся вдоль протяженной линии. Пропуск строки недопустим ни при каких обстоятельствах. Большая чувствительность человеческого глаза к неопределенностям на краях приводит к тому, что при создании устройств отображения, предназначенных для воспроизведения изображений с передачей полутонов, трудно реализовать модульный принцип их построения. [32]
Оператор SKIP [ ( w) ] обеспечивает пропуск w строк, начиная от текущей строки. Следует отметить, что пропускается w - 1 строчка. Если число w опущено, то предполагается, что оно равно единице. Если w меньше или равно 0, то происходит возврат каретки без пропуска строки. [33]
Если выражение записано, оно дреобразуется в целое число. Если оно получается меньше единицы, то берется равным единице. Использование слова PAGE предполагает прогон бумаги до первой печатаемой строчки на следующей странице. SKIP обеспечивает печать с начала следующей строки. SKIP ( выражение) обеспечивает пропуск строк, число которых равно значению выражения без единицы, перед печатью следующей строки. Если пропуск вызывает движение бумаги за пределы страницы, то SKIP эквивалентно по своему действию PAGE. LINE ( выражение) вызывает движение бумаги к указанной выражением строке. Поэтому действие LINE ( 5) сводится к тому, что следующей строкой должна стать строка 5 печатаемой страницы. [34]
Мы можем теперь перевести структурную схему на язык Паскаль с использованием этого механизма: составные структурные блоки преобразуем в составные операторы, которые мы молча использовали для всех циклов, начиная уже со второго урока. Составные операторы отделяются от своих соседей также точками с запятыми, поэтому перед каким-нибудь BEGIN или после какого-нибудь END вполне может находиться точка с запятой, только вот за BEGIN или перед END точке с запятой находиться нельзя. Чтобы не забывать об END, существует простой практический прием: там, где структурная схема расширяется, нужно, как правило, ставить END. Важность корректной записи программы теперь возрастает. Для удобства записывается с единым отступом все, что нужно сводить вместе. Пропуск строк, четкие комментарии и удачный выбор идентификаторов повышают разборчивость. Ваша Паскаль-машина упрямо ведет счет всем ВЕОШ ам и END aM, но человеку для понимания программы нужно опираться на другое. Программирование и без того штука довольно сложная. И не стоит терять время, чтобы в хаосе неряшливо записанной программы вести поиск ошибок, которые при аккуратной записи были бы явно видны. [35]