Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






  • Сервис онлайн-записи на собственном Telegram-боте
    Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое расписание, но и напоминать клиентам о визитах тоже. Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.
    Для новых пользователей первый месяц бесплатно.
    Чат-бот для мастеров и специалистов, который упрощает ведение записей:
    Сам записывает клиентов и напоминает им о визите;
    Персонализирует скидки, чаевые, кэшбэк и предоплаты;
    Увеличивает доходимость и помогает больше зарабатывать;
    Начать пользоваться сервисом
  • Пример 1. Оператор присваивания.






    Составим программу, которая реализует арифметический оператор присваивания.

    y: = (x+1)2 mod (x-1)2.

    Сначала необходимо решить, в каких ячейках памяти будут располагаться наши переменные x и y. Эта работа называется распределением памяти под хранение переменных. При программировании на Паскале эту работу выполняла за нас Паскаль-машина, когда видела описания переменных:

    Var x, y: integer;

    Теперь нам придётся распределять память самим. Сделаем естественное предположение, что наша программа будет занимать не более 100 ячеек памяти (напомним, что программа вводится, начиная с первой ячейки памяти при нажатии кнопки ПУСК). Тогда, начиная со 101 ячейки, память будет свободна. Пусть для хранения значения переменной x мы выделим 101 ячейку, а переменной y – 102 ячейку. Остальные переменные при необходимости будем размещать в последующих ячейках памяти. В приведенном примере нам понадобятся дополнительные (как говорят, рабочие) переменные r1 и r2, которые мы разместим в ячейках 103 и 104 соответственно.

    При программировании на машинном языке, в отличие от Паскаля, у нас не будут существовать константы. Действительно, в какой бы ячейке мы не поместили значение константы, ничто не помешает нам записать в эту ячейку новое значение. Поэтому мы будем называть константами такие переменные, которые имеют начальные значения, и которые мы не планируем изменять в ходе выполнения программы. Отсюда следует, что такие константы, как и переменные с начальным значением, следует располагать в тексте программы и загружать в память вместе с программой при нажатии кнопки ПУСК. Разумеется, такие переменные с начальными значениями следует располагать в таком месте программы, чтобы устройство управления не начало бы выполнять их как команды. Чтобы избежать этого мы будем размещать их в конце программы, после команды СТОП.

    Следует обратить внимание и на тот факт, что изначально программист не знает, сколько ячеек в памяти будет занимать его программа. Поэтому адреса программы, ссылающиеся на переменные с начальным значением, до завершения написания программы остаются незаполненными, и уже потом, разместив эти переменные в памяти сразу же вслед за командами программы, следует указать их адреса в тексте программы. В приведённом примере те адреса программы, которые заполняются в последнюю очередь, будут обозначаться подчёркиванием.

    Запись программы состоит из строк, каждая строка снабжается номером ячейки, куда будет помещаться это машинной слово (команда или переменная с начальным значением) при загрузке программы. Вслед за номером задаются все поля команды, затем программист может указать комментарий. Номера ячеек, кодов операций и адреса операндов будем записывать в десятичном виде, хотя первые программисты использовали для этого 8-ую или 16-ую системы счисления. Кроме того, так как числа неотличимы по внешнему виду от команд, то будем записывать их тоже чаще всего в виде команд. Текст нашей первой программы с комментариями приведён на рис. 3.1.

     

    Команда Комментарий
              Ввод x
            009 r1: = (x+1)
              r1: = (x+1)2
            009 r2: = (x-1)
              r2: = (x-1)2
              y: = r1 mod r2
              Вывод y
              Стоп
              Целая константа 1

     

    Рис 3.1. Текст программы первого примера.

     

    После написания программы осталось поместить на устройство ввода два массива – саму программу (9 машинных слов) и число x (одно машинное слово) и нажать кнопку ПУСК. Как мы уже говорили, первый массив заканчивался специальной строкой – признаком конца ввода, так что устройство ввода знает, сколько машинных слов надо ввести в память по кнопке ПУСК.






    © 2023 :: MyLektsii.ru :: Мои Лекции
    Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
    Копирование текстов разрешено только с указанием индексируемой ссылки на источник.