Note: This syllabus is common for 

  • R18 - B.Tech. I Year I Sem. - ECE, EIE, Civil, ME, AE, ME (M), MME, Mining & Petroleum Engg.
  • R18 - B.Tech. I Year I Sem. - CSE (AI & ML) & CSE (IoT)
  • R18 - B.Tech. I Year II Sem. - EEE, CSE & IT.
  • R18 - B.Tech. I Year II Sem. - CSE (Cyber Security), CSE (Data Science), CSE (Networks) & Computer Engineering (Software Engg.)

CS106ES/CS206ES: PROGRAMMING FOR PROBLEM SOLVING LAB

B.Tech. I Year II Sem. L T P C

0 0 3 1.5


[Note:The programs may be executed using any available Open Source/ Freely available IDE

Some of the Tools available are:

CodeLite: https://codelite.org/

Code::Blocks: http://www.codeblocks.org/

DevCpp : http://www.bloodshed.net/devcpp.html

Eclipse: http://www.eclipse.org

This list is not exhaustive and is NOT in any order of preference]

Course Objectives: The students will learn the following:

  • To work with an IDE to create, edit, compile, run and debug programs
  • To analyze the various steps in program development.
  • To develop programs to solve basic problems by understanding basic concepts in C like operators, control statements etc.
  • To develop modular, reusable and readable C Programs using the concepts like functions, arrays etc.
  • To Write programs using the Dynamic Memory Allocation concept.
  • To create, read from and write to text and binary files

Course Outcomes: The candidate is expected to be able to:

  • formulate the algorithms for simple problems
  • translate given algorithms to a working and correct program
  • correct syntax errors as reported by the compilers
  • identify and correct logical errors encountered during execution
  • represent and manipulate data with arrays, strings and structures
  • use pointers of different types
  • create, read and write to and from simple text and binary files
  • modularize the code with functions so that they can be reused

Practice sessions:

a. Write a simple program that prints the results of all the operators available in C (including pre/ post increment , bitwise and/or/not , etc.). Read required operand values from standard input.

b. Write a simple program that converts one given data type to another using auto conversion and casting. Take the values form standard input. 

Simple numeric problems:

a. Write a program for find the max and min from the three numbers.

b. Write the program for the simple, compound interest.

c. Write program that declares Class awarded for a given percentage of marks, where mark <40% = Failed, 40% to <60% = Second class, 60% to <70% = First class, >=70% = Distinction. Read percentage from standard input.

d. Write a program that prints a multiplication table for a given number and the number of rows in the table. For example, for a number 5 and rows = 3, the output should be:

5 x 1 = 5
5 x 2 = 10
5 x 3 = 15

e. Write a program that shows the binary equivalent of a given positive number between 0 to 255.

Expression Evaluation:

a. A building has 10 floors with a floor height of 3 meters each. A ball is dropped from the top of the building. Find the time taken by the ball to reach each floor. (Use the formula s = ut+(1/2)at^2 where u and a are the initial velocity in m/sec (= 0) and acceleration in m/sec^2 (= 9.8 m/s^2)).

b. Write a C program, which takes two integer operands and one operator from the user, performs the operation and then prints the result. (Consider the operators +,-,*, /, % and use Switch Statement)

c. Write a program that finds if a given number is a prime number

d. Write a C program to find the sum of individual digits of a positive integer and test given number is palindrome.

e. A Fibonacci sequence is defined as follows: the first and second terms in the sequence are 0 and 1. Subsequent terms are found by adding the preceding two terms in the sequence. Write a C program to generate the first n terms of the sequence.

f. Write a C program to generate all the prime numbers between 1 and n, where n is a value supplied by the user.

g. Write a C program to find the roots of a Quadratic equation.

h. Write a C program to calculate the following, where x is a fractional value.

    i. 1-x/2 +x^2/4-x^3/6

i. Write a C program to read in two numbers, x and n, and then compute the sum of this geometric progression: 1+x+x^2+x^3+………….+x^n. For example: if n is 3 and x is 5, then the program computes 1+5+25+125.

Arrays and Pointers and Functions:

a. Write a C program to find the minimum, maximum and average in an array of integers.

b. Write a functions to compute mean, variance, Standard Deviation, sorting of n elements in single dimension array.

c. Write a C program that uses functions to perform the following:

    i. Addition of Two Matrices

    ii. Multiplication of Two Matrices

    iii. Transpose of a matrix with memory dynamically allocated for the new matrix as row and column counts may not be same.

d. Write C programs that use both recursive and non-recursive functions

    i. To find the factorial of a given integer.

    ii. To find the GCD (greatest common divisor) of two given integers.

    iii. To find xn

e. Write a program for reading elements using pointer into array and display the values using array.

f. Write a program for display values reverse order from array using pointer.

g. Write a program through pointer variable to sum of n elements from array.

Files:

a. Write a C program to display the contents of a file to standard output device.

b. Write a C program which copies one file to another, replacing all lowercase characters with their uppercase equivalents.

c. Write a C program to count the number of times a character occurs in a text file. The file name and the character are supplied as command line arguments.

d. Write a C program that does the following:

It should first create a binary file and store 10 integers, where the file name and 10 values are given in the command line. (hint: convert the strings using atoi function) Now the program asks for an index and a value from the user and the value at that index should be changed to the new value in the file. (hint: use fseek function) The program should then read all 10 values and print them back.

e. Write a C program to merge two files into a third file (i.e., the contents of the first file followed by those of the second are put in the third file).

Strings:

a. Write a C program to convert a Roman numeral ranging from I to L to its decimal equivalent.

b. Write a C program that converts a number ranging from 1 to 50 to Roman equivalent

c. Write a C program that uses functions to perform the following operations:

    i. To insert a sub-string in to a given main string from a given position.

    ii. To delete n Characters from a given position in a given string.

d. Write a C program to determine if the given string is a palindrome or not (Spelled same in both directions with or without a meaning like madam, civic, noon, abcba, etc.)

e. Write a C program that displays the position of a character ch in the string S or – 1 if S doesn‘t contain ch.

f. Write a C program to count the lines, words and characters in a given text.

Miscellaneous:

a. Write a menu driven C program that allows a user to enter n numbers and then choose between finding the smallest, largest, sum, or average. The menu and all the choices are to be functions. Use a switch statement to determine what action to take. Display an error message if an invalid choice is entered.

b. Write a C program to construct a pyramid of numbers as follows:

1
1 2
1 2 3

*
* *
* * *

1
2 3
4 5 6

1
2 2
3 3 3
4 4 4 4

*
* *
* * *
* *
*

Sorting and Searching:

a. Write a C program that uses non recursive function to search for a Key value in a given list of integers using linear search method.

b. Write a C program that uses non recursive function to search for a Key value in a given sorted list of integers using binary search method.

c. Write a C program that implements the Bubble sort method to sort a given list of integers in ascending order.

d. Write a C program that sorts the given array of integers using selection sort in descending order

e. Write a C program that sorts the given array of integers using insertion sort in ascending order

f. Write a C program that sorts a given array of names

Suggested Reference Books for solving the problems:

  1. Byron Gottfried, Schaum’s Outline of Programming with C, McGraw-Hill
  2. B.A. Forouzan and R.F. Gilberg C Programming and Data Structures, Cengage Learning, (3rd Edition)
  3. Brian W. Kernighan and Dennis M. Ritchie, The C Programming Language, Prentice
  4. Hall of India
  5. R.G. Dromey, How to solve it by Computer, Pearson (16th Impression)
  6. Programming in C, Stephen G. Kochan, Fourth Edition, Pearson Education.
  7. Herbert Schildt, C: The Complete Reference, McGraw Hill, 4th Edition
  • Created
    Nov 28, 2020
  • Updated
    Dec 11, 2020
  • Views
    825