Home | | Computer Science 12th Std | Function: Book Back Questions and Answers

Computer Science - Function: Book Back Questions and Answers | 12th Computer Science : Chapter 1 : Problem Solving Techniques : Function

Chapter: 12th Computer Science : Chapter 1 : Problem Solving Techniques : Function

Function: Book Back Questions and Answers

Choose the best answer, Answer the following questions

Evaluation

Part – I

Choose the best answer


1.  The small sections of code that are used to perform a particular task is called

(A) Subroutines    

(B) Files      

(C) Pseudo code   

(D) Modules


2.  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


3. Which of the following is a distinct syntactic block?

(A) Subroutines    

(B) Function         

(C) Definition      

(D) Modules


4.  The variables in a function definition are called as

(A) Subroutines    

(B) Function         

(C) Definition      

(D) Parameters


5. The values which are passed to a function definition are called

(A) Arguments     

(B) Subroutines    

(C) Function         

(D) Definition


6.  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


7. Which of the following defines what an object can do?

(A) Operating System 

(B) Compiler 

(C) Interface         

(D) Interpreter


8. Which of the following carries out the instructions defined in the interface?

 (A) Operating System   

(B) Compiler 

(C) Implementation 

(D) Interpreter


9.  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


10. The functions which cause side effects to the arguments passed are called

 (A) impure function

(B) Partial Functions

 (C) Dynamic Functions

(D) Pure functions


Part – II (2 Marks)

Answer the following questions


1. What is a subroutine?

(i) 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.

(ii) In Programming languages these subroutines are called as Functions.


2. Define Function with respect to Programming language.

A function is a unit of code that is often defined within a greater code structure. Specifically, a function contains a set of code that works on many kinds of inputs, like variants, expressions and produces a concrete output.


3. Write the inference you get from X:=(78).

X: = (78) has an expression in it but (78) is not itself an expression. Rather, it is a function definition. Definitions bind values to names, in this case the value 78 being bound to the name ‘X’. Definitions are not expressions, at the same time expressions are also not treated as definitions. Definitions are distinct syntactic blocks. Definitions can have expressions nested inside them, and vice-versa. 


4. Differentiate interface and implementation.

The difference between interface and implementation is



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


5. Which of the following is a normal function definition and which is recursive function definition

i) let rec sum x y:

return x + y

ii) let disp :

print ‘welcome’

iii) let rec sum num:

if (num!=0) then return num + sum (num-1)

else

return num

i) let rec sum x y;

return x + y

ii) let disp :

print 'welcome'

iii) let rec sum num :

if (num!=0) then return num + sum (num-1)

else

return num

Ans. (i) Recursive function

(ii) Normal function

(iii) Recursive function


Part – III

Answer the following questions       (3 Marks)

1. Mention the characteristics of Interface.

Ans. (i) The class template specifies the interfaces to enable an object to be created and operated properly.

(ii) An object's attributes and behaviour is controlled by sending functions to the object.


2. Why strlen is called pure function?

Ans. (i) strlen is a pure function because the function takes one variable as a parameter, and accesses it to find its length.

(ii) This function reads external memory but does not change it, and the value returned derives from the external memory accessed.


3. What is the side effect of impure function. Give example.

Ans. (i) The variables used inside the function may cause side effects though the functions which are not passed with any arguments. In such cases the function is called impure function.

(ii) 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.

(iii) For example the mathematical function random () will give different outputs for the same function call.

Program :

let Random number

 let a := random()

 if a > 10 then

return : a

else

return: 10

(iv) Here the function Random is impure as it is not sure what will be the result when we call the function.


4. Differentiate pure and impure function.

Ans.


Interface

The return value of the pure functions solely depends on its arguments passed. Hence, if you call the pure functions with the same set of arguments, you will always get the same return values.

They do not have any side effects.

They do not modify the arguments which are passed to them  

Implementation

The return value of the impure functions does not solely depend on its arguments passed. Hence, if you call the impure functions with the same set of arguments, you might get the different return values. For example, random(), Date().

They may modify the arguments which are passed to them


5. Wha happens if you modify a variable outside the function? Give an example.

Ans.One of the most popular groups of side effects is modifying the variable outside of function.

For example :

let y: = 0

(int) inc (int) x

 y: = y + x;

return (y)


Part IV

Answer the following questions (5 Marks)

1. What are called Parameters and write a note on

(i) Parameter without Type               (ii) Parameter with Type

Ans. 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 ‘int’. ‘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.


2.  Identify in the following program

let rec gcd a b :=

if b <> 0 then gcd b (a mod b) else return a

i) Name of the function

ii) Identify the statement which tells it is a recursive function

iii) Name of the argument variable

iv) Statement which invoke the function recursively

v) Statement which terminates the recursion

Ans. (i) gcd

(ii) let rec gcd

(iii) a, b

(iv) gcd b (a mod b)

(v) return a


3. Explain with example Pure and impure functions.

Ans.

Pure functions :

(i) Pure functions are functions which will give exact result when the same arguments are passed.

(ii) For example the mathematical function sin (0) always results 0. This means that every time you call the function with the same arguments, you will always get the same result.

(iii) A function can be a pure function provided it should not have any external variable which will alter the behaviour of that variable.

Let us see an example

let square x

return: x * x

(iv) The above function square is a pure function because it will not give different results for same input.

(v) There are various theoretical advantages of having pure functions. One advantage is that if a function is pure, then if it is called several times with the same arguments, the compiler only needs to actually call the function once. Lt’s see an example

let i: = 0;

if i <strlen (s) then

-- Do something which doesn't

affect s

++i

(vi) If it is compiled, 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 loop, then it can remove the redundant extra calls to strlen and make the loop to execute only one time.

(vii) From these what we can understand, strlen is a pure function because the function takes one variable as a parameter, and accesses it to find its length. This function reads external memory but does not change it, and the value returned derives from the external memory accessed.

Impure functions :

(i) The variables used inside the function may cause side effects though the functions which are not passed with any arguments. In such cases the function is called impure function.

(ii) When a function depends on variables or functions outside of Jts definition block, you can never be sure that the function will behave the same every time it’s called. For example the mathematical function random() will give different outputs for the same function call.

let Random number

let a := random()

if a > 10 then

return: a

else

return: 10

(iii) Here the function Random is impure as it is not sure what will be the result when we call the function.


4. Explain with an example interface and implementation.

Ans. (i) An interface is a set of action that an object can do. For example when you press a light switch, the light goes on, you may not have cared how it splashed the light. In Object Oriented Programming language, an Interface is a description of all functions that a class must have in order to be a new interface.

(ii) In our example, anything that ’’ACTS LIKE" a light, should have function definitions like turn_on () and a turn_off (). The purpose of interfaces is to allow the computer to enforce the properties of the class of TYPE T (whatever the interface is) must have functions called X, Y, Z, etc.

(iii) A class declaration combines the external interface (its local state) with an implementation of that interface (the code that carries out the behaviour). An object is an instance created from the class. The interface defines an object’s visibility to the outside world.

The difference between interface and implementation is

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

(iv) In object oriented programs classes are the interface and how the object is processed and executed is the implementation.

Characteristics of interface :

(i) The class template specifies the interfaces to enable an object to be created and operated properly.

(ii) An object's attributes and behaviour is controlled by sending functions to the object.

For example, let's take the example of increasing a car’s speed.



 (iii) The person who drives the car doesn't care about the internal working.- To increase the speed of the car he just presses the accelerator to get the desired behaviour. Here the accelerator is the interface between the driver (the calling / invoking object) and the engine (the called object).

(iv) In this case, the function call would be Speed (70): This is the interface. Internally, the engine of the car is doing all the things. It's where fuel, air, pressure, and electricity come together to create the power to move the vehicle.

(v) All of these actions are separated from the driver, who just wants to go faster. Thus we separate interface from implementation.

(vi) Let us see a simple example, consider the following implementation of a function that finds the minimum of its three arguments:

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

Tags : Computer Science , 12th Computer Science : Chapter 1 : Problem Solving Techniques : Function
Study Material, Lecturing Notes, Assignment, Reference, Wiki description explanation, brief detail
12th Computer Science : Chapter 1 : Problem Solving Techniques : Function : Function: Book Back Questions and Answers | Computer Science


Privacy Policy, Terms and Conditions, DMCA Policy and Compliant

Copyright © 2018-2023 BrainKart.com; All Rights Reserved. Developed by Therithal info, Chennai.