Codierbeispiel: Beladung eines LKW.


Das folgende Codierbeispiel zeigt, wie man folgendes Problem lösen kann:

Beliebig schwere Kisten mit maximal 25 kg sollen auf LKWs mit beliebiger Ladekapazität geladen werden.


* = mehrmals ...o = optional

IDENTIFICATION DIVISION.
PROGRAM-ID. LKW-Beladung.
AUTHOR. Fabritius.

ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SPECIAL-NAMES.
	CONSOLE IS CRT,
	DECIMAL-POINT IS COMMA.

DATA DIVISION.
WORKING-STORAGE SECTION.
77 EKZ PIC X.
77 KGew PIC 9(5)v99.
77 Zuladung PIC 9(5)v99.
77 E-Zuladung PIC Z9,99.
77 Kiste PIC 99v99.
77 E-Kiste PIC Z9,99.
PROCEDURE DIVISION.
	MOVE "j" TO EKZ.
	PERFORM UNTIL EKZ = "n"
		PERFORM LKW-beladen
		DISPLAY "Nochmal (j)a (n)ein?" AT 2401
			ACCEPT EKZ AT 2430
	END-PERFORM.
	STOP RUN.

LKW-beladen.
PERFORM Gesamtgewicht-erfassen.
MOVE 0 TO KGew.
PERFORM UNTIL KGew >= Zuladung
	PERFORM Kiste-laden
END-PERFORM.
PERFORM Abschluss.

Gesamtgewicht-erfassen.
	DISPLAY SPACES.
	DISPLAY "LKW-Beladung" AT 0115.

DISPLAY "LKW-Zuladung in t:" AT 0501.
ACCEPT E-Zuladung AT 0525.
MOVE E-Zuladung TO Zuladung.
COMPUTE Zuladung = Zuladung * 1000.

Kiste-laden.
DISPLAY "Kisten-Gewicht in kg:" AT 0801.
ACCEPT E-Kiste AT 0825.
MOVE E-Kiste TO Kiste.

IF Kiste <= 25 THEN
	COMPUTE KGew = KGew + Kiste
ELSE
	DISPLAY "Kiste ist zu schwer!" AT 2401
END-IF.

Abschluss.
Autorin: Claudia Fabritius

...

... zurück