Assignment 1
INT2067/INT5051 Introduction to Programming and Problem Solving
2024-2025 Semester 2
Due Date: February 23, 2025 (Sunday)
1 Introduction
In this assignment, you are required to write a program that calculates different
quantities related to a projectile motion. The calculation could be useful in simulation
and computer games.
2 Functional Requirements (70%)
Your program should do the following:
1. [10%] Print a welcome message when the program starts.
2. [10%] Ask the following inputs from the user according to the sequence given
below:
a) Initial speed in meter per second; and
b) Angle of projection in degree;
The above two inputs can be real numbers.
3. [10%] Calculate and print the time of flight in seconds (see Section 4).
4. [10%] Calculate and print the range of motion in meters (see Section 4).
5. [20%] Calculate the horizontal displacement 𝑥 and vertical displacement 𝑦 in
meters for six different time points in the motion. Suppose T is the time of
flight. The time points are 0, T/5, T/3, T/2, 3T/4, and 𝑇. The values should
be given in a table format.
6. [10%] Round the values in the output for steps 3 and 4 to four decimal digits
and those for step 5 to two decimal digits properly. You should also align the
columns to left, center, and right like a table, respectively.
3 Program Design and User Interface (30%)
The following will also be considered when your assignment is graded.
• [10%] The variable names should be sensible and the code should be tidy.
• [10%] You should break down your program into code blocks with comments.
• [10%] The output should be neat and the required information should be
shown clearly. The text in the output should be correct and contain no spelling
mistakes.
4 Projectile Motion Calculation
Consider a projectile motion with initial speed u and angle of projection θ. Let g
denote the standard gravity and assume g = 9.81 m/s2
.
• The time of flight 𝑇 is given by Equation (1):
𝑇 =
2 × 𝑢 × sin 𝜃
𝑔
• At time 𝑡 within the time of flight, the horizontal and vertical displacements,
𝑥 and 𝑦, are given by Equation (2) and (3):
𝑥 = 𝑢 × 𝑡 × cos 𝜃
𝑦 = 𝑢 × 𝑡 × sin 𝜃 −
1
2
𝑔 × 𝑡
2
• The range of motion 𝑟 can be given by computing the horizontal displacement
when time equals time of flight, that is, by setting 𝑡 = 𝑇 in Equation (2).
The above equations should allow you to compute all the required quantities in this
assignment. However, if you want more explanation, you may refer to this page1
.
5 Hints
To compute sin θ and cos θ, you may use the Python functions math.sin and
math.cos for trigonometric functions. However, those functions require an angle in
radians as parameter, so you will need to use the function math.radians to convert
an angle in degrees to one in radians.
Refer to the documentation for the Python math module2
for more information about
the above Python math functions.
6 Submission Requirements
Your Python file should be named as assignment1.py. Submit only the Python file
assignment1.py through Moodle. Failure to submit the file properly will result in
a penalty of 5 to 20 marks.
1 https://www.coursehero.com/study-guides/boundless-physics/projectile-motion/
2 https://docs.python.org/3/library/math.html
See Moodle for the exact time of the deadline for submission. Late submission is
usually not accepted. You should submit earlier to avoid possibly high traffic around
the deadline.
7 Plagiarism Policy
The assignment should be done only by yourself. Every line of code should be written
by you. The use of any artificial intelligence (AI) tools is NOT allowed in this
assignment. Discussions on the assignment should be kept at a high-level only. You
are suggested to refer your classmates to the relevant notes or lab exercises if you
want to help them.
You need to put down a declaration for having not used AI tools as comment at the
beginning of your program file. For example, your declaration may look like this:
# Declaration: this code is my own individual and original work without AI assistant.
If you have used AI tools or consulted the assignment with anyone, you should
provide an acknowledgment as comment at the beginning of your program file. Give
the names of all classmates that you have turned to. For example, your
acknowledgement may look like:
# Acknowledgement: I have asked Thomas, Gordon, and Emily for help.
# Acknowledgement: I have used AI tools (such as ChatGPT, gpt4o via POE, etc.) in
working on this assignment.
If plagiarism is found, both the copier and originator will get zero mark for the
assignment. Repeat offenders may result in a deduction of the course grade.
8 Sample Input & Output
Welcome to projectile motion calculator!
Enter initial speed (m/s): 5↵
Enter angle of projection (degree): 42↵
Time of flight is 0.6821 seconds.
Range of flight is 2.5345 meters.
Time (s) x (m) y (m)
0.00 0.00 0.00
0.14 0.51 0.37
0.23 0.84 0.51
0.34 1.27 0.57
0.51 1.90 0.43
0.68 2.53 0.00
版权所有:编程辅导网 2021 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。