diff options
-rw-r--r-- | .vscode/settings.json | 3 | ||||
-rw-r--r-- | 9618-42-mj-2022/Question1_J22.py | 46 | ||||
-rw-r--r-- | 9618-42-mj-2022/Question2_J22.py | 45 | ||||
-rw-r--r-- | notebooks/theory_ai.ipynb | 10 |
4 files changed, 104 insertions, 0 deletions
diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..027b61a --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "remote.autoForwardPortsFallback": 0 +}
\ No newline at end of file diff --git a/9618-42-mj-2022/Question1_J22.py b/9618-42-mj-2022/Question1_J22.py new file mode 100644 index 0000000..3b8e5c5 --- /dev/null +++ b/9618-42-mj-2022/Question1_J22.py @@ -0,0 +1,46 @@ +#1a +StackData = [None for i in range(10)] # global variable because defined in the main script execution context. +StackPointer = 0 # global variable because defined in the main script execution context. + +#1b +def OutputAllElements(): + global StackData + global StackPointer + for dataItem in StackData: + print(dataItem) + print(f"Stack pointer: {StackPointer}") + +#1c +def Push(push_item: int): + global StackData + global StackPointer + if StackPointer == len(StackData): + return False + StackData[StackPointer] = push_item + StackPointer += 1 + return True +# 1 e i +def Pop(): + global StackData + global StackPointer + if StackPointer == 0: + return -1 + StackPointer -= 1 + item = StackData[StackPointer] + StackData[StackPointer] = None + return item + +#1d +for i in range(11): + num = int(input(f"Number {i}: ")) + successful = Push(num) + if successful: + print("Successfully pushed the item to the stack.") + else: + print("The stack is full.") +print(StackData) + +# 1 e ii +Pop() +Pop() +print(StackData)
\ No newline at end of file diff --git a/9618-42-mj-2022/Question2_J22.py b/9618-42-mj-2022/Question2_J22.py new file mode 100644 index 0000000..17db560 --- /dev/null +++ b/9618-42-mj-2022/Question2_J22.py @@ -0,0 +1,45 @@ +# 2 a +import random +ArrayData = [] +for i in range(10): + Row = [] + for j in range(10): + Row.append(random.randint(1, 100)) + ArrayData.append(Row) + +# 2 b i +ArrayLength = 10 +for x in range(0, ArrayLength): # range() function excludes ArrayLength, so equiv to 0 -> ArrayLength - 1 + for y in range(0, ArrayLength - 1): # range() function excludes ArrayLength, so equiv to 0 -> ArrayLength - 2 + for z in range(0, ArrayLength - y - 1): + if ArrayData[x][z] > ArrayData[x][z+1]: + # swapping + tempValue = ArrayData[x][z] + ArrayData[x][z] = ArrayData[x][z+1] + ArrayData[x][z+1] = tempValue + +# 2 b ii +def OutputAllElements(): + global ArrayData + global ArrayLength + for i in range(0, ArrayLength): + for j in range(0, ArrayLength): + print(ArrayData[i][j], end=" ") + print() +# 2 b iii +OutputAllElements() + +# 2 c i +def BinarySearch(SearchArray: list, Lower: int, Upper: int, SearchValue: int) -> int: + if Upper >= Lower: + Mid = (Lower + (Upper - 1)) // 2 + if SearchArray[0][Mid] == SearchValue: + return Mid + else: + if SearchArray[0][Mid] > SearchValue: + return BinarySearch(SearchArray, Lower, Mid - 1, SearchValue) + else: + return BinarySearch(SearchArray, Mid + 1, Upper, SearchValue) + return -1 + +BinarySearch(ArrayData,)
\ No newline at end of file diff --git a/notebooks/theory_ai.ipynb b/notebooks/theory_ai.ipynb index 49307e7..68e9428 100644 --- a/notebooks/theory_ai.ipynb +++ b/notebooks/theory_ai.ipynb @@ -23,6 +23,16 @@ "- results compared with expected output.\n", "- model is run with unlabelled data" ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Deep learning\n", + "- machines that think in a way similar to the human brain. They handle huge amounts of data using artificial neural networks.\n", + "## Artificial neural networks\n", + "- networks of interconnected nodes." + ] } ], "metadata": { |