Выбор действий в Бейсике
Составление программ на Бейсике представляет собой несложную работу, если предварительно составляются алгоритмы решения поставленных задач. Такой способ написания программ сводится к переводу слов одного языка на другой выполняемому по строго определенным правилам. Выбор действий в Бейсике может кодироваться двумя способами: частным и общим. Начнем с частного способа, который применим только в ситуациях, когда выбору подлежат группы из одного - двух действий. Для примера рассмотрим алгоритм «оракул», в котором машина предрекает, будет ли вам сопутствовать удача в ваших делах. Логика этого оракула проста - он случайным образом выбирает одну из двух фраз: «Вас ждет успех» или «Вас ждет неудача». Соответствующая программа на Бейсике приведена справа:
Выполнение этой программы на ЭВМ после ее запуска командой RUN будет состоять в следующем. Выполняя 20-й оператор, ЭВМ вычислит некоторое случайное число р. Аргумент - TIME в датчике случайных чисел означает, что случайное число будет вычисляться в зависимости от значения счетчика времени, имеющегося в машине. По этой причине каждое новое обращение к этой программе будет давать совершенно новое непредвиденное предсказание. Далее в 30-м операторе в соответствии с алгоритмом проверяется значение полученного случайного числа: р < 0,5? Если это так, то на экран будет введена фраза «Вас ждет успех». Затем, в 40-м операторе проверяется: р >= 0,5? Если число р больше или равно 0,5, то на экране появится фраза: «Вас ждет неудача». Кодирование простейших условных действий, как видно из примера, заключается в замене слова «если» на слово «IF» и слова «то» на слово «THEN». Роль слова «кесли» в этом правиле играет номер следующего оператора. Однако рассмотренный частный способ кодирования нельзя применять в тех случаях, когда выбор производится из нескольких групп действий либо группы состоят из нескольких действий. В общем случае выбор действий всегда можно закодировать с помощью операторов двух типов: операторов условного и безусловного перехода. Оператор безусловного перехода в Бейсике записывается с помощью словосочетания GO TO (GO TO - переход к …). Оператор условного перехода кодируется с помощью слов IF...THEN GO TO (если ... переход к …). Рассмотрим теперь программу «оракул», закодированную по тому же алгоритму, с помощью операторов условного и безусловного переходов:
Запись IF NOT P> 0,5 THEN GO TO 60 - это оператор условного перехода. Фраза NOT P >0,5 означает: «неверно, что р > 0,5». Поэтому если случайное число р, вычисленное машиной, окажется меньше или равно 0,5 то условие NOT P >0,5 окажется выполненным и ЭВМ должна будет выполнить оператор GO TO 60. Оператор GO TO 60 - это оператор безусловного перехода, выполнение перехода которого заключается в продолжении вычислений с оператора 60. В данном случае ЭВМ выведет фразу «Вас ждет неудача» и закончит свою работу. Если же случайное число р окажется больше 0,5, то условие NOT P > 0.5 окажется ложным. В этом случае ЭВМ перейдет к выполнению следующего по тексту программы оператора и выведет фразу «Вас ждет успех». Далее в строке 50, стоит оператор GO TO 80 - оператор перехода к 80-му оператору. Выполняя его, ЭВМ изменит ход выполнения программы и завершит выполнение программы, не вывода фразы «Вас ждет неудача». Правила кодирования: а) слово если заменяется на слова IF NOT: б) слово то заменяется на оператор перехода THEN GO TO, но номера операторов, куда должен производиться переход, заполняются позже; в) слово инес заменяется на два оператора: оператор перехода GO TO к концу выбора и оператор условного перехода IF NOT с тем же условием; г) слово иначе также заменяется на два оператора: оператор перехода GO TO к концу выбора и оператор - комментарий иначе; д) слово кесли переписывается в строку - комментарий кесли, являющуюся концом выбора; е) во всех операторах GO TO заполняются номера строк, куда производится переход, - номер конца выбора в операторах GO TO и номер начала следующей альтернативы в операторах условного перехода IF NOT . . . THEN GO TO. В качестве примера рассмотрим перевод на язык Бейсик диалогового алгоритма решения на ЭВМ квадратного уравнения:
Для упрощения понимания операторов условного перехода - IF . . . THEN GO TO - при их кодировании полезно применять следующее правило. Отрицания условий выбора лучше записывать не в форме со словами NOT, а явно выразив отрицание условий выбора, записанных в алгоритме. Так, в рассмотренной программе вместо фразы NOT А = 0 - «неверно, что а = 0» - лучше в соответствии с законами логики записывать условие А < > 0, означающее а ≠ 0, а вместо условия NOT D > 0 - «неверно, что d > 0» - записать условие D < = 0, означающее, что d ≤ 0. Вопросы, упражнения и задания для самопроверки ВОПРОСЫ: Как кодируется на Бейсике выбор действий в простейших случаях? Что такое операторы безусловного и условного переходов? Как кодируется выбор действий на Бейсике в общем случае? Как на Бейсике записываются отрицания условий? УПРАЖНЕНИЯ: Составьте диалоговый алгоритм решения линейных уравнений с анализом условия а=0 и закодируйте его на языке Бейсик. Составьте диалоговый алгоритм решения системы двух линейных уравнений с анализом условия D=0 и закодируйте его на языке Бейсик. Примечание. В языке Бейсик буквы D и d означают одно и тоже имя переменной. ЗАДАНИЯ: Составьте план ввода и испытаний программы решения: а) квадратного уравнения; б) линейного уравнения; в) системы двух уравнений и проведите отладку программы на ЭВМ.
Популярное: Почему человек чувствует себя несчастным?: Для начала определим, что такое несчастье. Несчастьем мы будем считать психологическое состояние... Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы... Модели организации как закрытой, открытой, частично открытой системы: Закрытая система имеет жесткие фиксированные границы, ее действия относительно независимы... Как построить свою речь (словесное оформление):
При подготовке публичного выступления перед оратором возникает вопрос, как лучше словесно оформить свою... ©2015-2020 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (1579)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |