Chapters 7-10 Combined

अब Quizwiz के साथ अपने होमवर्क और परीक्षाओं को एस करें!

The termination model resumes control at the exact point an exception is first raised after it is handled

F

To exit a loop completely, the continue statement is used

F

If a pointer is passed by value, the procedure cannot modify the contents of the pointer. T/F

False

Pass by name is included in all Algol60 descendants. T/F

False

Polymorphism allows names to have multiple types but does not allow for static type checking. T/F

False

The declaration before use scoping rule in C allows any declaration to be used as long as it is declared within the current block. T/F

False

The meaning of a name cannot be determined by the attributes associated with it. T/F

False

In the absence of side effects, normal order evaluation does not change the semantics of a program

T

Lisp rewuires all expression to be fully parenthesized

T

The do statement ensure that the code of a loop is executed at least once

T

A call to procedure transfer to control to the beginning of the body of the called procedure. T/F

True

All computer data is finite. T/F

True

Declarations in surrounding blocks are called nonlocal declarations. T/F

True

Hindley-Milner type checking assigns type varaibles to all unnamed types. T/F

True

In C, blocks are called compound statements. T/F

True

In C, types that are constructed using type constructors are called derived types. T/F

True

In C/C++, multidimensional array declaration must have all but the first dimension specified. T/F

True

An activation block cannot communicate with the rest of the program. T/F

False

An activation record is a stored log, recording each time a procedure or function is activated. T/F

False

Another name for activation record is stack record. T/F

False

If an operator can be used to perform more than one operation, it is said to be shadowed. T/F

False

In Ada, parameters can be declared an in or out, but nor both. T/F

False

In C++, declarations that bind all potential attributes are called prototypes. T/F

False

Java does not allow dynamically sized arrays. T/F

False

Java requires manual deallocation of objects. T/F

False

Java uses assignment by cloning for all object variables. T/F

False

Lexical scoping rules are sometimes called dynamic scoping. T/F

False

Pass by value implies that changes cannot occur outside the procedure through the use of parameters. T/F

False

The most general type possible for a polymorphic function with a given implementation is called its __ type. A. General B. Base C. Principal D. Specialized

Principal

A __ is a mechanism in programming for abstracting a group of actions or computations. A. Statement B. Procedure C. Block D. Method

Procedure

A(n) __ type uses itself in its declaration. A. Bootstrap B. Recursive C. Reference D. Enumerated

Recursive

In Java, types constructed using type constructors are called __ types. A. Reference B. Simple C. Primitive D. Integral

Reference

______ states that any two expressions in a program that have the same values may be substituted for each other anywhere in the program

Referential transparency

When a structured type is cast, the translation merely __ the memory as a different type. A. Reallocates B. References C. Reinterprets D. Realigns

Reinterprets

__ are used to revert control back to a method caller. A. Return-statements B. Revert-statements C. Control-statements D. Redirect-statements

Return-statements

operators can be written in infix, postfix or prefix notation

T

A procedure is a mechanism for abstracting a group of actions or computations. T/F

True

Locations are places where values can be stored. T/F

True

Pass by value is the default mechanism in C++ and Pascal. T/F

True

Pointers are often used in the creation of recursive types. T/F

True

Procedures were first introduced when memory was scarce, as a way of splitting a program into small, separately compiled pieces. T/F

True

When a nonlocal name is used in an expression, the declaration that applies to that name cannot be determined until execution time under dynamic scoping. T/F

True

You call a procedure by stating its name, together with arguments to the call. T/F

True

____ are any storable quantities, such as integers. a. Values b. Identifiers c. Data d. Locations

Values

In the guarded if statement, the _____ are the Boolean expressions

guards

The most closely nested rule is used to disambiguate _____

if statements

If an operator performs more than one function it is said to be ____. a. shadowed b. implicit c. overloaded d. variable

overloaded

Variables declared in the calling method are said to be in the __ environment. A. Calling B. Defining C. Static D. Stack

Calling

Explicit conversions are often referred to as __. A. Casts B. Coercions C. Narrowing conversions D. Widening conversions

Casts

A procedure with no nonlocal dependencies is considered to be in __ forms. A. Independent B. Closed C. Control D. Structured

Closed

Implicit conversion are often referred to as __. A. Type leaps B. Symbolic conversions C. Interpretive conversions D. Coercions

Coercions

Type __ are used to construct complex types from basic types. A. Constructors B. Assemblers C. Checkers D. Combiners

Constructors

Ada is a language with no explicit types. T/F

False

All data types must be names. T/F

False

Enumerated types are never ordered. T/F

False

Every language comes with a set of predefined types from which all other types are constructed. T/F

False

Recursion is allowed in Fortran77. T/F

False

Reference counting is a lazy method of storage reclamation. T/F

False

Static binding occurs during execution. T/F

False

Static constants are always computed at load time. T/F

False

Static type checking occurs at runtime. T/F

False

The type system is the naming convention for data types. T/F

False

In a(n) __ environment, all memory allocation can be preformed at load time, and the location of all variables are fixed for the duration of program execution. A. Dynamic B. Universal C. Global D. Fully static

Fully static

____ are generally bound at load time. a. All variables b. All attributes c. Predefined identifiers d. Global variables

Global variables

If a type must be inferred by the translator, it is considered to be a(n) __ type. A. Explicit B. Strong C. Implicit D. Weak

Implicit

_____ code is code for a function body that is inserted directly at the point where the function would be called

Inline

A procedure is defined by providing a(n) and a body. A. Name B. Interface C. Activation Record D. Error Handler

Interface

____ declarations are associated with a specific block. a. Local b. General c. Global d. Specific

Local

Type declaration is the process of __. A. Inferring new data types B. Creating type constructors C. Naming new data types D. Associating data types of identifiers

Naming new data types

A procedure communicates with the rest of the program through its parameters and through __. A. Constants B. Functions C. Nonlocal references D. Overloaded variables

Nonlocal references

Historically, the interpretation of pass by name arguments as functions to be evaluated was expressed by referring to them as __. A. chunks B. objects C. thunks D. expressions

Thunks

A block consists of a sequence of declarations followed by a sequence of statements. T/F

True

A fundamental abstraction mechanism in any programming language is the use of names, or identifiers to denote language entities or constructs. T/F

True

A narrowing conversion is an implicit conversion that may result in loss of data. T/F

True

A procedure declaration creates a constant procedure value and associates a symbolic name with that value. T/F

True

A procedure specification includes its names, the names and types of its formal parameters and its return type, if any. T/F

True

A reference is the address of an object under control of the system, which cannot be used as a value or operated on in any way. T/F

True

A translator's symbol table stores the mappings between names and attributes. T/F

True

A union is considered to be discriminated if a tag is added to the union to distinguish the type of the element. T/F

True

Ada has a completely safe union mechanism called a variant record. T/F

True

Any scoping structure that can be referenced directly in a language must have its own symbol table. T/F

True

Binding time refers to when an attribute is computed and bound to a name. T/F

True

Casts are permitted on structured types if they have identical sizes in memory. T/F

True

Dangling references are locations that have been deallocated from the environment but can still be accessed by a program. T/F

True

Declaration visibility includes only those regions of a program where the bindings of the declaration apply. T/F

True

Each function call generates a region of allocated memory associated with the function; this is called an activation record. T/F

True

Each type descriptor includes a field called a type for to identify the category of the data type. T/F

True

Explicit typing can be used to remove ambiguities in programs. T/F

True

For multidimensional array declarations must have all but the first dimension specified. T/F

True

For multidimensional arrays, the column-major form of allocation can be used only if all array indices must be specified together. T/F

True

In Ada, simple data types are called scalar types. T/F

True

In C and Java, parameters are passed by value behave as local variables of the procedure. T/F

True

In a block-structured language with heap allocation, there are three kinds of allocation: static (for global variables), automatic (for local variables), and dynamic (for heap allocation). T/F

True

In a strongly typed programming language, the set of legal programs is a proper subset of the set of safe programs. T/F

True

In pass by name parameter passing, arguments are not evaluated until their actual use as parameters in the procedure. T/F

True

In strongly typed languages, procedure calls must be checked so that the arguments agree in type and number with the parameters of the procedure. T/F

True

Mark and sweep is a lazy method of storage reclamation. T/F

True

Names can be bound to attributes prior to translation time, as in the case of predefined identifiers. T/F

True

Names can be reused within nested blocks by associating each declaration with a level number and an offset. T/F

True

Pass by name can be described an an advanced inlining process for procedures. T/F

True

Pass by reference is also known as copy-in, copy-out. T/F

True

Pass by value can be described as an advanced inlining process for procedures. T/F

True

Static type information allows compilers to allocate memory efficiently. T/F

True

Subset types inherit operations from their parent types. T/F

True

The lifetime of an object is the duration of its allocation in the environment. T/F

True

Assignment by sharing works by ____. a. accessing shared memory b. duplicating memory addresses c. copying the location of the first variable to the second d. copying the value to a new location

copying the location of the first variable to the second

The process a translator goes through to determine whether the type information in a program is consistent is called type __ . A. Inference B. Constructing C. Equivalence D. Checking

inference

The for - loop construct provides for a(n) _____ expression, a test expression and an update expression

initializer

In C++, exception handlers are associated with _____ blocks

try-catch

Languages without static type systems are usually called __ languages. A. reverse types B. untyped C. weakly typed D. strongly types

untyped

The bindings of ____ to storage locations is called the memory. a. names b. attributes c. values d. identifiers

values

A ____ is an object whose stored value can change during execution. a. method b. variable c. pointer d. class

variable

Functions are written in prefix form

T

___ occurs when multiple access links must be followed to arrive at a nonlocal variable

Access chaining

The __ is the memory allocated for the local objects of a procedure block. A. Call record B. Activation record C. Activation heap D. Heap record

Activation record

__ types have no name A. Generic B. Anonymous C. Variable D. User-Defined

Anonymous

__ are known as actual parameters. A. Arguments B. Global variables C. Control statements D. Normal parameters

Arguments

__ is a term used for the type correctness of assignments. A. Assignment Linking B. Value Assignment C. Assignment compatibility D. Backwards compatibility

Assignment compatibility

_____ errors can occur at any moment, not necessarily in response to program code execution

Asynchronous

_____ statements transfer control to and from sequences of statements

Block

The group of actions in a procedure is called the __ of the procedure. A. Parameters B. Arguments C. Activation record D. Body

Body

If a parameter behaves as a constant value during execution, the parameter is passed __. A. By address B. By reference C. By type D. By value

By Value

If the parameter becomes an alias for the argument, the parameter is passed __. A. by reference B. by address C. by value D. by type

By reference

Pass __ copies in the parameter value, and at the end of execution, copies out the final value of the parameter. A. by value B. by reference C. by value-result D. by address

By value-result

The __ environment houses global variables. A. Calling B. Dynamic C. Defining D. Universal

Defining

To obtain the value of a location in memory referenced by a pointer, the pointer must be __. A. Dereferenced B. Linked C. Evaluated D. Product

Dereferenced

The primary data structure used to represent type attributes is called a type __. A. Definer B. Descriptor C. Constructor D. Enumerator

Descriptor

Ordinal data types in Ada are called __ types. A. Simple B. Scalar C. Composite D. Discrete

Discrete

If information is maintained and checked at runtime, the checking is __. A. Dynamic B. Static C. Referential D. Inferential

Dynamic

____ binding occurs during execution a. Rapid b. Static c. Value d. Dynamic

Dynamic

__ types are set whose elements are named and listed explicitly. A. List B. Array C. Enumerated D. Simple

Enumerated

The __ determines the allocation of memory. A. stack B. Environment C. Memory Manager D. Translator

Environment

Type __ algorithms determine if two separately declared types are the same. A. Inference B. Equivalence C. Comparison D. Enforcing

Equivalence

A unary operator can take one or more operands

F

Alan Turing introduced the guarded if statement

F

All languages restrict expression from producing side effects

F

An expression, in its purest mathematical form, produces side effects

F

Delayed evaluation is sometimes called strict evaluation

F

Exception handlers throw exceptions

F

If-then-else is an example of a binary operator

F

A procedure communicates with its calling environment through __. A. Parameters B. Local variables C. Constants D. Shared Memory

Parameters

Which of the following languages has no explicit types or translation-time typing? A. Ada B. Java C. C++ D. Scheme

Scheme

_____ evaluation stops once the truth value of a Boolean expression is known

Short-circuit

A _____ is executed for its side effects and returns no value

Statement

__ equivalence in type checking is when two objects are built in the same way using the same type constructors from the same simple types. A. Referential B. Simple C. Constructor D. Structural

Structural

In C, the Cartesian product type constructor is available as the __ construction. A. structure B. set C. array D. enumerator

Structure

To create a new data type that contains a subset of a known data type, the __ mechanism is used. A. subtype B. anonymous union C. intersection D. product

Subtype

A language has referential transparency when its expression produce no side effects

T

A sentinel-based loop if often used in situations where a series of input values must be processed

T

Bracketing keywords are used in the if statement to remove ambiguity

T

Exception handling is an attempt to imitate in a programming language the features of a hardware interrupt or error trap

T

If-expression never have all of their subexpressions evaluated

T

If-operators are a special case of operators that delay evaluating their operands

T

In a case statement, no two listed cases may have the same value after conversion

T

In normal order evaluation, each operation begin its evaluation before its operands are evaluated

T

Most languages use a mix-fix form that distributes the syntax of an if-then-else operator throughout the expression

T

Synchronous errors occur in direct reaction to program execution

T

Syntactic sugar is a language construct that is completely expressible in terms of other constructs

T

When parameters are passed by value, the arguments are expressions that are evaluated at the time of the call, with all the arguments' value becoming the values of the parameters during execution of the procedure. T/F

True

When you define a procedure, the parameters you list in the interface are the formal parameters. T/F

True

A pointer is an object whose stored value is a ____. a. activation record b. direction c. compound value d. reference to another object

a. reference to another object

Each call to a method is referred to as a ____. a. activation b. branching c. execution d. invocation

activation

In C, the ____ operator retrieves the address of a variable as a pointer. a. dereference b. allocation c. address of d. reference

address of

A ____ occurs when the same object is bound to two different names at the same time. a. duplicate b. multi-reference c. alias d. conflict

alias

Sequence operators are used to ______

allow several expression to be combined into a single expression and evaluated

Evaluating all operands before applying operators is called ____ evaluation

applicative order

In a function, the operands are viewed as ___

arguments

Ada uses a(n) ______ for its if-statements

bracketing keyword

In object-oriented languages such as Java and Smalltalk, the ____ is the only declaration that does not itself need to be inside another class declaration. a. file b. module c. package d. class

class

The process of joining a block of free memory with immediately adjacent blocks to form a larger contiguous block of free memory is called ___

coalescing

In C, the _____ statement skips the remainder of the loop body and resumes execution with the next evaluation of the control expression

continue

The pointer to the previous activation record is the ___ link

control

An ambiguity in which it cannot be determined which id statement that should be associated with a single else statement is called the ____ problem

dangling - else

In C++, declarations that bind all potential attributes are called ____. a. symbols b. prototypes c. explicits d. definitions

definitions

The bindings of names to storage locations is called the ____. a. environment b. compiler c. symbol table d. translator

environment

The ____ environment maintains the location of the current activation record

environment pointer

When an error is thrown, a(n) _____ is executed to recover normal execution

exception handler

______ are an example of implicit control mechanisms

exception handlers

Stack unwinding occurs when an exception is thrown and control is ______

exited back in search of a handler

In a(n) ___ environment, activation records are not removed as long as there are references to any of its local objects

fully dynamic

Arguments are specified for use with ____

functions

Language systems that automatically reclaim garbage are said to perform ____. a. recycling b. garbage collection c. memory reallocation d. memory reclamation

garbage collection

A general form for a loop construct is given by Dijkstra's structure called the _____

guarded do

In C, the scope of a binding is limited to the block in which its associated declaration appears. This scoping rule is called ____ scope. a. lexical b. block c. package d. namespace

lexical

The ____ is the level number and offset of a declared name. a. lexical address b. explicit address c. compound address d. block address

lexical address

The body of an externally defined function will not be bound until ____. a. load time b. link time c. translation time d. execution time

link time

A ____ constant is a name for a literal. a. manifest b. static c. compile-time d. symbolic

manifest

Garbage is defined as ____. a. variables with duplicate values b. a collection of unused variables c. memory that has been allocated in the environment but that has become inaccessible to the program d. a collection of unused constants

memory that has been allocated in the environment but that has become inaccessible to the program

The access link provides access to ___

nonlocal variables

The local variable ___ stores the distance from the environment pointer

offset

Dynamic allocation places variables ____. a. on the heap b. in the pointer list c. on the stack d. in the symbol table

on the heap

If an exception is thrown and no handler is found in the block, control is passes to the next enclosing block in a process that is called ____ the exception

propagating

Reference counting is a form of ___

reclamation of storage that is no longer referenced

If control resume at the point where the exception was the first raised, _____ model is being used

resumption

If a program crashes, it fails the ______ test

robustness

A data type is a(n) __? A. encoding form B. set of values C. style of storage D. group of location in memory

set of values

A variable declared locally within a block is said to ____ a global variable of the same name. a. shadow b. mirror c. occlude d. override

shadow

When a change in the value of a variable persists beyond the execution of a statement, a ____ has occurred. a. error b. side effect c. compound change d. persistent effect

side effect

The scope of a binding is ____. a. the region over which the binding is maintained b. the precision of the binding c. the magnitude of the binding d. the time when the binding takes place

the region over which the binding is maintained

The advantage of postfix and prefix forms of expression is that ____

they do not require parentheses to express the order in which operators are applied


संबंधित स्टडी सेट्स

Lesson 3 & Electrical Quantities and Ohm's Law

View Set

MGMT Ch 13 - Contract Performance, Breach, and Remedies

View Set

Neuromuscular Disorders: DMD and BMD

View Set

kjanatomy- ch. 1- 4 anatomical planes

View Set

Chapter 18: Negotiable Instruments: Transferability and Liability

View Set