© A+ Computer Science - . Visit us at Full Curriculum Solutions M/C Review Question Banks.

100
© A+ Computer Science - www.apluscompsci.com

Transcript of © A+ Computer Science - . Visit us at Full Curriculum Solutions M/C Review Question Banks.

Page 1: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

Page 2: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

Visit us at www.apluscompsci.com

Full Curriculum Solutions

M/C Review Question Banks

Live Programming Problems

Tons of great content!

www.facebook.com/APlusComputerScience

Page 3: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

Page 4: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

-Read all 4 questions before writing anything

-answer the easiest question 1st

-most times question 1 is the easiest

-see if part B calls part A and so on

-many times part C consists of A and B calls

-write something on every question

-write legibly / use PENCIL!!!!!!!!!!

-keep track of your time

Page 5: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

-When writing methods

-use parameter types and names as provided

-do not redefine the parameters listed

-do not redefine the methods provided

-return from all return methods

-return correct data type from return methods

Page 6: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

-When writing a class or methods for a class

-know which methods you have

-know which instance variables you have

-check for public/private on methods/variables

-return from all return methods

-return correct data type from return methods

Page 7: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

-When extending a class

-know which methods the parent contains

-have the original class where you can see it

-make sure you have super calls

-check for public/private on methods/variables

-make super calls in sub class methods as needed

Page 8: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

-When extending abstract / implementing interface

-know which methods the parent contains

-have the original class where you can see it

-make sure you have super calls

-check for public/private on methods/variables

-make super calls in sub class methods as needed

-implement all abstract methods in sub class

Page 9: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

-When writing GridWorld question

-use the GridWorld quick reference

-use original method code when overidding

-use Bug and BoxBug code if extending Bug

-use Critter and ChameleonCritter code if extending Critter

-use Critter and Bug for extends demo

-use Critter for ArrayList and Math.random() demo

-use GW quick reference on the entire AP test

Page 10: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

ArrayList of References / Objects – get,set,remove,add,size – levels of abstraction

Matrix / 2 D Array – nested loops, GridWorld ( grid )

GridWorld or Make a Class– location, actor, bug, critter, grid, super, abstract

String / Array Question – find biggest, find smallest, etc.

Page 11: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

One question on the A test free response is usually an array or string question.

CustomerSortRobotReservationStringCoder

Page 12: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

This question usually involves an array and / or a string and many times has sorting and searching components.

Page 13: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

0 1 2 3 4 5 6 7 8 9

nums 0 0 0 0 0 0 0 0 0 0

int[] nums = new int[10]; //Java int array

An array is a group of items all of the same type which are accessed through a single identifier.

Page 14: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

0 1 2 3 4 5 6

s

String s = "compsci";

A string is a group of characters.The first character in the group is at spot 0.

c o m p s c i

Page 15: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

Stringfrequently used methods

Name Use

substring(x,y)

returns a section of the string from x to y not including y

substring(x) returns a section of the string from x to length-1

length() returns the # of chars

charAt(x) returns the char at spot x

indexOf(c) returns the loc of char c in the string, searching from spot 0 to spot length-1

lastIndexOf(c)

returns the loc of char c in the string, searching from spot length-1 to spot 0

Page 16: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

Stringfrequently used methods

Name Useequals(s) checks if this string has same chars as

s

compareTo(s) compares this string and s for >,<, and ==

trim() removes leading and trailing whitespace

replaceAll(x,y) returns a new String with all x changed to y

toUpperCase() returns a new String with uppercase chars

toLowerCase() returns a new String with lowercase chars

Page 17: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

Page 18: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

public int limitAmplitude(int limit) { int cnt = 0; for ( int i = 0; i < samples.length; i++ ) { if ( samples[i] < -limit ) { samples[i] = -limit; cnt++; } if ( samples[i] > limit ) { samples[i] = limit; cnt++; } } return cnt;}

Page 19: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

public void trimSilenceFromBeginning() { int i = 0; while ( samples[i] == 0 ) { i++; }

int[] ray = new int[ samples.length – i ]; for (int j = 0; j < ray.length; j++) { ray[j] = samples[j+i]; } samples = ray;}

Page 20: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

Visit us at www.apluscompsci.com

Full Curriculum Solutions

M/C Review Question Banks

Live Programming Problems

Tons of great content!

www.facebook.com/APlusComputerScience

Page 21: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

One question on the A test free response will require that you create a class. Sometimes you have to extend an abstract class or implement an interface. Other times, you will extend another class like Critter.

Page 22: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

Locationfrequently used methods

Name UseLocation(row, col)

creates a new row,col Location

getCol() gets the column value for this location

getRow() gets the row value for this location

import info.gridworld.grid.Location;

Page 23: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

Locationfrequently used fields

Name Use

NORTH indicates going north – value of 0

SOUTH indicates going south – value of 180

EAST indicates going east – value of 90

WEST indicates going west – value of 270

import info.gridworld.grid.Location;

Page 24: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

Location locOne = new Location(2,1);Location locTwo = new Location(1,3);

out.println(locOne.getAdjacentLocation(Location.NORTH));out.println(locOne.getAdjacentLocation(Location.SOUTH));out.println(locOne.getAdjacentLocation(Location.EAST));out.println(locOne.getAdjacentLocation(Location.WEST));

OUTPUT(1, 1)(3, 1)(2, 2)(2, 0)

0,0 0,1 0,2 0,3 0,4

1,0 1,1 1,2 1,3 1,4

2,0 2,1 2,2 2,3 2,4

3,0 3,1 3,2 3,3 3,4

Page 25: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

Location locOne = new Location(2,1);Location locTwo = new Location(1,3);

out.println(locOne.getDirectionToward(locTwo));

OUTPUT45

0,0 0,1 0,2 0,3 0,4

1,0 1,1 1,2 1,3 1,4

2,0 2,1 2,2 2,3 2,4

3,0 3,1 3,2 3,3 3,4

Page 26: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

Actorfrequently used methods

Name Use

Actor() creates new blue north bound actor

act() reverses the direction for actor

getColor() gets the actor’s color

getDirection() gets the actor’s direction

getLocation() gets the actor’s location

setColor(col) sets the actor’s color to col

setDirection(dir) sets the actor’s direction to dir

moveTo(loc) moves the actor to new location loc

Page 27: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

Actorfrequently used methods

Name UseputSelfInGrid(grid, loc)

put this actor in grid at loc

removeSelfFromGrid()

takes this actor out of the grid

getGrid() gets the grid which contains this actor

toString() gets actor data as a String

import info.gridworld.actor.Actor;

Page 28: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

ActorWorld world = new ActorWorld();Actor dude = new Actor();dude.setColor(Color.GREEN);dude.setDirection(Location.SOUTH);Location loc = new Location(2,2);world.add(loc, dude);world.show(); What happens if you

click on an empty location?

Page 29: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

Gridabstract methods

Name Useget(loc) returns the ref at location loc

getEmptyAdjacentLocations(loc) gets the valid empty locs in 8 dirs

getNeighbors(loc) returns the objs around this

getNumCols() gets the # of cols for this grid

getNumRows() gets the # of rows for this grid

getOccupiedAdjacentLocations(loc)

gets the valid locs in 8 dirs that contain objs

getOccupiedLocations() gets locs that contain live objs

getValidAdjacentLocations(loc) gets the valid locs in 8 dirs

isValid(loc) checks to see if loc is valid

put(loc, obj) put the obj in grid at location loc

remove(loc) take the obj at location loc out of the grid

import info.gridworld.grid.Grid;

Page 30: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

Grid is an interface that details thebehaviors expected of a Grid.

Grid was designed as an interface because many different structures could be used to store the grid values.

An interface works perfectly due to the large number of unknowns.

Page 31: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

Grid<String> grd;grd = new BoundedGrid<String>( 4, 5 );

grd.put( new Location( 2, 2 ) , "CAT" );

grd.put( new Location( 1, 3 ) , "DOG" );

System.out.println( grd.get( new Location( 0, 0 ) );

System.out.println( grd.get( new Location( 2, 2 ) );

OUTPUTnullCAT

null null null null null

null null null DOG null

null null CAT null null

null null null null null

Page 32: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

Bug extends Actor

frequently used methodsName Use

act() move if possible or turn

getColor() gets the bug’s color

getDirection() gets the bug’s direction

getLocation() gets the bug’s location

setColor(col) sets the bug’s color to col

setDirection(dir) sets the bug’s direction to dir

import info.gridworld.actor.Bug;

Page 33: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

Bug extends Actor

frequently used methods – Bug onlyName Use

Bug() make a new red bug going north

Bug(color) make a new color bug

act() move if possible or turn

canMove() check to see if a move is possible

move() move forward and leave a flower

turn() turn 45 degrees without movingimport

info.gridworld.actor.Bug;

Page 34: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

ActorWorld world = new ActorWorld();

Bug dude = new Bug();world.add(new Location(3,3), dude);

Bug sally = new Bug(Color.GREEN);sally.setDirection(Location.SOUTHEAST);world.add(new Location(2,2), sally);

Bug ali = new Bug(Color.ORANGE);ali.setDirection(Location.NORTHEAST);world.add(new Location(1,1), ali);

world.show();

Page 35: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

The bug act method looks to see if a move is possible by calling canMove.

canMove looks at the location in front of this bug to see if it is empty or if it contains a flower.

canMove returns true or false.

Page 36: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

The bug act method calls move if canMove returns true.

move calls moveTo to move the bug to the location in front of this bug. move leaves a flower in the old location.

Page 37: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

The bug act method calls turn if canMove returns false.

turn changes the direction of the bug by 45 degrees to the right.

Page 38: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

Critter extends Actor

frequently used methodsName Use

getColor() gets the critter's color

getDirection() gets the critter's direction

getLocation() gets the critter's location

setColor(col) sets the critter's color to col

setDirection(dir) sets the critter's direction to dir

import info.gridworld.actor.Critter;

Page 39: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

Critter extends Actor

frequently used methods – Critter specific

Name Useact() calls the methods listed below

getActors() gets all actors around this location

processActors(actors) do something to actors sent in

getMoveLocations() gets list of possible move locs

selectMoveLocation(locs)

picks loc to move to

makeMove(loc) moves this critter to locimport info.gridworld.actor.Critter;

Page 40: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

if no grid present – stop

call getActors to get list of actors to proces processActors received from getActors

call getMoveLocations to get a list of locations

to which the critter might movecall selectMoveLocation to select new location

move to the new loc

Page 41: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

The getActors method returns an ArrayList containing all of the actors around this critter using the 4 cardinal(N,S,E,W) and 4 intercardinal directions(NE, NW, SE, SW).

In order to change which actors are returned by getActors, override the method and provide a different method of selecting actors.

getActors must not modify any actors.getActors must not modify any actors.

Page 42: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

A typical Abstract/Interface questionrequires that a class be written that extends the abstract class or implements the interface and that all abstract method(s) be implemented.

Page 43: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

Abstract classes are used todefine a class that will be used only to build new classes.

No objects will ever be instantiated from an abstract class.

Page 44: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

Mammal (abstract class)

Human Whale Cow

Page 45: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

Any sub class that extends asuper abstract class must implement all methods defined as abstract in the super class.

Page 46: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

abstract class Monster{ private String myName;

public Monster() { myName =""; }

public Monster(String name) { myName =name; }

public String getName() { return myName; }

public abstract void talk( );

public String toString() { return myName + "\n"; }}

Page 47: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

Why define talk as abstract?public abstract void talk( );

Does each Monster saythe exact same thing?

Page 48: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

class Vampire extends Monster{ public Vampire( String name ) { super(name); }

public void talk() { out.println("Vampire " + getName() + " say \"I want to drink your blood!\""); }}

Page 49: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

public abstract class APlus{ public APlus(int x) //constructor code not shown

public abstract double goForIt();

//other fields/methods not shown}

PetItem

Page 50: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

public class PassAPTest extends APlus{ public PassAPTest(int x) { super(x); }

public double goForIt() { double run=0.0; //write some code - run = x*y/z return run; }

//other fields/methods not shown}

public abstract class APlus{ public APlus(int x) //constructor code not shown

public abstract double goForIt();

//other fields/methods not shown}

Page 51: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

public interface Exampleable{ int writeIt(Object o); int x = 123;}

Methods are public abstract!Variables are public static final!

Page 52: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

public interface Exampleable{ public abstract int writeIt(Object o); public static final int x = 123;}

Methods are public abstract!Variables are public static final!

Page 53: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

An interface is a list of abstract methods that must be implemented. An interface may not contain any implemented methods.

Interfaces cannot have constructors!!!

Page 54: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

Interfaces are typically used when you know what you want an Object to do, but do not know how it willbe done.

If only the behavior is known, usean interface.

Page 55: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

Abstract classes are typically used when you know what you want an Object to do and have a bit of anidea how it will be done.

If the behavior is known and someproperties are known, use an abstractclass.

Page 56: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

Page 57: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

public class AttractiveCritter extends Critter {

public ArrayList<Actor> getActors() { ArrayList<Actor> stuff; stuff = new ArrayList<Actor>(); for ( Location loc : getGrid().getOccupiedLocations() ) { if ( !loc.equals(getLocation()) ) stuff.add( getGrid().get(loc) ); } return stuff; } You must know

ArrayList!

Page 58: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

public void processActors(ArrayList<Actor> actors) { for (Actor a : actors) { Location loc = a.getLocation(); int dir = loc.getDirectionToward( getLocation() ); Location x = loc.getAdjacentLocation(dir); if (getGrid().get( x ) == null) { a.moveTo( x ); } }}

You must know ArrayList!

Page 59: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

Visit us at www.apluscompsci.com

Full Curriculum Solutions

M/C Review Question Banks

Live Programming Problems

Tons of great content!

www.facebook.com/APlusComputerScience

Page 60: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

A typical ArrayList question involves putting something into an ArrayList and removing something from an ArrayList.

Page 61: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

Arraylist is a class that houses anarray.

An ArrayList can store any type.

All ArrayLists store the first referenceat spot / index position 0.

Page 62: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

0 1 2 3 4 5 6 7 8 9

nums 0 0 0 0 0 0 0 0 0 0

int[] nums = new int[10]; //Java int array

An array is a group of items all of the same type which are accessed through a single identifier.

Page 63: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

ArrayListfrequently used methods

Name Use

add(item) adds item to the end of the list

add(spot,item) adds item at spot – shifts items up->

set(spot,item) put item at spot z[spot]=item

get(spot) returns the item at spot return z[spot]

size() returns the # of items in the list

remove() removes an item from the list

clear() removes all items from the list

import java.util.ArrayList;

Page 64: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

List ray = new ArrayList(); ray.add("hello");ray.add("whoot");ray.add("contests");out.println(((String)ray.get(0)).charAt(0));out.println(((String)ray.get(2)).charAt(0));

ray stores Object references.

OUTPUT

hc

Page 65: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

List<String> ray;ray = new ArrayList<String>(); ray.add("hello");ray.add("whoot");ray.add("contests");out.println(ray.get(0).charAt(0));out.println(ray.get(2).charAt(0));

ray stores String references.

OUTPUT

hc

Page 66: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

int spot=list.size()-1;while(spot>=0){

if(list.get(spot).equals("killIt")) list.remove(spot);

spot--;

}

Page 67: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

for(int i=list.size()-1; i>=0; i--){

if(list.get( i ).equals("killIt")) list.remove( i );

}

Page 68: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

int spot=0;while(spot<list.size()){

if(list.get(spot).equals("killIt")) list.remove(spot); else spot++;

}

Page 69: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

Page 70: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

public int nextTankToFillA(int threshold) { int min = filler.getCurrentIndex(); for (int i = 0; i < tanks.size(); i++) { int curr = tanks.get(i).getFuelLevel() ; int min = tanks.get(min).getFuelLevel(); if ( curr <= threshold && curr < min ) { min = i; } } return min;}

You must know ArrayList!

Page 71: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

public void moveToLocation(int locIndex){ if ( filler.getCurrentIndex() > locIndex) { if ( filler.isFacingRight()) { filler.changeDirection(); } filler.moveForward(filler.getCurrentIndex() - locIndex); } if (filler.getCurrentIndex() < locIndex) { if (!filler.isFacingRight()) { filler.changeDirection(); } filler.moveForward(locIndex - filler.getCurrentIndex()); }} You must know

ArrayList!

Page 72: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

Visit my site at www.apluscompsci.com

Full Curriculum Solutions

M/C Review Question Banks

Live Programming Problems

Tons of great content!

Page 73: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

Visit us at www.apluscompsci.com

Full Curriculum Solutions

M/C Review Question Banks

Live Programming Problems

Tons of great content!

www.facebook.com/APlusComputerScience

Page 74: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

One question on the A test free response will require you to manipulate a 2-dimensional array or a GridWorld grid.

Page 75: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

0 1 2

0 0 0

int[][] mat = new int[3][3];

A matrix is an array of arrays.

0 0 0

0 0 0

0 1 2

Page 76: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

int size = 40;

int[][] mat = {{5,7,9,2},{5,3,4,6},{7,0,8,9}};

int[][] intMat = new int[size][size];//intMat is filled with zeros - 0s

Page 77: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

String[][] words = new String[4][4];//words is filled with null

double[][] dMat = new double[3][3];//dMat is filled with 0.0

Page 78: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

int[][] mat = {{5,7,9,2,1,9},{5,3,4},{3,7,0,8,9}};

out.println(mat[2][1]);out.println(mat[1][2]);out.println(mat[0][3]);out.println(mat[2][4]);

OUTPUT

7429

Page 79: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

int[][] mat = {{5,7,9,2,1,9},{5,3,4},{3,7,0,8,9}};

out.println(mat[7/4][0]);out.println(mat[1*2][2]);out.println(mat.length);out.println(mat[0].length);

OUTPUT

5036

Page 80: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

0 2 0

int[][] mat = new int[3][3];mat[0][1]=2;

A matrix is an array of arrays.

0 0 0

0 0 0

0 1 2

Whicharray?

Whichspot?

0 1 2

Page 81: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

0 0 0 5 0

0 0 0 0 0

0 0 7 0 0

0 0 0 0 0

0 3 0 0 0

mat[2][2]=7;

mat[0][3]=5;

mat[4][1]=3

0 1 2 3 4

0

1

2

3

4

Page 82: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

for( int r = 0; r < mat.length; r++){ for( int c = 0; c < mat[r].length; c++) {

mat[r][c] = r*c; }}

0 0 0

0 1 2

0 2 4if mat was 3x3

Page 83: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

//start //stop //incrementfor(outer=1; outer<=2; outer++){

}

OUTPUT1 11 2

//start //stop //increment for(int inner=1; inner<=2; inner++) out.println(outer + " " + inner); out.println();

OUTPUT1 11 2

2 12 2

int outer=1;

Page 84: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

0 1 2

0 0 0

int[][] mat = new int[3][3];

A matrix is an array of arrays.

0 0 0

0 0 0

0 1 2

# of arrays

size of each array

Page 85: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

int[][] mat = {{5,7},{5,3,4,6},{0,8,9}};

out.println(Arrays.toString(mat[0]));

out.println(Arrays.toString(mat[1]));

OUTPUT[5, 7][5, 3, 4, 6]

Page 86: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

int[] nums = {1,2,3,4,5,6,7}; for(int r=0; r<nums.length; r++){ out.println(nums[r]); }

OUTPUT1234567

length returns the # of elements/items/spots in the array!!!

Page 87: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

for(int r=0; r<mat.length; r++){

}

for(int c=0; c<mat[1].length; c++){ out.print(mat[1][c]);}out.println();

OUTPUT5 3 4 6

int[][] mat = {{5,7},{5,3,4,6},{0,8,9}};

for(int c=0; c<mat[r].length; c++){ out.print(mat[r][c]);}out.println();

OUTPUT5 75 3 4 60 8 9

Page 88: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

int[][] mat = {{5,7},{5,3,4,6},{0,8,9}};

for( int[] row : mat ){ for( int num : row ) { System.out.print( num + " "); } System.out.println();}

OUTPUT5 75 3 4 60 8 9

Page 89: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

Page 90: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

private void fillBlock(String str) { int pos = 0; for (int r = 0; r < numRows; r++ ) for (int c = 0; c < numCols; c++ ) { if (pos < str.length()) { letterBlock[r][c] = str.substring(pos, pos+1); pos++; } else{ letterBlock[r][c] = "A"; } }}

Page 91: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

public String encryptMessage(String message) { String mess = ""; int sect = numRows * numCols; while (message.length() > 0) { if (sect > message.length()) sect = message.length();

fillBlock(message); mess += encryptBlock(); message = message.substring( sect ); } return mess;}

Page 92: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

Visit us at www.apluscompsci.com

Full Curriculum Solutions

M/C Review Question Banks

Live Programming Problems

Tons of great content!

www.facebook.com/APlusComputerScience

Page 93: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

ArrayList of References / Objects – get,set,remove,add,size – levels of abstraction

Matrix / 2 D Array – nested loops, GridWorld ( grid )

GridWorld or Make a Class– location, actor, bug, critter, grid, super, abstract

String / Array Question – find biggest, find smallest, etc.

Page 94: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

-Read all 4 questions before writing anything

-answer the easiest question 1st

-most times question 1 is the easiest

-see if part B calls part A and so on

-many times part C consists of A and B calls

-write something on every question

-write legibly / use PENCIL!!!!!!!!!!

-keep track of your time

Page 95: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

-When writing methods

-use parameter types and names as provided

-do not redefine the parameters listed

-do not redefine the methods provided

-return from all return methods

-return correct data type from return methods

Page 96: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

-When writing a class or methods for a class

-know which methods you have

-know which instance variables you have

-check for public/private on methods/variables

-return from all return methods

-return correct data type from return methods

Page 97: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

-When extending a class

-know which methods the parent contains

-have the original class where you can see it

-make sure you have super calls

-check for public/private on methods/variables

-make super calls in sub class methods as needed

Page 98: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

-When extending abstract / implementing interface

-know which methods the parent contains

-have the original class where you can see it

-make sure you have super calls

-check for public/private on methods/variables

-make super calls in sub class methods as needed

-implement all abstract methods in sub class

Page 99: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

-When writing GridWorld question

-use the GridWorld quick reference

-use original method code when overidding

-use Bug and BoxBug code if extending Bug

-use Critter and ChameleonCritter code if extending Critter

-use Critter and Bug for extends demo

-use Critter for ArrayList and Math.random() demo

-use GW quick reference on the entire AP test

Page 100: © A+ Computer Science - . Visit us at  Full Curriculum Solutions  M/C Review Question Banks.

© A+ Computer Science - www.apluscompsci.com

Visit us at www.apluscompsci.com

Full Curriculum Solutions

M/C Review Question Banks

Live Programming Problems

Tons of great content!

www.facebook.com/APlusComputerScience