Brief description on subprograms and functions it helps to u . In any case u cn understand the descripion and concepts with easy manner. I think it helps to u
C++ is a middle-level programming language developed by Bjarne Stroustrup starting in 1979 at Bell Labs. C++ runs on a variety of platforms, such as Windows, Mac OS, and the various versions of UNIX
Most C++ compilers don't care what extension you give your source code, but if you don't specify otherwise, many will use .cpp by default
Most frequently used and free available compiler is GNU C/C++ compiler, otherwise you can have compilers either from HP or Solaris if you have respective Operating Systems.
Subprograms, Design Issues, Local Referencing, Parameter Passing, Overloaded Methods, Generic Methods, Design Issues for functions, Semantics of call and return, implementing simple subprograms, stack and dynamic local variables, nested subprograms, blocks and dynamic scoping,
C++ is a middle-level programming language developed by Bjarne Stroustrup starting in 1979 at Bell Labs. C++ runs on a variety of platforms, such as Windows, Mac OS, and the various versions of UNIX
Most C++ compilers don't care what extension you give your source code, but if you don't specify otherwise, many will use .cpp by default
Most frequently used and free available compiler is GNU C/C++ compiler, otherwise you can have compilers either from HP or Solaris if you have respective Operating Systems.
Subprograms, Design Issues, Local Referencing, Parameter Passing, Overloaded Methods, Generic Methods, Design Issues for functions, Semantics of call and return, implementing simple subprograms, stack and dynamic local variables, nested subprograms, blocks and dynamic scoping,
The Roman Empire A Historical Colossus.pdfkaushalkr1407
The Roman Empire, a vast and enduring power, stands as one of history's most remarkable civilizations, leaving an indelible imprint on the world. It emerged from the Roman Republic, transitioning into an imperial powerhouse under the leadership of Augustus Caesar in 27 BCE. This transformation marked the beginning of an era defined by unprecedented territorial expansion, architectural marvels, and profound cultural influence.
The empire's roots lie in the city of Rome, founded, according to legend, by Romulus in 753 BCE. Over centuries, Rome evolved from a small settlement to a formidable republic, characterized by a complex political system with elected officials and checks on power. However, internal strife, class conflicts, and military ambitions paved the way for the end of the Republic. Julius Caesar’s dictatorship and subsequent assassination in 44 BCE created a power vacuum, leading to a civil war. Octavian, later Augustus, emerged victorious, heralding the Roman Empire’s birth.
Under Augustus, the empire experienced the Pax Romana, a 200-year period of relative peace and stability. Augustus reformed the military, established efficient administrative systems, and initiated grand construction projects. The empire's borders expanded, encompassing territories from Britain to Egypt and from Spain to the Euphrates. Roman legions, renowned for their discipline and engineering prowess, secured and maintained these vast territories, building roads, fortifications, and cities that facilitated control and integration.
The Roman Empire’s society was hierarchical, with a rigid class system. At the top were the patricians, wealthy elites who held significant political power. Below them were the plebeians, free citizens with limited political influence, and the vast numbers of slaves who formed the backbone of the economy. The family unit was central, governed by the paterfamilias, the male head who held absolute authority.
Culturally, the Romans were eclectic, absorbing and adapting elements from the civilizations they encountered, particularly the Greeks. Roman art, literature, and philosophy reflected this synthesis, creating a rich cultural tapestry. Latin, the Roman language, became the lingua franca of the Western world, influencing numerous modern languages.
Roman architecture and engineering achievements were monumental. They perfected the arch, vault, and dome, constructing enduring structures like the Colosseum, Pantheon, and aqueducts. These engineering marvels not only showcased Roman ingenuity but also served practical purposes, from public entertainment to water supply.
The French Revolution, which began in 1789, was a period of radical social and political upheaval in France. It marked the decline of absolute monarchies, the rise of secular and democratic republics, and the eventual rise of Napoleon Bonaparte. This revolutionary period is crucial in understanding the transition from feudalism to modernity in Europe.
For more information, visit-www.vavaclasses.com
Operation “Blue Star” is the only event in the history of Independent India where the state went into war with its own people. Even after about 40 years it is not clear if it was culmination of states anger over people of the region, a political game of power or start of dictatorial chapter in the democratic setup.
The people of Punjab felt alienated from main stream due to denial of their just demands during a long democratic struggle since independence. As it happen all over the word, it led to militant struggle with great loss of lives of military, police and civilian personnel. Killing of Indira Gandhi and massacre of innocent Sikhs in Delhi and other India cities was also associated with this movement.
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.
Biological screening of herbal drugs: Introduction and Need for
Phyto-Pharmacological Screening, New Strategies for evaluating
Natural Products, In vitro evaluation techniques for Antioxidants, Antimicrobial and Anticancer drugs. In vivo evaluation techniques
for Anti-inflammatory, Antiulcer, Anticancer, Wound healing, Antidiabetic, Hepatoprotective, Cardio protective, Diuretics and
Antifertility, Toxicity studies as per OECD guidelines
2. SUBPROGRAM
Topics:
Definitions of subprogram
general subprogram characteristics
parameters
Functions and procedures
Design issues for subprogram
Parameter passing method
Model for parameter passing
Overload subprogram
Type checking & referencing environment
Subprogram passed method
Generic subprogram
2
3. Definitions :
Subprogram :
A program separate from the main program that executes aseries
Of operations that occures multiple times during the machine cycle.
Subprogram : describes the interface to and the actions of the subprogram
abstraction .
Subprogram call : is the explicit request that the called subprograms be
executed .
Process abstraction are presented in programming languages by
subprograms
3
4. What does it mean for a subproram to be active ?
Subprogram : is to be active if after having been called ,it has
begun execution but has not yet completed that execution
Execution time
Duration time
Subprogram(x) start
4
5. Definitions :
A Subprogram header :
is the first line of the definition ,serves several purposes. First is
specifies that the following syntactic unit is a subprogram's kind
is often accomplished with a special word .
The header contains some keyword signalin the beginning of
asubproram, a name for the subprogram ,and Header it may
optionally specify alist of parameters
e.g: (Fortran)
Subroutine Adder (parameters) 5
6. e.g: (C)
Void adder (parameters)
,would serve as the header of a SUBPROGRAM named
adder ,where void indicates that it does not return a value
Prototype :is a subprogram declaration providing
Interface information
Definitions :
6
8. General subprogram characteristics :
Each subprogram has a single entry point
The calling program unit is suspend during The execution of the called
subprogram , which means that there is only one subprogram in
execution at any time
Control always return to the caller when the subprogram execution
terminates
8
9. Parameters :
There are two ways that subprogram can gain access to the data
that it is to process:
Direct access to nonlocal variables
Parameter passing
** Parameter passing is more flexible than direct access to
nonlocal variables
9
10. Formal parameters :
The parameters in the subprogram header
Actual parameters :
alist of parameters that appear in subprogram call statement
Positional parameters:
is a method for binding actual parameter to formal parameter, is done by
position
** ((the first actual parameters is bound to the first formal parameter and so
forth such parameters are called positional parameters ))
e.g :
M = rect (a , b ,c ) // subproram call
Float rect ( int x , int y , int z )
Parameters : (count …)
10
11. Keyword parameters :
The name of the formal parameter to which an actual parameter is to be
bound is specified with the actual parameter
Advantage:
That they can appear in any order in the actual parameter list
Disadvantage:
That the user of the subprogram must know the names of formal
parameters
Parameters : (count …)
11
12. Subprogram example:
Int cube(int); prototype
Int main(){
Int y=5; actual parameters
Cout<<cube(y); Subprogram call
Int x=3;
Int cube (int x); subprogram header
{
formal parameter
return x*x;
}
}
12
13. The Two kinds of subprograms :
There are two distinct categories of subprograms:
Procedures
Functions
13
14. Procedures :
Procedures :
are collection of statements that define parameterized computations ,
these computations are enacted by single call statements.
Procedure are called subroutines
Procedures has Two parts :
The speification and the Body
The specification is begins with the keyword PROCEDURE and ends
With the procedure name or parameter list
e.G : PROCEDURE a_test(a,b : in integer ; c:out Integer) 14
15. Procedures :
Procedure identifier Rules :
The name must start with aletter or made out of letters
, numbers and the underscore( _ ).
the name is always case-sensetive ( uppercase / lowercase
names are identical).
the name may not start with the dollar-sign ($).
15
16. Examples of procedures
Program example1;
Specification
procedure add;
var
x : integer ;
y : integer ;
begin BODY
read ( x , y );
write ( x + y );
end;
BEGIN
add;
END .
Program example2 ;
Var
x : integer ;
y : integer ;
Procedure add ( a : integer ; b : integer
);
begin
write ( a + b );
end;
BEGIN
x = 10 ;
y = 5 ;
add ( 10 , 5 ) ;
END.
16
17. Functions :
Functions : structurally resemble procedure, But are semantically
modeled on mathematical functions ( Functions are procedures
which return value).
** Function are called by appearances of their name in expressions
e.g: (function header and call )
Void sort (int list[], int listlen); // function header
…
Sort(scores,100); // function call
17
18. Functions :
** In function body The return statement end the execution of
the function and return the value of the expression enclosed
In the braces as a result
**The function body can contain any number of return
statement
18
19. Functions :
// function example :
Function minimum ( A,B : Integer) return integer is
Begin
If A<= B then
Return A ;
Else
Return B ;
End if ;
End minimum;
19
20. Design Issues For Functions :
There are Two design issues are specific to functions :
Functional side effect
The evaluation of a function effect the the value of other operands in the same
expression.
** (solution parameters to functios can have only in mode formal parameter)
Types of returned value
most imperative programming languages restrict the types that can be returned by
their functions .
C allow any type to be returned by its function except arrays and functions “both
of these can be handled by pointer type return values ”
Ada language its function can return values of any type
20
22. Design issues for subprogram :
What parameter passing method use ?
Are the type of the actual parameter checked against the formal
parameter ?
Are local variables statically or dynamically allocated?
If subprogram can be passed as parameters what is the referencing
environment of such subprogram ?
Can subprogram be overloaded ?
Can subprogram be generic ?
Is either separate or independent compilation possible ?
22
23. Parameter passing methods :
Parameter passing methods are the ways in which parameters are
transmitted to and/or from calling subprogram,
Formal parameters are characterized by one of three distinct
semantics models :
1. They can receive data from the corresponding actual parameter (in
mode).
2. They can transmit data to the actual parameter (out mode).
3. They can do both (inout mode).
23
25. Implementation models for parameter passing :
Pass by value
Pass by result
Pass by value result
Pass by reference
Pass by name
25
26. Pass by value :
When parameter is passed by value ,the value of the actual parameter is used
to initialize the correspondin formal parameter ,which then act as alocal
variable in the subprogram
Advantage: simple mechanism,actual parameter can be expression or
values, (formal parameters are write protected) does not cause side effect.
Disadvantage: needs additional storage for formal parameters .
26
27. Pass by result :
Formal parameter acts as local variable just before control returns to caller ,
value is passed to actual parameter , which must be a variable
problem #1:
Actual parameter collision , such as call sub(p1,p1) may return different values to
p1 depending on order of assignment
Problem #2:
Address evaluation may be done at call or at return, for example list[index] if the
index is changed by the subprogram ,either through global access or as formal
parameter ,ten the address of list[index] will changed between the call and the
return
27
28. Pass by value result :
The value of the actual parameter is used to initialize the corresponding
formal parameter ,the value of the formal parameter is transmitted back
to the actual parameter
Pass by value result is some times call pass by copy
Pass by value result share with pass by value and pass by result the
disadvantage of requiring multiple storage for parameters and time for
copying values .
Pass by value result share with pass by result the problems associated
with the order in which actual parameters are assigned .
28
29. Pass by reference :
In pass by reference method transmits an access path ,usually just an
address , to the called subprogram
The called subprogram is allowed to access the actual parameter in the
calling program unit .
29
30. Pass by reference : (count …)
The advantage of Pass by reference :
Passing process is efficient , in term of both time and space , duplicate space is not
required , nor is any copying required .
The disadvantage of Pass by reference :
1. access to the formal parameters will be slower ,because of the additional level of
indirect addressing that is required
2. if only one way communication to the called subprogram is required ,inadvertent and
erroneous changes may be made to the actual parameter
3. the aliases can be created
30
31. Pass by name :
The actual parameter is textually substituted for the formal parameter in
all its occurrences in the subprogram .
Advantage:
More flexible than other methods.
Disadvantage :
Relatively slow than other methods
Very expensive
31
32. Parameter passing example:
Program ParamPassing;
var
i : integer;
a : array[1..2] of integer;
procedure p(x, y : integer);
begin
x := x + 1;
i := i + 1;
y := y + 1;
end; {p}
begin {ParamPassing}
a[1] := 1;
a[2] := 1;
i := 1;
p(a[i], a[i]);
writeln(‘a[1] = ’, a[1]);
writeln(‘a[2] = ’, a[2]);
end.
Pass by value:
a[1] = 1
a[2] = 1
Pass by result:
x and y have no initial values
Pass by value-result:
a[1] = 2
a[2] = 1
Pass by reference:
a[1] = 3
a[2] = 1
Pass by name:
a[1] = 2
a[2] = 2
32
33. Overload Subprogram
Overload Subprogram is a subprogram that has the same name as
another subprogram in the same referencing environment
Overloaded subprograms that have default parameters can lead to
ambiguous subprogram calls.
Example: (C++)
void fun( float b = 0.0 );
void fun();
…
fun ( );
33
35. Type checking parameter :
Without type checking ,some typographical errors lead to program
error difficult to diagnose because they are not detected by the
compiler or the run time system.
Early programming language ,such as FORTRAN 77 and the
original version of c did not required parameter type checking
,most later language require it , the relatively recent language Perl,
JavaScript , and PHP do not
35
36. Example of type checking parameter :
double sin(x)
double x;
{ …. }
Using this method avoids type checking, thereby allowing calls such as:
Double value;
int count;
…
Value = sin (count);
To be legal, although they are never correct
36
37. Subprogram passed as parameters:
Some language allow nested subprogram ((allow subprogram
to be a parameter for another subprogram))
So in this case the following choices for referencing
environment:
1. Shallow binding : the environment of the call statement
that enacts the passed subprogram.
2. Deep binding : the environment of the definition
of the passed subprogram .
3. Ad hoc binding : the environment of the call statement that
passed the subprogram as an actual parameter 37
38. Generic Subprogram
A generic or polymorphic subprogram is one that takes parameters
of different types on different activations.
Overloaded subprograms provide ad hoc polymorphism .
A subprogram that takes a generic parameter that is used in a type
expression that describes the type of the parameters of the
subprogram provides parametric polymorphism .
38
39. Advantages to using subprograms
There are several advantages to using subprograms:
They help keep the code simple, and, thus, more readable;
They allow the programmer to use the same code as many times as needed
throughout the program;
They allow the programmer to define needed functions; and,
They can be used in other programs
39