7.17: Here is a typical Java solution:

Size: px
Start display at page:

Download "7.17: Here is a typical Java solution:"

Transcription

1 7.17: Here is a typical Java solution: A job queue (of an operating system) is implemented as a two-way linked list. New items are added to the rear of the queue and old items are removed from the front of the queue. import java.io.*; import java.util.*; class JobRecord public int public JobRecord public JobRecord class JobRecord class JobQueue data members private JobRecord private JobRecord jobnumber; next; previous; front; rear; accessor methods public JobRecord getfront () return front; public JobRecord getrear () return rear; public void setfront (JobRecord newjob) front = newjob; public void setrear (JobRecord newjob) rear = newjob; methods public void initializejobqueue () initializejobqueue initializes front and rear pointers of queue setfront (null); setrear (null); initializejobqueue public void addjobtoqueue (int jobnumber) addjobtoqueue adds job to queue JobRecord newjob = new JobRecord ();

2 newjob.jobnumber = jobnumber; newjob.previous = rear; newjob.next = null; if (getfront () == null) setfront (newjob); else getrear ().next = newjob; setrear (newjob); addjobtoqueue public void removejobfromqueue () removejobfromqueue removes first item in queue setfront (getfront ().next); if (getfront () == null) setrear (null); else getfront ().previous = null; removejobfromqueue public void printjobqueue () printjobqueue prints items in job queue JobRecord temp; temp = getfront (); System.out.println ("The queue contains:"); while (temp!= null) System.out.println (temp.jobnumber); temp = temp.next; printjobqueue class JobQueue class JobQueueApp public static void main (String args[])

3 try int j; Scanner in = new Scanner(System.in); JobQueue jq = new JobQueue (); jq.initializejobqueue (); System.out.println ("Enter Job Number (non-positive to quit):"); j = in.nextint(); while (j > 0) jq.addjobtoqueue (j); System.out.println ("Job " + j + " entered."); System.out.println ("Enter Job Number (non-positive to quit):"); j = in.nextint(); jq.printjobqueue (); System.out.println ("Will remove top job from queue..."); jq.removejobfromqueue (); jq.printjobqueue (); catch (Exception e) System.out.println ("***** Error: JobQueueApp.main () *****"); System.out.println ("\t" + e); main class JobQueueApp

4 12.8: The following assumptions are made: there are no service charges, no ATM withdrawals. The only transactions that are allowed are checks and deposits. All checks bear a number. The user has a pile of canceled checks, and a pile of deposit slips. STATEMENT statement_details CHECKS check_details verify_ statement deposit_details DEPOSITS Figure Data flow diagram for determining whether bank statement is correct. Sort the checks in check-number order. For each check, find an entry in the bank statement that matches the check number. If no such entry is found, the statement is in error. Otherwise, mark that entry, and verify that the amount for that entry is the same as that on the check. If the amounts do not match, the statement is in error. Sort the deposit slips according to date of deposit. For each deposit slip, find an entry in the statement that matches the date of deposit and the amount of the deposit. Mark that entry. If no such entry is found, the statement is in error. After all checks and deposits have been processed, verify that all items on the statement have been marked. If not, the statement is in error. Add the amount of all deposits to the beginning balance, and from that sum subtract the total of all the checks. If the result of that subtraction is not equal to the ending balance then the statement is in error, otherwise it is correct. 12.9: See Figure : The FSM is shown in Figure Set of states is S0, S1, S2, S3, S4 Set of inputs is +,,., 0, 1 Initial state is S0 Set of final states is S4

5 Figure Finite state machine for accepting fixed-point binary numbers.

6 13.20: In this solution, subheadings are underlined. An extended scenario for the use case of Problem (Figure 11.9) appears in Figure Read the bank statement. 2. Read and sort the checks in check-number order. For each check, there is an entry found marked in the bank statement that matches the check number, and the amount for that entry is the same as that on the check. Mark the entry. 3. Read and sort the deposit slips according to date of deposit. For each deposit slip, there is an entry found in the statement that matches the date of deposit and the amount of the deposit. Mark the entry. 4. All items on the statement have been marked. 5. Add the amount of all deposits to the beginning balance, and from that sum subtract the total of all the checks. The result is equal to the ending balance. A. For at least one check, there is an entry in the bank statement that does not match the check number. B. For at least one check, there is an entry in the bank statement that matches the check number, but the amount for that entry is not the same as that on the check. C. For at least one deposit slip, there is an entry in the statement that does not match the date of the deposit. D. For at least one deposit slip, there is an entry in the statement that does not match the amount of the deposit. E. After all checks and deposits have been processed, one or more items on the statement have not been marked. F. Adding the total of all deposits to the beginning balance and then subtracting the total of all the checks does not yield the ending balance. Figure An extended scenario for the software product to determine whether a bank statement is correct. Candidate entity classes are determined using noun extraction. Description of software product in a single paragraph: A software product for determining whether a bank statement is correct is to be constructed. The data to be used are: the bank statement including the balance at the beginning of the month, the check and deposit entries and the balance at the end of the month; the number, date, and amount of each check; and the date and amount of each deposit.

7 Identify the nouns: A software product for determining whether a bank statement is correct is to be constructed. The data to be used are: the bank statement including the balance at the beginning of the month, the check and deposit entries and the balance at the end of the month; the number, date, and amount of each check; and the date and amount of each deposit.. With regard to the nouns in the previous paragraph, product, balance, data, and month are abstract nouns and are therefore unlikely to be classes. Also, number, date, and amount relate to the checks, date and amount relate to the deposits, and balance relates to the bank statement. This leaves Statement, Entry (Check Entry and Deposit Entry ), Check, and Deposit Slip as candidate entity classes. The initial class diagram is shown in Figure The initial statechart is shown in Figure The boundary class is Screen. The control class is Determine Correctness. Figure The initial class diagram for the software product to determine whether a bank statement is correct.

8 Matching Entries Read the bank statement Read. and sort the checks in check-number order Match checks with check statement entries Read and sort the deposit slips in date of deposit order. Match deposit slips with deposit statement entries Determining Whether Statement is Correct Determine whether the statement balances. Finishing Report whether the statement balances. Figure The initial statechart of the software product to determine whether a bank statement is correct. Statement Entry Account Holder Screen Determine Correctness Check Entry Deposit Entry Check Deposit Slip Figure The class diagram showing the classes that realize the use case of Figure 11.9.

9 The class diagram for the use case of Figure 11.9 (the only use case) is shown in Figure The communication diagram is shown in Figure 13.61, the flow of events in Figure 13.62, and the equivalent sequence diagram in Figure There is only one use case (Figure 11.9), so the final class diagram is the class diagram of Figure : Create entry 10: Find check match 16: Find deposit match 3: Create statement 9: Find check match 15: Find deposit match 19: Get balances :Statement 5: Return entry 11: Return matched 17: Return matched :Entry 1: Supply bank statement, check and deposit details 2: Transfer details 6: Return statement 12: Return matched 18: Return matched 20: Return balances Account Holder 22: Display confirmation of correctness :Screen 21: Send confirmation of correctness :Determine Correctness :Check Entry :Deposit Entry 8: Return check 7: Create check 14: Return deposit slip 13: Create deposit slip :Check :Deposit Slip Figure A communication diagram of the realization of the normal scenario of Figure of the use case of the software product to determine whether a bank statement is correct. The account holder supplies the bank statement, check and deposit slip details (1, 2). The product stores the statement details (3, 4). It then stores the check details (7, 8). For each check, it finds a check entry that matches the number and the amount (9 12). The product stores the deposit slip details (13, 14). For each deposit slip, it finds a deposit entry that matches the date and amount ( 15 18). The product now gets the beginning and end balances of the statement (19, 20), adds the amount of all deposits to the beginning balance, and from that sum subtracts the total of all the checks. The result is equal to the ending balance. The product displays a confirmation of correctness to the account holder (21, 22). Figure The flow of events of the realization of the scenario of Figure of the use case of the software product to determine whether a bank statement is correct.

10 Account : Screen : Determine : Statement Holder Correctness 1: Supply bank statement, check and deposit details 2: Transfer details 3: Create statement 4: Create entry : Entry : Check : Deposit Slip 6: Return entry 5: Return entry 7: Create check 8: Return check 9: Find check match 12:Return matched 10: Find check match 11: Return matched 13: Create deposit slip 14: Return deposit slip 15: Find deposit match 18: Return matched 19: Get balances 16: Find deposit match 17: Return matched 20: Return balances 22: Display confirmation of correctness 21: Send confirmation of correctness Figure A sequence diagram equivalent to the communication diagram of Figure The flow of events is therefore as shown in Figure

11 14.14: The final class diagram is shown in Figure Screen +getnumber() : string +getamount() : decimal +getdate() : Date +displayresult(in result : bool) : void Statement -startingbalance : decimal -endingbalance : decimal +getstartingbalance() : decimal +getendingbalance() : decimal +addentry(in entry : Entry ) : void +findmatch(in check : Check ) : bool +findmatch(in deposit : DepositSlip ) : bool 1 * DetermineCorrectness +determinecorrectness() : bool Entry -entrydate : Date -entryamount : decimal +match(in entry : Entry ) : bool CheckEntry -checknumber : string +getnumber() : string +match(in entry : Entry ) : bool Check -checknumber : string -checkdate : Date -checkamount : decimal +getchecknumber() : string +getdate() : Date +getamount() : decimal DepositEntry +match(in entry : Entry ) : bool DepositSlip -depositdate : Date -depositamount : decimal +getdate() : Date +getamount() : decimal Figure Final class diagram for the program to balance a checkbook. The detailed design of method determinecorrectness appears in Figure

12 Boolean determinecorrectness (void) get statement details and create statements get check details and create checks sort the checks by checknumber; for each check find an entry in the bank statement that matches checknumber; if (no such entry is found) return false; else mark that entry; verify that the amount for that entry is the same as that on the check; if (checkamount does not match) return false; get deposit slip details and create deposit slips sort the deposit slips by depositdate; for each deposit slip find an entry in bank statement that matches depositdate and depositamount; if (no such entry is found) return false; else mark that entry; verify that the amount for that entry is the same as that on the deposit slip; if (depositamount does not match) return false; if (all items on the statement have not been marked) return false; if (statement.startingbalance + sum (depositamount) sum (checkamount) == statement.endingbalance) return true; else return false; Figure The detailed design of method determinecorrectness.

Recitation: Loop Jul 7, 2008

Recitation: Loop Jul 7, 2008 Nested Loop Recitation: Loop Jul 7, 2008 1. What is the output of the following program? Use pen and paper only. The output is: ****** ***** **** *** ** * 2. Test this program in your computer 3. Use "for

More information

Input from Files. Buffered Reader

Input from Files. Buffered Reader Input from Files Buffered Reader Input from files is always text. You can convert it to ints using Integer.parseInt() We use BufferedReaders to minimize the number of reads to the file. The Buffer reads

More information

Storing Data in Objects

Storing Data in Objects Storing Data in Objects Rob Miles Department of Computer Science 28d 08120 Programming 2 Objects and Items I have said for some time that you use objects to represent things in your problem Objects equate

More information

Java Coding 3. Over & over again!

Java Coding 3. Over & over again! Java Coding 3 Over & over again! Repetition Java repetition statements while (condition) statement; do statement; while (condition); where for ( init; condition; update) statement; statement is any Java

More information

Example Program. public class ComputeArea {

Example Program. public class ComputeArea { COMMENTS While most people think of computer programs as a tool for telling computers what to do, programs are actually much more than that. Computer programs are written in human readable language for

More information

COMP 202 Java in one week

COMP 202 Java in one week CONTENTS: Basics of Programming Variables and Assignment Data Types: int, float, (string) Example: Implementing a calculator COMP 202 Java in one week The Java Programming Language A programming language

More information

1 Short Answer (10 Points Each)

1 Short Answer (10 Points Each) 1 Short Answer (10 Points Each) 1. For the following one-dimensional array, show the final array state after each pass of the three sorting algorithms. That is, after each iteration of the outside loop

More information

Linked Lists. private int num; // payload for the node private Node next; // pointer to the next node in the list }

Linked Lists. private int num; // payload for the node private Node next; // pointer to the next node in the list } Linked Lists Since a variable referencing an object just holds the address of the object in memory, we can link multiple objects together to form dynamic lists or other structures. In our case we will

More information

COMP 202. Java in one week

COMP 202. Java in one week COMP 202 CONTENTS: Basics of Programming Variables and Assignment Data Types: int, float, (string) Example: Implementing a calculator Java in one week The Java Programming Language A programming language

More information

COMP-202 Unit 8: Defining Your Own Classes. CONTENTS: Class Definitions Attributes Methods and Constructors Access Modifiers and Encapsulation

COMP-202 Unit 8: Defining Your Own Classes. CONTENTS: Class Definitions Attributes Methods and Constructors Access Modifiers and Encapsulation COMP-202 Unit 8: Defining Your Own Classes CONTENTS: Class Definitions Attributes Methods and Constructors Access Modifiers and Encapsulation Defining Our Own Classes (1) So far, we have been creating

More information

Quarter 1 Practice Exam

Quarter 1 Practice Exam University of Chicago Laboratory Schools Advanced Placement Computer Science Quarter 1 Practice Exam Baker Franke 2005 APCS - 12/10/08 :: 1 of 8 1.) (10 percent) Write a segment of code that will produce

More information

BloomBank Financial Software Design

BloomBank Financial Software Design BloomBank Financial Software Design CIS 3023 Project 6 Due date: Report on project classes and methods - July 27 th, 200 (Tue) Complete implementation - August 3 rd, 200 (Tue) Problem Statement: You work

More information

Question 1 [20 points]

Question 1 [20 points] Question 1 [20 points] Explain following features of Eclipse IDE. Provide a very short example for each. a) Assume a class Student that represents a student of ECE department at UPRM. Give two different

More information

1. An operation in which an overall value is computed incrementally, often using a loop.

1. An operation in which an overall value is computed incrementally, often using a loop. Practice Exam 2 Part I: Vocabulary (10 points) Write the terms defined by the statements below. 1. An operation in which an overall value is computed incrementally, often using a loop. 2. The < (less than)

More information

An Activation Record for Simple Subprograms. Activation Record for a Language with Stack-Dynamic Local Variables

An Activation Record for Simple Subprograms. Activation Record for a Language with Stack-Dynamic Local Variables Activation Records The storage (for formals, local variables, function results etc.) needed for execution of a subprogram is organized as an activation record. An Activation Record for Simple Subprograms.

More information

Lab1 Solution. Lab2 Solution. MathTrick.java. CoinFlip.java

Lab1 Solution. Lab2 Solution. MathTrick.java. CoinFlip.java Lab1 Solution MathTrick.java /** * MathTrick Lab 1 * * @version 8/25/11 * Completion time: 10-15 minutes public class MathTrick public static void main(string [] args) int num = 34; //Get a positive integer

More information

Assignment 8B SOLUTIONS

Assignment 8B SOLUTIONS CSIS 10A Assignment 8B SOLUTIONS Read: Chapter 8 Choose and complete any 10 points from the problems below, which are all included in the download file on the website. Use BlueJ to complete the assignment,

More information

Lectures 3-1, 3-2. Control Structures. Control Structures, Shimon Schocken IDC Herzliya, slide 1

Lectures 3-1, 3-2. Control Structures. Control Structures, Shimon Schocken IDC Herzliya,  slide 1 Introduction to Computer Science Shimon Schocken IDC Herzliya Lectures 3-1, 3-2 Control Structures Control Structures, Shimon Schocken IDC Herzliya, www.intro2cs.com slide 1 Shorthand operators (increment

More information

Five EASY Steps to Switch to

Five EASY Steps to Switch to Five EASY Steps to Switch to Peoples Bank & Trust Company It s easy to switch your accounts to Peoples Bank & Trust Company because we ll help. We ll provide the forms and a check list of simple things

More information

Controls Structure for Repetition

Controls Structure for Repetition Controls Structure for Repetition So far we have looked at the if statement, a control structure that allows us to execute different pieces of code based on certain conditions. However, the true power

More information

HALF-YEARLY EXAMINATIONS FEBRUARY

HALF-YEARLY EXAMINATIONS FEBRUARY HALF-YEARLY EXAMINATIONS FEBRUARY 2016 Subject: Computing Form: 4 Time: 1½ hrs MARKING SCHEME Computing Form 4 Half Yearly Exams 2016 Page 1 Section A Answer ALL questions. Each questions carries 5 marks.

More information

CSE115 Introduction to Computer Science I Coding Exercise #7 Retrospective Fall 2017

CSE115 Introduction to Computer Science I Coding Exercise #7 Retrospective Fall 2017 This week the main activity was a quiz activity, with a structure similar to our Friday lecture activities. The retrospective for the quiz is in Quiz-07- retrospective.pdf This retrospective explores the

More information

Queue with Array Implementation

Queue with Array Implementation Queue with Array Implementation SCSJ2013 Data Structures & Algorithms Nor Bahiah Hj Ahmad & Dayang Norhayati A. Jawawi Faculty of Computing Objectives Queue concepts and applications. Queue structure and

More information

Chapter. Focus of the Course. Object-Oriented Software Development. program design, implementation, and testing

Chapter. Focus of the Course. Object-Oriented Software Development. program design, implementation, and testing Introduction 1 Chapter 5 TH EDITION Lewis & Loftus java Software Solutions Foundations of Program Design 2007 Pearson Addison-Wesley. All rights reserved Focus of the Course Object-Oriented Software Development

More information

2 rd class Department of Programming. OOP with Java Programming

2 rd class Department of Programming. OOP with Java Programming 1. Structured Programming and Object-Oriented Programming During the 1970s and into the 80s, the primary software engineering methodology was structured programming. The structured programming approach

More information

Give one example where you might wish to use a three dimensional array

Give one example where you might wish to use a three dimensional array CS 110: INTRODUCTION TO COMPUTER SCIENCE SAMPLE TEST 3 TIME ALLOWED: 60 MINUTES Student s Name: MAXIMUM MARK 100 NOTE: Unless otherwise stated, the questions are with reference to the Java Programming

More information

More on Classes. 1 tostring

More on Classes. 1 tostring More on Classes 1 tostring Java allows us to supply an object wherever a string is expected. The run-time system will automatically apply a conversion function to create a string representation of the

More information

Building Java Programs

Building Java Programs Building Java Programs Chapter 7 Arrays reading: 7.1 2 Can we solve this problem? Consider the following program (input underlined): How many days' temperatures? 7 Day 1's high temp: 45 Day 2's high temp:

More information

SCJ2013 Data Structure & Algorithms. Queue. Nor Bahiah Hj Ahmad & Dayang Norhayati A. Jawawi

SCJ2013 Data Structure & Algorithms. Queue. Nor Bahiah Hj Ahmad & Dayang Norhayati A. Jawawi SCJ2013 Data Structure & Algorithms Queue Nor Bahiah Hj Ahmad & Dayang Norhayati A. Jawawi Course Objectives At the end of the lesson students are expected to be able to: Understand queue concepts and

More information

import java.util.scanner; public class Assigment12 { int decnumber; public Assigment12(int number,int base){ if (base == 10) this.decnumber = number;

import java.util.scanner; public class Assigment12 { int decnumber; public Assigment12(int number,int base){ if (base == 10) this.decnumber = number; import java.util.scanner; public class Assigment12 { int decnumber; public Assigment12(int number,int base){ if (base == 10) this.decnumber = number; if (base == 2) this.decnumber = bin2dec(number); if

More information

Objectives. Problem Solving. Introduction. An overview of object-oriented concepts. Programming and programming languages An introduction to Java

Objectives. Problem Solving. Introduction. An overview of object-oriented concepts. Programming and programming languages An introduction to Java Introduction Objectives An overview of object-oriented concepts. Programming and programming languages An introduction to Java 1-2 Problem Solving The purpose of writing a program is to solve a problem

More information

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

Review Chapters 1 to 4. Instructor: Scott Kristjanson CMPT 125/125 SFU Burnaby, Fall 2013 Review Chapters 1 to 4 Instructor: Scott Kristjanson CMPT 125/125 SFU Burnaby, Fall 2013 Introduction to Java Chapters 1 and 2 The Java Language Section 1.1 Data & Expressions Sections 2.1 2.5 Instructor:

More information

About This Lecture. Repetition Control Structures - while. Outline. Repetition

About This Lecture. Repetition Control Structures - while. Outline. Repetition 2 About This Lecture Repetition Control Structures - while Cmput 114 - Lecture 16 Department of Computing Science University of Alberta z So far our programs execute each statement exactly once or zero

More information

Example: Monte Carlo Simulation 1

Example: Monte Carlo Simulation 1 Example: Monte Carlo Simulation 1 Write a program which conducts a Monte Carlo simulation to estimate π. 1 See https://en.wikipedia.org/wiki/monte_carlo_method. Zheng-Liang Lu Java Programming 133 / 149

More information

Binghamton University. CS-140 Fall Problem Solving. Creating a class from scratch

Binghamton University. CS-140 Fall Problem Solving. Creating a class from scratch Problem Solving Creating a class from scratch 1 Recipe for Writing a Class 1. Write the class boilerplate stuff 2. Declare Fields 3. Write Creator(s) 4. Write accessor methods 5. Write mutator methods

More information

CSC1590 Java Assignment 2-0. User Defined Classes

CSC1590 Java Assignment 2-0. User Defined Classes CSC1590 Java Assignment 2-0 User Defined Classes This is Chapter 8 in your textbooks. We are now starting to create more complex programs and classes. In this example today we will have a class that consists

More information

Example. Write a program which sums two random integers and lets the user repeatedly enter a new answer until it is correct.

Example. Write a program which sums two random integers and lets the user repeatedly enter a new answer until it is correct. Example Write a program which sums two random integers and lets the user repeatedly enter a new answer until it is correct. 1... 2 Scanner input = new Scanner(System.in); 3 int x = (int) (Math.random()

More information

Question 1 [20 points]

Question 1 [20 points] Question 1 [20 points] a) Write the following mathematical expression in Java. c=math.sqrt(math.pow(a,2)+math.pow(b,2)- 2*a*b*Math.cos(gamma)); b) Write the following Java expression in mathematical notation.

More information

CSC122A, Spring 2005 Computer Science II Final Exam

CSC122A, Spring 2005 Computer Science II Final Exam Final Exam: May 19 Name: You will have 3 hours for this exam, although you should not need that much. This exam is closed-book and closed-note. Please take some time to check your work. If you need extra

More information

Loops and Expression Types

Loops and Expression Types Software and Programming I Loops and Expression Types Roman Kontchakov / Carsten Fuhs Birkbeck, University of London Outline The while, for and do Loops Sections 4.1, 4.3 and 4.4 Variable Scope Section

More information

Midterm Examination (MTA)

Midterm Examination (MTA) M105: Introduction to Programming with Java Midterm Examination (MTA) Spring 2013 / 2014 Question One: [6 marks] Choose the correct answer and write it on the external answer booklet. 1. Compilers and

More information

Java. Programming: Chapter Objectives. Why Is Repetition Needed? Chapter 5: Control Structures II. Program Design Including Data Structures

Java. Programming: Chapter Objectives. Why Is Repetition Needed? Chapter 5: Control Structures II. Program Design Including Data Structures Chapter 5: Control Structures II Java Programming: Program Design Including Data Structures Chapter Objectives Learn about repetition (looping) control structures Explore how to construct and use count-controlled,

More information

Ryerson University Department of Electrical & Computer Engineering COE618 Midterm Examination February 26, 2013

Ryerson University Department of Electrical & Computer Engineering COE618 Midterm Examination February 26, 2013 Ryerson University Department of Electrical & Computer Engineering COE618 Midterm Examination February 26, 2013 Name: Student # : Time: 90 minutes Instructions This exam contains 6 questions. Please check

More information

Defining Classes and Methods

Defining Classes and Methods Defining Classes and Methods Chapter 4 Chapter 4 1 Basic Terminology Objects can represent almost anything. A class defines a kind of object. It specifies the kinds of data an object of the class can have.

More information

CS1083 Week 2: Arrays, ArrayList

CS1083 Week 2: Arrays, ArrayList CS1083 Week 2: Arrays, ArrayList mostly review David Bremner 2018-01-08 Arrays (1D) Declaring and using 2D Arrays 2D Array Example ArrayList and Generics Multiple references to an array d o u b l e prices

More information

Chapter 2. Elementary Programming

Chapter 2. Elementary Programming Chapter 2 Elementary Programming 1 Objectives To write Java programs to perform simple calculations To obtain input from the console using the Scanner class To use identifiers to name variables, constants,

More information

CS111: PROGRAMMING LANGUAGE II

CS111: PROGRAMMING LANGUAGE II CS111: PROGRAMMING LANGUAGE II Computer Science Department Lecture 1(c): Java Basics (II) Lecture Contents Java basics (part II) Conditions Loops Methods Conditions & Branching Conditional Statements A

More information

PROGRAMMING FUNDAMENTALS

PROGRAMMING FUNDAMENTALS PROGRAMMING FUNDAMENTALS Q1. Name any two Object Oriented Programming languages? Q2. Why is java called a platform independent language? Q3. Elaborate the java Compilation process. Q4. Why do we write

More information

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

Java Foundations: Introduction to Program Design & Data Structures, 4e John Lewis, Peter DePasquale, Joseph Chase Test Bank: Chapter 2 Java Foundations Introduction to Program Design and Data Structures 4th Edition Lewis TEST BANK Full download at : https://testbankreal.com/download/java-foundations-introduction-toprogram-design-and-data-structures-4th-edition-lewis-test-bank/

More information

University of Palestine. Mid Exam Total Grade: 100

University of Palestine. Mid Exam Total Grade: 100 First Question No. of Branches (5) A) Choose the correct answer: 1. If we type: system.out.println( a ); in the main() method, what will be the result? int a=12; //in the global space... void f() { int

More information

User-built data types Mutable and immutable data

User-built data types Mutable and immutable data Chapter 18 User-built data types Mutable and immutable data In some cases the kind of data that a program uses is not provided as a built-in data type by the language. Then a data type can be programmed:

More information

Full file at

Full file at Chapter 2 Introduction to Java Applications Section 2.1 Introduction ( none ) Section 2.2 First Program in Java: Printing a Line of Text 2.2 Q1: End-of-line comments that should be ignored by the compiler

More information

Data dependent execution order data dependent control flow

Data dependent execution order data dependent control flow Chapter 5 Data dependent execution order data dependent control flow The method of an object processes data using statements, e.g., for assignment of values to variables and for in- and output. The execution

More information

CPSC 219 Extra review and solutions

CPSC 219 Extra review and solutions CPSC 219 Extra review and solutions Multiple choice questions: Unless otherwise specified assume that all necessary variable declarations have been made. For Questions 1 6 determine the output of the print()

More information

Week 14 Lab A Linked List of Integers Maximum Points = 10

Week 14 Lab A Linked List of Integers Maximum Points = 10 Week 14 Lab A Linked List of Integers Maximum Points = 10 File IntList.java contains definitions for a linked list of integers. The class contains an inner class IntNode that holds information for a single

More information

Arrays. Weather Problem Array Declaration Accessing Elements Arrays and for Loops Array length field Quick Array Initialization Array Traversals

Arrays. Weather Problem Array Declaration Accessing Elements Arrays and for Loops Array length field Quick Array Initialization Array Traversals Arrays Weather Problem Array Declaration Accessing Elements Arrays and for Loops Array length field Quick Array Initialization Array Traversals Can we solve this problem? Consider the following program

More information

Packages & Random and Math Classes

Packages & Random and Math Classes Packages & Random and Math Classes Quick review of last lecture September 6, 2006 ComS 207: Programming I (in Java) Iowa State University, FALL 2006 Instructor: Alexander Stoytchev Objects Classes An object

More information

CS/B.TECH/CSE(OLD)/SEM-6/CS-605/2012 OBJECT ORIENTED PROGRAMMING. Time Allotted : 3 Hours Full Marks : 70

CS/B.TECH/CSE(OLD)/SEM-6/CS-605/2012 OBJECT ORIENTED PROGRAMMING. Time Allotted : 3 Hours Full Marks : 70 CS/B.TECH/CSE(OLD)/SEM-6/CS-605/2012 2012 OBJECT ORIENTED PROGRAMMING Time Allotted : 3 Hours Full Marks : 70 The figures in the margin indicate full marks. Candidates are required to give their answers

More information

Chapter 5: Arrays. Chapter 5. Arrays. Java Programming FROM THE BEGINNING. Copyright 2000 W. W. Norton & Company. All rights reserved.

Chapter 5: Arrays. Chapter 5. Arrays. Java Programming FROM THE BEGINNING. Copyright 2000 W. W. Norton & Company. All rights reserved. Chapter 5 Arrays 1 5.1 Creating and Using Arrays A collection of data items stored under a single name is known as a data structure. An object is one kind of data structure, because it can store multiple

More information

CSC122A, Spring 2005 Computer Science II Final Exam

CSC122A, Spring 2005 Computer Science II Final Exam Final Exam: May 19 Name: Key You will have 3 hours for this exam, although you should not need that much. This exam is closed-book and closed-note. Please take some time to check your work. If you need

More information

3. Java - Language Constructs I

3. Java - Language Constructs I Educational Objectives 3. Java - Language Constructs I Names and Identifiers, Variables, Assignments, Constants, Datatypes, Operations, Evaluation of Expressions, Type Conversions You know the basic blocks

More information

Fun facts about recursion

Fun facts about recursion Outline examples of recursion principles of recursion review: recursive linked list methods binary search more examples of recursion problem solving using recursion 1 Fun facts about recursion every loop

More information

1 Short Answer (10 Points Each)

1 Short Answer (10 Points Each) 1 Short Answer (10 Points Each) 1. Write a for loop that will calculate a factorial. Assume that the value n has been input by the user and have the loop create n! and store it in the variable fact. Recall

More information

COMP-202B - Introduction to Computing I (Winter 2011) - All Sections Example Questions for In-Class Quiz

COMP-202B - Introduction to Computing I (Winter 2011) - All Sections Example Questions for In-Class Quiz COMP-202B - Introduction to Computing I (Winter 2011) - All Sections Example Questions for In-Class Quiz The in-class quiz is intended to give you a taste of the midterm, give you some early feedback about

More information

Topic 21 arrays - part 1

Topic 21 arrays - part 1 Topic 21 arrays - part 1 "Should array indices start at 0 or 1? My compromise of 0.5 was rejected without, I thought, proper consideration. " - Stan Kelly-Bootle Copyright Pearson Education, 2010 Based

More information

CS 112 Introduction to Computing II. Wayne Snyder Computer Science Department Boston University

CS 112 Introduction to Computing II. Wayne Snyder Computer Science Department Boston University CS 112 Introduction to Computing II Wayne Snyder Department Boston University Today Introduction to Linked Lists Stacks and Queues using Linked Lists Next Time Iterative Algorithms on Linked Lists Reading:

More information

Chapter 15. Exception Handling. Chapter Goals. Error Handling. Error Handling. Throwing Exceptions. Throwing Exceptions

Chapter 15. Exception Handling. Chapter Goals. Error Handling. Error Handling. Throwing Exceptions. Throwing Exceptions Chapter 15 Exception Handling Chapter Goals To learn how to throw exceptions To be able to design your own exception classes To understand the difference between checked and unchecked exceptions To learn

More information

Chapter 2: Basic Elements of Java

Chapter 2: Basic Elements of Java Chapter 2: Basic Elements of Java TRUE/FALSE 1. The pair of characters // is used for single line comments. ANS: T PTS: 1 REF: 29 2. The == characters are a special symbol in Java. ANS: T PTS: 1 REF: 30

More information

Chap. 3. Creating Objects The String class Java Class Library (Packages) Math.random() Reading for this Lecture: L&L,

Chap. 3. Creating Objects The String class Java Class Library (Packages) Math.random() Reading for this Lecture: L&L, Chap. 3 Creating Objects The String class Java Class Library (Packages) Math.random() Reading for this Lecture: L&L, 3.1 3.6 1 From last time: Account Declaring an Account object: Account acct1 = new Account

More information

Objectives of CS 230. Java portability. Why ADTs? 8/18/14

Objectives of CS 230. Java portability. Why ADTs?  8/18/14 http://cs.wellesley.edu/~cs230 Objectives of CS 230 Teach main ideas of programming Data abstraction Modularity Performance analysis Basic abstract data types (ADTs) Make you a more competent programmer

More information

1 import java.io.*; 2 import java.util.*; class BTNode{ 6 7 private int nodeid; 8 private int data; 9 private int levelnum; 10 private BTNode

1 import java.io.*; 2 import java.util.*; class BTNode{ 6 7 private int nodeid; 8 private int data; 9 private int levelnum; 10 private BTNode 1 import java.io.*; 2 import java.util.*; 3 4 5 class BTNode{ 6 7 private int nodeid; 8 private int data; 9 private int levelnum; 10 private BTNode leftchildptr; 11 private BTNode rightchildptr; 12 13

More information

Data Structures and Algorithms in Java. Second Year Software Engineering

Data Structures and Algorithms in Java. Second Year Software Engineering Data Structures and Algorithms in Java Second Year Software Engineering Introduction Computer: is a programmable machine that can store, retrieve and process data. Data: The representation of information

More information

Arrays. Eng. Mohammed Abdualal

Arrays. Eng. Mohammed Abdualal Islamic University of Gaza Faculty of Engineering Computer Engineering Department Computer Programming Lab (ECOM 2114) Created by Eng: Mohammed Alokshiya Modified by Eng: Mohammed Abdualal Lab 9 Arrays

More information

List of Practical for Class XII Computer Science

List of Practical for Class XII Computer Science List of Practical for Class XII Computer Science P.01. Write a complete C++ program to define class Garment with following description: Private members: Code - type string Type - type string Size - type

More information

STUDENT LESSON A5 Designing and Using Classes

STUDENT LESSON A5 Designing and Using Classes STUDENT LESSON A5 Designing and Using Classes 1 STUDENT LESSON A5 Designing and Using Classes INTRODUCTION: This lesson discusses how to design your own classes. This can be the most challenging part of

More information

Computer Components. Software{ User Programs. Operating System. Hardware

Computer Components. Software{ User Programs. Operating System. Hardware Computer Components Software{ User Programs Operating System Hardware What are Programs? Programs provide instructions for computers Similar to giving directions to a person who is trying to get from point

More information

Introduction to Computer Science, Shimon Schocken, IDC Herzliya. Lectures Control Structures

Introduction to Computer Science, Shimon Schocken, IDC Herzliya. Lectures Control Structures Introduction to Computer Science, Shimon Schocken, IDC Herzliya Lectures 3.1 3.2 Control Structures Control Structures, Shimon Schocken IDC Herzliya, www.intro2cs.com slide 1 Control structures A program

More information

Faculty of Science COMP-202B - Introduction to Computing I (Winter 2009) Midterm Examination

Faculty of Science COMP-202B - Introduction to Computing I (Winter 2009) Midterm Examination First Name: Last Name: McGill ID: Section: Faculty of Science COMP-202B - Introduction to Computing I (Winter 2009) Midterm Examination Monday, March 9, 2009 Examiners: Mathieu Petitpas [Section 1] 18:30

More information

A First Look At Java. Didactic Module 13 Programming Languages - EEL670 1

A First Look At Java. Didactic Module 13 Programming Languages - EEL670 1 A First Look At Java Didactic Module 13 Programming Languages - EEL670 1 Outline Thinking about objects Simple expressions and statements Class definitions About references and pointers Getting started

More information

NoSuchElementException 5. Name of the Exception that occurs when you try to read past the end of the input data in a file.

NoSuchElementException 5. Name of the Exception that occurs when you try to read past the end of the input data in a file. CSC116 Practice Exam 2 - KEY Part I: Vocabulary (10 points) Write the terms defined by the statements below. Cumulative Algorithm 1. An operation in which an overall value is computed incrementally, often

More information

Object-oriented Programming and Software Engineering CITS1001. Multiple-choice Mid-semester Test

Object-oriented Programming and Software Engineering CITS1001. Multiple-choice Mid-semester Test Object-oriented Programming and Software Engineering CITS1001 Multiple-choice Mid-semester Test Semester 1, 2015 Mark your solutions on the provided answer page, by filling in the appropriate circles.

More information

Java 101 Build Season Code Standards. OCT

Java 101 Build Season Code Standards. OCT Java 101 Build Season Code Standards OCT 25 2016 - jaander8@ncsu.edu Keep in Mind: A program is read from top to bottom when compiled and run Any capitalization matters Statements end with a semicolon

More information

: Advanced Programming Final Exam Summer 2008 June 27, 2008

: Advanced Programming Final Exam Summer 2008 June 27, 2008 15-111 : Advanced Programming Final Exam Summer 2008 June 27, 2008 Name: Andrew ID: Answer the questions in the space provided following each question. We must be able to clearly understand your answer.

More information

Jump Statements. The keyword break and continue are often used in repetition structures to provide additional controls.

Jump Statements. The keyword break and continue are often used in repetition structures to provide additional controls. Jump Statements The keyword break and continue are often used in repetition structures to provide additional controls. break: the loop is terminated right after a break statement is executed. continue:

More information

1st Semester MTCE 601A COMPUTER SYSTEM SOFTWARE

1st Semester MTCE 601A COMPUTER SYSTEM SOFTWARE 1st Semester MTCE 601A COMPUTER SYSTEM SOFTWARE LECTURE-1 Syllabus Introduction 1.1 Introduction to Object Oriented 1.2 Introduction to UML 1.3 Software Process and OOA&D 1.4 Component and CBSD 1.5 Patterns

More information

Boolean Expressions. So, for example, here are the results of several simple Boolean expressions:

Boolean Expressions. So, for example, here are the results of several simple Boolean expressions: Boolean Expressions Now we have the ability to read in some information, calculate some formulas and display the information to the user in a nice format. However, the real power of computer programs lies

More information

Fundamentos de programação

Fundamentos de programação Fundamentos de programação Orientação a Objeto Classes, atributos e métodos Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Contents Object-Oriented Programming Implementing a Simple

More information

Object Oriented Programming. Java-Lecture 1

Object Oriented Programming. Java-Lecture 1 Object Oriented Programming Java-Lecture 1 Standard output System.out is known as the standard output object Methods to display text onto the standard output System.out.print prints text onto the screen

More information

UNIVERSITI SAINS MALAYSIA. CIT502 Object-Oriented Programming and Software Engineering

UNIVERSITI SAINS MALAYSIA. CIT502 Object-Oriented Programming and Software Engineering UNIVERSITI SAINS MALAYSIA First Semester Examination Academic Session 2003/2004 September/October 2003 CIT502 Object-Oriented Programming and Software Engineering Duration : 3 hours INSTRUCTION TO CANDIDATE:

More information

public class Account { private int id; private static int nextaccountid = 0; private String name; private double balance;

public class Account { private int id; private static int nextaccountid = 0; private String name; private double balance; public class Account { private int id; private static int nextaccountid = 0; private String name; private double balance; public double deposit(double amount) { public double withdraw(double amount) {

More information

Some Sample AP Computer Science A Questions - Solutions

Some Sample AP Computer Science A Questions - Solutions Some Sample AP Computer Science A Questions - s Note: These aren't from actual AP tests. I've created these questions based on looking at actual AP tests. Also, in cases where it's not necessary to have

More information

3/20/2015. Chapter 19 Sorting and Searching SELECTION SORT INSERTION SORT MERGE SORT THE QUICKSORT ALGORITHM MERGE SORT VS SELECTION SORT

3/20/2015. Chapter 19 Sorting and Searching SELECTION SORT INSERTION SORT MERGE SORT THE QUICKSORT ALGORITHM MERGE SORT VS SELECTION SORT Chapter 19 Sorting and Searching The Plan For Today APCS Account Chapter 18 Assignment Towers of Hanoi Chapter 19 19.6: Searching 19.7: Binary Search 19.8: Sorting Real Data Ch18/19 Work Time SELECTION

More information

CSE 142, Spring 2009, Final Exam

CSE 142, Spring 2009, Final Exam CSE 142, Spring 2009, Final Exam Name: Section: Student ID #: TA: Rules: You have 110 minutes to complete this exam. You will receive a deduction if you keep working after the instructor calls for papers.

More information

Computer Science 1 Ah

Computer Science 1 Ah UNIVERSITY OF EDINBURGH course CS0077 FACULTY OF SCIENCE AND ENGINEERING DIVISION OF INFORMATICS SCHOOL OF COMPUTER SCIENCE Computer Science 1 Ah Degree Examination Date: Saturday 25th May 2002 Time: 09:30

More information

STUDENT LESSON A12 Iterations

STUDENT LESSON A12 Iterations STUDENT LESSON A12 Iterations Java Curriculum for AP Computer Science, Student Lesson A12 1 STUDENT LESSON A12 Iterations INTRODUCTION: Solving problems on a computer very often requires a repetition of

More information

1 import java.util.*; 2 3 // implementing hash tables as an array of linked lists 4 // and using it to check whether two sequencs are permutations of

1 import java.util.*; 2 3 // implementing hash tables as an array of linked lists 4 // and using it to check whether two sequencs are permutations of 1 import java.util.*; 2 3 // implementing hash tables as an array of linked lists 4 // and using it to check whether two sequencs are permutations of each other 5 6 class Node{ 7 8 private int data; 9

More information

Pre-lab #2 tutorial. ECE 254 Operating Systems and Systems Programming. May 24, 2012

Pre-lab #2 tutorial. ECE 254 Operating Systems and Systems Programming. May 24, 2012 Pre-lab #2 tutorial ECE 254 Operating Systems and Systems Programming May 24, 2012 Content Concurrency Concurrent Programming Thread vs. Process POSIX Threads Synchronization and Critical Sections Mutexes

More information

CS61BL. Lecture 1: Welcome to CS61BL! Intro to Java and OOP Testing Error-handling

CS61BL. Lecture 1: Welcome to CS61BL! Intro to Java and OOP Testing Error-handling CS61BL Lecture 1: Welcome to CS61BL! Intro to Java and OOP Testing Error-handling About me Name: Edwin Liao Email: edliao@berkeley.edu Office hours: Thursday 3pm - 5pm Friday 11am - 1pm 611 Soda Or by

More information

boolean, char, class, const, double, else, final, float, for, if, import, int, long, new, public, return, static, throws, void, while

boolean, char, class, const, double, else, final, float, for, if, import, int, long, new, public, return, static, throws, void, while CSCI 150 Fall 2007 Java Syntax The following notes are meant to be a quick cheat sheet for Java. It is not meant to be a means on its own to learn Java or this course. For that you should look at your

More information

3. Convert 2E from hexadecimal to decimal. 4. Convert from binary to hexadecimal

3. Convert 2E from hexadecimal to decimal. 4. Convert from binary to hexadecimal APCS A Midterm Review You will have a copy of the one page Java Quick Reference sheet. This is the same reference that will be available to you when you take the AP Computer Science exam. 1. n bits can

More information