Сорян за оффтоп, но иначе никак ;) Ебаный препод дал нам не ебу какой код, молв делайте, до конца 2-й пары оформить всё и сдать. Никакой теории, нихуя. Только код на языке Паскаль, который мы ни разу не затрагивали и не учили. Задания: Преобразовать целое число SHORT с основанием 8 в число LONG с основанием 16. Код который нужно переделать: program ddd; var osnvv,osnvyv,chislo,i,n,dd:integer; t1,t2,t3:string; begin chislo:= 0; t1:=''; writeln('введіть основу систем числення для введення числа'); readln(osnvv); writeln('введіть основу системи числення для виведення числа'); readln(osnvyv); writeln('введіть число'); readln(t1); n:=length(t1); for i:=1 to n do begin t2:=copy(t1,i,1); if ((t2 >= '0') and (t2 <= '9')) or ((t2>='A') and (t2<='F')) or ((t2>='a') and (t2<='f')) then begin case t2 of '0': dd:=0; '1': dd:=1; '2': dd:=2; '3': dd:=3; '4': dd:=4; '5': dd:=5; '6': dd:=6; '7': dd:=7; '8': dd:=8; '9': dd:=9; 'A': dd:=10; 'B': dd:=11; 'C': dd:=12; 'D': dd:=13; 'E': dd:=14; 'F': dd:=15; end; chislo := chislo*osnvv+dd; end else writeln('невірний символ'); continue; end; writeln(chislo,' в десятковому вигляді'); t2 := ''; while chislo <> 0 do begin n:=chislo mod osnvyv; chislo:=chislo div osnvyv; case n of 0: t3:='0'; 1: t3:='1'; 2: t3:='2'; 3: t3:='3'; 4: t3:='4'; 5: t3:='5'; 6: t3:='6'; 7: t3:='7'; 8: t3:='8'; 9: t3:='9'; 10: t3:='A'; 11: t3:='B'; 12: t3:='C'; 13: t3:='D'; 14: t3:='E'; 15: t3:='F'; end; t2:= t3+t2; end; writeln(' число за основою ', osnvyv,' ',t2); end. Код program ddd; var osnvv,osnvyv,chislo,i,n,dd:integer; t1,t2,t3:string; begin chislo:= 0; t1:=''; writeln('введіть основу систем числення для введення числа'); readln(osnvv); writeln('введіть основу системи числення для виведення числа'); readln(osnvyv); writeln('введіть число'); readln(t1); n:=length(t1); for i:=1 to n do begin t2:=copy(t1,i,1); if ((t2 >= '0') and (t2 <= '9')) or ((t2>='A') and (t2<='F')) or ((t2>='a') and (t2<='f')) then begin case t2 of '0': dd:=0; '1': dd:=1; '2': dd:=2; '3': dd:=3; '4': dd:=4; '5': dd:=5; '6': dd:=6; '7': dd:=7; '8': dd:=8; '9': dd:=9; 'A': dd:=10; 'B': dd:=11; 'C': dd:=12; 'D': dd:=13; 'E': dd:=14; 'F': dd:=15; end; chislo := chislo*osnvv+dd; end else writeln('невірний символ'); continue; end; writeln(chislo,' в десятковому вигляді'); t2 := ''; while chislo <> 0 do begin n:=chislo mod osnvyv; chislo:=chislo div osnvyv; case n of 0: t3:='0'; 1: t3:='1'; 2: t3:='2'; 3: t3:='3'; 4: t3:='4'; 5: t3:='5'; 6: t3:='6'; 7: t3:='7'; 8: t3:='8'; 9: t3:='9'; 10: t3:='A'; 11: t3:='B'; 12: t3:='C'; 13: t3:='D'; 14: t3:='E'; 15: t3:='F'; end; t2:= t3+t2; end; writeln(' число за основою ', osnvyv,' ',t2); end. Если найдутся добрый люди, вот сразу онлайн компилятор: https://www.onlinegdb.com/online_pascal_compiler