Advertisement
CarlBjorklund

Dugga 2: Uppgift 3 (Tack Marcus!)

Oct 6th, 2017
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ada 2.15 KB | None | 0 0
  1. with Ada.Text_IO; use Ada.Text_IO;
  2.  
  3. --All cred för denna går till Markus Larsson <3
  4.  
  5. procedure Traffic_Light is
  6.  
  7.    procedure Print_Diods (Color : in Character; Number_Of_Lights : in Integer) is --Skriver ut dioderna som
  8.                                                                                   --ska vara tända
  9.                                                                         --parametrarna är färg och antal dioder
  10.    begin
  11.  
  12.       for I in 1..Number_Of_Lights loop
  13.          Put(Color);
  14.       end loop;
  15.  
  16.    end Print_Diods;
  17.  
  18.  
  19.    procedure Print_Bulb(Color : in Character) is --Skriver ut de rader som rör lampan
  20.                                                  --paramtern visar vilken färg dioderna ska lysa i
  21.    begin
  22.       Put("|/");
  23.       Print_Diods(Color, 4);
  24.       Put_Line("\|");
  25.       for I in 1..2 loop
  26.          Put("|");
  27.          Print_Diods(Color, 6);
  28.          Put_Line("|");
  29.       end loop;
  30.       Put("|\");
  31.      Print_Diods(Color, 4);
  32.      Put_Line("/|");
  33.   end Print_Bulb;
  34.  
  35.   procedure Check_Bulb(Lit : in Boolean; Color : in Character) is --Kontrollerar om lampan är tänd eller ej.
  36.                                                                   --parametrar är om lampan ska vara tänd
  37.                                                                   --samt färg
  38.   begin
  39.      if Lit = True then
  40.         Print_Bulb(Color);
  41.      else
  42.           Print_Bulb('.');
  43.      end if;
  44.  
  45.   end Check_Bulb;
  46.  
  47.  
  48.   procedure Print_Light(R, Y, G : in Boolean) is --Skriver ut ramen för trafikljuset, parametrarna är
  49.                                                  --vilka lampor som ska tändas/släckas
  50.   begin
  51.      Put_Line(" ______ ");
  52.      Put_Line("/ ____ \");
  53.      Check_Bulb(R, 'R');
  54.      Put_Line("|      |");
  55.      Check_Bulb(Y, 'Y');
  56.      Put_Line("|      |");
  57.      Check_Bulb(G, 'G');
  58.      Put_Line("\ ____ /");
  59.      Put_Line("   ||   ");
  60.   end Print_Light;
  61.  
  62. begin
  63.  
  64.   Print_Light(True, False, False);
  65.   Print_Light(False, True, False);
  66.   Print_Light(False, False, True);
  67.   Print_Light(True, True, False);
  68.   Print_Light(False, True, True);
  69.  
  70. end Traffic_Light;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement