Transcript Chapter 1

Language Basics

Chapter 1.4

What is a Program Made of?

Last lecture I said…

 ◦ ◦ ◦ Common elements in programming languages: ◦ Key Words Programmer-Defined Identifiers Operators Punctuation ◦ Syntax

Wow!!!

 I am overwhelmed ---what does all of this mean.

 Don’t worry---lets play a bit and learn a little bit about these idea with a fun tool called Scratch before we learn about C++.

Scratch

  (scratch.mit.edu) Application to teach concepts of Programming that is language independent and geared for children What is it really = a visual editor where you don’t have to worry about language syntax and you can create games/animations that others can “play”.

Scratch

Preview Panel- can view current game/animation here Toolkit Panel where can get the operators of the Scratch LANGUAGE Scripting Panel- THIS IS WHERE WE CREATE OUR CODE Sprite Panel —where you make your characters in your game

Time for a Demo in class

Uses beginning project linked on our class website or see instructor.

NOTE how the language statements SNAP together like Legos --- this is like writing good Syntax in a program – only certain statements can go with others in a language.

Lets compare concepts of real programs with Scratch to really Learn what these ideas mean

We will compare the following ideas in Scratch and a real C++ program ◦ ◦ ◦ ◦ Programmer-Defined Identifiers --- variables Operators Punctuation Syntax

This is our Program we will use

Programmer-Defined Identifiers - Variables  Names made up by the programmer   Not part of the programming language Used to represent various things: variables (memory locations), functions, etc.

Variables in Scratch

 Scratch we have character’s named Sprites -- we can define variables about them.

Variables in a Program

 A variable is a named storage location in the computer’s memory for holding a piece of data.

Variables in C++ example  In Program 1-1 we used three variables: ◦ The

hours

variable was used to hold the hours worked ◦ ◦ The

rate

was used to hold the pay rate variable The

pay

was used to hold the gross pay variable

Variable Definitions

 To create a variable in a program you must write a variable definition (also called a variable declaration)  Here is the statement from Program 1-1 that defines the variables:

double hours, rate, pay;

Variable Definitions

 There are many different types of data, which you will learn about in this course.

 A variable holds a specific type of data.

 The variable definition specifies the type of data a variable can hold, and the variable name.

Variable Definitions

 Once again, line 7 from Program 1-1:

double hours, rate, pay;

 The word

double

specifies that the variables can hold double-precision floating point numbers. (You will learn more about that in Chapter 2)

Operators

  Used to perform operations on data Many types of operators: ◦ Arithmetic - ex: +,-,*,/ ◦ Assignment – ex: =

Operators in Scratch

  Lets look at addition in Scratch When Cat moves lets change location by +10 each time.

Operators in C++ example ( << >> = * )

Punctuation

 Characters that mark the end of a statement, or that separate items in a list

Scratch – no punctuation –but end of line is visible  Here each line of code has its own “shaped box”

Punctuation in C++

Commas = separate Semi-colons = end of line

Syntax

 The rules of grammar that must be followed when writing a program  Controls the use of key words, operators, programmer-defined symbols, and punctuation Scratch TIP: controls syntax remember by Only allowing certain commands to “SNAP” together. Here we see the “if” statement does something (turns 15 degrees) when the (distance to Sprite1 is < 20)

Example Syntax in C++

 Regular statements must end with a Semi colon ---this signifies the end of the statement We will learn more of the C++ sytnax rules as we go through the class.

Procedural and Object-Oriented Programming ---- what did I mean in last lecture --- can Scratch help us?

 Procedural and Object-Oriented Programming Procedural programming: focus is on the process. Procedures/functions are written to process data.

Scratch TIP: Our operations like when we are close to Sprite1 then turn 15 degrees is a procedure  Object-Oriented programming: focus is on objects, which contain data and the means to manipulate the data. Messages sent to objects to perform operations.

Scratch TIP: Our Sprites we saw in Scratch are like objects