#first problem
def converttobinary(integer):
    #converting to binary by scratch
    i=0
    string=""
    integer=str(integer)
    while(i<len(str(integer))): # going through each character and adding the binary of it to a string
        if(i=="0"):
            string+="0000"
        elif(i=="1"):
            string+="0001"
        elif(i=="2"):
            string+="0010"
        elif(i=="3"):
            string+="0011"
        elif(i=="4"):
            string+="0100"
        elif(i=="5"):
            string+="0101"
        elif(i=="6"):
            string+="0110"
        elif(i=="7"):
            string+="0111"
        elif(i=="8"):
            string+="1000"
        elif(i=="9"):
            string+="1001"
    return string

#second problem
def summationfunction(a,b):
    return a+b

Notes

-A procedure is a named group of programming instructions, which can have parameters and return values. In Python, procedures are referred to as functions or methods.
-Parameters are input values for a procedure, and arguments specify the values of the parameters when the procedure is called.
-When a procedure is called, it interrupts the sequential execution of statements and executes the statements within the procedure before returning control to the point immediately following the procedure call.
-Procedures allow you to reuse a set of instructions without rewriting them in your code.
-Procedures are an example of abstraction, specifically procedural abstraction.
-Abstraction allows you to call a procedure without knowing how it works, making it easier to solve complex problems based on smaller sub-problems.
Procedures help simplify code and improve readability by breaking it into smaller, reusable parts.