SECOND.PAS 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. PROGRAM second;
  2. (* Program to demonstrate variable *)
  3. (* constants translation. *)
  4. TYPE Skill = (Novice, Moderate, Expert);
  5. CONST (* String constant with control characters *)
  6. Greeting = 'Hello there'^G^G;
  7. My_Name : STRING[20] = 'Turbo Translator';
  8. Version : INTEGER = 1;
  9. Sub_Version : INTEGER = 0;
  10. Programming_Skill : ARRAY[Skill] OF STRING[30] =
  11. ('New to Modula-2','Familiar','Real Pro');
  12. VAR Answer, I : INTEGER;
  13. Your_Name : STRING[30];
  14. Skill_Index : Skill;
  15. BEGIN
  16. WRITELN(Greeting,' I am the ',My_Name); WRITELN;
  17. WRITELN('This is version ',Version,'.',Sub_Version);
  18. WRITELN; WRITE('What is your name? ');
  19. READLN(Your_Name); WRITELN;
  20. WRITELN('Hello ',Your_Name,', are you ');
  21. WRITELN;
  22. I := 1;
  23. FOR Skill_Index := Novice TO Expert DO BEGIN
  24. WRITELN(I,')',Programming_Skill[Skill_Index]);
  25. I := I + 1;
  26. END;
  27. REPEAT
  28. WRITELN;
  29. WRITE('Select by number ');
  30. READLN(Answer);
  31. UNTIL (Answer > 0) AND (Answer < 4);
  32. WRITELN; WRITELN;
  33. WRITE('Very good ',Your_Name,'.');
  34. IF Answer < 3 THEN WRITELN(' I hope you become a real pro!')
  35. ELSE WRITELN(' It is so nice to meet a pro!');
  36. WRITELN; WRITELN;
  37. END.
  38.