26.6.. Konverzije Napisati program koji izvodi dvije vrste pretvaranja: km/h u m/s i obratno. Koristiti potprograme.

Opis rješenja: Pretvaranje km/h --> m/s se izvodi dijeljenjem vrijednosti ulazne vrijednosti km/h sa 3.6 (b = a / 3.6).

Opis programa: Program je podijeljen na glavni program i potprograme. Glavni program je kratak. Potprogrami obavljaju svoje funkcije (Izbor i Pretvaranja.
Potprogrami su Izbor i Pretvaranja. Potprogram IZBOR očitava vrijednost varijable iz. Na osnovu izabrane vrijednosti IZ (1 do 3) vrši se grananje u liniji 30.
Ovo grananje se moglo izvršiti i u potprogramu IZBOR, ali je namjerno prikazano ovo rješenje. Vrijednosti varijabli iz potprograma se prenose u program i obratno.

Spisak varijabli:
iz - izbor tipa pretvaranja
a - ulazna vrijednost
b - izračunata vrijednost
da$ - ponavljanje pretvaranja

Listing programa:

REM 26011460
1 REM PRETVARANJA
10 REM Glavni program
20 GOSUB 100: REM izbor
30 IF iz = 1 THEN GOSUB 200
40 IF iz = 2 THEN GOSUB 300
50 IF iz = 3 THEN GOTO 400
60 GOTO 20
90 STOP

100 REM PP Izbor
110 CLS: PRINT TAB(10);: PRINT "Pretvaranje":
120 PRINT
130 PRINT "1. Pretvaranje km/h --> m/s"
140 PRINT "2. Pretvaranje m/s --> km/h"
150 PRINT "3. Kraj"
160 PRINT: PRINT TAB(20);: INPUT "Izbor :"; iz
170 IF iz < 1 OR iz > 3 THEN GOTO 110
180 RETURN

200 REM PP km/h --> m/s
210 CLS: PRINT TAB(10);: PRINT "Pretvaranje km/h --> m/s"
220 INPUT "Vrijednost (km/h) "; a
230 b = a / 3.6
240 PRINT a; " km/h = "; b; " m/s"
250 INPUT "Holes li jos "; da$
260 IF LEFT$(da$, 1) = "D" THEN GOTO 220
270 RETURN

300 REM PP m/s --> km/h
310 CLS: PRINT TAB(10);: PRINT "Pretvaranje m/s --> km/h"
320 INPUT "Vrijednost (m/s) "; a
330 b = a * 3.6
340 PRINT a; " m/s = "; b; " km/h"
350 INPUT "Holes li jos "; da$
360 IF LEFT$(da$, 1) = "D" THEN GOTO 320
370 RETURN

400 END

Ispis na ekranu:

Index