Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Новые рефераты » Машина Поста

Реферат Машина Поста





иць і задає тим самим стан стрічки, другий рядок містить число, яке вказує номер позиції головки на стрічці, а починаючи з третього рядка, через пробіл, вказуються номери команд (на кожному рядку одна команда).

Для команди, що реалізує умовний перехід, необхідно записати в текстовий файл ще два значення (номер рядка наступної команди, якщо умова виконається, і номер рядка в іншому випадку). Отже, в текстовому файлі, на рядку, що містить номер команди умовного оператора, розташовуватиметься три цифри: перша містить інформацію про номер команди, другий вказує номер рядка, на яку необхідно перейти якщо умова істинно і третя вказує номер рядка переходу якщо умова помилкова. Так як текстовий файл зчитується зверху вниз і рядок не може вважатися двічі, в програмі буде реалізований двовимірний масив розміру Nx3, в який листується текст програми машини Посту з файлу.

Подальшу обробку записаної програми Паскаль реалізує, зчитуючи її з масиву. Стрічка в програмі буде описана строковим типом, а номер позиції головки зберігатися у змінній целочисленного типу. Виконання неприпустимою команди (запис в осередок з міткою і стирання порожній осередки) призведе до аварійного виходу з програми. Для наочності ходу виконання програми реалізовані затримки.

Для перевірки працездатності програми виконується алгоритм складання двох цілих невід'ємних чисел A і B на машині Посту, коли головка знаходиться над числом A, а число B знаходиться правіше числа A на деяке число клітин. Програма реалізує наступний алгоритм: перше число поступово присувається до другого до їх злиття, а потім стирається одна мітка (інакше результат виявився б на одиницю більше вірного).


ОПИС ПРОГРАМИ


Інформація про послідовність виконання команд машини Посту зберігається в двовимірному масиві Mass типу array [1 .. N, 1 .. M] of Integer розміру M * N, де константи N=100 і M=3. У першому стовпці масиву зберігається інформація про номер виконуваної команди, другий і третій стовпці містять інформацію про те, на яку комірку масиву необхідно перейти при виконанні умови умовного оператора і невиконанні, отже, вони заповнюються тільки при наявності в першому стовпці числа 5 (команда машини Посту «перехід по умові»). Значення стрічки Посту зберігається у змінній Lenta типу String. Мінлива Pos служить для зберігання номера позиції головки на стрічці, I - зберігає номер рядка масиву при записі з файлу, L - використовується в якості індексу при роботі зі стрічкою, X і Y - служать як координат при виведенні на екран рядки і курсору, що імітує голівку. Файлова змінна F типу Text, використовується при читанні інформації з файлу. Мінлива Flag типу Boolean використовується в команді зупину програми. У програмі написані дві процедури Result і ReadFile. Процедура Result, описує алгоритм роботи команди умовного переходу машини Посту.

Вхідні змінним I1, L1, Lenta1 передається значення з основної програми, а після завершення роботи процедура повертає глобальним змінним змінене значення. Локальним змінним A, B присвоюється з масиву значення номерів рядків, на які необхідно перейти при виконанні умови A і B, якщо це не так, то присвоюється значення B. Перед завершенням роботи, процедура Result зменшує значення I1.

Це пов'язано з тим, що в головній програмі організований цикл зчитування номера...


Назад | сторінка 3 з 5 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Номер люкс
  • Реферат на тему: Розробка програми перекладу введеного рядка тексту в послідовність кодів аб ...
  • Реферат на тему: Розробка програми, що реалізує алгоритм, який використовує z-буфер
  • Реферат на тему: Значення посту: історія і сучасність
  • Реферат на тему: Розробка програми, що реалізує алгоритм бінарного дерева