From: Austin Obyrne <austin.obyrne@hotmail.com>
Subject: Re: Help with an errant 'IF' statement please.
Date: Sun, 30 Nov 2014 05:01:02 -0800 (PST)
Date: 2014-11-30T05:01:02-08:00 [thread overview]
Message-ID: <47121b30-7fa8-4087-8bc9-d2099db7ea76@googlegroups.com> (raw)
In-Reply-To: <fd50fe7f-d977-4f4a-92fa-4d1ac8ab675e@googlegroups.com>
On Sunday, November 30, 2014 12:58:34 PM UTC, Austin Obyrne wrote:
> On Sunday, November 30, 2014 11:18:33 AM UTC, Simon Clubley wrote:
> > On 2014-11-30, Austin Obyrne <austin.obyrne@hotmail.com> wrote:
> > > On Saturday, November 29, 2014 4:53:48 PM UTC, Dennis Lee Bieber wrote:
> > >> On Sat, 29 Nov 2014 07:05:09 -0800 (PST), Austin Obyrne
> > >> <austin.obyrne@hotmail.com> declaimed the following:
> > >>
> > >>
> > >> >LOOP
> > >> > EXIT WHEN NextChar = Sentinel;
> > >> >
> > >> What is the definition of "NextChar", since I don't see it changing
> > >> inside this loop...
> > >>
> > >
> > > This is the relevant source code at the very start of the program in
> > > question,
> > >
> > > Total := Total+1;
> > > Ada.Text_IO.Get(Item => NextChar);
> > > Image(Total):= NextChar;
> > >
> > > 'NextChar' is the variable name given to each character being read
> > > in from the keyboard.
> > >
> >
> > [snip]
> >
> > > Sorry for taking so long in coming back and thanks for your help - Austin.
> >
> > Do what I told you to do and write a stripped down standalone test program
> > around the fragment you posted.
> >
> > You will then see what Dennis (and myself) are telling you.
> >
> > I could tell you what the problem is, but I think it's more important for
> > you to understand how to find this yourself.
> >
> > Simon.
> >
> > --
> > Simon Clubley, clubley@remove_me.eisner.decus.org-Earth.UFP
> > Microsoft: Bringing you 1980s technology to a 21st century world
>
> Hi Simon - herewith the program sourcecode of the procedure in question - I would like to know for future - my main preoccupation is with problem solving but the elegance and efficacy of Ada are important to me also - bear with me -this a an experimental program by me and is not a fine example of programming in Ada. I would appreciate your help - I am going flat out with research work in cryptoland - Ada is a tool to me at the moment until I get more time to 'smell the flowers' of the language proper.
>
> Time_Ex_1;
> Count := Phi; --initialising change-of-origin Count
> Resets := 0;
> Total := 0;
> NextChar := ' '; --initialising to pre-empt error message
> Line_Number:= 0;
> LOOP
> EXIT WHEN NextChar = Sentinel;
> Count:= Count+1; -- change-of-origin count reinitialising
> IF Count REM (Span + Phi +1) = 0 THEN -- Reset signal
> Count:= 1;
> Resets:= Resets +1;
> END IF;
> Total := Total +1;
> Ada.Text_IO.Get(Item => NextChar);
> Counter := Counter +1;
> Total := Total +1;
> Image(Counter):= NextChar;
> -- R := Character 'POS(NextChar);
> -- PlainTextNum(R) := PlainTextNum(R) +1;
> Ada.Text_IO.New_Line;
> Ada.Text_IO.Put(Item => " ");
> Ada.Text_IO.Put(Item => NextChar);
> Ada.Text_IO.Put(Item => " - Current PlainText for encryption");
> Ada.Text_IO.New_Line;
> Ada.Text_IO.Put(Item => " ");
> Ada.Text_IO.Put(Item => " Phi ");
> Ada.Text_IO.Put(Item => " - ");
> Ada.Integer_Text_IO.Put(Item => Phi, Width => 2);
> Ada.Text_IO.New_Line;
> Ada.Text_IO.Put(Item => " ");
> Ada.Text_IO.Put(Item => " Count ");
> Ada.Text_IO.Put(Item => " - ");
> Ada.Integer_Text_IO.Put(Item => Count, Width => 2);
> Ada.Text_IO.New_Line;
> Ada.Text_IO.Put(Item => " ");
> Ada.Text_IO.Put(Item => " Total ");
> Ada.Text_IO.Put(Item => " - ");
> Ada.Integer_Text_IO.Put(Item => Total, Width => 2);
> Ada.Text_IO.New_line;
> Ada.Integer_Text_IO.Put(Item => Character'Pos(Nextchar), Width => 11);
> Ada.Text_IO.Put
> (Item => " - Value in ASCII of current plaintext");
> Ada.Text_IO.New_line;
> Compute_Normal;
> Ada.Integer_Text_IO.Put(Item => Normal(1), Width => 4);
> Ada.Integer_Text_IO.Put(Item => Normal(2), Width => 8);
> Ada.Integer_Text_IO.Put(Item => Normal(3), Width => 8);
> Ada.Text_IO.Put(Item => " - Normal vector - fixed in this cipher");
> Ada.Text_IO.New_Line;
> Ada.Integer_Text_IO.Put(Item => S_1, Width => 4);
> Ada.Integer_Text_IO.Put(Item => S_2, Width => 8);
> Ada.Integer_Text_IO.Put(Item => S_3, Width => 8);
> Ada.Text_IO.Put
> (Item => " - VeeZero - fixed in this cipher");
> Ada.Text_IO.New_Line;
> Ada.Integer_Text_IO.Put(Item => T_1, Width => 4);
> Ada.Integer_Text_IO.Put(Item => T_2, Width => 8);
> Ada.Integer_Text_IO.Put(Item => T_3, Width => 8);
> Ada.Text_IO.Put
> (Item => " - VeeOne - fixed in this cipher.");
> Ada.Text_IO.New_Line;
> Compute_Normal;
> Ada.Integer_Text_IO.Put(Item => Normal(1), Width => 4);
> Ada.Integer_Text_IO.Put(Item => Normal(2), Width => 8);
> Ada.Integer_Text_IO.Put(Item => Normal(3), Width => 8);
> Ada.Text_IO.Put(Item => " - Normal vector - fixed in this cipher");
> Ada.Text_IO.New_Line;
> n :=(Character'Pos(NextChar));
> Ada.Integer_Text_IO.Put(Item => n, Width =>12);
> Ada.Text_IO.Put
> (Item => " - face value 'n' of current plaintext in ASCII");
> Ada.Text_IO.New_Line;
> n := Number(Character'Pos(NextChar)); -- renumbered by Alice
> Ada.Integer_Text_IO.Put(Item => n, Width =>12);
> Ada.Text_IO.Put
> (Item => " - rendered value of 'n'in the encryption alphabet");
> Compute_Position_Vector(Number => n);
> Ada.Text_IO.New_Line;
> Ada.Integer_Text_IO.Put(Item => Pn(1), Width => 8);
> Ada.Integer_Text_IO.Put(Item => Pn(2), Width => 8);
> Ada.Integer_Text_IO.Put(Item => Pn(3), Width => 8);
> Ada.Text_IO.Put(Item => " - Position vector ('Pn') for this 'n'. ");
> Ada.Text_IO.New_Line;
> Ada.Integer_Text_IO.Put(Item => Hash_2(Count), Width => 8);
> Ada.Integer_Text_IO.Put(Item => Hash_11(Count), Width => 8);
> Ada.Integer_Text_IO.Put(Item => Hash_12(Count), Width => 8);
> Ada.Text_IO.Put
> (Item => " - Change-of-origin vector to be given to this Pn item");
> Ada.Text_IO.New_Line;
> FOR I IN 1 .. 3 LOOP
> W(I):= Compose_CipherText_Items( Numin => I);
> Ada.Integer_Text_IO.Put(File => OutData, Item => W(I));
> END LOOP;
> Ada.Integer_Text_IO.Put( Item => W(1), Width => 9);
> Ada.Integer_Text_IO.Put( Item => W(2), Width => 8);
> Ada.Integer_Text_IO.Put( Item => W(3), Width => 8);
> Ada.Text_IO.Put(Item =>" - Ciphertext for this item of plaintext");
> Q:= W(1)REM 1000000;
> I_Num(Q) := I_Num(Q)+1;
> -- Q:= W(2)REM 1000000;
> -- I_Num(Q) := I_Num(Q)+1;
> -- Q:= W(3)REM 1000000;
> -- I_Num(Q) := I_Num(Q)+1;
> -- Ada.Text_IO.New_Line;
> -- Ada.Integer_Text_IO.Put(Item => AllTold, Width =>4);
> -- Ada.Integer_Text_IO.Put(Item => Total, Width =>8);
> -- Ada.Integer_Text_IO.Put(Item => InToto, Width =>8);
> -- Ada.Text_IO.Put(Item => " - Compares 'AllTold','Total','InToto' integrators'");
> Line_Number:= Line_Number+1;
> Ada.Text_IO.New_Line(1);
> Ada.Text_IO.Put(Item => " - Character number ");
> Ada.Integer_Text_IO.Put(Item => Line_Number, Width => 1);
> Ada.Text_IO.New_Line(1);
> IF Line_Number REM 12 = 0 THEN
> Ada.Text_IO.New_Line(1);
> Ada.Text_IO.Put(Item => " ");
> Ada.Text_IO.Put(Item => " # - press any key/return to continue > ");
> Ada.Text_IO.Get(Item => View);
> END IF;
> -- IF W(2)REM 1000000 = 514681 THEN --repeated number in ciphertext say
> -- Ada.Integer_Text_IO.Put (item => W(2) , Width => 20);
> -- Ada.Text_IO.Get(Item => View);
> -- END IF;
> Ada.Text_IO.New_Line;
> Ada.Text_IO.Put(Item => " ---------------------------------------------------------------------------");
> END LOOP;
> Ada.Text_IO.Close(File => Outdata);
> Time_Ex_2; -- time at end
Their is some experimental debris in there also I'm afraid - apologies for that.
next prev parent reply other threads:[~2014-11-30 13:01 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-29 13:28 Help with an errant 'IF' statement please Austin Obyrne
2014-11-29 14:03 ` gautier_niouzes
2014-11-29 15:05 ` Austin Obyrne
2014-11-29 15:45 ` Simon Clubley
2014-11-29 16:10 ` Austin Obyrne
2014-11-29 16:54 ` Dennis Lee Bieber
2014-11-30 2:16 ` Austin Obyrne
2014-11-30 11:18 ` Simon Clubley
2014-11-30 12:58 ` Austin Obyrne
2014-11-30 13:01 ` Austin Obyrne [this message]
2014-12-01 22:20 ` Stephen Leake
2014-12-02 2:57 ` Austin Obyrne
2014-11-30 13:46 ` Simon Clubley
2014-11-30 14:49 ` Austin Obyrne
2014-11-30 15:43 ` Simon Clubley
2014-11-30 19:23 ` Shark8
2014-11-30 11:56 ` Denis McMahon
2014-11-30 12:19 ` Austin Obyrne
2014-11-29 14:08 ` Simon Clubley
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox