Computer Programming & Problem Solving ( CPPS )

Similar documents
Sir Syed University of Engineering and Technology. Computer Programming & Problem Solving ( CPPS )

Sir Syed University of Engineering and Technology. Computer Programming & Problem Solving ( CPPS ) Pointers. Chapter No 7

Computer Programming & Problem Solving ( CPPS ) Turbo C Programming For The PC (Revised Edition ) By Robert Lafore

3 The L oop Control Structure

Unit 3 Decision making, Looping and Arrays

C: How to Program. Week /Mar/05

Prepared by: Shraddha Modi

Chapter 2 - Introduction to C Programming

B.V. Patel Institute of Business Management, Computer & Information Technology, Uka Tarsadia University

Fundamentals of Programming Session 4

Computers Programming Course 7. Iulian Năstac

Flow Control. CSC215 Lecture

BSM540 Basics of C Language

Selec%on and Decision Structures in Java: If Statements and Switch Statements CSC 121 Fall 2016 Howard Rosenthal

Other Loop Options EXAMPLE

3. Simple Types, Variables, and Constants

STUDENT LESSON A12 Iterations

C How to Program, 6/e by Pearson Education, Inc. All Rights Reserved.

Lecture 2 Tao Wang 1

Iteration. CSE / ENGR 142 Programming I. Chapter 5. Motivating Loops. One More Type of Control Flow. What s Wrong with HW1?

Introduction to Programming in C Department of Computer Science and Engineering. Lecture No. #16 Loops: Matrix Using Nested for Loop

Intro to Programming. Unit 7. What is Programming? What is Programming? Intro to Programming

Lesson 6A Loops. By John B. Owen All rights reserved 2011, revised 2014

CPS122 Lecture: From Python to Java last revised January 4, Objectives:

Tutorial No. 2 - Solution (Overview of C)

Superior University. Department of Electrical Engineering CS-115. Computing Fundamentals. Experiment No.1

5. Control Statements

Introduction to C Programming

Iteration. CSE / ENGR 142 Programming I. while loops. Chapter 5. Motivating Loops. Loop to Add 5 Numbers 1996 UW CSE H - 1

CS Introduction to Programming Midterm Exam #2 - Prof. Reed Fall 2015

Features of C. Portable Procedural / Modular Structured Language Statically typed Middle level language

INTRODUCTION TO C++ PROGRAM CONTROL. Dept. of Electronic Engineering, NCHU. Original slides are from

Introduction to C Programming. Chih-Wei Tang ( 唐之瑋 ) Department of Communication Engineering National Central University JhongLi, Taiwan

UNIT - I. Introduction to C Programming. BY A. Vijay Bharath

C OVERVIEW BASIC C PROGRAM STRUCTURE. C Overview. Basic C Program Structure

Course Outline. Introduction to java

Iteration. CSE / ENGR 142 Programming I. Chapter 5. Motivating Loops. What s Wrong with Fahrenheit/Celsius Program? One More Type of Control Flow

CSc 10200! Introduction to Computing. Lecture 2-3 Edgardo Molina Fall 2013 City College of New York

Fundamental of Programming (C)

Selec%on and Decision Structures in Java: If Statements and Switch Statements CSC 121 Spring 2016 Howard Rosenthal

C Programming

Multiple Choice Questions ( 1 mark)

INTRODUCTION 1 AND REVIEW

CpSc 1111 Lab 4 Part a Flow Control, Branching, and Formatting

C OVERVIEW. C Overview. Goals speed portability allow access to features of the architecture speed

Subject: PROBLEM SOLVING THROUGH C Time: 3 Hours Max. Marks: 100

CPE 101 slides adapted from UW course. Overview. Chapter UW CSE H1-1. An Old Friend: Fahrenheit to Celsius. Concepts this lecture

Fundamentals of Programming. Lecture 3: Introduction to C Programming

REPETITION CONTROL STRUCTURE LOGO

Visual C# Instructor s Manual Table of Contents

CPS122 Lecture: From Python to Java

printf( Please enter another number: ); scanf( %d, &num2);

Chapter 2 Basic Elements of C++

Control Statements. If Statement if statement tests a particular condition

Introduction to Programming in C Department of Computer Science and Engineering. Lecture No. #43. Multidimensional Arrays

C How to Program, 7/e by Pearson Education, Inc. All Rights Reserved.

Dept. of CSE, IIT KGP

The for Loop. Lesson 11

Variables Data types Variable I/O. C introduction. Variables. Variables 1 / 14

2. Numbers In, Numbers Out

Syntax errors are produced when verifying an EasyLanguage statement that is not

ADARSH VIDYA KENDRA NAGERCOIL COMPUTER SCIENCE. Grade: IX C++ PROGRAMMING. Department of Computer Science 1

Introduction to C++ General Rules, Conventions and Styles CS 16: Solving Problems with Computers I Lecture #2

T H E I N T E R A C T I V E S H E L L

L o o p s. for(initializing expression; control expression; step expression) { one or more statements }

2.8. Decision Making: Equality and Relational Operators

Subject: Fundamental of Computer Programming 2068

IECD Institute for Entrepreneurship and Career Development Bharathidasan University, Tiruchirappalli 23.

Preprocessor Directives

Loops / Repetition Statements

CS/IT 114 Introduction to Java, Part 1 FALL 2016 CLASS 8: SEP. 29TH INSTRUCTOR: JIAYIN WANG

Chapter 1 & 2 Introduction to C Language

CpSc 1111 Lab 4 Formatting and Flow Control

CCE RR REVISED & UN-REVISED KARNATAKA SECONDARY EDUCATION EXAMINATION BOARD, MALLESWARAM, BANGALORE G È.G È.G È..

M3-R4: PROGRAMMING AND PROBLEM SOLVING THROUGH C LANGUAGE

Arrays. Lecture 9 COP 3014 Fall October 16, 2017

CSc Introduction to Computing

Program Organization and Comments

Introduction to Java & Fundamental Data Types

CS102: Standard I/O. %<flag(s)><width><precision><size>conversion-code

Module 4: Decision-making and forming loops

Problem Solving through Programming In C Prof. Anupam Basu Department of Computer Science & Engineering Indian Institute of Technology, Kharagpur

n Group of statements that are executed repeatedly while some condition remains true

Unit 7. Functions. Need of User Defined Functions

UNIT 3 FUNCTIONS AND ARRAYS

Chapter 2 Using Data. Instructor s Manual Table of Contents. At a Glance. A Guide to this Instructor s Manual:

[Page 177 (continued)] a. if ( age >= 65 ); cout << "Age is greater than or equal to 65" << endl; else cout << "Age is less than 65 << endl";

Faculty of Engineering Computer Engineering Department Islamic University of Gaza C++ Programming Language Lab # 6 Functions

Our Strategy for Learning Fortran 90

2/29/2016. Definition: Computer Program. A simple model of the computer. Example: Computer Program. Data types, variables, constants

CpSc 1111 Lab 5 Formatting and Flow Control

Numerical Computing in C and C++ Jamie Griffin. Semester A 2017 Lecture 2

Boolean evaluation and if statements. Making decisions in programs

Full file at

Introduction. C provides two styles of flow control:


7/8/10 KEY CONCEPTS. Problem COMP 10 EXPLORING COMPUTER SCIENCE. Algorithm. Lecture 2 Variables, Types, and Programs. Program PROBLEM SOLVING

Fundamentals of Computer Programming Using C

4 Programming Fundamentals. Introduction to Programming 1 1

There are algorithms, however, that need to execute statements in some other kind of ordering depending on certain conditions.

Transcription:

Computer Programming & Problem Solving ( CPPS ) Chapter No 3 Sir Syed University of Engineering & Technology Computer Engineering Department University Road, Karachi-75300, PAKISTAN Muzammil Ahmad Khan Muhammad Kashif Shaikh Course Instructors Muhammad Kashif Shaikh mkshaikh@ssuet.edu.pk Assistant Professor, CED Room Number: BS-04 Tel: 111-994-994, Ext. 326 Section A (Computer, Batch 2010) Muzammil Ahmad Khan mukhan@ssuet.edu.pk Assistant Professor, CED Room Number: BS-04 Tel: 111-994-994, Ext. 326 Section B (Computer, Batch 2010) 2 Computer Programming and Problem Solving 1

Course Instructors Zeeshan Karim muhzahma@ssuet.edu.pk Lecturer, CED Room Number: AG-06 Tel: 111-994-994, Ext. 301 Section C (Computer, Batch 2010) Ali Yousuf ayousuf@ssuet.edu.pk Lecturer, CED Room Number: AG-06 Tel: 111-994-994, Ext. 301 Section D (Computer, Batch 2010) 3 Course Instructors Nadia Bilal nbilal@ssuet.edu.pk Lecturer, CED Room Number: BS-02 Tel: 111-994-994, Ext. 254 Section E (Computer, Batch 2010) Adnan Zahoor azahoor@ssuet.edu.pk Lecturer, CED Room Number: AG-06 Tel: 111-994-994, Ext. 301 Section F (Computer, Batch 2010) 4 Computer Programming and Problem Solving 2

Course Books Text Book: Turbo C Programming For The PC ( Revised Edition ) By Robert Lafore Reference Books: 1. Let Us C By Yashavant Kanetkar 2. C By Dissection ( Second Edition ) By Al Kelly & Ira Pohl 5 Course Website http://www.ssuet.edu.pk/courses/ce102/c http://taimoor/ce102/c 6 Computer Programming and Problem Solving 3

Marks Distribution Mid Term 15 Assignments 5 Lab + Quiz + Class Performance + Project 20 Semester Final Paper 60 Total Marks 100 7 Contents For While Do-While 8 Computer Programming and Problem Solving 4

Background Almost always, if something is written worth doing, it is worth doing more than once. You can probably think of several examples of this form in real life, such as going to the TV program or eating a good dinner. Programming is the same; we frequently need to perform an action over, often with variations in detail each time. The mechanism that meets this need is the. 9 Types of There are 3 types loop structures in C Language 1. For 2. While 3. Do-While 10 Computer Programming and Problem Solving 5

For It is often the case in programming that you want to do something a fixed number of times. Perhaps you want to calculate the paycheck for 100 employees or print out the squares of all the numbers from 1 to 50. The for loop is ideally suited for such cases. Let s look at a simple example of a for loop. 11 Program using For void main (void) int count; for ( count = 0; count < 10; count + + ) printf ( Count = %d \n, count ); getch( ); 12 Computer Programming and Problem Solving 6

Program using For Output: Count = 0 Count = 1 Count = 2 Count = 3 Count = 4 Count = 5 Count = 6 Count = 7 Count = 8 Count = 9 This program s role in technical life is to execute a printf ( ) statement 10 times. The printf ( ) function prints out the phrase Count = followed by the value of the variable count. 13 Structure of the For loop The parenthesis following the keyword for contains what we will call the loop expression. This loop expression is divided by semicolons into three separate expressions i.e the Initialize expression, the Test expression and the Increment expression. for ( count = 0; count < 10; count + + ) 14 Computer Programming and Problem Solving 7

Structure of the For loop for ( count = 0; count < 10; count + + ) Expression Name Purpose Count = 0 Initialize expression Initialize loop variable Count < 10 Test Expression Test loop variable Count + + Increment expression Increment loop variable 15 Structure of the For loop The Initialize Expression The Initialize expression, count = 0; initializes the count variable. The Initialize expression is always executed as soon as the loop is entered. We can start at any number, in this case we initialize the count to 0. However, loops are often started at 1 or some other number. 16 Computer Programming and Problem Solving 8

Structure of the For loop The Test Expression The second expression, count < 10, tests each time through the loop to see if count is less than 10. To do this, it makes use of the relational operator for less than ( < ), If the test expression is true i.e count is less than 10, than the body of the loop i.e the printf ( ) statement will be executed. If the expression becomes false i.e count is 10 or more, the loop will be terminated and control will pass to the statements following the loop. Structure of the For loop 17 The Increment Expression The third expression, count + + increments the variable count each time the loop is executed. To do this, it uses the increment operator ( ++ ). The loop variable in a for loop does not have to be increased by 1 each time through the loop. It can be also decreased by 1. 18 Computer Programming and Problem Solving 9

Structure of the For loop The Body of the For Following the keyword for and the loop expression is the body of the loop: that is, the statement or statements that will be executed each time round the loop. printf ( Count = %d \n, count ); Note In a for loop, there is no semi colon between the loop expression and the body of the loop. 19 For loop Operation Enter Initialize Test Body of the Exit Increment 20 Computer Programming and Problem Solving 10

Multiple Statements in For void main (void) int count, int total = 0; for ( count = 0; count < 10; count + + ) total = total + count; printf ( Count = %d, Total = %d \n, count, total ); getch( ); Multiple Statements in For 21 Output: Count = 0, Total = 0 Count = 1, Total = 1 Count = 2, Total = 3 Count = 3, Total = 6 Count = 4, Total = 10 Count = 5, Total = 15 Count = 6, Total = 21 Count = 7, Total = 28 Count = 8, Total = 36 Count = 9, Total = 45 The most important new feature of this program is the use of the additional braces and to encapsulate the two statements that form the body of the loop. 22 Computer Programming and Problem Solving 11

Style Note Many C programmers, handle braces in a some what different way than we have used in the above example: for ( count = 0; count < 10; count + + ) total = total + count; printf ( Count = %d, Total = %d \n, count, total ); Both approaches are common but for the ease of the programmer and user, one should use one-brace per line approach. Program 23 An ASCII Table Program In the PC family, each of the numbers from 0 to 255 represents a separate character. From 0 to 31 are the control codes such as the carriage return, tab and linefeed and some of the graphics characters; From 32 to 127 are the usual printing characters; and From 128 to 255 are graphics and foreign language characters. 24 Computer Programming and Problem Solving 12

Program /* Print table of ASCII Character */ void main (void) int n; clrscr( ); for ( n = 1; n < 256; n + + ) printf ( %3d = %c \ t, n, n ); getch( ); 25 Program Output: 61= = 62 = > 63 =? 64 = à 65 = A 66 = B 71= G 72 = H 73 = I 74 = J 75 = K 76 = L In C Language, we can use the same variable n, for both number and character; only the format specifier changes: %c prints the character, while %d prints the number. Format Specifier can interpret the same variable in different ways. The %d format specifier prints the decimal representation of n, while the %c format specifier prints the character whose ASCII codes is n. 26 Computer Programming and Problem Solving 13

Nested For It is possible to nest one for loop inside another. For example a program that prints out the multiplication of table. 27 Program for multiplication of table void main (void) int cols, rows; for ( rows = 1; rows < 6; rows + + ) /* Outer */ for ( cols = 1; cols < 6; cols + + ) /* Inner */ printf ( %3d =, cols * rows ); printf ( \n ); getch( ); 28 Computer Programming and Problem Solving 14

Program for multiplication of table Output: 1 2 3 4 5 2 4 6 8 10 3 6 9 12 15 4 8 12 16 20 5 10 15 20 25 The inner loop steps through 5 columns, from 1 to 5, while the outer loop steps through 5 rows. For each row, the inner loop is cycled through once; then a new line is printed in preparation for the next row. Each time through the inner loop that is, at each intersection of a column and a row, the product of the row number (rows) and the column number (cols) is printed by the printf function. 29 Program for multiplication of table For instance, if the variable cols was 3, meaning we are on the third column, and rows was 4, meaning we are on the fourth row, then the program multiplies 3 by 4 and prints the product at the intersection of this row and column. Since we used the less than operator (<), the loop variable cols and rows never reach the limit of 6; i.e the loop both terminates at 5. 30 Computer Programming and Problem Solving 15

While The second kind of the loop structure available in C Language is the While. Although at first glance this structure seems to be simpler than the for loop, it actually uses the same elements, but they are distributed throughout the program. The following program uses a while loop to reproduce the operation of our earlier for loop program, which prints the number from 0 to 9 and gave the running total. 31 Program using While void main (void) int count, total = 0; while ( count < 10 ) total = total + count; printf ( Count = %d, Total = %d \n, count + +, total ); getch( ); 32 Computer Programming and Problem Solving 16

Program using While Output: Count = 0, Total = 0 Count = 1, Total = 1 Count = 2, Total = 3 Count = 3, Total = 6 Count = 4, Total = 10 Count = 5, Total = 15 Count = 6, Total = 21 Count = 7, Total = 28 Count = 8, Total = 36 Count = 9, Total = 45 33 Operation of the While The loop variable count is initialize outside the loop in the declaration int count = 0. When the loop is first entered, the condition count < 10 is tested. If it false, the loop terminates. If it is true the body of the loop is executed. The increment expression is buried in the body of the while loop. When the printf ( ) statement that forms the loop body has finished printing, count is incremented by the (++) operator. 34 Computer Programming and Problem Solving 17

The Unexpected Conditions In situations, where the number if iterations in a loop are known in advance, as they are in the while loop example, while loop are actually less appropriate. In this case the for loop is a more natural choice, since we can use its explicit initialize, test and increment expressions to control the loop. So, when is the while loop becomes the appropriate choice? The while loop shines, in situations where a loop may be terminated unexpectedly by conditions developing with in the loop. 35 Program using unexpected condition void main (void) int count; clrscr( ); printf ( Type in a phrase: \n ); while ( getch ( )! = \r ) count + + ; printf ( \n Character Count is = %d, count ); 36 Computer Programming and Problem Solving 18

Program using unexpected condition Output: Type in a phrase: Pakistan Character Count is = 8 This program invites you to type in a phrase. As you enter each character it keeps a count of how many characters you have typed, and when you hit the [Return] key it prints out the total. Note While are more appropriate than the For, when the condition that terminates the loop occurs unexpectedly. 37 Why While The loop on this program terminates when the character typed at the keyboard is the [Return] character. There is no need for a loop variable, since we do not have to keep track of where we are in the loop, and thus no need for initialize or increment expressions. Since there is no loop variable to initialize or increment, thus the while loop, consisting only of the test expression, is the appropriate choice. 38 Computer Programming and Problem Solving 19

Program void main (void) int count = -1; char ch = a ; clrscr( ); printf ( Type in a phrase: \n ); while ( ch! = \r ) ch = getche ( ); count + + ; printf ( \n Character Count is = %d, count ); 39 Program Output: Type in a phrase: Pakistan Character Count is = 8 In this program, count variable must be initialized to an odd looking 1, value because the program now checks with character is read after the loop is entered instead of before. 40 Computer Programming and Problem Solving 20

ASCII Revised Program void main (void) char ch = a ; while ( ch! = \r ) printf ( Enter a Character: \n ); ch = getche ( ); printf ( \n The code for %c is %d. \n, ch, ch ); 41 ASCII Revised Program Output: Enter a Character: a The code for a is 97 Enter a Character: b The code for b is 98 Enter a Character: A The code for A is 65 42 Computer Programming and Problem Solving 21

Nested While s void main (void) int m; char ch = a ; for ( m = 0; m < 5; m + + ) printf ( \n Type in a letter from a to e : \n ); while ( ( ch = getche ( ) )!= d ) printf ( \n Sorry, %c is incorrect. \n, ch ); printf ( Try again. \n ); printf ( \n That s It! \n ); printf ( Game s Over! \n ); 43 Nested While s This program let you guess a lower case letter a to e and tells you if you are right or wrong. Output Type in a letter from a to e : a Sorry, a is incorrect. Try Again c Sorry, c is incorrect. Try Again d That s It! 44 Computer Programming and Problem Solving 22

Miscellaneous Stuff Assignment Expression as values in a loop while ( ( ch = getche ( ) )!= d ) ch = getche ( ) ch = a a!= d 45 Miscellaneous Stuff Precedence: Assignment versus relational operators. while ( ( ch = getche ( ) )!= d ) If the parentheses were not there, the compiler would interpret the expression like this: while ( ch = ( getche ( )!= d ) ) This of course is not what we want at all, since ch will now be set equal to the results of a true/false expression. The reason we need the parenthesis is that the precedence of the relational operator (!= ) is greater than of the assignment operator ( = ). So unless parentheses, tell the compiler otherwise, the relational operator (! = ) will be evaluated first. 46 Computer Programming and Problem Solving 23

Mathematical WHILE loop void main (void) long answer, number = 1; while ( number!= 0 ) printf ( \n Enter a number: ); scanf ( %ld, &number ); answer = 1; while ( number > 1 ) answer = answer * number - - ; printf ( Factorial is %ld \n, answer ); 47 Mathematical WHILE loop Output Type number: 3 Factorial is: 6 Type number: 4 Factorial is: 24 Type number: 0 This program uses outer while loop to recycle until a 0 value is entered. The inner loop uses the document operator to reduce the variable number-- which starts out at the value typed in number reaches to 1, the loop terminates. 48 Computer Programming and Problem Solving 24

Do-While The last of the three loops in C Language is the do-while. This is very similar to the while loop except that the test occurs at the end of the loop body. This guarantees that the loop is executed at least once before continuing. 49 Do-While Such a setup is frequently used where data is to be read. The test then verifies the data, and loops back to read again if it was unacceptable. do printf (" Enter the number : "); scanf ("%d", &num); while ( num < 25 ) 50 Computer Programming and Problem Solving 25

Do-While void main (void) int count = 0, int total = 0; clrscr( ); do total = total + count; printf ( Count = %d, Total = %d \n, count + +, total ); while ( count < 10 ) ; getch( ); 51 Do-While Output: Count = 0, Total = 0 Count = 1, Total = 1 Count = 2, Total = 3 Count = 3, Total = 6 Count = 4, Total = 10 Count = 5, Total = 15 Count = 6, Total = 21 Count = 7, Total = 28 Count = 8, Total = 36 Count = 9, Total = 45 52 Computer Programming and Problem Solving 26

Do-While The operation of the Do while is sort of an upside-down version of the While loop. The body of the loop is first executed, then the test condition is checked. If the test condition is true, the loop is repeated; if it is false, the loop terminates. The body of the loop will always be executed at least once, sine the test condition is not checked until the end of the loop. The do keyword marks the beginning of the loop, it has no other function. The while keyword marks the end of the loop and contains the loop expression. 53 Do-While Operation Enter Body of the Increment Test Exit 54 Computer Programming and Problem Solving 27

Summary of in C Language The For is frequently used, usually where the loop will be traversed a fixed number of times. It is very flexible, and novice programmers should take care not to abuse the power it offers. The While keeps repeating an action until an associated test returns false. This is useful where the programmer does not know in advance how many times the loop will be traversed. The Do While is similar to the While, but the test occurs after the loop body is executed. This ensures that the loop body is run at least once. Class Assignment No 3. 1. Differentiate between the different types of loop available in C Language with some suitable examples. 2. Write a program that s continuously takes the input from the user and calculates the factorial of the input number. 3. Differentiate between the While loop and Do-While loop with regards to the flow chart. 55 56 Computer Programming and Problem Solving 28