Advertisement
Guest User

problem ada

a guest
Oct 2nd, 2011
212
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ada 1.40 KB | None | 0 0
  1. micropaquetage.ads
  2. -------------
  3. PACKAGE Micropaquetage IS
  4.   function estdivisiblepar3 return boolean;
  5.  
  6.    
  7.    end micropaquetage;
  8.  
  9. --------------
  10. --------------
  11.  
  12.  micropaquetage.adb
  13. -------------------
  14. WITH Ada.integer_Text_IO;
  15.    use ada.integer_Text_IO;
  16. WITH Text_Io;
  17. USE Text_Io;
  18.  
  19.  
  20. PACKAGE BODY micropaquetage IS
  21.    function estdivisiblepar3 return boolean IS
  22.    TYPE Etat IS (R0,R1,R2);
  23.    E:Etat:=R0;
  24.    C:Character;
  25.      
  26. BEGIN
  27.  
  28.    WHILE NOT End_Of_File LOOP
  29.       get(c);
  30.       CASE E Is
  31.          WHEN R0 =>  IF C='1' THEN E := R1;
  32.             END IF;
  33.          WHEN R1 =>  IF C='0' THEN E:=R2 ;
  34.             ELSIF C='1' THEN E:=R0;
  35.             END IF;
  36.          WHEN R2=> IF C='0'THEN E:=R1;
  37.             END IF;
  38.       END CASE;
  39.    
  40.    END LOOP;
  41.    
  42.    
  43.  
  44.    IF E=R0 then
  45.          RETURN True;
  46.    ELSE return False;
  47.    END IF;
  48.        end estdivisiblepar3;
  49. end micropaquetage;
  50.  
  51. ---------------------------
  52. ---------------------------
  53.  
  54. main.adb
  55. ---------------------------
  56. WITH Text_Io;
  57. USE Text_Io;
  58. WITH Micropaquetage;
  59. USE Micropaquetage;
  60. WITH Ada.integer_Text_IO;
  61. use ada.integer_Text_IO;
  62.  
  63. PROCEDURE main IS
  64.    G:Boolean;
  65.  
  66. BEGIN
  67.    
  68.    Put_line("entrer un binaire");
  69.    
  70.    G:=estdivisiblepar3;
  71.    IF G=true THEN Put("Oui il est divisible par 3");
  72.       ELSE Put("non il n'est pas divisible par 3");
  73.          end if;
  74.    end main;
  75. -----------------------
  76.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement