PROGRAM ALARM (INPUT, OUTPUT);
(*  **   just for fun
    **   (SEPTEMBER 17, 2005)
    **   (compute the value of a word if each letter is worth
	  the number of cents equal to its position in the alphabet)   *)

VAR
	 value : real; 	(*the value of each letter*)
	 letter: char;
	 price : real;       (*the total value of the word*)		
	 
BEGIN (*main loop*)
 
     writeln;
     writeln('The object of this game is to find');
     writeln('words that cost exactly one dollar.');
     writeln('in cents, a = 1, b = 2, c = 3 and so on, up to z = 26');
     writeln;

     writeln('Enter the word to be priced and press enter!');
repeat
     writeln;

      while not eoln do

      begin (*not eoln subroutine*)
       read(letter);
	if (letter = 'a') or (letter = 'A')	
	then value := 0.01
	else if (letter = 'b') or (letter = 'B')	
	then value := 0.02
	else if (letter = 'c') or (letter = 'C')	
	then value := 0.03
	else if (letter = 'd') or (letter = 'D')	
	then value := 0.04
	else if (letter = 'e') or (letter = 'E')	
	then value := 0.05
	else if (letter = 'f') or (letter = 'F')	
	then value := 0.06
	else if (letter = 'g') or (letter = 'G')	
	then value := 0.07
	else if (letter = 'h') or (letter = 'H')	
	then value := 0.08
	else if (letter = 'i') or (letter = 'I')	
	then value := 0.09
	else if (letter = 'j') or (letter = 'J')	
	then value := 0.10
	else if (letter = 'k') or (letter = 'K')	
	then value := 0.11
	else if (letter = 'l') or (letter = 'L')	
	then value := 0.12
	else if (letter = 'm') or (letter = 'M')	
	then value := 0.13
	else if (letter = 'n') or (letter = 'N')	
	then value := 0.14
	else if (letter = 'o') or (letter = 'O')	
	then value := 0.15
	else if (letter = 'p') or (letter = 'P')	
	then value := 0.16
	else if (letter = 'q') or (letter = 'Q')	
	then value := 0.17
	else if (letter = 'r') or (letter = 'R')	
	then value := 0.18
	else if (letter = 's') or (letter = 'S')	
	then value := 0.19
	else if (letter = 't') or (letter = 'T')	
	then value := 0.20
	else if (letter = 'u') or (letter = 'U')	
	then value := 0.21
	else if (letter = 'v') or (letter = 'V')	
	then value := 0.22
	else if (letter = 'w') or (letter = 'W')	
	then value := 0.23
	else if (letter = 'x') or (letter = 'X')	
	then value := 0.24
	else if (letter = 'y') or (letter = 'Y')	
	then value := 0.25
	else if (letter = 'z') or (letter = 'Z')	
	then value := 0.26;
     price := (price + value);
     writeln (letter, ' is worth $', value:2:2);
     value := 0
   end; (*of eoln while loop*)

writeln;
  if price = 1.00
    then
      begin
         writeln('******** YOUR WORD COSTS ******** $', price:2:2);
         writeln('PERFECT SCORE! THAT''S EXACTLY ONE DOLLAR!');
         writeln('I''ll buy it from you!'); 
      end

  else if price < 1.00
    then 
       begin   (*of less than loop*)
          writeln('******** YOUR WORD COSTS ******** $', price:2:2);
          writeln('That''s less than $1.00.');
          writeln('Try adding more letters!');
       end      (*of less than loop*)

  else if price > 1.00
     then 
	begin (*of greater than loop*)
          writeln('******** YOUR WORD COSTS ******** $', price:2:2);
          writeln('That''s too expensive!');
          writeln('Try removing some letters!');
	  writeln;
        end;   (*of greater than loop*)
     price := 0;
writeln;
writeln('Try again! Enter another word + enter!');
read(letter);
until (letter='*')
END.   

