A szöveg csak Firefox böngészőben jelenik meg helyesen. Használja a fenti PDF file-ra mutató link-et a letöltésre. A programban két egymásba skatulyázott ciklust használunk az osztályzatok beolvasására, összegezésére, és a számuk meghatározására. Az A(I) változóban gyűjtjük az I-edik tanuló jegyeinek az összegét, A1(I)-ben a jegyek számát. (J)-ben gyűjtjük a J-edik tantárgy jegyeinek összegét, B1(J)-ben a jegyek számát. A kiíratáskor végezzük el a tulajdonképpeni átlagszámítást. Nem építettük be a programba a jegyek vizsgálatát, mert ez azok begépelésével könnyen elvégezhető. Vizsgálatot az osztások előtt sem végeztünk, mert feltételezhető, hogy tanulónként és tantárgyanként legalább egy jegy van. Az osztályzatokat DATA adatmezőbe helyezhetjük el az 50-es sorszámmal kezdve. Erre a célra nem érdemes az INPUT utasítást használni, mert az hosszadalmasabb. A program a kiíratási formátum miatt legfeljebb 14 tantárgy esetén futtatható. A tanulók számát csak a tárkapacitás korlátozza. Abban az esetben, ha 40-nél több tanuló van, a 80-as sorszámú DIM utasítást meg kell változtatni. A program BASIC nyelvű listája és egy futtatás outputja a következő:
LIST
10 REM KOMAL ‐ SZ.1. FELADAT 20 PRINT" TANULOI ES TANTARGYI ATLAG SZAMITAS " 30 REM KESZITETTE: CSOTAI JANOS 1. C. 40 REM MISKOLC, FOLDES FERENC GIMNÁZIUM 50 REM 1981. NOVEMBER. 14. 60 PRINT 70 REM ADATOK BEOLVASASA, OSSZEGZES, SZAMLALAS 80 DIM X(40, 14), A(40), A1(40), B(14), B1(14) 90 PRINT "TANULOK SZAMA (MAX. 40)''; 100 INPUT N 110 PRINT "TANTARGYAK SZAMA(MAX.14)"; 120 INPUT M 130 FOR I=1 TO N 140 FOR J=1 TO M 150 READ X(I,J), 160 IF X(I,J)=0 THEN 210 170 LET A(I)=A(I)+X(I,J) 180 LET B(J)=B(J)+X(I,J) 190 LET A1(I)=A1(I)+1 200 LET B1(J)=B1(J)+1 210 NEXT J 220 NEXT I 230 REM KIIRATAS 240 FOR J=1 TO M 250 PRINT TAB(J4);J;"."; 260 NEXT J 270 PRINT 280 PRINT 290 FOR 1=1 TO N 300 PRINT I;""; 310 FOR J=1 TO M 320 PRINT TAB(J4);X(I,J); 330 NEXT J 340 PRINT FIX(A(I)/A1(I)100+5)/100 350 NEXT I 360 FOR J=1 TO M 370 PRINT TAB(4J); FIX(B(J)/B1(J)10+5)/10; 380 NEXT J 390 STOP 500 REM OSZTALYZATOK 501 DATA 2,3,4,0,5,3,4 502 DATA 5,4,0,4,3,0,2 503 DATA 2,5,4,3,4,0,5 504 DATA 3,0,2,3,4,5,5 1000 END
READY
RUN
TANULOI ES TANTARGYI ATLAG SZAMITAS TANULOK SZAMA (MAX. 40)? 4 TANTARGYAK SZAMA (MAX. 14)? 7
READY
Csótai János (Miskolc, Földes F. Gimn., I. o. t.)
|