Expressions & Control Flow CSE 120 Spring 2017

Slides:



Advertisements
Similar presentations
Basic Elements of Programming A VB program is built from statements, statements from expressions, expressions from operators and operands, and operands.
Advertisements

Aalborg Media Lab 23-Jun-15 Software Design Lecture 6 “Conditionals and Loops”
Statement-Level Control Structures Sections 1-4
CONTROL STATEMENTS Lakhbir Singh(Lect.IT) S.R.S.G.P.C.G. Ludhiana.
Flow of Control. 2 Control Structures Control structure: An instruction that determines the order in which other instructions in a program are executed.
Lecture Set 5 Control Structures Part D - Repetition with Loops.
ASP.NET Programming with C# and SQL Server First Edition Chapter 3 Using Functions, Methods, and Control Structures.
COMPUTER PROGRAMMING. Control Structures A program is usually not limited to a linear sequence of instructions. During its process it may repeat code.
CPS120 Introduction to Computer Science Iteration (Looping)
CPS120: Introduction to Computer Science Decision Making in Programs.
COMPUTER PROGRAMMING. Iteration structures (loops) There may be a situation when you need to execute a block of code several number of times. In general,
Saeed Ghanbartehrani Summer 2015 Lecture Notes #5: Programming Structures IE 212: Computational Methods for Industrial Engineering.
DEPARTMENT OF COMPUTER SCIENCE & TECHNOLOGY FACULTY OF SCIENCE & TECHNOLOGY UNIVERSITY OF UWA WELLASSA 1 ‏ Control Structures.
Algorithm Design.
Chapter 15 JavaScript: Part III The Web Warrior Guide to Web Design Technologies.
Quiz 3 is due Friday September 18 th Lab 6 is going to be lab practical hursSept_10/exampleLabFinal/
CS241 PASCAL I - Control Structures1 PASCAL Control Structures Modified Slides of Philip Fees.
More Python!. Lists, Variables with more than one value Variables can point to more than one value at a time. The simplest way to do this is with a List.
Chapter 7: The Repetition Structure Introduction to Programming with C++ Fourth Edition.
Chapter 7: Repetition Structure (Loop) Department of Computer Science Foundation Year Program Umm Alqura University, Makkah Computer Programming Skills.
Control structures in C by Dr P.Padmanabham Professor (CSE)&Director Bharat Institute of Engineering &Technology Hyderabad Mobile
1 Flow of Control Chapter 5. 2 Objectives You will be able to: Use the Java "if" statement to control flow of control within your program.  Use the Java.
Flow Control in Imperative Languages. Activity 1 What does the word: ‘Imperative’ mean? 5mins …having CONTROL and ORDER!
4 - Conditional Control Structures CHAPTER 4. Introduction A Program is usually not limited to a linear sequence of instructions. In real life, a programme.
Loops ( while and for ) CSE 1310 – Introduction to Computers and Programming Alexandra Stefan 1.
Loops causes program to execute the certain block of code repeatedly until some conditions are satisfied. Suppose you want to execute some code/s 10 times.
IST 210: PHP Logic IST 210: Organization of Data IST2101.
Pseudocode (pronounced SOO-doh-kohd)  is a detailed yet readable description of what a computer program or algorithm must do, expressed in a formally-styled.
Copyright © 2014 Pearson Addison-Wesley. All rights reserved. 4 Simple Flow of Control.
Nested Loops & Arrays CSE 120 Spring 2017
Discussion 4 eecs 183 Hannah Westra.
Control Flow (Python) Dr. José M. Reyes Álamo.
ALGORITHMS AND FLOWCHARTS
Basic Input and Output CSE 120 Spring 2017
Chapter 6: Loops.
Functions in Processing CSE 120 Spring 2017
EGR 2261 Unit 4 Control Structures I: Selection
Debugging and Random Numbers
Operator Precedence Operators Precedence Parentheses () unary
The Selection Structure
Topics The if Statement The if-else Statement Comparing Strings
The order in which statements are executed is called the flow of control. Most of the time, a running program starts at the first programming statement,
( Iteration / Repetition / Looping )
Chapter 6: Conditional Statements and Loops
Control Structures – Selection
Variables & Datatypes CSE 120 Winter 2018
Control Structures - Repetition
Topics The if Statement The if-else Statement Comparing Strings
Expressions & Control Flow CSE 120 Winter 2018
How to develop a program?
Java - Data Types, Variables, and Arrays
Variables & Datatypes CSE 120 Spring 2017
Scratch: selection / branching/ if / If…else / compound conditionals / error trapping by Mr. Clausen.
T. Jumana Abu Shmais – AOU - Riyadh
Java Programming Control Structures Part 1
Chapter 6: Repetition Statements
Statement-Level Control Structures
Chapter 4: Control Structures I (Selection)
Boolean Expressions to Make Comparisons
Variables & Datatypes CSE 120 Winter 2019
Week 3 – Program Control Structure
Chapter8: Statement-Level Control Structures April 9, 2019
Flow of Control.
Using Decision Structures
Loops & Nested Loops CSE 120 Winter 2019
Javascript Chapter 19 and 20 5/3/2019.
Using C++ Arithmetic Operators and Control Structures
LOOPS The loop is the control structure we use to specify that a statement or group of statements is to be repeatedly executed. Java provides three kinds.
Controlling Program Flow
Expressions & Conditionals CSE 120 Winter 2019
Presentation transcript:

Expressions & Control Flow CSE 120 Spring 2017 Instructor: Teaching Assistants: Justin Hsia Anupam Gupta, Braydon Hall, Eugene Oh, Savanna Yee Uber said to use “sophisticated” software to defraud drivers, passengers Uber has devised a "clever and sophisticated" scheme in which it manipulates navigation data used to determine "upfront" rider fare prices while secretly short-changing the driver, according to a proposed class-action lawsuit against the ride-hailing app. When a rider uses Uber's app to hail a ride, the fare the app immediately shows to the passenger is based on a slower and longer route compared to the one displayed to the driver. The software displays a quicker, shorter route for the driver. But the rider pays the higher fee, and the driver's commission is paid from the cheaper, faster route, according to the lawsuit. https://arstechnica.com/tech-policy/2017/04/uber-said-to-use- sophisticated-software-to-defraud-drivers-passengers/

Administrivia Assignments: Make sure to ask for help before deadlines Events due Tuesday (4/11) Animal Functions due Wednesday (4/12) Make sure to ask for help before deadlines All assignments (except Reading Checks) due at 11:59pm If posting code, make the post private; see Piazza Usage Guidelines Check rubrics – incomplete assignments submitted on time still eligible for partial credit “Big Ideas” this week: Algorithms

Outline Expressions & Operators Conditionals Loops if-statement while-loop for-loop

Expressions “An expression is a combination of one or more values, constants, variables, operators, and functions that the programming language interprets and computes to produce another value.” https://en.wikipedia.org/wiki/Expression_(computer_science) Expressions are evaluated and resulting value is used Assignment: x = x + 1; Assignment: x_pos = min(x_pos + 3, 460); Argument: ellipse(50+x, 50+y, 50, 50); Argument: mouse(rowX+4*sp,rowY,rowC);

Operators Built-in “functions” in Processing that use special symbols: Multiplicative: * / % Additive: + - Relational: < > <= >= Equality: == != Logical: && || ! Operators can only be used with certain data types and return certain data types Multiplicative/Additive: give numbers, get number Relational: give numbers, get Boolean Logical: give Boolean, get Boolean Equality: give same type, get Boolean

Operators Built-in “functions” in Processing that use special symbols: Multiplicative: * / % Additive: + - Relational: < > <= >= Equality: == != Logical: && || ! In expressions, use parentheses for evaluation ordering and readability e.g. x + (y * z) is the same as x + y * z, but easier to read

Modulus Operator: % x % y is read as “x mod y” and returns the remainder after y divides x For short, we say “mod” instead of modulus Practice: 0 % 3 is ____ 1 % 3 is ____ 2 % 3 is ____ 3 % 3 is ____ 4 % 3 is ____ 5 % 3 is ____ 6 % 3 is ____

Modulus Operator: % x % y is read as “x mod y” and returns the remainder after y divides x For short, we say “mod” instead of modulus Example Uses: Parity: Number n is even if n%2 == 0 Leap Year: Year year is a leap year if year%4 == 0 Chinese Zodiac: year1 and year2 are the same animal if year1%12 == year2%12

Modulus Example in Processing Use mod to “wrap around” Replace min/max function to “connect” edges of drawing canvas x_pos = min(x_pos + 3, 460); x_pos = (x_pos + 3) % 460;

Control Flow The order in which instructions are executed We typically say that a program is executed in sequence from top to bottom, but that’s not always the case: Function calls and return calls Conditional/branching statements Loops Curly braces {} are used to group statements Help parse control flow Remember to use indentation!

Outline Expressions & Operators Conditionals Loops if-statement while-loop for-loop

If-Statements Sometimes you don’t want to execute every instruction Situationally-dependent Conditionals give the programmer the ability to make decisions The next instruction executed depends on a specified condition The condition must evaluate to a boolean (i.e. true or false) Sometimes referred to as “branching” This generally lines up well with natural language intuition

If-Statements Basic form: if(condition) { // “then” // statements } Start End “Then” Statements True False Basic form: if(condition) { // “then” // statements } Example conditions: Variable: if( done == true ) Variable: if( done ) Expression: if( x_pos > 460 ) Expression: if( x_pos > 100 && y_pos > 100 )

If-Statements With else clause: if(condition) { // “then” Start End “Then” Statements True False “Otherwise” With else clause: if(condition) { // “then” // statements } else { // “otherwise” }

If-Statements With else if clause: if(cond1) { // “then” // statements Start End “Then” Statements True False “Otherwise if” Cond2? With else if clause: if(cond1) { // “then” // statements } else if(cond2) { // “otherwise if” }

If-Statements Notice that conditionals always go from Start to End Choose one of many branches A conditional must have a single if, as many else if as desired, and at most one else Can nest and combine in interesting ways: if(cond1) { if(cond2) { // statement1 } else { // statement2 } if(cond1 && cond2) { // statement1 } else if(cond1) { // statement2 }

Processing Demo: Drawing Dots

Outline Expressions & Operators Conditionals Loops if-statement while-loop for-loop

Looping Sometimes we want to do the same (or similar) things over and over again Looping saves us time from writing out all of the instructions Loops control a sequence of repetitions

While-Loop Basic form: while(condition) { // loop // body } Start End Loop Body False True Basic form: while(condition) { // loop // body } Repeat loop body until condition is false Must make sure to update conditional variable(s) in loop body, otherwise you cause an infinite loop draw() is basically a while(true) loop

While-Loop More general form: // init cond var(s) while(condition) { Start Initialize Var(s) Condition? End Loop Body False True Update Var(s) More general form: // init cond var(s) while(condition) { // loop body // update var(s) } This occurs so commonly that we create a separate syntax for it!

For-Loop for(init; cond; update){ // loop body } Start Initialize Var(s) Condition? End Loop Body False True Update Var(s) for(init; cond; update){ // loop body } First runs init expression(s) Then checks cond If true, runs loop body followed by update statement(s)

For-Loop Example Without loop: With loop:

Understanding the For-Loop Choice of variable name(s) is not critical Represent the value(s) that vary between different executions of the loop body Think of as temporary variable(s) Variable scope: variable i only exists within this loop initialization

Understanding the For-Loop Condition evaluated before the loop body and must evaluate to true or false Reminder: > greater than < less than >= greater than or equal to >= less than or equal to == equal to != not equal to condition

Understanding the For-Loop Update is an assignment that is executed after the loop body Loop body is enclosed by curly braces {} and should be indented for readability update loop body

Processing Demo: Circles on Canvas Edge