0% found this document useful (0 votes)
181 views7 pages

2 Elementary Data Types

Elementary data types are the basic data types built upon hardware features that are provided by programming languages. They include types like integer, real, character, Boolean, enumeration, and pointer. Data objects represent locations in memory that are assigned names and have attributes like type, name, component, location, and value. Variables and constants are how data objects are represented in programs. Data types define a class of data objects that have a set of common operations and specify attributes like possible values, operations that can be performed, and how operations are defined.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
181 views7 pages

2 Elementary Data Types

Elementary data types are the basic data types built upon hardware features that are provided by programming languages. They include types like integer, real, character, Boolean, enumeration, and pointer. Data objects represent locations in memory that are assigned names and have attributes like type, name, component, location, and value. Variables and constants are how data objects are represented in programs. Data types define a class of data objects that have a set of common operations and specify attributes like possible values, operations that can be performed, and how operations are defined.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 7

Elementary Data Types

Dr.Narayana Swamy Ramaiah


Assoc.Prof, Dept of Electrical and
Computer Engineering,
Arba Minch University
Properties of Types and Objects
• Basic differences among programming
languages exist in the:
• Types of data allowed
• Types of operations available
• Mechanisms for controlling the sequence of operations
• Elementary data types: built upon the
available hardware features
• Structured data types: software simulated
Data Object
• A location in memory with an assigned name in the actual computer.
• Types of data objects:
– Programmer defined data objects - variables, arrays, constants, files, etc.
– System defined data objects - set up for housekeeping during program execution, not
directly accessible by the program. E.g. run-time storage stacks, subprogram activation
records
• Data value: a bit pattern that is recognized by the computer.
– Elementary data object: contains a data value that is manipulated as a unit.
– Data structure: a combination of data objects.
• Attributes and Bindings
– Type: determines the set of data values that the object may take and the applicable
operations.
– Name: the binding of a name to a data object.
– Component: the binding of a data object to one or more data objects, pointers.
– Location: the storage location in memory assigned by the system.
– Value: the assignment of a bit pattern to a name.
Type, name and component are bound at translation, location is bound at loading, value is
bound at execution
Data objects in programs
• In programs, data objects are represented as
variables and constants
– Variables: Data objects defined and named by the programmer
explicitly.
– Constants: a data object with a name that is permanently bound to a
value for its lifetime.
• Literals: constants whose name is the written representation of their
value.
• A programmer-defined constant: the name is chosen by the programmer
in a definition of the data object.
Persistence
• Data objects are created and exist during the
execution of the program. Some data objects
exist only while the program is running. They are
called transient data objects.
• Other data objects continue to exist after the
program terminates, e.g. data files. They are
called persistent data objects.
• In certain applications, e.g. transaction-based
systems the data and the programs coexist
practically indefinitely, and they need a
mechanism to indicate that an object is
persistent. Languages that provide such
mechanisms are called persistent languages.
Data Type
• A data type is a class of data objects together with a
set of operations for creating and manipulating them.
– Examples of elementary data types: integer, real,
character, Boolean, enumeration, pointer.

• Specification of elementary data types


– Attributes that distinguish data objects of that type
• Data type, name - invariant during the lifetime of the object
– stored in a descriptor and used during the program execution
– used only to determine the storage representation, not used explicitly
during execution
– Values that data object of that type may have
• Determined by the type of the object
Usually an ordered set, i.e. it has a least and a greatest value
– Operations that define the possible manipulations of data objects of that type.
• Primitive - specified as part of the language definition
• Programmer-defined (as subprograms, or class methods)

– An operation is defined by:


• Domain - set of possible input arguments
• Range - set of possible results
• Action - how the result is produced

– The domain and the range are specified by the operation signature
• the number, order, and data types of the arguments in the domain,
• the number, order, and data type of the resulting range

– mathematical notation for the specification:


• op name: arg type x arg type x … x arg type result type

– The action is specified in the operation implementation

– Sources of ambiguity in the definition of programming language operations


• Operations that are undefined for certain inputs.
• Implicit arguments, e.g. use of global variables
• Implicit results - the operation may modify its arguments
• Self-modification - usually through change of local data between calls,
i.e. random number generators change the seed.

– Subtypes : a data type that is part of a larger class.


Examples: in C, C++ int, short, long and char are variations of integers.
– The operations available to the larger class are available to the subtype. This can be
implemented using inheritance.

You might also like