Напишите программу, которая моделирует работу процессора - Pascal ABC

  1. 1. Напишите программу, которая моделирует работу процессора. Процессор имеет 4 регист-ра, они обозначаются R0, R1, R2 и R3. Все команды состоят из трех десятичных цифр: код операции, номер первого регистра и номер второго регистра (или число от 0 до 9). Коды команд и примеры их использования приведены в таблице: Код операцииОписаниеПримерПсевдокод1запись константы128 R2 := 82копирование значения203 R3 := R03сложение 331 R1 := R1 + R34вычитание 431 R1 := R1 – R3Обратите внимание, что результат записывается во второй регистр. Команды вводятся последовательно как символьные строки. После ввода каждой строки программа показывает значения всех регистров.


textual

Код к задаче: «Напишите программу, которая моделирует работу процессора - Pascal ABC»

var s:string;
    a,b:integer;
    r:array[0..3] of integer;
    i:byte;
begin
for i:=0 to 3 do
r[i]:=0;
writeln('Вводите коды команд, окончание вввода 000');
repeat
repeat
readln(s);
if s='000' then
 begin
  writeln('Программа завершена');
  exit;
 end;
val(s,a,b);
if(b<>0)or not(s[1] in ['1'..'4'])
or not(s[2] in ['0'..'3'])
or((s[1] in ['2'..'4'])and not(s[3]in ['0'..'3']))
then writeln('Код введен неверно, повторите');
until (b=0)and(s[1] in ['1'..'4'])and(s[2] in ['0'..'3'])
or((s[1] in ['2'..'4'])and (s[3]in ['0'..'3']));
case s[1] of
'1':r[strtoint(s[2])]:=strtoint(s[3]);
'2':r[strtoint(s[3])]:=r[strtoint(s[2])];
'3':r[strtoint(s[3])]:=r[strtoint(s[3])]+r[strtoint(s[2])];
'4':r[strtoint(s[3])]:=r[strtoint(s[3])]-r[strtoint(s[2])];
end;
for i:=0 to 3 do
write('R',i,'=',r[i],'  ');
writeln;
until s='000';
end.

СДЕЛАЙТЕ РЕПОСТ

6   голосов, оценка 3.833 из 5



Похожие ответы
  1. Напишите программу, которая находит все различные цифры в символьной строке.Входные данные На вход программе подаётся символьная строка.Выходные данные Программа должна вывести в одной строке все различные цифры, которые встречаются в исходной строке, в порядке возрастания. Если в строке нет цифр, нужно вывести слово 'NO'.Примеры:входные данные ab1n32kz2выходные данные 123входные данные asdasdвыходные данные NO

  1. Напишите условие, которое определяет заштрихованную область.

  1. Напишите программу, которая выводит на экран круговую диаграмму , отражающую товарооборот (в процентах) книжного магазина. Исходные данные 30% 35% 30% 5%.

  1. Здравствуйте, помогите разобраться! Дано задача. Кубики. Кубик с ребром N см покрасили и разрезали на кубики с ребром 1 см. При этом появились такие, у которых окрашено разное количество граней. Например, если N = 3, то после разрезания будет 8 кубиков, у которых окрашено три грани, 12 с двумя гранями, 6 с одной, а один кубик будет совсем неокрашенный. Составьте программу, которая бы определяла, сколько кубиков с каждой возможным количеством окрашенных граней. Как можно создать Ввод и Вывод файл не как не могу! Задачу из интернета скачал. Delphi1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 program cubes; uses crt; var x,x1,x2,x3,x0,y,z,k,n:integer; s:string; f,g:text; begin assign(f,'cubes.dat'); reset(f); readln(f,y); close(f) ; x3:=8; x1:=sqr(y-2)*6; x0:=(sqr(y-2))*(y-2); x2:=(y-2)*4*2+(y-2)*4; assign(g,'cubes.sol'); rewrite(g); writeln(g,'0/',x0,' 1/',x1,' 2/',x2,' 3/',x3); close(g); end.

  1. Написать программу, которая по введенному значению аргумента вычисляет значение функции, заданной в виде графика.

  1. Здравствуйте,помогите пожалуйста написать программу.Напишите программу, которая считает знаки пунктуации в символьной строке. К знакам пунктуации относятся символы из набора ".,;:!?". Входные данные Программа получает на вход символьную строку. Выходные данные Программа должна вывести общее количество знаков пунктуации во входной строке. Примеры входные данные Hi, guys! выходные данные 2

  1. Доброго времени суток . Напишите "функцию голосования" function Election (x, y, z:boolean): boolean (Pascal), возвращающую то значение (true или false), которое среди значений ее аргументов x, y, z встречается чаще. Входные данные Вводится 3 числа - x, y и z (x, y и z равны 0 или 1, 0 соответствует значению false, 1 соответствует значению true). Выходные данные Необходимо вывести значение функции от x, y и z. Примеры входные данные 0 0 1 выходные данные 0 я только начал функции и процедуры , прошу подробно расписать заранее спасибо

  1. Напишите программу, которая строит "линию" из знаков '-' заданной длины. Используйте процедуру.Входные данные Входная строка содержит единственное натуральное число – длину линии N .Выходные данные Программа должна вывести N знаков '-'.Примерывходные данные 5выходные данные -----