Python, SQL and Pseudo Code
Python, SQL and Pseudo Code
pseudocode python
DECLARE myList : ARRAY[0:9] of INTEGER myList = [4, 2, 8, 17, 9, 3, 7, 12,
34, 21]
DECLARE upperBound : INTEGER
found ← TRUE
ENDIF
index ← index + 1
IF found
THEN
ELSE
ENDIF
binary search
pseudocode python
DECLARE myList : ARRAY[0:9] of INTEGER
List = [16, 19, 21, 27, 36, 42, 55, 67, 76]
DECLARE UB : INTEGER
max = 8
DECLARE LB : INTEGER
DECLARE index : INTEGER min = 0
DECLARE item : INTEGER
print("please input the item you want to
DECLARE found : BOOLEAN find")
upperbound ← 9
itemFind = int(input())
lowerBound ← 0
OUTPUT “please enter item to find” found = False
INPUT item
index = 0
found ← False
REPEAT while found is False and min != max:
pseudocode python
DECLARE myList : ARRAY def bubbleSort():
myList =[70,46,43,27,57,41,45,21,14]
DECLARE UB : INTEGER
top = len(myList)#9
DECLARE LB : INTEGER
swap = True
DECLARE index : INTEGER
while swap or top > 0:
DECLARE swap : BOOLEAN
swap = False
UB = 8 temp = myList[i]
myList[i] = myList[i +
LB = 0 1]
top = top - 1
FOR index = LB to top-1
print(myList)
swap ← false
bubbleSort()
IF myList > myList[index +1]
swap ← true
ENDIF
NEXT
top ← top - 1
pseudocode python
DECLARE myList : ARRAY[0:9] of INTEGER for index in range(LB+1, UB):
-key = myList[index]
DECLARE UB : INTEGER
-place = index - 1
DECLARE LB : INTEGER
-if myList[place] > key:
DECLARE index : INTEGER
--while place >= LB AND myList[index] > myList[index]
DECLARE key : BOOLEAN
---temp ← myList[place +1]
UB ← 8 ---myList[index] = temp
LB ← 0 ---index= index- 1
--myList[index + 1] = myList[index]
for index ← LB + 1 to UB:
key ← myList[index]
place ← place - 1
THEN
temp ← myList[place+1]
myList[place+1] ←
myList[place]
myList[place] ← temp
place = place - 1
ENDWHILE
myList[place + 1]
ENDIF
NEXT index
def menu():
MenuOption = 0
print("choose one option of the menu")
print("1. search in file")
print("2. add to file")
case format,
print("3. change from file")
print("delete from file")
print("-1. to exit menu")
searching in a
MenuOption = int(input())
if (MenuOption == 1):
def search():
liner file [python]
print("which user do you want to find?")
userID = input()
input(userID)
file = open("EMPLOYEE.txt" , "rt")
for x in file:
file(x.read(7))
list = ["ID" , "family name" , "first name" , "job description" , elif (MenuOption == 2):
"salary" , "office ID" , "contractor"] def Add():
print(list[1]) print("pleases enter the user ID")
print(list[2]) userID = input()
file.close("EMPLOYEE.txt") input(userID)
search()
file = open("EMPLOYEE.txt" , "rt")
elif (MenuOpption == 3):
def change():
for x in file:
print("which user do you want to edit?") file(x.read(7))
userID = input() while userID != file(x.read(7)):
input(userID) print(True)
OldFile = open("EMPLOYEE.txt" , "rt") file.close("EMPLOYEE.txt")
open(OldFile) folder = open("EMPLOYEE.txt" , "a")
for x in OldFile:
open(folder.write("EMPLOYEE.txt"))
line = file(x.read(7))
while userID == line:
input(line)
print(True) print("input the new userID")
print("what do you want to change from this user?") userID = input()
print("1. change family name") input(userID)
print("2. change the first name") line = (line + userID + ",")
print("3. change job description") print("input the family name")
print("4. change the salary") FamilyName = input()
print("5. change office ID")
input(FamilyName)
print("6. change if they are a contractor")
choice = int(input())
line = (line + FamilyName + ",")
if choice >= 7: print("input the first name")
print("please input your choice") FirstName = input()
elif choice <= 0: input(FirstName)
print("please input your choice") line = (line + FirstName + ",")
print("what is the new value?") print("input the job description")
NewValue = input()
JobDescription = input()
list = ["userID" , "family name" , "first name" , "job description"
, "salary" , "office ID" , "contractor"]
input(JobDescription)
NewFile = open("EMPLOYEE.txt" , "wt") line = (line + Job Description + ",")
for line in OldFile: print("input the salary")
NewFile.write(line.replace(list[choice] , NewValue) salary = int(input())
OldFile.close() input(salary)
NewFile.close() line = (line + salary + ",")
change()
print("input the office ID")
elif (MenuOption == 4)
def delete():
officeID = input()
userID = input() input(officeID)
input(userID) line = (line + officeID + ",")
file = open("EMPLOYEE.txt" , "rt") print("is the user a contractor")
for line in file: answer = input("yes" or "no")
if userID in file: if answer == ("yes"):
file.next() line = (line + "0")
else:
elif answer == ("no"):
NewFile = open("NewFile.txt" , "w")
print(line) in NewFile
line = (line + "-1")
file.close("EMPLOYEE.txt") elif answer != ("yes" or "no"):
remove("EMPLOYEE.txt") print("please enter yes or no")
os.rename("NewFile"): print(line)
rename("EMPLOYEE.txt") folder.close("EMPLOYEE.txt")
delete() Add()
Menu()
stack
self.item = ""
basePointer ← 1
self.stack = []
topPointer ← 0
for i in range (StackFull):
stackFull ← 10 self.stack.append(0)
#remove: [pop]
OUTPUT “stack is full, cannot push”
def pop(self):
ENDIF
if self.TopPointer == self.BasePointer - 1:
THEN self.stack[self.TopPointer] = 0
self.TopPointer = self.TopPointer - 1
OUTPUT “stack is empty< cannot pop”
def Print(self):
ELSE
for i in range (self.StackFull):
MyStack = Stack(9)
topPointer ← topPointer - 1
MyStack.Print()
ENDIF
Mypop(5)
Queue
self.queue = []
DECLARE frontPointer : INTEGER
self.FrontPointer = 0
DECLARE queueFull : INTEGER
self.Rearpointer = -1
DECLARE queueLength : INTEGER
self.QueueFull = QueueFull
frontPointer ← 1
self.QueueLength = 0
endPointer ← 0
for i in range (QueueFull):
UB ← 10 self.queue.append(0)
queueFull ← 10 def EnQueue(self, item):
queueLength ← 0 if self.QueueLength < self.QueueFull:
THEN else:
self.Rearpointer = 0
IF rearPointer < upperBound
self.QueueLength = self.QueueLength + 1
rearPointer ← rearPointer + 1
self.queue[self.Rearpointer] = item
ELSE
else:
rearPointer ← 1
it's full") print("you cannot en-queue the queue because
ENDIF
def DeQueue(self):
queueLength ← queueLength + 1
if self.QueueLength == 0:
queue[rearPointer] ← item
print("the queue is empty you cannot dequeue")
ELSE else:
OUTPUT “queue is full, cannot enqueue” item = self.queue[self.FrontPointer]
ENDIF self.queue[self.FrontPointer] = 0
IF queueLength = 0 self.FrontPointer = 0
else:
THEN
self.FrontPointer = self.FrontPointer +1
OUTPUT “queue empty, cannot dequeue”
self.QueueLength = self.QueueLength -1
ELSE
return item
item ← queue[frontPointer]
def Print(self):
IF frontPointer = UB
for i in range (self.QueueFull):
THEN print (self.queue[i])
frontPointer ← 1 MyQueue = Queue(10)
ELSE MyQueue.EnQueue(10)
ENDIF MyQueue.Print()
ENDIF
bubble sort
DECLARE myList : ARRAY[0:8] OF INTEGER #bubble sort function
UB ← 8 myList[n + 1] = temp
LB ← 0
NumberList[i + 1] = TempPosition
def BigToSmall(NumberList,number):
Swapped = False
Swapped = True
#DECALRE i as INTEGER
for i in range(0,number-1):
if NumberList[i]< NumberList[i+1]:
Swapped = False
TempPosition = NumberList[i+1]
NumberList[i] = TempPosition
self.leftPointer = -1 #its empty and its pointing at the right element self.added = True
self.rightPointer = -1 #its empty and its pointing to the left element else:
self.upPointer = -1
else:
self.checkedLeft = False
self.index = self.myTree[self.index].leftPointer #moves it to the
self.checkedRight = False next left element
class tree:
#if the item already exists
def __init__(self, itemAdd,):
elif self.myTree[self.index].Data == itemAdd:
self.oldPointer = 0 #pointer pointing at the last data
self.added = True
self.myTree = [] #binary tree
self.length = 8 #how long the binary tree can be print("this item already exists")
self.freePointer = 1 #where the next empty space is print("cannot add anymore items because the list is full")
self.found = False
#adding an item into the leaf
while self.added is False:#a loop that stops when the item is added or repeated if self.myTree[self.index].leftPointer == -1:
{the two have to be obayed otherwise }
#adding to the right pointer print("that item: ", itemFind, " was NOT found in the tree")
else:
if self.myTree[self.index].rightPointer == -1:
self.index = self.myTree[self.index].leftPointer
self.myTree[self.itemPointer].upPointer = self.index
self.myTree[self.index].rightPointer = self.itemPointer
self.added = True
else:
self.found = False
self.stop = False
self.index = 0 self.index = 0
if self.myTree[self.index].Data == itemAdd:
#[3 5 ? F]
self.myTree[self.index].checkedLeft = True
elif self.myTree[self.index].Data < itemAdd:
self.index = self.myTree[self.index].leftPointer
if self.myTree[self.index].rightPointer == -1:
else:
else:
if self.myTree[self.index].checkedRight is False:
self.myTree[self.index].checkedRight = True
self.index = self.myTree[self.index].rightPointer
#[-1 5 -1 F/T]
else:
self.index = self.myTree[self.index].upPointer
self.stop = True
def printTree(self):
for i in range(len(self.myTree)):
self.added = True
#defining my node
else:
class node():
self.backPointer = self.index
def __init__(self, itemAdd):
self.index = self.list[self.index].Pointer
self.Data = itemAdd
#deleting an item
self.Pointer = -1
def delete(self, itemDelete):
#making my class
self.deleted = False #deleted - to stop the loop
class linkedList():
self.tempPointer = 0 #temp pointer
def __init__(self, itemAdd):
self.index = self.startPointer
itemData = node(itemAdd)
while self.deleted is False:
self.list = [] #the linked list
if itemDelete == self.list[self.index].Data:
self.startPointer = 0
elif self.list[self.index].Pointer == -1:#last
self.index = self.startPointer
else: #middle
itemData = node(itemAdd)
self.tempPointer = self.list[self.index].Pointer
self.list.append(itemData)
self.list[self.backPointer ].Pointer = self.tempPointer
self.nextEmptyPointer = self.nextEmptyPointer + 1
self.list[self.index].Pointer = -1
self.itemPointer = self.nextEmptyPointer
self.deleted = True
else:
self.index = self.list[self.index].Pointer
print(self.list[self.index].Data)
self.list[self.itemPointer].Pointer = self.tempPointer
self.index = self.list[self.index].Pointer
self.added = True
print(self.list[self.index].Data)
binary search in recursion
class node:
def __init__(self):
self.data = 0
self.leftPointer = -1
self.rightPointer = -1
class tree:
def __init__(self):
self.freePointer = 0
self.rootPointer = -1
self.max = 10
self.binaryTree = [node() for i in range(self.max)]
Placed = True
else:
index = self.binaryTree[index].leftPointer
else:
if self.binaryTree[index].rightPointer == -1:
self.binaryTree[index].rightPointer = self.freePointer
self.binaryTree[self.freePointer].data = item
Placed = True
else:
index = self.binaryTree[index].rightPointer
self.freePointer += 1
def printData(self):
line = ""
leftPointer = 0
rightPointer = 0
nodeData = 0
for n in range(0, self.max):
leftPointer = self.binaryTree[n].leftPointer
nodeData = self.binaryTree[n].data
rightPointer = self.binaryTree[n].rightPointer
line += str(leftPointer) + "," + str(nodeData) + "," + str(rightPointer)
print(line)
line = ""
binary search in recursion continuation
def getRootPointer(self):
return self.rootPointer
def getBinaryTree(self):
return self.binaryTree
def inOrder(self,Pointer):
if Pointer == -1:
return
if self.binaryTree[Pointer].leftPointer != -1:
self.inOrder(self.binaryTree[Pointer].leftPointer)
print(self.binaryTree[Pointer].data)
if self.binaryTree[Pointer].rightPointer != -1:
self.inOrder(self.binaryTree[Pointer].rightPointer)
myTree = tree()
myTree.insert(15)
myTree.insert(4)
myTree.insert(27)
myTree.insert(20)
myTree.insert(2)
myTree.insert(20)
myTree.insert(25)
myTree.insert(1)
myTree.insert(3)
myTree.insert(16)
myTree.printData()
rootPointer = myTree.getRootPointer()
print("Binary Tree in order: ")
myTree.inOrder(rootPointer)
REPEAT, UNTIL - happens at least once FOR, NEXT - repeats for certain number of
REPEAT times
OUTPUT ”please enter a positive value” FOR counter ← TO 10 STEP 2
INPUT number OUTPUT counter
UNTIL number > 0 NEXT counter
data type:
BOOLEAN → true or false statement
CHAR → single alphanumeric value
DATE → value to represent date
INTEGER → whole number with positive or negative
REAL → positive or negative number with a decimal point
STRING → sequence of alphanumeric values
file modes:
READ → only reads from the file
WRITE → writes data in the file and any other data can be overwritten
APPEND → adds data to the end of the file
EOF(<file identifier>) → end of your selected file
CLOSEFILE(<file identifier>) → closes the file
to declare a statement:
DECLARE <suitable name> : <data type>
number ← 0
while number = 0 :
print(“please enter negative value”) for - repeats for certain number of times
int(input(number))
for counter in range(9):
print(counter)
data type:
class format:
bool → true or false statement
class AppleTree
class date → value to represent date[in class format]
def __init__ (self):
int → whole number with positive or negative
self.red = 0
float → positive or negative number with a decimal point
self.yellow = 0
str → sequence of alphanumeric values
subclass format:
[] → array / list
def tree1(self):
Making attribute privet:
open(“file name”,w+)append.file
Def __init__applw(self)
Self._yellow =yellow
file.readline() inheritance of class:
class kitchen:
def __init__(self, food, water):
file.append(<what you want to add>)
self._Food = food
self._Water = water
how to set a value to something: class house(kitchen):
value = value + 1 def__init__(self, food, water,
table):
super().__init__(water, food):
eof(<fthe name file.txt>) → end of your selected file
self._table = Table
close.(<the name file.txt>) → closes the file
recursion:
file modes: function(a):
readline→ only reads from the file if a = b:
w+→ writes data in the file and any other data can be overwritten return
append→ adds data to the end of the file else:
return function(a)
remember to declare things as comments
SQL
SQL maintenance commands [DML]:
INSERT INTO → adds new rows in the table
DELETE FROM → removes rows from the table
UPDATE → edits rows in the table
data types:
CHARACTER → fixed length text
VARCHAR → variable length text
BOOLEAN → true or false, SQL uses the 0’s and 1’s
REAL → number with decimal places
INTEGER → number with decimal places
DATE → a date usually formatted YYYY-MM-DD
TIME → a time format as HH:MM:SS
1. its a list containing several items in which each item in the list points to the next item in the
list
2. we can create a linked this using 2 1D arrays, one for the list of items and the other for
their pointer
3. we should be able to add and remove items
4. the empty positions in the array should be managed usually called heap
what is recursion
its basically calling a function within a function as a loop