SOURCE CODE FOR
PARTY PROGRAM
#COMPILE EXE
#DIM ALL
FUNCTION PBMAIN () AS LONG
DIM srm AS LONG: DIM scm AS LONG
DIM i AS INTEGER: DIM np AS INTEGER: DIM y() AS INTEGER
DIM tot AS INTEGER:DIM k AS INTEGER: DIM d AS INTEGER
DIM j AS INTEGER
DIM ry AS STRING
DESKTOP GET SIZE TO srm&, scm&
CONSOLE SET SCREEN srm&/16,scm&/4
COLOR 14,1,4
CLS
startx:
CLS
FOR I%=1 TO 6:PRINT:NEXT I%
PRINT
"
THIS PROGRAM SIMULATES PEOPLE ARRIVING AT RANDOM TO A PARTY"
PRINT
PRINT
"
IT CHECKS TO SEE IF ANY TWO PEOPLE PRESENT HAVE THE SAME BIRTH DATE"
PRINT
PRINT
"
TYPE IN THE NUMBER OF PARTIES YOU WISH TO RUN THE PROGRAM FOR &
ENTER"
PRINT
PRINT
"
MAXIMUM NUMBER OF PARTIES IS 500"
PRINT:PRINT
PRINT
"
USE THE SPACE BAR TO CONTINUE THE RUN"
PRINT
"
SO THAT YOU CAN SEE INDIVIDUAL PARTIES"
FOR I%=1 TO 5:?:NEXT I%
INPUT
"
TYPE IN NO. OF PARTIES ";NP%
IF NP%>500 THEN STARTX
CLS
DIM Y%(365)
TOT%=0
FOR J%=1 TO NP%
FOR I%=1 TO 365:Y%(I%)=0:NEXT I%
RANDOMIZE TIMER
FOR K%=1 TO 365
D%=RND(1)*364:IF D%=0 THEN L2
IF
Y%(D%)=1 THEN PRINT
"
PARTY NO. ";J%;" ";K%;" PEOPLE CAME IN":TOT%=TOT%+K%:GOTO L3
Y%(D%)=1
L2:
NEXT K%
L3:
WAITKEY$
NEXT J%
?:?
PRINT"
THE AVERAGE OVER ";NP%;" PARTIES WAS ";INT(TOT%/NP%);" PEOPLE"
?:?
INPUT
"
DO ANOTHER RUN? (Y/N) ";ry$: RY$=UCASE$(RY$):IF ry$="Y" GOTO
startx
END
END
FUNCTION