Problem
| What letter grade did I make in my history class given the following grading scheme: | |||
|
|||
|
|||
| 100 is total possible points | |||
|
| INPUT: | THREE GRADES (exam1, exam2, final) | |
| OUTPUT: | A LETTER GRADE |
| GET GRADES COMPUTE NUMERIC GRADE (numgrade) ASSIGN LETTER GRADE (letgrade) PRINT LETTER GRADE |
| GET GRADES | ||||
|
||||
| COMPUTE NUMERIC GRADE | ||||
|
||||
| ASSIGN LETTER GRADE | ||||
|
||||
|
||||
|
||||
|
||||
|
||||
| PRINT LETTER GRADE |
| GET MAXIMUM EXAM GRADE | ||||
| IF | exam1 is greater than exam2, THEN maximum is exam1 |
|||
| OTHERWISE maximum is exam2 | ||||
| ADD FINAL GRADE | ||||
| numgrade is maximum + final | ||||
| IF (logical exp. is true) | ||
| THEN statement1 ELSE statement2 |
||
PROGRAM GRADE(INPUT,OUTPUT);
VAR
EXAM1, EXAM2, FINAL, NUMGRADE : INTEGER;
LETGRADE : CHAR;
BEGIN
READ(EXAM1,EXAM2,FINAL);
IF EXAM1 >= EXAM2
THEN NUMGRADE := EXAM1 + FINAL
ELSE NUMGRADE := EXAM2 + FINAL;
IF NUMGRADE >= 90 THEN LETGRADE := 'A'
ELSE IF NUMGRADE >= 80 THEN LETGRADE := 'B'
ELSE IF NUMGRADE >= 67 THEN LETGRADE := 'C'
ELSE IF NUMGRADE >= 55
THEN LETGRADE := 'D'
ELSE LETGRADE := 'F'
WRITELN('YOUR GRADE IS ', LETGRADE)
END.
| GET GRADES COMPUTE NUMERIC GRADE PRINT LETTER GRADE |
| IF NUMGRADE >= 90 THEN WRITE(' A') ELSE IF NUMGRADE >= 80 THEN WRITE(' B') |
|||||
| ELSE IF NUMGRADE >= 67 THEN WRITE(' C') | |||||
| ELSE IF NUMGRADE >= 55 | |||||
| THEN WRITE(' D') ELSE WRITE(' F') |
|||||
| PHYSICAL ORDER | |||||||
| LOGICAL ORDER | |||||||
| BOOLEAN EXPRESSION | |||||||
| TRUE | |||||||
| FALSE | |||||||
| IDENTIFIER | < > <= >= = not = |
IDENTIFIER | |||||
| IF BOOLEAN EXPRESSION | |||||||
| THEN statement1 | |||||||
| ELSE statement2 | |||||||
| TYPE: INTEGER & CHAR | |||||||