Records, Stacks and Queues

Download Report

Transcript Records, Stacks and Queues

Pascal
Programming
Records, Stacks & Queues
Pascal Programming
Record data types—a complex type that
combines different data types into a
single record.
 Sometimes called set types.
 The individual elements of a record are
called fields or components or
component fields.

Pascal Programming

Each field has a name . . .the field identifier.
 The field identifiers provide a means of
accessing each field in the record, similar to
an array index.
 Each field has a type, which is established
when the record is declared.
 The value of a record is a collection of values.
There is a value in each field.
Pascal Programming
The component of a record variable is a
component variable.
 . field identifier . . .specifies a
component variable.
– e g: Business1.PresidentsLastName
 Though a record is a collection of
values, it can sometimes be treated as
a single value.

Pascal Programming

So . . .
– The record variable describes the raw
record.
– Record value indicates all the values in
the record.
– Component values indicate the field
values.
– Field identifiers name the fields in record.
Pascal Programming
Syntax . . .
 type

– Business =
• record
–
–
–
–
–
BusinessName: string[30];
StreetAddress: string[35]
City: string[20];
State: string[2];
zip: integer;
• end;
Pascal Programming
A programmer may want to structure
data with a hierarchy of records.
 e g:

– student identification
– birth date and age
– core courses . . .etc . . .
Pascal Programming
Records for a group may be read into
an array.
 Thus, we see that . . .

– data structures are a means of
organizing, storing and manipulating data.

How do we chose which structure to
use?
– Everything being equal, chose the one that can be
understood and worked with most easily.
Pascal Programming
 If
all items are of the same type
. . .a single array of that type works
best.
 If items differ in type, use an array
of records.
 Or, use parallel arrays.
Pascal Programming
with statements . . .
 With provides instruction(s) to carry out
an operation.
 Syntax

– with record_variable_list do
• statement (usually compound)

The records_variable_list is separated
by commas.
Pascal Programming
Stacks and Queues
 The stack, a specialized data structure,
compares to a stack of shoe boxes.
 New data goes into a box on the top of
the stack.
 To read from the stack, access the first
box, discard it, read the second box,
discard it etc . . ..

Pascal Programming
Stacks serves the purpose of reversing
the order of data -- first in, last out.
 e g: stacktop = (TopValue) -1 . . . This
creates a decrementation of the stack.


The text illustrated using the stack to match
parenthesis. Find and save a left parenthesis
then look for the right one, eliminate all
characters in between. Cry fowl when a left
parenthesis occurs again without a right one.
Pascal Programming
Queue . . . A data structure for first
in/first out data handling. The opposite
of the stack.
 Like a waiting line . . .first come . . .first
served.
 A queue can be implemented so that as
the array empties and reaches the end
the beginning fills again. It becomes
circular.

Pascal Programming
Pascal Sets
 Sets contain data like a list but that data
is unordered.
 To use sets in a variable, we use set
types
 The ordinals in the sets are its
elements.
 These are the Base_type of the set.

Pascal Programming
Example
 type

– Grade = set of 0 .. 100;

constant
– superior: grade = [94 .. 100]

The first illustrates the declaration of a
set and the second the appending of a
typed constant.