Главная » Просмотр файлов » Й.Янсен Курс цифровой электроники. Том 4. Микрокомпьютеры (1987)

Й.Янсен Курс цифровой электроники. Том 4. Микрокомпьютеры (1987) (1092084), страница 54

Файл №1092084 Й.Янсен Курс цифровой электроники. Том 4. Микрокомпьютеры (1987) (Й.Янсен Курс цифровой электроники. Том 4. Микрокомпьютеры (1987)) 54 страницаЙ.Янсен Курс цифровой электроники. Том 4. Микрокомпьютеры (1987) (1092084) страница 542018-02-12СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 54)

Остальные биты будут равны 0 независимо от значений других битов в верхнем байте. Можно присвоить переменной и восьмеричное значение, используя цифровой ряд с предшествующим знаком Ь, например Х=8г237. 6.4. Команды перехода и ветвления По аналогии с машинным языком в языке Бейсик имеются также команды перехода и ветвления. Команда 3МР совпадает с оператором бОТО Н, где Н указывает номер строки, в которую происходит данный переход.

ззо Глава б Этот оператор можно .проиллюстрировать с помощью следующего примера: МЕ% !О 1.ЕТ А=О 20 т'=Ар2 30 РК11ч1Т у 40 1.ЕТ А=А+1 50 бОТО 20 К1ЛЯ Здесь оператор ЕЕТ присваивает начальное значение А=О. Затем вычисляется квадрат А и печатается результат с помощью Ррч11ч1Т.

Далее А получает приращение, равное 1, затем происходит обратный переход от строки 50 к строке 20 и вычисление повторяется. Таким образом, при каждом прохождении через цикл А увеличивается на 1 и в результате получается таблица квадратов. Оператор бОТО 20 осуществляет возврат в начало подпрограммы. Часто бОТО встречается в форме 01ч1 Х ПОТО 100, 150, 300, 480; при этом Х указывает, по какому адресу происходит безусловная передача управления после ООТО. Если Х=2, то происходит переход в строку 150, если Х=4, то в строку 480.

На Х накладывается следующее ограничение: Х не должна быть отрицательным числом и превышать 255. При Х=О оператор ООТО не выполняется и программа продолжается со следующей строки. Если Х не является целым числом, то дробная часть, находящаяся после десятичной точки, отбрасывается. Условный переход имеет форму 1Р...ТНЕУ.... После ТНЕ1ч1 указывается номер строки, в которую происходит переход, если выражение, находящееся после 1Р, оказывается истинным. В выражениях, располагающихся после 1Р, можно использовать следующие символы: Символ Значение Пример равно А = В <> ие равно А( ) В > больше, чем А ) В < меньше, чем А ( В )= больше или равно А) = В <= меньше илн равно А(=В Если выражение, находящееся после 1Р, оказывается ложпым, то программа продолжается со следующей строки.

В приведенном выше примере вычисления таблицы квадратов отсутствует останов. Такой останов можно «встроить», Явыки программирования высокого уровня — Бейсик 331 превратив безусловный переход СОТО в условный переход (см. строку 50) типа 1Р А<!00 СОТО 20. Переходы будут происходить до тех пор, пока А не станет равным 100. Если заковчить цикл при А=99, то программа перейдет в строку 60, и если поместить здесь оператор ЕН)У, то выполнение программы закончится.

Оператор 1Р...ТНЕ!4... можно использовать в комбинации с оператором СОЯ)В, а также с оператором, например, РК1НТ. Используя этот оператор, можно выполнять (или не выполнять) соответствующую операцию вычисления, например 1Р...ТНЕг! Б=У)2. Этот оператор может быть связан не только с цифрами, но и с текстом, например 1Р Ав=«ЗА» ТНЕУ СОТО....

Вполне допустимы ситуации, в которых некоторое условие встречается в одной строке несколько раз. Так, например, 1Р Х<1 ОК Х)10 ТНЕУ РК!МТ ЕККОК показывает, что если Х меньше 1 или больше 10, то программа выведет на экран дисплея или отпечатает на принтере ЕККОК (ОШИБКА). В некоторых программах часто бывает необходимо обращаться к какой-либо подпрограмме многократно. Такую подпрограмму можно назвать циклической. Чтобы вызвать подпрограмму требуемое число раз, необходимо использовать счетчик, который при каждом вызове получает приращение на 1 до тех пор, пока не станет равным некоторой константе. Для выполнения этой операции в Бейсике используется оператор РОК...НЕХТ (РОК определяет начало цикла, НЕХТ вЂ” конец). После ГОК можно указать, например, Х=1 ТО М; при этом 5! будет задавать число повторений цикла.

В начале соответствующей программы помещается оператор Х=1 ТО М, а в конце — оператор БРЕХТ Х. После считывания оператора МЕХТ Х величина Х увеличивается на 1 и сравнивается с М. Если она равна Н, то программа продолжается, т. е. переходит к строке, следующей после МЕХТ Х; если не равна, то происходит обратный переход в строку с РОК и соответствующий цикл продолжается. Этот оператор показывает, что здесь отсутствует необходимость в подготовительной работе для программирования цикла в противоположность машинному языку, где для реализации указанных выше операций требуется использовать большое число команд.

Применение оператора РОК...МЕХТ иллюстрирует следующий пример: 5)ЕЮ 10 1.ЕТ !1=100 20 РОК Х=! ТО г! 30 1 ЕТ У=Х~2 40 РК15!Т У Глава 6 50 ИЕХТ Х 60 ЕИР К1)И еоа х гонт мехт т ИЕХТХ Здесь снова рассматривается программа вычисления таблицы квадратов. Программа начинается с оператора присваигоах вання 5)=100. В строке 20 переменной Х Ф присваивается значение 1, после чего в гонт строке 30 вычисляется квадрат Х.

В строке 50 переменная Х увеличивается на 1 и вы- С ясняется, не равна ли она 1ч = 100. Если не вехтер равна, то происходит обратный переход в строку 20 и цикл повторяется. Этот процесс повторяется до тех пор, пока переменная Х не станет равной 100, после чего в™ программа переходит к выполнению опенехт т ратора Е)чР. В случае оператора РОК...ИЕХТ с пе- С-- ременной Х=1 ТО К подразумевается, что Х постоянно увеличивается на 1.

Такой режим называется режимом «по умолчанию», нехтх т. е, без указания величины приращения. Однако если требуется другое приращение, в в «» «и а ы х ц а х т о е о м о ж н о з а д а т ь с п о м о Ш ы о о п е р а т о р а вов. эти конфагурв- 1 ТО М ЗТЕР У, где У определяет величицаи допустимы, так ну приращения. Если У=2, то Х будет кажкак ливии не пересе- дый раз увеличиваться на 2 вместо 1, как в приведенном примере. При использовании операторов ЕОК...

...ИЕХТ в циклах следует обращать внимание на связь между разными циклами. Циклы могут выполняться в программе, входя в состав других циклов, а также могут содержать внутри себя меньшие циклы. Наконец, циклы могут быть «вложепными» друг в друга. В этой ситуации один цикл является частью другого цикла, а последний в свою очередь является частью цикла в основной программе (рис.

6.3). Описанные циклы выполняются правильно, так как соответствующие линии переходов в них не пересекаются. На рис. 6.4 приведен пример связи между циклами, которая недопустима, так как линии переходов здесь взаимно пересекаются. В следуюшем примере приведена программа, в которой один цикл является частью другого. 1)Е% 10 1.ЕТ Х=О 20 ЕОК Х=О ТО 100 ЬТЕР 10 Языки ирогриимировиния высокого уровня — Бейсик 333 еой х гонт мект х мект т Рис.

6.4. Конфигурация вложенных циклов, которая недопустима. Линии пересекаются. н получится совершенно другой результат. При замене строки 70 на строку 80 печатаются числа О, 10,..., 100, после чего появляется сообщение «1ч'ЕХТ ту)1)топ1 РОК !и 80». Структурная схема этой программы приведена на рис. 6.5.

Другим оператором с подобным функциональным назначением является РО...Ы1чТ1Ь. После 110 следует выполняемая процедура, в которой переменная Х увеличивается при каждом выполнении цикла на )К). В конце цикла помещается оператор 1))т)Т!Ь и проверяется не превзошла ли переменная Х определенную величину (константу). До тех пор пока выражение, находящееся после Ы1К)Т1Ь, будет ложным, происходит обратный переход в строку с 110. Если же это выражение становится истинным, будет осуществлен переход в строку, находящуюся после строки с Ы)К)Т1Ь. Пример: МЕЖ 100 1.ЕТ Х=О 110 130 120 Х= (Х+1) «2 130 РК!ХТ Х 140 1)МТ1Ь Х) =20 150 ЕИ11 КЫХ 30 1 ЕТ У=О 40 РОК У=О ТО 5 50 ЬЕТ Х=Х+ т' 50 РК1)к)Т Х 70 )к)ЕХТ У 80 )к)ЕХТ Х 90 Ерчхт КЫ)к) В этой программе используются совместно переменные Х и т', причем Х может принимать значения О, 10, 20...100, а т' принимает значения 0 — 5 во внутреннем цикле.

В результате будет напечатан набор цифр от 0 до 5, от 10 до 15, от 20 до 25 и т. д. вплоть до 100 — 105. ИЕХТ т' и )к)ЕХТ Х в строках 70 и 80 нельзя поменять местами, иначе произойдет пересечение Глава б В строке 100 Х присваивается значение 0 н выполняется процедура в пределах, заданных 110.. Л)ХТ11. Эта процедура начинается со строки 120, где вычисляется переменная Х, которая затем печатается с помощью РК1ХТ (строка 130). В строке 140 проверяется, не превзошла ли переменная Х константу 20.

При отрицательном ответе (Нет) происходит обратный переход, а при положительном ответе (Да) программа переходит к следующей строке 150 с оператором ЕХО, который ее останавливает. Печатаются числа 2, 6 и 14, после чего выполнение программы заканчивается. Рис. 6.5.

Структурная схема участка программы, где дважды встречается оператор Юд,. ЫЕХТ. Здесь циклы являются вложенными. Переходы к подпрограммам, осуществляемые на машинном языке с помощью команд СА(.1. и КЕТ, реализуются в языке Бейсик с помощью операторов ООБ()В...КЕТь)рта. Оператор ООЯ)В...используется как в основной программе, так и в подпрограмме. Например, можно перейти из основной программы в какую-либо подпрограмму, а затем из этой подпрограммы в другую и т.

д., что позволяет выполнить автономно ряд отдельных специальных операций в процедурах, к которым имеют доступ и другие части программы. Для возвращения в исходную процедуру или основную программу в операторе КЕТ()ЙМ не надо указывать адрес возврата. При выполнении оператора ООЯ)В необходимая адресная информация, в частности следующий адрес из исходной программы (адрес возврата), запоминается в стеке. После считывания оператора Явыки арограммирования высокого уровня — Бейсик КЕТ()КМ возврат происходит именно в этот адрес.

Характеристики

Список файлов книги

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6430
Авторов
на СтудИзбе
307
Средний доход
с одного платного файла
Обучение Подробнее