|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: I T
Length: 2050 (0x802)
Types: TextFile
Names: »INSTRUCTOR_NOTES«
└─⟦180fe333a⟧ Bits:30000405 8mm tape, Rational 1000, SW CATALOG, 10_20_0
└─⟦180fe333a⟧ Bits:30000537 8mm tape, Rational 1000, SW Catalog 10_20_0
└─⟦5cb1d1d7f⟧ »DATA«
└─⟦3b1ee7bd8⟧
└─⟦this⟧
This is a Level I problem, designed to give the student experience using
the environment to code a procedure in Ada.
The is a fairly easy problem, but does present a few challenges especially
if one only uses Text_Io.
It is important to stress that they get something working the FIRST day
even if it is only the simplest case. Encourage them to use the debugger
and help them to get started if they need it.
We have asked them to copy the spec for Phone and the Phone_list file
into their own development World for implementation.
They are also told that they will need a link to Text_IO.
You may need to help them with these.
They will likely need to define at least one local functions to help
out in the body. One that you might suggest is:
Contains (Fragment : string; in_string : String) return boolean;
although it might be better to let them start without this suggestion
and see if they gravitate to this idea on their own.
When they have completed something that works fairly well, you may want
to introduce them to Io and String_Utilities. They should
go through trying to implement them straight to appreciate the utility
of reusable interfaces.
The primary things to point out in Io are the pre-instantiated
packages for numeric and boolean Io and the functional Get_line.
the cononical use of the Get_line is
while not Io.End_Of_File (Input) loop
declare
Line : constant String := Io.Get_Line (Input);
begin
-- Operatate on the line
end;
end loop;
The most useful functions in String_Utilities are
Strip
Locate
There exists a Phone_Solution1 that uses Text_Io only and a Phone_Solution2
that uses Simple_Text_Io and String_Utilities. They may help you give
them guidence. You should also give this to them and discuss it when they
have completed the task.
Note it will be very difficult to make the Text_Io Solution case insensitive.
The may help to reinforce the value of reusable interfaces (String_Utilities).