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

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





команди з масиву і збільшення значення I на 1, а процедура видає значення комірки, з якої необхідно вважати номер. Отже, процедура зменшує номер, а програма збільшує, тим самим відбувається компенсація їх роботи.

Робота процедури полягає в наступному: якщо поточне значення стрічки дорівнює 1 то в змінну I записується номер рядка масиву A, в іншому випадку номер рядка масиву B. Процедура ReadFile призначена для читання файлу і запису його рядків у масив і змінні. У даній підпрограмі використовуються тільки глобальні змінні. Після того як підпрограма зв'язала файлову змінну F з файлом «Prog.txt» (файл повинен знаходиться там же, де і файл програми, в іншому випадку доведеться вказувати шлях до текстового файлу) і відкрила його для читання Reset (F), вона записує перший рядок файлу в змінну Lenta, другий в змінну Pos, а потім організовує цикл зчитування до кінця файлу (while not EOF (F) do).

Усередині даного циклу відбувається зчитування всіх перших чисел рядків у перший стовпець масиву Mass і перевіряється умова: якщо значення першого шпальти масиву одно 5, то вважати інші дві цифри рядка файлу в іншому випадку перейти на наступний рядок файлу. Перед завершенням роботи процедура закриває файл і передає управління в головну програму.

Першої запускається процедура ReadFile, яка зчитує інформацію з файлу, потім змінна Flag присвоюється значення «брехня», оскільки значення «істина» є ознакою зупинки програми. Основною частиною головної програми є цикл repeat until, який виконується до тих пір, поки не виконається умова істинності Flag. Цикл for I:=1 to 256 do виводить значення стрічки, відповідно зі змінами, які вносяться. Коли довжина змінної Lenta вичерпана, інша частина стрічки заповнюється нулями. Потім йде оператор вибору, який зчитує чергове значення масиву і відповідно з ним виконує одну з 6 команд машини Посту:

: зрушення головки вправо, тобто в змінній стрічка зміщується покажчик вправо Pos:=Pos + 1 («Зрушення вправо»);

: зрушення головки вліво, аналогічно попередній команді, тільки зсув вліво Pos:=Pos - 1 та виведення повідомлення («Зрушення вліво»);

: Запис одиниці, змінної, яка описує стрічку, в осередок присвоюється одиниця Lenta [Pos]:=«1» і виводиться повідомлення («Запис 1»). Тут так само здійснюється перевірка умови, щоб осередок спочатку не містила 1, інакше виводиться повідомлення про некоректність алгоритму і виконання роботи програми завершується;

: Запис нуля: змінної, яка описує стрічку, в осередок присвоюється нуль Lenta [Pos]:=«0» і виводиться повідомлення («Запис 0»). Тут так само здійснюється перевірка на те, що б осередок спочатку не містила 0, інакше виводиться повідомлення про некоректність алгоритму з наступним завершенням роботи програми;

: перехід по умові, викликається вище описана процедура Result (J, Pos, Lenta), яка і здійснює перехід, після чого виводиться повідомлення («Перехід»);

: зупинка виконання програми, ознакою зупинки програми є Flag:=True, після чого цикл закінчує свою роботу і виводить повідомлення («Стоп»).

Наприкінці програми варто Readln, що очікує натискання клавіші який дозволяє користувачеві переглянути результати роботи програми.



ВИСНОВОК



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





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

  • Реферат на тему: Розробка програми для підрахунку хеш-суми файлу і тексту з графічним інтерф ...
  • Реферат на тему: Проектування програми з аналізу масиву
  • Реферат на тему: Розробка алгоритму програми на мові С + +, яка обчислює значення ємності і ...
  • Реферат на тему: Клемент Готвальд і його значення у зміні програми Компартії Чехословаччини ...
  • Реферат на тему: Розробка програми обробки масиву даних з побудовою діаграми (предметна обла ...