Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Object Pascal: кроссплатформенные технологии > Задача на строки |
Автор: Glebaka 8.3.2008, 17:46 |
Представьте себе, что в вашем распоряжении имеется набор текстов программ для примитивной вычислительной машины (ПВМ ). ПВМ умеет работать только с целыми числами и обладает памятью размером одно целое число. До начала выполнения программы в ячейке памяти лежит 0. Каким образом можно программировать на ПВМ. Любая программа на ПВМ начинается командой START и заканчивается командой FINISH. Все команды разделяются между собой точкой с запятой. Также ПВМ понимает команды: ● ASSIGN <x>; вместо <x> должно стоять целое число, после выполнения команды в ячейку памяти вписывается число <x> ● ADD <x>; вместо <x> должно стоять целое число, после выполнения команды в ячейку памяти вписывается сумма содержимого ячейки памяти и числа <x> ● SUB <x>; вместо <x> должно стоять целое число, после выполнения команды в ячейку памяти вписывается разность содержимого ячейки памяти и числа <x> ● DIV <x>; вместо <x> должно стоять целое число, после выполнения команды в ячейку памяти вписывается результат деления содержимого ячейки памяти на число <x> ● MULT <x>; вместо <x> должно стоять целое число, после выполнения команды в ячейку памяти вписывается результат умножения содержимого ячейки памяти на число <x> ● POW <x>; вместо <x> должно стоять целое число, после выполнения команды в ячейку памяти вписывается содержимого ячейки памяти, возведенное в степень <x> ● WRITE; команда пишет содержимое ячейки памяти на экран Ваша задача написать программу на языке Pascal, которая спрашивает у пользователя текст программы на ПВМ, и выполняет его. Примеры программы для ПВМ: START; ASSIGN 10; ADD 5; MULT 12; WRITE; ASSIGN -3; MULT 7; ADD 20; POW 3; WRITE; FINISH; Результат выполнения: 180 и -1 Между командами, и между параметрами внутри команды может быть произвольное количество пробелов. Предполагаем, что программы, которые будет вводить пользователь, будут корректны для ПВМ. Просьба помочь в написании этой программы. надо использовать copy,insert,delete,pos,vAl ,string |