A-M baby
This commit is contained in:
parent
764da6cbbb
commit
db842d013d
19005 changed files with 197040 additions and 7 deletions
32
Task/Filter/Ada/filter-1.ada
Normal file
32
Task/Filter/Ada/filter-1.ada
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
with Ada.Integer_Text_Io; use Ada.Integer_Text_Io;
|
||||
with Ada.Text_Io; use Ada.Text_Io;
|
||||
|
||||
procedure Array_Selection is
|
||||
type Array_Type is array (Positive range <>) of Integer;
|
||||
Null_Array : Array_Type(1..0);
|
||||
|
||||
function Evens (Item : Array_Type) return Array_Type is
|
||||
begin
|
||||
if Item'Length > 0 then
|
||||
if Item(Item'First) mod 2 = 0 then
|
||||
return Item(Item'First) & Evens(Item((Item'First + 1)..Item'Last));
|
||||
else
|
||||
return Evens(Item((Item'First + 1)..Item'Last));
|
||||
end if;
|
||||
else
|
||||
return Null_Array;
|
||||
end if;
|
||||
end Evens;
|
||||
|
||||
procedure Print(Item : Array_Type) is
|
||||
begin
|
||||
for I in Item'range loop
|
||||
Put(Item(I));
|
||||
New_Line;
|
||||
end loop;
|
||||
end Print;
|
||||
|
||||
Foo : Array_Type := (1,2,3,4,5,6,7,8,9,10);
|
||||
begin
|
||||
Print(Evens(Foo));
|
||||
end Array_Selection;
|
||||
28
Task/Filter/Ada/filter-2.ada
Normal file
28
Task/Filter/Ada/filter-2.ada
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
with Ada.Text_IO; use Ada.Text_IO;
|
||||
|
||||
procedure Array_Selection is
|
||||
type Array_Type is array (Positive range <>) of Integer;
|
||||
|
||||
function Evens (Item : Array_Type) return Array_Type is
|
||||
Result : Array_Type (1..Item'Length);
|
||||
Index : Positive := 1;
|
||||
begin
|
||||
for I in Item'Range loop
|
||||
if Item (I) mod 2 = 0 then
|
||||
Result (Index) := Item (I);
|
||||
Index := Index + 1;
|
||||
end if;
|
||||
end loop;
|
||||
return Result (1..Index - 1);
|
||||
end Evens;
|
||||
|
||||
procedure Put (Item : Array_Type) is
|
||||
begin
|
||||
for I in Item'range loop
|
||||
Put (Integer'Image (Item (I)));
|
||||
end loop;
|
||||
end Put;
|
||||
begin
|
||||
Put (Evens ((1,2,3,4,5,6,7,8,9,10)));
|
||||
New_Line;
|
||||
end Array_Selection;
|
||||
Loading…
Add table
Add a link
Reference in a new issue