CSCI251: Your Software Company, Virtual Solutions, Has just won a $1m Contract to Design a Build a Prototype Weather Information Processing System: Advanced Programming Assignment, UOW, Singapore

University University of Wollongong (UOW)
Subject CSCI251: Advanced Programming

Aim

The objectives of this assignment include:

• Learning about procedural programming, control structures, arrays, dynamic memory allocation and handling input/output

• Apply the concepts learnt by developing a Weather Information Processing System

Hire a Professional Essay & Assignment Writer for completing your Academic Assessments

Native Singapore Writers Team

  • 100% Plagiarism-Free Essay
  • Highest Satisfaction Rate
  • Free Revision
  • On-Time Delivery

Background

Your software company, Virtual Solutions, has just won a $1m contract to design a build a prototype Weather Information Processing System (WIPS).

For this assignment, you take on the role of a software architect. You are supplied with sample input weather data (kindly provided by the meteorological station), and you need to develop a program that does the following:

1) read in and process a configuration file

2) display city map

3) display cloud coverage map (cloudiness index)

4) display cloud coverage map (LMH symbols)

5) display atmospheric pressure map (pressure index)

6) display atmospheric pressure map (LMH symbols)

7) show weather forecast summary report

The program should be compiled as Icsci251_al .exes and run in Ubuntu 14.04 (Linux OS). The next section describes the requirements for the program.

Task Requirements

A) Upon startup, the program should prompt the user to enter a ‘configuration’ filename. The program then proceeds to read the contents (of the entered filename) to further initialize its own program parameters/data structures. Please refer to Appendix A, which provides details on the configuration file and its usage.

B) The meteorological station has adopted a map-grid coordinate system upon which it overlays all other weather data. With regards to the display city map option, please refer to Appendix B, which elaborates on this coordinate system, the unit representation, the relative positioning of different cities and its display requirements.

C) For the display requirements of cloud coverage (cloudiness index), AND cloud coverage (LMH symbols) (i.e. options 3) & 4)), please refer to Appendix C, which will discuss the interpretation of cloud cover input data, its subsequent processing algorithm and output format requirements.

D) For the display requirements of atmospheric pressure (pressure index) AND atmospheric pressure (LMH symbols) (i.e. options 5) & 6)), please refer to Appendix D, which will discuss the interpretation of pressure input data, its subsequent processing algorithm and output format requirements.

E) For the display requirements of the weather forecast summary report, please refer to Appendix E, which will provide details about the kind of summarized weather data to be displayed, the processing algorithm to compute the probability of rain and its graphical display format.

F) Refer to Appendix F, for a description of the program’s main menu requirements

G) Once the program is completed and tested to be working successfully, you are encouraged to add on “new features” to the program that you feel are relevant to the problem. Additional marks may be awarded subject to the relevancy and correctness of the new functionalities. ( Note: the additional features will only be considered IF the program has correctly fulfilled all the basic requirements elaborated in the earlier sections! )

H) You are not allowed to declare your own C++ classes for this program, as this is a purely procedural (not Object Oriented) programming assignment!

I) You are to use only the C++ language to develop your program. There is no restriction on the IDE as long as your source files can be compiled by a g++ compiler (that comes installed in Tutor’s Ubuntu Linux) and executed in the Ubuntu terminal shell environment.

Processing Configuration

File Info Upon startup, the program should prompt the user for the following Please enter config filename: config.txt When the user presses ‘Enter’, the program should perform File I/O to read in the contents in the stated filename (e.g. in this case ‘config.txt’)

The config.txt contains data like the size of the grid-map area (indicated by index ranges), as well as a series of filenames, which your program should further access, in order to read in the various relevant weather data provided by the Meteorological Station. Figure A-1 below provides a sample of the actual contents within this configuration file.

APPENDIX B

Map-Grid Coordinate System (used by Meteorological Station) City Map Input Data & Output Requirements

Figure B-1 below provides a sample of the actual contents within the input file (e.g. storing city-occupied grid areas.

a) As discussed in earlier Appendix A Fig. A-1, the range values for variables ‘GridX_IdxRange’ and ‘GridY_IdxRange’ can vary. This implies the size and shape of your map display can change as well (e.g it is possible to have a large ‘rectangular’ shag So*)— Therefore please do not assume / “hard code” any constant values for your array sizes to store your map data!

b) You must make use of basic C++ array, and .i.ameamory allocation ( research on how to use ‘new’ ) to initTaTeTharays duririgWgram runtime, to store all relevant weather map-data.

c) The type of the array (e.g. int, double, struct, etc) is up to you, and there is no restriction on how many arrays you think is necessary to store all the relevant weather data.

d) Before your program exit, y was dynamically allocated by you during runtime ( research o o use ‘delete’ ). Failure to do so results in memory leak … and marks deduction!

Stuck with a lot of homework assignments and feeling stressed ? Take professional academic assistance & Get 100% Plagiarism free papers

Appendix C

(Cloud Cover Input Data & Output Requirements)

Figure C-1 below provides a sample of the actual contents within the input file (e.g. . ), storing the cloud cover input data, for each grid area in the map.

Note: due to lack of ‘vertical space on this page, the entire content is split across Figures C-la, C.1 b and C-1c. In reality, the data in all 3 figures are combined and stored in a single input file!

Note: b) Bright Yellow grid areas indicate the ACTUAL Grid Area occupied by a particular city. For example, in fig. C-2 above, the city named occupies the following grid areas: 12. 71. (2. 81.13. 71. 13. 8)

c) Light Yellow grid areas indicate the grid areas surrounding the perimeter of EACH city.

For example, in 11g. C-2 above, the city named has the following grid areas surrounding its perimeter : [ 1.61. [I. 71. [I, 8], [2, 6]. [3.61, [4, 6], [4, 7]. 14, 8] • The grid areas [I. 91. [2. 9]. [3.9]. [4.9] are not shown as they are BEYOND the upper limits of the vertical GridY_IdxRange! As a result.

they are not included in the ACC computation (see bel was well . d) For each city, the AVERAGE CLOUD COVER (ACC) value • derived, by the following: ACC = SU un mg grid areas) / Total # of grid areas For example. for the city named • ACC =((38+32+52+29)+(88+75+21+70+53+48+29+75)1112 = 50.83

Buy Custom Answer of This Assessment & Raise Your Grades

Get Help By Expert

Students of Singapore often ask us to solve my assignment online for CSCI251: Advanced Programming Assignment. At Singapore Assignment Help we have a bunch of dedicated programming assignment helpers who have experienced in providing flawless solutions on Computer Science Assignment which will take your rank higher in your academic area. Besides this, we are the best python programming assignment help provider all over the globe.

Answer

Looking for Plagiarism free Answers for your college/ university Assignments.

Ask Your Homework Today!

We have over 1000 academic writers ready and waiting to help you achieve academic success