Uploaded by lurvin.moha

Pre Release OCT 2022 Boyjonauth vb pseudocode-1

advertisement
Pre Release Material Oct 2022
Worked Out Solution
Prepared by K Boyjonauth
Visual Basic programming Version (pseudocode on page 4)
Sub Main()
'task1
'Data structures
Dim name(280) As String 'name of visitor
Dim licensenum(280) As String ' license no of car
Dim daybooked(14) As Integer ' total booked for that day
'initialisation
For i = 1 To 14
daybooked(i) = 0
Next i
'constants
Const daymax = 14 ' the total no of days to book
Const parkmax = 20 ' max parking per day
Dim choice As Char
Dim daychosen, newparkno As Integer
Dim chosenpark As Integer
'input day of booking with validations
Do
Do
Console.WriteLine("Parking Booking System")
Console.WriteLine("Enter the day of booking")
daychosen = Console.ReadLine
If daychosen < 1 Or daychosen > daymax Then
Console.WriteLine("Invalid day number")
End If
Loop Until daychosen >= 1 And daychosen <= daymax
If daybooked(daychosen) >= parkmax Then
Console.WriteLine("Parking full")
Else
newparkno = daybooked(daychosen) + 1
Console.WriteLine("New Parking space allocated is: " & newparkno)
chosenpark = (daychosen - 1) * parkmax + daybooked(daychosen) + 1
Console.WriteLine("Enter The name of visitor:")
name(chosenpark) = Console.ReadLine
Console.WriteLine("Enter the license Number of Vehicle:")
licensenum(chosenpark) = Console.ReadLine
daybooked(daychosen) = daybooked(daychosen) + 1
End If
Console.WriteLine("Do you want to continue?")
choice = Console.ReadLine
Loop Until choice = "n"
Console.WriteLine("Do you want to delete all data of two week period?")
choice = Console.ReadLine
If choice = "y" Then
For i = 1 To daymax
daybooked(i) = 0
Next
For i = 1 To 280
name(i) = ""
licensenum(i) = ""
Next i
Console.WriteLine("All records deleted and reset successfully")
End If
Computer Science 2210
O Level
Paper 2
Pre Release Material Oct 2022
Worked Out Solution
Prepared by K Boyjonauth
End Sub
Sub Main()
'task2
Const parkmax = 20
Const generalmax = 15
Const daymax = 14
Dim name(280) As String
Dim licensenum(280) As String
Dim countgeneral(14) As Integer
Dim countaccessible(14) As Integer
Dim daycount, selectday, chosenpark, newparkno As Integer
Dim choice, choiceaccess As Char
'initialisation
For daycount = 1 To daymax
countgeneral(daycount) = 0
countaccessible(daycount) = 0
Next daycount
'input and choice of parking
Do
Console.WriteLine("Parking Booking System")
Do
Console.WriteLine("Enter the day number selected")
selectday = Console.ReadLine
Loop Until selectday >= 1 And selectday <= daymax
Console.WriteLine("Do you want to Accessible parkings or General
parkings")
Console.WriteLine("Press a for accessible or g for general parkings")
choiceaccess = Console.ReadLine
If choiceaccess = "g" Then
If countgeneral(selectday) < generalmax Then
chosenpark = ((selectday - 1) * parkmax) +
countgeneral(selectday) + 1
Console.WriteLine("Enter your Name")
name(chosenpark) = Console.ReadLine
Console.WriteLine("Enter the license Plate Number")
licensenum(chosenpark) = Console.ReadLine
newparkno = parkmax - countgeneral(selectday)
Console.WriteLine("Allocated Parking: " & newparkno)
countgeneral(selectday) = countgeneral(selectday) + 1
Else
Console.WriteLine("General parking booked")
End If
ElseIf choiceaccess = "a" Then
If countaccessible(selectday) < parkmax Then
chosenpark = ((selectday - 1) * parkmax) +
countaccessible(selectday) + 1
Console.WriteLine("Enter your Name")
name(chosenpark) = Console.ReadLine
Console.WriteLine("Enter the license Plate Number")
licensenum(chosenpark) = Console.ReadLine
countaccessible(selectday) = countaccessible(selectday) + 1
newparkno = countaccessible(selectday)
Console.WriteLine("Allocated Parking: " & newparkno)
End If
End If
Console.WriteLine("Do you want to continue:")
choice = Console.ReadLine
Computer Science 2210
O Level
Paper 2
Pre Release Material Oct 2022
Worked Out Solution
Prepared by K Boyjonauth
Loop Until choice = "n"
'task 3
Dim totalgeneral, totalaccess, totalparking As Integer
totalaccess = totalgeneral = totalparking = 0
Console.WriteLine("Enter the day on which statistics is to be generated")
selectday = Console.ReadLine
Console.WriteLine("Total Number of Accesible parking: " &
countaccessible(selectday))
Console.WriteLine("Total Number of General parking: " &
countgeneral(selectday))
Console.WriteLine("Total Number of parking: " & countaccessible(selectday) +
countgeneral(selectday))
For daycount = 1 To daymax
totalaccess = totalaccess + countaccessible(daycount)
totalgeneral = totalgeneral + countgeneral(daycount)
Next daycount
totalparking = totalaccess + totalgeneral
Console.WriteLine("Total Number of Accessible Parking for 14 days: " &
totalaccess)
Console.WriteLine("Total Number of General Parking for 14 days: " &
totalgeneral)
Console.WriteLine("Total number of parking booked for 14 days: " &
totalparking)
End Sub
End Module
Computer Science 2210
O Level
Paper 2
Pre Release Material Oct 2022
Worked Out Solution
Prepared by K Boyjonauth
Pseudocode Version
//program starts here
//Task1
DECLARE name:ARRAY[1:280] OF STRING
DECLARE licensenum:ARRAY[1:280] OF STRING
DECLARE daybooked:ARRAY[1:14] OF INTEGER
DECLARE index,daychosen,newparkno,chosenpark:INTEGER
DECLARE choice:CHAR
CONST daymax <-- 14
CONST parkmax <-- 20
FOR index <-- 1 to 14
daybooked[index] <-- 0
NEXT index
OUTPUT "PARKING BOOKING SYSTEM - BY MR K. BOYJONAUTH"
REPEAT
REPEAT
OUTPUT "Enter day of booking"
INPUT daychosen
IF daychosen <1 OR daychosen > daymax
THEN
OUTPUT "Invalid Day Number"
ENDIF
UNTIL daychosen >= 1 AND daychosen <=daymax
IF daybooked[daychosen] >=parkmax
THEN
OUTPUT "Parking Full"
ELSE
newparkno <-- daybooked[daychosen] + 1
OUTPUT "New parking space allocated: " & newparkno
chosenpark <-- (daychosen-1) * parkmax + daybooked(daychosen) +
1
OUTPUT "Enter Name of visitor"
INPUT Name[chosenpark]
OUTPUT "Enter lichence number of vehicle"
INPUT licensenum[chosenpark]
daybooked[daychosen] = daybooked[daychosen] + 1
ENDIF
OUTPUT "Do you want to continue? Press 'y' to continue or 'n' to stop"
INPUT choice
UNTIL choice = "n"
OUTPUT "Do you want to delete all the records of the two weeks?"
INPUT choice
IF choice = "y"
THEN
FOR index <-- 1 to 14
daybooked[index] <-- 0
NEXT index
FOR index <-- 1 to 280
name[index] <-- ""
licensenum[index] <-- ""
NEXT index
OUTPUT "All records successfully deleted"
ENDIF
Computer Science 2210
O Level
Paper 2
Pre Release Material Oct 2022
Worked Out Solution
Prepared by K Boyjonauth
//program starts here
//Task2
DECLARE name:ARRAY[1:280] OF STRING
DECLARE licensenum:ARRAY[1:280] OF STRING
DECLARE countgeneral:ARRAY[1:14] OF INTEGER
DECLARE countaccessible:ARRAY[1:14] OF INTEGER
DECLARE index,daychosen,newparkno,chosenpark:INTEGER
DECLARE choice,choiceaccess:CHAR
CONST daymax <-- 14
CONST parkmax <-- 20
CONST generalmax <-- 15
FOR index <-- 1 to 14
countgeneral[index] <-- 0
countaccessible[index] <--0
NEXT index
OUTPUT "PARKING BOOKING SYSTEM - BY MR K. BOYJONAUTH"
REPEAT
REPEAT
OUTPUT "Enter day of booking"
INPUT daychosen
IF daychosen <1 OR daychosen > daymax
THEN
OUTPUT "Invalid Day Number"
ENDIF
UNTIL daychosen >= 1 AND daychosen <=daymax
OUTPUT "Do you want Acceesible parking or General Parking?"
OUTPUT "Press 'a' for Accesible or 'g' for General Parking"
INPUT choiceaccess
if choiceaccess = "a"
THEN
IF countaccesible[daychosen] >=parkmax
THEN
OUTPUT "Accesible Parking Full"
ELSE
newparkno <-- countaccesible[daychosen] + 1
OUTPUT "New parking space allocated: " & newparkno
chosenpark <-- (daychosen-1) * parkmax +
countaccesible(daychosen) + 1
OUTPUT "Enter Name of visitor"
INPUT Name[chosenpark]
OUTPUT "Enter lichence number of vehicle"
INPUT licensenum[chosenpark]
countaccesible[daychosen] = countaccesible[daychosen] + 1
ELSEIF choiceaccess = "g"
THEN
IF countgeneral[daychosen] >=generalmax
THEN
OUTPUT "General Parking full"
ELSE
chosenpark <-- (daychosen-1) * parkmax +
countaccesible(daychosen) + 1
OUTPUT "Enter Name of visitor"
INPUT Name[chosenpark]
OUTPUT "Enter lichence number of vehicle"
INPUT licensenum[chosenpark]
Computer Science 2210
O Level
Paper 2
Pre Release Material Oct 2022
Worked Out Solution
Prepared by K Boyjonauth
newparkno = parkmax - countgeneral[daychosen]
OUTPUT "New parking space allocated: " & newparkno
ENDIF
ENDIF
OUTPUT "Do you want to continue? Press 'y' to continue or 'n' to stop"
INPUT choice
UNTIL choice = "n"
//TASK 3
DECALRE totalgeneral,totalaccess,totalparking:INTEGER
totalaccess <-- 0
totalgeneral <-- 0
REPEAT
OUTPUT "Enter day on which statistics is to be generated"
INPUT daychosen
IF daychosen <1 OR daychosen > daymax
THEN
OUTPUT "Invalid Day Number"
ENDIF
UNTIL daychosen >= 1 AND daychosen <=daymax
OUTPUT "Total number of accesible Parking: " & countaccesible[daychosen]
OUTPUT "Total number of general Parking: " & countgeneral[daychosen]
OUTPUT "Total number of parking on this day:"
&(countaccesible[daychosen]+countgeneral[daychosen]
FOR index = 1 to daymax
totalaccess <-- totalaccess + countaccesible[daycount]
totalgeneral <--totalgeneral + countgeneral[daycount]
NEXT index
totalparking <-- totalaccess + totalgeneral
OUTPUT "Total number of accessible parking for 14 days:" & totalaccess
OUTPUT "Total number of general parking for 14 days: " & totalgeneral
OUTPUT "Total number of parking spaces booked for 14 days:" & totalparking
Computer Science 2210
O Level
Paper 2
Download