Showing posts with label 1st Semester Notes. Show all posts
Showing posts with label 1st Semester Notes. Show all posts

FOCP - INTRODUCTION TO C (Unit 4)–16marks with answers

FUNDAMENTALS OF COMPUTING & COMPUTER PROGRAMMING

UNIT IV – 16 Marks

INTRODUCTION TO C


1. Explain in detail about ‘C’ declarations and variables.

In C, lowercase and uppercase characters are very important. All commands in C

must be lowercase. The C programs starting point is identified by the word main( ). This informs the computer as to where the program actually starts.

The brackets that follow the keyword main indicate that there are no arguments supplied to this program.

The two braces, { and }, signify the begin and end segments of the program. The purpose of the statement

include <stdio.h> is to allow the use of the printf statement to provide program

output. Text to be displayed by printf() must be enclosed in double quotes. The program has only one statement printf("Programming in C is easy.\n");

printf() is actually a function (procedure) in C that is used for printing variables and text. Where text appears in double quotes "", it is printed without modification. There are some exceptions however. This has to do with the \ and % characters. These characters are modifier’s, and for the present the \ followed by the n character represents a newline character. Thus the program prints

Programming in C is easy.

and the cursor is set to the beginning of the next line. As we shall see later on, what follows the \ character will determine what is printed, ie, a tab, clear screen, clear line etc. Another important thing to remember is that all C statements are terminated by a semi-colon ;

General rules of ‘C’ language:

· program execution begins at main()

· keywords are written in lower-case

· statements are terminated with a semi-colon

· text strings are enclosed in double quotes

· C is case sensitive, use lower-case and try not to capitalize variable names

· \n means position the cursor on the beginning of the next line

· printf() can be used to display text to the screen

· The curly braces {} define the beginning and end of a program block.

BASIC STRUCTURE OF C PROGRAMS

C programs are essentially constructed in the following manner, as a number of well

defined sections.

/* HEADER SECTION */

/* Contains name, author, revision number*/

/* INCLUDE SECTION */

/* contains #include statements */

/* CONSTANTS AND TYPES SECTION */

/* contains types and #defines */

/* GLOBAL VARIABLES SECTION */

/* any global variables declared here */

/* FUNCTIONS SECTION */

/* user defined functions */

/* main() SECTION */

int main()

{

}

A Simple Program

The following program is written in the C programming language.

#include <stdio.h>

main()

{

printf(“Programming in C is easy.\n”); }

INITIALISING DATA VARIABLES AT DECLARATION TIME

In C, variables may be initialized with a value when they are declared. Consider

the following declaration, which declares an integer variable count which is initialized to

10. int count = 10;

SIMPLE ASSIGNMENT OF VALUES TO VARIABLES

The = operator is used to assign values to data variables. Consider the following statement, which assigns the value 32 an integer variable count, and the letter A to the character variable letter

count = 32;

letter = ‘A’

Variable Formatters

%d decimal integer

%c character

%s string or character array

%f float

%e double

HEADER FILES

Header files contain definitions of functions and variables which can be incorporated into any C program by using the pre-processor #include statement. Standard header files are provided with each compiler, and cover a range of areas, string handling, mathematical, data conversion, printing and reading of variables.

To use any of the standard functions, the appropriate header file should be

included. This is done at the beginning of the C source file. For example, to use the function printf() in a program, the line

#include <stdio.h> should be at the beginning of the source file, because the definition for printf() is found in the file stdio.h All header files have the extension .h and generally reside in the /include subdirectory.

#include <stdio.h>

#include “mydecls.h”

The use of angle brackets <> informs the compiler to search the compilers include directory for the specified file. The use of the double quotes “” around the filename inform the compiler to search in the current directory for the specified file.


2. Explain in detail about the constants, expressions and statements in ‘C’.

1. Constants: (with examples)

1. Numeric constants

a. Integer Constants

b. Real Constants

2. Character constants

a. Single character Constants b. String Constants

2. Expressions:

An expression represents a single data item, such as number or a character. Logical conditions that are true or false are represented by expressions.

Example: a = p – q / 3 + r * 2 - 1

3. Statements

· Assignment Statements – Definition and examples

· Null Statements – Definition and examples

· Block of statements – Definition and examples

· Expression statements – Definition and examples

· Declaration statements – Definition and examples


3. Discuss about the various data types in ‘C’. (MAY 2009)

The four basic data types are

a. INTEGER

These are whole numbers, both positive and negative. Unsigned integers

(positive values only) are supported. In addition, there are short and long integers.

The keyword used to define integers is, int

An example of an integer value is 32. An example of declaring an integer variable called sum is,

int sum;

sum = 20;

b. FLOATING POINT

These are numbers which contain fractional parts, both positive and negative. The keyword used to define float variables is,

float

An example of a float value is 34.12. An example of declaring a float variable

called money is,

float money;

money = 0.12;

c. DOUBLE

These are exponentional numbers, both positive and negative. The keyword used

to define double variables is, double

An example of a double value is 3.0E2. An example of declaring a double variable called big is,

double big;

big = 312E+7;

d. CHARACTER

These are single characters. The keyword used to define character variables is,

char

An example of a character value is the letter A. An example of declaring a character variable called letter is,

char letter;

letter = ‘A’;

Note the assignment of the character A to the variable letter is done by enclosing the value in single quotes.

#include < stdio.h >

main()

{

int sum;

float money; char letter; double pi;

sum = 10; /* assign integer value */ money = 2.21; /* assign float value */ letter = ‘A’; /* assign character value */ pi = 2.01E6; /* assign a double value */ printf(“value of sum = %d\n”, sum );

printf(“value of money = %f\n”, money ); printf(“value of letter = %c\n”, letter ); printf(“value of pi = %e\n”, pi );

}

Sample program output

value of sum = 10

value of money = 2.210000 value of letter = A

value of pi = 2.010000e+06


4. Describe the various types of operators in ‘C’ language along with its priority.

An ex pr e s s I o n is a sequence of operators and operands that specifies computation of a value, or that designates an object or a function, or that generates side effects, or that performs a combination thereof.

clip_image001[5]

1. ARITHMETIC OPERATORS:

The symbols of the arithmetic operators are:-

Example:

#include <stdio.h>

main()

{

int sum = 50; float modulus; modulus = sum % 10;

printf(“The %% of %d by 10 is %f\n”, sum, modulus);

}

PRE/POST INCREMENT/DECREMENT OPERATORS

PRE means do the operation first followed by any assignment operation. POST

means do the operation after any assignment operation. Consider the following statements ++count; /* PRE Increment, means add one to count */ count++; /* P OST Increment, means add one to count */

Example:

#include <stdio.h>

main()

{

int count = 0, loop;

loop = ++count; /* same as count = count + 1; loop = count; */

printf(“loop = %d, count = %d\n”, loop, count);

loop = count++; /* same as loop = count; count = count + 1; */

printf(“loop = %d, count = %d\n”, loop, count);

}

If the operator precedes (is on the left hand side) of the variable, the operation is performed first, so the statement

loop = ++count;

really means increment count first, then assign the new value of count to loop.

2. THE RELATIONAL OPERATORS

These allow the comparison of two or more variables.

= = equal to

! = not equal

< less than

< = less than or equal to

> greater than

> = greater than or equal to

Example:

#include <stdio.h>

main() /* Program introduces the for statement, counts to ten */

{

int count;

for( count = 1; count <= 10; count = count + 1 )

printf(“%d “, count );

printf(“\n”);

}

3. LOGICAL OPERATORS (AND, NOT, OR, EOR) Combining more than one condition

These allow the testing of more than one condition as part of selection

statements. The symbols are

LOGICAL AND &&

Logical and requires all conditions to evaluate as TRUE (non-zero).

LOGICAL OR ||

Logical or will be executed if any ONE of the conditions is TRUE (non-zero).

LOGICAL NOT !

logical not negates (changes from TRUE to FALSE, vsvs) a condition.

LOGICAL EOR ^

Logical eor will be excuted if either condition is TRUE, but NOT if they are all true.

The following program uses an if statement with logical AND to validate the users input to be in the range 1-10.

#include <stdio.h>

main()

{

int number;

int valid = 0;

while( valid == 0 ) {

printf(“Enter a number between 1 and 10 à”);

scanf(“%d”, &number);

if( (number < 1 ) || (number > 10) ){

printf(“Number is outside range 1-10. Please re-enter\n”);

valid = 0;

}

else

valid = 1;

}

printf(“The number is %d\n”, number );

} Example: NEGATION

#include <stdio.h>

main()

{

int flag = 0;

if( ! flag ) {

printf(“The flag is not set.\n”);

flag = ! flag;

}

printf(“The value of flag is %d\n”, flag);

}

Example:

Consider where a value is to be inputted from the user, and checked for validity to be within a certain range, lets say between the integer values 1 and 100.

#include <stdio.h>

main()

{

int number;

int valid = 0;

while( valid == 0 ) {

printf(“Enter a number between 1 and 100”);

scanf(“%d”, &number );

if( (number < 1) || (number > 100) ) printf(“Number is outside legal range\n”); else

valid = 1;

}

printf(“Number is %d\n”, number );

}

4. THE CONDITIONAL EXPRESSION OPERATOR or TERNARY OPERATOR

This conditional expression operator takes THREE operators. The two symbols used to denote this operator are the ? and the :. The first operand is placed before the ?, the second operand between the ? and the :, and the third after the :. The general format is,

condition ? expression1 : expression2.

If the result of condition is TRUE ( non-zero ), expression1 is evaluated and the

result of the evaluation becomes the result of the operation. If the condition is FALSE (zero), then expression2 is evaluated and its result becomes the result of the operation. An example will help,

s = ( x < 0 ) ? -1 : x * x; If x is less than zero then s = -1

If x is greater than zero then s = x * x

Example:

#include <stdio.h>

main()

{

int input;

printf(“I will tell you if the number is positive, negative or zero!”\n”);

printf(“please enter your number now-à”);

scanf(“%d”, &input );

(input < 0) ? printf(“negative\n”) : ((input > 0) ? printf(“positive\n”) :

printf(“zero\n”));

}

5. BIT OPERATIONS

clip_image002[5]

C has the advantage of direct bit manipulation and the operations available are,

Example:

/* Example program illustrating << and >> */

#include <stdio.h>

main()

{

int n1 = 10, n2 = 20, I = 0;

I = n2 << 4; /* n2 shifted left four times */

printf(“%d\n”, i);

I = n1 >> 5; /* n1 shifted right five times */

printf(“%d\n”, i);

}

Example:

/* Example program using EOR operator */

#include <stdio.h>

main()

{

int value1 = 2, value2 = 4;

value1 ^= value2;

value2 ^= value1;

value1 ^= value2;

printf(“Value1 = %d, Value2 = %d\n”, value1, value2);

}

Example:

/* Example program using AND operator */

#include <stdio.h>

main()

{

int loop;

for( loop = ‘A’; loop <= ‘Z’; loop++ )

printf(“Loop = %c, AND 0xdf = %c\n”, loop, loop & 0xdf);

}


5. Explain about the various decision making statements in ‘C’ language.

(JAN 2009/FEB2010)

1. IF STATEMENTS

DECISION MAKING

The if statements allows branching (decision making) depending upon the value or state of variables. This allows statements to be executed or skipped, depending upon decisions.

The basic format is,

if( expression )

program statement;

Example:

if( students < 65 )

++student_count;

In the above example, the variable student_count is incremented by one only if the value of the integer variable students is less than 65. The following program uses an if statement to validate the users input to be in the range 1-10.

#include <stdio.h>

main()

{

int number;

int valid = 0;

while( valid == 0 ) {

printf(“Enter a number between 1 and 10 à”);

scanf(“%d”, &number);

/* assume number is valid */

valid = 1;

if( number < 1 ) {

printf(“Number is below 1. Please re-enter\n”);

valid = 0;

}

if( number > 10 ) {

printf(“Number is above 10. Please re-enter\n”);

valid = 0;

}

}

printf(“The number is %d\n”, number );

}

2. IF ELSE

The general format for these are,

if( condition 1 )

statement1;

else if( condition 2 )

statement2;

else if( condition 3 )

statement3; else statement4;

The else clause allows action to be taken where the condition evaluates as false (zero). The following program uses an if else statement to validate the users input to be in the range 1-10.

Example:

#include <stdio.h>

main()

{

int number;

int valid = 0;

while( valid == 0 ) {

printf(“Enter a number between 1 and 10 à”);

scanf(“%d”, &number);

if( number < 1 ) {

printf(“Number is below 1. Please re-enter\n”);

valid = 0;

}

else if( number > 10 ) {

printf(“Number is above 10. Please re-enter\n”);

valid = 0;

}

else

valid = 1;

}

printf(“The number is %d\n”, number );

}

This program is slightly different from the previous example in that an else clause is used to set the variable valid to 1. In this program, the logic should be easier to follow.

3. NESTED IF ELSE

/* Illustates nested if else and multiple arguments to the scanf function. */

Example:

#include <stdio.h>

main()

{

int invalid_operator = 0;

char operator;

float number1, number2, result;

printf(“Enter two numbers and an operator in the format\n”);

printf(“ number1 operator number2\n”);

scanf(“%f %c %f”, &number1, &operator, &number2);

if(operator == ‘*’)

result = number1 * number2;

else if(operator == ‘/’)

result = number1 / number2;

else if(operator == ‘+’)

result = number1 + number2;

else if(operator == ‘-‘)

result = number1 – number2;

else

invalid_operator = 1;

if( invalid_operator != 1 )

printf(“%f %c %f is %f\n”, number1, operator, number2, result );

else

printf(“Invalid operator.\n”);


6. Write short notes on the following: (JAN 2009)

‘for’ loop

‘while’ loop

‘dowhile’ loop

‘Switch case ‘ (MAY 2009/FEB 2009/FEB 2010)

BRANCHING AND LOOPING

1. ITERATION, FOR LOOPS

The basic format of the for statement is,

for( start condition; continue condition; re-evaulation )

program statement;

/* sample program using a for statement */

#include <stdio.h>

main() /* Program introduces the for statement, counts to ten */

{

int count;

for( count = 1; count <= 10; count = count + 1 )

printf(“%d “, count );

printf(“\n”);

}

The program declares an integer variable count. The first part of the for statement for (count = 1; initialized the value of count to 1.

The for loop continues with the condition count <= 10; evaluates as TRUE. As

the variable count has just been initialized to 1, this condition is TRUE and so the

program statement printf(“%d “, count ); is executed, which prints the value of count to the screen, followed by a space character.

Next, the remaining statement of the for is executed count = count + 1); which adds one to the current value of count. Control now passes back to the conditional test, count <= 10; which evaluates as true, so the program statement printf(“%d “, count ); is executed.

Count is incremented again, the condition re-evaluated etc, until count reaches a value of

11.

When this occurs, the conditional test count <= 10; evaluates as FALSE, and the for loop terminates, and program control passes to the statement printf(“\n”); which prints a newline, and then the program terminates, as there are no more statements left to execute.

2. THE WHILE STATEMENT

The while provides a mechanism for repeating C statements whilst a condition is

true. Its format is, while( condition ) program statement;

Somewhere within the body of the while loop a statement must alter the value of the condition to allow the loop to finish.

Example:

/* Sample program including while */

#include <stdio.h>

main()

{

int loop = 0;

while( loop <= 10 ) {

printf(“%d\n”, loop);

++loop;

}

}

The above program uses a while loop to repeat the statements

printf(“%d\n”,loop); ++loop; the value of the variable loop is less than or

equal to 10.

3. THE DO WHILE STATEMENT

The do { } while statement allows a loop to continue whilst a condition evaluates as

TRUE (non-zero). The loop is executed as least once.

Example:

/* Demonstration of DO...WHILE */

#include <stdio.h>

main()

{

int value, r_digit;

printf(“Enter the number to be reversed.\n”);

scanf(“%d”, &value);

do {

r_digit = value % 10; printf(“%d”, r_digit); value = value / 10;

} while( value != 0 );

printf(“\n”);

}

The above program reverses a number that is entered by the user. It does this by using the modulus % operator to extract the right most digit into the variable r_digit. The original number is then divided by 10, and the operation repeated whilst the number is not equal to 0.

4. SWITCH CASE:

The switch case statement is a better way of writing a program when a series of if elses occurs.

The general format for this is, switch ( expression ) { case value1:

program statement;

program statement;

...... break;

case valuen:

program statement;

....... break; default:

.......

....... break;

}

The keyword break must be included at the end of each case statement. The default clause is optional, and is executed if the cases are not met. The right brace at the end signifies the end of the case selections.

Example:

#include <stdio.h>

main()

{

int menu, numb1, numb2, total;

printf(“enter in two numbers à”); scanf(“%d %d”, &numb1, &numb2 ); printf(“enter in choice\n”); printf(“1=addition\n”); printf(“2=subtraction\n”);

scanf(“%d”, &menu );

switch( menu ) {

case 1: total = numb1 + numb2; break;

case 2: total = numb1 – numb2; break;

default: printf(“Invalid option selected\n”);

}

if( menu == 1 )

printf(“%d plus %d is %d\n”, numb1, numb2, total );

else if( menu == 2 )

printf(“%d minus %d is %d\n”, numb1, numb2, total );

}

The above program uses a switch statement to validate and select upon the users input choice, simulating a simple menu of choices.


7. Explain briefly about the input and output function in ‘C’. (MAY 2009/FEB 2009)

1 printf ():

MANAGING INPUT AND OUTPUT OPERATORS

printf() is actually a function (procedure) in C that is used for printing variables and text. Where text appears in double quotes “”, it is printed without modification. There are some exceptions however.

This has to do with the \ and % characters. These characters are modifiers, and

for the present the \ followed by the n character represents a newline character.

Example:

#include <stdio.h>

main()

{

printf(“Programming in C is easy.\n”);

printf(“And so is Pascal.\n”);

}

@ Programming in C is easy. And so is Pascal.

FORMATTERS for printf are, Cursor Control Formatters

\n newline

\t tab

\r carriage return

\f form feed

\v vertical tab

2. Scanf ():

Scanf () is a function in C which allows the programmer to accept input from a

keyboard.

Example:

#include <stdio.h>

main() /* program which introduces keyboard input */

{

int number;

printf(“Type in a number \n”);

scanf(“%d”, &number);

printf(“The number you typed was %d\n”, number);

}

FORMATTERS FOR scanf()

The following characters, after the % character, in a scanf argument, have the

following effect.

D read a decimal integer o read an octal value

x read a hexadecimal value h read a short integer

l read a long integer

f read a float value

e read a double value

c read a single character

s read a sequence of characters

[...] Read a character string. The characters inside the brackets

3. ACCEPTING SINGLE CHARACTERS FROM THE KEYBOARD Getchar, Putchar

getchar() gets a single character from the keyboard, and putchar() writes a single character from the keyboard.

Example:

The following program illustrates this,

#include <stdio.h>

main()

{

int i;

int ch;

for( i = 1; i<= 5; ++i ) { ch = getchar(); putchar(ch);

}

}

The program reads five characters (one for each iteration of the for loop) from the keyboard. Note that getchar() gets a single character from the keyboard, and putchar() writes a single character (in this case, ch) to the console screen.


8. (a) Describe in detail about type conversions in ‘C’ with example.

(b) Define delimiters. List them. Give an example program using various delimiters.


9. Explain the following:

· Keywords

· Identifiers

· C character set

· Constant and Volatile variables.


10. Explain the following:

· break statement with example program

· continue statement with example program

· goto statement with example program

FOCP - PROBLEM SOLVING AND OFFICE AUTOMATION–16 Marks with Answers

FUNDAMENTALS OF COMPUTING & COMPUTER PROGRAMMING

UNIT III

16 Marks

PROBLEM SOLVING AND OFFICE AUTOMATION


1. Explain the steps involved in developing a program with neat diagram? (FEB2009)

(or)

Brief about planning the computer program?

The Programming Process – Purpose

1. Understand the problem

v Read the problem statement

v Question users

v Inputs required

v Outputs required

v Special formulas

v Talk to users

2. Plan the logic

(a) Visual Design Tools

v Input record chart

v Printer spacing chart

v Hierarchy chart

v Flowchart

(b) Verbal Design Tools

v Narrative Description

v Pseudocode

3. Code the program

v Select an appropriate programming language

v Convert flowchart and/or Pseudocode instructions into programming language statements

4. Test the program

1. Syntax errors

2. Runtime errors

3. Logic errors

4. Test Data Set

5. Implement the program

Buy hardware Publish software Train users

6. Maintain the program

Maintenance programmers

Legacy systems

Up to 85% of IT department budget


2. Explain flowchart in detail? (FEB 2009/FEB 2010) Definitions:

A flowchart is a schematic representation of an algorithm or a stepwise process, showing the steps as boxes of various kinds, and their order by connecting these with

arrows. Flowcharts are used in designing or documenting a process or program.

A flow chart, or flow diagram, is a graphical representation of a process or system that details the sequencing of steps required to create output. A flowchart is a picture of the separate steps of a process in sequential order.

The benefits of flowcharts are as follows:

a. Communication: Flowcharts are better way of communicating the logic of a system to all concerned.

clip_image002

b. Effective analysis: With the help of flowchart, problem can be analyzed in more effective way.

c. Proper documentation: Program flowcharts serve as a good program documentation, which is needed for various purposes.

d. Efficient Coding: The flowcharts act as a guide or blueprint during the systems analysis and program development phase.

e. Proper Debugging: The flowchart helps in debugging process.

f. Efficient Program Maintenance: The maintenance of operating program becomes easy with the help of flowchart. It helps the programmer to put efforts more efficiently on that part.

Advantages

Logic Flowcharts are easy to understand. They provide a graphical representation of actions to be taken.

Logic Flowcharts are well suited for representing logic where there is intermingling among many actions.

Disadvantages

Logic Flowcharts may encourage the use of GoTo statements leading to software design that is unstructured with logic that is difficult to decipher.

Without an automated tool, it is time-consuming to maintain Logic Flowcharts. Logic Flowcharts may be used during detailed logic design to specify a module.

However, the presence of decision boxes may encourage the use of GoTo statements, resulting in software that is not structured. For this reason, Logic Flowcharts may be better used during Structural Design.

LIMITATIONS OF USING FLOWCHARTS

Complex logic: Sometimes, the program logic is quite complicated. In that case, flowchart becomes complex and clumsy.

Alterations and Modifications: If alterations are required the flowchart may require re-

drawing completely.

Reproduction: As the flowchart symbols cannot be typed, reproduction of flowchart becomes a problem.

The essentials of what is done can easily be lost in the technical details of how it is done.

GUIDELINES FOR DRAWING A FLOWCHART

a. In drawing a proper flowchart, all necessary requirements should be listed out in logical order.

b. The flowchart should be clear, neat and easy to follow. There should not be any room for ambiguity in understanding the flowchart.

c. The usual direction of the flow of a procedure or system is from left to right or top to bottom.

clip_image004

d. Only one flow line should come out from a process symbol.

e. Only one flow line should enter a decision symbol, but two or three flow lines, one for each possible answer, should leave the decision symbol.

clip_image006

f. Only one flow line is used in conjunction with terminal symbol.

clip_image008

g. Write within standard symbols briefly. As necessary, you can use the annotation symbol to describe data or computational steps more clearly.

h. If the flowchart becomes complex, it is better to use connector symbols to reduce the number of flow lines. Avoid the intersection of flow lines if you want to make it more effective and better way of communication.

i. Ensure that the flowchart has a logical start and finish.

j. It is useful to test the validity of the flowchart by passing through it with a simple test data.


3. Describe in detail about algorithm? Give example (MAY 2009)

An algorithm is a description of a procedure which terminates with a result. Simple algorithms can be implemented within a function.

Properties of an algorithm

No ambiguity

There should not be any uncertainty about which instruction to execute next. The algorithm should conclude after a finite number of steps.

The algorithm should be general.

Example:

Biggest among two numbers Addition of N numbers Finding Factorial of a number Finding Fibonacci series.


4. Elaborate pseudo code with example. (MAY 2009\FEB 2009) Guidelines

Statements should be in simple English

Must produce a solution for the specified problem

It should be concise

Each instruction should be written in separate line and express one action. Capitalize keywords such as READ, PRINT and so on.

Instruction should be written from top to bottom, with one entry and one exit. Should allow easy transition from design to coding in programming language.

Benefits:

Language Independent.

Easy to develop a program from pseudo code than flowchart. Easy to translate into programming language.

It is compact.

Limitations:

No visual representation of program logic

No accepted standards for writing pseudo codes. Cannot be compiled or executed.

No real form or syntax rules.

Examples:

Finding a number is prime or not


5. Discuss about the program control structure and program paradigms in detail.

Program structures that affect the order in which statements are executed or that affect statements are executed are called control structures.

1. Sequence control structure

Instructions has to follow one another in a logical progression is sequence control structure.

Example:

Addition of two numbers

3

2. Selection Control Structure

Selection control structure allows the program to make a chance between alternate paths, when it is true or false.

Example:

Largest of two numbers

1

3. Repetition Control Structure

Directs the system to loop back to a previous statement in the program, repeating the same sequence over and again, usually with a new data. When a sequence of statements is repeated against a condition, it is said to a loop.

Example: Search a number in array

2


6. Explain in detail about the word processing package. (OR)

Explain 8 formatting features in word processing package. (JAN 2009/MAY 2009)

(1) Paragraph

(2) Font

(3) Bullets and Numbering (4) Boarders and Shading (5) Tabs

(6) Change case

(7) Auto format

(8) Background


7. Describe about spreadsheet packages. (OR)

Explain the formatting features in spreadsheet package. (JAN 2009/MAY 2009)

(1) Cells

(2) Rows

(3) Columns

(4) Auto format

(5) Sheet

(6) Conditional formatting

(7) Style


8. Discuss about the graphics package along with its various features in detail. (OR)

Explain 8 formatting features in graphics package. (JAN 2009/MAY 2009)

(1) Fonts

(2) Bullets and Numbering

(3) Alignment

(4) Line spacing (5) Change case (6) Replace fonts

(7) Slide Design

(8) Slide Layout


9. Briefly explain about the personal assistant package.

Address book

Calendar

To-do List

Inventory Books

Investments Book


FOC - COMPUTER SOFTWARE (Unit 2)–16 marks with answers

FUNDAMENTALS OF COMPUTING & COMPUTER PROGRAMMING

UNIT II

COMPUTER SOFTWARE

16 MARKS



1. Give the categories of Software with example? (JAN 2009/ MAY 2009)

SOFTWARE TYPES

Application Software:

Application Software is a set of programs for a specific application. Application software

is useful for word processing, accounting, and producing statistical report, Graphics, Excel and Data Base. Programming languages COBOL, FORTRAN, C++,VB, VC, Java

Types of Application Software

Application software enables users to perform the activities and work that computers were designed for. The specific type of application used depends on the intended purpose, and there are application programs for almost every need.

(a) Individual application software refers to programs individuals use at work or at home. Examples include word processing, spreadsheet, database management, and desktop publishing programs.

(b) Collaboration software (also called groupware) enables people at separate PC

workstations to work together on a single document or project, such as designing a new automobile engine.

(c) Vertical application software is a complete package of programs that work together

to perform core business functions for a large organization. For example, a bank might have a mainframe computer at its corporate headquarters connected to conventional terminals in

branch offices, where they are used by managers, tellers, loan officers, and other employees.

All financial transactions are fed to the central computer for processing. The system then generates managers’ reports, account statements, and other essential documents.

Other Application Software Models

Shareware: Shareware is software developed by an individual or software publisher who retains ownership of the product and makes it available for a small “contribution” fee. The voluntary fee normally entitles users to receive online or written product documentation and technical help.

Freeware: Freeware is software that is provided free of charge to anyone wanting to use it. Hundreds of freeware programs are available, many written by college students and

professors who create programs as class projects or as part of their research.

Open Source Software: An open source software program is software whose programming code is owned by the original developer but made available free to the general public, who is

encouraged to experiment with the software, make improvements, and share the

improvements with the user community

Application Software for Individual Use

The thousands of application programs that individuals use to perform computing tasks at work and at home can be grouped into four types:

• Productivity software

• Software for household use

• Graphics and multimedia software

• Communication software

Productivity Software

Productivity software is designed to improve efficiency and performance on the job and at home, and is the largest category of application software for individual use.

Word Processing A word processing program can be used to create almost any kind of printed document. Word processors are the most widely used of all software applications because they

are central to communication. Whatever the type of document created with a word processing program, the essential parts of the procedure remain the same:

• create (enter) text

• edit the text

• format the document

• save and print the file

Desktop Publishing

Desktop publishing (DTP) software allows users to create impressive documents that include text, drawings, photographs, and various graphics elements in full color. Professional- quality publications can be produced with DTP software. Textbooks such as this one may be designed and laid out with a desktop publishing application such as PageMaker, QuarkXpress, or Adobe InDesign.

Spreadsheets

Spreadsheet software is an electronic version of the ruled worksheets accountants used in the past. Spreadsheet software provides a means of organizing, calculating, and presenting financial, statistical, and other numerical information. Businesses find spreadsheets particularly useful for evaluating alternative scenarios. By entering various data values and formulas into a spreadsheet, questions can be answered quickly and accurately.

For the individual user, spreadsheets fulfill many purposes, including:

• preparing and analyzing personal or business budgets

• reconciling checkbooks

• analyzing financial situations

• tracking and analyzing investments

• preparing personal financial statements

• estimating taxes

Database Management

In a computerized database system, data are stored in electronic form on a storage medium, such as hard or floppy disks or CDs. A database is a collection of data organized in one or more tables consisting of individual pieces of information, each located in a field, and a collection of related fields, each collection making up one record (see Figure 5-1). A commercial database program typically allows users to create a form for entering data. A user can design an electronic form to make entering information into the database easier. The information entered using such a form will become a record in a table. Users can add, remove, or change the stored data.

Presentation Graphics

Presentation graphics software allows users to create computerized slide shows that combine text, numbers, animation, graphics, sounds, and videos. A slide is an individual document that is created in presentation graphics software. A slide show may consist of any number of individual slides. For example, an instructor may use a slide show to accompany a lecture to make it more engaging and informative. Microsoft PowerPoint and Corel Presentations are two popular presentation software programs.

Software for Household Use

Numerous software applications designed for use in the household are available for purchase. Among the many products available are applications for managing personal finances, preparing tax returns, preparing legal documents, playing games, and education and reference.

Graphics and Multimedia Software

Graphics and multimedia software allows both professional and home users to work with graphics, video, and audio. A variety of applications software is focused in this area, including painting and drawing software, image-editing software, video and audio editing software, Web authoring software, and computer-aided design (CAD) software. Communications Software

One of the major reasons people use computers is to communicate with others and to retrieve and share information. Communications software allows users to send and receive e- mail, browse and search the Web, engage in group communications and discussions, and participate in videoconferencing activities.

1. Automatic Multimedia Tagging Software

2. Advances in Speech Recognition Software

3. Pattern Recognition Software

4. Distributed Computing

System Software:

(1) When you switch on the computer the programs written in ROM is executed which activates different units of your computer and makes it ready for you to work.

(2) This set of programs can be called system software.

(3) System software are general programs designed for performing tasks such as controlling all operations required to move data into and out of the computer

(4) System Software allows application packages to be run on the computer.

(5) Computer manufactures build and supply this system software with the computer system.

An operating system is the most important piece of software on a personal computer. The

location of the operating system identifies the boot drive for the personal computer, which is typically the hard drive. Once started, the operating system manages the computer system and performs functions related to the input, processing, output, and storage of information, including:

• Managing main memory, or RAM

• Configuring and controlling peripheral devices

• Managing essential file operations, including formatting or copying disks, and renaming or deleting files

• Monitoring system performance

• Providing a user interface



2. State different language translators and explain their functions?

(a) Compiler:

A compiler is a computer program (or set of programs) that transforms source code written in a programming language (the source language) into another computer language (the target language, often having a binary form known as object code).

(b) Loader:

In a computer operating system, a loader is a component that locates a given program (which can be an application or, in some cases, part of the operating system itself) in offline storage (such as a hard disk), loads it into main storage (in a personal computer, it's called random access memory), and gives that program control of the computer (allows it to execute its instruction s).

A program that is loaded may itself contain components that are not initially loaded into main storage, but can be loaded if and when their logic is needed. In a multitasking operating

system, a program that is sometimes called a dispatcher juggles the computer processor's time among different tasks and calls the loader when a program associated with a task is not already in main storage.

(c) Linker:

Also called link editor and binder, a linker is a program that combines object modules to form an executable program. Many programming languages allow you to write different pieces of code, called modules, separately. This simplifies the programming task because

you can break a large program into small, more manageable pieces. Eventually, though, you need to put all the modules together. This is the job of the linker. In addition to combining

modules, a linker also replaces symbolic addresses with real addresses. Therefore, you may need to link a program even if it contains only one module.

The linkage editor accepts two major types of input:

• Primary input, consisting of object decks and linkage editor control statements.

• Additional user-specified input, which can contain both object decks and control statements, or load modules. This input is either specified by you as input, or is incorporated automatically by the linkage editor from a call library.

Output of the linkage editor is of two types:

• A load module placed in a library (a partitioned data set) as a named member

• Diagnostic output produced as a sequential data set.

• The loader prepares the executable program in storage and passes control to it directly.

(d) Interpreter:

An interpreter normally means a computer program that executes, i.e. performs, instructions written in a programming language. An interpreter may be a program that either

Ø executes the source code directly

Ø translates source code into some efficient intermediate representation (code) and immediately executes this

Ø explicitly executes stored precompiled code made by a compiler which is part of the interpreter system

(e) Assembler:

An assembler translates an assembly language source program into machine codes. Though the assembly language is the symbolic representation of machine codes, a computer cannot understand it. After translating the assembly language program into machine codes by the assembler, the program becomes ready for the execution.



3. Explain in detail the steps involved in Software Development Process?

Software development life cycle model is also called as waterfall model which is followed by majority of systems. This software development life cycle process has the following seven stages in it namely

1. System Requirements Analysis

2. Feasibility study

3. Systems Analysis and Design

4. Code Generation

5. Testing

6. Maintenance

7. Implementation

1. System Requirements Analysis:

The first essential or vital thing required for any software development is system. Also the system requirement may vary based on the software product that is going to get developed. So a careful analysis has to be made about the system requirement needed for the development of the product. After the analysis and design of the system requirement phase the system required for the development would be complete and the concentration can be on the software development process.

2. Feasibility study:

After making an analysis in the system requirement the next step is to make analysis of the software requirement. In other words feasibility study is also called as software requirement analysis. In this phase development team has to make communication with customers and make analysis of their requirement and analyze the system. By making analysis this way it would be possible to make a report of identified area of problem. By making a detailed analysis on this area a detailed document or report is prepared in this phase which has details like project plan or schedule of the project, the cost estimated for developing and executing the system, target dates for each phase of delivery of system developed and so on. This phase is the base of software development process since further steps taken in software development life cycle would be based on the analysis made on this phase and so careful analysis has to be made in this phase.

3. Systems Analysis and Design:

This is an important phase in system development .Here analysis is made on the design of the system that is going to be developed. In other words database design, the design of the architecture chosen, functional specification design, low level design documents, high level design documents and so on takes place. Care must be taken to prepare these design documents because the next phases namely the development phase is based on these design documents. If a well structured and analyzed design document is prepared it would reduce the time taken in the coming steps namely development and testing phases of the software development life cycle.

4. Code Generation:

This is the phase where actual development of the system takes place. That is based on the design documents prepared in the earlier phase code is written in the programming technology chosen. After the code is developed generation of code also takes place in this phase. In other words the code is converted into executables in this phase after code generation.

5. Testing:

A software or system which is not tested would be of poor quality. This is because this is the phase where system developed would be tested and reports are

prepared about bugs or errors in system. To do this testing phase there are different

levels and methods of testing like unit testing, system test and so on. Based on the need the testing methods are chosen and reports are prepared about bugs. After this process the system again goes to development phase for correction of errors and again tested. This process continues until the system is found to be error free. To ease the testing process debuggers or testing tools are also available.

To develop reliable and good quality Program/Software we need to follow the following 5 steps :

1. Requirement Specification.

2. Analysis.

3. Design.

4. Implementation.

5. Verification and testing.



4. Write a short note on evolution of Internet? (FEB2009/FEB2010)

• The Internet is a network of networks

• Computer users on the Internet can contact one another anywhere in the world

• In Internet a huge resource of information is accessible to people across the world

• Information in every field starting from education, science, health, medicine, history, and geography to business, news, etc. can be retrieved through Internet

• You can also download programs and software packages from anywhere in the world

• In 1969 Department of Defense (DOD) of USA started a network called ARPANET (Advanced Research Projects Administration Network )

• Around 1970, NSFNET (National Science Foundation Network) was created. With the advancement of modern communication facilities,

• By 1990 many computers were looking up to NSFNET giving birth to Internet

• Internet is not a governmental organization.

• The ultimate authority of the Internet is the Internet Society.

• This is a voluntary membership organization whose purpose is to promote global information exchange.

• Internet has more than one million computers attached to it.

• Ten years of research brought Local Area Ethernet Networks (LANs) and workstations were developed to get connected to LAN.

• Computers connected to ARPANET used a standard or rule to communicate with each other with NCP (National Control Protocol).

• Protocol is a network term used to indicate the standard used by a network for communication.

• Rapid change in information technology suppressed NCP and brought TCP/IP (Transmission Control Protocol/Internet Protocol) in to the world of networking

• The Internet is a rare example of a large democracy with no state of head, no official censors, no bosses, and no board of directors. Nobody controls the Internet and in principle, any computer can speak to any other computer, as long as it obeys the technical rules of the TCP/IP protocol.

• This freedom of Internet helped it to move out of its original base in military and research institutions, into elementary and high schools, colleges, public libraries, commercial sectors.



5. Explain various types of Internet Connections?

(a) Cable Modem Broadband

A connection through an ordinary coax cable through your digital cable provider is the

easiest and most common way to connect to the Internet at high speeds. Most connections average about 400K/second download and 128K upload. Cable's largest advantage is its availability and ability to produce multiple upstreams (when sending). The biggest downside to a cable connection is the slow-downs you'll experience during gluts of service when several people are sharing the network. Expect to pay around $40 per month for this service.

(b) Digital Subscriber Link (DSL)

This is a connection using your phone line and a special modem. You have to be within so

many feet of a phone station "hub" and your line has to be of a newer type to qualify. Good portions of the population (especially in urban areas) match these criteria and can get a DSL connection. The modem uses a sound frequency well above the human ear's limits and will not interfere with normal telephone operation. Most connections average about 400-650K per second in download (some are faster) while anywhere from 128-256K in upload speed is available as well. The biggest downside to this type of connection is the availability. The biggest boon to this technology is its reliability and that network slow-downs are less common than with a cable connection.

(c) Satellite (HST)

This is the most expensive alternative for getting a high-speed connection to the Internet.

These come in two varieties, 1-way and 2-way. One-way satellites are like television receivers: they only accept signals. You'll still have to use your modem to connect for uploads. A 2-way connection, however, both sends and receives and is telephone-free. Average speeds for this type of connection are 600K and higher for download and 128K for the upload. Averages tend to be higher because there are far fewer users on the network to slow things down. The biggest up side to this technology is that it is available just about everywhere. The biggest downside to this type of connection is two-fold: price and reliability. Expect to spend $600 or more for the equipment and another $50 or more a month for the connection.



6. Define various Internet Terminologies? (At least 15 terms) (MAY 2009)

1. Modem

2. Web page

3. Web browser

4. Web site

5. Blogs

6. Home page

7. URL

8. IP Address

9. ISP

10. WWW

11. Intranet

12. Internet protocol

13. Domain Name System

14. Web sever

15. Email

16. Email Address

17. Hyperlink

18. Usenet

19. Internet Search Engine

20. Internet Chat



7. Explain various Internet applications?

(or)

Explain the Internet services in detail. (MAY 2009 / FEB2010)

1. World Wide Web:

World Wide Web is abbreviated as WWW, web or W3. This is a multimedia service which is most popular on internet. WWW content displays as a page. Along with text formatted in various fonts, styles, colors, and sizes, the pages may also contain pictures, images, animation, sound, video, movies in a single interface. The WWW is the fast growing part of the internet.

2. Rich Internet Application

Rich Internet Applications (RIA) are web applications that have the features and functionality of traditional desktop applications. RIA's typically transfer the processing necessary for the user interface to the web client but keep the bulk of the data (i.e maintaining the state of the program, the data etc) back on the application server.

RIA's typically:

• run in a web browser, or do not require software installation

• run locally in a secure environment called a sandbox

3. Electronic Mail (E-mail)

E-mail is the fast, easy and inexpensive way to communicate with other internet users around the world. E-mail can also be used to send or receive documents, images, audio-video etc., as an attachment along with the mail.

4. File Transfer Protocol:

FTP is a method of transferring files from one computer to another, connected on the internet. It is system of rules and software program that enables user to transfer information between computers. The uploading and downloading of files from the remote computer is possible using FTP if the remote machine access is permitted.

5. Telnet:

The word ‘telnet’ is derived by combining the words telecommunication and network. Telnet is a protocol which provides the capability to log onto a remote computer. Hence it is called a

‘remote login’. When you connect your computer to another computer using telnet, we can interact with another computer. The computer on which we are working is called as a local

computer.

6. Internet Relay Chat: (IRC):

IRC is the service provided by the internet to allow users on the internet to communicate and carry on conversations with other users via the computer. The simultaneous online conversations with other users from anywhere in the world are possible using IRC. Requirements for IRC:

1. The users for communication must be connected to the internet at the same time.

2. They must run the right software.

3. They must actively participate in chatting

Types of conversations:

Public

Allows every user in the channel to see what the user types.

Private

Allows to see messages only to two users who may or may not be on same channel.

Examples: mIRC, Virc, LeafChat.

7. Chatting and Instant Messaging:

The users on the internet communicate with each other by tying in real time. This is called chatting. The chat programs allow chatting.

Advantages of chatting:

• It is quite cheap.

• Unlike E-mail, it is done on real time.

• Unlike IRC, the user does not need to have any special software to connect to any caht rooms.

8. Internet Telephony:

The internet telephony is used to exchange telephonic information using internet. It needs hardware and software. When the internet is used as a transmission medium with requested hardware and software for telephone calls, it is called ‘internet telephony’.

It consists of:

• End Devices: Traditional telephones or audio equipped personal computers.

• Gatekeepers: provide call admission control, bandwidth management; address translation, authentication and user location.

• Voice Over Internet Protocol (VOIP): This is required for communication.

9. Video Conferencing:

The video conferencing system allows the users at remote locations to communicate using a combination of text, audio and video information. Thus, it enables direct face-to-face communication across networks.

Types:

• Point-to-point: It allows communication between two parties at remote locations.

• Multi-point: It allows communication which involves more than two parties.

Communication Tools:

• Camera

• Visual Display

• Audio System

• Microphones

• Loud Speakers

• Compression

• User Interface

• Control System

10. Commerce through Internet:

Electronic communication technologies are used to transmit business information and transact business. This type of business model is called electronic Commerce or E-commerce or EC. Buying and selling of goods and services online is called E-commerce.

The information is exchanged digitally to conduct the business which includes Electronic

Data Interchange (EDI) AND Electronic Funds Transfer (EFT).

Advantages of E-commerce:

• It has established an electronic global worldwide market.

• The market operates 24 hours and 365 days a year.

• Organizations and individuals are able to market goods and services.

• The purchasing is supported by secure facilities such as digital signature and encryption.

11. Newsgroups: (Usenet):

Newsgroups are international groups which concentrate on a particular topic and try to gather information about the topic. Newsgroups usually describe topical discussion groups and not the traditional ‘News’. Thus newsgroups provide a source of information. For any particular topic, the interested people write news on that topic and post the written information or articles to the newsgroups. The other interested people can read, reply and comment on them.

Thus, newsgroups act as a medium through which users can get information, they can take part in the discussion on the interested topic and can ask questions from the internet community.

12. Mailing Lists (List server):

The mailing list is a method of internet communication which enables people with similar interests from all over the world to communicate and share information with each other. The administration of the mailing list groups is performed by software called ‘list server’.

A list server continuously observes for incoming mail on a certain mailbox. If any message is received, the listener forwards it to a list of other addresses. The user must have an

E-mail account and list server software loaded on his computer. The user has to send a

message from his E-mail account to the desired list server located on computer networks throughout the world. When the user subscribes to a list server, messages from the other

subscribers are automatically sent to his/her E-mail address.


8. Brief the major problems encountered in the software system?

(a) Correctness:

The correctness of the software system refers to

• Agreement of program code with specification.

• Independence of the actual application of the software system.

(b) Reliability

Reliability of a software system is defined as the probability that this system fulfills a

function for a specified number of input trails under specified input conditions in a specified time interval.

Also if the test produces the lower error rate the system is reliable. The error rate depends on the frequency of inputs and on the probability that an individual input will lead to error.

(c) User Friendliness

Adequacy

• The input required for the user should be limited to only what is necessary.

• The performance offered by the software system should be adapted to extensibility.

• The results that a software system delivers should be output in a clear and well- structured form and be easy be interpret.

Learnability

• The user interface should present more information as close to reality as possible and permit efficient utilization of the software’s failures.

• The user manual should be structured clearly and simply.

(d) Robustness

A software system is robust if the consequences of an error in its operation, in the input, or in the hardware, in relation to a given application, and inversely proportional to the probability of the occurrence of this error in the given application.

(e) Maintainability

The maintainability of the software depends on

• Readability

• Extensibility

• Testability

(f) Readability

It depends on

• Form of representation

• Programming style

• Consistency

• Structure of the program

• Programming language used

• Quality of documentation

• Tools available for inspection

(e) Extensibility

It depends on

• Structure of the software system

• Readability of the code

• Availability of program documentation

• Implementation program

(f) Testability

Allows to debugging of the program during execution. It depends on

Modularity: well structured programs suitable for stepwise testing

Structuredness: Useful for systematic testing of all components.

(g) Efficiency

Ability of a software system to fulfill its purpose with the best possible

utilization of all necessary resources (time, storage, transmission, channels and peripherals)

(h) Portability

A software system which can be adapted to run on computers other than the one which it was designed.

It depends on

i. Degree of hardware independence ii. Implementation language

iii. Specialized system functions

iv. Hardware properties

v. System dependent elements are collected in easily interchangeable program components.