IPT - A Virtual Approach IPT A Virtual Approach by Peter Whitehouse
Quick Links:
 
 
Information and Intelligent Systems Social and Ethical Implications Human Computer Interaction Software and Systems Engineering eXercise Files Course Outline and Assessment A-Z of Geeky Acronyms Terrace Work Program 2004 Sillybus FAQ = Frequently Asked Questions Help
 
 
Algorithms and Programming eXercises #8

Iteration using WHILE..DO - Solutions

1.	Procedure Tform1.getaLine;
	{gets a line of input from the user and reports the number of characters typed}
	Var	thing : string;
			tally : integer;
			temp  : string;
	Begin
		tally := 0;
		thing := inputbox('Entry','Type a letter [terminate with 0]','');
		while thing[1] <> '0' do
			begin
				inc(tally);
				thing := inputbox('Entry','Type a letter [terminate with 0]','');
			end;
		temp := 'the number of characters typed was ' + inttostr(tally);	
		showmessage(temp)
	End;

2.	Procedure Tform1.LetterTypeCounter;
	{gets line of characters, tallying number of vowels, consonants and spaces}
	Var	thing : char;
			spaces,vowels,consonants : integer;
	Begin
		tally := 0;
		thing := inputbox('Entry','Type a letter [terminate with 0]','');
		while thing <> '0' do
			if upcase(thing[1]) in [' ','A'..'Z'] then
				case upcase(thing) of
					' ' 			: 	inc(spaces);
					'A','E',
					'I','O','U'		: 	inc(vowels)
					else				inc(consonants)
				end; {case thing}
		showmessage('there were ' + inttostr(consonants) + ' consonants typed');
		showmessage('there were ' + inttostr(vowels) + ' consonants typed');
		showmessage('there were ' + inttostr(spaces) + ' consonants typed');	
	End.

3.	Program AsteriskBar;
	{prompts for number and outputs that many asterisks}
	Var	num,
			counter : byte;
	Begin
		write('How many asterisks do you want? :');
		readln(num);
		counter := 0;
		while counter <> num do
			begin
				write('*');
				inc(counter)
			end
	End.

4.	{accepts a number and reports the power of two that just exceeds the number}
	Var	num,
			temp 	: integer;
			power : byte;
	Begin
		num := inttostr(inputbox('Data Entry','What number?',0);
		power := 0;
		temp := 1
		while temp < num do
			begin
				temp := temp * 2;
				inc(power)
			end;
		showmessage('the power of 2 just exceeding '+inttostr(num)+' is '+inttostr(power))
	End;

5.	Program Conversion;
	Var I : integer;
	Begin
		I := 0;
		while i*i <= 100 do
			begin
				showmessage(inttostr(i*i));
				inc(i)
			end
	End. 
  

wonko@wonko.info
©Copyright t 1992..2017+. Edition 25.150117
wonkosite
Creative Commons License
This work is licensed under a
Creative Commons Attribution-NonCommercial-ShareAlike 2.1 Australia License
.