0% found this document useful (0 votes)
72 views

Algorithms and Java Basics: Pseudocode, Variables, Assignment, and Interactive Programs

The document discusses algorithms and Java basics such as pseudocode, variables, assignment, and interactive programs. It provides an example algorithm for calculating GPA that uses pseudocode to describe the steps before presenting the Java code. It also discusses how interactive programs in Java can take user input using the Scanner class, and covers variable declaration, data types in Java, and assignment statements.

Uploaded by

Zed Deguzman
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
72 views

Algorithms and Java Basics: Pseudocode, Variables, Assignment, and Interactive Programs

The document discusses algorithms and Java basics such as pseudocode, variables, assignment, and interactive programs. It provides an example algorithm for calculating GPA that uses pseudocode to describe the steps before presenting the Java code. It also discusses how interactive programs in Java can take user input using the Scanner class, and covers variable declaration, data types in Java, and assignment statements.

Uploaded by

Zed Deguzman
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 32

Algorithms and Java basics:

pseudocode, variables, assignment,


and interactive programs
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/
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

CSC 1051 M.A. Papalaskari, Villanova University


Algorithms in
everyday life

Source: http://xkcd.com/627/

CSC 1051 M.A. Papalaskari, Villanova University


Algorithms

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 )

CSC 1051 M.A. Papalaskari, Villanova University


Algorithm Example:
Input-Compute-Output pattern
GPA problem: Write a program that computes and outputs
the GPA, given the credits and quality points earned.

Variables: qp, credits, gpa


Pseudocode: describe steps in
simple, unambiguous language

Algorithm:

1. qp = input from user


2. credits = input from user
3. gpa = qp / credits
4. Print gpa
CSC 1051 M.A. Papalaskari, Villanova University
//****************************************************
// GPA.java Author: Joyce/Papalaskari
// Demonstrates the use of Scanner.

Java Program è
******************************************************
import java.util.Scanner;

public class GPA


{
public static void main (String[] args)

Algorithm //-------------------------------------------------
// Inputs quality points and credits and calculate
//-------------------------------------------------
{
è

double qp, credits, gpa;


Scanner scan = new Scanner(System.in);
Variables: qp, credits, gpa
// input qp
System.out.print ("Enter Quality Points > ");
Algorithm: qp = scan.nextInt();

// input credits
1. qp = input from user System.out.print ("Enter Credits > ");
2. credits = input from user credits = scan.nextInt();

3. gpa = qp / credits // calculate GPA


4. Print gpa gpa = qp / credits;

// print GPA
System.out.println ("\n\tGPA: " + gpa);
}
}
CSC 1051 M.A. Papalaskari, Villanova University
Next: A closer look at variables & input in Java
Interactive Programs – Input/Output
•  Programs can use data obtained during runtime, eg:
int age;

String name;

Scanner scan = new Scanner(System.in);


output method
System.out.print(“Enter your name”);
name = scan.nextLine();
input method
System.out.print(“Enter your age”);
age = scan.nextInt();
);

CSC 1051 M.A. Papalaskari, Villanova University


Interactive Programs – Input/Output
•  In Java, you first need to create a Scanner object
int age;

String name;
Scanner object

Scanner scan = new Scanner(System.in);

System.out.print(“Enter your name”);


name = scan.nextLine();
input method (for String)
System.out.print(“Enter your age”);
age = scan.nextInt();
input method (for int)

CSC 1051 M.A. Papalaskari, Villanova University


Interactive Programs – Input/Output
•  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;

CSC 1051 M.A. Papalaskari, Villanova University


Interactive Programs – Input/Output
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
Scanner scan = new Scanner(System.in);
3.  Input away!
System.out.print(“Enter your name”);
name = scan.nextLine();

System.out.print(“Enter your age”);


age = scan.nextInt();StringCSC 1051 M.A. Papalaskari, Villanova University
Interactive Programs – Input/Output
import java.util.Scanner; Example

public class TellMeAboutYou


{
public static void main(String[] args) Enter your name: Fiona
{ Enter your age: 17
int age; Pleased to meet you, Fiona!
String name; Your age in dog years is 178.5

Scanner scan = new Scanner(System.in);

System.out.print("Enter your name");


name = scan.nextLine();

System.out.print("Enter your age");


age = scan.nextInt();

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(); CSC 1051 M.A. Papalaskari, Villanova University
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

CSC 1051 M.A. Papalaskari, Villanova University


Variables & Assignment OVERVIEW
• 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
int age; declaration statement
literal
age = 18; assignment statement
double x = 3.2, y = -0.80;
combined declaration and assignment statement
final int INCHES_PER_FOOT = 12;
constant declaration (always initializes value)
String name = scan.nextLine();
input from user
CSC 1051 M.A. Papalaskari, Villanova University
Variable Declaration

•  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;

CSC 1051 M.A. Papalaskari, Villanova University


Some types of data in Java

type set of values literal values operations


'A'
char characters '@'
compare
sequences of "Hello World"
String concatenate
characters ”jackie123"

17 add, subtract,
int integers 12345 multiply, divide
floating-point 3.1415 add, subtract,
double numbers 6.022e23 multiply, divide
true
boolean truth values false
and, or, not

CSC 1051 M.A. Papalaskari, Villanova University


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

CSC 1051 M.A. Papalaskari, Villanova University


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();


CSC 1051 M.A. Papalaskari, Villanova University


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();

CSC 1051 M.A. Papalaskari, Villanova University


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

CSC 1051 M.A. Papalaskari, Villanova University


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;

CSC 1051 M.A. Papalaskari, Villanova University


Example

Computing the total number of seconds


Another alternative:
int hours = 1;

int minutes = 25;
int seconds = 31;

int totalSeconds =
(hours * 3600) + (minutes * 60) + seconds;

CSC 1051 M.A. Papalaskari, Villanova University


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

CSC 1051 M.A. Papalaskari, Villanova University


Division and Remainder
•  If both operands are integers (e.g., type int), the
division result is an integer (the fractional part is
discarded):
% gives the remainder of the division:

14 / 3 14 % 3

143 / 60 143 % 60

20 / 16 20 % 16

8 / 12 8 % 12

CSC 1051 M.A. Papalaskari, Villanova University


Example

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;

CSC 1051 M.A. Papalaskari, Villanova University


Operator Precedence
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

a – b / c + d * e a / (b * (c + (d - e)))
CSC 1051 M.A. Papalaskari, Villanova University
Tracing the values of variables after each statement.

age
int age = 18;
 18
x
double x;
?

String name = "Sherlock"; name



 “Sherlock”
age = 19;
19

x = 0.5;
0.5

x = x + 0.2; 0.7

name = name + "Holmes"; “SherlockHolmes”

CSC 1051 M.A. Papalaskari, Villanova University


Trace: A table of variable values after each statement.

age x name
________________________________________
int age = 18;
 18

double x; 18 undefined

String name = "Sherlock"; 18 undefined "Sherlock"



age = 19; 19 undefined "Sherlock"

x = 0.5; 19 0.5 "Sherlock"

x = x + 2; 19  0.7 "Sherlock"

name = name + "Holmes"; 19 0.7 "SherlockHolmes"

Final values:
CSC 1051 M.A. Papalaskari, Villanova University
Trace: TRY THIS:

int a, b;


a = 3;

b = 4;

a = b;

double pi = 3.14;

Final values:

a b pi
CSC 1051 M.A. Papalaskari, Villanova University
Trace: TRY THIS:
int a, b;


a = 3;

b = 4;

int c = a;

a = b;

b = 5;

b = c;

Final values:

a b c
CSC 1051 M.A. Papalaskari, Villanova University
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

CSC 1051 M.A. Papalaskari, Villanova University


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;

CSC 1051 M.A. Papalaskari, Villanova University


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


CSC 1051 M.A. Papalaskari, Villanova University
Variables & Assignment SUMMARY
• 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
int age; declaration statement
literal
age = 18; assignment statement
double x = 3.2, y = -0.80;
combined declaration and assignment statement
final int INCHES_PER_FOOT = 12;
constant declaration (always initializes value)
String name = scan.nextLine();
input from user
CSC 1051 M.A. Papalaskari, Villanova University

You might also like