Examples:
LastName := copy(Name, 7,15) ---> assigns 15 characters < /FONT>
< /FONT>
starting at
7th char to
lastName from
Name.
Name :=
concat(First, Middle, Last)< /FONT>< /FONT>
--->
assuming First, Middle, and
Last are
three variables,
they are
concatenated to
yield a full
name.
ThisLong := length('This is a short sentence.')< /FONT>< /FONT>
--->
returns the length of this
sentence (how
many characters.)
pos('r','Abraham')--------------> returns 3.
PROGRAM
8-1
{This program
demonstrates the use of some built-in functions of turbo
Pascal}
Program
Example_of_Functions (input,Output);
uses crt;
var
inumber,whole :
integer;
rnumber,fraction :
real;
character :
char;
begin
character :=
readkey; {read a character} < /FONT>
inumber :=
ord(character); {find ascii of that}< /FONT>
rnumber :=
sqrt(inumber); {find square root to get a real
number}< /FONT>
fraction:=
frac(rnumber);
whole :=
trunc(rnumber);< /FONT>
writeln('The
character read from the key board is:
',character);
writeln('The ASCII
value of character ''',character,'''
is:',inumber:3);
writeln
('The square root
of that number is: ',rnumber:6:2);
writeln('The
fractional portion of the above number is:
',fraction:1:2);
writeln('The
integer portion of the above number is:
',whole:2);
writeln('The next
character to ''',character,''' is:
',succ(character));
end.
|
Program run:
press a key
The
character read from the key board is: e
The ASCII
value of character 'e' is:101
The square
root of that number is: 10.05
The
fractional portion of the above number is: 0.05
The integer
portion of the above number is: 10
The next
character to 'e' is: f
Type EXIT to
return to Turbo Pascal...
Microsoft(R)
MS-DOS(R) Version 5.00
(C)Copyright
Microsoft Corp 1981-1991.
I have
included helpful comments to make the program self explanatory. You
might need some explanation for the usage of ''' in this program.
When you need to print an apostrophe two of those ('') should be
included. This is how Pascal knows that you need to print an
apostrophe instead of ending the literal string. If you type ''',
that means to type an apostrophe and then begin or end a literal
string.
Here is
another program that utilizes some built in functions. This program
is a useful program to teach children the computer keyboard
layout.
PROGRAM 8-2
{This assignment is to
get you acquainted to some built in functions. It could be
used to teach a child to recognize characters or for an adult
to learn typing.}
Program RandomABC
(output);
uses crt;
var
character : char;
asciivalue, i:
integer;
begin
randomize;
character:='A';
{just to start the loop}
while
ord(character) <> 27 do {checks for escape
key}
begin
asciivalue:=random(90); {get a random number
0-90)
while asciivalue
<65 do {if a non-alphabet ascii}
asciivalue :=
random(90); { try again }< /FONT>
write(chr(asciivalue)); {put the alphabet on
the screen}
repeat
character :=
readkey; {read a character from the}< /FONT>
write(character);
{keyboard until correct}
{alphabet is
typed or escape}
{key is
pressed}
until
(Ord(character)=asciivalue) or
(Ord(character)= 27);< /FONT>
sound(460);delay(100);sound(150);delay(100);nosound;
writeln; {make
sound and loop or end}
end;
end.
|
Program run:
C:\>cd tp
C:\TP>turbo
Turbo
Pascal Version 6.0 Copyright (c) 1983,90 Borland International
This
program helps you learn keyboard layout
PRESS THE
KEY THAT IS DISPLAYED. PRESS ESCAPE TO QUIT.
WW
NN
VV
XX
OO
II
PP
WwKW
FK;KAF
QQ
XX
F
Type EXIT to
return to Turbo Pascal...
Microsoft(R)
MS-DOS(R) Version 5.00
(C)Copyright
Microsoft Corp 1981-1991.
B:\>
There are
many functions that are supplied with Turbo Pascal with which you
need to become familiar with. These two programs were given to
introduce you to some of these functions. We can return one value to
the calling program. The TYPE of the value it returns is the TYPE of
the function. Here is how a function is defined:
Function
Larger (firstNumber, secondNumber:integer):integer;
The reserved
word 'Function' identifies this block as a function. the name of the
function is 'Larger'. There are two formal parameters and both of
these are value parameters of integer type. The function itself has
a type: integer. The result is passed to the calling program through
'Larger' which has a type of integer.
Program 8-3
calls a user defined function to find the larger of two numbers. A
function call is made from within a write statement. Remember that
the names of the actual parameters and the formal parameters do not
have to be the same.
PROGRAM 8-3
Program FunctionExample (input,
output);
var
firstNum, SecondNum :integer;
function FindLarger(one, two:integer) : integer;
begin
if one > two then FindLarger :=
one
else FindLarger := two;
end;
{****************************************}
begin
write ('This program will find the
larger');
writeln(' of two numbers.');
writeln('Enter two numbers separated by a space.');
readln(firstNum, SecondNum);
write('Larger of the two is: ');
writeln(FindLarger(FirstNum,SecondNum));
end.
|
Program run:
This program will find the larger of two
numbers.
Enter two numbers separated by a space.
53
55
Larger of the two is: 55
This program will find the larger of two numbers.
Enter two numbers separated by a space.
90 88
Larger of the two is: 90
Type EXIT to return to Turbo Pascal...
Microsoft(R) MS-DOS(R) Version 5.00
(C)Copyright Microsoft Corp 1981-1991.
B:\>
In this example the function was called from within
the write statement. We could have assigned it to another variable
as well:
Largest := FindLarger(FirstNum,SecondNum);
Of course Largest should have been defined as an
integer to do this. You could call a function from within another
function. In this example, the value of 'firstNum' will be passed
into 'one' and the value of
secondNum will be passed into 'two'. Upon the procedure call, the
larger number of the two will be placed in 'FindLarger' which is
accessed by the main program. All variables are of the same size,
even though the block diagram shows 'FindLarger' to be different
size.
ASSIGNMENTS FOR CHAPTER 8
1 ) Modify Program 7-1. Make ConvertToCelsius and
ConvertToFahren to functions.
2 ) Write two functions, one to separate a real
number to its whole number part and the other to its
fractional
part.
3 ) Write a program to accept an integer and write
out how many thousands, hundreds, tens, and ones
the number
has
Go to top of this chapter