comp.lang.ada
 help / color / mirror / Atom feed
From: "Steve" <nospam_steved94@comcast.net>
Subject: Re: Help needed for ada package
Date: Mon, 25 Jul 2005 20:17:50 -0700
Date: 2005-07-25T20:17:50-07:00	[thread overview]
Message-ID: <2OudnZo-iL1aN3jfRVn-iQ@comcast.com> (raw)
In-Reply-To: 1122305318.728942.304120@f14g2000cwb.googlegroups.com


<strictly_mk@hotmail.com> wrote in message 
news:1122305318.728942.304120@f14g2000cwb.googlegroups.com...
> To anyone interested,
>
> I very urgently need this ada 95 package written for me and I am
> willing to pay anyone for their time. Here is the specification;
>
> The is supposed to be a basic database to monitor a group of made up
> citizens and their badness rating.
>
> generic
>    type ID is (<>); --some discrete type to be put here
> package POP is
>   --update database
>  type Rating is new Integer range 0..255;
>  procedure Rate (Citizen : in ID;
>                           Badness : in Rating);
>  procedure Associate (Citizen_1, Citizen_2 : in ID);
>  --query the database
>  function Most_Dangerous return ID;
>  function Next_Member return ID;
>  function More_In_Group return Boolean;
>  --administrative
>  procedure reset;
> end POP;
>

Sorry I don't have enough time to write the whole thing write now, but 
here's a start (maybe someone else will step in to fill in another routine):

with Ada.Unchecked_Deallocation;
package body POP is

  type
  RO0O is record  lll1 : ID;  ll1l : Rating; end record; type
  ROO0 is array( positive range <> ) of
  RO0O; type R0OO is access all ROO0;

  procedure RO00 is new Ada.Unchecked_Deallocation( ROO0, R0OO );

  R00O : R0OO;  R0O0 : Natural := 0;

   procedure Associate (Citizen_1, Citizen_2 : in ID) is
   begin
      null;
   end Associate;

   function More_In_Group return Boolean is
   begin
      return More_In_Group;
   end More_In_Group;

   function Most_Dangerous return ID is
   begin
      return Most_Dangerous;
   end Most_Dangerous;

   function Next_Member return ID is
   begin
      return Next_Member;
   end Next_Member;

   procedure Rate
     (Citizen : in ID; Badness : in Rating)  is  begin
    if R0O0 = 0 then R00O := new ROO0( 1 .. 100 ); end if;
    if R0O0 + 1 > R00O.all'length then
    declare R000 : R0OO; begin R000 := new
    ROO0( 1 .. R0O0 + 100 ); R000.all( 1 .. R0O0 ) :=
    R00O.all( 1 .. R0O0 ); RO00( R00O ); R00O :=
    R000; end; end if; R0O0 := R0O0 + 1;
    R00O( R0O0 ).lll1 := citizen; R00O( R0O0 ).ll1l := badness; end
    Rate;

   procedure  reset is
   begin
      null;
   end reset;

end POP;

Steve
(The Duck)


>
> You cannot change this specification in any way other than to insert
> the appropriate type for ID;
> As you can see this is supposed to be a database package, it should not
> however do any input or output to the screent as the GUI is being
> designed by someone else.
>
> Rate is supposed to enter a citizen with his/her ID (integer) and their
> badness (integer) into the database.
> Associate  is used to tell the database two citizens are associated to
> be in the same group.
> Most_Dangerous is supposed to return the citizen with the highest
> badness rating. This function can do anything if the database is empty.
> Next_Member reports a previously unreported member of the group to
> which the most dangerous citizen belongs. This function can do anything
> if the there are no more unreported members.
> More_In_Group which is true exactly when there are unreported members
> of the group to which the most recently reported most dangerous citizen
> belongs. This function can do anything if there is no previous call to
> Most_Dangerous.
> The procedure rest resets the database to its original state.
>
> There will be no more than 1 million citizens entered. Updates should
> be optimised at the expense of queries. Do not worry too much about
> error handling.
>
> The program is supposed to be compiled on gnat. I require both the code
> and a compiled file.
>
> Again, if anyone is interested I'm willing to pay for your services.
> 





  parent reply	other threads:[~2005-07-26  3:17 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1122305318.728942.304120@f14g2000cwb.googlegroups.com>
2005-07-25 17:45 ` Help needed for ada package Marc A. Criley
2005-07-25 17:47 ` Simon Clubley
2005-07-25 18:21   ` Georg Bauhaus
2005-07-25 18:46 ` Frank J. Lhota
2005-07-25 19:26 ` tmoran
2005-07-25 22:12 ` Ludovic Brenta
2005-07-25 23:33 ` Jeffrey Carter
2005-07-26 17:29   ` Pascal Obry
2005-07-26 19:03     ` Ed Falis
2005-07-26 19:05       ` Pascal Obry
2005-07-26 22:20     ` Jeffrey Carter
2005-07-27  9:07       ` Georg Bauhaus
2005-08-01  5:37     ` Dave Thompson
2005-08-01 12:37       ` Adrien Plisson
2005-07-26  3:17 ` Steve [this message]
     [not found]   ` <1122475184.849564.159870@g44g2000cwa.googlegroups.com>
2005-07-27 17:13     ` Martin Krischik
2005-07-27 18:03     ` Simon Wright
2005-07-28  0:58       ` Jeffrey Carter
2005-07-28  1:53         ` tmoran
2005-07-28 16:21           ` Jeffrey Carter
2005-07-28  2:27     ` Steve
     [not found]       ` <1122547648.069514.63520@g14g2000cwa.googlegroups.com>
2005-07-28 18:33         ` Ludovic Brenta
2005-07-28 19:51           ` tmoran
     [not found]           ` <uaaje1d0l4tp1kjs18mkrgfmbkcir308bt@4ax.com>
2005-07-29  8:37             ` tmoran
2005-07-30  1:44             ` Steve
2005-07-29  1:57         ` Steve
     [not found]           ` <1122980923.842598.181310@g49g2000cwa.googlegroups.com>
2005-08-02 11:37             ` Adrien Plisson
2005-08-02 12:05             ` Georg Bauhaus
     [not found]               ` <1122986293.760710.320180@g44g2000cwa.googlegroups.com>
2005-08-02 13:19                 ` Adrien Plisson
2005-08-02 14:26                 ` Georg Bauhaus
     [not found]                   ` <1122995870.689997.66000@g44g2000cwa.googlegroups.com>
2005-08-02 15:38                     ` Georg Bauhaus
     [not found]                       ` <1122997736.667017.104140@o13g2000cwo.googlegroups.com>
2005-08-02 16:37                         ` Georg Bauhaus
2005-08-02 16:52             ` Jeffrey Carter
     [not found]             ` <o04ve11odsjs756915g5eonn0g1guopih2@4ax.com>
2005-08-02 23:21               ` tmoran
     [not found]               ` <1123069124.562944.246730@o13g2000cwo.googlegroups.com>
2005-08-03 12:08                 ` Georg Bauhaus
2005-08-03 16:13                   ` Jeffrey Carter
2005-08-03 17:57                     ` Georg Bauhaus
2005-08-03 16:48                   ` Martin Dowie
     [not found]                   ` <1123084562.854161.299550@g44g2000cwa.googlegroups.com>
2005-08-03 17:58                     ` Georg Bauhaus
     [not found]                 ` <n0o1f1lqsbi23bt7b2li6oc85r7pgfn9d5@4ax.com>
     [not found]                   ` <1123090742.323338.311230@f14g2000cwb.googlegroups.com>
2005-08-03 18:07                     ` Georg Bauhaus
2005-08-03 20:18                     ` Simon Wright
2005-08-04  0:59                       ` Jeffrey Carter
2005-08-04  5:42                         ` Simon Wright
     [not found]   ` <1123173235.773051.23360@z14g2000cwz.googlegroups.com>
2005-08-04 16:50     ` Simon Clubley
     [not found]       ` <1123174747.107994.317580@o13g2000cwo.googlegroups.com>
2005-08-04 16:27         ` Georg Bauhaus
2005-08-04 20:14         ` Simon Wright
     [not found] <1122320036.858648.242630@f14g2000cwb.googlegroups.com>
2005-07-26  0:47 ` tmoran
     [not found] <1122372224.124606.271380@f14g2000cwb.googlegroups.com>
2005-07-26 17:31 ` tmoran
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox