Type : CREATION_INTERNE
Les données des étudiants sont intégrées directement dans chaque étape DATA via l'instruction 'DATALINES', ce qui rend le script autonome.
| 1 | DATA Grades1; |
| 2 | LENGTH RESULT $12.; |
| 3 | INPUT subj 1-4 name $ 5-23 sex exam1 exam2 exam3 exam4 exam5 project finalexam; |
| 4 | actualavg = mean(exam1,exam2,exam3,exam4,exam5,project,finalexam); |
| 5 | avgscore = (exam1+exam2+exam3+exam4+exam5+project+finalexam)/7; |
| 6 | |
| 7 | IF avgscore=. THEN RESULT='Invalid'; * missing value; |
| 8 | ELSE IF avgscore >= 90 THEN RESULT='A+'; |
| 9 | ELSE IF avgscore >= 88 AND avgscore < 90 THEN RESULT='A'; |
| 10 | ELSE IF avgscore >= 86 AND avgscore < 88 THEN RESULT='B'; |
| 11 | ELSE IF avgscore >= 84 AND avgscore < 86 THEN RESULT='C'; |
| 12 | ELSE IF avgscore < 84 THEN RESULT='F'; |
| 13 | |
| 14 | DATALINES; |
| 15 | 1011 Alia Bhatt 2 100 65 83 84 99 91 96 |
| 16 | 1012 Maria Smith 1 78 82 86 . 100 95 97 |
| 17 | 1111 Thomas Jones 2 88 81 96 69 91 90 98 |
| 18 | 1121 Benedictine Arnold 2 68 82 82 89 89 93 99 |
| 19 | 1301 Trisha Gupta 1 51 69 79 59 85 64 100 |
| 20 | ; |
| 21 | RUN; |
| 1 | |
| 2 | PROC PRINT |
| 3 | DATA=Grades1; |
| 4 | var name actualavg avgscore RESULT; |
| 5 | RUN; |
| 6 |
| 1 | DATA Grades2; |
| 2 | LENGTH RESULT $12.; |
| 3 | INPUT subj 1-4 name $ 5-23 sex exam1 exam2 exam3 exam4 exam5 project finalexam; |
| 4 | actualavg = mean(exam1,exam2,exam3,exam4,exam5,project,finalexam); |
| 5 | x = (exam1+exam2+exam3+exam4+exam5+project+finalexam)/7; |
| 6 | |
| 7 | IF x=. THEN RESULT='Invalid'; * missing value; |
| 8 | ELSE IF 90<=x<=100 THEN RESULT='A+'; |
| 9 | ELSE IF 88<=x<90 THEN RESULT='A'; |
| 10 | ELSE IF 86<=x<88 THEN RESULT='B'; |
| 11 | ELSE IF 84<=x<86 THEN RESULT='C'; |
| 12 | ELSE IF 0<=x<84 THEN RESULT='F'; |
| 13 | |
| 14 | avgscore = x; |
| 15 | |
| 16 | DATALINES; |
| 17 | 1011 Alia Bhatt 2 100 65 83 84 99 91 96 |
| 18 | 1012 Maria Smith 1 78 82 86 . 100 95 97 |
| 19 | 1111 Thomas Jones 2 88 81 96 69 91 90 98 |
| 20 | 1121 Benedictine Arnold 2 68 82 82 89 89 93 99 |
| 21 | 1301 Trisha Gupta 1 51 69 79 59 85 64 100 |
| 22 | ; |
| 23 | RUN; |
| 1 | |
| 2 | PROC PRINT |
| 3 | DATA=Grades2; |
| 4 | var name actualavg avgscore RESULT; |
| 5 | RUN; |
| 6 |
| 1 | DATA Grades3; |
| 2 | INPUT subj 1-4 name $ 5-23 sex exam1 exam2 exam3 exam4 exam5 project finalexam; |
| 3 | x = round(((exam1+exam2+exam3+exam4+exam5+project+finalexam)/7),1); |
| 4 | |
| 5 | IF (exam1 |
| 6 | THEN y=x+1; |
| 7 | ELSE y=x; |
| 8 | |
| 9 | DATALINES; |
| 10 | 1011 Alia Bhatt 2 100 65 83 84 99 91 96 |
| 11 | 1012 Maria Smith 1 78 82 86 . 100 95 97 |
| 12 | 1111 Thomas Jones 2 88 81 96 69 91 90 98 |
| 13 | 1121 Benedictine Arnold 2 68 82 82 89 89 93 99 |
| 14 | 1301 Trisha Gupta 1 51 69 79 59 85 64 100 |
| 15 | ; |
| 16 | RUN; |
| 1 | |
| 2 | PROC PRINT |
| 3 | DATA=Grades3; |
| 4 | var name exam1 exam2 exam3 exam4 exam5 x y; |
| 5 | RUN; |
| 6 |