InterviewSolution
This section includes InterviewSolutions, each offering curated multiple-choice questions to sharpen your knowledge and support exam preparation. Choose a topic below to get started.
| 51. |
An …… attributes and behaviour is controlled by sending functions to the object. |
|
Answer» An Objects attributes and behaviour is controlled by sending functions to the object. |
|
| 52. |
Differentiate pure and impure function? |
|
Answer» Pure Function: 1. The return value of the pure functions solely depends on its arguments passed. 2. If you call the pure functions with the same set of arguments, you will always get the same return values. 3. They do not have any side effects. 4. They do not modify the arguments which are passed to them. Impure Function: 1. The return value of the impure functions does not solely depend on its arguments passed. 2. If you call the impure functions with the same set of arguments, you might get the different return values. For example, random( ), Date( ). 3. They have side effects. 4. They may modify the arguments which are passed to them. |
|
| 53. |
Why strlen is called pure function? |
|
Answer» strlen (s) is called each time and strlen needs to iterate over the whole of ‘s’. If the compiler is smart enough to work out that strlen is a pure function and that ‘s’ is not updated in the lbop, then it can remove the redundant extra calls to strlen and make the loop to execute only one time. This function reads external memory but does not change it, and the value returned derives from the external memory accessed. |
|
| 54. |
The variables in a function definition are called as …….(a) Subroutines(b) Function(c) Definition(d) Parameters |
|
Answer» (d) Parameters |
|
| 55. |
Write algorithmic function definition to find the minimum among 3 numbers? |
|
Answer» let min 3 x y z : = if x < y then if x < z then x else z else if y < z then y else z |
|
| 56. |
The values which are passed to a function definition are called …… (a) Arguments(b) Subroutines(c) Function(d) Definition |
|
Answer» The values which are passed to a function definition are called Arguments |
|
| 57. |
sin (0) = 0 is an example for ……… function.(a) Impure(b) Pure(c) Interface(d) Instruction |
|
Answer» sin (0) = 0 is an example for Pure function. |
|
| 58. |
The accelerator is the …… between the driver and the engine.(a) Interface(b) Object(c) Instruction(d) Code |
|
Answer» (a) Interface |
|
| 59. |
Write the inference you get from X: = (78)? |
|
Answer» Value 78 being bound to the name X |
|
| 60. |
The functions which will give exact result when same arguments are passed are called …….(a) Impure functions(b) Partial Functions(c) Dynamic Functions(d) Pure functions |
|
Answer» (d) Pure functions |
|
| 61. |
Which of the following are mandatory to write the type annotations in the function definition?(a) Curly braces(b) Parentheses(c) Square brackets(d) Indentations |
|
Answer» (b) Parentheses |
|
| 62. |
The function random ( ) is an example for …….. functions. |
|
Answer» The function random ( ) is an example for Impure functions. |
|
| 63. |
Differentiate interface and implementation? |
|
Answer» Interface: Interface just defines what an object can do, but won’t actually do it. Implementation: Implementation carries out the instructions defined in the interface. |
|
| 64. |
Which of the following carries out the instructions defined in the interface?(a) Operating System(b) Compiler(c) Implementation(d) Interpreter |
|
Answer» (c) Implementation |
|
| 65. |
Which of the following defines what an object can do? (a) Operating System (b) Compiler (c) Interface (d) Interpreter |
|
Answer» (c) Interface |
|
| 66. |
Mention the characteristics of Interface? |
|
Answer» Characteristics of interface: 1. The class template specifies the interfaces to enable an object to be created and operated properly. 2. An object’s attributes and behaviour is controlled by sending functions to the object. |
|
| 67. |
An ……. is an instance created from the class.(a) Object (b) Functions(c) Subroutines(d) Definitions |
|
Answer» An Object is an instance created from the class. |
|
| 68. |
Why is the function random( ) is a impure function? (a) It gives different outputs for same function call(b) It gives different outputs when 0 is given (c) It will not give different output |
|
Answer» (a) It gives different outputs for same function call |
|
| 69. |
In the function definition, the keyword let is followed by ………(a) Function name(b) Arguments(c) Parameters(d) Implementations |
|
Answer» (a) Function name |
|
| 70. |
A ……….. combines the external interface with an implementation of that interface. |
|
Answer» class declaration |
|
| 71. |
Find the statement which is not true.(a) The interface defines an objects visibility to the outside world(b) Interface defines what an object can do.(c) In object oriented programs, objects are interfaces |
|
Answer» (c) In object oriented programs, objects are interfaces |
|
| 72. |
The formula should be written after …….. sign(a) +(b) – (c) = (d) ++ |
|
Answer» The formula should be written after = |
|
| 73. |
Find which is false.(a) All function definitions are static(b) All function definitions are dynamic |
|
Answer» (b) All function definitions are dynamic |
|
| 74. |
Find the name of the function,let rec even x : =(a) Let(b) Rec(c) Even(d) x |
|
Answer» let rec even x : = Even |
|
| 75. |
How many parameters are defined in the function let rec gcd a b : =(a) 0(b) 1(c) 2(d) 3 |
|
Answer» Answer is (c) 2 |
|
| 76. |
Find the impure function from the following.(a) Sin (0)(b) Square x(c) Strlen (s)(d) None of these |
|
Answer» (d) None of these |
|
| 77. |
What happens if you modify a variable outside the function? Give an example? |
|
Answer» When a function depends on variables or functions outside of its definition block, you can never be sure that the function will behave the same every time it’s called. For example let y: = 0 (int) inc (int) x y: = y + x; return (y) In the above example the value of y get changed inside the function definition due to which the result will change each time. The side effect of the inc ( ) function is it is changing the data ‘ of the external visible variable ‘y’. |
|
| 78. |
To define a recursive function, ……. is used.(a) Let(b) Let r (c) Let rfn(d) Let rec |
|
Answer» To define a recursive function, Let rec is used. |
|
| 79. |
Write algorithmic recursive function definition to find the sum of n natural numbers? |
|
Answer» let rec sum num: if (num! = 0) then return num + sum (num – 1) else return num |
|
| 80. |
If a function is not a recursive one, then ……. is used(a) abc(b) gcd(c) let(d) let rec |
|
Answer» If a function is not a recursive one, then let is used |
|
| 81. |
What are called Parameters and write a note on? |
|
Answer» 1. Parameter without Type 2. Parameter with Type Parameters (and arguments) Parameters are the variables in a function definition and arguments are the values which are passed to a function definition. (I) Parameter without Type Let us see an example of a function definition: (requires: b> = 0) (returns: a to the power of b) let rec pow a b: = if b = 0 then 1 else a * pow a (b – 1) In the above function definition variable ‘b’ is the parameter and the value which is passed to the variable ‘b’ is the argument. The precondition (requires) and postcondition (returns) of the function is given. Note we have not mentioned any types: (data types). Some language compiler solves this type (data type) inference problem algorithmically, but some require the type to be mentioned. In the above function definition if expression can return 1 in the then branch, by the typing rule the entire if expression has type int. Since the if expression has type ‘int ’ , the function’s return type also be ‘inf. ‘b ’is compared to 0 with the equality operator, so ‘b ’is also a type of ‘int. Since a is multiplied with another expression using the * operator, ‘a’ must be an int. (II) Parameter with Type Now let us write the same function definition with types for some reason: (requires: b > 0) (returns: a to the power of b) let rec pow (a: int) (b: int): int : = if b = 0 then 1 else a * pow b (a – 1) When we write the type annotations for ‘a ’ and ‘b ’ the parentheses are mandatory. Generally we can leave out these annotations, because it’s simpler to let the compiler infer them. There are times we may want to explicitly write down types. This is useful on times when you get a type error from the compiler that doesn’t make sense. Explicitly annotating the types can help with debugging such an error message. The syntax to define functions is close to the mathematical usage: the definition is introduced by the keyword let, followed by the name of the function and its arguments; then the formula that computes the image of the argument is written after an = sign. If you want to define a recursive function: use “let rec ” instead of “let Syntax: The syntax for function definitions: let rec fnal a2 … an : = k Here the fn is a variable indicating an identifier being used as a function name. The names ‘al ’ to ‘an ’ are variables indicating the identifiers used as parameters. The keyword ‘rec ’ is required if fn ’ is to be a recursive function; otherwise it may be omitted. For example: let us see an example to check whether the entered number is even or odd. (requires: x> = 0) let rec even x : = x = 0 || odd (x – 1) return ‘even’ (requires: x> = 0) let odd x : = x< >0 && even (x – 1) return ‘odd’ The syntax for function types: x → y x1 → x2 → y x1 → … → xn → y The ‘x’ and ‘y’ are variables indicating types. The type x → y is the type of a function that gets an input of type ‘x’ and returns an output of type ‘y’. Whereas x → x → y is a type of a function that takes two inputs, the first input is of type ‘x1 ’ and the second input of type ‘x2’ , and returns an output of type ‘y’. Likewise x1 → … → xn → y has type ‘x’ as input of n arguments and ‘y’ type as output. |
|
| 82. |
Find the correct statement.(i) Evaluation of pure function causes side effects to its output.(ii) Evaluation of Impure function causes side effects to its output. |
|
Answer» (ii) Evaluation of Impure function causes side effects to its output. |
|
| 83. |
What are the two types of parameter passing? |
|
Answer» 1. Parameter without type 2. Parameter with type |
|
| 84. |
The small sections of code that are used to perform a particular task is called ……….(a) Subroutines(b) Files(c) Pseudo code(d) Modules |
|
Answer» (a) Subroutines |
|
| 85. |
Write note on Definitions? |
|
Answer» Definitions bind values to names, Definitions are not expressions, Definitions are distinct syntactic blocks. Definitions can have expressions nested inside them, and vice – versa. |
|
| 86. |
Write the syntax for the function definitions? |
|
Answer» let rec fn a1 a2 … an : = k fn : Function name a1 … an – variable rec: recursion |
|
| 87. |
Define recursive functions: How will you define it? |
|
Answer» A function definition which calls itself is called recursive functions. It is given by let rec. |
|
| 88. |
Which of the following is a unit of code that is often defined within a greater code structure?(a) Subroutines (b) Function (c) Files(d) Modules |
|
Answer» Function is a unit of code that is often defined within a greater code structure |
|
| 89. |
What is the side effect of impure function. Give example? |
|
Answer» Impure Function:
|
|
| 90. |
Which of the following is a distinct syntactic block?(a) Subroutines(b) Function(c) Definition(d) Modules |
|
Answer» (c) Definition |
|
| 91. |
The functions which cause side effects to the arguments passed are called …….(a) Impure functions(b) Partial Functions(c) Dynamic Functions(d) Pure functions |
|
Answer» (a) Impure functions |
|
| 92. |
What is a subroutine? |
|
Answer» Subroutines are the basic building blocks of computer programs. Subroutines are small sections of code that are used to perform a particular task that can be used repeatedly. In Programming languages these subroutines are called as Functions. |
|
| 93. |
Find the correct statement from the following function definitions. let rec p on a b : =(a) data type of the parameters are given(b) data type of the parameters are not mentioned |
|
Answer» (b) data type of the parameters are not mentioned |
|
| 94. |
In function definition pre condition is given by ………. (a) Needed(b) Let (c) Returns(d) Requires |
|
Answer» In function definition pre condition is given by Requires |
|
| 95. |
In function definition post condition is given by ………(a) Needed(b) Let(c) Returns(d) Requires |
|
Answer» In function definition post condition is given by Returns |
|
| 96. |
Which of the following is a sufficient condition for two different functions to be equal?(a) Domains of both the functions must be same.(b) Ranges of both the functions must be same.(c) (a) and (b)(d) (a) or (b) |
|
Answer» Correct option is (c) (a) and (b) |
|
| 97. |
Let `A="{"-1,0,1")"a n df={(x , x^2): xA}dot`Show that `f: AvecA`is neitherone-one nor onto. |
|
Answer» `f(x) = x^2` `:. f(-1) = 1, f(0) = 0, f(1) = 1` `=>f(-1) = f(1) = 1` It means, `f(x)` is not one-one. Now, range of `f = {0,1}` `A = {-1,0,1}` As, Range of `f != A`, `f` is not onto. `:. f: A->A` is neither one-one nor onto. |
|
| 98. |
Let A be a finite set. If `f: AvecA`is an onto function, show that `f`is one-one also. |
|
Answer» Given that `f:A->A` is an onto function. Let `A->{a_1,a_2,a_3....a_n}` As this is an onto function from `A->A`, `:. f(A) ->{f(a_1),f(a_2),f(a_2)...f(a_n)} = A` It means, `f(a_1),f(a_2)...f(a_n)` are all distinct elements of `A`. `:. f: A->A` is one-one function. |
|
| 99. |
If the set A contains 7 elements and the set B contains 10 elements,then the number of one-one functions from A to B is |
|
Answer» Here, `f:A->B` and set `A` contains `7` elements and set `B` contains `10` elements. For `f` to be a one-one function each element of `A` should be mapped to a single element of `B`. So, we have to select `7` element from `10` elements of set `B`. Now, these `7` elements can themselves be arranged in `7!` ways. So, required number of one-one functions possible `= C(10,7)*7!.` | |
| 100. |
If the set `A`contains 5 elements and the set B contains 6 elements, then the numberof one-one and onto mappings from A to B is(a)720(b) 120(c) 0 (d) none of these |
|
Answer» As there are `5` elements in set `A` and `6` elements in set `B`, if we try to make a one -one function from `A` to `B`, one element of `B` is not used. So, function will not be onto. If we try to make an onto function, then at least one of the elements of `A` should have more than one mapping to set `B`. In this case, it will not be a one-one function. So, we can not create a function that is both onto and one-one with the given sets. So, option `(c)` is the correct option. |
|