Take some additional notes that you would like here for 3.12 and 3.13. We will be looking for additional notes from the presentation.

ADDITIONAL NOTES:

  • New parameters and arguments give a different output
  • You call a function, define it then call it then put in your parameters
  • Insert values into a function for a certain output
  • Splice function splits up different parts of a string
  • Its a pain to rewrite code multiple times rather than defining it as a function
  • Modularity is needed for large coding projects

What are procedures?

Fill in the blanks please:

Procedure: Methods or functions

Parameters: Input values of a procedure

Arguments: Specify value of values when procedure is called

Modularity: Executing the code multiple times

Procedural Abstraction: Provides a name for a process

What are some other names for procedures?: Function

Why are procedures effective?: They can repeat a code multiple times without rewriting the entire code again You can also alter the result without channging the code

Challenge 1 below: Add the command that will call the procedure.

decimal = 8
binary = 0
ctr = 0
new = decimal 

while(new > 0):
    binary = ((new%2)*(10**ctr)) + binary
    new = int(new/2)
    ctr += 1

#output the result       
print("Binary of", decimal, " is:", binary)
Binary of 8  is: 1000

Challenge 2 below: Complete the Min and Max procedure in either JavaScript and Python using the instructions from the JavaScript page. (JavaScript will get you a extra 0.1)

const a = 30
const b = 10
if (a > b) {
    console.log("Higher")
} else {
    console.log("Lower")
}
higher

Homework/Hacks: For the hw, you have two options, easy or hard. The easy hack is for a 2.7 + extra work for the full 3. The easy hack is simply creating your own procedure with your own creativity. Since there is a lot of leeway for this one, you must do additional work to get a 3. For the hard hack, below is the start to a character to binary convertor. This is just a template, but the goal is to translate "APCSP" into binary. You can delete the existing code if you want. The only contraint is that you must use a procedure. Doing this will get you a 3.

import math

def charToBinary(x):
    l,m = [],[]
    for i in x:
        l.append(ord(i))
    for i in l:
        m.append(int(bin(i[2:])))
    return m
print(charToBinary("APCSP"))
    


# The output shown below is the output you are supposed to get

#import math
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
/home/prasithchilla/Fastpages/_notebooks/2022-12-1-notetemplate.ipynb Cell 10 in <cell line: 10>()
      <a href='vscode-notebook-cell://wsl%2Bubuntu-22.04/home/prasithchilla/Fastpages/_notebooks/2022-12-1-notetemplate.ipynb#X11sdnNjb2RlLXJlbW90ZQ%3D%3D?line=7'>8</a>         m.append(int(bin(i[2:])))
      <a href='vscode-notebook-cell://wsl%2Bubuntu-22.04/home/prasithchilla/Fastpages/_notebooks/2022-12-1-notetemplate.ipynb#X11sdnNjb2RlLXJlbW90ZQ%3D%3D?line=8'>9</a>     return m
---> <a href='vscode-notebook-cell://wsl%2Bubuntu-22.04/home/prasithchilla/Fastpages/_notebooks/2022-12-1-notetemplate.ipynb#X11sdnNjb2RlLXJlbW90ZQ%3D%3D?line=9'>10</a> print(charToBinary("APCSP"))

/home/prasithchilla/Fastpages/_notebooks/2022-12-1-notetemplate.ipynb Cell 10 in charToBinary(x)
      <a href='vscode-notebook-cell://wsl%2Bubuntu-22.04/home/prasithchilla/Fastpages/_notebooks/2022-12-1-notetemplate.ipynb#X11sdnNjb2RlLXJlbW90ZQ%3D%3D?line=5'>6</a>     l.append(ord(i))
      <a href='vscode-notebook-cell://wsl%2Bubuntu-22.04/home/prasithchilla/Fastpages/_notebooks/2022-12-1-notetemplate.ipynb#X11sdnNjb2RlLXJlbW90ZQ%3D%3D?line=6'>7</a> for i in l:
----> <a href='vscode-notebook-cell://wsl%2Bubuntu-22.04/home/prasithchilla/Fastpages/_notebooks/2022-12-1-notetemplate.ipynb#X11sdnNjb2RlLXJlbW90ZQ%3D%3D?line=7'>8</a>     m.append(int(bin(i[2:])))
      <a href='vscode-notebook-cell://wsl%2Bubuntu-22.04/home/prasithchilla/Fastpages/_notebooks/2022-12-1-notetemplate.ipynb#X11sdnNjb2RlLXJlbW90ZQ%3D%3D?line=8'>9</a> return m

TypeError: 'int' object is not subscriptable