Functions Imp Notes
Functions Imp Notes
Question 1
Question 2
If a function does not return any value its return type is void.
Question 3
A function indicating the function name, return type along with function arguments is known as function header/prototype.
Question 4
The variables used to receive the values in function header are known as formal parameters.
Question 5
Question 6
The procedural function performs some actions without returning any output.
Question 8
Question 9
Functions used with same name but different types of arguments are known as function overloading.
Question 10
Question 1
1. pure function
2. impure function
3. replace function
4. none of the above
Question 2
2
1. defined parameter
2. passed parameter
3. actual parameter
4. formal parameter
Question 3
1. forward parameter
2. actual parameter
3. formal parameter
4. none of the above
Question 4
The process of calling a function in such a way that the change in the formal arguments reflects on the actual parameter is known as:
1. call by reference
2. call by value
3. call by method
4. none
Question 5
1. multiple function
2. function overloading
3. floating function
4. none
3
Question 6
1. return
2. call
3. promote
4. none
Question 7
1. int
2. float
3. double
4. void
Question 8
1. {}
2. []
3. ()
4. under a rectangular box
Question 9
4
1. object
2. system
3. parameter
4. none
Question 1
Question 2
Question 3
Question 4
5
Question 5
Question 1
A function or a method is a sequence of statements grouped together and given a name. This group of statements can be called at any point in the program using its
name to perform a specific task.
First line of function definition that tells about the type of value returned by the function and the number and type of arguments is called function prototype.
Question 2
1. Pass by value.
2. Pass by reference.
Question 3
When a function returns the value, the entire function call can be assigned to a variable. Do you agree with the statement?
Yes, when a function returns a value, we can assign the entire function call to a variable. Below example illustrates the same:
public class Example {
6
int c = a + b;
return c;
}
Question 4
When a function is invoked how many values can be returned from the function?
Question 5
Answer
Answer
7
Answer
Answer
Question 6
Write down the main function which calls the following function:
int square(int a)
{
return(a*a);
}
Answer
Question 7
Pass by reference means that the arguments of the function are a reference to the original objects and not a copy. So any changes that the called function makes to the
objects are visible to the calling function. Consider the below example:
class PassByReferenceExample {
public void demoRef(int a[]) {
for (int i = 0; i < 5; i++) {
a[i] = i;
}
8
}
Question 8
For a function to return a value, it should have a return type other than void in its function prototype and it should return a value of the corresponding type using the
return statement in the function body.
Question 9
9
Pure functions Impure functions
Pure functions take objects and/or primitive data types as Impure functions change the
arguments but does not modify the objects. state of received objects.
Question 10
Write a function which is used to swap the values of two memory locations.
Answer
Answer
10
a = a - b;
System.out.println("a = " + a + "\t" + "b = " + b);
}
Question 11
Question 12
1. Methods help to manage the complexity of the program by dividing a bigger complex task into smaller, easily understood tasks.
2. Methods are useful in hiding the implementation details.
11
3. Methods help with code reusability.
Question 13
Function overloading is the process of defining functions/methods within a class, that have the same name but differ in the number and/or the data types of their
arguments. Advantages of function overloading are:
1. Function overloading is one of the ways in which Java implements the object oriented concept of Polymorphism.
2. With Function overloading, programmers don't have to create and remember different names for functions doing the same thing for different data types.
Question 14
Return data type specifies the type of value that the method should return. It is mentioned before the method name in the method prototype. It can be any valid
primitive or composite data type of Java. If no value is being returned, it should be void.
Access specifiers determine the type of access to the method. It can be either public, private or protected.
Parameter list is a comma-separated list of variables of a method along with their respective data types. The list is enclosed within a pair of parentheses. Parameter list
can be empty if the method doesn't accept any parameters when it is called.
A function that calls itself inside its body is called a Recursive function.
12
Method signature comprises of the method name and the data types of the parameters. For example, consider the below method:
int sum(int a, int b) {
int c = a + b;
return c;
}
Its method signature is:
sum(int, int)
Question 15
A function returns a value through the return statement. Once a return statement is executed, the program control moves back to the caller function skipping the
remaining statements of the current function if any. A function can have multiple return statements but only one of them will be executed. For example, consider the
below method:
int sum(int a, int b) {
int c = a + b;
return c;
}
It uses a return statement to return a value of int type back to its caller.
Question 16
13
Formal parameter Actual parameter
They represent the values received by the They represent the values passed to the
called function. called function.
Question 17
The keyword 'void' signifies that the function doesn't return a value to the calling function.
Question 18
If a function contains several return statements, how many of them will be executed?
A function can have multiple return statements but only one of them will be executed because once a return statement is executed, the program control moves back to
the caller function skipping the remaining statements of the current function.
Question 19
Question 20
14
Primitive types
By value
Reference types
By reference
Give output of the following function definitions and also write what mathematical operations they carry out
Question 1
void test1(int n)
{
for(int x=1; x<=n; x++)
if(n%x == 0)
System. out.println(x);
}
if 12 is passed to n.
Output
1
2
3
4
6
12
Explanation
Question 2
15
{
if ( a > b)
a = a — b;
else
a = b — a;
}
System.out.println(a);
}
if 4 and 17 are passed to the function.
Output
Infinite Loop
Explanation
Initial value of a is 4 and b is 17 as given in the question. As a and b are not equal, condition of while loop is true, first iteration starts. a is less than b so if condition is false, a = b
- a is executed and a becomes 17 - 4 = 13. Condition of while loop is true so second iteration starts. Again, if condition is false. This time a becomes 17 - 13 = 4. Like this, the
value of a keeps oscillating between 13 and 4 resulting in an infinite loop.
Question 3
void test3(char c)
{
System.out.println( (int) c);
}
if 'm' is passed to c.
Output
109
Explanation
This function prints the ASCII code of its argument. When 'm' is passed to this function, its ASCII code which is 109 gets printed as the output.
16
Question 4
Output
AMIT
Explanation
The first differing characters of "AMIT" and "AMAN" are 'I' and 'A', respectively. So output of "AMIT".compareTo("AMAN") will be ASCII Code of 'I' - ASCII Code of 'A' ⇒
73 - 65 ⇒ 8. The if condition is true so string x which is "AMIT" gets printed as the output.
Question 1
Write a program in Java using a method Discount( ), to calculate a single discount or a successive discount. Use overload methods Discount(int), Discount(int,int) and
Discount(int,int,int) to calculate single discount and successive discount respectively. Calculate and display the amount to be paid by the customer after getting discounts on the
printed price of an article.
Sample Input:
Printed price: ₹12000
Successive discounts = 10%, 8%
= ₹(12000 - 1200)
= ₹(10800 - 864)
Amount to be paid = ₹9936
17
import java.util.Scanner;
obj.discount(price);
}
}
18
Output
Question 2
Write a program to input a number. Use a function int Armstrong(int n) to accept the number. The function returns 1, if the number is Armstrong, otherwise zero(0).
It is an Armstrong Number.
import java.util.Scanner;
19
int num = n, cubeSum = 0;
if (cubeSum == n)
return 1;
else
return 0;
}
if (r == 1)
System.out.println(num + " is an Armstrong number");
else
System.out.println(num + " is not an Armstrong number");
}
}
20
Output
Question 3
Write a program to input a number and check and print whether it is a 'Pronic' number or not. Use a function int Pronic(int n) to accept a number. The function returns 1, if the
number is 'Pronic', otherwise returns zero (0).
(Hint: Pronic number is the number which is the product of two consecutive integers)
Examples:
12 = 3 * 4
20 = 4 * 5
42 = 6 * 7
import java.util.Scanner;
21
public class KboatPronicNumber
{
public int pronic(int n) {
int isPronic = 0;
return isPronic;
}
if (r == 1)
System.out.println(num + " is a pronic number");
else
System.out.println(num + " is not a pronic number");
}
}
22
Output
Question 4
Write a program to enter a two digit number and find out its first factor excluding 1 (one). The program then find the second factor (when the number is divide by the first factor)
and finally displays both the factors.
Hint: Use a non-return type function as void fact(int n) to accept the number.
Sample Input: 21
23
The first factor of 21 is 3
Sample Output: 3, 7
Sample Input: 30
The first factor of 30 is 2
Sample Output: 2, 15
import java.util.Scanner;
int i;
for (i = 2; i <= n; i++) {
if (n % i == 0)
break;
}
int sf = n / i;
24
Output
25
Question 5
Write a function fact(int n) to find the factorial of a number n. Include a main class to find the value of S where:
S = n! / (m!(n - m)!)
where, n! = 1 x 2 x 3 x .......... x n
import java.util.Scanner;
long f = 1;
26
}
return f;
27
Output
Question 6
Write a program using a function called area() to compute area of the following:
(a) Area of circle = (22/7) * r * r
(b) Area of square= side * side
(c) Area of rectangle = length * breadth
Display the menu to display the area as per the user's choice.
import java.util.Scanner;
28
Scanner in = new Scanner(System.in);
switch(choice) {
case 'a':
System.out.print("Enter radius of circle: ");
double r = in.nextDouble();
double ca = (22 / 7.0) * r * r;
System.out.println("Area of circle = " + ca);
break;
case 'b':
System.out.print("Enter side of square: ");
double side = in.nextDouble();
double sa = side * side;
System.out.println("Area of square = " + sa);
break;
case 'c':
System.out.print("Enter length of rectangle: ");
double l = in.nextDouble();
System.out.print("Enter breadth of rectangle: ");
double b = in.nextDouble();
double ra = l * b;
System.out.println("Area of rectangle = " + ra);
break;
default:
System.out.println("Wrong choice!");
}
}
}
29
Output
30
31
Question 7
Write a program using method name Glcm(int,int) to find the Lowest Common Multiple (LCM) of two numbers by GCD (Greatest Common Divisor) of the numbers. GCD of two
integers is calculated by continued division method. Divide the larger number by the smaller, the remainder then divides the previous divisor. The process is repeated till the
remainder is zero. The divisor then results in the GCD.
LCM = product of two numbers / GCD
import java.util.Scanner;
32
public class KboatGlcm
{
int lcm = (a * b) / x;
33
Output
Question 8
Write a program in Java to accept a word. Pass it to a function magic(String str). The function checks the string for the presence of consecutive letters. If two letters are consecutive
at any position then the function prints "It is a magic string", otherwise it prints "It is not a magic string".
Sample Input: computer
Sample Output: It is not a magic string
Sample Input: DELHI
Sample Output: It is a magic string
import java.util.Scanner;
34
{
public void magic(String str) {
if (isMagicStr)
System.out.println("It is a magic string");
else
System.out.println("It is not a magic string");
}
35
Output
Question 9
Write a program using a method Palin( ), to check whether a string is a Palindrome or not. A Palindrome is a string that reads the same from the left to right and vice versa.
Sample Input: MADAM, ARORA, ABBA, etc.
import java.util.Scanner;
36
String str = s.toUpperCase();
int strLen = str.length();
boolean isPalin = true;
if (isPalin)
System.out.println("It is a palindrome string.");
else
System.out.println("It is not a palindrome string.");
}
}
37
Output
Question 10
Write a program in Java to accept a String from the user. Pass the String to a function Display(String str) which displays the consonants present in the String.
Sample Input: computer
Sample Output:
c
m
p
t
r
import java.util.Scanner;
38
public class KboatConsonants
{
public void display(String str) {
39
Output
Question 11
Write a program in Java to accept a String from the user. Pass the String to a function Change(String str) which displays the first character of each word after changing the case
(lower to upper and vice versa).
Sample Input: Delhi public school
Sample Output:
d
P
S
import java.util.Scanner;
40
public class KboatStringChange
{
public void change(String str) {
/*
* We need to trim the string to
* avoid StringIndexOutOfBoundsException
* error due to spaces at the end of the
* string.
* If we don't do str.trim() this program
* will give error for strings like
* " ICSE computer applications "
*/
int idx = 0;
do {
char ch = temp.charAt(idx);
if (Character.isUpperCase(ch))
ch = Character.toLowerCase(ch);
else if (Character.isLowerCase(ch))
ch = Character.toUpperCase(ch);
System.out.println(ch);
/*
* There can be more than one space
* between words of the string so we
* keep incrementing idx till we find
* a non-whitespace character
*/
41
while (Character.isWhitespace(temp.charAt(idx)))
idx++;
/*
* If no space is found after idx
* indexOf method will return -1. Adding 1 to
* it will make idx zero. So condition of
* do-while loop is idx != 0.
*/
} while(idx != 0);
42
Output
Question 12
Write a program in Java to accept the name of an employee and his/her annual income. Pass the name and the annual income to a function Tax(String name, int income) which
displays the name of the employee and the income tax as per the given tariff:
43
Annual Income Income Tax
Up to ₹2,50,000 No tax
import java.util.Scanner;
double tax;
if (income <= 250000)
tax = 0;
else if (income <= 500000)
tax = (income - 250000) * 0.1;
else if (income <= 1000000)
tax = 30000 + ((income - 500000) * 0.2);
else
tax = 50000 + ((income - 1000000) * 0.3);
44
String n = in.nextLine();
System.out.print("Enter annual income: ");
int i = in.nextInt();
Output
Question 13
Write a program in Java to accept a String from the user. Pass the String to a function First(String str) which displays the first character of each word.
Sample Input : Understanding Computer Applications
45
Sample Output:
U
C
A
import java.util.Scanner;
46
Output
Question 14
Write a program to accept 10 numbers in a Single Dimensional Array. Pass the array to a function Search(int m[], int ns) to search the given number ns in the list of array elements.
If the number is present, then display the message 'Number is present' otherwise, display 'number is not present'.
import java.util.Scanner;
47
found = true;
break;
}
}
if (found)
System.out.println("Number is present");
else
System.out.println("Number is not present");
}
48
Output
49
50
51
Question 15
Write a class with the name Area using function overloading that computes the area of a parallelogram, a rhombus and a trapezium.
Formula:
52
double d1 = in.nextDouble();
System.out.print("Enter second diagonal of rhombus: ");
double d2 = in.nextDouble();
System.out.println("Area of rhombus = " + obj.area(0.5, d1, d2));
53
Output
54
55
Question 16
Write a class with the name Perimeter using function overloading that computes the perimeter of a square, a rectangle and a circle.
Formula:
Perimeter of a square = 4 * s
Perimeter of a rectangle = 2 * (l + b)
56
System.out.print("Enter radius of circle: ");
double r = in.nextDouble();
System.out.println("Perimeter of circle = " + obj.perimeter(2, 3.14159, r));
}
}
Output
Question 17
57
1. void display(String str, int p) with one String argument and one integer argument. It displays all the uppercase characters if 'p' is 1 (one) otherwise, it displays all the lowercase
characters.
2. void display(String str, char chr) with one String argument and one character argument. It displays all the vowels if chr is 'v' otherwise, it displays all the alphabets.
import java.util.Scanner;
58
obj.display(s, 0);
System.out.println("\nchr='v'");
obj.display(s, 'v');
System.out.println("\nchr!='v'");
obj.display(s, 'u');
}
}
59
Output
60
61
Question 18
1. void calculate(int m, char ch) with one integer argument and one character argument. It checks whether the integer argument is divisible by 7 or not, if ch is 's', otherwise, it checks
whether the last digit of the integer argument is 7 or not.
2. void calculate(int a, int b, char ch) with two integer arguments and one character argument. It displays the greater of integer arguments if ch is 'g' otherwise, it displays the smaller of
integer arguments.
import java.util.Scanner;
62
obj.calculate(n1, 's');
obj.calculate(n1, 't');
}
}
Output
63
Question 19
Write a menu driven program using a method Number() to perform the following tasks:
1. Accept a number from the user and display it in its Binary Equivalents.
For example:
Sample Input: (21)10
Sample Output: (10101)2
2. Accept a binary number from the user and display it in its Decimal Equivalents.
For example:
Sample Input: (11101)2
Sample Output: (29)10
import java.util.Scanner;
switch (c) {
case 1:
System.out.print("Enter a decimal number: ");
int num = in.nextInt();
System.out.println("Binary Equivalent");
System.out.println(Integer.toBinaryString(num));
break;
case 2:
System.out.print("Enter a binary number: ");
String bin = in.nextLine();
System.out.println("Decimal Equivalent");
System.out.println(Integer.parseInt(bin, 2));
break;
64
default:
System.out.println("Incorrect Choice");
break;
}
}
}
Output
65
Question 20
1. void manip(String str, int p) with one String argument and one integer argument. It displays the characters of even positions of String, if p is an even number otherwise, it displays the
characters of odd positions.
66
2. void manip(int a, char ch) with one integer argument and one character argument. It computes the square root of the integer arguments if ch is 's', else it computes the cube root of the
integers.
import java.util.Scanner;
67
}
68
Output
69
70
Question 21
1. void compare(int, int) — to compare two integers values and print the greater of the two integers.
2. void compare(char, char) — to compare the numeric value of two characters and print with the higher numeric value.
3. void compare(String, String) — to compare the length of the two strings and print the longer of the two.
import java.util.Scanner;
71
obj.compare(c1, c2);
72
Output
Question 22
1. void polygon(int n, char ch) — with one integer and one character type argument to draw a filled square of side n using the character stored in ch.
73
2. void polygon(int x, int y) — with two integer arguments that draws a filled rectangle of length x and breadth y, using the symbol '@'.
3. void polygon() — with no argument that draws a filled triangle shown below:
Example:
74
public void polygon() {
for (int i = 1; i <= 3; i++) {
for (int j = 1; j <= i; j++) {
System.out.print('*');
}
System.out.println();
}
}
75
Output
Question 23
76
1. double series(double n) with one double argument and returns the sum of the series.
sum = (1/1) + (1/2) + (1/3) + .......... + (1/n)
2. double series(double a, double n) with two double arguments and returns the sum of the series.
sum = (1/a2) + (4/a5) + (7/a8) + (10/a11) + .......... to n terms
77
Output
Question 24
1. void display(int num) — checks and prints whether the number is a perfect square or not.
2. void display(String str, char ch) — checks and prints if the word str contains the letter ch or not.
3. void display(String str) — checks and prints the number of special characters present in the word str.
78
public void display(int num) {
double sroot = Math.sqrt(num);
if ((sroot - Math.floor(sroot)) == 0)
System.out.println(num + " is a perfect square");
else
System.out.println(num + " is not a perfect square");
}
79
Output
Question 25
1. void display(String str, char ch) — checks whether the word str contains the letter ch at the beginning as well as at the end or not. If present, print 'Special Word' otherwise print 'No
special word'.
2. void display(String str1, String str2) — checks and prints whether both the words are equal or not.
3. void display(String str, int n) — prints the character present at nth position in the word str.
80
{
public void display(String str, char ch) {
String temp = str.toUpperCase();
ch = Character.toUpperCase(ch);
if (temp.indexOf(ch) == 0 &&
temp.lastIndexOf(ch) == (temp.length() - 1))
System.out.println("Special Word");
else
System.out.println("No Special Word");
}
81
Output
Question 26
1. void Joystring(String s, char ch1, char ch2) with one string argument and two character arguments that replaces the character argument ch1 with the character argument ch2 in the
given String s and prints the new string.
Example:
Input value of s = "TECHNALAGY"
ch1 = 'A'
ch2 = 'O'
Output: "TECHNOLOGY"
82
2. void Joystring(String s) with one string argument that prints the position of the first space and the last space of the given String s.
Example:
Input value of s = "Cloud computing means Internet based computing"
Output:
First index: 5
Last Index: 36
3. void Joystring(String s1, String s2) with two string arguments that combines the two strings with a space between them and prints the resultant string.
Example:
Input value of s1 = "COMMON WEALTH"
Input value of s2 = "GAMES"
Output: COMMON WEALTH GAMES
83
Output
Question 27
1. double volume(double r) — with radius (r) as an argument, returns the volume of sphere using the formula:
V = (4/3) * (22/7) * r * r * r
2. double volume(double h, double r) — with height(h) and radius(r) as the arguments, returns the volume of a cylinder using the formula:
V = (22/7) * r * r * h
84
public class KboatVolume
{
double volume(double r) {
return (4 / 3.0) * (22 / 7.0) * r * r * r;
}
85
Output
86