Programming Fundamentals — SAQ Notes
WBCHSE Class 11, Modern Computer Application
1. Instruction and Program
Q1. What is an instruction (command)?
An instruction or command is a pre-programmed written code by means of which the computer performs a task, however
small. Using commands, the computer breaks a larger task into smaller parts and, after processing, displays the final result.
Q2. What is a program?
A program is a collection of a number of commands or instructions written in a computer language to perform any task or
solve any problem.
Q3. What is programming?
Programming is the process of solving a task or problem by breaking it into a step-by-step set of instructions that a computer
can execute.
Q4. What are the three basic parts of every program?
Every program consists of three parts:
1. Input
2. Processing
3. Output
Q5. Give an example to explain instruction and program.
To find the sum of 15 and 20: "15 + 20 = 35" is an instruction (a single step). All the steps taken together, which calculate
and give the sum, form the program.
2. Programming Language
Q6. What is a programming language?
The language with the help of which programs or instructions are written and understood by the computer is called a
programming language.
Q7. Name the five generations of programming languages with their periods.
4. First Generation Language (1945) – Machine Language
5. Second Generation Language (1950) – Assembly Language
6. Third Generation Language (1960) – High-Level Language
7. Fourth Generation Language (1970) – Very High-Level Language
8. Fifth Generation Language (1980) – Natural Language
Q8. How are programming languages broadly classified?
Into System Programming Language and Application Programming Language.
• System Programming Language → Low Level (Machine, Assembly)
• Application Programming Language → High-Level Language (3rd, 4th, 5th generation)
Q9. What is a System Programming Language?
The programming language used to write or create system software, which provides a suitable environment for a computer
system, is called a System Programming Language (used to create operating systems).
Q10. What is an Application Programming Language?
The programming language used for creating application programs is called an Application Programming Language.
3. Low-Level Programming Language
Q11. What is Machine Language? Why is it called a first-generation language?
Machine Language is the programming language whose program can be processed and executed directly by the processor,
without any translator. It is written using a combination of 0s and 1s (binary code), which is why it is called a first-generation
(1st Gen) language.
Q12. Give two characteristics of Machine Language.
9. It is easily understandable to the computer system since it is written in binary codes.
[Link] is machine dependent.
Q13. Give two advantages of Machine Language.
[Link] computer easily understands it and displays results quickly without any translator.
[Link] translator is needed, so the task is executed very speedily.
Q14. Give two disadvantages of Machine Language.
[Link] a program in machine language is complex and difficult.
[Link] program is machine dependent (cannot run on a different type of machine).
Q15. Into what four parts can machine language instructions be divided?
[Link] (addition, subtraction, multiplication, division)
[Link] (Load, Store, Jump)
[Link]/Output (reading and writing)
[Link] use (Start, Halt, End)
Q16. What are the two parts of a machine language instruction?
[Link] Code (Opcode): tells the computer what type of operation to perform.
[Link]: the object on which the opcode operates.
4. Assembly Language (Middle-Level Language)
Q17. What is Assembly Language?
Assembly (or middle-level) language is a programming language that uses mnemonic codes (like ADD, MUL, LOAD,
STORE, MOV) instead of binary codes, making programs easier to write than in machine language. It is also called a Second
Generation Language.
Q18. What is an Assembler?
An Assembler is a translator needed to convert a program written in Assembly Language into machine language so the
computer system can understand it.
Q19. Give two characteristics of Assembly Language.
[Link] is comparatively easier to write programs in than low-level (machine) language.
22.A translator called an Assembler is needed to convert the program into machine-understandable form.
Q20. Give two advantages of Assembly Language.
[Link] are easily understandable to users and easier to write than machine language.
[Link] are detected and corrected comparatively more easily.
Q21. Give two disadvantages of Assembly Language.
[Link] must remember Mnemonic Codes, which is difficult in many cases.
[Link] is machine dependent — a program written for one machine may not run on another.
Q22. What are the four parts of an assembly language instruction?
[Link] (optional) – contains the symbolic address of an instruction, reachable using a jump instruction.
[Link] or instruction mnemonic – contains the instruction mnemonic (e.g., LDA for loading, DIV for dividing).
[Link] – the memory address, register, or direct data on which the opcode operates.
[Link] – not part of the program, provided for ease of understanding.
Q23. Give the meanings of the mnemonics LDA, STA, CLR, and ADD.
Mnemonic Indicates
LDA Load Accumulator – brings data from a memory location to
the accumulator
STA Store Accumulator – stores accumulator data into a variable
CLR Clear Accumulator – empties the accumulator
ADD Addition – adds the operand's value to the number stored in
accumulator
5. High-Level Programming Language
Q24. What is a High-Level Language?
A high-level programming language is one written using symbols and words similar to Mathematics and English (i.e.,
human-understandable language), making it easily comprehensible to humans. Example: C, BASIC, C++, PASCAL, JAVA,
Visual Basic.
Q25. Give two characteristics of High-Level Language.
[Link] is written using common English words and signs.
32.A translator (Compiler, Interpreter, Loader, Linker) is needed to convert it into a form the computer understands.
Q26. Give two advantages of High-Level Language.
[Link] is comparatively easy to write, clearly understandable, and takes less time to write.
[Link] it is machine independent, it can be executed on any machine.
Q27. Give two disadvantages of High-Level Language.
35.A translator is needed to execute the program.
[Link] of the program takes comparatively more time than low-level language.
Q28. What is the role of a Compiler in a High-Level Language?
A compiler translates the complete high-level source code (e.g., C++ source code) into object code, which is then converted
by a linker into the executable machine/binary program.
6. Differences (Frequently Asked)
Q29. Differentiate between Low-Level and High-Level Programming Language (any two).
Low-Level Language High-Level Language
Usually written in binary code Written in easily understandable English-like language
Speed of execution is comparatively more Speed of execution is comparatively less
Machine dependent, no translator needed Machine independent, needs a translator
Program is more complex; error correction is difficult Program is simple; error correction is easier
Q30. Differentiate between Assembly Language and High-Level Language (any two).
Assembly Language High-Level Language
Written using mnemonic codes Written in easily understandable English
Difficult to write and understand Easier to write and understand
Machine dependent Machine independent
Translator called Assembler is needed Translator called Compiler/Interpreter is needed
Q31. Differentiate between Low-Level and Assembly Programming Language (any two).
Low-Level Language Assembly Language
Written in binary codes Written using mnemonics
Comparatively faster execution Comparatively less fast execution
No translator needed Translator (Assembler) is needed
7. Fourth and Fifth Generation Languages
Q32. What is a Fourth Generation Language (4GL)? Give an example.
4GLs are special languages invented for ease of use, requiring less code than higher-level languages, and are used for query,
report generation, and data manipulation with databases. Example: SQL (Structured Query Language). The tool used to
create applications easily with 4GL is called Rapid Application Development (RAD).
Q33. Why are 4GLs called non-procedural languages?
Because in 4GLs, only the results of processing are requested in a simple manner (e.g., through
question-answering/conversational interaction), without detailed processing descriptions — hence "non-procedural."
Q34. What is Natural Language (5GL)? Give an example.
Natural Language is the fifth-generation programming language that uses human/natural language (like Bengali, English,
Arabic, Spanish) to create a natural relationship with the computer. The translator that converts natural language into
machine language is called an Intelligent Compiler. Example: OPS5, Constraint Logic Programming (CLP), Mercury.
8. Problem Solving Process
Q35. What is meant by the "Problem Solving Process"?
A problem can be solved easily only if it is well understood and has a clear, specific, unambiguous statement. If the problem
statement is vague, its implementation becomes faulty. Sometimes a mathematical/formal model is created to gain more
insight, after which algorithm design begins.
Q36. What is Top-down Design (Stepwise Refinement)? Who developed it?
Top-down design, also called algorithmic decomposition, is a problem-solving technique developed by Niklaus Wirth in
1972. The idea is to divide the problem into an outline, then break it into a set of subproblems/subtasks, continuing until each
subproblem can be directly implemented/solved.
Q37. Name two languages/projects associated with the development of Top-down Design.
Niklaus Wirth created languages such as Pascal, Modula, and Oberon to promote top-down design. Harlan Mills, an IBM
researcher, applied structured programming in the New York Times Morgue Index project.
Q38. What is Stepwise Refinement?
Stepwise refinement is the approach to building an algorithm through top-down design, where a subproblem/subtask is
solved as a "black box" — the user has specifications but no knowledge of internal implementation details.
Q39. What is the Divide and Conquer Paradigm?
It is the basic idea behind top-down design — dividing a big problem into smaller subproblems (divide), solving each one,
and combining the results to solve the original problem (conquer).
Q40. Give two advantages of Top-down Design.
[Link] allows decomposition of complex problems into sub-problems and conceptualization of overall solutions in terms of
the sub-problem solutions.
[Link] encourages abstraction — hiding unnecessary details from the user while keeping necessary ones visible, leading to
efficient software implementation.
Q41. Give two disadvantages of Top-down Design.
[Link] sub-problems require extra unnecessary effort to test.
40.A method may depend on other methods/functions that have not yet been developed or designed.
Q42. What is Bottom-up Design? Who is associated with popularizing it?
Bottom-up design (also called the synthesis or compositional method) builds algorithms by breaking the problem into
smaller, simpler parts, starting with the simplest solution and building toward the larger problem. It is derived from the
method of French philosopher René Descartes, and modern object orientation popularized this approach. George Polya's
four-step problem-solving strategy (understanding the problem, formulating a plan, implementing the plan, reviewing results)
is also associated with it.
Q43. What is the main difference between Top-down and Bottom-up Design?
In Bottom-up design, sub-problems are solved first, starting from the smallest/lowest level and gradually reaching the top
(final solution). In Top-down design, the process starts from the global problem and moves toward the sub-problems.
Q44. Give two advantages of the Bottom-up approach.
[Link] smaller problems are solved first, their solutions can be reused for larger ones, avoiding recalculation.
[Link] smaller problems are solved first, it is easier to check/test them, as they don't require the full main problem.
Q45. What is a Mixed Design?
A design approach that uses a combination of both top-down and bottom-up techniques is called a mixed design. Modern
program design commonly uses such a mixture.
Q46. Differentiate between Top-down Design and Bottom-up Design (any two).
Top-down Design Bottom-up Design
Problem solving extends from the global problem to its sub- Problem solving ranges from sub-problems to the global
problems problem
Efficiency depends more on the quality of the division Efficiency depends more on the quality of the composition
process process
Quick Revision Table — Generations of Languages
Generation Year Language Type
1st 1945 Machine Language
2nd 1950 Assembly Language
3rd 1960 High-Level Language
4th 1970 Very High-Level Language (4GL)
5th 1980 Natural Language
Memory tip: M-A-H-V-N → Machine → Assembly → High-level → Very high-level → Natural