Computing and Statistical Data Analysis Lecture 2 Glen Cowan RHUL Physics Computing and Statistical Data Analysis Variables, types: int, float, double,

Slides:



Advertisements
Similar presentations
1 Demo Reading Assignments Important terms & concepts Fundamental Data Types Identifier Naming Arithmetic Operations Sample Programs CSE Lecture.
Advertisements

True or false A variable of type char can hold the value 301. ( F )
CSE202: Lecture 2The Ohio State University1 Variables and C++ Data Types.
1 9/20/06CS150 Introduction to Computer Science 1 Review: Exam 1.
Chapter 2: Introduction to C++.
Admin Office hours 2:45-3:15 today due to department meeting if you change addresses during the semester, please unsubscribe the old one from the.
Basic Elements of C++ Chapter 2.
1 Chapter Two Using Data. 2 Objectives Learn about variable types and how to declare variables Learn how to display variable values Learn about the integral.
 2003 Prentice Hall, Inc. All rights reserved. 1 Introduction to C++ Programming Outline Introduction to C++ Programming A Simple Program: Printing a.
CSC 125 Introduction to C++ Programming Chapter 2 Introduction to C++
© Janice Regan, CMPT 128, Jan CMPT 128: Introduction to Computing Science for Engineering Students Data representation and Data Types Variables.
Computing and Statistical Data Analysis (PH4515, UofL PG Lectures) Glen Cowan Physics Department Royal Holloway, University of London Egham, Surrey TW20.
Input & Output: Console
Copyright 2006 Addison-Wesley Brief Version of Starting Out with C++ Chapter 2 Introduction to C++
CS1 Lesson 2 Introduction to C++ CS1 Lesson 2 -- John Cole1.
Program A computer program (also software, or just a program) is a sequence of instructions written in a sequence to perform a specified task with a computer.
Basic Notions Review what is a variable? value? address? memory location? what is an identifier? variable name? keyword? what is a legal identifier? what.
CS31: Introduction to Computer Science I Discussion 1A 4/9/2010 Sungwon Yang
CPS120: Introduction to Computer Science
Summary of what we learned yesterday Basics of C++ Format of a program Syntax of literals, keywords, symbols, variables Simple data types and arithmetic.
Introduction to C++ // Program description #include directives int main() { constant declarations variable declarations executable statements return.
Data & Data Types & Simple Math Operation 1 Data and Data Type Standard I/O Simple Math operation.
CSE1222: Lecture 3The Ohio State University1. Assignment Operations  The C++ assignment operator is: =  Examples: x = 3 * 5; y = x – 7; y = y + 4; Do.
Basic Elements of C++ Chapter 1.
C++ Programming: Basic Elements of C++.
CSE1222: Lecture 2The Ohio State University1. mathExample2.cpp // math example #include using namespace std; int main() { cout
Fundamental Programming: Fundamental Programming Introduction to C++
CPS120: Introduction to Computer Science Operations Lecture 9.
Chapter 2 Overview of C++. 2 Overview  2.1 Language Elements  2.2 Reserved Words & Identifiers  2.3 Data Types & Declarations  2.4 Input/Output 
THE BASICS OF A C++ PROGRAM EDP 4 / MATH 23 TTH 5:45 – 7:15.
Chapter 7 Selection Dept of Computer Engineering Khon Kaen University.
Computer Engineering 1 st Semester Dr. Rabie A. Ramadan 3.
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.
Introducing C++ Programming Lecture 3 Dr. Hebbat Allah A. Elwishy Computer & IS Assistant Professor
C++ Basics. Compilation What does compilation do? g++ hello.cpp g++ -o hello.cpp hello.
Chapter 2 Variables.
1 COMS 261 Computer Science I Title: C++ Fundamentals Date: September 9, 2005 Lecture Number: 6.
School of Computer Science & Information Technology G6DICP - Lecture 4 Variables, data types & decision making.
C++ / G4MICE Course Session 1 - Introduction Edit text files in a UNIX environment. Use the g++ compiler to compile a single C++ file. Understand the C++
PROGRAM ESSENTIALS. TOKENS  SMALLEST UNITS OF A PROGRAM LANGUAGE  Special Symbols  Mathematical Operators  Punctuation  Word Symbols  Key Words.
2/4/2016Engineering Problem Solving with C++, Second Edition, J. Ingber 1 Engineering Problem Solving with C++, Etter/Ingber Chapter 2 Simple C++ Programs.
Chapter 3 – Variables and Arithmetic Operations. First Program – volume of a box /************************************************************/ /* Program.
Lecture 5 Computer programming -1-. Input \ Output statement 1- Input (cin) : Use to input data from keyboard. Example : cin >> age; 2- Output (cout):
C++ Basics Programming. COMP104 Lecture 5 / Slide 2 Introduction to C++ l C is a programming language developed in the 1970s with the UNIX operating system.
Literals A literal (sometimes called a constant) is a symbol which evaluates to itself, i.e., it is what it appears to be. Examples: 5 int literal
A Sample Program #include using namespace std; int main(void) { cout
Chapter 2 Variables and Constants. Objectives Explain the different integer variable types used in C++. Declare, name, and initialize variables. Use character.
Bill Tucker Austin Community College COSC 1315
Today Variable declaration Mathematical Operators Input and Output Lab
Chapter 2 Variables.
Chapter Topics The Basics of a C++ Program Data Types
Basic Elements of C++ Chapter 1.
Computing and Statistical Data Analysis Lecture 2
Data Types, Variables & Arithmetic
Computing and Statistical Data Analysis Lecture 2
Basic Elements of C++.
Basic Elements of C++ Chapter 2.
Chapter 2 Elementary Programming
Basic Notions Review what is a variable? value? address? memory location? what is an identifier? variable name? keyword? what is legal identifier? what.
2.1 Parts of a C++ Program.
Introduction to C++ Programming
Chapter 2 Variables.
Expressions and Assignment
Chapter 2: Introduction to C++.
Engineering Problem Solving with C++ An Object Based Approach
Engineering Problem Solving with C++ An Object Based Approach
Summary of what we learned yesterday
Primitive Types and Expressions
Chapter 2 Variables.
Variables and Constants
Presentation transcript:

Computing and Statistical Data Analysis Lecture 2 Glen Cowan RHUL Physics Computing and Statistical Data Analysis Variables, types: int, float, double, bool,... Assignments, expressions Simple i/o; cin and cout. Basic control structures: if, else

C++ building blocks Glen Cowan RHUL Physics Computing and Statistical Data Analysis All of the words in a C++ program are either: Reserved words: cannot be changed, e.g., if, else, int, double, for, while, class,... Library identifiers: default meanings usually not changed, e.g., cout, sqrt (square root),... Programmer-supplied identifiers: e.g. variables created by the programmer, x, y, probeTemperature, photonEnergy,... Valid identifier must begin with a letter or underscore (“ _ ”), and can consist of letters, digits, and underscores. Try to use meaningful variable names; suggest lowerCamelCase.

Data types Glen Cowan RHUL Physics Computing and Statistical Data Analysis Data values can be stored in variables of several types. Think of the variable as a small blackboard, and we have different types of blackboards for integers, reals, etc. The variable name is a label for the blackboard. Basic floating point types (i.e., for real numbers): float usually 32 bits double usually 64 bits ← best for our purposes Basic integer type: int (also short, unsigned, long int,...) Number of bits used depends on compiler; typically 32 bits. Boolean: bool (equal to true or false ) Character: char (single ASCII character only, can be blank), no native ‘string’ type; more on C++ strings later.

Declaring variables Glen Cowan RHUL Physics Computing and Statistical Data Analysis All variables must be declared before use. Two schools of thought: declare at start of program (like FORTRAN); declare just before 1st use (as preferred in java). ← do this Examples int main(){ int numPhotons; // Use int to count things double photonEnergy; // Use double for reals bool goodEvent; // Use bool for true or false int minNum, maxNum; // More than one on line int n = 17; // Can initialize value double x = 37.2; // when variable declared. char yesOrNo = ‘y’; // Value of char in ‘ ‘... }

Assignment of values to variables Glen Cowan RHUL Physics Computing and Statistical Data Analysis Declaring a variable establishes its name; value is undefined (unless done together with declaration). Value is assigned using = (the assignment operator): int main(){ bool aOK = true; // true, false predefined constants double x, y, z; x = 3.7; y = 5.2; z = x + y; cout << "z = " << z << endl; z = z + 2.8; // N.B. not like usual equation cout << "now z = " << z << endl;... }

Constants Glen Cowan RHUL Physics Computing and Statistical Data Analysis Sometimes we want to ensure the value of a variable doesn’t change. Useful to keep parameters of a problem in an easy to find place, where they are easy to modify. Use keyword const in declaration: const int numChannels = 12; const double PI = ; // Attempted redefinition by Indiana State Legislature PI = 3.2; // ERROR will not compile Old C style retained for compatibility (avoid this): #define PI

Enumerations Glen Cowan RHUL Physics Computing and Statistical Data Analysis Sometimes we want to assign numerical values to words, e.g., January = 1, February = 2, etc. Use an ‘enumeration’ with keyword enum enum { RED, GREEN, BLUE }; is shorthand for const int RED = 0; const int GREEN = 1; const int BLUE = 2; Enumeration starts by default with zero; can override: enum { RED = 1, GREEN = 3, BLUE = 7 } (If not assigned explicitly, value is one greater than previous.)

Expressions Glen Cowan RHUL Physics Computing and Statistical Data Analysis C++ has obvious(?) notation for mathematical expressions: operationsymbol addition + subtraction - multiplication * division / modulus % Note division of int values is truncated: int n, m; n = 5; m = 3; int ratio = n/m; // ratio has value of 1 Modulus gives remainder of integer division: int nModM = n%m; // nModM has value 2

Operator precedence Glen Cowan RHUL Physics Computing and Statistical Data Analysis * and / have precedence over + and -, i.e., x*y + u/v means (x*y) + (u/v) * and / have same precedence, carry out left to right: x/y/u*v means ((x/y) / u) * v Similar for + and - x - y + z means (x - y) + z Many more rules (google for C++ operator precedence). Easy to forget the details, so use parentheses unless it’s obvious.

Boolean expressions and operators Glen Cowan RHUL Physics Computing and Statistical Data Analysis Boolean expressions are either true or false, e.g., int n, m; n = 5; m = 3; bool b = n < m; // value of b is false C++ notation for boolean expressions: greater than > greater than or equals >= less than < less than or equals <= equals == not equals != Can be combined with && (“and”), || (“or”) and ! (“not”), e.g., (n < m) && (n != 0) (false) (n%m >= 5) || !(n == m) (true) not = Precedence of operations not obvious; if in doubt use parentheses.

Shorthand assignment statements Glen Cowan RHUL Physics Computing and Statistical Data Analysis full statementshorthand equivalent n = n + m n += m n = n - m n -= m n = n * m n *= m n = n / m n /= m n = n % m n %= m full statementshorthand equivalent n = n + 1 n++ (or ++n ) n = n - 1 n-- (or --n ) Special case of increment or decrement by one: ++ or -- before variable means first increment (or decrement), then carry out other operations in the statement (more later).

Getting input from the keyboard Glen Cowan RHUL Physics Computing and Statistical Data Analysis Sometimes we want to type in a value from the keyboard and assign this value to a variable. For this use the iostream object cin : int age; cout << "Enter your age" << endl; cin >> age; cout << "Your age is " << age << endl; When you run the program you see Enter your age 23 ← you type this, then “Enter” Your age is 23 (Why is there no “ jin ” in java? What were they thinking???)

if and else Glen Cowan RHUL Physics Computing and Statistical Data Analysis Simple flow control is done with if and else : if ( boolean test expression ){ Statements executed if test expression true } or if (expression1 ){ Statements executed if expression1 true } else if ( expression2 ) { Statements executed if expression1 false and expression2 true } else { Statements executed if both expression1 and expression2 false }

more on if and else Glen Cowan RHUL Physics Computing and Statistical Data Analysis Note indentation and placement of curly braces: if ( x > y ){ x = 0.5*x; } Some people prefer if ( x > y ) { x = 0.5*x; } If only a single statement is to be executed, you can omit the curly braces -- this is usually a bad idea: if ( x > y ) x = 0.5*x;

Putting it together -- checkArea.cc Glen Cowan RHUL Physics Computing and Statistical Data Analysis #include using namespace std; int main() { const double maxArea = 20.0; double width, height; cout << "Enter width" << endl; cin >> width; cout << "Enter height" << endl; cin >> height; double area = width*height; if ( area > maxArea ){ cout << "Area too large" << endl; else { cout << "Dimensions are OK" << endl; } return 0; }

Wrapping up lecture 2 Glen Cowan RHUL Physics Computing and Statistical Data Analysis We’ve seen some basic elements of a C++ program: variables, e.g., int, double, bool, etc.; how to assign values and form expressions; how to get values from the keyboard and write values to the monitor; how to control the flow of a program with if and else. Next we will see a few more simple control structures used for loops, look at some library functions, and then move on to user defined functions.