Uploaded by maze.stormrage

1150-1619622396900-Unit-01 Programming Assignment Reworded 2021

advertisement
Higher Nationals
Internal verification of assessment decisions – BTEC (RQF)
INTERNAL VERIFICATION – ASSESSMENT DECISIONS
Programme title
Higher National Diploma in Computing
Assessor
Internal Verifier
Unit(s)
Assignment title
Student’s name
W.A.D Samitha Lakmal
List which assessment criteria
the Assessor has awarded.
Pass
Merit
Distinction
INTERNAL VERIFIER CHECKLIST
Do the assessment criteria awarded match
those shown in the assignment brief?
Is the Pass/Merit/Distinction grade awarded
justified by the assessor’s comments on the
student work?
Has the work been assessed
accurately?
Is the feedback to the student:
Give details:
• Constructive?
• Linked to relevant assessment criteria?
• Identifying opportunities for
improved performance?
• Agreeing actions?
Does the assessment decision need
amending?
Y/N
Y/N
Y/N
Y/N
Y/N
Y/N
Y/N
Y/N
Assessor signature
Date
Internal Verifier signature
Date
Programme Leader signature (if required)
Date
Confirm action completed
Remedial action taken
Give details:
Assessor signature
Date
Internal Verifier
signature
Date
Programme Leader
signature (if required)
Date
Higher Nationals - Summative Assignment Feedback Form
Student Name/ID
W.A.D SAMITHA LAKMAL / 00127835
Unit Title
Unit 01 - Programming
1
Assessor
Assignment Number
Submission Date
Date Received 1st
submission
Re-submission Date
Date Received 2nd
submission
Assessor Feedback:
LO1. Define basic algorithms to carry out an operation and outline the process of programming an application.
Pass, Merit & Distinction Descripts
P1
M1
D1
LO2. Explain the characteristics of procedural, object-orientated and event-driven programming, conduct an analysis of a suita
Integrated Development Environment (IDE).
Pass, Merit & Distinction Descripts
P2
M2
D2
M3
D3
LO3. Implement basic algorithms in code using an IDE.
Pass, Merit & Distinction Descripts
P3
LO4. Determine the debugging process and explain the importance of a coding standard.
Pass, Merit & Distinction Descripts
Grade:
P4
P5
M4
Assessor Signature:
Date:
Assessor Signature:
Date:
D4
Resubmission Feedback:
Grade:
Internal Verifier’s Comments:
Signature & Date:
* Please note that grade decisions are provisional. They are only confirmed once internal and external moderation has taken place and
grades decisions have been agreed at the assessment board.
Assignment Feedback
Formative Feedback: Assessor to Student
Action Plan
Summative feedback
Feedback: Student to Assessor
Assessor
signature
Date
Student
signature
Date
Pearson Higher Nationals in
Computing
Unit 01: Programming
Assignment 01
General Guidelines
1. A Cover page or title page – You should always attach a title page to your assignment.
Use previous page as your cover sheet and make sure all the details are accurately filled.
2. Attach this brief as the first section of your assignment.
3. All the assignments should be prepared using a word processing software.
4. All the assignments should be printed on A4 sized papers. Use single side printing.
5. Allow 1” for top, bottom , right margins and 1.25” for the left margin of each page.
Word Processing Rules
1.
2.
3.
4.
The font size should be 12 point, and should be in the style of Time New Roman.
Use 1.5 line spacing. Left justify all paragraphs.
Ensure that all the headings are consistent in terms of the font size and font style.
Use footer function in the word processor to insert Your Name, Subject, Assignment No,
and Page Number on each page. This is useful if individual sheets become detached for any
reason.
5. Use word processing application spell check and grammar check function to help editing
your assignment.
Important Points:
1. It is strictly prohibited to use textboxes to add texts in the assignments, except for the
compulsory information. eg: Figures, tables of comparison etc. Adding text boxes in the body
except for the before mentioned compulsory information will result in rejection of your
work.
2. Carefully check the hand in date and the instructions given in the assignment. Late
submissions will not be accepted.
3. Ensure that you give yourself enough time to complete the assignment by the due date.
4. Excuses of any nature will not be accepted for failure to hand in the work on time.
5. You must take responsibility for managing your own time effectively.
6. If you are unable to hand in your assignment on time and have valid reasons such as illness,
you may apply (in writing) for an extension.
7. Failure to achieve at least PASS criteria will result in a REFERRAL grade .
8. Non-submission of work without valid reasons will lead to an automatic RE FERRAL. You will
then be asked to complete an alternative assignment.
9. If you use other people’s work or ideas in your assignment, reference them properly using
HARVARD referencing system to avoid plagiarism. You have to provide both in-text citation
and a reference list.
10. If you are proven to be guilty of plagiarism or any academic misconduct, your grade could be
reduced to A REFERRAL or at worst you could be expelled from the course
Student Declaration
I hereby, declare that I know what plagiarism entails, namely to use another’s work and to present
it as my own without attributing the sources in the correct way. I further understand what it means
to copy another’s work.
1. I know that plagiarism is a punishable offence because it constitutes theft.
2. I understand the plagiarism and copying policy of the Edexcel UK.
3. I know what the consequences will be if I plagiaries or copy another’s work in any of the
assignments for this program.
4. I declare therefore that all work presented by me for every aspects of my program, will be
my own, and where I have made use of another’s work, I will attribute the source in the
correct way.
5. I acknowledge that the attachment of this document signed or not, constitutes a binding
agreement between myself and Edexcel UK.
6. I understand that my assignment will not be considered as submitted if this document is not
attached to the attached.
Student’s Signature:
(Provide E-mail ID)
Date:
(Provide Submission Date)
Higher National Diploma in Computing
Assignment Brief
Student Name /ID Number
Unit Number and Title
Unit 01: Programming
Academic Year
2021/22
Unit Tutor
Assignment Title
Design &Implement a GUI based system using a suitable
Integrated Development Environment
Issue Date
Submission Date
IV Name & Date
Submission Format
This submission will have 3 components
1. Written Report
This submission is in the form of an individual written report. This should be written in a concise, formal
business style using single spacing and font size 12. You are required to make use of headings, paragraphs
and subsections as appropriate, and all work must be supported with research and referenced using the
Harvard referencing system. Please also provide a bibliography using the Harvard referencing system. (The
recommended word count is 1,500–2,000 words for the report excluding annexures)
2. Implemented System (Software)
The student should submit a GUI based system developed using an IDE. The system should connect with a
backend database and should have at least 5 different forms and suitable functionality including insert,
edit and delete of main entities and transaction processing.
3. Presentation
With the submitted system student should do a presentation to demonstrate the system that was
developed. Time allocated is 10 to 15 min. Student may use 5 to 10 PowerPoint slides while doing the
presentation, but live demonstration of the system is required. Evaluator will also check the ability to
modify and debug the system using the IDE.
Unit Learning Outcomes:
LO1. Define basic algorithms to carry out an operation and outline the process of
programming an application.
LO2. Explain the characteristics of procedural, object-orientated and event-driven
programming, conduct an analysis of a suitable Integrated Development
Environment (IDE).
LO3. Implement basic algorithms in code using an IDE.
LO4. Determine the debugging process and explain the importance of a coding
standard
Assignment Brief and Guidance:
Activity 1
A. The Fibonacci numbers are the numbers in the following integer sequence.
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ……..
In mathematical terms, the sequence Fn of Fibonacci numbers is defined by the recurrence
relation.
Fn = F n-1 + F n-2
B. Factorial of a non-negative integer, is multiplication of all integers smaller than or equal
to n. For example, factorial of 6 is 6*5*4*3*2*1 which is 720.
n! = n * (n - 1) * …….. 1
Define what an algorithm is and outline the characteristics of a good algorithm. Write the
algorithms to display the Fibonacci series and the factorial value for a given number using
Pseudo code. Determine the steps involved in the process of writing and executing a
program.
Take a sample number and dry run the above two algorithms. Show the outputs at the end
of each iteration and the final output. Examine what Big-O notation is and explain its role in
evaluating efficiencies of algorithms. Write the Python program code for the above two
algorithms and critically evaluate their efficiencies using Big-O notation.
Activity 2
2.1
Explain what is meant by a Programming Paradigm and the main characteristics
of Procedural, Object oriented and Event-driven paradigms and the relationships
among them. Write small snippets of code as example for the above three
programming paradigms using a suitable programming language(s). you also need to
critically evaluate the code samples that you have given above in relation to their
structure and the unique characteristics.
Activity 3 and Activity 4 are based on the following Scenario.
Ayubo Drive is the transport arm of Ayubo Leisure (Pvt) Ltd, an emerging travel & tour
company in Sri Lanka. It owns a fleet of vehicles ranging from cars, SUVs to vans.
The vehicles that it owns are hired or rented with or without a driver. The tariffs are based on
the vehicle type. Some of the vehicle types that it operates are, small car, sedan car, SVUs, Jeep
(WD), 7-seater van and Commuter van. New vehicle types are to be added in the future.
Vehicle rent and hire options are described below.
1. Rent (With or without driver) – For each type of vehicle rates are given per day, per week
and per month. Rate for a driver also given per day. Depending on the rent period the total
rent amount needs to be calculated. For example: if a vehicle is rented for 10 days with a
driver, total amount to be calculated as follows:
Total rent = weeklyRent x 1 + dailyRent x 3 + dailyDriverCost x 10
2. Hire (with driver only) – These are based on packages such as airport drop, airport pickup,
100km per day package, 200km per day package etc. Standard rates are defined for a
package type of a vehicle typeif that is applicable for that type of vehicle.For each package
maximum km limit and maximum number of hours arealso defined. Extra km rate is also
defined which is applicable if they run beyond the allocated km limit for the tour. For day
tours if they exceed max hour limit,a waiting charge is applicable for extra hours. Driver
overnight rate and vehicle night park rate also defined which is applicable for each night
when the vehicle is hired for 2 or more days.
Activity 3
Function 1: Rent calculation.
Return the total rent_value when vehicle_no, rented_date, return_date, with_driver
parameters are sent in. with_driver parameter is set to true or false depending whether the
vehicle is rented with or without driver.
Function 2: Day tour - hire calculation.
Calculate total hire_value when vehicle_no, package_type, start_time, end_time,
start_km_reading, end_km_reading parameters are sent in. Should return base_hire_charge,
waiting_charge and extra_km_charge as output parameters.
Function 3: Long tour - hire calculation.
Calculate total hire_value when vehicle_no, package_type, start_date, end_date,
start_km_reading, end_km_reading parameters are sent in. Should return base_hire_charge,
overnight_stay_charge and extra_km_charge as output parameters.
Write suable algorithms for vehicle tariff calculation for rents and hires. Ideally 3
functions should be developed for this purpose as above. Use the visual studio IDE
(using C#.net) to Implement the above algorithms and design the suitable database
structure for keeping the tariffs for vehicle types and different packages which must be
used for implementing the above functions.
Analyze the features of an Integrated Development Environment (IDE) and explain how
those features help in application development. Evaluate the use of the Visual
StudioIDE for your application development contrasted with not using an IDE.
Activity 4
4.1 Design and build a small system to calculate vehicle hire amounts and record them in a
database for customer billing and management reporting forAyubo drive. This includes the
completing the database design started in 3.2 and implementing one or more GUIs for
vehicle, vehicle type, and package add/edit/delete functions. It essentially requires an
interface for hire calculation and recording function described above. Generating customer
reports and customer invoices are not required for this course work.
4.2 Explain debugging process and the features available in Visual studio IDE for debugging
your code more easily. Evaluate how you used the debugging process to develop more
secure, robust application with examples.
4.3 Outline the coding standards you have used in your application development. Critically
evaluate why a coding standard is necessary for the team as well as for the individual.
Grading Rubric
Grading Criteria
LO1 Define basic algorithms to carry out an operation
and outline the process of programming an
application.
P1Provide a definition of what an algorithm is and outline
the process in building an application.
M1Determine the steps taken from writing code to
execution.
D1 Evaluate the implementation of an algorithm in a suitable
language. Evaluate the relationship between the written
algorithm and the code variant
Achieved
Feedback
LO2 Explain the characteristics of procedural,
objectorientated and event-driven programming,
conduct an analysis of a suitable Integrated
Development Environment (IDE)
P2Give explanations of what procedural, objectorientated,
and eventdriven paradigms are; their characteristics and the
relationship between them.
M2 Compare and contrast the procedural, object
orientated and event driven paradigms used in given
source code of an application
D2Critically evaluate the source code of an application which
implements the programming paradigms, in terms of the
code structure and characteristics.
LO3Implement basic algorithms in code using an IDE.
P3Write a program that implements an algorithm using an
IDE.
M3Use the IDE to manage the development process of the
program.
D3Evaluate the use of an IDE for development of
applications contrasted with not using an IDE.
LO4 Determine the debugging process and explain
the importance of a coding standard
P4Explain the debugging process and explain the debugging
facilities available in the IDE.
P5Outline the coding standard you have used in your code.
M4Evaluate how the debugging process can be used to
help develop more secure, robust applications.
D4 Critically evaluate why a coding standard is necessary in
a team as well as for the individual.
Activity 1- Define basic algorithms to carry out an operation and
outline the process of programming an application.
Algorithm
According to (Bullinaria, 2019) an algorithm designed for a specific task can be described as
a finite series of instructions, each of which has a distinct meaning and can be completed in
a finite period of time with a finite amount of effort. As a result, an algorithm must be
accurate enough for humans to understand. Further (Gillis, 2022) suggests that algorithms
can be classified into various categories such as natural languages, programming
languages, pseudocode, flowcharts and control tables. Natural language expressions are
rare, as they are more complex. Programming languages are normally used for expressing
algorithms executed by a computer.
Characteristics of an Algorithm
According to (Sondhi, 2021)a successful algorithm musty be Unambiguous which means an
algorithm is like a blueprint of an application therefore it should be clear and simple to
understand the input & output criteria must well outlined. The phases listed in an algorithm
should be countable, and it should end after a defined number of steps. Effectiveness should
be maintained in an algorithm to produce efficient results this can be achieved through Time
parameter and space parameter; Time parameter is none other than the duration for an
algorithm to process and the Space parameter refers to the storage space required by the
algorithm with reference to input criteria and lastly algorithms must be language independent
which means the deigned algorithm must work for all programming languages.
Pseudocode for Fibonacci number sequence
Start
i: integer
j: integer
k: integer
s: integer
n: integer
i=1, j=0, k=1, s=0, n=0
Input n
While i<=n
Print j
S=j + k
j=k
k=s
i=i+1
End while
Stop
Dry run for Fibonacci numbers
Input Sample number ‘N’ as 5
-While “i” is less than or equal to N
-J will be printed as 0
-S will be J plus K which is 1
-Then J will be equal to K new J value will be 1
-K will be equal to S value of K will be 1
-The counter will increment i is equal to i plus one
-Back to the beginning of the loop While “i” is less than or equal to N(i=2)
-New J value will be 1 and it will be printed
-S will be J plus K which is 2
-Then J will be equal to K new J value will be 1
-K will be equal to S value of K will be 2
-The counter will increment i is equal to i plus one
-Back to the beginning of the loop While “i” is less than or equal to N(i=3)
-New J value will be 1 and it will be printed
-S will be J plus K which is 3
-Then J will be equal to K new J value will be 2
-K will be equal to S value of K will be 3
-The counter will increment; i is equal to i plus one
-Back to the beginning of the loop While “i” is less than or equal to N(i=4)
-New J value will be 2 and it will be printed
-S will be J plus K which is 5
-Then J will be equal to K new J value will be 3
-K will be equal to S value of K will be 5
-The counter will increment; i is equal to i plus one
-Back to the beginning of the loop While “i” is less than or equal to N(i=5)
-New J value will be 3 and it will be printed
-S will be J plus K which is 8
-Then J will be equal to K new J value will be 5
-K will be equal to S value of K will be 8
-The counter will increment; i is equal to i plus one
-Back to the beginning of the loop While “i” is less than or equal to N (i=6)
-Condition is False will exit the loop and end the program
Hence the output will be:
Output→0,1,1,2,3
Pseudocode for Factorial value
Start
n: int
fact: int
n=0, fact=1
Input n
While n>0
Fact = fact*n
n=n-1
print fact
End while
Stop
Dry run for Factorial numbers
Input Sample number ‘N’ as 3
-While “n” is greater than 0
-fact is equal to fact multiplied by n current fact value is 1multiplied by the current n value 3
gives the new fact equals 3
-new n value equals previous n value minus 1 hence new n value is equal to 2
-While “n” is greater than 0
-fact is equal to fact multiplied by n; current fact value is 3multiplied by the current n value 2
gives the new fact equals 6
-new n value equals previous n value minus 1 hence new n 2 minus 1 which is 1
-While “n” is greater than 0
-fact is equal to fact multiplied by n; current fact value is 6 multiplied by the current n value 1
gives the new fact equals 6
Hence the output will be:
Output→6
As 3x2x1
Steps to create a successful program
Developing a
software entails the same processes as any other problem-solving endeavor. In the
programming process, there are five main components:
1.Defining the problem
2.Planning the solution
3.Coding the program
4.Testing the program
5.Documenting the program
As the steps outlined above and to discuss those steps a bit in-depth is as follows.
According to (Valenzuela, 2018) the first step to in creating a successful program would be
to Identify the problem, Defining the problem is the most critical part as it is will need to
develop a concrete plan for what the program is intended to do. a crucial step in
Identifying the known inputs (or provided data) and the desired outputs required for this
operation. Programming a working applications not an easy task, with time and constant
effort. In Order to provide the solution to the problem identified in the next step would be to
Find a solution, the help of flowchart and pseudocodes are useful. Experienced
programmers use either of these methods to convey program development to clients. The
solution process enables programmer to focus on the logical flow of the program without
having to adhere to the actual syntax used by the programming language for the project.
Once the solution is identified and a blue print is made the next step would be to Code it.
This is where the algorithmic design skills from computational thinking come into play.
Testing is yet another critical aspect in the workflow it will determine the quality of the
program, will help to locate any bugs the testing phase is achieved in different levels, once
the testing is done the software should be ready to be handed over to the user along with a
fully documented user guide on how to use the for the first time.
Big-O notation and its role in programing
The effectiveness of an algorithms interpreted by (Jamieson, 2021) can be evaluated using
Big O Notation. As the input increases, it calculates how long it takes to run a function.
Efficiency is measured in terms of Time complexity and Space complexity. The length of the
function's execution in terms of its computational process is measured by its time
complexity. Space complexity is the required memory for a function to be executed. Big O is
referred to as the algorithm's upper bound, which denotes that it handles the worst-case
scenario. The algorithm will never perform worse than we anticipate thanks to our utilization
of the worst-case scenario. Furthermore (Mulonda, 2019) suggests that Big O notation is
used by programmers as a kind of measurement unit to assess or gauge the effectiveness of
a piece of code(s), a script, or an algorithm. The precise runtime of a script or algorithm is
difficult to ascertain. It also depends on other elements like the processor's speed and other
technical details of the computer running the script or algorithm. Big O notation is therefore
used to assess how fast the runtime grows in relation to the input data that will be processed
by that algorithm rather than analyzing the runtime itself directly.
Python Code for Fibonacci numbers
nterms = int(input("How many terms? "))
n1, n2 = 0, 1
count = 0
if nterms <= 0:
print("Please enter a positive integer")
elif nterms == 1:
print("Fibonacci sequence upto",nterms,":")
print(n1)
else:
print("Fibonacci sequence:")
while count < nterms:
print(n1)
nth = n1 + n2
n1 = n2
n2 = nth
count += 1
Fig1.1 Python code for Fibonacci numbers in python IDLE
Python Code for factorial numbers
num = int(input("Enter a number: "))
fact = 1
if num < 0:
print(" Factorial does not exist for negative numbers")
elif num == 0:
print("The factorial of 0 is 1")
else:
for i in range(1,num + 1):
fact = fact*i
print("The factorial of",num,"is",fact)
Fig1.2 Python code for factorial numbers in python IDLE
Evaluating the program code with Big O notation for efficiency
According to (Spacey, 2016) The word "algorithm" has been used to describe highly
optimized codes, such as a widely complex problem in regards to arithmetic functions.
The word implied as a code has a strict design and resolves a complex problem. Codes
frequently has little complexity, is repetitious, or is not crucial. A/Code that, for instance,
shows a user interface, verifies input, executes a transaction, or computes a value is
typically simple to implement. Since they are more sophisticated than other types of
structures, algorithms can start out as extensive research projects. Any code written by a
developer on the spot that doesn't resolve a significant issue is often not regarded as an
algorithm. It is important to realize that businesses frequently use the word algorithm.
As a result, the phrase is starting to lose its original meaning and is increasingly being used
to refer to code. Comparing the pseudocode for Fibonacci numbers it
and considering the Big O notation feature the pseudocode does not store and display a lot
of unnecessary variable/data this is an efficient use of space complexity and when
considering the timing of execution for the python code for Fibonacci numbers is that
comparatively its fast and could run computers with less hardware features.
Activity 2 –Define the characteristics of procedural object oriented and event driven
programming
.
Programming paradigm
According to (Bartoníček, 2014) Paradigm is a set of patterns and procedures utilized to
accomplish a specific task. For a certain idea to become a paradigm, it should be picked up
globally in many independent organizations and societies. There are mainly 3 paradigms
that will be discussed here it is as follows
1.Procedural Paradigm
2.Object oriented paradigm
3.Event driven paradigm
Procedural paradigm
The method of programming that has been utilized since the invention of computers is
known as the procedural paradigm. In this paradigm, unless otherwise specified, the
program consists of a series of instructions that the computer is to carry out in the sequence
that they were written. It is a straightforward method that is usually simple to follow when the
program is brief. It may be exceedingly challenging to comprehend, manage, and debug
larger programs created with a procedural approach. The majority of procedural languages
have IF, FOR & WHILE statements control mechanisms. Below is an example of a piece of
procedural programing.
Characteristics of Procedural programming
• Predefined functions: Included in higher-level programming languages and these functions
are recognized by name.
•
• Local Variable: Defined in the method's primary structure and used inside the method's local
scope.
•
• Global variable: Is one that is declared outside of every other function. As a result,
unlike a local variable, global variables can be utilized in all functions.
• Modularity: is the process through which two distinct systems that are working on two
different tasks are combined to complete a bigger job first.
• Parameter Passing: A mechanism used to pass parameters to functions, subroutines or
procedures. (Bhatia, 2022)
Object oriented paradigm
Due to the modularity of objects, the object-oriented paradigm was created to simplify
complex projects and distribute the workload among team members. An object is the
centerpiece of the object-oriented paradigm. Data structures and operations that may be
performed on the data, known as methods, are grouped together as objects. The
programmer can achieve a high level of encapsulation by properly typing the data and
procedures.
Characteristics of Object-oriented programming
• Encapsulation -When each object inside a class retains a private state. Other objects
cannot directly access this state; instead, they must call a set of public functions. These
methods let the object to control its own state, and no other class may change it unless
specifically authorized.
• Abstraction -Abstraction is an extension of encapsulation. It is the process of selecting data
from a larger pool to show only the relevant details to the object. Abstraction is the method of
obtaining, deleting, or choosing user data it enables to utilize the same data you used for
apps with little to no modification which is one of the benefits of Abstraction.
• Inheritance–Ability to acquire some/all properties of another object. For example, a child
inherits the genes/characteristics of his/her parents. Reusability is a major advantage
whereas the fields and methods of the existing class can be re-used. For example, Apple is
a fruit assuming that a class called Fruit is there and a subclass of it is an Apple. Hence an
Apple acquires the properties of the class Fruit.
• Polymorphism–Polymorphism is the use of classes exactly like its parent class this was
there is less or no confusion with mixing types. This being said, each child sub-class keeps
its own functions/methods as they are. (Banda, 2020)
Event-driven paradigm
The main focus of event-driven programming is the classification of events, therefore the
Program flow ultimately on external events. The model containing the idea of event-driven
programming is known as an asynchronous model. Events are necessary for event-driven
programming to function. Events select what to do and in what order to perform it after they
have looped. The flowchart that follows will help you comprehend how this operates.
(tutorials point, n.d.)
Characteristics of Event-driven programming
• Service oriented –Often appears in the background and does not have any real interaction
with the user but at the same time these applications could be stopped from running with
users will.
• Time driven –These included such as antivirus scans, task scheduler and operating system
updates etc. These events follow real time settings and variables.
• Event Handlers –These are sections of code that are set out to denote the actions of various
events, such that when right or left clicking the mouse can have different results.
• Trigger functions –These specific pieces of code designed to take actions for an event. e.g.
Clicking button to trigger the calculation on a calculator (BURROWS, 2013)
Relationships between programming paradigms
Procedural programming means that as a series of steps, you describe a program and its
subprograms. On the other hand, declarative programs attempt to define the result
irrespective of the steps taken to calculate it but rather some description or denotation of the
desired result. Object-oriented programming is a way to organize code around the concepts
of encapsulation, inheritance, replacement, programming to interfaces, etc. Event based
programming is about writing event handling procedures and having the core event loop
provided by the underlying system. In this way you can save the trouble of writing your own
event loop and benefit from various libraries that already work with the system provided
event loop. Event based programs are very often writing using object-oriented style, but not
always. These three categories are thus not related strictly hierarchically, but in common
usage they are mostly nested within one another.
Sample code for Procedural programing:
def Sum(sample_list):
total = 0
for x in sample_list:
total += x
return total
list1 = [25, 50, 90]
list2 = [9, 45, 77, 20]
print(Sum(list1))
print(Sum(list2))
Output:
165
151
The function “Sum ()” have been used to calculate the “list1” and “list2” total. The procedural
style depends on procedure calls to create modularized code. Which means the use of
functions to group the tasks parallel makes the overall code simpler and easier to digest for
programmers when it comes to locating errors as well. According to (John, 2022) procedural
programming Just consists of a set of computational steps that teach the computer how to
do a job in a logical sequence. When addressing large projects, it is preferable to utilize
another programming paradigm rather than procedural programming, which is excellent for
basic applications. Further (Khatri, 2022) suggests that procedural paradigm focuses on
enhancing the program's clarity, quality, and development time, with its unique
characteristics with higher level programming language these functions recognized by name,
the parameter passing mechanism used to functions ex: list1 & list2.
Sample code for Object oriented programing:
class Parrot:
species = "bird"
def __init__(self, name, age):
self.name = name
self.age = age
blu = Parrot("Blu", 10)
woo = Parrot("Woo", 15)
print("Blu is a {}".format(blu.__class__.species))
print("Woo is also a {}".format(woo.__class__.species))
print("{} is {} years old".format( blu.name, blu.age))
print("{} is {} years old".format( woo.name, woo.age))
Output:
Blu is a bird
Woo is also a bird
Blu is 10 years old
Woo is 15 years old
An object could represent an employee with attributes such as name, title, experience, etc.,
with behaviors like working, on-leave, underperformed, etc. as mentioned in the above code
[species = bird ] According to (Herrity, 2022) For example, an object could represent an
employee with attributes such as name, title, experience, etc., with behaviors like working,
on-leave, underperformed, etc., The four principles of object-oriented comparing the unique
characteristic methods of oop considering the encapsulation feature in the class parrot there
is private data such as the name and age these data may not be exposable. Abstraction is
the feature when considering the above code def init __(self, name, age)
Sample code for Event driven programing:
import asyncio
async def main():
print('Hello ...')
await asyncio.sleep(1)
print('... World!')
asyncio.run(main())
The asyncio module in Python has a timer that can affect an event when its time is up
first it will print Hello then after sometime it will print World and the loop ends. When the
event does happen, the handler is called, and shown below is the event when executed,
create and manage event loops, which provide asynchronous APIs for networking, running
sub processes, handling OS signals, etc.; implement efficient protocols using transports;
bridge callback-based libraries and code with a sync/await syntax.
.
Download