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 and Java basics: pseudocode, variables, assignment, and interactive programs

Algorithms in everyday life. Algorithms. 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

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

Java I/O and Control Structures

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:

Algorithms and Conditionals

Lecture 3: Variables and assignment

CSC 1051 Data Structures and Algorithms I

ECE 122 Engineering Problem Solving with Java

CSC 1051 Data Structures and Algorithms I

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

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

CSC 1051 Data Structures and Algorithms I

Chapter. Let's explore some other fundamental programming concepts

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

Selection and Repetition Revisited

Selection Statements and operators

Conditional Statements

Selection Statements and operators

Selection and Repetition

Computational Expression

Selection and Repetition Revisited

Iterators and File Input

Data Conversion & Scanner Class

Full file at

Programming with Java

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

Introduction to Arrays

H212 Introduction to Software Systems Honors

JAVA OPERATORS GENERAL

Selection and Repetition

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

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

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

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

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

Chapter 2: Data and Expressions

Elementary Programming

Building Java Programs

CS 112 Introduction to Programming

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

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

Building Java Programs

AP Computer Science A

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

COMP 202 Java in one week

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.

Object Oriented Programming. Java-Lecture 1

Building Java Programs Chapter 2

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

Chapter 2: Data and Expressions

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

Building Java Programs

Basics of Java Programming

Information Science 1

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

Chapter 2 ELEMENTARY PROGRAMMING

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

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

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

Building Java Programs Chapter 2

Arrays, Part 3: Multidimensional arrays

Program Fundamentals

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

MODULE 02: BASIC COMPUTATION IN JAVA

Course Outline. Introduction to java

CIS133J. Working with Numbers in Java

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

Chapter 2 Elementary Programming

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

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

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

Topic 4 Expressions and variables

COMP 202. Java in one week

Data Representation Classes, and the Java API

Basic operators, Arithmetic, Relational, Bitwise, Logical, Assignment, Conditional operators. JAVA Standard Edition

Chapter 2. Elementary Programming

DATA TYPES AND EXPRESSIONS

CMPT 125: Lecture 3 Data and Expressions

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

CS313D: ADVANCED PROGRAMMING LANGUAGE

Using Classes and Objects

Expressions and Data Types CSC 121 Spring 2015 Howard Rosenthal

Chapter 3. Selections

4 WORKING WITH DATA TYPES AND OPERATIONS

Introduction to Java Chapters 1 and 2 The Java Language Section 1.1 Data & Expressions Sections

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

Module 2 - Part 2 DATA TYPES AND EXPRESSIONS 1/15/19 CSE 1321 MODULE 2 1

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

12/22/11. Java How to Program, 9/e. Help you get started with Eclipse and NetBeans integrated development environments.

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. ************************************************** 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) è public class GPA public static void main (Stri //--------------------------- Dr Papalaskari 2

Summary: 1. import the Scanner class, i.e., add this before the class definition of your program: 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 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: 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 int age = 18; 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: int age = 18; 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: int age = 18; double x = 3.2, y = -0.80; String name = scan.nextline(); int age = 19; Error: declaring variable age again Tracing the values of variables after each statement. Trace: TRY THIS: int age = 18; double x; String name = "Sherlock"; age = 19; x = 0.5; x = x + 0.2; name = name + "Holmes"; age 18 19 x? 0.5 0.7 name Sherlock SherlockHolmes int a, b; a = 3; b = 4; int c = a; a = b; b = 5; b = c; Final values: a b c Dr Papalaskari 5

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 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 Arithmetic Operators Addition Subtraction Multiplication Division Remainder + - * / % If either or both operands used by an arithmetic operator are floating point (e.g., type double), then the result is a floating point Dr Papalaskari 6

Example int feet = 25; int inches = feet * INCHES_PER_FOOT; Division and Remainder If both operands are integers (e.g., type int), the division result is an integer (the fractional part is discarded): Integer Division: Remainder: int seconds = 143; int minutes = seconds / 60; int remainingseconds = seconds % 60; 14 / 3 143 / 60 20 / 16 8 / 12 14 % 3 143 % 60 20 % 16 8 % 12 Operator Precedence Increment and Decrement example: result = total + count / max offset; 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: a + b + c + d + e a / (b + c) - d % e 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; a b / c + d * e a / (b * (c + (d - e))) Dr Papalaskari 7

Review 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 //************************************************ // GPA.java Author: Joyce/Papalaskari // Demonstrates the use of 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); Writing an algorithm in pseudocode List the variables used. List the steps for solving the problem, in order. Try to be brief and unambiguous; use Java expressions only when it is simpler to specify a step in java than in English. Variables: qp, credits, gpa Algorithm: 1. qp = input from user 2. credits = input from user 3. gpa = qp / credits 4. Print gpa Example Write an algorithm to solve the following problem: Input values representing a time duration in hours, minutes, and seconds and then calculate and output the equivalent total number of seconds. Example Write an algorithm to solve the following problem: Input a value representing a number of seconds, then calculate and output the equivalent amount of time as a combination of hours, minutes, and seconds. Dr Papalaskari 8