Difference between revisions of "CSC111 Final Exam 2010"
(10 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
<onlydft> | <onlydft> | ||
− | |||
=Final Exam= | =Final Exam= | ||
Line 13: | Line 12: | ||
</bluebox> | </bluebox> | ||
− | + | ||
+ | =Problem #1: Temperatures in the UK= | ||
:[[Image:HistoricStationDataUKWeather.png | right | 200px]] | :[[Image:HistoricStationDataUKWeather.png | right | 200px]] | ||
You have to write a program that reads weather data from the Web, process the data, and output the answers to several questions. | You have to write a program that reads weather data from the Web, process the data, and output the answers to several questions. | ||
Line 21: | Line 21: | ||
The Web site http://www.metoffice.gov.uk/climate/uk/stationdata/ keeps records of temperatures for '''37''' towns/cities of the UK for the past few years, going back in some cases to 1853. | The Web site http://www.metoffice.gov.uk/climate/uk/stationdata/ keeps records of temperatures for '''37''' towns/cities of the UK for the past few years, going back in some cases to 1853. | ||
− | Your assignment | + | Your assignment deals with reading the data from this site, for all the cities, gathering some statistics, and outputting information in a nice, human readable format. |
===Accessing the Data=== | ===Accessing the Data=== | ||
Line 27: | Line 27: | ||
* The main address for the data is that of the Met-Office site: http://www.metoffice.gov.uk/climate/uk/stationdata/ | * The main address for the data is that of the Met-Office site: http://www.metoffice.gov.uk/climate/uk/stationdata/ | ||
− | * Note: in case the metoffice.gov.uk were to go down during the exam period, the data has been replicated at http://cs.smith.edu/~ | + | * Note: in case the metoffice.gov.uk were to go down during the exam period, the data has been replicated at http://cs.smith.edu/~dthiebaut/UKTemperatures/, and you can use this Smith-based Url instead. The data files are the same at both places. |
* A file name is associated with each city or town. For example, the city of '''Aberporth''' is associated with '''aberporthdata.txt''', and the record of the weather data for '''Aberporth''' is stored at URL http://www.metoffice.gov.uk/climate/uk/stationdata/aberporthdata.txt | * A file name is associated with each city or town. For example, the city of '''Aberporth''' is associated with '''aberporthdata.txt''', and the record of the weather data for '''Aberporth''' is stored at URL http://www.metoffice.gov.uk/climate/uk/stationdata/aberporthdata.txt | ||
Line 280: | Line 280: | ||
:There won't be any extension due to failure of the computer, either beowulf or yours. Python can run on all the various platforms available to you. As long as the computer you are using can access the Web, you can write a program for the final. In case beowulf is down on the last day of exam period, email your program to your instructor (thiebaut@cs.smith.edu) before the 4:00 p.m. deadline. | :There won't be any extension due to failure of the computer, either beowulf or yours. Python can run on all the various platforms available to you. As long as the computer you are using can access the Web, you can write a program for the final. In case beowulf is down on the last day of exam period, email your program to your instructor (thiebaut@cs.smith.edu) before the 4:00 p.m. deadline. | ||
− | + | =Problem #2= | |
− | Write a program called final2.py that contains a '''recursive''' function called '''minmax()''' which returns the smallest and largest | + | Write a program called final2.py that contains a '''recursive''' function called '''minmax()''' which returns the smallest and largest elements of a list. |
Example '''main()''' program: | Example '''main()''' program: | ||
Line 295: | Line 295: | ||
# will print | # will print | ||
# smallest item = -10 largest item = 20 | # smallest item = -10 largest item = 20 | ||
+ | |||
+ | A = [ 1 ] | ||
+ | low, high = minmax( A ) | ||
+ | print "smallest item =", low, " largest item = ", high | ||
+ | # will print | ||
+ | # smallest item = 1 largest item = 1 | ||
+ | |||
+ | A = [ ] | ||
+ | low, high = minmax( A ) | ||
+ | print "smallest item =", low, " largest item = ", high | ||
+ | # will print | ||
+ | # smallest item = None largest item = None | ||
</source> | </source> | ||
− | + | ==Requirements== | |
The function '''minmax()''' must be recursive. | The function '''minmax()''' must be recursive. | ||
− | + | ==Submission== | |
Submit your program as follows: | Submit your program as follows: | ||
Line 311: | Line 323: | ||
; Good luck! | ; Good luck! | ||
+ | |||
+ | <br /> | ||
</onlydft> | </onlydft> | ||
<br /> | <br /> | ||
Line 320: | Line 334: | ||
<br /> | <br /> | ||
<br /> | <br /> | ||
− | + | [[Category:CSC111]][[Category:Exams]] | |
− | [[Category:CSC111]] |
Latest revision as of 10:50, 2 September 2017