SlideShare uma empresa Scribd logo
1 de 21
Baixar para ler offline
Solutions to Creative
Problems
Lecture 16
Feb 12, 2008
Creative Question
• Given a Black box that takes as input
two symmetric matrices and outputs the
product of the same, use the black box
to multiple two arbitrary matrices.
a b
x
c d
0 0 a b
0 0 c d
a c 0 0
b d 0 0

e g
f h

x

=

p q
r s

0 0 e f
0 0 g h
e g 0 0
f h 0 0

p
r
0
0

q
s
0
0

0 0
0 0
u v
wx
Creative Question
• Given a Black box that takes as input a
matrix and outputs the square of the
same, use the black box to multiple two
arbitrary matrices.
a b
x
c d
0 0 a b
0 0 c d
e g 0 0
f h 0 0

e g
f h

x

=

p q
r s

0 0 a b
0 0 c d
e g 0 0
f h 0 0

p
r
0
0

q
s
0
0

0 0
0 0
u v
wx
Creative Question
• Given a Black box that takes as input a
lower triangular matrix and an upper
triangular matrix and outputs the
product of the same, use the black box
to multiple two arbitrary square
matrices.
a b
x
c d
0 0 0 0
0 0 0 0
a b 0 0
c d 0 0

e g
f h

x

=

p q
r s

0 0 e g
0 0 f h
0 0 0 0
0 0 0 0

0
0
0
0

0
0
0
0

0
0
p
r

0
0
q
s
Creative Question
• Given a Black box that takes as input
two lower triangular matrices and
outputs the product of the same, use
the black box to multiple two arbitrary
square matrices.
a b
x
c d
000000
000000
000000
000000
00ab00
00cd00

x

e g
f h

=

000000
000000
eg0000
f h0000
000000
000000

p q
r s

=

000000
000000
000000
000000
pq0000
r s0000
Functions = outsourcing
• Break large computing tasks into small ones
• Helps you to build on what others have done
• You and others write functions
• When you want to build a program, find out how to use
the function and use it.

• Use standard functions provided by the
library.
• You are hidden from the implementation
• Example – you don’t have to worry about how pow(m,n)
is implemented

• As engineers from different disciplines you
will use and develop different set of functions
Modular Programming
Subprograms
functions in C, C++, procedures and functions in
Pascal
facilitate modular programming
Overall task is divided into modules
Each module - a collection of subprograms

a subprogram may be invoked at several points
A commonly used computation

hiding the implementation
incorporating changes
easier
Example of function sets
• String manipulation
• Mathematical
• Finite Element Method
• Used in structural analysis by Mechanical, Civil, Aero,
etc. for stress calculations etc.

• Most function libraries cost a lot
• Business opportunity – identify functions that are useful
to you area of study, create libraries.

• Functions for use in different software.
• Say, functions for web services
Basics
• Function is a part of your program.
• It cannot be a part of any other function
• Main() is a function: it is the main function. Execution starts
there or the control flow starts there
• From there it can flow from one function to another, return after
a computation with some values, probably, and then flow on.

• Transfer of control is affected by calling a function
•
•
•
•
•
•
•

With a function call, we pass some parameters
These parameters are used within the function
A value is computed
The value is returned to the function which initiated the call
The calling function can ignore the value returned
It could use it in some other computation
A function could call itself, these are called recursive function
calls
Add function to your Program
• A program was a set of variables, and
assignments to variables
• Now add function to it.
•
•
•
•

Set of variables
Some functions including main()
Communicating values to each other
Computing and returning values for each other

• Instead of one long program, we now write
structured program composed of functions
Features
• C program -- a collection of functions
– function main ( ) - mandatory - program starts here.
• C is not a block structured language
– a function can not be defined inside another function
– only variables can be defined in functions / blocks
• Variables can be defined outside of all functions
– global variables - accessible to all functions
– a means of sharing data between functions - caution
• Recursion is possible
– a function can call itself - directly or indirectly
Function template
Return-type function-name(argument
declarations)
{
declaration and statements
return expression;
}
Function Definition in C
return-type function-name (argument declarations)
{
variable/constant declarations and
No function
statements }
declarations here!
Arguments or parameters:
the means of giving input to the function
type and name of arguments are declared

names are formal - local to the function
Return Value: for giving the output value
return ( expression ); -- optional
Invoking a function: funct-name(exp1,exp2,…,expn)

Matching the
number and type
of arguments
Function Prototype
• defines
– the number of parameters, type of each
parameter,
– type of the return value of a function

• used by the compiler to check the usage
– prevents execution-time errors

• function prototype of power function
– int power ( int, int );
– no need for naming the parameters

• function prototypes - given in the beginning
Power Function
#include <stdio.h>
function prototype
int power (int, int);
-- Computes the nth
power of base.
main () {
for ( int i = 0; i < 20; i ++ )
printf(“%d %d %dn”, i, power(3,i), power(-4,i);}
int power (int base, int n) {
int i, p = 1;
for ( i = 1; i <= n ; i ++)
p = p ∗ base;
return p;
}

A block

Invocation with
arguments
Calling Power Function with i=3
printf(“%d %d %dn”, i, power(3,i), power(-4,i);}

27
int power (int base, int n) {
int i, p = 1;
for ( i = 1; i <= n ; i ++)
p = p ∗ base;
return p;
}

-64

int power (int base, int n) {
int i, p = 1;
for ( i = 1; i <= n ; i ++)
p = p ∗ base;
return p;
}
Thank You
• For Exam
– Bring BOTH your Institute ID card and RFID card - else you shall not be permitted to
write the exam.

• All the Best

Mais conteúdo relacionado

Mais procurados

Python advanced 1.handle error, generator, decorator and decriptor
Python advanced 1.handle error, generator, decorator and decriptor Python advanced 1.handle error, generator, decorator and decriptor
Python advanced 1.handle error, generator, decorator and decriptor
John(Qiang) Zhang
 
C++ Function
C++ FunctionC++ Function
C++ Function
Hajar
 

Mais procurados (19)

Python advanced 1.handle error, generator, decorator and decriptor
Python advanced 1.handle error, generator, decorator and decriptor Python advanced 1.handle error, generator, decorator and decriptor
Python advanced 1.handle error, generator, decorator and decriptor
 
Functional programming 101
Functional programming 101Functional programming 101
Functional programming 101
 
Talk on Standard Template Library
Talk on Standard Template LibraryTalk on Standard Template Library
Talk on Standard Template Library
 
Fda unit 1 lec 1
Fda unit 1 lec  1Fda unit 1 lec  1
Fda unit 1 lec 1
 
C++ Function
C++ FunctionC++ Function
C++ Function
 
Python Generators
Python GeneratorsPython Generators
Python Generators
 
Functional programming java
Functional programming javaFunctional programming java
Functional programming java
 
Chapter 4
Chapter 4Chapter 4
Chapter 4
 
C and C++ functions
C and C++ functionsC and C++ functions
C and C++ functions
 
Iterarators and generators in python
Iterarators and generators in pythonIterarators and generators in python
Iterarators and generators in python
 
Function overloading
Function overloadingFunction overloading
Function overloading
 
Team 6
Team 6Team 6
Team 6
 
Reference Parameter, Passing object by reference, constant parameter & Defaul...
Reference Parameter, Passing object by reference, constant parameter & Defaul...Reference Parameter, Passing object by reference, constant parameter & Defaul...
Reference Parameter, Passing object by reference, constant parameter & Defaul...
 
Functions
FunctionsFunctions
Functions
 
Lecture 4
Lecture 4Lecture 4
Lecture 4
 
Ankita sharma focp
Ankita sharma focpAnkita sharma focp
Ankita sharma focp
 
C++ functions
C++ functionsC++ functions
C++ functions
 
Function Pointer in C
Function Pointer in CFunction Pointer in C
Function Pointer in C
 
Functions
FunctionsFunctions
Functions
 

Destaque (7)

Lec10-CS110 Computational Engineering
Lec10-CS110 Computational EngineeringLec10-CS110 Computational Engineering
Lec10-CS110 Computational Engineering
 
Lec21-CS110 Computational Engineering
Lec21-CS110 Computational EngineeringLec21-CS110 Computational Engineering
Lec21-CS110 Computational Engineering
 
Lec23-CS110 Computational Engineering
Lec23-CS110 Computational EngineeringLec23-CS110 Computational Engineering
Lec23-CS110 Computational Engineering
 
Lec19-CS110 Computational Engineering
Lec19-CS110 Computational EngineeringLec19-CS110 Computational Engineering
Lec19-CS110 Computational Engineering
 
Lec12-CS110 Computational Engineering
Lec12-CS110 Computational EngineeringLec12-CS110 Computational Engineering
Lec12-CS110 Computational Engineering
 
Lec15-CS110 Computational Engineering
Lec15-CS110 Computational EngineeringLec15-CS110 Computational Engineering
Lec15-CS110 Computational Engineering
 
Lec14-CS110 Computational Engineering
Lec14-CS110 Computational EngineeringLec14-CS110 Computational Engineering
Lec14-CS110 Computational Engineering
 

Semelhante a Lec16-CS110 Computational Engineering

Semelhante a Lec16-CS110 Computational Engineering (20)

Functions
FunctionsFunctions
Functions
 
Functions
FunctionsFunctions
Functions
 
16717 functions in C++
16717 functions in C++16717 functions in C++
16717 functions in C++
 
Function in C Programming
Function in C ProgrammingFunction in C Programming
Function in C Programming
 
CH.4FUNCTIONS IN C (1).pptx
CH.4FUNCTIONS IN C (1).pptxCH.4FUNCTIONS IN C (1).pptx
CH.4FUNCTIONS IN C (1).pptx
 
Unit 7. Functions
Unit 7. FunctionsUnit 7. Functions
Unit 7. Functions
 
Functions_new.pptx
Functions_new.pptxFunctions_new.pptx
Functions_new.pptx
 
CHAPTER THREE FUNCTION.pptx
CHAPTER THREE FUNCTION.pptxCHAPTER THREE FUNCTION.pptx
CHAPTER THREE FUNCTION.pptx
 
c++ UNIT II.pptx
c++ UNIT II.pptxc++ UNIT II.pptx
c++ UNIT II.pptx
 
Functions in c
Functions in cFunctions in c
Functions in c
 
Introduction to C ++.pptx
Introduction to C ++.pptxIntroduction to C ++.pptx
Introduction to C ++.pptx
 
Programming Fundamentals Functions in C and types
Programming Fundamentals  Functions in C  and typesProgramming Fundamentals  Functions in C  and types
Programming Fundamentals Functions in C and types
 
08 subprograms
08 subprograms08 subprograms
08 subprograms
 
arrays.ppt
arrays.pptarrays.ppt
arrays.ppt
 
Python_Functions_Unit1.pptx
Python_Functions_Unit1.pptxPython_Functions_Unit1.pptx
Python_Functions_Unit1.pptx
 
Function (rule in programming)
Function (rule in programming)Function (rule in programming)
Function (rule in programming)
 
Chap 5 c++
Chap 5 c++Chap 5 c++
Chap 5 c++
 
Intro To C++ - Class #19: Functions
Intro To C++ - Class #19: FunctionsIntro To C++ - Class #19: Functions
Intro To C++ - Class #19: Functions
 
Functions
FunctionsFunctions
Functions
 
Python
PythonPython
Python
 

Mais de Sri Harsha Pamu

Mais de Sri Harsha Pamu (16)

Lec13
Lec13Lec13
Lec13
 
Lec09-CS110 Computational Engineering
Lec09-CS110 Computational EngineeringLec09-CS110 Computational Engineering
Lec09-CS110 Computational Engineering
 
Lec08-CS110 Computational Engineering
Lec08-CS110 Computational EngineeringLec08-CS110 Computational Engineering
Lec08-CS110 Computational Engineering
 
Lec07-CS110 Computational Engineering
Lec07-CS110 Computational EngineeringLec07-CS110 Computational Engineering
Lec07-CS110 Computational Engineering
 
Lec06-CS110 Computational Engineering
Lec06-CS110 Computational EngineeringLec06-CS110 Computational Engineering
Lec06-CS110 Computational Engineering
 
Lec04-CS110 Computational Engineering
Lec04-CS110 Computational EngineeringLec04-CS110 Computational Engineering
Lec04-CS110 Computational Engineering
 
Lec03-CS110 Computational Engineering
Lec03-CS110 Computational EngineeringLec03-CS110 Computational Engineering
Lec03-CS110 Computational Engineering
 
Lec02-CS110 Computational Engineering
Lec02-CS110 Computational EngineeringLec02-CS110 Computational Engineering
Lec02-CS110 Computational Engineering
 
Lec01-CS110 Computational Engineering
Lec01-CS110 Computational EngineeringLec01-CS110 Computational Engineering
Lec01-CS110 Computational Engineering
 
Lec1- CS110 Computational Engineering
Lec1- CS110 Computational EngineeringLec1- CS110 Computational Engineering
Lec1- CS110 Computational Engineering
 
Lec25-CS110 Computational Engineering
Lec25-CS110 Computational EngineeringLec25-CS110 Computational Engineering
Lec25-CS110 Computational Engineering
 
Android..imp google
Android..imp googleAndroid..imp google
Android..imp google
 
Android vulnerability study
Android vulnerability studyAndroid vulnerability study
Android vulnerability study
 
Android gui framework
Android gui frameworkAndroid gui framework
Android gui framework
 
Hackernote on gsoc
Hackernote on gsocHackernote on gsoc
Hackernote on gsoc
 
Boot2Gecko Hackernote
Boot2Gecko HackernoteBoot2Gecko Hackernote
Boot2Gecko Hackernote
 

Último

Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
AnaAcapella
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
heathfieldcps1
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
ciinovamais
 
Vishram Singh - Textbook of Anatomy Upper Limb and Thorax.. Volume 1 (1).pdf
Vishram Singh - Textbook of Anatomy  Upper Limb and Thorax.. Volume 1 (1).pdfVishram Singh - Textbook of Anatomy  Upper Limb and Thorax.. Volume 1 (1).pdf
Vishram Singh - Textbook of Anatomy Upper Limb and Thorax.. Volume 1 (1).pdf
ssuserdda66b
 

Último (20)

Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Spatium Project Simulation student brief
Spatium Project Simulation student briefSpatium Project Simulation student brief
Spatium Project Simulation student brief
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptx
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Vishram Singh - Textbook of Anatomy Upper Limb and Thorax.. Volume 1 (1).pdf
Vishram Singh - Textbook of Anatomy  Upper Limb and Thorax.. Volume 1 (1).pdfVishram Singh - Textbook of Anatomy  Upper Limb and Thorax.. Volume 1 (1).pdf
Vishram Singh - Textbook of Anatomy Upper Limb and Thorax.. Volume 1 (1).pdf
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 

Lec16-CS110 Computational Engineering

  • 2. Creative Question • Given a Black box that takes as input two symmetric matrices and outputs the product of the same, use the black box to multiple two arbitrary matrices.
  • 3. a b x c d 0 0 a b 0 0 c d a c 0 0 b d 0 0 e g f h x = p q r s 0 0 e f 0 0 g h e g 0 0 f h 0 0 p r 0 0 q s 0 0 0 0 0 0 u v wx
  • 4. Creative Question • Given a Black box that takes as input a matrix and outputs the square of the same, use the black box to multiple two arbitrary matrices.
  • 5. a b x c d 0 0 a b 0 0 c d e g 0 0 f h 0 0 e g f h x = p q r s 0 0 a b 0 0 c d e g 0 0 f h 0 0 p r 0 0 q s 0 0 0 0 0 0 u v wx
  • 6. Creative Question • Given a Black box that takes as input a lower triangular matrix and an upper triangular matrix and outputs the product of the same, use the black box to multiple two arbitrary square matrices.
  • 7. a b x c d 0 0 0 0 0 0 0 0 a b 0 0 c d 0 0 e g f h x = p q r s 0 0 e g 0 0 f h 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 p r 0 0 q s
  • 8. Creative Question • Given a Black box that takes as input two lower triangular matrices and outputs the product of the same, use the black box to multiple two arbitrary square matrices.
  • 9. a b x c d 000000 000000 000000 000000 00ab00 00cd00 x e g f h = 000000 000000 eg0000 f h0000 000000 000000 p q r s = 000000 000000 000000 000000 pq0000 r s0000
  • 10. Functions = outsourcing • Break large computing tasks into small ones • Helps you to build on what others have done • You and others write functions • When you want to build a program, find out how to use the function and use it. • Use standard functions provided by the library. • You are hidden from the implementation • Example – you don’t have to worry about how pow(m,n) is implemented • As engineers from different disciplines you will use and develop different set of functions
  • 11. Modular Programming Subprograms functions in C, C++, procedures and functions in Pascal facilitate modular programming Overall task is divided into modules Each module - a collection of subprograms a subprogram may be invoked at several points A commonly used computation hiding the implementation incorporating changes easier
  • 12. Example of function sets • String manipulation • Mathematical • Finite Element Method • Used in structural analysis by Mechanical, Civil, Aero, etc. for stress calculations etc. • Most function libraries cost a lot • Business opportunity – identify functions that are useful to you area of study, create libraries. • Functions for use in different software. • Say, functions for web services
  • 13. Basics • Function is a part of your program. • It cannot be a part of any other function • Main() is a function: it is the main function. Execution starts there or the control flow starts there • From there it can flow from one function to another, return after a computation with some values, probably, and then flow on. • Transfer of control is affected by calling a function • • • • • • • With a function call, we pass some parameters These parameters are used within the function A value is computed The value is returned to the function which initiated the call The calling function can ignore the value returned It could use it in some other computation A function could call itself, these are called recursive function calls
  • 14. Add function to your Program • A program was a set of variables, and assignments to variables • Now add function to it. • • • • Set of variables Some functions including main() Communicating values to each other Computing and returning values for each other • Instead of one long program, we now write structured program composed of functions
  • 15. Features • C program -- a collection of functions – function main ( ) - mandatory - program starts here. • C is not a block structured language – a function can not be defined inside another function – only variables can be defined in functions / blocks • Variables can be defined outside of all functions – global variables - accessible to all functions – a means of sharing data between functions - caution • Recursion is possible – a function can call itself - directly or indirectly
  • 17. Function Definition in C return-type function-name (argument declarations) { variable/constant declarations and No function statements } declarations here! Arguments or parameters: the means of giving input to the function type and name of arguments are declared names are formal - local to the function Return Value: for giving the output value return ( expression ); -- optional Invoking a function: funct-name(exp1,exp2,…,expn) Matching the number and type of arguments
  • 18. Function Prototype • defines – the number of parameters, type of each parameter, – type of the return value of a function • used by the compiler to check the usage – prevents execution-time errors • function prototype of power function – int power ( int, int ); – no need for naming the parameters • function prototypes - given in the beginning
  • 19. Power Function #include <stdio.h> function prototype int power (int, int); -- Computes the nth power of base. main () { for ( int i = 0; i < 20; i ++ ) printf(“%d %d %dn”, i, power(3,i), power(-4,i);} int power (int base, int n) { int i, p = 1; for ( i = 1; i <= n ; i ++) p = p ∗ base; return p; } A block Invocation with arguments
  • 20. Calling Power Function with i=3 printf(“%d %d %dn”, i, power(3,i), power(-4,i);} 27 int power (int base, int n) { int i, p = 1; for ( i = 1; i <= n ; i ++) p = p ∗ base; return p; } -64 int power (int base, int n) { int i, p = 1; for ( i = 1; i <= n ; i ++) p = p ∗ base; return p; }
  • 21. Thank You • For Exam – Bring BOTH your Institute ID card and RFID card - else you shall not be permitted to write the exam. • All the Best