© A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C...
Transcript of © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C...
![Page 1: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/1.jpg)
© A+ Computer Science - www.apluscompsci.com
![Page 2: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/2.jpg)
© 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 - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/3.jpg)
© A+ Computer Science - www.apluscompsci.com
Visit us at www.apluscompsci.com
Full Curriculum Solutions
Slides and Examples Labs and Worksheets
Tests and Quizzes Solutions provided for all
www.facebook.com/APlusComputerScience
![Page 4: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/4.jpg)
© A+ Computer Science - www.apluscompsci.com
![Page 5: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/5.jpg)
© A+ Computer Science - www.apluscompsci.com
Array / Array or Arrays – for and for each loops, nested loops, array of arrays concepts
Make a Class - Basic – create a basic class with instance variables, constructors, and methods
ArrayList of References / Strings – get,set,remove,add,size – levels of abstraction
Make a Class - Interface / Abstract – implement / extend – looks like this topic is back
![Page 6: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/6.jpg)
© 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 7: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/7.jpg)
© 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 8: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/8.jpg)
© 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 9: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/9.jpg)
© 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 10: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/10.jpg)
© 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 11: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/11.jpg)
© A+ Computer Science - www.apluscompsci.com
Array / Array or Arrays – for and for each loops, nested loops, array of arrays concepts
Make a Class - Basic – create a basic class with instance variables, constructors, and methods
ArrayList of References / Strings – get,set,remove,add,size – levels of abstraction
Make a Class - Interface / Abstract – implement / extend – looks like this topic is back
![Page 12: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/12.jpg)
© A+ Computer Science - www.apluscompsci.com
One question on the A test free response will require you to manipulate an array and / or an array of arrays.
![Page 13: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/13.jpg)
© 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 14: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/14.jpg)
© 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 15: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/15.jpg)
© A+ Computer Science - www.apluscompsci.com
0 1 2 3 4
s
null null null null null
String[] s = new String[5];
Arrays are automatically filled with values when instantiated.
![Page 16: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/16.jpg)
© 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 17: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/17.jpg)
© 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 18: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/18.jpg)
© 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
7 4 2 9
![Page 19: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/19.jpg)
© 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
5 0 3 6
![Page 20: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/20.jpg)
© 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
Which array?
Which spot?
0 1 2
![Page 21: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/21.jpg)
© 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 22: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/22.jpg)
© 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 4 if mat was 3x3
![Page 23: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/23.jpg)
© A+ Computer Science - www.apluscompsci.com
//start //stop //increment for(outer=1; outer<=2; outer++) { }
OUTPUT 1 1 1 2
//start //stop //increment for(int inner=1; inner<=2; inner++) out.println(outer + " " + inner); out.println(); OUTPUT
1 1 1 2 2 1 2 2
int outer=1;
![Page 24: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/24.jpg)
© 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 25: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/25.jpg)
© 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 26: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/26.jpg)
© 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]); }
OUTPUT1 2 3 4 5 6 7
length returns the # of elements/items/spots in the array!!!
![Page 27: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/27.jpg)
© 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();
OUTPUT 5 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();
OUTPUT 5 7 5 3 4 6 0 8 9
![Page 28: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/28.jpg)
© 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(); }
OUTPUT 5 7 5 3 4 6 0 8 9
![Page 29: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/29.jpg)
© A+ Computer Science - www.apluscompsci.com
![Page 30: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/30.jpg)
public static int arraySum( int[] arr ) { int sum = 0; for( int item : arr ) sum = sum + item; return sum; }
![Page 31: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/31.jpg)
public static int[] rowSums( int[][] arr2D ) { int[] ret = new int[arr2D.length]; for( int i = 0; i < ret.length; i++ ) ret[i] = arraySum(arr2D[i]); return ret; }
![Page 32: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/32.jpg)
public static boolean isDiverse( int[][] arr2D ) { int[] totals = rowSums( arr2D ); for( int i = 0; i < totals.length-1; i++ ) { for( int j = i+1; j < totals.length; j++) if( totals[i] == totals[j] ) return false; } return true; }
This version is kinda lame, but I assume most students will do something like this.
![Page 33: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/33.jpg)
public static boolean isDiverse( int[][] arr2D ) { int[] totals = rowSums( arr2D ); ArrayList<Integer> used; used = new ArrayList<Integer>(); for( int item : totals ) { if( used.contains( item) ) return false; else used.add( item ); } return true; }
This algorithm is more interesting and more of what I would expect from my students that participate in contests.
![Page 34: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/34.jpg)
© A+ Computer Science - www.apluscompsci.com
A+ Lab Assignments that cover the same matrix concepts as FR question # 1 :: • Magic Square and Spiral Matrix • Forest and Tic-Tac-Toe • Codes and Ciphers
www.apluscompsci.com
![Page 35: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/35.jpg)
© 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 36: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/36.jpg)
© A+ Computer Science - www.apluscompsci.com
One question on the A test free response will require that you create a class sometimes using inheritance and sometimes not.
You will need to create instance variables, constructors, and methods.
The 2015 question was a class question that involved strings.
![Page 37: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/37.jpg)
© A+ Computer Science - www.apluscompsci.com
![Page 38: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/38.jpg)
© A+ Computer Science - www.apluscompsci.com
public class Triangle { private int sideA; private int sideB; private int sideC;
Instance variables store the state information for an object.
![Page 39: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/39.jpg)
© A+ Computer Science - www.apluscompsci.com
public Triangle(int a, int b, int c) { sideA=a; sideB=b; sideC=c; }
Constructors are similar to methods. Constructors set the properties of an object to an initial state.
![Page 40: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/40.jpg)
© A+ Computer Science - www.apluscompsci.com
public void setSideA(int a ) { sideA=a; }
Modifier methods are methods that change the properties of an object.
![Page 41: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/41.jpg)
© A+ Computer Science - www.apluscompsci.com
public int getSideA() { return sideA; }
Accessor methods are methods that retrieve or grant access to the properties of an object, but do not make any changes.
![Page 42: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/42.jpg)
© A+ Computer Science - www.apluscompsci.com
![Page 43: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/43.jpg)
© A+ Computer Science - www.apluscompsci.com
String frequently 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 44: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/44.jpg)
© A+ Computer Science - www.apluscompsci.com
String sent = "alligators rule"; String find = "gato"; System.out.println( sent.indexOf( find ) ); System.out.println( sent.indexOf( "dog" ) ); System.out.println( sent.substring( 3 , 6 ) ); System.out.println( sent.substring( 6 ) );
OUTPUT
4 -1 iga tors rule
![Page 45: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/45.jpg)
© A+ Computer Science - www.apluscompsci.com
![Page 46: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/46.jpg)
public class HiddenWord { private String word; public HiddenWord( String w ) { word = w; } public String getHint( String guess ) { String ret = ""; for( int i = 0; i < word.length(); i++) { if( word.substring(i,i+1).equals(guess.substring(i,i+1)) ) ret += word.substring( i, i+1); else if( word.indexOf( guess.substring(i,i+1))!=-1) ret += "+"; else ret += "*"; } return ret; } }
![Page 47: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/47.jpg)
© A+ Computer Science - www.apluscompsci.com
A+ Lab Assignments that cover the same string concepts as FR question # 2 :: • HexChecker, MorseCode • Rock-Paper-Scissors • Etch-A-Sketch
www.apluscompsci.com
![Page 48: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/48.jpg)
© 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 49: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/49.jpg)
© A+ Computer Science - www.apluscompsci.com
![Page 50: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/50.jpg)
© A+ Computer Science - www.apluscompsci.com
A typical ArrayList question involves putting something into an ArrayList and removing something from an ArrayList.
![Page 51: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/51.jpg)
© A+ Computer Science - www.apluscompsci.com
Arraylist is a class that houses an array. An ArrayList can store any type. All ArrayLists store the first reference at spot / index position 0.
![Page 52: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/52.jpg)
© 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 53: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/53.jpg)
© A+ Computer Science - www.apluscompsci.com
ArrayList frequently 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 54: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/54.jpg)
© 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
h c
![Page 55: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/55.jpg)
© 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
h c
![Page 56: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/56.jpg)
© 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 57: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/57.jpg)
© 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 58: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/58.jpg)
© 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 59: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/59.jpg)
© A+ Computer Science - www.apluscompsci.com
![Page 60: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/60.jpg)
public int getValueAt( int row , int col ) { for( SparseArrayEntry item : entries ) { if( item.getRow()==row && item.getCol()==col) return item.getValue(); } return 0; }
You must know ArrayList!
![Page 61: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/61.jpg)
public void removeCol( int col ) { for( int i = entries.size()-1; i>=0; i--) { SparseArrayEntry e = entries.get(i); if( e.getCol()==col) { entries.remove(i); } else if ( e.getCol()>col) { SparseArrayEntry up; up = new SparseArrayEntry( e.getRow(), e.getCol()-1, e.getValue() ); entries.set( i, up); } } numCols--; } You must know ArrayList!
![Page 62: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/62.jpg)
© A+ Computer Science - www.apluscompsci.com
A+ Lab Assignments that cover the same list concepts as FR question # 3 :: • MadLib, WordList, Numbers, and Toys • Moving Shapes • BlackJack – 21
www.apluscompsci.com
![Page 63: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/63.jpg)
© 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 64: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/64.jpg)
© A+ Computer Science - www.apluscompsci.com
A typical Abstract/Interface question requires that a class be written that extends the abstract class or implements the interface and that all abstract method(s) be implemented.
![Page 65: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/65.jpg)
© A+ Computer Science - www.apluscompsci.com
Abstract classes are used to
define a class that will be
used only to build new
classes.
No objects will ever be
instantiated from an abstract
class.
![Page 66: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/66.jpg)
© A+ Computer Science - www.apluscompsci.com
Mammal (abstract class)
Human Whale Cow
![Page 67: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/67.jpg)
© A+ Computer Science - www.apluscompsci.com
Any sub class that extends a
super abstract class must
implement all methods defined
as abstract in the super class.
![Page 68: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/68.jpg)
© 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 69: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/69.jpg)
© A+ Computer Science - www.apluscompsci.com
Why define talk as abstract? public abstract void talk( );
Does each Monster say
the exact same thing?
![Page 70: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/70.jpg)
© 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 71: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/71.jpg)
© 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 }
Pet Item
![Page 72: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/72.jpg)
© 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 73: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/73.jpg)
© 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 74: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/74.jpg)
© 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 75: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/75.jpg)
© 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 76: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/76.jpg)
© 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 will be done. If only the behavior is known, use an interface.
![Page 77: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/77.jpg)
© 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 an idea how it will be done. If the behavior is known and some properties are known, use an abstract class.
![Page 78: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/78.jpg)
© A+ Computer Science - www.apluscompsci.com
![Page 79: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/79.jpg)
public interface NumberGroup { boolean contains( int val ); }
![Page 80: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/80.jpg)
public class Range implements NumberGroup { private int low; private int high; public Range( int lo, int hi) { low = lo; high = hi; } public boolean contains( int val ) { return val >= low && val <= high; } }
![Page 81: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/81.jpg)
public class MultipleGroups implements NumberGroup { private List<NumberGroup> groupList; //constructors , other methods, and such not shown public boolean contains( int val ) { for( NumberGroup item : groupList ) { if( item.contains( val) ) return true; } return false; } }
![Page 82: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/82.jpg)
© A+ Computer Science - www.apluscompsci.com
A+ Lab Assignments that cover the same class concepts as FR question # 4 :: • Tic Tac Toe • Lots of games
www.apluscompsci.com
![Page 83: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/83.jpg)
© 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 84: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/84.jpg)
© A+ Computer Science - www.apluscompsci.com
Array / Array or Arrays – for and for each loops, nested loops, array of arrays concepts
Make a Class - Basic – create a basic class with instance variables, constructors, and methods
ArrayList of References / Strings – get,set,remove,add,size – levels of abstraction
Make a Class - Interface / Abstract – implement / extend – looks like this topic is back
![Page 85: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/85.jpg)
© 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 86: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/86.jpg)
© 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 87: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/87.jpg)
© 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 88: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/88.jpg)
© 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 89: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/89.jpg)
© 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 90: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/90.jpg)
© A+ Computer Science - www.apluscompsci.com
Array / Array or Arrays – for and for each loops, nested loops, array of arrays concepts
Make a Class - Basic – create a basic class with instance variables, constructors, and methods
ArrayList of References / Strings – get,set,remove,add,size – levels of abstraction
Make a Class - Interface / Abstract – implement / extend – looks like this topic is back
![Page 91: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/91.jpg)
© A+ Computer Science - www.apluscompsci.com
Visit us at www.apluscompsci.com
Full Curriculum Solutions
Slides and Examples Labs and Worksheets
Tests and Quizzes Solutions provided for all
www.facebook.com/APlusComputerScience
![Page 92: © A+ Computer Science - · © A+ Computer Science - Visit us at Full Curriculum Solutions M/C Review Question Banks Live Programming Problems](https://reader034.fdocuments.net/reader034/viewer/2022042212/5eb4ad1eef644676e47cc74f/html5/thumbnails/92.jpg)
© 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