CSCI 51 Introduction to Programming Dr. Joshua Stough January 27, 2009.

Slides:



Advertisements
Similar presentations
COMP 14 Introduction to Programming
Advertisements

L2:CSC © Dr. Basheer M. Nasef Lecture #2 By Dr. Basheer M. Nasef.
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.
Expressions ► An expression can be a single variable, or can include a series of variables. If an expression includes multiple variables they are combined.
IntroductionIntroduction  Computer program: an ordered sequence of statements whose objective is to accomplish a task.  Programming: process of planning.
1 Chapter 4 Language Fundamentals. 2 Identifiers Program parts such as packages, classes, and class members have names, which are formally known as identifiers.
CMT Programming Software Applications
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie COMP 14 Introduction to Programming Adrian Ilie June 24, 2005.
COMP 14 Introduction to Programming
COMP 110 Introduction to Programming Mr. Joshua Stough August 27, 2007 Monday/Wednesday/Friday 3:00-4:15 Gardner Hall 307.
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
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie COMP 14 Introduction to Programming Adrian Ilie June 27, 2005.
Chapter 2 Data Types, Declarations, and Displays
JavaScript, Third Edition
CSci 142 Data and Expressions. 2  Topics  Strings  Primitive data types  Using variables and constants  Expressions and operator precedence  Data.
COMP 14 Introduction to Programming Mr. Joshua Stough January 19, 2005 Monday/Wednesday 11:00-12:15 Peabody Hall 218.
String Escape Sequences
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.
© The McGraw-Hill Companies, 2006 Chapter 1 The first step.
Objectives You should be able to describe: Data Types
Computer Systems Chapter 1 Pages Hardware-physical pieces Key hardware components in a computer system: The physical parts. – Central processing.
Java Primitives The Smallest Building Blocks of the Language (corresponds with Chapter 2)
Chapter 2: Basic Elements of Java J ava P rogramming: From Problem Analysis to Program Design, From Problem Analysis to Program Design, Second Edition.
Primitive Types, Strings, and Console I/O Chapter 2.1 Variables and Values Declaration of Variables Primitive Types Assignment Statement Arithmetic Operators.
DEPARTMENT OF COMPUTER SCIENCE & TECHNOLOGY FACULTY OF SCIENCE & TECHNOLOGY UNIVERSITY OF UWA WELLASSA 1 CST 221 OBJECT ORIENTED PROGRAMMING(OOP) ( 2 CREDITS.
COMP 110 Introduction to Programming Mr. Joshua Stough August 29, 2007 Monday/Wednesday/Friday 3:00-4:15 Gardner Hall 307.
Chapter 2 Basic Elements of Java. Chapter Objectives Become familiar with the basic components of a Java program, including methods, special symbols,
1 Do you have a CS account? Primitive types –“ building blocks ” for more complicated types Java is strongly typed –All variables in a Java program must.
Input, Output, and Processing
Introduction to Computer Systems and the Java Programming Language.
Chapter 2: Using Data.
C++ Programming: From Problem Analysis to Program Design, Fourth Edition Chapter 2: Basic Elements of C++
CIS 260: App Dev I. 2 Programs and Programming n Program  A sequence of steps designed to accomplish a task n Program design  A detailed _____ for implementing.
Java Programming: From Problem Analysis to Program Design, 4e Chapter 2 Basic Elements of Java.
Java Programming: From Problem Analysis to Program Design, 5e Chapter 2 Basic Elements of Java.
 Pearson Education, Inc. All rights reserved Introduction to Java Applications.
Copyright © 2012 Pearson Education, Inc. Publishing as Pearson Addison-Wesley C H A P T E R 2 Input, Processing, and Output.
JAVA: An Introduction to Problem Solving & Programming, 6 th Ed. By Walter Savitch ISBN © 2012 Pearson Education, Inc., Upper Saddle River,
Chapter 2 Variables.
Programming in Java (COP 2250) Lecture 4 Chengyong Yang Fall, 2005.
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.
CSM-Java Programming-I Spring,2005 Fundamental Data Types Lesson - 2.
CHAPTER 2 PROBLEM SOLVING USING C++ 1 C++ Programming PEG200/Saidatul Rahah.
Java Programming: From Problem Analysis to Program Design, Second Edition 1 Lecture 1 Objectives  Become familiar with the basic components of a Java.
Chapter 2: Basic Elements of Java J ava P rogramming: From Problem Analysis to Program Design, From Problem Analysis to Program Design, Second Edition.
Chapter 4: Variables, Constants, and Arithmetic Operators Introduction to Programming with C++ Fourth Edition.
Chapter 2: Data and Expressions. Variable Declaration In Java when you declare a variable, you must also declare the type of information it will hold.
CS0007: Introduction to Computer Programming Primitive Data Types and Arithmetic Operations.
COMP 14 Introduction to Programming Mr. Joshua Stough January 24, 2005 Monday/Wednesday 11:00-12:15 Peabody Hall 218.
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.
© 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
BASIC ELEMENTS OF A COMPUTER PROGRAM
Primitive Data Types August 28, 2006 ComS 207: Programming I (in Java)
Multiple variables can be created in one declaration
Java Programming: From Problem Analysis to Program Design, 4e
Escape Sequences What if we wanted to print the quote character?
Introduction to C++ Programming
Chapter 2: Basic Elements of Java
Chapter 2 Variables.
Focus of the Course Object-Oriented Software Development
Topics Designing a Program Input, Processing, and Output
Topics Designing a Program Input, Processing, and Output
Chapter 2 Variables.
Presentation transcript:

CSCI 51 Introduction to Programming Dr. Joshua Stough January 27, 2009

Announcements Problem Set 1 due Monday. Building access request

PS 1 It may well serve you better to type the code yourself, even if it’s just copying code from another program. –That way, you make mistakes that you know how to fix, and hopefully fewer mistakes later.

Last Time in CSCI 51 Parts of a Computer Binary Numbers Algorithms PS 1 assigned –due Monday, Feb 2

Review, Hardware vs. Software A computer is made up of hardware and software Hardware Software CPU - ex: 1.8 GHz Core 2 Duo input/output - keyboard ” wide screen LCD - network card main memory - ex: 2 GB RAM secondary memory - ex: 160 GB hard drive operating systems - Windows XP - Mac OS X applications - games - Microsoft Word - Mozilla Firefox

Review Hardware Organization motherboard CPU memory hard drive

Review Main Memory (with 100 cells) Each memory cell has a numeric address, which uniquely identifies it

Questions Binary Numbers What’s the maximum value a 6-bit number can represent? What’s the decimal representation of ? What’s the binary representation of 35? =

KB2 10 = 1024 MB2 20 (over 1 million) GB2 30 (over 1 billion) TB2 40 (over 1 trillion) UnitSymbolNumber of Bytes kilobyte megabyte gigabyte terabyte Storage Capacity Every memory device has a storage capacity, indicating the number of bytes (8 bits) it can hold Various units:

Questions 1.- computer components including the CPU, main memory, I/O devices, and secondary storage 2.- the brain of the computer, containing the PC, IR, ALU, and ACC 3.- computer instructions to solve a problem 4.The digits 0 and 1 are called or the shortened term

From Java to Machine Language Computers understand only 0 and 1 (machine language) Compiler translates source code into machine code Java compiler translates source code (file ending in.java) into bytecode (file ending in.class) –bytecode is portable (not machine-specific) Java interpreter reads and executes bytecode –different Java interpreters for different types of CPUs and operating systems (OS) Intel/Windows, Motorola/Mac OS X, Intel/Linux

Problem Solving The purpose of writing a program is to have the computer solve a problem But: –“Computers do not solve problems; they implement solutions.” – Laurent Gasser The general steps in problem solving are: –understand the problem –dissect the problem into manageable pieces –design a solution –consider alternatives to the solution and refine it –implement the solution –test the solution and fix any problems that exist

Algorithm Sequence of instructions used to carry out a task or solve a problem May be written in either English or pseudocode –outline of a program that could be translated into actual code May need refinement as you work Always write/think out your algorithm before you begin programming

Problem-Analysis-Coding-Execution most important step without computer with computer

Algorithm Design Example Problem: Convert change in cents to number of half- dollars, quarters, dimes, nickels, and pennies to be returned. Example: –given 646 cents –number of half-dollars: divide 646 by 50 quotient is 12 (number of half-dollars) remainder is 46 (change left over) –number of quarters: divide 46 by 25 quotient is 1 (number of quarters) remainder is 21 (change left over) –number of dimes, nickels, pennies –result: 12 half-dollars, 1 quarter, 2 dimes, 0 nickels, 1 penny

Resulting Algorithm 1. Get the change in cents 2. Find the number of half-dollars 3. Calculate the remaining change 4. Find the number of quarters 5. Calculate the remaining change 6. Find the number of dimes 7. Calculate the remaining change 8. Find the number of nickels 9. Calculate the remaining change 10. The remaining change is the number of pennies.

Review Binary Numbers N bits to represent 2 N values N bits represent values 0 to 2 N -1 Example: 5 bits –32 unique values (0-31) –00000 = 0 –11111 =

Review Problem Solving Steps: –understand the problem how would you solve the problem (as a human, without a computer) –dissect the problem into manageable pieces –design a solution –consider alternatives to the solution and refine it –implement the solution –test the solution and fix any problems that exist

Review Questions 1. What is the maximum decimal value that a 4-bit binary number can represent? 2. What is the binary number for 17? 3. Before the CPU can execute instructions, they must first be loaded from 4. What is the first and most important step in writing a program? main memory analysis, or understanding the problem

Today in CSCI 51 Basic elements of a Java program –special symbols –identifiers –data types –operators –expressions –Strings Textbook Ref: Ch 2 and 3

Reading Check-Up 1.The rules of a language determine which instructions are valid. 2.True or False? Hello! is an example of a legal Java identifier. 3.If an operator has an integer and a floating- point operand, the result of the operation is a number. 4.The expression (int) (9.2) evaluates to syntax False floating-point 9

Introduction Computer program: a sequence of statements to accomplish a task Programming: process of planning and creating a program Programming language: a set of rules, symbols, and special words

Sample Java Program public class Hello { public static void main (String[] args) { System.out.println ("Hi There!"); } Upon execution, this program displays Hi There!

Programming Languages Programming languages have rules of grammar just as English does syntax rules - which statements are legal and which are not semantic rules - determine the meaning of the instructions token - smallest individual unit of a program –special symbols –word symbols –identifiers

Special Symbols +-*/.;?, =

Word Symbols aka reserved words, or keywords int float double char void public static throws return reserved words are always all lowercase each word symbol is considered to be a single symbol cannot be used for anything other than their intended purpose in a program

Identifiers Names of things (variables, constants, methods) in your programs Can be composed of any combination of letters, digits, underscore (_), and dollar sign ($) Cannot begin with a digit May be any length Java is case-sensitive –Total, total, and TOTAL are different identifiers

Illegal Identifiers

Questions Classify the following as legal or illegal identifiers: 1. My First Program 2. my1stProgram 3. 1stProgram 4. $money 5. an_identifier 6. Jane'sProgram illegal legal illegal legal illegal

Primitive Data Types What’s A Data Type? A set of values and the operations that can be performed on those values Primitive data are fundamental values such as numbers and characters Operations are performed on primitive types using built-in operators

Primitive Data Types 8 primitive data types in Java –4 represent integers byte, short, int, long –2 represent floating point numbers float, double –1 represents characters char –1 represents boolean values boolean

Primitive Data Types Numeric Types The difference between the various numeric primitive types is their size, and therefore the values they can store: Type byte short int long float double Storage 8 bits 16 bits 32 bits 64 bits 32 bits 64 bits Min Value ,768 -2,147,483,648 < -9 x /- 3.4 x with 7 significant digits +/- 1.7 x with 15 significant digits Max Value ,767 2,147,483,647 > 9 x 10 18

Integers Examples: -6728, -67, 0, 78, Positive integers do not have a '+' sign in front of them (but they can) No commas are used in an integer –commas in Java are used to separate items in a list

Primitive Data Types Characters A char stores a single character from the Unicode character set –an ordered list of characters, and each character corresponds to a unique number –uses 16 bits per character, allowing for 65,536 unique characters Character literals are delimited by single quotes: 'a' 'X' '7' ' ' '$' ',' '\n' newline character (we'll discuss later)

Primitive Data Types Booleans Only two valid values –true or false –uses 1 bit for storage Represent any situation that has 2 states –on - off –true - false true and false are reserved words

Expression - a combination of one or more operands and their operators Arithmetic expressions compute numeric results and make use of the arithmetic operators: If either or both operands associated with an arithmetic operator are floating point, the result is a floating point Addition+ Subtraction- Multiplication* Division/ Remainder% Arithmetic Expressions

If both operands to the division operator (/) are integers, the result is an integer (the fractional part is discarded) The remainder, or modulus, operator (%) returns the remainder after dividing the second operand into the first (only works with integer types) 14 / 3 equals? 8 / 12 equals? % 3 equals? 8 % 12 equals? 2 8 Division and Remainder

Unary vs. Binary Operators Unary operators –has only one operand –example: - (negative, not subtraction) -5 Binary operators –has two operands –example: - (subtraction) 5 - 3

Operator Precedence Determines the order in which operators are evaluated: 1.multiplication, division, and remainder 2.addition, subtraction, and string concatenation 3.arithmetic operators with the same precedence are evaluated from left to right Parentheses can be used to force the evaluation order (just like in math)

Operator Precedence What is the order of evaluation in the following expressions? a + b + c + d + e 1432 a + b * c - d / e 3241 a / (b + c) - d % e 2341 a / (b * (c + (d - e))) 4123

Integral Expressions All operands are integers Result is an integer Examples: * x – y / 7 x + 2 * (y – z) + 18

Floating-point Expressions All operands are floating-point numbers Result is a floating-point Examples: 12.8 * 17.5 – x * y / 3.5

Mixed Expressions Operands of different types Examples: / Integer operands yield an integer result Floating-point operands yield a floating-point result If both types of operands are present, the result is a floating-point number –implicit type coercion Precedence rules are followed

Type Conversion (Casting) Used to avoid implicit type coercion Syntax (dataTypeName) expression Expression evaluated first, then type converted to dataTypeName Examples: (int) ( ) = 14 (int) (7.9) + (int)(6.7) = 13

Questions Evaluate These Expressions 1.(5 + 4) % 6 2.(5 + 6) % (double) (13) / 2 4.(double) (13 / 2) 9 % % 3.5 not possible (double) (6) / 2 6.5

The class String String –sequence of zero or more characters –enclosed in double quotation marks –null or empty strings have no characters –numeric strings consist of integers or decimal numbers –length is the number of characters in a string The class String is used to manipulate strings Examples: –"Hello World" –"1234" –"45.67" –""

Strings Every character has a position in the string (starting with 0) "Hello World" The length of the string is the number of characters in it –what's the length of "Hello World"? (count the space)

Parsing Numeric Strings In Java, input from the user comes in the form of a string –we need to know how to get the number values out of the string Numeric String –a string with only integers or decimal numbers –"6723", "-823", "345.76"

Parsing Numeric Strings We will use Scanner and nextInt, next, nextDouble, etc. String to int Integer.parseInt(strExpression) Integer.parseInt("6723")6723 String to float Float.parseFloat(strExpression) Float.parseFloat("345.76") String to double Double.parseDouble(strExpression) Double.parseDouble(" ")

Summary Identifiers –can be composed of any combination of letters, digits, underscore (_), and dollar sign ($) –cannot begin with a digit –Java is case-sensitive Data Types –main integer type: int –main floating-point type: double –others: char, boolean

Arithmetic Operators: If one of the operands is floating-point, the result is a floating-point Can only use % with two integer operands Casting –(int) (54.9) - truncates the floating-point number –(double) (23) - adds a.0 to the integer addition+ subtraction- multiplication* division/ remainder (mod)% Summary

Next Time in CSCI 51 Wednesday –input, variables, increment/decrement, Strings and '+' operator –Remember, you’re responsible for Ch. 2,3