Announcements. Lab 1 this week! Homework posted Thursday -Due next Thursday at 11:55pm

Similar documents
Announcements. Lab 1 this week! Homework posted Wednesday (late)

Announcements. Homework 0 out! Coming soon: 1. remote access 2. programming instructions 3. lab 1 (graded!) this week

CSCI Wednesdays: 1:25-2:15 Keller Thursdays: 4:00-4:50 Akerman 211

Announcements. HW0 is posted on schedule, due next Friday at 9pm (pretty easy)

bool bool - either true or false

Announcements. Homework 0: using cin with 10/3 is NOT the same as (directly)

Two Types of Types. Primitive Types in Java. Using Primitive Variables. Class #07: Java Primitives. Integer types.

Review: Exam 1. Your First C++ Program. Declaration Statements. Tells the compiler. Examples of declaration statements

C++ Programming: From Problem Analysis to Program Design, Third Edition

Add Subtract Multiply Divide

More Flow Control Functions in C++ CS 16: Solving Problems with Computers I Lecture #4

Discussion 1H Notes (Week 2, 4/8) TA: Brian Choi Section Webpage:

Final exam. Final exam will be 12 problems, drop any 2. Cumulative up to and including week 14 (emphasis on weeks 9-14: classes & pointers)

Chapter 2. Outline. Simple C++ Programs

Chapter 2. C++ Basics. Copyright 2014 Pearson Addison-Wesley. All rights reserved.

Chapter 2. C++ Basics

Objectives. Chapter 2: Basic Elements of C++ Introduction. Objectives (cont d.) A C++ Program (cont d.) A C++ Program

Chapter 2: Basic Elements of C++

More loops Ch

Chapter 2: Basic Elements of C++ Objectives. Objectives (cont d.) A C++ Program. Introduction

Objectives. In this chapter, you will:

Basic memory model Using functions Writing functions. Basics Prototypes Parameters Return types Functions and memory Names and namespaces

The C++ Language. Arizona State University 1

UNIT- 3 Introduction to C++

Lecture 3 Tao Wang 1

Chapter Overview. C++ Basics. Variables and Assignments. Variables and Assignments. Keywords. Identifiers. 2.1 Variables and Assignments

Announcements. HW 0 due tonight (check that it compiles on CSE labs) (make sure you submit the code part)

Expressions and Data Types CSC 121 Spring 2015 Howard Rosenthal

! A program is a set of instructions that the. ! It must be translated. ! Variable: portion of memory that stores a value. char

BITG 1233: Introduction to C++

Outline. Review of Last Week II. Review of Last Week. Computer Memory. Review Variables and Memory. February 7, Data Types

Computer Programming. Basic Control Flow - Loops. Adapted from C++ for Everyone and Big C++ by Cay Horstmann, John Wiley & Sons

C++ Basics. Lecture 2 COP 3014 Spring January 8, 2018

Chapter 2. C++ Basics. Copyright 2014 Pearson Addison-Wesley. All rights reserved.

C++ Support Classes (Data and Variables)

2.1. Chapter 2: Parts of a C++ Program. Parts of a C++ Program. Introduction to C++ Parts of a C++ Program

ENGINEERING 1020 Introduction to Computer Programming M A Y 2 6, R E Z A S H A H I D I

CS 151 Review #3. // More than one variable can be defined // in a statement. Multiple variables are // separated by a comma.

Fundamentals of Programming CS-110. Lecture 2

Scientific Computing

C++ PROGRAMMING. For Industrial And Electrical Engineering Instructor: Ruba A. Salamh

Programming in C++ Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

C++ Basic Elements of COMPUTER PROGRAMMING. Special symbols include: Word symbols. Objectives. Programming. Symbols. Symbols.

3.1. Chapter 3: The cin Object. Expressions and Interactivity

Chapter 3. More Flow of Control. Copyright 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

Primitive Data, Variables, and Expressions; Simple Conditional Execution

Chapter 3, Selection. Liang, Introduction to Programming with C++, Second Edition, (c) 2010 Pearson Education, Inc. All rights reserved.

Introduction to Programming using C++

Creating a C++ Program

Expressions and Data Types CSC 121 Fall 2015 Howard Rosenthal

Visual C# Instructor s Manual Table of Contents

Computing and Statistical Data Analysis Lecture 3

GE U111 Engineering Problem Solving & Computation Lecture 6 February 2, 2004

Agenda. The main body and cout. Fundamental data types. Declarations and definitions. Control structures

Chapter 2 C++ Fundamentals

Lecture Programming in C++ PART 1. By Assistant Professor Dr. Ali Kattan

Lesson #3. Variables, Operators, and Expressions. 3. Variables, Operators and Expressions - Copyright Denis Hamelin - Ryerson University

LECTURE 02 INTRODUCTION TO C++

Introduction to C++ Dr M.S. Colclough, research fellows, pgtas

CPE 112 Spring 2015 Exam II (100 pts) March 4, Definition Matching (8 Points)

A SHORT COURSE ON C++

CHAPTER 3 Expressions, Functions, Output

Reviewing all Topics this term

CSc 10200! Introduction to Computing. Lecture 2-3 Edgardo Molina Fall 2013 City College of New York

Programming Language. Functions. Eng. Anis Nazer First Semester

C++ for Python Programmers

Boolean Algebra Boolean Algebra

A First Program - Greeting.cpp

CS106X Handout 03 Autumn 2012 September 24 th, 2012 Getting Started

Highlights. - Making threads. - Waiting for threads. - Review (classes, pointers, inheritance)

Chapter 2: Introduction to C++

Chapter 3 - Functions

} Evaluate the following expressions: 1. int x = 5 / 2 + 2; 2. int x = / 2; 3. int x = 5 / ; 4. double x = 5 / 2.

Chapter 2: Special Characters. Parts of a C++ Program. Introduction to C++ Displays output on the computer screen

C++ Programming Lecture 11 Functions Part I

C++ Basics. Data Processing Course, I. Hrivnacova, IPN Orsay

Fundamental of Programming (C)

Structured Data. CIS 15 : Spring 2007

Introduction to C++ Lecture Set 2. Introduction to C++ Week 2 Dr Alex Martin 2013 Slide 1

Engineering Problem Solving with C++, Etter/Ingber

Program Organization and Comments

Multiple Choice (Questions 1 13) 26 Points Select all correct answers (multiple correct answers are possible)

1. Variables 2. Arithmetic 3. Input and output 4. Problem solving: first do it by hand 5. Strings 6. Chapter summary

CS103L FALL 2017 UNIT 1: TYPES, VARIABLES,EXPRESSIONS,C++ BASICS

Welcome Back. CSCI 262 Data Structures. Hello, Let s Review. Hello, Let s Review. How to Review 8/19/ Review. Here s a simple C++ program:

Laboratory 0 Week 0 Advanced Structured Programming An Introduction to Visual Studio and C++

3. Simple Types, Variables, and Constants

CSc 10200! Introduction to Computing. Lecture 4-5 Edgardo Molina Fall 2013 City College of New York

CHAPTER 3 BASIC INSTRUCTION OF C++

7/8/10 KEY CONCEPTS. Problem COMP 10 EXPLORING COMPUTER SCIENCE. Algorithm. Lecture 2 Variables, Types, and Programs. Program PROBLEM SOLVING

BASIC COMPUTATION. public static void main(string [] args) Fundamentals of Computer Science I

Expressions, Input, Output and Data Type Conversions

CSCE 110 PROGRAMMING FUNDAMENTALS

CS 31 Review Sheet. Tau Beta Pi - Boelter Basics 2. 2 Working with Decimals 2. 4 Operators 3. 6 Constants 3.

Flow Control in C++ Condi&onals & Loops CS 16: Solving Problems with Computers I Lecture #4

Lecture 4 Tao Wang 1

Full file at

Operators in C. Staff Incharge: S.Sasirekha

1. C++ Overview. C++ Program Structure. Data Types. Assignment Statements. Input/Output Operations. Arithmetic Expressions.

Unit 3. Constants and Expressions

Transcription:

C++ Basics

Announcements Lab 1 this week! Homework posted Thursday -Due next Thursday at 11:55pm

Variables Variables are objects in program To use variables two things must be done: - Declaration - Initialization See: uninitialized.cpp Example if you forget to initialize: I am 0 inches tall. I am -1094369310 inches tall.

Variables int x, y, z; x = 2; y = 3; z = 4; Initialization Declaration Same as: int x=2, y=3, z=4; Variables can be declared anywhere (preferably at start)

Assignment operator = is the assignment operator The object to the right of the equals sign is stored into the object in the left int x, y; y = 2; x = y+2; See: assignmentop.cpp

Assignment operator = is NOT a mathematic equals x=3; x=4; // computer is happy! This does not mean 3=4

Assignment operator To the left of = needs to be a valid object that can store the type of data on the right int x; x=2.6; // unhappy, 2.6 is not an integer x+2 = 6; // x+2 not an object 2 = x; // 2 is a constant, cannot store x

Assignment operator What does this code do? int x = 2, y = 3; y=x; x=y; What was the intention of this code?

Increment operators What does this code do? int x = 2; x=x+1; x+=1; or x++; Same as:

Increment operators Two types of increment operators: x++; // increments after command vs ++x; // increments before command

Complex assignments The following format is general for common operations: variable (operator)= expression variable = variable (operator) expression Examples: x+=2 x = x + 2 x*=y+2 x = x * (y + 2)

Order of operations Order of precedence (higher operations first): -, +, ++, -- and! (unary operators) *, / and % (binary operators) + and - (binary operators) % is remainder operator (example later in simpledivision.cpp)

Order of operations Binary operators need two arguments Examples: 2+3, 5/2 and 6%2 Unary operators require only one argument: Examples: (see binaryvsunaryops.cpp) +x, x++,!x (! is the logical inversion operator for bool)

Identifiers

Identifiers An identifier is the name of a variable (or object, class, method, etc.) type int sum; identifier - Case sensitive - Must use only letters, numbers or _ - Cannot start with a number - (Some reserved identifiers, like main)

Identifiers Already did this in week 1! See: RuntimeError.cpp

Identifiers Which identifiers are valid? 1) james parker 2) BoByBoY 3) x3 4) 3x 5) x 6) x 7) Home.Class 8) Five% 9) x-1

Identifiers Which identifiers are valid? 1) james parker 2) BoByBoY 3) x3 4) 3x 5) x 6) x 7) Home.Class 8) Five% 9) x-1

(See: float.cpp) Identifiers

Identifiers

Variables We (hopefully) know that if you say: You ask the computer for a variable called x Each variable actually has an associated type describing what information it holds (i.e. what can you put in the box, how big is it, etc.)

Fundamental Types bool - true or false char - (character) A letter or number int - (integer) Whole numbers long - (long integers) Larger whole numbers float - Decimal numbers double - Larger decimal numbers See: intvslong.cpp

int vs long? int - Whole numbers in the approximate range: -2.14 billion to 2.14 billions (10 9 ) long - Whole numbers in the approximate range: -9.22 quintillion to 9.22 quintillion (10 18 ) Using int is standard (unless you really need more space, for example scientific computing)

float vs double?

float vs double? float is now pretty much obsolete. double takes twice as much space in the computer and 1) has wider range and 2) is more precise Bottom line: use double (unless for a joke)

float and double Both stored in scientific notation double x = 2858291; Computer's perspective: x = 2.858291e6 or x = 2.858291 * 10 6

Welcome to binary Decimal: Binary: 1/2 = 0.5 0.1 1/3 = 0.3333333 0.010101010101 1/10 = 0.1 0.0001100110011 double is often just an approximation!

Numerical analysis Field of study for (reducing) computer error See: subtractionerror.cpp Can happen frequently when solving system of linear equations

bool You can use integers to represent bool also. false = 0 true = anything else (You probably won't need to do this)

int or double? If you are counting something (money), use int If you are dealing with abstract concepts (physics), use double int doesn't make rounding mistakes

Primitive type hierarchy bool < int < long < float < double If multiple primitive types are mixed together in a statement, it will convert to the largest type present Otherwise it will not convert type

Primitive type hierarchy int x; double y; int x; int y; x+y x/y Converted to double Not converted (still int)

Integer division See: simpledivision.cpp Can be fixed by making one a double: 1/2.0 or static_cast<double>(1)/2

Constants You can also make a constant by adding const before the type This will only let you set the value once const double mypi = 3.14; mypi = 7.23; // unhappy computer!

Functions Functions allow you to reuse pieces of code (either your own or someone else's) Every function has a return type, specifically the type of object returned sqrt(2) returns a double, as the number will probably have a fractional part The 2 is an argument to the sqrt function

Functions Functions can return void, to imply they return nothing (you should not use this in an assignment operation) The return type is found right before the functions name/identifier. int main() {... means main returns an int type, which is why we always write return 0 and not return 'a' (there is no char main())

Functions A wide range of math functions are inside <cmath> (get it by #include <cmath>; at top) We can use these functions to compute Snell's Law for refraction angle (See: math.cpp)

Input and output

Strings and input char can only hold a single letter/number, but one way to hold multiple is a string string str; cin >> str; The above will only pull one word, to get all words (until enter key) use: getline(cin, str); (See: stringinput.cpp)

More Output When showing doubles with cout, you can change how they are shown For example, to show a number as dollars and cents, you would type (before cout): cout.setf(ios::fixed); cout.setf(ios::showpoint); cout.precision(2);

More Output There are two ways to get output to move down a line: endl and \n cout << endl;... is the same as... cout << \n I will use both when coding

Madlibs (see: madlibs.cpp)

bool bool - either true or false We will use the following today: > (greater than), e.g. 7 > 2.5 is true == (equals), e.g. 5 == 4 is false <= (less than or eq), e.g. 1 <= 1 is true

if statement Code inside an if statement is only run if the condition is true. Need parenthesis (no semi-colon) Indent (See: numberguessing.cpp)

if/else statement Immediately after an if statement, you can make an else statement If the if statement does not run, then the else statement will If you do not surround your code with braces only one line will be in the if (and/or else) statement

Double trouble! (See: doublecompare.cpp)

Double trouble! When comparing doubles, you should use check to see if relative error is small: fabs((x-y)/x) < 10E-10 (double has about 16 digits of accuracy so you could go to 10E-15 if you want) For comparing Strings, use: (0 if same) string1.compare(string2)

Loop Often we want to do a (similar) command more than once Computer programmers call this code a loop Loops are quite powerful and are very commonly used

while loop A while loop tests a bool expression and will run until that expression is false bool exp. (See: whileloop.cpp)

while loop The bool expression is tested when first entering the while loop And! When the end of the loop code is reached (the } to close the loop)

while loop 3 parts to any (good) loop: - Test variable initialized - bool expression - Test variable updated inside loop

do-while loop A do-while loop is similar to a normal while loop, except the bool expression is only tested at the end of the loop (not at the start) (See: dowhile.cpp) Note semicolon!

do-while loop Q: Why would I ever want a do-while loop? A: When the first time the variable is set is inside the loop. You can initialize the variable correctly and use a normal while loop, but this makes the logic harder

Semi-colons When to put semi-colons? You put semi colons after every statement, except if you (should) start a block Blocks should start after functions, if-statements and loops, thus these should not have semi colons after them