Modules - PowerPoint PPT Presentation

1 / 31
About This Presentation
Title:

Modules

Description:

var num2 : integer; num1 := 1; num2 := 2; writeln(num1, ' ', num2) ... procedure calc(i: integer, f: real, b:boolean); e.g. call: calc(num, avg, flag) where: ... – PowerPoint PPT presentation

Number of Views:15
Avg rating:3.0/5.0
Slides: 32
Provided by: Jame214
Learn more at: http://www.csdl.tamu.edu
Category:
Tags: integer | modules

less

Transcript and Presenter's Notes

Title: Modules


1
Modules the Basics
  • CSCE 110
  • Influenced by material developed by James Tam
    Jennifer Welch

2
Where To __________ Modules
Module ________ (___________ ____________)
3
Procedures (Basic Case)
Procedure call
No Information Is Passed In/ No Parameters
4
Defining Procedures (Basic Case No __________)
  • Format
  • procedure name
  • begin
  • Statements of the procedure go here
  • end End of procedure name
  • Example
  • procedure displayInstructions
  • begin
  • writeln ('The statements in this module
    will')
  • writeln (' typically give a high level')
  • writeln (' overview of what the program as
    a')
  • writeln ('whole does')
  • end ( End of procedure displayInstructions )

5
Calling A Procedure (Basic Case No __________)
  • Format
  • name
  • Example
  • displayInstructions

The name of the procedure is a ____________.
6
Where To ______ Modules
  • It can be done ________________________ in the
    program but must be done ___________ its
    ____________.

Header
Declarations
const
Modules can be ______ from the ______________ of
the program or from within any _______ as long as
the __________ is already ___________.
Module definitions
Main Body
begin end.
7
Important A Module Must Be ________ Before It
Can Be ___________!
program exampleModule (output) procedure
exampleProcedure begin end begin
exampleProcedure end.
8
Important A Module Must Be ________ Before It
Can Be ________!
program exampleModule (output) begin
exampleProcedure end. procedure
exampleProcedure begin end
9
Procedures
  • firstExampleProcedure.pas
  • program firstExampleProcedure (output)
  • procedure displayInstructions
  • begin
  • writeln ('The statements in this module will
    typically give a)
  • writeln (high level overview of what the
    program as a)
  • writeln (whole does')
  • end (Procedure displayInstructions )
  • begin
  • displayInstructions
  • writeln('Thank you, come again!')
  • end. ( Program )

10
Procedures
  • firstExampleProcedure.pas
  • program firstExampleProcedure (output)
  • procedure displayInstructions
  • begin
  • writeln ('The statements in this module will
    typically give a)
  • writeln (high level overview of what the
    program as a)
  • writeln (whole does')
  • end (Procedure displayInstructions )
  • begin
  • displayInstructions
  • writeln('Thank you, come again!')
  • end. ( Program )

Procedure ___________
Procedure ___________
11
Declaring _______ Variables
  • Format
  • procedure name
  • var
  • ltvariable 1 namegt ltvariable 1 typegt
  • ltvariable 2 namegt ltvariable 2 typegt

  • begin
  • end
  • Example
  • procedure proc
  • var
  • num1 integer
  • num2 integer
  • begin
  • end

12
Declaring __________ Variables
  • program secondExampleProcedure (output)
  • procedure proc
  • var
  • num1 integer
  • begin
  • var num2 integer
  • num1 1
  • num2 2
  • writeln(num1, ' ', num2)
  • end
  • begin
  • var num1 integer
  • num1 10
  • writeln(num1)
  • proc
  • writeln(num1)
  • end.

13
Declaring ________ Variables
  • secondExampleProcedure.pas
  • program secondExampleProcedure (output)
  • procedure proc
  • var
  • num1 integer
  • begin
  • var num2 integer
  • num1 1
  • num2 2
  • writeln(num1, ' ', num2)
  • end
  • begin
  • var num1 integer
  • num1 10
  • writeln(num1)
  • proc
  • writeln(num1)
  • end.

______ variable procedure proc
________ variable main module
14
______ Variables Have ____________________
  • procedure getInformation
  • begin
  • write (Enter the principle )
  • readln (principle)
  • end
  • procedure calculateInterest
  • var
  • amount integer
  • principle integer
  • interest integer
  • time integer
  • begin
  • getInformation
  • end

15
___________________ To Modules
  • Modules generally arent useful unless they can
    ______________________.

computeChange
16
Procedures With ____________________ Passed In
Procedure call
P1
P2
Pn
Procedure definition
17
Defining Modules (Procedures) With ____________
  • Format
  • procedure name (Name of parameter 1 type of
    parameter 1
  • Name of parameter
    2 type of parameter 2
  • Name of parameter n type of parameter n)
  • begin
  • ( Statements of the procedure go here
    )
  • end
  • Example
  • procedure celciusToFahrenheit (celciusValue
    real)
  • var
  • fahrenheitValue real
  • begin
  • fahrenheitValue 9 / 5 celciusValue
    32
  • writeln(temperature in Celsius ',
    celciusValue02)
  • writeln(temperature in Fahrenheit ',
    fahrenheitValue02)
  • end ( Procedure celciusToFahrenheit )

18
Calling Modules (Procedures) With Parameters
  • Format
  • name (Name of parameter 1, Name of
    parameter 2Name of parameter n)
  • Example
  • celciusToFahrenheit (celciusValue)

_________Parameters
19
________ and _________ Parameters
  • __________ parameters The parameters in the
    method _______________.
  • __________ parameters The parameters in the
    method _______________.
  • Parameters act like _________________ within a
    module.

20
____________ and ______________ Parameters
  • Module call and module definition must have
  • _____________ of parameters
  • ______________ parameters must have the same
    _______
  • e.g. definitionprocedure calc(i integer, f
    real, bboolean)e.g. call calc(num, avg,
    flag)where
  • _____ must be of type ____________
  • _____ must be of type ____________
  • _____ must be of type ____________

21
Important The _____ and _____ Parameter Lists
Must _____!
  • The ______ and _________ of parameters must
    ________ or there will be a compilation error.

program parameterExample procedure proc (num
integer) begin num 10 end begin
var num integer proc (num) end.
22
Important The _____ and _____ Parameter Lists
Must _____!
  • The ______ and _________ of parameters must
    ________ or there will be a compilation error.

program parameterExample procedure proc (num
integer) begin num 10 end begin
proc end.
23
Important The _____ and _____ Parameter Lists
Must _____!
  • The ______ and _________ of parameters must
    ________ or there will be a compilation error.
  • .

program parameterExample procedure proc (num
integer) begin num 10 end begin
var ch char proc (ch) end.
24
Example Problem
  • Write a program that will convert a temperature
    value from Celsius to Fahrenheit.
  • The part of the program that performs that actual
    conversion should take the form of a separate
    module.

25
Procedures Putting Together The Case Of
Procedures With Parameters
  • temperatureConverter.pas
  • program temperatureConverter (input, output)
  • procedure celsiusToFahrenheit (celsiusValue
    real)
  • var
  • fahrenheitValue real
  • begin
  • fahrenheitValue 9 / 5 celsiusValue 32
  • writeln('Temperature in Celsius ',
    celsiusValue02)
  • writeln('Temperature in Fahrenheit ',
    fahrenheitValue02)
  • end ( Procedure celsiusToFahrenheit )

26
Procedures Putting Together The Case Of
Procedures With Parameters (2)
  • begin
  • var celsiusValue real
  • writeln
  • writeln('This program will convert a given
    temperature from a Celsius')
  • writeln('value to a Fahrenheit value.')
  • write(Enter a temperature in Celsius ')
  • readln(celsiusValue)
  • writeln
  • celsiusToFahrenheit(celsiusValue)
  • writeln('Thank you and come again.')
  • end. ( Program )

27
Pass by ______ vs. Pass by __________
  • Each _______ parameter is ____________ to the
    _______ of the corresponding ____________
    parameter. Called ________________________.

28
Pass by ______ vs. Pass by __________
  • Let actP be actual and formP be formal
  • Pass by __________
  • actP and formP refer to __________ memory
    locations
  • ________ of actPs ______________ to formPs
    _______
  • changes to formP are __________ to the caller
    (i.e. actP)
  • Pass by Reference
  • actP and formP refer to __________ memory
    location
  • the _______ for formP is ____________________ for
    actP
  • changes to formP are __________ to the caller
    (i.e. actP)
  • By default, Pascal passes variables by ________.
    However, well see how to make it pass by
    _________________.

29
Pass by ______ vs. Pass by __________
  • procedure larger(iinteger jinteger
    kinteger)begin if (iltj) then i j
    k iend
  • Suppose that larger is called with
  • a 3 b 5 larger(a,b,c)
  • After calling larger and passing by __________,
    then a 3, b 5, c 5
  • After calling larger if passing by __________,
    then a 5, b 5, c 5

30
Stack Frames
  • When a method begins executing, space on the
    ________, called a _____________, is ____________
    for it, to hold
  • formal parameters
  • local variables declared in the method
  • return value (for functions)
  • When the method finishes __________, the _______
    frame is ______________, and the formal
    parameters and local variables are
    _______________________.

The program code in the module executes (the
variables are used to _________________________)
31
Stack Frames Example
Write a Comment
User Comments (0)
About PowerShow.com