Spring 2005, Gülcihan Özdemir Dağ Lecture 3, Page 1 BIL104E: Introduction to Scientific and Engineering Computing, Spring 2005. Lecture 3 Outline 3.1 Introduction.

Slides:



Advertisements
Similar presentations
Decisions If statements in C.
Advertisements

More on Algorithms and Problem Solving
BBS514 Structured Programming (Yapısal Programlama)1 Selective Structures.
Chapter 3 - Structured Program Development
Lec3: Structured Program Development
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Chapter 3 - Structured Program Development Outline.
CMT Programming Software Applications Week 3 Dr. Xiaohong Gao TP Room B107 Control Structures.
 2007 Pearson Education, Inc. All rights reserved Structured Program Development in C.
 2000 Prentice Hall, Inc. All rights reserved. Chapter 3 - Structured Program Development Outline 3.1Introduction 3.2Algorithms 3.3Pseudocode 3.4Control.
Structured Program Development in C
Lecture 3 Structured Program Development in C
Spring 2005, Gülcihan Özdemir Dağ Lecture 4, Page 1 BIL104E: Introduction to Scientific and Engineering Computing, Spring Lecture 4 Outline 4.0 Reading.
 2003 Prentice Hall, Inc. All rights reserved.  2004 Prentice Hall, Inc. All rights reserved. Chapter 8 - JavaScript: Control Statements I Outline 8.1.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved Computer Organization Six logical units in every.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Structural Program Development: If, If-Else Outline.
Structured Program Development Outline 2.1Introduction 2.2Algorithms 2.3Pseudo code 2.4Control Structures 2.5The If Selection Structure 2.6The If/Else.
Lecture 2: Logical Problems with Choices. Problem Solving Before writing a program Have a thorough understanding of the problem Carefully plan an approach.
Pseudocode When designing an ALGORITHM to solve a problem, Pseudocode, can be used. –Artificial, informal language used to develop algorithms –Similar.
C Lecture Notes 1 Structured Program Development.
Chapter 3 - Structured Program Development Outline 3.1Introduction 3.2Algorithms 3.3Pseudocode 3.4Control Structures 3.5The If Selection Structure 3.6The.
Chapter 3 Structured Program Development. Objectives To understand basic problem-solving techniques. To be able to develop algorithms through the process.
 2000 Prentice Hall, Inc. All rights reserved. 1 Chapter 3 - Structured Program Development Outline 3.1Introduction 3.2Algorithms 3.3Pseudocode 3.4Control.
 2007 Pearson Education, Inc. All rights reserved Structured Program Development in C.
1 COMS 261 Computer Science I Title: C++ Fundamentals Date: September 21, 2005 Lecture Number: 10.
Selection. Flow Chart If selection If/else selection Compound statement Switch.
Internet & World Wide Web How to Program, 5/e © by Pearson Education, Inc. All Rights Reserved.
Dale Roberts 1 Program Control - Algorithms Department of Computer and Information Science, School of Science, IUPUI CSCI N305.
C Programming 2002 Chapter 3 - Structured Program Development Outline 3.1Introduction 3.2Algorithms 3.3Pseudocode 3.4Control Structures 3.5The If Selection.
Chapter 3 - Structured Program Development Outline 3.1Introduction 3.2Algorithms 3.3Pseudocode 3.4Control Structures 3.5The If Selection Structure 3.6The.
 2003 Prentice Hall, Inc. All rights reserved. Chapter 8 - JavaScript: Control Statements I Outline 8.1 Introduction 8.2 Algorithms 8.3 Pseudocode 8.4.
Structured Program Development Angela Chih-Wei Tang ( 唐 之 瑋 ) Department of Communication Engineering National Central University JhongLi, Taiwan 2010.
1 Lecture 3 Control Structures else/if and while.
Chapter 3 Structured Program Development Associate Prof. Yuh-Shyan Chen Dept. of Computer Science and Information Engineering National Chung-Cheng University.
 2000 Prentice Hall, Inc. All rights reserved. Introduction to C Programming Outline 2.1Introduction 2.2A Simple C Program: Printing a Line of Text 2.3Another.
1 Lecture 2 Control Structures: Part 1 Selection: else / if and switch.
C++ Programming Lecture 5 Control Structure I (Selection) – Part I The Hashemite University Computer Engineering Department (Adapted from the textbook.
Programming Language C++ Lecture 3. Control Structures  C++ provides control structures that serve to specify what has to be done to perform our program.
1 JavaScript/Jscript 2 Control Structures I. 2 Introduction Before programming a script have a –Thorough understanding of problem –Carefully planned approach.
BIL 104E Introduction to Scientific and Engineering Computing Lecture 5.
 2007 Pearson Education, Inc. All rights reserved Structured Program Development in C.
Dale Roberts Program Control Department of Computer and Information Science, School of Science, IUPUI Fall 2003 CSCI 230 Dale Roberts, Lecturer
 2006 Pearson Education, Inc. All rights reserved if…else Double-Selection Statement if – Performs action if condition true if…else – Performs.
 2007 Pearson Education, Inc. All rights reserved Structured Program Development in C.
Chapter 3 Structured Program Development in C C How to Program, 8/e, GE © 2016 Pearson Education, Ltd. All rights reserved.1.
1 Chapter 4 - Control Statements: Part 1 Outline 4.1 Introduction 4.4 Control Structures 4.5 if Selection Structure 4.6 if/else Selection Structure 4.7.
Structured Program Development in C
The if…else Selection Statement
Algorithm: procedure in terms of
- Standard C Statements
Chapter 2.1 Control Structures (Selection)
Chapter 8 - JavaScript: Control Statements I
CSC113: Computer Programming (Theory = 03, Lab = 01)
Programming Fundamentals
Programming Fundamentals
Lecture 2: Logical Problems with Choices
Structured Program
1) C program development 2) Selection structure
Chapter 3 - Structured Program Development
-2- Introduction to C Programming
3 Control Statements:.
Chapter 3 - Structured Program Development
Structured Program Development in C
2.6 The if/else Selection Structure
EPSII 59:006 Spring 2004.
-2- Introduction to C Programming
Structured Program Development in C
Structured Program Development in C
Dale Roberts, Lecturer IUPUI
Dale Roberts, Lecturer IUPUI
Structural Program Development: If, If-Else
Presentation transcript:

Spring 2005, Gülcihan Özdemir Dağ Lecture 3, Page 1 BIL104E: Introduction to Scientific and Engineering Computing, Spring Lecture 3 Outline 3.1 Introduction 3.2 Algorithms 3.3 Pseudocode 3.4 Control Structures 3. 5 Decision Making: Equality and Relational Operators 3.6 The if Selection Structure 3.7 The if/else Selection Structure 3.8 Nested control structures 3.9 Switch-Case (and break) Assignment Operators Increment and Decrement Operators

Spring 2005, Gülcihan Özdemir Dağ Lecture 3, Page 2 3.1Introduction Before writing a program: –Have a thorough understanding of the problem –Carefully plan an approach for solving it While writing a program: –Know what “building blocks” are available –Use good programming principles

Spring 2005, Gülcihan Özdemir Dağ Lecture 3, Page 3 3.2Algorithms Computing problems –All can be solved by executing a series of actions in a specific order Algorithm: procedure in terms of –Actions to be executed –The order in which these actions are to be executed Program control –Specify order in which statements are to executed

Spring 2005, Gülcihan Özdemir Dağ Lecture 3, Page 4 3.3Pseudocode Pseudocode –Artificial, informal language that helps us develop algorithms –Similar to everyday English –Not actually executed on computers –Helps us “think out” a program before writing it Easy to convert into a corresponding C program Consists only of executable statements

Spring 2005, Gülcihan Özdemir Dağ Lecture 3, Page 5 3.4Control Structures Sequential execution –Statements executed one after the other in the order written Transfer of control –When the next statement executed is not the next one in sequence Bohm and Jacopini –All programs written in terms of 3 control structures Sequence structures: Built into C. Programs executed sequentially by default Selection structures: C has three types: if, if / else, and switch (this week’s materail) Repetition structures: C has three types: while, do / while and for (next week’s materail)

Spring 2005, Gülcihan Özdemir Dağ Lecture 3, Page 6 3.4Control Structures Flowchart –Graphical representation of an algorithm –Drawn using certain special-purpose symbols connected by arrows called flowlines –Rectangle symbol (action symbol): Indicates any type of action –Oval symbol: Indicates the beginning or end of a program or a section of code Single-entry/single-exit control structures –Connect exit point of one control structure to entry point of the next (control-structure stacking) –Makes programs easy to build

Spring 2005, Gülcihan Özdemir Dağ Lecture 3, Page 7 3.5Decision Making: Equality and Relational Operators Executable statements –Perform actions (calculations, input/output of data) –Perform decisions May want to print "pass" or "fail" given the value of a test grade if control structure –If a condition is true, then the body of the if statement executed 0 is false, non-zero is true –Control always resumes after the if structure

Spring 2005, Gülcihan Özdemir Dağ Lecture 3, Page 8 3.5Decision Making: Equality and Relational Operators

Fall 2003, Gülcihan Özdemir Dağ Outline Lecture 3, Page 9 1. Declare variables 2. Input 2.1 if statements 3. Print 1/* Fig. 2.13: fig02_13.c 2 Using if statements, relational 3 operators, and equality operators */ 4#include 5 6int main() 7{7{ 8 int num1, num2; 9 10 printf( "Enter two integers, and I will tell you\n" ); 11 printf( "the relationships they satisfy: " ); 12 scanf( "%d", &num1, &num2 ); /* read two integers */ if ( num1 == num2 ) 15 printf( "%d is equal to %d\n", num1, num2 ); if ( num1 != num2 ) 18 printf( "%d is not equal to %d\n", num1, num2 ); if ( num1 < num2 ) 21 printf( "%d is less than %d\n", num1, num2 ); if ( num1 > num2 ) 24 printf( "%d is greater than %d\n", num1, num2 ); if ( num1 <= num2 ) 27 printf( "%d is less than or equal to %d\n", 28 num1, num2 );

Fall 2003, Gülcihan Özdemir Dağ Outline Lecture 3, Page Exit main Program Output if ( num1 >= num2 ) 31 printf( "%d is greater than or equal to %d\n", 32 num1, num2 ); return 0; /* indicate program ended successfully */ 35} Enter two integers, and I will tell you the relationships they satisfy: is not equal to 7 3 is less than 7 3 is less than or equal to 7 Enter two integers, and I will tell you the relationships they satisfy: is not equal to is greater than is greater than or equal to 12

Spring 2005, Gülcihan Özdemir Dağ Lecture 3, Page The if Selection Structure Selection structure: –Used to choose among alternative courses of action –Pseudocode: If student’s grade is greater than or equal to 60 Print “Passed” If condition true –Print statement executed and program goes on to next statement –If false, print statement is ignored and the program goes onto the next statement –Indenting makes programs easier to read C ignores whitespace characters

Spring 2005, Gülcihan Özdemir Dağ Lecture 3, Page The if Selection Structure Pseudocode statement in C: if ( grade >= 60 ) printf( "Passed\n" ); –C code corresponds closely to the pseudocode Diamond symbol (decision symbol) –Indicates decision is to be made –Contains an expression that can be true or false –Test the condition, follow appropriate path

Spring 2005, Gülcihan Özdemir Dağ Lecture 3, Page The if Selection Structure if structure is a single-entry/single-exit structure true false grade >= 60 print “Passed” A decision can be made on any expression. zero - false nonzero - true Example: is true

Spring 2005, Gülcihan Özdemir Dağ Lecture 3, Page The if / else Selection Structure if –Only performs an action if the condition is true if / else –Specifies an action to be performed both when the condition is true and when it is false Psuedocode: If student’s grade is greater than or equal to 60 Print “Passed” else Print “Failed” –Note spacing/indentation conventions

Spring 2005, Gülcihan Özdemir Dağ Lecture 3, Page The if / else Selection Structure C code: if ( grade >= 60 ) printf( "Passed\n"); else printf( "Failed\n"); Ternary conditional operator ( ?: ) –Takes three arguments (condition, value if true, value if false ) –Our pseudocode could be written: printf( "%s\n", grade >= 60 ? "Passed" : "Failed" ); –Or it could have been written: grade >= 60 ? printf( “Passed\n” ) : printf( “Failed\n” );

Spring 2005, Gülcihan Özdemir Dağ Lecture 3, Page The if / else Selection Structure Flow chart of the if / else selection structure Nested if / else structures –Test for multiple cases by placing if / else selection structures inside if / else selection structures –Once condition is met, rest of statements skipped –Deep indentation usually not used in practice truefalse print “Failed”print “Passed” grade >= 60

Spring 2005, Gülcihan Özdemir Dağ Lecture 3, Page The if / else Selection Structure –Pseudocode for a nested if / else structure If student’s grade is greater than or equal to 90 Print “A” else If student’s grade is greater than or equal to 80 Print “B” else If student’s grade is greater than or equal to 70 Print “C” else If student’s grade is greater than or equal to 60 Print “D” else Print “F”

Spring 2005, Gülcihan Özdemir Dağ Lecture 3, Page The if / else Selection Structure Compound statement: –Set of statements within a pair of braces –Example: if ( grade >= 60 ) printf( "Passed.\n" ); else { printf( "Failed.\n" ); printf( "You must take this course again.\n" ); } –Without the braces, the statement printf( "You must take this course again.\n" ); would be executed automatically

Spring 2005, Gülcihan Özdemir Dağ Lecture 3, Page The if / else Selection Structure Block: –Compound statements with declarations Syntax errors –Caught by compiler Logic errors: –Have their effect at execution time –Non-fatal: program runs, but has incorrect output –Fatal: program exits prematurely

Spring 2005, Gülcihan Özdemir Dağ Lecture 3, Page Nested control structures 1: /* 10L03.c Using nested if statements */ 2: #include 3: 4: main() { 5: int i; 6: printf(“Enter an integer number \n”); 7: scanf(“%d”,&i); 9: if (i > 0) 10: if (i%2 == 0) 11: printf("%d is an even number.\n", i); 12: else 13: printf("%d is an odd number.\n", i); 14: else if (i == 0) 15: printf("The number is zero.\n"); 16: else 17: printf("Negative number: %d\n", i); 19: return 0; 20: }

Spring 2005, Gülcihan Özdemir Dağ Lecture 3, Page Switch-Case The nested if statements will become very complex if there are many decisions that need to be made, however. Sometimes, the programmer will have problems following the complex if statements. Fortunately there is another statement in C, the switch statement, that you can use to make unlimited decisions or choices based on the value of a conditional expression and specified cases. The general form of the switch statement is switch (expression) { case expression1: statement1; case expression2: statement2;... default: statement-default; }

Spring 2005, Gülcihan Özdemir Dağ Lecture 3, Page 22 Example: Using the switch statement #include main(){ int day; printf("Please enter a single digit for a day\n"); printf("(within the range of 1 to 3):\n"); day = getchar(); switch (day){ case `1': printf("Day 1\n"); case `2': printf("Day 2\n"); case `3': printf("Day 3\n"); default: ; } return 0; } /* End of main */

Spring 2005, Gülcihan Özdemir Dağ Lecture 3, Page 23 Use the switch-break statement #include main(){ int day; printf("Please enter a single digit for a day\n"); printf("(within the range of 1 to 7):\n"); day = getchar(); switch (day){ case '1': printf("Day 1 is Sunday.\n"); break; case '2': printf("Day 2 is Monday.\n"); break; case '3': printf("Day 3 is Tuesday.\n"); break; case '4': printf("Day 4 is Wednesday.\n"); break; case '5': printf("Day 5 is Thursday.\n"); break; case '6': printf("Day 6 is Friday.\n"); break; case '7': printf("Day 7 is Saturday.\n"); break; default: printf("The digit is not within the range of 1 to 7.\n"); break; } return 0; }

Spring 2005, Gülcihan Özdemir Dağ Lecture 3, Page Assignment Operators Assignment operators abbreviate assignment expressions c = c + 3; can be abbreviated as c += 3; using the addition assignment operator Statements of the form variable = variable operator expression; can be rewritten as variable operator= expression; Examples of other assignment operators: d -= 4 (d = d - 4) e *= 5 (e = e * 5) f /= 3 (f = f / 3) g %= 9 (g = g % 9)

Spring 2005, Gülcihan Özdemir Dağ Lecture 3, Page Increment and Decrement Operators Increment operator ( ++ ) –Can be used instead of c+=1 Decrement operator ( -- ) –Can be used instead of c-=1 Preincrement –Operator is used before the variable ( ++c or --c ) –Variable is changed before the expression it is in is evaluated Postincrement –Operator is used after the variable ( c++ or c-- ) –Expression executes before the variable is changed

Spring 2005, Gülcihan Özdemir Dağ Lecture 3, Page Increment and Decrement Operators If c equals 5, then printf( "%d", ++c ); –Prints 6 printf( "%d", c++ ); –Prints 5 –In either case, c now has the value of 6 When variable not in an expression –Pre-incrementing and post-incrementing have the same effect ++c; printf( “%d”, c ); –Has the same effect as c++; printf( “%d”, c );