, TESTBANK FOR Programming Languages First Edition Perugini
Important Notes
The file includes the complete test bank, organized chapter by chapter.
A sample of selected pages has been provided for preview.
All available appendices and Excel files (if included in the original resources) are
provided.
Quizzes, Midterm and final exams are included (if available in the original resources).
We continuously update our files to ensure you receive the latest and most accurate
editions.
New editions are added regularly – stay connected for updates!
⚠️Note on Answer Keys: If the answer key is not included within the chapter
questions, you will find the complete answers and solutions at the end of each
chapter.
✅ Why Buy From Us?
📚 Complete & organized chapter-by-chapter – no missing content, no guessing.
⚡ Instant digital delivery – get your file the moment you pay, no waiting.
📅 Always up to date – we track new editions so you always get the latest version.
💬 Friendly support – real humans ready to help, anytime you need us.
🔒 Safe & secure – thousands of satisfied students trust us every semester.
🛡️Our Guarantees
💰 Money-Back Guarantee: Not satisfied? We offer a full refund – no questions asked.
🔄 Wrong File? No Problem: Contact us and we will replace it immediately with the
correct version, free of charge.
⏰ 24/7 Support: We are always here – reach out anytime and expect a fast response.
,Import Settings:
Base Settings: Brownstone Default
Information Field: Complexity
Information Field: Ahead
Information Field: Subject
Information Field: Title
Highest Answer Letter: E
Multiple Keywords in Same Paragraph: No
Chapter: Chapter 1 - Quiz
Multiple Choice
1. Which of the following is not an aspect of the imperative style of programming?
A) First-class functions
B) Assignment statements
C) Sequential execution
D) Variables
Ans: A
Complexity: Moderate
Ahead: 1.4 Styles of Programming
Subject: Chapter 1
Title: Introduction
2. Which of the following is not a criterion on which to evaluate programming languages?
A) Readability
B) Writability
C) Linkability
D) Portability
E) Usability
Ans: C
Complexity: Easy
Ahead: 1.4 Styles of Programming
Subject: Chapter 1
Title: Introduction
3. Scheme primarily supports ___________ programming, but has some support for ___________
programming.
A) imperative; functional
B) functional; imperative
Ans: B
Complexity: Moderate
Ahead: 1.4 Styles of Programming
Subject: 1
Title: Introduction
,True/False
1. True or False? The value of a variable is bound statically.
Ans: False
Complexity: Easy
Ahead: 1.3 The World of Programming Languages
Subject: Chapter 1
Title: Introduction
2. True or False? The memory address of a local variable is bound statically.
Ans: False
Complexity: Moderate
Ahead: 1.3 The World of Programming Languages
Subject: Chapter 1
Title: Introduction
3. True or False? The memory address of a global variable is bound statically.
Ans: True
Complexity: Moderate
Ahead: 1.3 The World of Programming Languages
Subject: Chapter 1
Title: Introduction
4. True or False? Statements and expressions are synonymous in programming languages (i.e., they
refer to the same thing).
Ans: False
Complexity: Easy
Ahead: 1.4 Styles of Programming
Subject: Chapter 1
Title: Introduction
5. True or False? Functions are first-class in languages supporting functional programming.
Ans: True
Complexity: Easy
Ahead: 1.4 Styles of Programming
Subject: Chapter 1
Title: Introduction
6. True or False? Objects are first-class in C++.
Ans: True
Complexity: Moderate
,Ahead: 1.4 Styles of Programming
Subject: Chapter 1
Title: Introduction
7. True or False? Objects are first-class in Java.
Ans: True
Complexity: Moderate
Ahead: 1.4 Styles of Programming
Subject: Chapter 1
Title: Introduction
8. True or False? The concept of a language paradigm is antiquated.
Ans: True
Complexity: Easy
Ahead: 1.4 Styles of Programming
Subject: Chapter 1
Title: Introduction
9. True or False? It is possible for a language with support for pure functional programming to have an
assignment operator.
Ans: False
Complexity: Moderate
Ahead: 1.4 Styles of Programming
Subject: Chapter 1
Title: Introduction
10. True or False? Any function that is without side effect is referentially transparent.
Ans: False
Complexity: Difficult
Ahead: 1.4 Styles of Programming
Subject: Chapter 1
Title: Introduction
11. True or False? Any function that is referentially transparent is without side effect.
Ans: False
Complexity: Difficult
Ahead: 1.4 Styles of Programming
Subject: Chapter 1
Title: Introduction
12. True or False? Speed of program development is no longer as important a factor in the design of
programming languages as it once was.
Ans: False
Complexity: Easy
,Ahead: 1.5 Factors Influencing Language Development
Subject: Chapter 1
Title: Introduction
Short Answer
1. Which concept of programming languages is fundamental in the sense that other concepts can be
viewed as instances of this concept?
Ans: binding
Complexity: Moderate
Ahead: 1.3 The World of Programming Languages
Subject: Chapter 1
Title: Introduction
2. The imperative style of programming is based on which computer architecture?
Ans: von Neumann architecture
Complexity: Easy
Ahead: 1.4 Styles of Programming
Subject: Chapter 1
Title: Introduction
Essay
1. What is a programming language?
Ans: A programming language is a system of data-manipulation rules for describing computation.
Complexity: Easy
Ahead: 1.3 The World of Programming Languages
Subject: Chapter 1
Title: Introduction
2. List five binding times in the study of programming languages, arrange them in order from earliest to
latest.
Ans: language definition time, language implementation time, compile time, link time, load time, and run-
time
Complexity: Moderate
Ahead: 1.3 The World of Programming Languages
Subject: Chapter 1
Title: Introduction
3. List two other styles of programming other than the familiar imperative and object-oriented styles of
programming.
Ans: functional programming, logic; declarative programming
,Complexity: Easy
Ahead: 1.4 Styles of Programming
Subject: Chapter 1
Title: Introduction
,Import Settings:
Base Settings: Brownstone Default
Information Field: Complexity
Information Field: Ahead
Information Field: Subject
Information Field: Title
Highest Answer Letter: D
Multiple Keywords in Same Paragraph: No
Chapter: Chapter 2 - Quiz
Multiple Choice
1. C++ is a(n) _________ language, but its parser uses a(n) __________ grammar.
A) context-free; context-sensitive
B) context-sensitive; context-sensitive
C) context-free; context-free
D) context-sensitive; context-free
Ans: D
Complexity: Difficult
Ahead: 2.5 Context-Free Languages and Grammars
Subject: Chapter 2
Title: Formal Languages and Grammars
2. Which of the following is a data structure that is necessary and sufficient to recognize a sentence from
a context-free language?
A) Petri net
B) Stack
C) Finite state automaton
D) Binary tree
Ans: B
Complexity: Moderate
Ahead: 2.7 Language Recognition: Parsing
Subject: Chapter 2
Title: Formal Languages and Grammars
3. Which of the following requires context in programming languages?
A) Determining if a variable has been declared before it is used
B) Matching parentheses
C) Evaluating arithmetic expressions
Ans: A
Complexity: Moderate
Ahead: 2.5 Context-Free Languages and Grammars
Subject: Chapter 2
Title: Formal Languages and Grammars
,4. Determining the meaning of which of the following operators in C requires context?
A) +
B) *
C) /
D) None of these is correct.
Ans: B
Complexity: Moderate
Ahead: 2.11 Context-Sensitivity and Semantics
Subject: Chapter 2
Title: Formal Languages and Grammars
5. C is a ____________ language implemented with a ____________ grammar.
A) context-free; context-sensitive
B) context-sensitive; context-free
Ans: B
Complexity: Difficult
Ahead: 2.5 Context-Free Languages and Grammars; 2.11 Context-Sensitivity and Semantics
Subject: 2
Title: Formal Languages and Grammars
True/False
1. True or False? There does not exist an infinite language L, where L is regular.
Ans: False
Complexity: Moderate
Ahead: 2.3 Regular Expressions and Regular Languages
Subject: Chapter 2
Title: Formal Languages and Grammars
2. True or False? A left-recursive production rule implies left associativity of the operator used in the rule.
Ans: True
Complexity: Moderate
Ahead: 2.9 Grammar Disambiguation
Subject: Chapter 2
Title: Formal Languages and Grammars
3. True or False? A bottom-up parse of a candidate sentence constructs a leftmost derivation in reverse.
Ans: False
Complexity: Moderate
Ahead: 2.7 Language Recognition: Parsing
Subject: Chapter 2
Title: Formal Languages and Grammars
, 4. True or False? Every regular language is a context-free language.
Ans: True
Complexity: Moderate
Ahead: 2.13 Chapter Summary
Subject: Chapter 2
Title: Formal Languages and Grammars
5. True or False? Every regular language is a context-sensitive language.
Ans: True
Complexity: Moderate
Ahead: 2.13 Chapter Summary
Subject: Chapter 2
Title: Formal Languages and Grammars
6. True or False? If G is a regular grammar, L(G) is a regular language.
Ans: True
Complexity: Moderate
Ahead: 2.4 Grammars and Backus–Naur Form
Subject: Chapter 2
Title: Formal Languages and Grammars
7. True or False? If G is not a regular grammar, L(G) is not a regular language.
Ans: False
Complexity: Moderate
Ahead: 2.4 Grammars and Backus–Naur Form
Subject: Chapter 2
Title: Formal Languages and Grammars
8. True or False? Syntactic ambiguity in a grammar is not a problem for language generation.
Ans: True
Complexity: Moderate
Ahead: 2.12 Thematic Takeaways
Subject: Chapter 2
Title: Formal Languages and Grammars
9. True or False? Providing two parse trees for the same sentence is sufficient to prove that a grammar is
ambiguous.
Ans: True
Complexity: Moderate
Ahead: 2.8 Syntactic Ambiguity
Subject: Chapter 2
Title: Formal Languages and Grammars
Important Notes
The file includes the complete test bank, organized chapter by chapter.
A sample of selected pages has been provided for preview.
All available appendices and Excel files (if included in the original resources) are
provided.
Quizzes, Midterm and final exams are included (if available in the original resources).
We continuously update our files to ensure you receive the latest and most accurate
editions.
New editions are added regularly – stay connected for updates!
⚠️Note on Answer Keys: If the answer key is not included within the chapter
questions, you will find the complete answers and solutions at the end of each
chapter.
✅ Why Buy From Us?
📚 Complete & organized chapter-by-chapter – no missing content, no guessing.
⚡ Instant digital delivery – get your file the moment you pay, no waiting.
📅 Always up to date – we track new editions so you always get the latest version.
💬 Friendly support – real humans ready to help, anytime you need us.
🔒 Safe & secure – thousands of satisfied students trust us every semester.
🛡️Our Guarantees
💰 Money-Back Guarantee: Not satisfied? We offer a full refund – no questions asked.
🔄 Wrong File? No Problem: Contact us and we will replace it immediately with the
correct version, free of charge.
⏰ 24/7 Support: We are always here – reach out anytime and expect a fast response.
,Import Settings:
Base Settings: Brownstone Default
Information Field: Complexity
Information Field: Ahead
Information Field: Subject
Information Field: Title
Highest Answer Letter: E
Multiple Keywords in Same Paragraph: No
Chapter: Chapter 1 - Quiz
Multiple Choice
1. Which of the following is not an aspect of the imperative style of programming?
A) First-class functions
B) Assignment statements
C) Sequential execution
D) Variables
Ans: A
Complexity: Moderate
Ahead: 1.4 Styles of Programming
Subject: Chapter 1
Title: Introduction
2. Which of the following is not a criterion on which to evaluate programming languages?
A) Readability
B) Writability
C) Linkability
D) Portability
E) Usability
Ans: C
Complexity: Easy
Ahead: 1.4 Styles of Programming
Subject: Chapter 1
Title: Introduction
3. Scheme primarily supports ___________ programming, but has some support for ___________
programming.
A) imperative; functional
B) functional; imperative
Ans: B
Complexity: Moderate
Ahead: 1.4 Styles of Programming
Subject: 1
Title: Introduction
,True/False
1. True or False? The value of a variable is bound statically.
Ans: False
Complexity: Easy
Ahead: 1.3 The World of Programming Languages
Subject: Chapter 1
Title: Introduction
2. True or False? The memory address of a local variable is bound statically.
Ans: False
Complexity: Moderate
Ahead: 1.3 The World of Programming Languages
Subject: Chapter 1
Title: Introduction
3. True or False? The memory address of a global variable is bound statically.
Ans: True
Complexity: Moderate
Ahead: 1.3 The World of Programming Languages
Subject: Chapter 1
Title: Introduction
4. True or False? Statements and expressions are synonymous in programming languages (i.e., they
refer to the same thing).
Ans: False
Complexity: Easy
Ahead: 1.4 Styles of Programming
Subject: Chapter 1
Title: Introduction
5. True or False? Functions are first-class in languages supporting functional programming.
Ans: True
Complexity: Easy
Ahead: 1.4 Styles of Programming
Subject: Chapter 1
Title: Introduction
6. True or False? Objects are first-class in C++.
Ans: True
Complexity: Moderate
,Ahead: 1.4 Styles of Programming
Subject: Chapter 1
Title: Introduction
7. True or False? Objects are first-class in Java.
Ans: True
Complexity: Moderate
Ahead: 1.4 Styles of Programming
Subject: Chapter 1
Title: Introduction
8. True or False? The concept of a language paradigm is antiquated.
Ans: True
Complexity: Easy
Ahead: 1.4 Styles of Programming
Subject: Chapter 1
Title: Introduction
9. True or False? It is possible for a language with support for pure functional programming to have an
assignment operator.
Ans: False
Complexity: Moderate
Ahead: 1.4 Styles of Programming
Subject: Chapter 1
Title: Introduction
10. True or False? Any function that is without side effect is referentially transparent.
Ans: False
Complexity: Difficult
Ahead: 1.4 Styles of Programming
Subject: Chapter 1
Title: Introduction
11. True or False? Any function that is referentially transparent is without side effect.
Ans: False
Complexity: Difficult
Ahead: 1.4 Styles of Programming
Subject: Chapter 1
Title: Introduction
12. True or False? Speed of program development is no longer as important a factor in the design of
programming languages as it once was.
Ans: False
Complexity: Easy
,Ahead: 1.5 Factors Influencing Language Development
Subject: Chapter 1
Title: Introduction
Short Answer
1. Which concept of programming languages is fundamental in the sense that other concepts can be
viewed as instances of this concept?
Ans: binding
Complexity: Moderate
Ahead: 1.3 The World of Programming Languages
Subject: Chapter 1
Title: Introduction
2. The imperative style of programming is based on which computer architecture?
Ans: von Neumann architecture
Complexity: Easy
Ahead: 1.4 Styles of Programming
Subject: Chapter 1
Title: Introduction
Essay
1. What is a programming language?
Ans: A programming language is a system of data-manipulation rules for describing computation.
Complexity: Easy
Ahead: 1.3 The World of Programming Languages
Subject: Chapter 1
Title: Introduction
2. List five binding times in the study of programming languages, arrange them in order from earliest to
latest.
Ans: language definition time, language implementation time, compile time, link time, load time, and run-
time
Complexity: Moderate
Ahead: 1.3 The World of Programming Languages
Subject: Chapter 1
Title: Introduction
3. List two other styles of programming other than the familiar imperative and object-oriented styles of
programming.
Ans: functional programming, logic; declarative programming
,Complexity: Easy
Ahead: 1.4 Styles of Programming
Subject: Chapter 1
Title: Introduction
,Import Settings:
Base Settings: Brownstone Default
Information Field: Complexity
Information Field: Ahead
Information Field: Subject
Information Field: Title
Highest Answer Letter: D
Multiple Keywords in Same Paragraph: No
Chapter: Chapter 2 - Quiz
Multiple Choice
1. C++ is a(n) _________ language, but its parser uses a(n) __________ grammar.
A) context-free; context-sensitive
B) context-sensitive; context-sensitive
C) context-free; context-free
D) context-sensitive; context-free
Ans: D
Complexity: Difficult
Ahead: 2.5 Context-Free Languages and Grammars
Subject: Chapter 2
Title: Formal Languages and Grammars
2. Which of the following is a data structure that is necessary and sufficient to recognize a sentence from
a context-free language?
A) Petri net
B) Stack
C) Finite state automaton
D) Binary tree
Ans: B
Complexity: Moderate
Ahead: 2.7 Language Recognition: Parsing
Subject: Chapter 2
Title: Formal Languages and Grammars
3. Which of the following requires context in programming languages?
A) Determining if a variable has been declared before it is used
B) Matching parentheses
C) Evaluating arithmetic expressions
Ans: A
Complexity: Moderate
Ahead: 2.5 Context-Free Languages and Grammars
Subject: Chapter 2
Title: Formal Languages and Grammars
,4. Determining the meaning of which of the following operators in C requires context?
A) +
B) *
C) /
D) None of these is correct.
Ans: B
Complexity: Moderate
Ahead: 2.11 Context-Sensitivity and Semantics
Subject: Chapter 2
Title: Formal Languages and Grammars
5. C is a ____________ language implemented with a ____________ grammar.
A) context-free; context-sensitive
B) context-sensitive; context-free
Ans: B
Complexity: Difficult
Ahead: 2.5 Context-Free Languages and Grammars; 2.11 Context-Sensitivity and Semantics
Subject: 2
Title: Formal Languages and Grammars
True/False
1. True or False? There does not exist an infinite language L, where L is regular.
Ans: False
Complexity: Moderate
Ahead: 2.3 Regular Expressions and Regular Languages
Subject: Chapter 2
Title: Formal Languages and Grammars
2. True or False? A left-recursive production rule implies left associativity of the operator used in the rule.
Ans: True
Complexity: Moderate
Ahead: 2.9 Grammar Disambiguation
Subject: Chapter 2
Title: Formal Languages and Grammars
3. True or False? A bottom-up parse of a candidate sentence constructs a leftmost derivation in reverse.
Ans: False
Complexity: Moderate
Ahead: 2.7 Language Recognition: Parsing
Subject: Chapter 2
Title: Formal Languages and Grammars
, 4. True or False? Every regular language is a context-free language.
Ans: True
Complexity: Moderate
Ahead: 2.13 Chapter Summary
Subject: Chapter 2
Title: Formal Languages and Grammars
5. True or False? Every regular language is a context-sensitive language.
Ans: True
Complexity: Moderate
Ahead: 2.13 Chapter Summary
Subject: Chapter 2
Title: Formal Languages and Grammars
6. True or False? If G is a regular grammar, L(G) is a regular language.
Ans: True
Complexity: Moderate
Ahead: 2.4 Grammars and Backus–Naur Form
Subject: Chapter 2
Title: Formal Languages and Grammars
7. True or False? If G is not a regular grammar, L(G) is not a regular language.
Ans: False
Complexity: Moderate
Ahead: 2.4 Grammars and Backus–Naur Form
Subject: Chapter 2
Title: Formal Languages and Grammars
8. True or False? Syntactic ambiguity in a grammar is not a problem for language generation.
Ans: True
Complexity: Moderate
Ahead: 2.12 Thematic Takeaways
Subject: Chapter 2
Title: Formal Languages and Grammars
9. True or False? Providing two parse trees for the same sentence is sufficient to prove that a grammar is
ambiguous.
Ans: True
Complexity: Moderate
Ahead: 2.8 Syntactic Ambiguity
Subject: Chapter 2
Title: Formal Languages and Grammars