Вводятся 4 числа:
1-е от 0 до 3
2-е от 4 до 10
3-е от 11 до 21
4-е от 0 до 255
используя только 2 переменных по байту
Вывести их в обратном порядке...
uses wincrt;
var
a,c:byte;
begin
c:=0; a:=0;
writeln('enter 1 chislo');
readln©; a:=c shl 6; {1 add}
writeln('enter 2 chislo');
readln©; a:=a or (c shl 3); {2 add}
writeln('enter 3 chislo');
readln©; a:=a or (c-11);
writeln('enter 4 chislo');
readln©;
writeln('-------------------');
writeln(a,' ',c);
writeln('-------------------');
writeln©;
c:=0 or (a shl 5);
c:=c shr 5;
writeln(c+11);
c:=0 or (a shl 2);
c:=0 or (c shr 5);
writeln©;
c:=0 or (a shr 6);
writeln©;
readln;
end.
uses crt;
var
a,c:byte;
Procedure Main;
begin
writeln('enter 2');
readln©; a:=a or (c shl 4);
writeln('enter 3');
readln©; a:=a or (c-11);
writeln('enter 4');
readln©;
{-----------------------------------------------}
writeln('-----------------');
writeln©; {-4}
c:=0;
c:=0 or (a shl 4);
c:=c shr 4; {-3}
writeln(c+11);
c:=0 or (a shr 4); {-2}
writeln©;
end; {main}
{==================================================}
begin
ClrScr;
c:=0; a:=0;
writeln('enter 1');
readln©;
case c of
0:begin
main;
writeln('0');
end;
1: begin
main;
writeln('1');
end;
2: begin
main;
writeln('2');
end;
3: begin
main;
writeln('3');
end;
end;{case}
Readln;
end.
program Perversion;
var
a, b: Byte;
procedure ReadAndWrit;
begin
Write('n2>');
Readln(a);
b := (a - 4) shl 4;
Write('n3>');
Readln(a);
b := b or (a - 11);
Write('n4>');
Readln(a);
Write(a, ' ', b and $F + 11, ' ', b shr 4 + 4, ' ');
end;
begin
Write('n1>');
Readln(a);
case a of
0:
begin
ReadAndWrit;
Writeln('0');
end;
1:
begin
ReadAndWrit;
Writeln('1');
end;
2:
begin
ReadAndWrit;
Writeln('2');
end;
3:
begin
ReadAndWrit;
Writeln('3');
end;
end;
end.