Review Blocks of code {.. A bunch of ‘statements’; } Structured programming Learning Processing: Slides by Don Smith 1.

Slides:



Advertisements
Similar presentations
Variables Conditionals Boolean Expressions Conditional Statements How a program produces different results based on varying circumstances if, else if,
Advertisements

Lesson One: The Beginning Chapter 3: Interaction Learning Processing: by Daniel Shiffman Presentation by Donald W. Smith Graphics from text.
RAPTOR Syntax and Semantics By Lt Col Schorsch
Variables and Operators
 Variables  What are they?  Declaring and initializing variables  Common uses for variables  Variables you get “for free” in Processing ▪ Aka: Built-in.
Introduction to Computing Concepts Note Set 7. Overview Variables Data Types Basic Arithmetic Expressions ▫ Arithmetic.
Primitive Data Types There are a number of common objects we encounter and are treated specially by almost any programming language These are called basic.
Data Types in Java Data is the information that a program has to work with. Data is of different types. The type of a piece of data tells Java what can.
©2004 Brooks/Cole Chapter 2 Variables, Values and Operations.
Bellevue University CIS 205: Introduction to Programming Using C++ Lecture 3: Primitive Data Types.
IAT 800 Lab 1: Loops, Animation, and Simple User Interaction.
© 2006 Pearson Education. All Rights Reserved Starting Out with C++: Early Objects 5/e Starting Out with C++: Early Objects 5 th Edition Chapter 2 Introduction.
Aalborg Media Lab 21-Jun-15 Software Design Lecture 2 “ Data and Expressions”
ICM Week 2. Structure - statements and blocks of code Any single statement ends with semicolon ; When we want to bunch a few statements together we use.
ECE122 L3: Expression Evaluation February 6, 2007 ECE 122 Engineering Problem Solving with Java Lecture 3 Expression Evaluation and Program Interaction.
Data types and variables
Fundamental Programming Structures in Java: Comments, Data Types, Variables, Assignments, Operators.
Lecture 3 IAT 800. Sept 15, Fall 2006IAT 8002 Suggestions on learning to program  Spend a lot of time fiddling around with code –Programming is something.
Chapter 2: Introduction to C++.
PROCESSING Animation. Objectives Be able to create Processing animations Be able to create interactive Processing programs.
Basic Elements of C++ Chapter 2.
01- Intro-Java-part1 1 Introduction to Java, and DrJava Barb Ericson Georgia Institute of Technology June 2008.
Objectives You should be able to describe: Data Types
Programming for Artists ART 315 Dr. J. R. Parker Art/Digital Media Lab Lec 10 Fall 2010.
Georgia Institute of Technology Introduction to Java, and DrJava Barb Ericson Georgia Institute of Technology Aug 2005.
Continuous February 16, Test Review What expression represents the zip car eligibility rules of at least 18 years old and no incidents?
Keyboard and Events. What about the keyboard? Keyboard inputs can be used in many ways---not just for text The boolean variable keyPressed is true if.
Chapter 2: Using Data.
Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition.
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved. Chapter 2: Introduction to C++
CIS 3.5 Lecture 2.2 More programming with "Processing"
Lesson Two: Everything You Need to Know
Copyright Curt Hill Variables What are they? Why do we need them?
Variables Art &Technology, 3rd Semester Aalborg University Programming David Meredith
Chapter 3 – Variables and Arithmetic Operations. Variable Rules u Must declare all variable names –List name and type u Keep length to 31 characters –Older.
Lesson Two: Everything You Need to Know
1 COMS 261 Computer Science I Title: C++ Fundamentals Date: September 9, 2005 Lecture Number: 6.
Chapter 4 Literals, Variables and Constants. #Page2 4.1 Literals Any numeric literal starting with 0x specifies that the following is a hexadecimal value.
COMP Primitive and Class Types Yi Hong May 14, 2015.
VISUAL C++ PROGRAMMING: CONCEPTS AND PROJECTS Chapter 2A Reading, Processing and Displaying Data (Concepts)
Variables and Functions ROBOTC Software © 2012 Project Lead The Way, Inc.Principles of Engineering.
CHAPTER 2 PROBLEM SOLVING USING C++ 1 C++ Programming PEG200/Saidatul Rahah.
Continuous. Flow of Control Programs can broadly be classified as being –Procedural Programs are executed once in the order specified by the code varied.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Introduction to C++
ICS102 Lecture 1 : Expressions and Assignment King Fahd University of Petroleum & Minerals College of Computer Science & Engineering Information & Computer.
CS0007: Introduction to Computer Programming Primitive Data Types and Arithmetic Operations.
1Object-Oriented Program Development Using C++ Built-in Data Types Data type –Range of values –Set of operations on those values Literal: refers to acceptable.
Variables. Something to mention… void setup(){ size(200, 200); background(255); smooth(); } void draw() { stroke(0); strokeWeight(abs(mouseX-pmouseX));
Lecture 3: More Java Basics Michael Hsu CSULA. Recall From Lecture Two  Write a basic program in Java  The process of writing, compiling, and running.
Chapter 2 Variables and Constants. Objectives Explain the different integer variable types used in C++. Declare, name, and initialize variables. Use character.
© 2004 Pearson Addison-Wesley. All rights reserved August 27, 2007 Primitive Data Types ComS 207: Programming I (in Java) Iowa State University, FALL 2007.
Chapter Topics The Basics of a C++ Program Data Types
Primitive Data Types August 28, 2006 ComS 207: Programming I (in Java)
Basic Elements of C++.
Multiple variables can be created in one declaration
Lesson Two: Everything You Need to Know
Chapter 2 Basic Computation
Basic Elements of C++ Chapter 2.
IDENTIFIERS CSC 111.
2.1 Parts of a C++ Program.
Introduction to Java, and DrJava part 1
Chapter 2 Variables.
More programming with "Processing"
Introduction to Java, and DrJava
Chapter 2: Introduction to C++.
Primitive Types and Expressions
Introduction to Java, and DrJava
Introduction to Java, and DrJava part 1
Variables and Operators
Variables and Constants
Presentation transcript:

Review Blocks of code {.. A bunch of ‘statements’; } Structured programming Learning Processing: Slides by Don Smith 1

Review setup(): initialization, called ONCE at the beginning of the execution. draw(): called REPEATEDLY after setup. Learning Processing: Slides by Don Smith 2

Review : setup setup(): Called once when the program is started. Used to define initial enviroment properties such as screen size, background color, loading images, etc. before the draw() begins executing. Variables declared within setup() are not accessible within other functions, including draw(). There can only be one setup() function for each program and it should not be called again after it's initial execution. Learning Processing: Slides by Don Smith 3

Review : draw draw(): Called directly after setup() and continuously executes the lines of code contained inside its block until the program is stopped or noLoop() is called. The draw() function is called automatically and should never be called explicitly. Learning Processing: Slides by Don Smith 4

Review : background background(grayscale or color): Sets the color used for the background of the Processing window. The default background is light gray. In the draw() function, the background color is used to clear the display window at the beginning of each frame. Learning Processing: Slides by Don Smith 5

Review : framerate Framerate(rate) Specifies the number of frames to be displayed every second. It is recommended to set the frame rate within setup(). The default rate is 60 frames per second. rate: an integer. Learning Processing: Slides by Don Smith 6

Review : random random(high) OR random(low, high) Casting a coin or dice generates a random number high, low: float or int Returns a floating number between 0 to high or low to high Function types void setup() and draw() Float random() Other types Learning Processing: Slides by Don Smith 7

Review : size size(w,h) Defines the dimension of the display window in pixels. The size() function must be the first line in setup(). If size() is not called, the default size of the window is 100x100 pixels. The system variables width and height are set by the parameters passed to the size() function. Learning Processing: Slides by Don Smith 8

Review : other functions exit() Quits/stops/exits the program. Programs without a draw() function exit automatically after the last line has run; but programs with draw() run continuously until the program is manually stopped or exit() is run. delay(milliseconds) Forces the program to stop running for a specified time (milliseconds) Has no affects in setup() Learning Processing: Slides by Don Smith 9

Review : other functions Exercise: write a program to draw circles. It exits when a key on the keyboard is pressed. It pauses for 3 seconds if a mouse button is pressed. Learning Processing: Slides by Don Smith 10

Learning Processing: Slides by Don Smith 11 What is a variable? In Programming: We use longer, more descriptive names Variables refer to ‘memory locations’ Stored in ‘RAM’ Random Access Memory Have a ‘size’ How many bytes of memory ‘wide’

Learning Processing: Slides by Don Smith 12 Variables must be ‘Declared’ What is a Declaration? Programmer tells the compiler: Type Name ; What is a Type? Each type requires a specific amount of storage ‘Primitive’ types include three main categories Integers – Whole Numbers (positive and negative), no fractions Floating point – Numbers with fractional parts and exponents Characters – One letter that you can type A, B, C, a, b, c, 1, 2, 3, %, &….

Learning Processing: Slides by Don Smith 13 All Primitive Types Integer Types byte: A very small number (-127 to +128) short: A small number ( to ) int: A large number (-2,147,483,648 to +2,147,483,647) long: A huge number Floating Point Types float: A number with decimal places, 4 bytes double: Much more precise, for heavy math, 8 bytes Other Types boolean: true or false char: One symbol in single quotes ‘a’

Learning Processing: Slides by Don Smith 14 Primitive Type Storage Integer Types byte: short: int: long: Floating Point Types float: double: Other Types boolean: char:

Learning Processing: Slides by Don Smith 15 Primitive Type Examples Integer Types byte: 123 short: 1984 int: long: Floating Point Types float: 4.0 double: , 1.0e+23, 2.4e-20 Other Types boolean: true char: ‘a’

Numeric versus ‘Character’ types How do you decide if you need a numeric or a character type? If you plan on doing ‘math’ on the variable, then you MUST use a numeric type What is the letter ‘a’ times the letter ‘c’? Notice the single quotes around characters If you plan on using “Strings” (later), they are just words made up of characters. “Bob” and “Mary” are Strings (of characters) Notice the double quotes around strings What is the string “Bob” times the string “Mary”? Learning Processing: Slides by Don Smith 16

Learning Processing: Slides by Don Smith 17 Declaring and Initializing Variables What is Initialization? Setting an initial value into the contents of the variable Pseudocode: Set NumPlayers to 5 Can be done in two ways: During Declaration: On one line int count = 50; // declare and initialize After declaration: On two lines int count; // declare the variable count = 50; // initialize the value Can also be initialized with a calculation! int max = 100; int min = 10; int count = max – min; // calculation

Learning Processing: Slides by Don Smith 18 Naming Variables There are some ‘rules’ and some ‘best practices’ Rules Letters, Digits and underscore ( _ ) are OK to use Cannot start with a digit ( 0,1,…9 ) Cannot use reserved words mouseX, int, size.. Best Practices Use descriptive names boolean moreToDo ; Use ‘camelHump’ notation Start with lower case Each new word starts with Upper Case

Declaration and Initialization Examples Type name (optional initialization) ; int count = 0; // Declare an int, initialized to 0 char letter = 'a'; // Declare a char, initialized to 'a' double d = ; // Declare a double, initialized to boolean happy = false; // Declare a boolean, initialized to false float x = 4.0; // Declare a float, initialized to 4.0 float y; // Declare a float (no assignment) float z = x * y ; // Declare a float, initialize it to // x times y plus After declaration Assignments: count = 1; letter = ‘b’; happy = true; y = x + 5.2; // Assign the value of x plus 5.2 Learning Processing: Slides by Don Smith 19

Declaration and Initialization Issues You can only initialize a variable to a value of the same, or compatible type: Which initializations are compatible? int count = ‘a’; char letter = 0; double deposit = “Fred”; boolean happy = 1; float feet = 6; int inches = feet * 12; long giant = feet * 3.0; Learning Processing: Slides by Don Smith 20

Declaration and Initialization Issues You can only initialize a variable to a value of the same, or compatible type. Which initializations are compatible? int count = ‘a’; char letter = 0; double deposit = “Fred”; boolean happy = 1; float feet = 6; int inches = feet * 12; long giant = feet * 3.0; Learning Processing: Slides by Don Smith 21

Where to Declare Variables Remember that your code is in ‘blocks’ Variables can go inside or outside these blocks For now, we will put them ‘outside’ (before) blocks

Varying Variables: Example 4.3 Remember that processing calls draw() in a loop If you want the variable to change every time: Declare and initialize it outside of draw()! Change it inside draw()! Moves as circleX increases 

Learning Processing: Slides by Don Smith 24 What happens in example 4.3? circleX Is initialized to 0 Used first time draw() is called ellipse(circleX, circleY, 50,50); Then circleX = circleX + 1; Next time draw() is called, circleX is 1 ellipse(circleX, circleY, 50,50); Then circleX = circleX + 1; Next time draw() is called, circleX is 2 ellipse(circleX, circleY, 50,50); Then circleX = circleX + 1;.. Until circleX is over 200, and the circle just moves off the right side of the screen, never to be seen again! It is often useful to make a ‘table’ of all of the variables that are being changed every time through a ‘loop’ Call to draw() circleX …

Using Many Variables Make things more interesting using more variables! Declare and initialize them outside of draw()! Change them inside draw()! Call to draw() circleXcircleYcircleWcircleH

Learning Processing: Slides by Don Smith 26 Operators on numerical variables Addition: + Increment: x = x+1, ++x Subtraction: - Decrement: x = x-, --x Multiplication: * Division: / Pay attention to integer and float divisions Remainder: % (modulo) 5%3  2, 2%12  2, 12%3  0 Assignment: =

Learning Processing: Slides by Don Smith 27 Precedence of operators Parentheses have the highest precedence *, /, %  +, -  = If not sure, use parentheses.

Learning Processing: Slides by Don Smith 28 Examples Convert temperatures between F and C Extract the two digits from a two-digit number. Write a program that moves a rectangle and the fill color changes with mouse moving.

Learning Processing: Slides by Don Smith 29 System Variables Processing provides many ‘built-in’ variables: These are not for you to play with, but may change! mouseX, mouseY, pmouseX and pmouseY width: Width (in pixels) of sketch window height : Height (in pixels) of sketch window frameCount : Number of frames processed frameRate : Rate (per sec.) that frames are processed screen.height, screen.width: Entire screen key : Most recent key pressed on keyboard keyCode : Numeric code for which key pressed mousePressed : True or false (pressed or not?) mouseButton : Which button (left, right, center)

Learning Processing: Slides by Don Smith 30 More on Function Random Processing (and all programming languages) provide a way to get a random value when your program runs. random() is a ‘function’ that returns a float You can assign this number to a variable and use it! Some examples:

What is that (int) and (1,100) stuff? (int) Since random() returns a floating point number and w is an int, we need to change the type from float to int. This is called ‘casting’ random(1,100) ; (1,100) are ‘parameters’ which tell the random function the range of numbers to return w will be between 1 and 99 (not quite 100) Learning Processing: Slides by Don Smith 31

More on Cast (int) Since random() returns a floating point number and w is an int, we need to change the type from float to int. This is called ‘casting’ Usually, casting are performed between numerical types. If the assignment causes the loss precision, cast must be used. Learning Processing: Slides by Don Smith 32

More on Cast Precision loss sequence: double  float  long  int  short  byte Assign a float type to an integer type, use cast. Learning Processing: Slides by Don Smith 33

Make Zoog Move! Use variables to make Zoog move and change! 1) Make Zoog rise from below the screen Need variables for the Zoog’s X and Y locations Note: Locations of ALL of Zoog’s parts need to use them If left eye is left 30 and down 50 from the center of the head: ellipse( zoogX – 30, zoogY + 50, 20, 30); 2) Change his eye color randomly as he moves Need variables for Zoog’s eye color (R,G and B) Learning Processing: Slides by Don Smith 34

Lab06: Moving Zoog Use variables and random() to make a Zoog move from upper left to lower right of the screen. Starting point is provided (Example 4.8) Plan! Declare variables Use variables Use Random Learning Processing: Slides by Don Smith 35

Learning Processing: Slides by Don Smith 36 Summary Variables have names and types There are rules and best practices for naming variables You must declare your variables Determines the ‘type’, size of storage, and maximum values You can initialize variables in different ways Variables have many uses to programmers processing provides ‘system’ (built-in) variables You can use random numbers to make your program run differently every time