Feladat: KSz.19 Korcsoport: 16-17 Nehézségi fok: átlagos
Megoldó(k):  Lukovszky László 
Füzet: 1986/január, 27 - 28. oldal  PDF file
Témakör(ök): Feladat
Hivatkozás(ok):Feladatok: 1984/szeptember: KSz.19

Írjunk olyan BASIC programot, amely az adatként beírt (legfeljebb 3 jegyű) természetes számok nevét magyar nyelven kiírja a képernyőre!

5 REM HT-1080Z

10 DATA SZAZ, KETSZAZ, HAROMSZAZ, NEGYSZAZ, OTSZAZ,

HATSZAZ, HETSZAZ,

NYOLCSZAZ, KILENCSZAZ, TIZ, HUSZ, HARMINC, NEGYVEN, OTVEN, HATVAN, HETVEN,

NYOLCVAN, KILENCVEN, EGY, KETTO, HAROM, NEGY, OT, HAT, HET, NYOLC, KILENC

12 CLS

15 INPUT "A SZAM:"; A: IF A>999 OR A<0 OR A<>FIX (A) THEN PRINT "NEM MEGENGEDETT ERTEK": FOR I=0 TO 1000: NEXT: GOTO 15

20 B=INT (A/100): C=INT ((A‐B*100)/10): D=A‐B*100‐C*10

25 IF B=0 THEN K=8 ELSE K=9

30 FOR E=1 TO B:READ B$:NEXT:FOR F=1 TO K‐B+C:READ C$:NEXT:FOR G=1 TO 9‐C+D: READ D$:NEXT

35 IF B=0 THEN B$=" "

40 IF C=0 THEN C$=" "

45 IF C=1 AND D>0 THEN C$="TIZEN"

50 IF C=2 AND D>0 THEN C$="HUSZON"

55 IF D=0 THEN D$=" "

60 IF A=0 THEN M$="NULLA":GOTO 70

65 M$=B$+C$+D$

70 PRINT "A SZAM NEVE"; M$

75 FOR I=1 TO 1000:NEXT:PRINT:RUN
 


Megjegyzés: Feladatunk értékvizsgálattal kezdődik (1 és 1000 közé essen, egész legyen, lásd a 15. sort). Karakteres beadásnál (INPUT A$) gondoskodni kell arról, hogy ne álljon meg hibaüzenettel p1. VAL-lal. Néhány helyen előfordult: DIM A(10) felesleges, ennyit a HT gép magától is elfoglal. Több ciklus használata a programot lassítja. Sok jó megoldás érkezett. A megoldás kulcsa: 30 adatban beadjuk a számok nevét és számítjuk a százasok, a tízesek és az egyesek számát.