Fluency with Information Technology

Slides:



Advertisements
Similar presentations
Introduction to C Programming
Advertisements

Chapter 17 Fundamental Concepts Expressed in JavaScript.
 2008 Pearson Education, Inc. All rights reserved JavaScript: Introduction to Scripting.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Fundamental Concepts Expressed in JavaScript Get with the Program lawrence.
10 November JavaScript. Presentation Hints What do YOU think makes a good presentation Some of my suggestions Don’t write full sentences on slides Talk,
 2007 Pearson Education, Inc. All rights reserved Introduction to C Programming.
Data types and variables
JavaScript, Fourth Edition
Chapter 2 Data Types, Declarations, and Displays
JavaScript, Third Edition
Chapter 17 Fundamental Concepts Expressed in JavaScript.
Introduction to C Programming
Objectives You should be able to describe: Data Types
Created by, Author Name, School Name—State FLUENCY WITH INFORMATION TECNOLOGY Skills, Concepts, and Capabilities.
2440: 211 Interactive Web Programming Expressions & Operators.
Chapter 3: Data Types and Operators JavaScript - Introductory.
Introduction to Java Applications Part II. In this chapter you will learn:  Different data types( Primitive data types).  How to declare variables?
Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley STARTING OUT WITH Python Python First Edition by Tony Gaddis Chapter 2 Input,
Input, Output, and Processing
Copyright © 2012 Pearson Education, Inc. Publishing as Pearson Addison-Wesley C H A P T E R 2 Input, Processing, and Output.
Operators and Expressions. 2 String Concatenation  The plus operator (+) is also used for arithmetic addition  The function that the + operator performs.
CSC 1010 Programming for All Lecture 3 Useful Python Elements for Designing Programs Some material based on material from Marty Stepp, Instructor, University.
VISUAL C++ PROGRAMMING: CONCEPTS AND PROJECTS Chapter 2A Reading, Processing and Displaying Data (Concepts)
Announcements Due dates Project 1B—Wednesday by 10pm rule Thursday by 10pm Only once during quarter! Lab 5—Friday by 10pm Next week Labs 6/7—Tuesday.
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Fluency with Information Technology Third Edition by Lawrence Snyder Chapter.
Part:2.  Keywords are words with special meaning in JavaScript  Keyword var ◦ Used to declare the names of variables ◦ A variable is a location in the.
CHAPTER 2 PROBLEM SOLVING USING C++ 1 C++ Programming PEG200/Saidatul Rahah.
Copyright © 2013 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 17 JavaScript.
Chapter 14 JavaScript: Part II The Web Warrior Guide to Web Design Technologies.
Java Programming: From Problem Analysis to Program Design, Second Edition 1 Lecture 1 Objectives  Become familiar with the basic components of a Java.
1 Agenda  Unit 7: Introduction to Programming Using JavaScript T. Jumana Abu Shmais – AOU - Riyadh.
C++ Programming: From Problem Analysis to Program Design, Fourth Edition Chapter 3: Input/Output Samples.
© 2004 Pearson Addison-Wesley. All rights reserved August 27, 2007 Primitive Data Types ComS 207: Programming I (in Java) Iowa State University, FALL 2007.
Java Programming: Guided Learning with Early Objects Chapter 1 Basic Elements of Java.
Chapter 2 Variables.
Topics Designing a Program Input, Processing, and Output
Chapter 6 JavaScript: Introduction to Scripting
BASIC ELEMENTS OF A COMPUTER PROGRAM
Chapter 2 - Introduction to C Programming
Overview: Programming Concepts
Variables, Expressions, and IO
Chapter 2 - Introduction to C Programming
Java Programming: From Problem Analysis to Program Design, 4e
Chapter 2 - Introduction to C Programming
Chapter 2 - Introduction to C Programming
Chapter 17 JavaScript.
Introduction to C++ Programming
Chapter 2: Basic Elements of Java
Introduction to Java, and DrJava part 1
Chapter 2 - Introduction to C Programming
Introduction to JavaScript
MSIS 655 Advanced Business Applications Programming
Chapter 2 Variables.
T. Jumana Abu Shmais – AOU - Riyadh
Chapter 2 - Introduction to C Programming
Topics Designing a Program Input, Processing, and Output
Topics Designing a Program Input, Processing, and Output
Chapter 2: Introduction to C++.
Chapter 3: Selection Structures: Making Decisions
Boolean Expressions to Make Comparisons
Topics Designing a Program Input, Processing, and Output
Topics Designing a Program Input, Processing, and Output
Chapter 2 - Introduction to C Programming
Chapter 3: Selection Structures: Making Decisions
Javascript Chapter 19 and 20 5/3/2019.
Unit 3: Variables in Java
More JavaScript B. Ramamurthy 5/7/2019.
Chapter 2 Variables.
Using C++ Arithmetic Operators and Control Structures
Introduction to C Programming
Presentation transcript:

Fluency with Information Technology 7th Edition Chapter 17 Fundamental Concepts Expressed in JavasScript

Learning Objectives 1.1 Tell the difference between name, value, and variable 1.2 List three basic data types and the rules for specifying them in a program 1.3 Explain the way in which the assignment statement changes a variable’s value 1.4 Write expressions using arithmetic, relational, and logical operators 1.5 Write conditional and compound statements

Key Definitions: Programming and Agents Programming is the act of formulating an algorithm or program A systematic means of solving a problem An agent (a person or a computer) can follow the instructions and produce the intended result for every input, every time

Thinking about Programming The program must be able to perform or be executed without the programmer All steps must be spelled out precisely and effectively All contingencies must be planned for Programming requires thinking, but we can't rely on thinking alone Basic programming concepts can simplify the task and provide the tools needed to formulate any computation Impossible to program algorithms precisely using a natural language like English (or Urdu, Arabic, Mandarin, any others) Natural languages are too ambiguous for directing anything as clueless (or literal) as a computer

Programming Concepts Names, values, and variables Declarations Data types: including numbers, string literals, and Booleans Assignment Expressions Conditionals

1.1 Names, Values, and Variables Names have changing values Think of names like offices or titles; designations purposely selected to have changing values Names and values are separable in programming Examples: Name – Queen of England Current value: Queen Elizabeth II Past values: Queen Victoria, Queen Mary In programming, names are variables Variables means that their values will vary Changing the value of a variable in a program is called assignment

Using Variables: Identifiers and Their Rules Identifier: The letter sequence that makes up a variable’s name Generally, identifiers have a particular form, which can vary depending on which programming language is being used Begin with a letter, followed by any sequence of letters, numerals, or the underscore symbol Not allowed to contain spaces Can use underscore to separate words: this_variable Are case sensitive: ThisVariable is different from thisvariable, which is also different from THISVARIABLE

Using Variables: Declaration One of the first things to do when writing a program is to state or declare the variables that will be used Declaring variables is done using a command called a declaration In JavaScript, the declaration command is the word var, followed by a list of the identifiers for the variables to be declared, which are separated by commas

Example: Declaring a Variable This JavaScript command declares that two identifiers (area and radius) will be used as variables in the program: var area, radius;

The Statement Terminator A program is simply a list of statements, which must be terminated in some way so the computer knows when the statement is complete The statement terminator in JavaScript is the semicolon In JavaScript, it s required to terminate every statement with a semicolon: var area, radius;

Declaring Variables in JavaScript Every variable used must be declared Variable declarations announce what variables will be used in the program Even though JavaScript allows declaration statements anywhere in the list of statements, follow the convention of declaring variables first

Variables: Undefined Values The declaration states that the identifier is the name of a variable The name has no value at first It is a name that doesn’t name anything The name is declared, but there is no value assigned yet In this case, the value is described as undefined

Variables: Initializing Values Sometimes we need to set an initial value for variables JavaScript allows setting the initial value as part of the declaration This is called initializing the variable Example - Declaring variables with initial values (note the semicolons terminating the statements): var taxRate = .088; var balanceDue = 0;

Variables: Initialized Values Sometimes we need to set an initial value for variables JavaScript allows setting the initial value as part of the declaration This is called initializing the variable Example - Declaring variables with initial values (note the semicolons terminating the statements): var taxRate = .088; var balanceDue = 0;

Variables: Initialized Multiple Values Multiple variables can be declared and initialized by separating them with commas: var taxRate = .088, balanceDue = 0; Usually several variables are declared in a single declaration statement when the variables are logically related If the variables are not related, they are usually specified in separate statements

1.2 JavaScript's Three Basic Data Types Data types: The types of values available in a programming language Numbers: no units are assigned Numbers and computer arithmetic are unexpectedly subtle As a general rule, the “safe zone” for numbers is the range from 2 billionths to 2 billion plus or minus Strings: sequences of keyboard characters Are surrounded by single (') or double (") quotes Needed when manipulating text Booleans: have only two possible values - true and false Values, not identifiers or strings Used implicitly throughout the programming process

Writing Numbers in JavaScript Must be written in decimal form (0.33, not 33%; 10.89, not $10.89) Typically have about 10 significant digits Range from as small as 10−324 to as large as 10308

Writing Strings in JavaScript Strings must be surrounded by straight quotes, either single (') or double (") The minimum number of characters in a string is zero (""), which is called the empty string Most characters are allowed within quotes, and those that aren't need to use escape characters in JavaScript, that is the backslash: \b = backspace \n = new line \t = tab \f = form feed (used with old printers) \r carriage return \' = apostrophe or single quote \" = double quote

Writing Strings in JavaScript: Quotes and Apostrophes To use double quotes in a string, enclose the string in single quotes: var answer = 'He said, "No!"' If our string contains single quotes, enclose it in double quotes: var book = "Guide to B&B's" Since the apostrophe is commonly used in possessives and contractions, use double quotes as the default

Writing Strings in JavaScript: Literals The characters are written exactly as we want them to be interpreted by the program The surrounding quotes are removed when the literal is stored in the computer Any character can be stored in the computer’s memory, using escape characters when necessary

Writing Strings in JavaScript: Literals The characters are written exactly as we want them to be interpreted by the program The surrounding quotes are removed when the literal is stored in the computer Any character can be stored in the computer’s memory, using escape characters when necessary

1.3 Changing Variables: The Assignment Statement An assignment statement changes a variable's value There are three parts that occur in this order: Variable Assignment symbol Expression Like other statements in JavaScript, the assignment statement is terminated by a semicolon JavaScript's assignment symbol is the equals sign Example: weeks = days/7;

Interpreting Assignment Statements The values "flow" from the right side (expression side) to the left side (variable side) The assignment symbol should be read as is assigned or becomes or gets These terms emphasize the role that the assignment symbol plays in changing the value of the variable named Everything to the right of the assignment symbol is computed/evaluated first If there are any variables used, their current values are used (their values before the start of executing the assignment statement) The evaluation produces a value that then becomes the new value of the variable named on the left side

Hands-on: A Lab Project in Firefox Scratchpad In Firefox, go to Tools > Web Developer > Scratchpad Note you will already see lines that are comments in JavaScript Multiline comments begin with /* and end with */ End of line comments use // Type in the code below: var days = 77; var weeks; weeks = days / 7; To see the result, use the Display command (^L) Change the days to initialize to some other number (instead of 77), and display the new result

Scratchpad: Initializing and Assigning Initialize two more variables (totalScore and shotClock) to 10 Write two assignment statements, one that adds 3 to totalScore and the other that subtracts 1 from shotClock To Save your work type ^S, then save the file with a .js extension

Scratchpad: Initializing and Assigning Initialize two more variables (totalScore and shotClock) to 10 Write two assignment statements, one that adds 3 to totalScore and the other that subtracts 1 from shotClock To Save your work type ^S, then save the file with a .js extension

An Expression and Its Syntax Programming is not mathematics but it has its roots there One programming concept is an algebra-like formula called an expression Expressions describe the means of performing an actual computation Expressions are built of variables and operators: addition (+) and subtraction(–) multiplication (*) and division (/ ) These are called the arithmetic operators

1.4 Expressions: Arithmetic Operators Expressions usually follow rules similar to algebraic formulas Multiplication must be given explicitly with the asterisk (*) multiply operator: a*b Multiplication and division are performed before addition and subtraction They have a higher precedence in the order of operations than addition and subtraction Parentheses can bypass that order In JavaScript, to square the value of x, it must be multiplied times itself (there are no superscripted numbers like x2): x*x

Binary and Unary Arithmetic Operators Operators like + and * are called binary operators They operate on two values The values are called operands There are also unary operators Negate (−) has only one operand This is not the same as the subtraction operator

Examples: 4%2 is 0 because 2 evenly divides 4 The Modulus Operator The modulus (mod) operation (%) divides two integers and returns the remainder The result of a%b for integers a and b is the remainder of the division a/b Examples: 4%2 is 0 because 2 evenly divides 4 5%2 is 1 because 2 into 5 leaves a remainder of 1

Relational Operators Relational operators make comparisons between numerical values The relationship between two numbers is tested Relational operators ask, is a, compared to b: less than: < less than or equal to: <= equal to: == not equal to: != greater than or equal to: >= greater than: > The outcome of the comparison is a Boolean value of true or false

Logical Operators Logical operators can combine testing two or more relationships together The binary operators logical and (&&) and logical or (||) have lower precedence than the relational operators Relationals are always tested first It doesn’t matter how the operands are produced; it only matters that they are true or false values

Logical Operators: And and Or Logical and && is the logical and operator It plays the same role AND plays in query expressions The outcome of a&&b is true if both a and b are true; otherwise, it is false Logical or The outcome of a||b is true if: either a is true or b is true if they are both true It is false only if both are false a and b can be variables, or expressions, or a mix

Logical Operators: Not Logical not (!) A unary operator, taking only a single operand Outcome is the opposite of the value of its operand By placing the logical not operator in front of the parenthesized expression, we have a new expression with the opposite outcome

Operators usually apply to a single data type Operator Overload Operator overload is a technical term meaning the "use of an operator with different data types" Operators usually apply to a single data type 4 + 5 produces the numerical result of 9 If the operands are strings, what does the + operator mean?

Operator Overload: Concatenating Strings When we use + with strings, it joins the strings by the operation of concatenation It just means that the two strings are placed together if we want them joined The meaning of + is overloaded: + means addition when operands are numeric + means concatenation when the operands are strings

1.5 Conditional Statements Conditional statements have the form: If (<Boolean expression>) <then-statement>; The <Boolean expression> is an expression evaluating to true or false The <then-statement> can be any JavaScript statement

1.5 if Statements and Their Flow of Control if (waterTemp < 32) waterState = "Frozen"; The <Boolean expression> is called a predicate It is evaluated, resulting in a true or false outcome If the outcome is true, the <then- statement> is performed If the outcome is false, the <then- statement> is skipped

Writing if Statements if (waterTemp < 32) waterState = "Frozen"; Writing the <then-statement> indented on the following line is common practice, to set it off visually The indent also emphasizes the conditional nature of the statement

Compound Statements Programming languages allow for a sequence of statements in the <then-statement> Group multiple statements by surrounding them with "curly braces": { } { } collects single statements together to become a compound statement The opening { is placed immediately after the predicate to signal that a compound statement is next The closing } is placed conspicuously on its own line after the last statement within the compound Note: The closing } is not followed by a semicolon

Compound Statements: if/else if/else statements contain statements that will be executed when the condition’s outcome is either true <then-statement> or false <else-statement>: if (<Boolean expression>) <then-statement>; else <else-statement>;

Nested if/else Statements Both the <then-statement> and the <else-statement> can contain an if/else The rule in JavaScript and most other programming languages is that the else associates with the (immediately) preceding if This can be confusing to read The best policy is to enclose the <then-statement> or <else-statement> in compound curly braces whenever they contain an if/else

The Espresso Program The program computes the price of four kinds of espresso drinks based on: The type of drink The size of drink The number of additional shots Sales tax

The Espresso Program: Code var drink = "latte"; var ounce = 12; var shots = 2; var price; var taxRate = 0.088; if (drink == "espresso") price = 1.40; if (drink == "latte" || drink == "cappuccino") { if (ounce == 8) price = 1.95; if (ounce == 12) price = 2.35; if (ounce == 16) price = 2.75; } if (drink == "Americano") price = 1.20 + 0.30*(ounce/8); price = price + (shots - 1)*.50; price = price + price*taxRate;

The Espresso Program: Inputs and Outputs Drink type can be an espresso, latte, cappuccino, or Americano Ounces (size) can be 8, 12, or 16 Shots can be 1, 2, 3, 4… Sales tax rate Output: The price in dollars

The Espresso Program: Variables var drink = "latte"; //input var ounce = 12; //input var shots = 2; //input var price; //output var taxRate = 0.088; //input The program will assign the output value

The Espresso Program: Determining Type and Price if (drink == "espresso") price = 1.40; if (drink == "latte" || drink == "cappuccino") { if (ounce == 8) price = 1.95; if (ounce == 12) price = 2.35; if (ounce == 16) price = 2.75; } if (drink == "Americano") price = 1.20 + 0.30*(ounce/8); price = price + (shots - 1)*.50; price = price + price*taxRate;

The Espresso Program: Walking Through Now try the test order value of "double tall latte" and walk through the program noting each variable change, conditional statement and outcome, and the final calculated price. If your answer matches the one in the book, try a different drink and see if you think the price is accurately calculated

Summary An assignment statement has a variable on the left side of the symbol and an expression on the right side There are three JavaScript data types of interest to us— numbers, strings, and Booleans—and we can build expressions to compute values of these types Standard arithmetic and relational operators compute on numbers, and logical operations compute on Booleans Conditional statements like if and if/else allow statements to be executed depending on the outcome of a Boolean expression Group statements within a compound statement to make it clear which statements are skipped or executed