TN Online TestSamacheer Kalvi practice

12th Standard Computer Science — Data Abstraction: Additional MCQs with Answers & Explanations

Share this chapter: Telegram

15 extra multiple-choice questions for Data Abstraction (12th Standard Computer Science, Samacheer Kalvi), beyond the ones printed in the textbook — each with the correct option highlighted and a clear, worked explanation. Free to read in English and Tamil.

Answer key at a glance

Q1
Which of the following concepts in computer science provides modularity by splitting a program into many modules?
  • A. AbstractionCorrect
  • B. Concrete representation
  • C. Iteration
  • D. Sequence
Explanation. Abstraction provides modularity by allowing programmers to partition a program into independent modules, hiding low-level details.
Q2
Which of the following is an example of an abstract data type (ADT) that can be implemented using either a singly linked list or a doubly linked list?
  • A. List ADTCorrect
  • B. Float datatype
  • C. Integer datatype
  • D. Character literal
Explanation. The List ADT specifies what operations are performed, and it can be implemented concretely using either singly or doubly linked lists.
Q3
In the city abstract data type, which function acts as the constructor to build a city object containing name, latitude, and longitude?
  • A. getname(city)
  • B. getlat(city)
  • C. getlon(city)
  • D. makecity(name, lat, lon)Correct
Explanation. The function 'makecity(name, lat, lon)' builds the abstract data type, which is the role of a constructor.
Q4
When implementing a slope abstract data type with point objects, if the selector xcoord(point) is defined as return point, what value does it retrieve?
  • A. The first element representing the x-coordinateCorrect
  • B. The second element representing the y-coordinate
  • C. The difference between coordinates
  • D. The slope of the line
Explanation. Since Python indices start at 0, 'point' refers to the first element of the pair, which represents the x-coordinate.
Q5
What programming design strategy involves forming beliefs and making decisions according to what is pleasing to imagine rather than appealing to reality?
  • A. Systematic planning
  • B. Wishful thinkingCorrect
  • C. Concrete modeling
  • D. Object instantiation
Explanation. Wishful thinking is a program design strategy where constructors and selectors are assumed to be available before their implementation details are defined.
Q6
Why does dividing integers directly to represent a rational number lose exact precision in computer systems?
  • A. It produces an integer approximation
  • B. It produces a float approximationCorrect
  • C. It raises a divide-by-zero compiler error
  • D. It restricts access to memory cells
Explanation. Division of integers yields a floating-point number, which only approximates the value, losing the absolute precision of integers.
Q7
If a list is defined as lst :=, which method of accessing elements unpacks the list and binds each element to a different name, such as x, y := lst?
  • A. Element selection operator
  • B. Single assignment
  • C. Multiple assignmentCorrect
  • D. Nested representation
Explanation. Multiple assignment unpacks the list elements into individual variables in a single statement.
Q8
Mathematically, a list lst containing values 10 and 20 can be represented as a set of pairs. What are the index-value pairs in this representation?
  • A. lst[(1, 10), (2, 20)]
  • B. lst[(10, 0), (20, 1)]
  • C. lst[(0, 10), (1, 20)]Correct
  • D. lst[(0, 20), (1, 10)]
Explanation. Mathematically, the index positions 0 and 1 are paired with their corresponding values 10 and 20 respectively.
Q9
Which compound structure provided by Python can be used to implement the mathematical concept of a 'Pair'?
  • A. Function or Procedure
  • B. List or TupleCorrect
  • C. Class or Object
  • D. Interface or Implementation
Explanation. Python provides compound structures like lists or tuples to construct pairs and bundle values together.
Q10
If the selector numer(x) for a rational number represented as a list pair x is defined as return x, what does denom(x) return?
  • A. return xCorrect
  • B. return x
  • C. return x
  • D. return x[-1]
Explanation. Since a rational number is represented as a list pair of [numerator, denominator], the denominator is at index 1.
Q11
What is the key functional difference between a Python list and a Python tuple?
  • A. Lists are immutable, whereas tuples are mutable.
  • B. Lists are mutable, whereas tuples are immutable.Correct
  • C. Lists use parentheses, whereas tuples use square brackets.
  • D. Lists cannot store multiple values of different datatypes.
Explanation. List elements can be changed after assignment (mutable), while tuple elements cannot be changed once assigned (immutable).
Q12
Why is a list representation like person := ['Padmashri', 'Baskar', '994-222-1234', 'compsci@gmail.com'] considered insufficient for complex multi-item objects?
  • A. It cannot store string elements
  • B. It does not explicitly specify what each part representsCorrect
  • C. It requires a lot of memory space
  • D. It is immutable and cannot be modified
Explanation. A simple list uses numeric indices but does not explicitly name or specify the role of individual fields like firstName or email.
Q13
In Object-Oriented Programming, when a class Person is used to create an instance p1, what is the class analogously compared to?
  • A. A baked cookie
  • B. A cookie cutterCorrect
  • C. A mixing bowl
  • D. A recipe book
Explanation. The textbook compares the class to a cookie cutter, which acts as a template, and the object to a particular cookie made from it.
Q14
What does a class define a data abstraction as, combining two key aspects together?
  • A. Public and private access specifiers
  • B. Bundled data and the functions that work on that dataCorrect
  • C. Constructors and destructors of an interface
  • D. Linked lists and binary trees
Explanation. A class is a data abstraction defined by bundling related data items and the subordinate functions that operate on them.
Q15
Functions defined inside a class that are designed to modify or analyze the class data are said to be what with respect to the class?
  • A. Independent
  • B. SubordinateCorrect
  • C. Constructors
  • D. Selectors
Explanation. Functions defined within a class are subordinate because their primary role is to operate directly on the class's data.
Take the Additional practice test → Open the app

More for this chapter

Book Back Questions10 textbook MCQs · solved Practice TestInteractive · instant score Book Back TestTest yourself on the textbook set Additional MCQ TestTest yourself on the extra set Study NotesConcepts & methods Formula SheetAll key formulas

About these Data Abstraction questions

These are the Additional multiple-choice questions for Data Abstraction from the Tamil Nadu State Board (Samacheer Kalvi) 12th Standard Computer Science syllabus. Each question shows the correct option and an original, step-by-step explanation so you understand the method, not just the answer. Use the answer key above to jump to any question, then take the practice test to check yourself under exam-like conditions.

Frequently asked questions

How many MCQs are there in Data Abstraction?

This chapter has 15 book-back multiple-choice questions, each with the correct answer and a step-by-step explanation.

Are these 12th Standard Computer Science MCQs free to practise online?

Yes. Every question, answer and explanation here is free, and you can also take them as a timed practice test.

Where can I find the Data Abstraction book-back answers?

The correct option for each question is highlighted on this page with a worked explanation, plus a quick answer-key summary at the top.

More chapters in Computer Science

View all
1 Function 3 Scoping 4 Algorithmic Strategies 5 Python -Variables and Operators 6 Control Structures 7 Python functions 8 Strings and String manipulation 9 Lists, Tuples, Sets and Dictionary 10 Python Classes and objects 11 Database Concepts 12 Structured Query Language (SQL) 13 Python and CSV files 14 Importing C++ programs in Python. 15 Data manipulation through SQL 16 Data visualization using pyplot: line chart, pie chart and bar chart