INT2067/INT5051 Introduction to Programming

75 阅读3分钟

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.

  1. [10%] Calculate and print the time of flight in seconds (see Section 4).

  2. [10%] Calculate and print the range of motion in meters (see Section 4).

  3. [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.

  1. [10%] Round the values in the output for steps 3 and 4 to four decimal digits 

and those for step 5 to代写INT2067/INT5051 Introduction to Programming and Problem Solving  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 www.coursehero.com/study-guide…

2 docs.python.org/3/library/m…

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

WX:codinghelp