Guest User

gigr

a guest
Apr 23rd, 2012
261
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 1.66 KB | None | 0 0
  1. program bin_to_int;
  2. var c,m: string;
  3. var n,i,e,z: integer;
  4. g: boolean;
  5.  
  6.  
  7. function bin(x:string):integer;
  8. var ni,sk,summa,f,e: integer;
  9. begin
  10. f:=0;
  11.  
  12. summa:=0;
  13. ni:=length(x);
  14. for i:= ni downto 1 do
  15. begin
  16. if(c[i]='0') then sk:=0 else sk:=1;
  17. inc(f);
  18.  
  19.     for e:= 1 to f-1 do
  20.     begin
  21.     sk:=sk*2;       //pataisa skaitli f pakāpē.
  22.     end;
  23. summa:=summa+sk;             //pieskaita summai.
  24. end;
  25. bin:=summa;
  26. end;
  27.  
  28. function dec(y:integer):string;
  29. var x,n,a: integer;
  30. ya: array [1..200] of char;
  31. f: string;
  32. begin
  33. n:=0;
  34.  
  35. while  y>0 do
  36. begin
  37. inc(n);
  38. ya[n]:=chr((y mod 2)+48);
  39. y:=y div 2;
  40. end;
  41.  
  42. for a:= n downto 1 do
  43. begin
  44. write(ya[a]);
  45. end;
  46.  
  47. end;
  48.  
  49. begin
  50. repeat
  51. g:=true;
  52. writeln('ievadi kādu skaitli binarajā kodā!');
  53. readln(c);                                  //nolasa datus
  54.  
  55. n:=length(c);
  56.  
  57. for e:= 1 to n do
  58. begin
  59.         if (ord(c[e])-48>1) or (ord(c[e])-48<0) then
  60.         begin
  61.         writeln('Nav ievadīts binārais kods');
  62.         g:=false;
  63.         break;
  64.         end;
  65. end;
  66. until g=true;
  67.  
  68. repeat
  69. Writeln('Ievadiet otru skaitli binārajā kodā!');
  70. readln(m);
  71. g:=true;
  72. n:=length(m);
  73. for e:= 1 to n do
  74. begin
  75.         if (ord(m[e])-48>1) or (ord(m[e])-48<0) then
  76.         begin
  77.         writeln('Nav ievadīts binārais kods');
  78.         g:=false;
  79.         break;
  80.         end;
  81. end;
  82. until g=true;
  83. if (c<>'0') and (m<>'0') then
  84. begin
  85. z:=bin(c)+bin(m);
  86. writeln(c,'+',m,'=',dec(z),' jeb ',z);
  87. end;
  88. if (m='0') and (c='0') then writeln(c,'+',m,'=',m,' jeb ',m) else
  89. if (c='0') then begin write(c,'+',m,'=',m,' jeb '); c:=m; write(bin(c)); end else
  90. if (m='0') then writeln(c,'+',m,'=',c,' jeb ',bin(c));
  91.  
  92. readln;
  93. end.
Advertisement
Add Comment
Please, Sign In to add comment