APP File
APP File
(18CSC207J)
Submitted by:
Name:
Reg No:
Branch:
Sem-IV Year-II
( 20__ - 20__ )
BONAFIDE CERTIFICATE
Submitted for university examination held on _____________ at SRM IST, NCR Campus.
Source Code:
Output:
Experiment-2
Structured Programming
Source Code:
Source Code:
# Function with no return and no parameters
result = 23
def main():
add(2,3,result)
print(get_result())
print(get_difference(3,1))
# keyword argument usage
keyword_arg(y = "a", x = "b")
variable_length(2,2,3,4,5,5,k = 5, j = 4)
def variable_length(x,*args,**kwargs):
print("The value of keyword argument x is: ",x)
print("Following are the values inside args:")
for i in args:
print("\t",i)
for k, v in kwargs.items():
print(k, '=', v)
if __name__ == "__main__":
main()
Output:
Experiment-4
Object Oriented Programming
Source Code:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
employed = None
def say_name(self):
print("My name is ", self.name, "and my employement status is:", self.employed)
class Employee(Person):
def __init__(self, name, age):
super().__init__(name, age)
self.employed = True
if __name__ == "__main__":
p1 = Person("Raj", 24)
e1 = Employee("Raju", 26)
e1.say_name()
p1.say_name()
Output:
Experiment-5
Event Driven Programming
Source Code:
from tkinter import *
obj = Tk()
obj.title("event")
obj.geometry("200x200")
def show(e):
obj.configure(background="pink")
def show1(e):
obj.configure(background="yellow")
def show2(e):
obj.configure(background="green")
b1=Button(obj,text ="click me",font=(„Times New Roman‟,20))
b1.bind("<Button-1>",show)
b1.bind("<Button-2>",show1)
b1.bind("<Button-3>",show2)
b1.pack()
obj.mainloop()
Output:
Experiment-6
Declarative Programming
Source Code:
import sqlite3
conn = sqlite3.connect('geeks2.db')
cursor = conn.cursor()
conn.commit()
conn.close()
Output:
Experiment-7
Imperative Programming
Source Code:
num=int(input("Enter an number:"))
if(num==1):
print(num," is not a prime number")
elif(num==2):
print(num,"is a prime number")
else:
for i in range(2,int(num/2)):
if(num%i==0):
flag=0
break
if(flag==1):
print(num,"is a prime number")
else:
print(num," is not a prime number")
Output:
Experiment-8
Parallel Programming
Source Code:
import multiprocessing
import time
class Process(multiprocessing.Process):
def __init__(self, id):
super(Process, self).__init__()
self.id = id
def run(self):
time.sleep(1)
print("I'm the process with id: {}".format(self.id))
if __name__ == '__main__':
p = Process(0)
p.start()
p.join()
p = Process(1)
p.start()
p.join()
Output:
Experiment-9
Structured Programming
Source Code:
import multiprocessing
import time
def square(x):
return x * x
if __name__ == '__main__':
pool = multiprocessing.Pool()
pool = multiprocessing.Pool(processes=4)
inputs = [0,1,2,3,4]
outputs = pool.map(square, inputs)
print("Input: {}".format(inputs))
print("Output: {}".format(outputs))
Output:
Experiment-10
Concurrent Programming
Source Code:
import threading
def print_cube(num):
print("Cube: {}".format(num*num*num))
def print_square(num):
print("Square: {}\n".format(num*num))
if __name__ == "__main__":
t1=threading.Thread(target=print_square,args=(10,))
t2=threading.Thread(target=print_cube,args=(10,))
t1.start()
t2.start()
t1.join()
t2.join()
print("Done!")
Output:
Experiment-11
Functional Programming
Source Code:
def pure_func(List):
New_List = []
for i in List:
New_List.append(i**2)
return New_List
Original_List = [1, 2, 3, 4]
Modified_List = pure_func(Original_List)
print("Original List:", Original_List)
print("Modified List:", Modified_List)
Output:
Experiment-12
Functional Programming
Aim: Program that will find the sum of all the elements of a list using
recursion.
Source Code:
def Sum(L, i, n, count):
if n <= i:
return count
count += L[i]
count = Sum(L, i + 1, n, count)
return count
L = [1, 2, 3, 4, 5]
count = 0
n = len(L)
print(Sum(L, 0, n, count))
Output:
Experiment -13
Logic programming
Source code :
Output
Experiment -14
Dependent Type Programming
Source code:
a = int(input("Enter First number : "))
b = int(input("Enter Second number : "))
operator = input("Enter mathematical operation : ")
flag=1
if operator == '+':
result = a + b
elif operator == '-':
result=a-b
elif operator == '*':
result=a*b
elif operator == '/':
result=a/b
elif operator == '^':
result=a**b
elif operator == '%':
result=a%b
elif operator == '//':
result=a//b
else:
print("Invalid Operation!!!")
flag=0
if flag == 1:
print(str(a)+operator+str(b)+" =",result)
OUTPUT
Experiment -15
Symbolic Programming
Source code:
Output:
Experiment-16
GUI Programming
Source Code:
import tkinter as tk
root = tk.Tk()
root.geometry("600x400")
root.title("Simple Calculator")
def add():
number1 = int(entry_one.get())
number2 = int(entry_two.get())
label_answer.config(text = str(number1+number2))
def sub():
number1 = int(entry_one.get())
number2 = int(entry_two.get())
label_answer.config(text = str(number1-number2))
def mul():
pass
number1 = int(entry_one.get())
number2 = int(entry_two.get())
label_answer.config(text = str(number1*number2))
label_one.grid(row = 0, column = 0)
label_two.grid(row = 1, column = 0)
# Entry Box
entry_one = tk.Entry(root)
entry_two = tk.Entry(root)
entry_one.grid(row = 0, column =1)
entry_two.grid(row = 1, column =1)
# Buttons
button_add = tk.Button(root, text = "+", command = add)
button_sub = tk.Button(root, text = "-", command = sub)
button_mul = tk.Button(root, text = "*", command = mul)
# Answer Label
label_answer = tk.Label(root)
label_answer.grid(row = 4, column = 0)
root.mainloop()
Output:
Experiment-17
Network Programming
Source Code:
TCP Client:
import socket
try:
# Establish connection to TCP server and exchange data
tcp_client.connect((host_ip, server_port))
tcp_client.sendall(data.encode())
# Read data from the TCP server and close the connection
received = tcp_client.recv(1024)
finally:
tcp_client.close()
TCP Server:
import socketserver
class Handler_TCPServer(socketserver.BaseRequestHandler):
def handle(self):
# self.request - TCP socket connected to the client
self.data = self.request.recv(1024).strip()
print("{} sent:".format(self.client_address[0]))
print(self.data)
# just send back ACK for data arrival confirmation
self.request.sendall("ACK from TCP Server".encode())
if __name__ == "__main__":
HOST, PORT = "localhost", 9999
# Init the TCP server object, bind it to the localhost on 9999 port
tcp_server = socketserver.TCPServer((HOST, PORT),
Handler_TCPServer)
Output:
Experiment-18
Network Programming
Source Code:
UDP Client:
import socket
UDP Server:
import socket
localIP = "127.0.0.1"
localPort = 20001
bufferSize = 1024
msgFromServer = "Hello UDP Client"
bytesToSend = str.encode(msgFromServer)
Output:
Experiment-19
Automata Programming
Source Code:
dfa = DFA(
states={'q0', 'q1', 'q2'},
input_symbols={'0', '1'},
transitions={
'q0': {'0': 'q0', '1': 'q1'},
'q1': {'0': 'q0', '1': 'q2'},
'q2': {'0': 'q2', '1': 'q1'}
},
initial_state='q0',
final_states={'q1'}
)
for i in range(2):
my_input_str = input("Enter a string with 1's and 0's")
if dfa.accepts_input(my_input_str):
print('accepted')
else:
print('rejected')
Output:
Experiment-20
Automata Programming
Source Code:
for i in range(2):
my_input_str = input("Enter a string with a's and b's ")
if nfa.accepts_input(my_input_str):
print('accepted')
else:
print('rejected')
Output: