Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- {Na standardním vstupu je řada celých čísel. Vypište přečtené hodnoty na
- standardní výstup v binární podobě a ke každé hodnotě vypočtěte a vypište
- ještě zabezpečovací bit sudé parity, který doplňuje počet binárních
- jedniček čísla na sudou hodnotu.}
- program SudaParita;
- const max=16;
- type CeleCislo = integer;
- BinarniCislo = string[max+1];
- var cislo:CeleCislo;
- bin:BinarniCislo;
- function dec2bin(var x:CeleCislo):BinarniCislo;
- var zbytek:integer; //hezci by bylo asi boolean
- var i:integer;
- var pom:BinarniCislo;
- begin
- for i:=0 to max do pom[i]:='0';
- i:=max+1;
- repeat
- zbytek:=x mod 2;
- x:=x div 2;
- if zbytek = 1 then pom[i]:='1'
- else pom[i]:='0';
- i:=i-1;
- until x<=0;
- dec2bin:=pom;
- end;
- function Parita(var x:BinarniCislo):BinarniCislo;
- var counter:integer;
- var i:integer;
- begin
- counter:=0;
- for i:=1 to max+1 do if x[i]='1' then counter:=counter+1;
- if (counter mod 2)=1 then x[1]:='1'
- else x[1]:='0';
- Parita:=x;
- end;
- begin
- while not eof do
- begin
- write('DEC number= ');
- readln(cislo);
- bin:=dec2bin(cislo);
- write('BIN number= ');
- writeln(bin);
- write('BIN parity check number= ');
- writeln(Parita(bin));
- writeln;
- writeln;
- end;
- readln;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement