0% found this document useful (0 votes)
40 views8 pages

Worksheet - A2 - Paper 4 - Marking Scheme

Uploaded by

sameed imran
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
40 views8 pages

Worksheet - A2 - Paper 4 - Marking Scheme

Uploaded by

sameed imran
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

Computer Science 9618 – A2 – Paper 4 – Worksheet

Question No. 1 (October/November 2023 / 41 – Q1)


def IterativeVowels(Value):

Minhas Rupsi
Total = 0
LengthString = len(Value)

for x in range(0, LengthString):

FirstCharacter = Value[0:1]

if FirstCharacter == 'a' or FirstCharacter == 'e' or FirstCharacter == 'i' or


FirstCharacter == 'o' or FirstCharacter == 'u':

Total = Total + 1

Value = Value[1 : len(Value)]

return Total

print(IterativeVowels("house"))

def RecursiveVowels(Value):

if len(Value) == 0:
return 0
else:
FirstCharacter = Value[0:1]

if FirstCharacter == 'a' or FirstCharacter == 'e' or FirstCharacter == 'i' or


FirstCharacter == 'o' or FirstCharacter == 'u':
return 1 + RecursiveVowels(Value[1 : len(Value)])
else:
return RecursiveVowels(Value[1 : len(Value)])

print(RecursiveVowels("imagine"))

www.MinhasRupsi.Computer Page 1 of 8
Computer Science 9618 – A2 – Paper 4 – Worksheet
Question No. 2 (October/November 2022 / 41 – Q3)

Minhas Rupsi
#DECLARE ArrayNodes : ARRAY [0:19] OF INTEGER
ArrayNodes = [[-1,-1,-1] for x in range(20)] #Global Array

ArrayNodes = [[1, 20, 5], [2, 15, -1], [-1, 3, 3], [-1, 9, 4], [-1, 10, -1],
[-1, 58, -1], [-1, -1, -1]]

FreeNode = 6
RootPointer = 0

def SearchValue(Root, ValueToFind):

global ArrayNodes, RootPointer, FreeNode

if Root == -1:
return -1
else:
if ArrayNodes[Root][1] == ValueToFind:
return Root
else:
if ArrayNodes[Root][1] == -1:
return -1

if ArrayNodes[Root][1] > ValueToFind:


return SearchValue(ArrayNodes[Root][0], ValueToFind)

if ArrayNodes[Root][1] < ValueToFind:


return SearchValue(ArrayNodes[Root][2], ValueToFind)

def PostOrder(Root):
global ArrayNodes

if ArrayNodes[Root][0] != -1:
PostOrder(ArrayNodes[Root][0])

if ArrayNodes[Root][2] != -1:
PostOrder(ArrayNodes[Root][2])

print(ArrayNodes[Root][1])

x = SearchValue(0,15)

if x == -1:
print("Value not found...")
else:
print("Value found at", x)

PostOrder(0)

www.MinhasRupsi.Computer Page 2 of 8
Computer Science 9618 – A2 – Paper 4 – Worksheet
Question No. 3 (October/November 2023 / 42 – Q3)
import datetime

Minhas Rupsi
class Character:

def __init__(self, cn, dob, inte, spe):

#PRIVATE CharacterName : STRING


#PRIVATE DateOfBirth : DATE
#PRIVATE Intelligence : REAL
#PRIVATE Speed : INTEGER

self.__CharacterName = cn
self.__DateOfBirth = dob
self.__Intelligence = inte
self.__Speed = spe

def GetIntelligence(self):
return self.__Intelligence

def GetName(self):
return self.__CharacterName

def SetIntelligence(self, inte):


self.__Intelligence = inte

def Learn(self):
self.__Intelligence = self.__Intelligence + (self.__Intelligence * 10/100)

def ReturnAge(self):

return 2023 - self.__DateOfBirth.year

FirstCharacter = Character("Royal", datetime.date(2019,1,1), 70, 30)

FirstCharacter.Learn()
print("Name: ", FirstCharacter.GetName())
print("Age: ", FirstCharacter.ReturnAge())
print("Intelligence: ", FirstCharacter.GetIntelligence())

www.MinhasRupsi.Computer Page 3 of 8
Computer Science 9618 – A2 – Paper 4 – Worksheet
class MagicCharacter(Character):

Minhas Rupsi
def __init__(self, ele, cn, dob, inte, spe):
super().__init__(cn, dob, inte, spe)

#PRIVATE Element : STRING

self.__Element = ele

def Learn(self):

if self.__Element == "fire" or self.__Element == "water":


self.SetIntelligence(self.GetIntelligence() * 1.2)
elif self.__Element == "earth":
self.SetIntelligence(self.GetIntelligence() * 1.3)
else:
self.SetIntelligence(self.GetIntelligence() * 1.1)

FirstMagic = MagicCharacter("fire", "Light", datetime.date(2018,3,3), 75, 22)


FirstMagic.Learn()
print("Name: ", FirstMagic.GetName())
print("Age: ", FirstMagic.ReturnAge())
print("Intelligence: ", FirstMagic.GetIntelligence())

www.MinhasRupsi.Computer Page 4 of 8
Computer Science 9618 – A2 – Paper 4 – Worksheet
Question No. 4 (May/June 2023 / 42 – Q2)
class SaleData:

Minhas Rupsi
def __init__(self, i, q):
self.id = i
self.qty = q

CircularQueue = [SaleData("", -1) for x in range(5)]


Head = 0
Tail = 0
NumberOfItems = 0

def Enqueue(NewRecord):
global CircularQueue, Head, Tail, NumberOfItems

if NumberOfItems == 5:
return -1
else:
CircularQueue[Tail] = NewRecord
NumberOfItems = NumberOfItems + 1

if Tail == 4:
Tail = 0
else:
Tail = Tail + 1

return 1

def Dequeue():
global CircularQueue, Head, Tail, NumberOfItems

RecordRemove = SaleData("", -1)

if NumberOfItems != 0:
RecordRemove = CircularQueue[Head]
NumberOfItems = NumberOfItems - 1

if Head == 4:
Head = 0
else:
Head = Head + 1

return RecordRemove

www.MinhasRupsi.Computer Page 5 of 8
Computer Science 9618 – A2 – Paper 4 – Worksheet
def EnterRecord():

Minhas Rupsi
sid = input("Enter Sales ID: ")
sqty = int(input("Enter Product Quantity: "))

NewRecord = SaleData(sid, sqty)

x = Enqueue(NewRecord)

if x == -1:
print("Full")
else:
print("Stored")

EnterRecord()
EnterRecord()
EnterRecord()
EnterRecord()
EnterRecord()
EnterRecord()
RecordRemove = Dequeue()
if RecordRemove.id == "":
print("Queue is empty...")
else:
print("ID:", RecordRemove.id)
print("Quantity:", RecordRemove.qty)
EnterRecord()

for index in range(5):


print(CircularQueue[index].id, CircularQueue[index].qty)

www.MinhasRupsi.Computer Page 6 of 8
Computer Science 9618 – A2 – Paper 4 – Worksheet
Question No. 5 (October/November 2023 / 42 – Q1)
StackVowel = [''] * 100

Minhas Rupsi
StackConsonant = [''] * 100

VowelTop = 0
ConsonantTop = 0

def PushData(Value):

global StackVowel, StackConsonant, VowelTop, ConsonantTop

if Value == 'a' or Value == 'e' or Value == 'i' or Value == 'o' or Value == 'u':

if VowelTop == 100:
print("Vowel stack is full...")
else:
StackVowel[VowelTop] = Value

VowelTop = VowelTop + 1

else:

if ConsonantTop == 100:
print("Consonant stack is full...")
else:
StackConsonant[ConsonantTop] = Value

ConsonantTop = ConsonantTop + 1

def ReadData():
try:
myFile = open("StackData.txt", "r")
info = myFile.readline().strip()
while info != "":
PushData(info)
info = myFile.readline().strip()
myFile.close()
except:
print("File not found...")

def PopVowel():

global StackVowel, VowelTop

if VowelTop == 0:
return "No data"
else:
VowelTop = VowelTop - 1
Value = StackVowel[VowelTop]
return Value

www.MinhasRupsi.Computer Page 7 of 8
Computer Science 9618 – A2 – Paper 4 – Worksheet
def PopConsonant():

Minhas Rupsi
global StackConsonant, ConsonantTop

if ConsonantTop == 0:
return "No data"
else:
ConsonantTop = ConsonantTop - 1
Value = StackConsonant[ConsonantTop]
return Value

newString = ""
ReadData()

for index in range(5):

choice = input("Enter a choice of vowel and consonant: ").lower()

if choice == "vowel":
x = PopVowel()
elif choice == "consonant":
x = PopConsonant()

newString = newString + x

print(newString)

www.MinhasRupsi.Computer Page 8 of 8

You might also like