A function is a group of statements that together perform a task. Every C program has at least one function, which is main(), and all the most trivial programs can define additional functions. You can divide up your code into separate functions.
INTRODUCTION
COMPARISON BETWEEN NORMAL FUNCTION AND INLINE FUNCTION
PROS AND CONS
WHY WHEN AND HOW TO USED?
GENERAL STRUCTURE OF INLINE FUNCTION
EXAMPLE WITH PROGRAM CODE
A function is a group of statements that together perform a task. Every C program has at least one function, which is main(), and all the most trivial programs can define additional functions. You can divide up your code into separate functions.
INTRODUCTION
COMPARISON BETWEEN NORMAL FUNCTION AND INLINE FUNCTION
PROS AND CONS
WHY WHEN AND HOW TO USED?
GENERAL STRUCTURE OF INLINE FUNCTION
EXAMPLE WITH PROGRAM CODE
Note: This slide was created by me. I am Md. Touhidul Islam Shawan. Here in these slide I have written about some basic points of function of c program and how the function works.
Operators and expressions in c languagetanmaymodi4
what is operator in c language
uses of operator in c language
syatax of operator in c language
program of operator in c language
what is expressions in c language
use of expressions in c language
syantax of expressions in c language
C lecture 4 nested loops and jumping statements slideshareGagan Deep
Nested Loops and Jumping Statements(Loop Control Statements), Goto statement in C, Return Statement in C Exit statement in C, For Loops with Nested Loops, While Loop with Nested Loop, Do-While Loop with Nested Loops, Break Statement, Continue Statement : visit us at : www.rozyph.com
A function is a block of code which only runs when it is called. You can pass data, known as parameters, into a function. Functions are used to perform certain actions, and they are important for reusing code: Define the code once, and use it many times.
Recursion vs. Iteration: Code Efficiency & Structurecogaxor346
This presentation delves into the Recursion vs. Iteration debate, highlighting their operational disparities. Recursion, though elegant, demands caution to prevent system crashes due to infinite loops. While it offers compact code, it suffers from slower execution and increased memory usage. Conversely, iteration, driven by repetition structures, boasts faster performance and lesser memory consumption. Examples illustrate the essence and application of recursion, emphasizing the need for terminating conditions. Additionally, the presentation touches upon modular programming principles and introduces lambda functions and the pass statement, elucidating their roles in code structure and execution control.
Note: This slide was created by me. I am Md. Touhidul Islam Shawan. Here in these slide I have written about some basic points of function of c program and how the function works.
Operators and expressions in c languagetanmaymodi4
what is operator in c language
uses of operator in c language
syatax of operator in c language
program of operator in c language
what is expressions in c language
use of expressions in c language
syantax of expressions in c language
C lecture 4 nested loops and jumping statements slideshareGagan Deep
Nested Loops and Jumping Statements(Loop Control Statements), Goto statement in C, Return Statement in C Exit statement in C, For Loops with Nested Loops, While Loop with Nested Loop, Do-While Loop with Nested Loops, Break Statement, Continue Statement : visit us at : www.rozyph.com
A function is a block of code which only runs when it is called. You can pass data, known as parameters, into a function. Functions are used to perform certain actions, and they are important for reusing code: Define the code once, and use it many times.
Recursion vs. Iteration: Code Efficiency & Structurecogaxor346
This presentation delves into the Recursion vs. Iteration debate, highlighting their operational disparities. Recursion, though elegant, demands caution to prevent system crashes due to infinite loops. While it offers compact code, it suffers from slower execution and increased memory usage. Conversely, iteration, driven by repetition structures, boasts faster performance and lesser memory consumption. Examples illustrate the essence and application of recursion, emphasizing the need for terminating conditions. Additionally, the presentation touches upon modular programming principles and introduces lambda functions and the pass statement, elucidating their roles in code structure and execution control.
The “&” indicates a parameter that is a reference variable. Because it is the value that is passed. We can always pass a literal or even an expression in call-by-value computer notes
JLK Chapter 5 – Methods and ModularityDRAFT January 2015 Edition.docxvrickens
JLK Chapter 5 – Methods and ModularityDRAFT January 2015 Edition pg. 25
An Introduction to
Computer Science with Java, Python and C++
Community College of Philadelphia edition
Copyright 2017 by C.W. Herbert, all rights reserved.
Last edited October 8, 28, 2019 by C. W. Herbert
This document is a draft of a chapter from An Introduction to Computer Science with Java, Python and C++, written by Charles Herbert. It is available free of charge for students in Computer Science courses at Community College of Philadelphia during the Fall 2019 semester. It may not be reproduced or distributed for any other purposes without proper prior permission.
Please report any typos, other errors, or suggestions for improving the text to [email protected]
Chapter 5 – Python Functions and Modular Programming
Contents
Lesson 5.1User Created Functions in Python2
Python Function Parameters2
Value returning functions3
Example – Methods and Parameter Passing5
9
Lesson 5.2Top-Down Design and Modular Development10
Chapter Exercises13
User Created Functions in Python
So far we have only created software with one continuous Python script. We have used functions from other python modules, such as the square root method from the math class math.sqrt(n). Now we will begin to create our own functions of our own.
A Python function is a block of code that can be used to perform a specific task within a larger computer program. It can be called as needed from other Python software. Most programming languages have similar features, such as methods in Java or subroutines in system software.
The code for user-defined functions in Python is contained in a function definition. A Python function definition is a software unit with a header and a block of Python statements. The header starts with the keyword def followed by the name of the function, then a set parenthesis with any parameters for the function. A colon is used after the parentheses to indicate a block of code follows, just as with the if and while statements. The block of code to be included within the function is indented.
Here is an example of a Python function:
# firstFunction.py
# first demonstration of the use of a function for CSCI 111
# last edited 10/08/2o19 by C. Herbert
function
definition
def myFunction():
print ( "This line being printed by the function MyFunction.\n")
# end myFunction()
### main program ###
function used by the main part of the script
print("Beginning\n")
myFunction()
print("End\n")
# end main program
Functions can used for code that will be repeated within a program, or for modular development, in which long programs are broken into parts and the parts are developed independently. The parts can be developed as Python functions, then integrated to work together by being called from other software.
Python Function Parameters
Data can be passed to a Python function as a parameter of the function. Function parameters are variables listed in parentheses foll ...
Complete Information till 2D arrays. In this slides you can also find information about loops and control decision....
Best slides for beginners who wants to learn about C programming language..
Slides for Lecture 1 of the course: Introduction to Programming with Python offered at ICCBS.
It covers the following topics:
1.) Variables, Statements and Expressions
2.) Functions
3.) Flow Control
Programs are complete in best of my knowledge with zero compilation error in IDE Bloodshed Dev-C++. These can be easily portable to any versions of Visual Studio or Qt. If you need any guidance please let me know via comments and Always Enjoy Programming.
Programs are complete in best of my knowledge with zero compilation error in IDE Bloodshed Dev-C++. These can be easily portable to any versions of Visual Studio or Qt. If you need any guidance please let me know via comments and Always Enjoy Programming.
An approach to understand Multi-Map of STL in C++ without using bigger technical terms or with a prospective of little bit entertaining instances of life going around.
A few Programs, that are tested with compilers of respective IDEs s Bloodshed-DevC++, Visual Studio 2008, Qt 4.2. These are running successfully within console window of windows platform. So just enjoy coding. Programs in C of College days.
A quick review of the fundamental concepts of Copy Constructor and Assignment Operator in programming language C++ in prospective view of daily day to day life.
Synthetic Fiber Construction in lab .pptxPavel ( NSTU)
Synthetic fiber production is a fascinating and complex field that blends chemistry, engineering, and environmental science. By understanding these aspects, students can gain a comprehensive view of synthetic fiber production, its impact on society and the environment, and the potential for future innovations. Synthetic fibers play a crucial role in modern society, impacting various aspects of daily life, industry, and the environment. ynthetic fibers are integral to modern life, offering a range of benefits from cost-effectiveness and versatility to innovative applications and performance characteristics. While they pose environmental challenges, ongoing research and development aim to create more sustainable and eco-friendly alternatives. Understanding the importance of synthetic fibers helps in appreciating their role in the economy, industry, and daily life, while also emphasizing the need for sustainable practices and innovation.
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptxEduSkills OECD
Andreas Schleicher presents at the OECD webinar ‘Digital devices in schools: detrimental distraction or secret to success?’ on 27 May 2024. The presentation was based on findings from PISA 2022 results and the webinar helped launch the PISA in Focus ‘Managing screen time: How to protect and equip students against distraction’ https://www.oecd-ilibrary.org/education/managing-screen-time_7c225af4-en and the OECD Education Policy Perspective ‘Students, digital devices and success’ can be found here - https://oe.cd/il/5yV
Palestine last event orientationfvgnh .pptxRaedMohamed3
An EFL lesson about the current events in Palestine. It is intended to be for intermediate students who wish to increase their listening skills through a short lesson in power point.
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdfTechSoup
In this webinar you will learn how your organization can access TechSoup's wide variety of product discount and donation programs. From hardware to software, we'll give you a tour of the tools available to help your nonprofit with productivity, collaboration, financial management, donor tracking, security, and more.
How to Split Bills in the Odoo 17 POS ModuleCeline George
Bills have a main role in point of sale procedure. It will help to track sales, handling payments and giving receipts to customers. Bill splitting also has an important role in POS. For example, If some friends come together for dinner and if they want to divide the bill then it is possible by POS bill splitting. This slide will show how to split bills in odoo 17 POS.
Unit 8 - Information and Communication Technology (Paper I).pdfThiyagu K
This slides describes the basic concepts of ICT, basics of Email, Emerging Technology and Digital Initiatives in Education. This presentations aligns with the UGC Paper I syllabus.
Model Attribute Check Company Auto PropertyCeline George
In Odoo, the multi-company feature allows you to manage multiple companies within a single Odoo database instance. Each company can have its own configurations while still sharing common resources such as products, customers, and suppliers.
1. Fundamentals Of Programming in C
Presented By:
saket kr Pathak
M.sc. nt & M
aMIty InstItute Of InfOrMatIOn
technOlOgy
1
2. Recursion
Recursion is said as a mathematical concept which states that an
expression such that each term is generated by repeating a particular
mathematical operation. Here repeating is the iterative manner to
perform same operation.
As the approach of the programming language C, it can be performed
and are in practice within the definition part of functions. Syntactically
language provides the freedom to call function within it’s body
defined.
Definition of ‘Recursion’ as the logical prospective view states simply
the iterative manner to perform any code snippet in C, but we always
need a terminating condition to control the going on iterations. In the
following sections we will discuss the iterative manner of recursion
and the terminating condition in bit expanded form.
Fundamentals Of Programming in C 2
3. Recursive Functions
Recursive functions are not different from the syntactical structure of
the general functions that we had discussed in previous sections.
They have same return type, function name, parameters enclosed
within parenthesis.
Declaration:
int Think_and_ Play (int, char);
We had discussed the syntactical view of the function, where return
type is ‘int’, function name is ‘Think_and_Play’ and within the
parenthesis we had defined the parameters as of data type integer
with another one that is of data type character.
Amity Institute Of Information Technology 3
4. Now let us manipulate the definition of the our function, that we had
declared in the previous slide from the general aspect of definition
we had practiced till now.
Definition:
int _iFlag =0, _iTerminate = 0;
int Think_and_Play(int _iBat, char _chBall)
{
if (_iFlag ==0)
printf(“This is game cricket going on.”);
_iFlag++;
if(_iTerminate < 6)
{
printf(“Hit the Ball with the Bat.”);
++ _iTerminate;
Think_and_Play(1, ‘0’);
return 1;
}
}
Amity Institute Of Information Technology 4
5. As in sequence of explanation, this snippet code has few syntactical
statements. In the very first the program counter encounters with the
Variables of type integer that are global to the function.
Then it encounters the return type of the function following with the
function name, and the parameters defined. All of these has the
considerable part in function definition structure of C language that
we had discussed in the previous sections of declaration.
As encounter with the right curly braces comes into just next
statement, it considers the following structure is for definition.
In the definition part, the first if condition is doing its formal
responsibility to control the execution of print function where the
defined condition will be true i.e. when the value of the variable
‘_iFlag’ is strictly equal to 0.
Amity Institute Of Information Technology 5
6. The next statement is simply incrementing the value stored in the
memory location termed as ‘_iFlag’ (the variable name).
Then our point of consideration comes into picture in the execution
of second ‘if’ structure. Here in this ‘if’ structure program counter
will execute the statements defined within ‘if’ body, if and only if
the condition gets true. It means whenever the condition defined
with the if statements returns ‘Boolean True’ value then the further
body will execute. So we can consider the controlling system of the
execution of ‘if-body’ is properly controlled through the condition
defined there in if statement.
Now within the body concerned, we have a print function that
supports its definition with two arguments defined as ‘String type’
and another is ‘Variable Length Argument’ (i.e. null in the snippet).
Function performs the role successfully and control passes further.
Amity Institute Of Information Technology 6
7. The followed statement says to increment the value stored in the
memory location corresponds to the variable name ‘_iTerminate’.
Here logically this increasing value of ‘_iTerminate’ and the if
condition defined above will cause the terminating condition.
At the near end of the body, we have a function call as
‘Think_and_Play(…, …)’. Since here we are calling the same
function that is executing, is said as recursion. Therefore, calling of
the function from its own body forms a loop like execution pattern
and is said as recursion. It is also considered as the alternative
programming pattern of looping structure (i.e. of ‘for loop’ and
‘while loop’).
The end statement says to return the value to the calling function as
‘return 1’, that declares the successful completion of all other
statements defined above.
Amity Institute Of Information Technology 7
8. Discussion
Typically, recursion is quite elegant and requires fewer variables to
make the same calculation as iterative looping structural programs.
It take care of its assigned records by maintaining the stack of
arguments and variables for each invocation. It has been calculated
in some machines a simple recursive program call with snippet
defining one integer argument can be requires 8 32-bit words on the
stack.
Let us consider a snippet code of fibonacci sequence and calculate
it’s efficiency in the following section.
Amity Institute Of Information Technology 8
9. Snippet-Code:
int fibonacci (int _iNam)
{
if (_iNam <= 1)
return _iNam;
else
return (fibonacci(_iNam-1)+fibonacci(_iNam-2)) }
Through ‘main()’ call the ‘fibonacci()’ with the index value to next generate
recursive value.
Amity Institute Of Information Technology 9
10. Dissection of ‘fibonacci’ Program:
int fibonacci (int _iNam)
Here in the above statement the function name ‘fibonacci’
has the parameter type defined as ‘integer’ having the return type as
‘integrer’. The right braces comes as the starting point of the snippet
code.
if (_iNam <= 1)
return _iNam;
Here in the above two statements the condition followed by
‘if’, is establised as the terminating point if condition gets it
satisfied. On the satisfactory mode of ‘if’ statement the value
stored in _iNam return back to the calling.
Amity Institute Of Information Technology 10
11. else
return (fibonacci(_iNam -1) + fibonacci(_iNam - 2));
In the else part of the consecutive ‘if’ statement the return value
is a bit complex. At first the recursion takes place for the first part
from left and returns 1 decremented value i.e. ‘-1’ to the previous
value, simultaneously it maintains a stack of all the new variables
and concern values for each invocation. That will be come in use
for the next recursive call. The next recursive call initializes the
variable with the decremented value as ‘-2’. At the end when
function call completes then the respective sum of the value
returns back to the calling statement in ‘main()’.
The left braces shows the termination of the code snippet.
Amity Institute Of Information Technology 11
12. As in the following we have the table showing 10 number of
function calls in simultaneous recursion.
Value of _iNam Return Value of Number of Function calls in recursive
fibonacci(_iNam) computation.
0 0 1
1 1 1
2 1 3
3 2 5
4 3 9
5 5 15
6 8 25
7 13 41
8 21 67
Amity Institute Of Information Technology 12
13. As in the above table describes, the value passed through the
parameter, the value that the function returns and the number of
recursive steps a function can perform up to 9 sequential calls.
Cons:
Recursive programs typically use a large amount of computer
memory and the greater the recursion, the more memory used.
Recursive programs can be confusing to develop and
extremely complicated to debug.
Pros:
Recursion is a natural fit for some types of problems as
‘Tower of Hanoi’.
Amity Institute Of Information Technology 13
14. Practice ‘Towers of Hanoi’
Problem:
The Classical Towers of Hanoi - an initial position of all disks is on
post 'A‘.
Amity Institute Of Information Technology 14
15. The target solution of the puzzle is to build the tower on post 'C'.
The number of discs can vary, but there are only three towers.
The goal is to transfer the discs from one tower another tower.
However you can move only one disk at a time and you can never
place a bigger disc over a smaller disk.
Amity Institute Of Information Technology 15
16. Algorithm to solve the above problem:
Move the top 3 disks from Source to Auxiliary tower,
Move the 4th disk from Source to Destination tower,
Move the 3 disks from Auxiliary tower to Destination tower.
Transfer the top 3 disks from Source to Auxiliary tower can again
be thought as a fresh problem and can be solve in the same manner.
Amity Institute Of Information Technology 16
17. Let us do it step by step:
At first move the ‘Disc1’ to ‘B’ and ‘Disc2’ to ‘C’ as in
following figure:
Amity Institute Of Information Technology 17
18. Move the ‘Disc1’ to the top of the ‘Disc2’ at ‘C’ and ‘Disc3’ at
‘B’.
Move the ‘Disc1’ to ‘A’ at the top of ‘Disc4’ and ‘Disc2’ at ‘B’ to the top
of ‘Disc3’.
Amity Institute Of Information Technology 18
19. Move the ‘Disc1’ at ‘B’ to the top of ‘Disc2’ and ‘Disc4’ at ‘A’.
Move the ‘Disc1’ at ‘C’ to the top of ‘Disc4’ and ‘Disc2’ at ‘A’.
Amity Institute Of Information Technology 19
20. Move the ‘Disc1’ at ‘A’ to the top of ‘Disc2’ and ‘Disc3’ to the top of
‘disc4’ at ‘A’.
Move the ‘Disc1’ at ‘B’ and ‘Disc2’ at ‘B’ to the top of ‘Disc3’.
Amity Institute Of Information Technology 20
21. Move the ‘Disc1’ at the top of ‘Disc2’ at ‘C’.
Congratulations you got your answer. Code implementation is up to
you people as hint use the concept of stack and just follow the steps
Above described.
Amity Institute Of Information Technology 21
22. /
***********************************************************//
/Here in the following Program, towers are considered as character A, B
//and C and disks are considered as integral numbers.
/***********************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <string.h>
#include <math.h>
Amity Institute Of Information
Technology 22
23. void generate_moves_toh(int i_disk_num, char from_peg,
char to_peg, char aux_peg)
{
/* If only 1 disk, make the move and return */
if(i_disk_num == 1)
{
printf("nMove disk 1 from peg %c to peg
%c", from_peg, to_peg);
return;
}
Amity Institute Of Information
Technology 23
24. /*Move top n-1 disks from A to B, using C as auxiliary
*/
generate_moves_toh(i_disk_num-1, from_peg,
aux_peg, to_peg);
printf("nMove disk %d from peg %c to peg %c",
i_disk_num, from_peg, to_peg);
/* Move n-1 disks from B to C using A as auxiliary */
generate_moves_toh(i_disk_num-1, aux_peg, to_peg,
from_peg);
}
Amity Institute Of Information
Technology 24
25. void gen_tow_of_honoi()
{
printf("WAP to display the steps required in
solving 'Tower of Hanoi' for 'n' number of disks.");
printf("nLimitation: nt-> Disks are
represented as integral numbers in assending order.");
printf("nnn");
int i_num_disk;
printf("Enter the number of disks : ");
scanf("%d",&i_num_disk);
printf("The Tower of Hanoi involves the moves
:nn");
generate_moves_toh(i_num_disk, 'A', 'C', 'B');
}
Amity Institute Of Information
Technology 25
26. int main()
{
gen_tow_of_honoi();
printf("nnn");
getch();
return 0;
}
Amity Institute Of Information
Technology 26
27. •The C Programming Language (by Dennis M. Ritchie and Brain W.
Kernighan).
•A book on C (by Al Kelley and Ira Pohl).
•Let us C (by Yashavant Kanetkar).
Amity Institute Of Information
Technology 27