160 likes | 382 Views
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 .
E N D
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 structuresare 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.