computer science 1 how do you store a bunch of similar stuff?

20
Computer Science 1 How do you store a bunch of similar stuff?

Upload: kenneth-hunt

Post on 18-Jan-2018

219 views

Category:

Documents


0 download

DESCRIPTION

Goals Understand when to use arrays. Be able to read a program that uses one dimensional arrays. Be able to write the code to create arrays. Write a program that uses arrays.

TRANSCRIPT

Page 1: Computer Science 1 How do you store a bunch of similar stuff?

Computer Science 1

How do you store a bunch of similar stuff?

Page 2: Computer Science 1 How do you store a bunch of similar stuff?

What do you think this does?

Program arraynyday;Type

Numtype = array[1..5] of integer;Var

Re:numtype;bound, cord, mind:integer;

BeginFor bound:= 1 to 5 do

Re[bound]:= 3*bound;For cord:= 5 downto 2 do

Re[cord]:= re[cord]+ cord;For mind:= 1 to 5 do

Writeln(re[mind]);For bound:= 1 to 4 do

Re[bound]:=re[bound + 1];Re[5]:=re[2];For mind:= 1 to 5 do

Writeln(re[mind]);End.

Page 3: Computer Science 1 How do you store a bunch of similar stuff?

Goals• Understand when to use arrays.• Be able to read a program that

uses one dimensional arrays.• Be able to write the code to create

arrays.• Write a program that uses arrays.

Page 4: Computer Science 1 How do you store a bunch of similar stuff?

Storing stuff• Keep track of all of the actions on the

ATM• Save names for future reference.• Save a bunch of numbers to put in order• The position of game pieces in checkers• The colors for a chunk of the screen.

Page 5: Computer Science 1 How do you store a bunch of similar stuff?

Arrays to the rescue• What is it? A type of

variable that can hold several values of the same type.

• The names of 8 friends.• Your 10 best swimming

times.• The total points for the

12 players on the basketball team.

• 3 x 3 tic-tac-toe board• 37 account balances.

PebblesSueFredWilmaBettyDinoBam BamBarney

Page 6: Computer Science 1 How do you store a bunch of similar stuff?

When should you use an array?• When you have a large group of

similar information that you are going to use more than once.

• When you are sorting

Page 7: Computer Science 1 How do you store a bunch of similar stuff?

Types of uses• General storage

• Save 20 names• Allows you to be able to look at the

information again.• Tallying

• Counting how often events occur.• Statistics

• Sorting• Putting stuff in order.

Page 8: Computer Science 1 How do you store a bunch of similar stuff?

Steps for making an array

•Define it•In the TYPE section

•Declare it•In the var section

•Use it•In the code section

Page 9: Computer Science 1 How do you store a bunch of similar stuff?

Define it• Program sample;• Uses• Const• Type

– ScoresType = array[1..15] of integer;– CapitalLettersType = array[‘A’..’Z’] of string;– TicTacToeType = array[1..3, 1..3] of char;– SeatingType = array[‘A’..’M’, 1..50] of string;

Page 10: Computer Science 1 How do you store a bunch of similar stuff?

Declare it

• Var• scores: Scorestype;• capitalLetters : CapitalLettersType;• ticTacToe: TicTacToeType;• seating:SeatingType;• count:integer;

Page 11: Computer Science 1 How do you store a bunch of similar stuff?

Use it

• Begin– Scores[1] := 0;– Writeln(‘Please enter a score’);– Readln(scores[2]);– How can you get all 10 scores with using 10

writeln/readlns?

Page 12: Computer Science 1 How do you store a bunch of similar stuff?

Other stuff you can do

• Scores[2] := scores[3];• Scores[count]:=scores[scores[2]]; {?}• Scores[count-3] := scores[count-4];• If scores[count] > 10 then

– Writeln(scores[count]);

Page 13: Computer Science 1 How do you store a bunch of similar stuff?

What do you recall about…

• Arrays• Type• [1..5]• [1..5,1..5]• Defining arrays• Declaring Arrays• Using Arrays

Page 14: Computer Science 1 How do you store a bunch of similar stuff?

Good array errors• Writeln(scores); {You need a loop to show

all of the values}• scoresType[2] := 20;• Scores[27]:= 8; {Out of bounds}• Scores:=6; {No address given}

Page 15: Computer Science 1 How do you store a bunch of similar stuff?

Conversions: Fill in the following

DecimalDecimal BinaryBinary OctalOctal HexadecimalHexadecimal

5757

111011111011

123123

A9A9

Page 16: Computer Science 1 How do you store a bunch of similar stuff?

Dry run the following

Program arraysample;{Dry run the following}Type

Arraytype = array[1..5] of integer;Var

Numbers:Arraytype;Count:integer;

BeginFor count:= 5 downto 1 do

Numbers[count]:= count;Numbers[2]:= numbers[3] + 5;Numbers[3]:= numbers[2+2];Numbers[5]:=2;For count:= 1 to 5 do

Writeln(Numbers[count]);{This next one is weird}numbers[numbers[5]] := numbers[3]*5;for count:= 1 to 5 do

writlen(numbers[count]);readln;

end.

Page 17: Computer Science 1 How do you store a bunch of similar stuff?

Dry Run for pos:= 1 to 5 do

info[pos]:= pos*2;for pos := 1 to 5 dobegin if (pos div 2) > 2 then

info[pos]:= info[pos] + pos else

info[pos]:= info[pos]*pos;end;for pos:= 1 to 5 do

writeln(info[pos]);

Page 18: Computer Science 1 How do you store a bunch of similar stuff?

Your turn…• Write the type and var section to

create arrays to store the following• 10 names• 15 test scores

Page 19: Computer Science 1 How do you store a bunch of similar stuff?

Try code• Write the code to …• Input 10 names into the array

created previously• Input 15 test scores• Output all of the names• Output all of the test scores• Find and show the highest test

score

Page 20: Computer Science 1 How do you store a bunch of similar stuff?

Program options1. Enter 10 names and show the names in reverse order.2. Input: 10 scores

Output: The number of scores within 10 points of the average of the 10 scores. (You’ll need to calculate the average before going back and seeing which scores are within 10 points of the average.)

3. Create a random compliment generator using an array to store the compliments. Using a while loop (so the user can be complimented often) have the computer display one of at least 5 random compliments each time the user would like to be complimented.