Terms in this set (66)
It defines a collection of data values and a set of predefined operations on those values
It is one of the fundamental things — like a word or a number — that a program manipulates
User-defined Data Types
A data type that is derived from an existing data type.
Primitive Data Types
Data types that are not defined in terms of other types.
Character String Type
Data type in which the values consist of sequences of characters
Term for substring reference
Most common primitive data type
In ________________________ notation, the representation of a negative integer is formed by taking the logical complement of the positive version of the number and adding one.
In _________________________ notation, the negative of an integer is stored as the logical complement of its absolute value.
These are data types model real numbers, but the representations are only approximations for many real values; represented as fractions and exponents
The accuracy of the fractional part of a value, measured as the number of bits.
It is a combination of the range of fractions and, more important, the range of exponents.
Numeric data type that is represented as ordered pairs of floating-point values
Binary Coded Decimal
A representation in which decimal types are stored very much like character strings, using binary codes for the decimal digits.
The length of a _____________ string cannot be changed. It is "fixed" for the duration of program execution.
Limited Dynamic length
A string length option that allows strings to have varying length up to a declared and fixed maximum set by the variable's definition
This string length option allows strings to have varying length with no maximum. This option requires the overhead of dynamic storage allocation and deallocation but provides maximum flexibility.
Collection of the attributes of a variable
The one in which the range of possible values can be easily associated with the set of positive integers.
Ordinal type in which all of the possible values, which are named constants, are provided, or enumerated, in the definition.
A ____________ type is a contiguous subsequence of an ordinal type.
In this design, subranges are included in the category of types called subtypes.
___________ is a homogeneous aggregate of data elements in which an individual element is identified by its position in the aggregate, relative to the first element.
A multi-dimensioned array in which all of the rows have the same number of elements and all of the columns have the same number of elements.
The one in which the lengths of the rows need not be the same.
An unordered collection of data elements that are indexed by an equal number of values
A _____________ is an aggregate of data elements in which the individual elements are identified by names and accessed through offsets from the beginning of the structure.
Record type where every two adjacent fields are separated from each other by a delimiter and the whole record is terminated by record delimiter as well.
Record type where every field has some specified length (size). It is counted in numbers of characters.
Record type where fields can be separated from each other by a delimiter and also have some specified length (size). The size is counted in number of characters
Fully Qualified Reference
A_____________ to a record field is one in which all intermediate record names, from the largest enclosing record to the specific field, are named in the reference
In an ______________________, the field is named, but any or all of the enclosing record names can be omitted, as long as the resulting reference is clear in the referencing environment
A type whose variables may store different type values at different times during program execution
Fortran, C, and C++ provide union constructs; the union in these languages is called ____________
Type checking of unions require that each union include a type indicator called a __________
A __________ can be used to access a location in the area where storage is dynamically created (usually called a heap)
A pointer that contains the address of a heap-dynamic variable that has been deallocated; Pointing to storage being used for another purpose
A pointer refers to an address in memory, while a __________ refers to an object or a value in memory
The process of separating clients from implementations by hiding information
An object from a data type is immutable if its data-type value cannot change once created.
Java provides the interface construct for declaring a relationship between otherwise unrelated classes, by specifying a common set of methods that each implementing class must include.
A string of characters used to identify some entity in a program.
A word of a programming language that is special only in certain contexts.
A special word of a programming language that cannot be used as a name. As a language design choice, these are better than keywords because the ability to redefine keywords can be confusing
Abstraction of memory cell
Abstract Memory Cell
The physical cell or collection of cells associated with a variable
An association, such as between an attribute and an entity, or between an operation and a symbol.
Type of Binding: if it first occurs before run-time and remains unchanged throughout program execution.
A static declaration which a program statement used for declaring the types of variables. (ex String Lastname;)
A static declaration that is a default mechanism for specifying types of variables. (ex Lastname = "Go";)
Type of Binding: if it first occurs during execution or can change during execution of the program.
Rather than by assignment statement, types are determined from the context of the reference
Getting a cell from some pool of available cells
Putting a cell back into the pool
Bound to memory cells before execution begins and remains bound to the same memory cell throughout execution (ex. static int count = 0;)
Storage bindings are created for variables when their declaration statements are elaborated. (ex. public method 1 (int arg1);
Allocated and deallocated by explicit directives, specified by the programmer, which take effect during execution (ex. Student s = new Student(); )
Allocation and deallocation caused by assignment statements. (ex. Highs = (74,80,85,90) )
The activity of ensuring that the operands of an operator are of compatible types. (1. Static 2. Dynamic)
One that is either legal for the operator, or is allowed under language rules to be implicitly converted, by compiler generated code, to a legal type
Application of an operator to an operand of an inappropriate type
A programming language is strongly typed if type errors are always detected
An identifier that represents a permanent value.