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:
- Byron Gottfried, Schaum’s Outline of Programming with C, McGraw-Hill
- B.A. Forouzan and R.F. Gilberg C Programming and Data Structures, Cengage Learning, (3rd Edition)
- Brian W. Kernighan and Dennis M. Ritchie, The C Programming Language, Prentice
- Hall of India
- R.G. Dromey, How to solve it by Computer, Pearson (16th Impression)
- Programming in C, Stephen G. Kochan, Fourth Edition, Pearson Education.
- Herbert Schildt, C: The Complete Reference, McGraw Hill, 4th Edition
-
CreatedNov 28, 2020
-
UpdatedDec 11, 2020
-
Views825