HOMEWORK PROBLEM 5 INTRODUCTION TO Ada 95 586 PURPOSE: To gain experience in Ada strong typing. This problem will use private types, derived types, subtypes, type conversion, real types and qualified expressions. END RESULT: A set of packages that allow the attached procedure to compile and execute correctly. PROBLEM: You are to provide a set of packages that physics students are to use in programming their homework. The problems are limited to distance, time, velocity and acceleration. The student must not be allowed to write code that violates dimensional analysis of physics. Still the student should be able to use square root and trig functions as well as non dimensional quantities. The only units that need to be considered are meter, second, meter per second and meter per second squared. Information supplied in the handout includes: dimensional analysis, definition of MKS and English systems of units, physical constants and equations of physics. It adds too much complexity to be able to handle all equations in any system of units. Conversion to base units and back is the most practical way to solve the general problem. In order to save typing, the full set of sample packages used in the lecture can be copied from ECLUS::DISK2:[ADA.ADA95] of FTP from SIGPRO.MD.ESSD.NORTHGRUM.COM/pub/ada95 Get the file PHYSICS.ADA and use gnatchop on it. These do not have to be used. You can solve the problem by any method you choose. You will be making small changes in a number of files. TURN IN: Printout of source program and execution output. OBSERVE: The distinction between type conversion and qualified expression. The uses of derived types and subtypes. At least some of the packages would be generic in their final versions. Note that many Ada papers and text books show a lack of understanding for dimensions and units as related to Ada's strong typing capability. METHOD: Use the starter set of files or develop your own code. READING: BARNES 6.3, 6.4, 11.2, 11.3 11.4, IS0 8652:1995 3.2, 3.4, 3.5.6, 3.5.7, 4.6, 4.7