0 / 0 / 0
Регистрация: 15.04.2019
Сообщений: 31
1

Перевести на python

26.09.2019, 17:59. Показов 6506. Ответов 3
Метки нет (Все метки)

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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.
программа описывает работу процессора, 4 регистра всего.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.09.2019, 17:59
Ответы с готовыми решениями:

Перевести на python
program zadaca; var begin writeln('Введи число a'); readln(a); if a &gt; =0 then if a=0 then...

Перевести с С++ на Python
Задание: вычислить скалярную величину по формуле G = \frac{1+\sum }{\sum_{}^{}} элементы массива...

Перевести с Pascal на Python
Помогите пожалуйста перевсти правильно. var i,j,s,n : integer; begin readln(n); i:=1; while...

Перевести из Pascal в Python 3.5
uses crt; var a: array of string; s, sl,sg,ss: string; i, j, k: integer; begin write...

3
1282 / 667 / 365
Регистрация: 07.01.2019
Сообщений: 2,176
26.09.2019, 18:22 2
Так вроде

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
r = [0] * 3
s = ''
print('Вводите коды команд, окончание вввода 000');
while s != '000':
    while True:
        s = input()
        if s == '000':
          print('Программа завершена')
          exit()
        a = int(s)
        if not s[0] in ['1','2','3','4'] or not s[1] in ['0','1','2','3'] or s[0] in ['2','3','4'] and not s[3] in ['0','1','2','3']:
            print('Код введен неверно, повторите')
        if (s[0] in ['1','2','3','4']) and (s[1] in ['0','1','2','3']) or ((s[0] in ['2','3','4']) and (s[3] in ['0','1','2','3'])):
            break
    if s[0] == '1':
        r[int(s[1])] = int(s[2])
    if s[0] == '2':
        r[int(s[2])] = r[int(s[1])]
    if s[0] == '3':
        r[int(s[2])] = r[int(s[2])]+r[int(s[1])]
    if s[0] == '4':
        r[int(s[2])] = r[int(s[2])]-r[int(s[1])];
    for i in range(3):
        print('R',i,'=',r[i],'  ')
1
0 / 0 / 0
Регистрация: 15.04.2019
Сообщений: 3
26.09.2019, 19:31 3
tooru, спасибо за решение, но выдает ошибку если рассматривать 2 , 3 и 4 формулы, например, если ввести 331 выходит за лист, на паскале работает без ошибки
0
1282 / 667 / 365
Регистрация: 07.01.2019
Сообщений: 2,176
26.09.2019, 19:44 4
Лучший ответ Сообщение было отмечено bread45963 как решение

Решение

Цитата Сообщение от крабинский Посмотреть сообщение
на паскале работает без ошибки
Начал забывать как for в паскале работает

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
r = [0] * 4
s = ''
print('Вводите коды команд, окончание вввода 000');
while s != '000':
    while True:
        s = input()
        if s == '000':
          print('Программа завершена')
          exit()
        a = int(s)
        if not (s[0] in ['1','2','3','4']) or not (s[1] in ['0','1','2','3']) or (s[0] in ['2','3','4'] and not s[2] in ['0','1','2','3']):
            print('Код введен неверно, повторите')
        if (s[0] in ['1','2','3','4']) and (s[1] in ['0','1','2','3']) or ((s[0] in ['2','3','4']) and (s[2] in ['0','1','2','3'])):
            break
    if s[0] == '1':
        r[int(s[1])] = int(s[2])
    if s[0] == '2':
        r[int(s[2])] = r[int(s[1])]
    if s[0] == '3':
        r[int(s[2])] = r[int(s[2])]+r[int(s[1])]
    if s[0] == '4':
        r[int(s[2])] = r[int(s[2])]-r[int(s[1])];
    for i in range(3):
        print('R',i,'=',r[i],'  ')
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.09.2019, 19:44
Помогаю со студенческими работами здесь

Перевести с pascal на python
program happiness; var i,k,s:integer; begin write('Число: '); readln(k); for i:=1 to 100 do...

Перевести код с С++ на Python
Задача такова. Переместить байты по заданному алгоритму, есть пример файла, параметры Width = 256,...

Перевести код с С++ на Python
Задача такова. Дан символьный массив. Вывести на печать те слова, в которых первая буква слова...

Перевести с pascal на python
procedure GetMatr(a:matr; var b:matr; m,i,j:integer); { Вычеркивание из матрицы строки и столбца }...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru