fork download
  1. with Ada.Text_IO, Ada.Integer_Text_IO;
  2. use Ada.Text_IO, Ada.Integer_Text_IO;
  3.  
  4. procedure Loopsinada is
  5. Index, Count,for_first,for_last : INTEGER;
  6. type my_range is range 2..4 ;
  7. package MY_OWN_TYPE is new Ada.Text_IO.Integer_IO(my_range);
  8. use MY_OWN_TYPE;
  9. begin
  10. put_line("enter user defines for range:");
  11. get(for_first);
  12. get(for_last);
  13.  
  14. new_line;
  15. Index := 1;
  16. loop -- This is the simplest loop
  17. Put("Index =");
  18. Put(Index, 5);
  19. New_Line;
  20. Index := Index + 1;
  21. exit when Index = 4;
  22. end loop;
  23. new_line;
  24.  
  25. Index := 1;
  26. loop -- Another simplest loop
  27. Put("Index =");
  28. Put(Index, 5); New_Line;
  29. Index := Index * 2;
  30. if Index = 8 then exit; end if;
  31. end loop;
  32. new_line;
  33.  
  34. Count := 48;
  35. while Count > 5 loop -- This is the while loop
  36. Put("Count =");
  37. Put(Count, 5);
  38. New_Line;
  39. Count := Count /2;
  40. end loop;
  41. new_line;
  42.  
  43. for Index in 1..4 loop -- This is the for loop
  44. Put("Doubled index =");
  45. Put(2 * Index, 5);
  46. New_Line;
  47. end loop;
  48. new_line;
  49.  
  50. for Count in reverse 5..9 loop -- This is the reverse for loop
  51. Put("Minus count =");
  52. Put(Count-1, 5); New_Line;
  53. end loop;
  54. new_line;
  55.  
  56. for count in my_range loop-- user specified type
  57. put("user count = ");
  58. put(count*4,5);
  59. new_line;
  60. end loop;
  61. new_line;
  62.  
  63. for count in for_first..for_last loop-- user specified type
  64. put("half count = ");
  65. put(count,5);
  66. new_line;
  67. end loop;
  68. new_line;
  69.  
  70.  
  71.  
  72. for Index in 7..11 loop -- An empty loop
  73. null;
  74. end loop;
  75. end Loopsinada;
Runtime error #stdin #stdout 0.01s 1868KB
stdin
Standard input is empty
stdout
enter user defines for range: