COMPUTER PROGRAMMING LABORATORY
15CPL 16 / 15CPL26
Course objectives:
To provide basic principles C programming language. To provide design & develop of C programming skills. To provide practical exposures like designing flowcharts, algorithms, how to debug programs etc.
Descriptions (if any):
Demonstration of Personal Computer and its Accessories: Demonstration and Explanation on Disassembly and Assembly of a Personal Computer by the facultyincharge. Students have to prepare a writeup on the same and include it in the Lab record and evaluated.
Laboratory Session1: Writeup on Functional block diagram of Computer, CPU, Buses, Mother Board, Chip sets, Operating System & types of OS, Basics of Networking & Topology and NIC. Laboratory Session2: Writeup on RAM, SDRAM, FLASH memory, Hard disks, Optical media, CDROM/ R/RW, DVDs, Flash drives, Keyboard, Mouse, Printers and Plotters. Introduction to flowchart, algorithm and pseudo code.
Note: These TWO Laboratory sessions are used to fill the gap between theory classes and practical sessions. Both sessions are to be evaluated as lab experiments.
Laboratory Experiments:
Implement the following programs with WINDOWS / LINUX platform using appropriate C compiler.
1. Design and develop a flowchart or an algorithm that takes three coefficients (a, b, and c) of a Quadratic equation (ax2+bx+c=0) as input and compute all possible roots. Implement a C program for the developed flowchart/algorithm and execute the same to output the possible roots for a given set of coefficients with appropriate messages.
2. Design and develop an algorithm to find the reverse of an integer number NUM and check whether it is PALINDROME or NOT. Implement a C program for the developed algorithm that takes an integer number as input and output the reverse of the same with suitable messages. Ex: Num: 2014, Reverse: 4102, Not a Palindrome
3. 3a. Design and develop a flowchart to find the square root of a given number N. Implement a C program for the same and execute for all possible inputs with appropriate messages. Note: Don’t use library function sqrt(n). 3b. Design and develop a C program to read a year as an input and find whether it is leap year or not. Also consider end of the centuries.
4. Design and develop an algorithm to evaluate polynomial f(x) = a4x4 + a3x3 + a2x2 + a1x + a0, for a given value of x and its coefficients using Horner’s method. Implement a C program for the same and execute the program with different set of values of coefficients and x.
5. Draw the flowchart and Write a C Program to compute Sin(x) using Taylor series approximation given by Sin(x) = x  (x3/3!) + (x5/5!)  (x7/7!) + ……. Compare your result with the built in Library function. Print both the results with appropriate messages.
6. Develop an algorithm, implement and execute a C program that reads N integer numbers and arrange them in ascending order using Bubble Sort.
7. Develop, implement and execute a C program that reads two matrices A (m x n ) and B (p x q ) and Compute product of matrices A and B. Read matrix A and matrix B in row major order and in column major order respectively. Print both the input matrices and resultant matrix with suitable headings and output should be in matrix format only. Program must check the compatibility of orders of the matrices for multiplication. Report appropriate message in case of incompatibility.
8. Develop, implement and execute a C program to search a Name in a list of names using Binary searching Technique.
9. Write and execute a C program that
i. Implements string copy operation STRCOPY(str1,str2) that copies a string str1 to another string str2 without using library function.
ii. Read a sentence and print frequency of vowels and total count of consonants.
10. a. Design and develop a C function RightShift(x ,n) that takes two integers x and n as input and returns value of the integer x rotated to the right by n positions. Assume the integers are unsigned. Write a C program that invokes this function with different values for x and n and tabulate the results with suitable headings.
b. Design and develop a C function isprime(num) that accepts an integer argument and returns 1 if the argument is prime, a 0 otherwise. Write a C program that invokes this function to generate prime numbers between the given range.
11. Draw the flowchart and write a recursive C function to find the factorial of a number, n!, defined by fact(n)=1, if n=0. Otherwise fact(n)=n*fact(n1). Using this function, write a C program to compute the binomial coefficient nCr. Tabulate the results for different values of n and r with suitable messages.
12. Given two university information files “studentname.txt” and “usn.txt” that contains students Name and USN respectively. Write a C program to create a new file called “output.txt” and copy the content of files “studentname.txt” and “usn.txt” into output file in the sequence shown below . Display the contents of output file “output.txt” on to the screen.
Students Name

USN

Name 1

USN 1

Name 2

USN 2

....

...

....

...

13. Write a C program to maintain a record of n student details using an array of structures with four fields (Roll number, Name, Marks, and Grade). Assume appropriate data type for each field. Print the marks of the student, given the student name as input.
14. Write a C program using pointers to compute the sum, mean and standard deviation of all elements stored in an array of n real numbers.
Course outcomes:
 Gaining Knowledge on various parts of a computer.
 Able to draw flowcharts and write algorithms
 Able design and development of C problem solving skills.
 Able design and develop modular programming skills.
 Able to trace and debug a program
Conduction of Practical Examination:
1. All laboratory experiments ( nos ) are to be included for practical examination.
2. Students are allowed to pick one experiment from the lot.
3. Strictly follow the instructions as printed on the cover page of answer script for breakup of marks
4. Change of experiment is allowed only once and 15% Marks allotted to the procedure part to be made zero.