8
Prof. Alfred J Bird, Ph.D., NBCT [email protected] http://it441-f12.wikispaces.umb.edu/ Office – Wheatly 2nd floor 096-03 Office Hours – MW 3:00PM to 4:00PM

Prof. Alfred J Bird, Ph.D., NBCT [email protected] Office – Wheatly 2nd floor 096-03 Office Hours – MW 3:00PM to 4:00PM

Embed Size (px)

Citation preview

Page 1: Prof. Alfred J Bird, Ph.D., NBCT abird@cs.umb.edu  Office – Wheatly 2nd floor 096-03 Office Hours – MW 3:00PM to 4:00PM

Prof. Alfred J Bird, Ph.D., [email protected]

http://it441-f12.wikispaces.umb.edu/

Office – Wheatly 2nd floor 096-03Office Hours – MW 3:00PM to 4:00PM

Page 2: Prof. Alfred J Bird, Ph.D., NBCT abird@cs.umb.edu  Office – Wheatly 2nd floor 096-03 Office Hours – MW 3:00PM to 4:00PM

Write a program that:Asks you the numeric value of the month and the year

you were born, creates an array called @months with the names of the months and an array called @numDays that contains the number of days in a month (remember leap years) and use these arrays in a print statement to print out the month, the year and how many days are in the month you were born based on the info you entered.

Page 3: Prof. Alfred J Bird, Ph.D., NBCT abird@cs.umb.edu  Office – Wheatly 2nd floor 096-03 Office Hours – MW 3:00PM to 4:00PM

Write a program that:Asks you the numeric value of the month and the year you were

born, creates an array called @months with the names of the months and an array called @numDays that contains the number of days in a month (remember leap years) and use these arrays in a print statement to print out the month, the year and how many days are in the month you were born based on the info you entered.

#!/usr/bin/perl/print “Enter the number of the month you were born: “;chomp ($month = <STDIN>);print “Enter year you were born: “;chomp ($year = <STDIN>);@months = qw&January February March April May

June July August September October November December&;@numDays = (31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);$numDaysCorrect = $numDays[$month-1];if ($month==2 && $year%4==0){$numDaysCorrect=29;}print (“$months[$month-1] $year has $numDaysCorrect days \n”);

Page 4: Prof. Alfred J Bird, Ph.D., NBCT abird@cs.umb.edu  Office – Wheatly 2nd floor 096-03 Office Hours – MW 3:00PM to 4:00PM

Write code using the previous program that will print out a series of statements like the following: The month of January has 31 days …

Assume you do not know how many entries there are in the arrays but that both arrays have the same numbers of entries

Page 5: Prof. Alfred J Bird, Ph.D., NBCT abird@cs.umb.edu  Office – Wheatly 2nd floor 096-03 Office Hours – MW 3:00PM to 4:00PM

How do we add data to an array? @array = (@array, $scalar); #is one way!

But there is a better way!! push @array, $scalar; #will do the same

thing! push will append the value in $scalar to

the top of @array Likewise pop will take the last value in an

array and do something with it. $scalar = pop @array

Page 6: Prof. Alfred J Bird, Ph.D., NBCT abird@cs.umb.edu  Office – Wheatly 2nd floor 096-03 Office Hours – MW 3:00PM to 4:00PM

push() and pop() act on the top of an array (the highest indexed end)

shift() and unshift() act on the bottom of an array and perform the same function.

We already know what reverse() does.

Page 7: Prof. Alfred J Bird, Ph.D., NBCT abird@cs.umb.edu  Office – Wheatly 2nd floor 096-03 Office Hours – MW 3:00PM to 4:00PM

Another function is sort(). What do you think it does? Write a simple program to try it with your array

of months. Predict the output before you try it. What happened?

Now write a simple program to try it with an array of number between 0 and 100 (at least 20 numbers). Predict the output before you try it. What happened????? Why?????

Page 8: Prof. Alfred J Bird, Ph.D., NBCT abird@cs.umb.edu  Office – Wheatly 2nd floor 096-03 Office Hours – MW 3:00PM to 4:00PM

Read pages 95 to 114 in the textbook.