12th Standard Syllabus & Materials
12th Standard
TN 12th Computer Applications மின்னணு தரவு பரிமாற்றம் Sample Question Papers Study Material - QB365 Set A
NEW12th Standard
TN 12th Computer Applications மின் - வணிக பாதுகாப்பு அமைப்புகள் Sample Question Papers Study Material - QB365 Set A
NEW12th Standard
TN 12th Computer Applications மின்னணு செலுத்தல் முறைகள் Sample Question Papers Study Material - QB365 Set A
NEW12th Standard
TN 12th Computer Applications மின் - வணிகம் Sample Question Papers Study Material - QB365 Set A
NEW12th Standard
TN 12th Computer Applications திறந்த மூல கருத்துருக்கள் Sample Question Papers Study Material - QB365 Set A
NEW12th Standard
TN 12th Computer Applications வலையமைப்பு வடமிடல் Sample Question Papers Study Material - QB365 Set A

Published on: 03/02/2021
12th Standard Computer Science English Medium Algorithmic Strategies Reduced Syllabus Important Questions With Answer Key 2021
Download Tamil Nadu 12th Standard Computer Science question papers, model tests, one-mark questions, important questions, and public exam papers in PDF format. Free study materials and answer keys for TN State Board students.
Questions + Answers key
Take MCQ Computer Science Test

1.
Which of the following is the reverse of Big O?
Big \(\Omega \)
Big \(\mu \)
Big symbol
Big O
2.
A theoretical performance analysis of an algorithm is called_________
Posteriori testing
Priori estimates
Algorithmic efficiency
Algorithmic testing
3.
Which of the following sorting algorithm is too slow and less efficient?
Bubble
Selection
Quick
Merge
4.
How many factors are used to measure the time efficiency of an algorithm?
Two
Three
Six
Many
5.
Time and Space complexity could be considered for an
Algorithmic strategy
Algorithmic analysis
Algorithmic solution
Algorithmic efficiency
6.
Efficiency of an algorithm decided by
Time, Space
Definiteness, portability
Priori, Postriori
Input/output
7.
An estimation of the time and space complexities of an algorithm is called
Algorithmic solution
Algorithmic Strategy
Algorithmic performance
Algorithmic analysis
8.
Which characteristics of algorithm defined the operation involving division by zero?
Finiteness
Definiteness
Input
Correctness
9.
The way of defining an algorithm is called
Pseudo strategy
Programmic strategy
Algorithmic strategy
Data structured strategy
10.
Which of the following is an example of data structures?
List
Tuple
Dictionary
All of these.
11.
Which of the following is not an example of data structures?
Control statement
Structure
List
Dictionary
12.
Which of the following is not a characteristic of an algorithm?
Definiteness
Correctness
Data structure
Effectivenes
13.
In dynamic programming, the technique of storing the previously calculated values is called ?
Saving value property
Storing value property
Memoization
Mapping
14.
If a problem can be broken into subproblems which are reused several times, the problem possesses which property?
Overlapping subproblems
Optimal substructure
Memoization
Greedy
15.
The word comes from the name of a Persian mathematician Abu Ja’far Mohammed ibn-i Musa al Khowarizmi is called?
Flowchart
Flow
Algorithm
Syntax
16.
Define memorization.
17.
Write a note on Big omega asymptotic notation.
18.
Name the two factors, which decide the efficiency of an algorithm.
19.
How the analysis of algorithms and performance evaluation can be divided?Explain.
20.
What does analysis of an algorithm deals with?
21.
What is algorithmic solution?
22.
What is searching? Write its types.
23.
Who is an Algorist?
24.
Define Pseudo code.
25.
What is an Algorithm?
26.
Write a pseudo code that defines Fibonacci Iterative algorithm with Dynamic programming approach.
27.
What is dynamic programming? What are the steps involved in dynamic programming?
28.
Write a pseudo code for Insertion sort.
29.
Write a pseudo code for bubble sort algorithm
30.
Write the different factors in which the time efficiency of an algorithm its measured
31.
Write a note on two factors in which space required by an algorithm is decided.
32.
What do you understand by Dynamic programming?
33.
Write a note on Asymptotic notation.
34.
What are the factors that influence time and space complexity.
35.
Discuss about Algorithmic complexity and its types.
36.
Explain the sorting algorithm that uses n-1 number passes to get the final sorted list.
37.
Differentiate Algorithm and program
38.
Explain Best, worst and Average case efficiency of an algorithm with an example.
39.
Explain the concept of Dynamic programming with suitable example.
40.
Explain the Bubble sort algorithm with example.
41.
What is Binary search? Discuss with example
42.
Explain the characteristics of an algorithm.
1.
(a)
Big \(\Omega \)
2.
(b)
Priori estimates
3.
(a)
Bubble
4.
(d)
Many
5.
(d)
Algorithmic efficiency
6.
(a)
Time, Space
7.
(d)
Algorithmic analysis
8.
(b)
Definiteness
9.
(c)
Algorithmic strategy
10.
(d)
All of these.
11.
(a)
Control statement
12.
(c)
Data structure
13.
(c)
Memoization
14.
(a)
Overlapping subproblems
15.
(c)
Algorithm
16.
Memoization or memoisation is an optimization technique used primarily to speed up computer programs by storing the results of expensive function calls and returning the cached result when the same inputs occur again.
17.
Big Omega is the reverse Big O, if Big O is used to describe the upper bound (worst - case) of a asymptotic function, Big Omega is used to describe the lower bound (best-case).
18.
(i) Time factor
(ii) Space factor
19.
Analysis of algorithms and performance evaluation can be divided into two different phases:
(i) A Priori estimates: This is a theoretical performance analysis of an algorithm. Efficiency of an algorithm is measured by assuming the external factors.
(ii) A Posterori testing: This is called performance measurement. In this analysis, actual statistics like running time and required for the algorithm executions are collected.
20.
(i) Analysis of an algorithm usually deals with the running and execution time of various operations involved.
(ii) The running time of an operation is calculated as how many programming instructions is executed per operation
21.
An algorithm that yields expected output for a valid input is called an algorithmic solution
22.
A searching algorithm is the step-by step procedure used to locate specific data among a collection of data. There are two types of searching are.
(i) Linear Search
(ii) Binary Search
23.
Algorist may refer to,
1. A person skilled in the technique of performing basic decimal arithmetic, known as algorism.
2. A person skilled in the design of algorithms.
3. An algorithmic artist.
24.
Pseudo code is an informal way of Programming language syntax.
25.
An algorithm is a finite set of instructions to accomplish a particular task. It is a step-by-step procedure for solving a given problem.
26.
The following shows a simple Dynamic programming approach for the generation of Fibonacci series.
Initialize f0 = 0,f1 =1
Step 1 - Print the initial values of Fibonacci f0 and f1
Step 2 - Calculate fibanocci fib \(\leftarrow \) f0+ f1
Step 3 - Assign f0\(\leftarrow \) fl , f1\(\leftarrow \) fib
Step 4 - Print the next consecutive value of fibanocci fib
step 5 - Goto step-2 and repeat until the specified number of terms generated
For example if we generate fibobnacci series upto 10 digits, the algorithm will generate the series as shown below:
The Fibonacci series is : 0 1 1 2 3 5 8 13 21 34 55
27.
Dynamic programming is an algorithmic design method that can be used when the solution to a problem can be viewed as the result of a sequence of decisions. Dynamic Programming approach is similar to divide and conquer.
(i) The given problem will be divided into smaller overlapping sub-problems.
(ii) An optimum solution for the given problem can be achieved by using result of smaller sub-problem.
(iii) Dynamic algorithms uses Memoization.
28.
Step 1 - If it is the first element, it is already sorted.
Step 2 - Pick next element
Step 3 - Compare with all elements in the sorted sub-list
Step 4 - Shift all the elements in the sorted sub-list that is greater than the value to be sorted
Step 5 - Insert the value
Step 6 - Repeat until list is sorted
29.
(i) Start with the first element i.e., index = 0, compare the current element with the next element of the array.
(ii) If the current element is greater than the next element of the array, swap them.
(iii) If the current element is less than the next or right side of the element, move to the next element. Go to Step 1 and repeat until end of the index is reached.
30.
The execution time that you measure in this case would depend on a number of factors such as:
(i) Speed of the machine
(ii) Compiler and other system Software tools
(iii) Operating System
(iv) Programming language used
(v) Volume of data required
31.
The space required by an algorithm is equal to the sum of the following two components:
(i) A fixed part is defined as the total space required to store certain data and variables for an algorithm. For example, simple variables and constants used in an algorithm.
(ii) A variable part is defined as the total space required by variables, which sizes depends on the problem and its iteration. For example: recursion used to calculate factorial of a given value n.
32.
(i) Dynamic programming is an algorithmic design method that can be used when the solution to a problem can be viewed as the result of a sequence of decisions.
(ii) Dynamic programming approach is similar to divide and conquer. The given problem is divided into smaller and yet smaller possible sub-problems.
(iii) Dynamic programming is used whenever problems can be divided into similar sub-problems. So that their results can be re-used to complete the process.
(iv) Dynamic programming approaches are used to find the solution in optimized way. For every inner subproblem, dynamic algorithm will try to check the results of the previously solved sub-problems. The solutions of overlapped sub-problems are combined in order to get the better solution.
33.
Asymptotic Notations are languages that uses meaningful statements about time and space complexity. The following three asymptotic notations are mostly used to represent time complexity of algorithms:
(i) Big O: Big O is often used to describe the worst -case of an algorithm.
(ii) Big \(\Omega \):Big Omega is the reverse Big O, if Big O is used to describe the upper bound (worst - case) of a asymptotic function, Big Omega is used to describe the lower bound (best -case).
(iii) Big \(\Theta \):When an algorithm has complexity with lower bound = upper bound, Say that an algorithm has a complexity O(n log n) and \(\Omega \) (n log n), it's actually has the complexity \(\Theta \) (n log n), which means the running time of that algorithm always falls in n log n in the best-case and worst-case.
34.
(i) Time Factor -Time is measured by counting the number of key operations like comparisons in the sorting algorithm.
(ii) Space Factor -Space is measured by the maximum memory space required by the algorithm.
35.
The complexity of an algorithm f (n) gives the running time and/or the storage space required by the algorithm in terms of n as the size of input data.
(i) Time Complexity: The Time complexity of an algorithm is given by the number of steps taken by the algorithm to complete the process.
(ii) Space Complexity: Space complexity of an algorithm is the amount of memory required to run to its completion.
36.
(i) Insertion sort is a simple sorting algorithm. It works by taking elements from the list one by one and inserting then in their correct position in to a new sorted list.
(ii) This algorithm builds the final sorted array at the end. This algorithm uses n-1 number of passes to get the final sorted list as per the pervious algorithm as we have discussed.
Pseudo for Insertion sort:
Step 1 - If it is the first element, it is already sorted.
Step 2 - Pick next element
Step 3 - Compare with all elements in the sorted sub-list
Step 4 - Shift all the elements in the sorted sublist that is greater than the value to be sorted Step 5 - Insert the value Step 6 - Repeat until list is sorted.
37.
| Algorithm | Program |
|---|---|
| Algorithm helps to solve a given problem logically and it can be contrasted with the program | Program is an expression of algorithm in a programming language. |
| Algorithm can be categorized based on their implementation methods, design techniques etc | Algorithm can be implemented by structured or object oriented programming approach |
| There is no specific rules for algorithm writing but some guidelines should be followed. | Program should be written for the selected language with specific syntax |
| Algorithm resembles a pseudo code which can be implemented in any language | Program is more specific to a programming language |
38.
(i) Let us assume a list of n number of values stored in an array. Suppose if we want to search a particular element in this list, the algorithm that search the key element in the list among n elements, by comparing the key element with each element in the list sequentially.
(ii) The best case would be if the first element in the list matches with the key element to be searched in a list of elements. The efficiency in that case would be expressed as 0(1) because only one comparison is enough.
(iii) Similarly, the worst case in this scenario would be if the complete list is searched and the element is found only at the end of the list or is not found in the list. The efficiency of an algorithm in that case would be expressed as O(n) because n comparisons required to complete the search.
(iv) The average case efficiency of an algorithm can be obtained by finding the average number of comparisons as given below: Minimum number of comparisons = 1 Maximum number of comparisons = n If the element not found then maximum number of comparison = n Therefore, average number of comparisons = (n + 1)/2
(v) Hence the average case efficiency will be expressed as 0 (n).
39.
(i) Dynamic programming is an algorithmic design method that can be used when the solution to a problem can be viewed as the result of a sequence of decisions.
(ii) Dynamic programming approach is similar to divide and conquer. The given problem is divided into smaller and yet smaller possible sub-problems.
(iii) Dynamic programming is used whenever problems can be divided into similar subproblems. so that their results can be reused to complete the process.
(iv) Dynamic programming approaches are used to find the solution in optimized way. For every inner subproblem, dynamic algorithm will try to check the results of the previously solved sub-problems.
(v) The solutions of overlapped sub-problems are combined in order to get a better solution.
Steps to doDynamic programming :
(i) The given problem will be divided into smaller overlapping sub-problems.
(ii) An optimum solution for the given problem can be achieved by using result of smaller sub-problem.
(iii) Dynamic algorithms uses Memoization
Fibonacci Series - An example :
(i) Fibonacci series generates the subsequent number by adding two previous numbers. Fibonacci series starts from two numbers -Fib 0 & Fib 1. The initial values of Fib 0 & Fib l can be taken as 0 and 1.
(ii) Fibonacci series satisfies the following conditions:
Fibn = Fiba-1 + Fiba-2
(iii) Hence, a Fibonacci series for the n value 8 can look like this
Fib8 = 0 1 1 2 3 5 8 13
Fibonaeci Iterative Algorithm with Dynamic programning approach : The following example shows a simple Dynamic programning approach for the generation ot Fibonacci series.
Initialize f0 = 0, f1 = 1.
Step- 1: Print the initial values of Fibonacci f0 and f1
Step- 2: Calculate Fibonacci fib \(\leftarrow \) f0+ f1
Step- 3: Assign f0 \(\leftarrow \) f1, f1 \(\leftarrow \) fib
Step- 4: Print the next consecutive value of Fibonacci fib
Step- 5: Go to step-2 and repeat until the specified number of terms generated
Example:
if we generate Fibonacci series up to 10 digits, the algorithm will generate the series as shown below:
The Fibonacci series is:
0 1 1 2 3 5 8 13 21 34 55.
40.
Bubble sort algorithm:
(i) Bubble sort algorithm simple sorting algorithm. The algorithm starts at the beginning of the list of values stored in an array. It compares each pair of adjacent elements and swaps them if they are in the unsorted order.
(ii) This comparison and passed to be continued until no swaps are needed, which indicates that the list of values stored in an array is sorted. The algorithm is a comparison sort, is named for the way smaller elements "bubble" to the top of the list.
(iii) Although the algorithm is simple, it is too slow and less efficient when compared to insertion sort and other sorting methods.
(iv) Assume list is an array of n elements. The swap function swaps the values of the given array elements.
Procedure :
(i) Start with the first element i.e., index = 0, compare the current element with the next element of the array.
(ii) If the current element is greater than the next element of the array, swap them.
(iii) If the current element is less than the next or right side of the element, move to the next element. Go to Step 1 and repeat until the end of the index is reached.
(iv) Let's consider an array with values {15, 11, 16, 12, 14, 13} Below, we have a pictorial representation of how bubble sort will sort the given array.
(v) The above pictorial example is for iteration-d. Similarly, remaining iteration can be done. The final iteration will give the sorted array. At the end of all the iterations we will get the sorted values in an array as given below:
| 11 | 12 | 13 | 14 | 15 | 16 |
41.
Binary Search:
Binary search also called half-interval search algorithm. It finds the position of a search element within a sorted array. The binary search algorithm can be done as a divide- and -conquer search algorithm and executes in logarithmic time.
Pseudo Code:
Start with the middle element:
(i) If the search element is equal to the middle element of the array i.e., the middle value = number of elements in array/2, then return the index of the middle element.
(ii) If not, then compare the middle element with the search value,
(iii) If the search element is greater than the number in the middle index, then select the elements to the right side of the middle index, and go to Step-1.
(iv) If the search element is less than the number in the middle index, then select the elements to the left side of the middle index, and start with Step-1.
(v) When a match is found, display success message with the index of the element matched.
(vi) If no match is found for all comparisons, then display unsuccessful message.
Binary Search Working principles :
(i) List of elements in an array must be sorted first for Binary search. The following example describes the step by step operation of binary search.
(ii) Consider the following array of elements, the array. is being sorted so itenables to do the binary searçh algorithm. Let us assume that the search element is 60 and we need to search the location or index of search element 60 using binary search.

(iii) First, we find index of middle element of. the array byusing this formula:
mid = low + (high - low) /2
(iv) Here it is, 0 + (9-0)/2=4 (fractional part ignored). So, 4 is thè mid value of the array.

(v) Now compare the search element with the value stored at mid value location 4. The value stored at location or index 4 is 50, which is not match with search element. As the search value 60 is greater than 50.

(vi) Now we change our low to mid+1 and find the new mid value again using the formula.
low = mid + 1
mid = low + (high - low) / 2
(vii) Our new mid is 7 now. We compare the value stored at location 7 with our target value 60.

(viii) The value stored at location or index 7 is not a match with search element, rather it is more than what we are looking for. So, the search element must be in the lower part from the current mid value location.

(ix) The search element still not found. Hence, we calculated the mid again by using the formula.
high = mid -1
mid = low +(high - low)/2
Now the mid value is 5.

(x) Now we compare the value stored at location 5 with our search element. We found that it is a match.

(xi) We can conclude that the search element 60 is found at locationor index 5. For example if we take the search element as 95, For this value this binary search algorithm return unsucessful result.
42.
| Input | Zero or more quantities to be supplied. |
| Output | At least one quantityis produced. |
| Finiteness | Algorithms must terminate after finite number of steps. |
| Definiteness | All operations should be well defined. For example operations involving division by zero or taking square root for negative number are unacceptable. |
| Effectiveness | Every instruction must be carried out effectively. |
| Correctness | The algorithms should be error free. |
| Simplicity | East to implement. |
| Unambiguous | Algorithm should be clear and unambiguous. Each of its steps and their inputs/outputs should be clear and must lead to only one meaning. |
| Feasibility | Should be feasible with the avaliable resources. |
| Portable | An algorithm should be generic, independent of any programming language or an operating system able to handle all range of inputs. |
| Independent | An algorithm should have step-by-step directions, which should be independent of any programming code. |
12th Standard Syllabus & Materials
12th Standard
TN 12th Computer Applications களப்பெயர் முறைமை (DNS) Sample Question Papers Study Material - QB365 Set A
NEW12th Standard
TN 12th Computer Applications வலையமைப்பு எடுத்துக்காட்டுகள் மற்றும் நெறிமுறைகள் Sample Question Papers Study Material - QB365 Set A
NEW12th Standard
TN 12th Computer Applications கணினி வலையமைப்பு ஓர் அறிமுகம் Sample Question Papers Study Material - QB365 Set A
NEW12th Standard
TN 12th Computer Applications PHP-உடன் MySQL-ஐ இணைத்தல் Sample Question Papers Study Material - QB365 Set A
Tamilnadu Stateboard 12th Standard Subjects

Maths

Chemistry

Physics

Biology

Computer Science

Business Maths and Statistics

Economics

Commerce

Accountancy

History

Computer Applications

Biology

Computer Technology

Computer Applications

Computer Science

Business Maths and Statistics

Commerce

Economics

Maths

Chemistry

Physics

Computer Technology

History

Accountancy

Tamil

English

French
Tamilnadu Stateboard Standards