Algorithms in everyday life. Algorithms. Algorithms and Java basics: pseudocode, variables, assignment, and interactive programs

Similar documents
Algorithms and Java basics: pseudocode, variables, assignment, and interactive programs

Algorithms in everyday life. Algorithms. Algorithms and Java basics: pseudocode, variables, assignment, and interactive programs

Algorithms and Java basics: pseudocode, variables, assignment, and interactive programs

Basics of Java Programming variables, assignment, and input

CSC 1051 Algorithms and Data Structures I. Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University

Java I/O and Control Structures

CSC 1051 Algorithms and Data Structures I. Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University

Java I/O and Control Structures Algorithms in everyday life

2: Basics of Java Programming

Improved algorithm. Java code. Control flow and conditionals CSC 1051 Villanova University. Dr Papalaskari 1. Java Programè Algorithm

Java code. Updated program. Control flow and conditionals CSC 1051 Villanova University. Dr Papalaskari 1. Java Programè Algorithm. Improved algorithm

Control flow, conditionals, boolean expressions, block statements, nested statements. Course website:

Lecture 3: Variables and assignment

CSC 1051 Data Structures and Algorithms I

Algorithms and Conditionals

CSC 1051 Data Structures and Algorithms I

CSC 1051 Villanova University. CSC 1051 Data Structures and Algorithms I. Course website:

ECE 122 Engineering Problem Solving with Java

CSC 1051 Data Structures and Algorithms I

CSCI 2010 Principles of Computer Science. Data and Expressions 08/09/2013 CSCI

Chapter. Let's explore some other fundamental programming concepts

Selection Statements and operators

Selection and Repetition Revisited

Data and Expressions. Outline. Data and Expressions 12/18/2010. Let's explore some other fundamental programming concepts. Chapter 2 focuses on:

Selection Statements and operators

Selection and Repetition

Selection and Repetition Revisited

Conditional Statements

Data Conversion & Scanner Class

Iterators and File Input

Computational Expression

Introduction to Arrays

Programming with Java

Tester vs. Controller. Elementary Programming. Learning Outcomes. Compile Time vs. Run Time

Selection and Repetition

Elementary Programming

Entry Point of Execution: the main Method. Elementary Programming. Learning Outcomes. Development Process

H212 Introduction to Software Systems Honors

CONTENTS: Compilation Data and Expressions COMP 202. More on Chapter 2

Data and Variables. Data Types Expressions. String Concatenation Variables Declaration Assignment Shorthand operators. Operators Precedence

CSC 1051 Data Structures and Algorithms I. Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University

JAVA OPERATORS GENERAL

Java Foundations: Introduction to Program Design & Data Structures, 4e John Lewis, Peter DePasquale, Joseph Chase Test Bank: Chapter 2

Object Oriented Programming. Java-Lecture 1

COMP 202 Java in one week

Full file at

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

Using Classes and Objects Chapters 3 Creating Objects Section 3.1 The String Class Section 3.2 The Scanner Class Section 2.6

Chapter 2: Data and Expressions

Building Java Programs. Chapter 2: Primitive Data and Definite Loops

Building Java Programs

Chapter 2: Data and Expressions

CS 112 Introduction to Programming

Admin. CS 112 Introduction to Programming. Recap: Java Static Methods. Recap: Decomposition Example. Recap: Static Method Example

Chapter 2 ELEMENTARY PROGRAMMING

Building Java Programs

Java Bootcamp - Villanova University. CSC 2014 Java Bootcamp. Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University

AP Computer Science A

A variable is a name for a location in memory A variable must be declared

Lesson 02 Data Types and Statements. MIT 11053, Fundamentals of Programming By: S. Sabraz Nawaz Senior Lecturer in MIT Department of MIT FMC, SEUSL

Operators in java Operator operands.

Lecture 6. Assignments. Summary - Variables. Summary Program Parts 1/29/18. Reading: 3.1, 3.2, 3.3, 3.4

COMP 202. Java in one week

COMP Primitive and Class Types. Yi Hong May 14, 2015

Hello World. n Variables store information. n You can think of them like boxes. n They hold values. n The value of a variable is its current contents

Program Fundamentals

Building Java Programs

I/O Streams. program. Standard I/O. File I/O: Setting up streams from files. program. File I/O and Exceptions. Dr. Papalaskari 1

I/O Streams. program. Standard I/O. File I/O: Setting up streams from files. program. File I/O and Exceptions. Dr. Papalaskari 1

Entry Point of Execution: the main Method. Elementary Programming. Compile Time vs. Run Time. Learning Outcomes

Chapter 2. Elementary Programming

Basics of Java Programming

Data Representation Classes, and the Java API

Using Classes and Objects

Lecture 6. Assignments. Java Scanner. User Input 1/29/18. Reading: 2.12, 2.13, 3.1, 3.2, 3.3, 3.4

Chapter 3. Selections

Building Java Programs Chapter 2

Java provides a rich set of operators to manipulate variables. We can divide all the Java operators into the following groups:

Fundamentals of Programming Data Types & Methods

CMSC131. Introduction to your Introduction to Java. Why Java?

Arrays, Part 3: Multidimensional arrays

MODULE 02: BASIC COMPUTATION IN JAVA

Computer Programming, I. Laboratory Manual. Experiment #2. Elementary Programming

Course Outline. Introduction to java

I/O Streams. program. Standard I/O. File I/O: Setting up streams from files. program. File I/O and Exceptions. Dr. Papalaskari 1

AL GHURAIR UNIVERSITY College of Computing. Objectives: Examples: Text-printing program. CSC 209 JAVA I

What we will do today Explain and look at examples of. Programs that examine data. Data types. Topic 4. variables. expressions. assignment statements

CEN 414 Java Programming

Chapter 2 Elementary Programming

Review Chapters 1 to 4. Instructor: Scott Kristjanson CMPT 125/125 SFU Burnaby, Fall 2013

CIS133J. Working with Numbers in Java

Exam 1 Prep. Dr. Demetrios Glinos University of Central Florida. COP3330 Object Oriented Programming

Information Science 1

Introduction to Computer Programming

More Things We Can Do With It! Overview. Circle Calculations. πr 2. π = More operators and expression types More statements

Basic Computation. Chapter 2

Topic 4 Expressions and variables

Building Java Programs Chapter 2. bug. Primitive Data and Definite Loops. Copyright (c) Pearson All rights reserved. Software Flaw.

Building Java Programs Chapter 2

File I/O and Exceptions

Transcription:

Data and Algorithms Algorithms and Java basics: pseudocode, variables, assignment, and interactive programs Algorithms in everyday life CSC 1051 Algorithms and Data Structures I Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website: www.csc.villanova.edu/~map/1051/ Source: http://xkcd.com/627/ Some slides in this presentation are adapted from the slides accompanying: Java Software Solutions by Lewis & Loftus Introduction to Programming in Java: An Interdisciplinary Approach by Robert Sedgewick and Kevin Wayne Algorithm Example: Input-Compute-Output pattern An algorithm is a specific set of instructions for carrying out a procedure or solving a problem, usually with the requirement that the procedure terminate at some point. Specific algorithms sometimes also go by the name method, procedure, or technique. The word "algorithm" is a distortion of al-khwārizmī [named after Muhammad ibn al-khwārizmī], a Persian mathematician who wrote an influential treatise about algebraic methods. Sources: http://mathworld.wolfram.com/algorithm.html and Wikipedia ( http://en.wikipedia.org/wiki/mu%e1%b8%a5ammad_ibn_m%c5%abs%c4%81_al-khw%c4%81rizm%c4%ab ) GPA problem: Write a program that computes and outputs the GPA, given the credits and quality points earned. Pseudocode: describe steps in simple, unambiguous language Algorithms Dr Papalaskari Variables: qp, credits, gpa Algorithm: 1. qp = input from user 2. credits = input from user 3. gpa = qp / credits 4. Print gpa 1

Java Program è Algorithm Variables: qp, credits, gpa Algorithm: è 1. qp = input from user 2. credits = input from user 3. gpa = qp / credits 4. Print gpa Next: A closer look at variables & input in Java //************************************************ // GPA.java Author: Joyce/Papalaskari // Demonstrates the use of Scanner. ************************************************** import java.util.scanner; public class GPA { public static void main (String[] args) //--------------------------------------------- // Inputs quality points and credits and calcu //--------------------------------------------- { double qp, credits, gpa; } } // input qp System.out.print ("Enter Quality Points > ") qp = scan.nextint(); // input credits System.out.print ("Enter Credits > "); credits = scan.nextint(); // calculate GPA gpa = qp / credits; // print GPA System.out.println ("\n\tgpa: " + gpa); Programs can use data obtained during runtime, eg: int age; String name; output method System.out.print( Enter your name ); name = scan.next(); input method System.out.print( Enter your age ); age = scan.nextint(); ); In Java, you first need to create a Scanner object int age; String name; Scanner object System.out.print( Enter your name ); name = scan.next(); input method (for String) System.out.print( Enter your age ); age = scan.nextint(); input method (for int) The Scanner class is part of the java.util class library, and must be imported into a program in order to be used The import statement goes at beginning of your program (above class definition) import java.util.scanner; Dr Papalaskari 2

Summary: 1. import the Scanner class, i.e., add this before the class definition of your program: import java.util.scanner; 2. In your main method, before doing any input, declare and initialize the Scanner object 3. Input away! System.out.print( Enter your name ); name = scan.next(); System.out.print( Enter your age ); age = scan.nextint();string import java.util.scanner; public class TellMeAboutYou { public static void main(string[] args) { int age; String name; System.out.print("Enter your name"); name = scan.next(); System.out.print("Enter your age"); age = scan.nextint(); Example Enter your name: Fiona Enter your age: 17 Pleased to meet you, Fiona! Your age in dog years is 178.5 System.out.println("Pleased to meet you, " + name + "!"); System.out.println("Your age in dog years: " + age*10.5); } Inspired by: http://www.onlineconversion.com/dogyears.htm } name = scan.nextline(); Scanner methods nextint() à input an int nextdouble() à input a double nextline() à input a String (until end of line) next() à input a String token (one word or other delimited chunk of text) White space (space, tab, new line) are used to separate input tokens Variables & Assignment Variable. A name that refers to a value of declared type. Literal. Programming language representation of a value. Assignment statement. Associates a value with a variable. type variable OVERVIEW int age; declaration statement age = 18; assignment statement double x = 3.2, y = -0.80; literal combined declaration and assignment statement final int INCHES_PER_FOOT = 12; constant declaration (always initializes value) String name = scan.nextline(); input from user Dr Papalaskari 3

Variable Declaration Some types of data in Java A variable is a name for a location of data in memory A variable must be declared by specifying the variable's name and the type of information that it will hold data type variable name int age; double x, y; String name; type char String int double boolean set of values characters sequences of characters integers floating-point numbers truth values literal values 'A' '@' "Hello World" jackie123" 17 12345 3.1415 6.022e23 true false operations compare concatenate add, subtract, multiply, divide add, subtract, multiply, divide and, or, not Assignment Statement Changes the value of a variable The assignment operator is the = sign total = 55 - discount; The expression on the right is evaluated and the result is stored in the variable on the left Combined declaration and assignment A variable can be given an initial value in the declaration double x = 3.2, y = -0.80; String name = scan.nextline(); Dr Papalaskari 4

Combined declaration and assignment A variable can be given an initial value in the declaration - a new value can be assigned later: double x = 3.2, y = -0.80; String name = scan.nextline(); age = 19; x = x + 0.5; name = scan.nextline(); Combined declaration and assignment Note: CANNOT declare twice A variable can be given an initial value in the declaration - a new value can be assigned later: double x = 3.2, y = -0.80; String name = scan.nextline(); int age = 19; Error: declaring variable age again Example Example Computing the total number of seconds int hours = 1; int minutes = 25; int seconds = 31; int totalminutes = (hours * 60) + minutes; int totalseconds = (totalminutes * 60) + seconds; Computing the total number of seconds Another alternative: int hours = 1; int minutes = 25; int seconds = 31; int totalseconds = (hours * 3600) + (minutes * 60) + seconds; Dr Papalaskari 5

Arithmetic Operators Division and Remainder Addition Subtraction Multiplication Division Remainder + - * / % If both operands are integers (e.g., type int), the division result is an integer (the fractional part is discarded): Integer Division: Remainder: 14 / 3 143 / 60 14 % 3 143 % 60 If either or both operands used by an arithmetic operator are floating point (e.g., type double), then the result is a floating point 20 / 16 8 / 12 20 % 16 8 % 12 Example Operator Precedence Extracting hours, minutes seconds from total number of seconds int totalseconds = 7222; int hours = totalseconds/3600; int remainingseconds = totalseconds%3600; int minutes = remainingseconds/60; int seconds = remainingseconds%60; example: What is the order of evaluation of sub-expressions? 1. Multiplication, division, remainder 2. addition, subtraction, string concatenation Operators with the same precedence: left àright Use parentheses to override default order more examples: result = total + count / max offset; a + b + c + d + e a / (b + c) - d % e a b / c + d * e a / (b * (c + (d - e))) Dr Papalaskari 6

Tracing the values of variables after each statement. Trace: A table of variable values after each statement. double x; String name = "Sherlock"; age = 19; age 18 19 x? name Sherlock double x; String name = "Sherlock"; age = 19; age x name 18 18 undefined 18 undefined "Sherlock" 19 undefined "Sherlock" x = 0.5; 0.5 x = 0.5; 19 0.5 "Sherlock" x = x + 0.2; 0.7 x = x + 2; 19 0.7 "Sherlock" name = name + "Holmes"; SherlockHolmes name = name + "Holmes"; 19 0.7 "SherlockHolmes" Final values: Trace: TRY THIS: int a, b; a = 3; b = 4; int c = a; a = b; b = 5; b = c; Final values: a b c Assignment operator Assignment ( = ) copies the value of the right side into the memory location associated with the left side It does not set up an ongoing equivalence int davesage = 21; int suesage = davesage; davesage = 22; System.out.println (davesage); // prints 22 System.out.println (suesage); // prints 21 Dr Papalaskari 7

Increment and Decrement The increment operator (++) adds one to its operand The decrement operator (--) subtracts one from its operand The statement count++; is functionally equivalent to count = count + 1; CONSTANTS: like variables, but value cannot change declare using final modifier: final int INCHES_PER_FOOT = 12; final double LBS_PER_KG = 2.2; Convention: Use UPPER_CASE identifiers Variables & Assignment Variable. A name that refers to a value of declared type. Literal. Programming language representation of a value. Assignment statement. Associates a value with a variable. type variable SUMMARY int age; declaration statement age = 18; assignment statement double x = 3.2, y = -0.80; literal combined declaration and assignment statement final int INCHES_PER_FOOT = 12; constant declaration (always initializes value) String name = scan.nextline(); input from user Dr Papalaskari 8