联系方式

  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-21:00
  • 微信:codinghelp

您当前位置:首页 >> Python编程Python编程

日期:2023-12-06 09:00

Department of Electrical & Electronic Engineering

University of Nottingham Ningbo China

Introduction to Software Engineering and

Programming

EEEE1044

COURSEWORK 2

Submission Deadline: 3:00pm, Wednesday, 6 December, 2023

Submission Type: Moodle

Submission Document: ONE .c file OR ONE zipped folder

2023/2024

1. Design a user friendly welcome screen based on the requirements in 2 ~ 5, in order to make clear the

following aspects:

What does this program accomplish?

What kind of information the user need to input?

What are the requirements for the inputs?

Figure 1 Resources of edge lengths for the triangle

2. In function main(), prompt the user to input 2 numbers as the 2 edge lengths of a triangle, e.g. 50cm, 10

dm, corresponding to Input 1 and Input 2 shown in Figure 1, respectively. The units that are supported by

the program include:

Meter, the unit for user input is m

Decimeter, the unit for user input is dm

Centimeter, the unit for user input is cm

The inputs should meet the following conditions:

The values should be greater than zero;

The unit for each length should be one of the units supported by the program;

The units for the 2 lengths entered by the user can be different;

If any of the conditions above is not satisfied, display one of the error messages below whichever

appropriate, and prompt the user to input again until valid inputs are obtained.

Error!! The value entered is less than 0!

or

Error!! The unit entered is not supported by the program!

3. Use the first external function to convert the input units into centimeters, then return the lengths in

centimeters back to main().

Note: Think about the argument list for the first external function, and global variable is NOT allowed.

Input 1

(a)

Input 2

(b)

Random length from program

(c)

4. In function main(), check if both lengths are ≥ 10 cm, if not, display the following error message and

prompt the user to input again until valid inputs are obtained. The lengths in centimeters will be used for

all the following calculations.

Error!! The length is less than 10 cm!

5. In function main(), if one length is less than 10% of the other length, display the following error message

and prompt the user to input again until valid inputs are obtained. For example, if the two inputs are

500cm and 100mm, 100mm is less than 50cm (500cm × 10% = 50cm), so the user need to input again.

Repeat step 2 ~ 5, until the valid inputs are obtained.

Error!! One length is less than 10% of the other!

6. In the second external function, use rand() to generate a random number as the third edge length for

the triangle, the unit of which is presumed to be centimeter by default and no need to convert unit for the

third edge length. The random number should meet the following requirements:

The third length, c, should be less than the sum of the 2 input lengths, i.e. c < (a + b)

The third length, c, should be greater than the absolute value of the difference between the 2

input lengths, i.e. c > |a – b|

In the second external function, display the 3 edge lengths for the triangle in the following format. The

third edge length need to be returned back to function main() for later calculation.

Display 1:

Edge length 1 (input 1): 50 cm

Edge length 2 (input 2): 100 cm

Edge length 3 (rand): 75 cm

Note: Characters in yellow are examples, and the actual numbers should be the numbers calculated or

generated in your program. Global variable is NOT allowed.

7. In function main(), use Heron’s Formula to calculate the area of this triangle (Equation 1). Find the

maximum length from the 3 edges, and calculate the height of this triangle using Equation 2. Display both

results following the format shown in the image below.

𝑆 =

1

4

√(𝑎 + 𝑏 + 𝑐)(𝑎 + 𝑏 − 𝑐)(𝑎 + 𝑐 − 𝑏)(𝑏 + 𝑐 − 𝑎) Equation 1

𝐻𝑒𝑖𝑔ℎ𝑡 =

2𝑆

𝑀𝑎𝑥𝐿𝑒𝑛𝑔𝑡ℎ

Equation 2

Display 2:

The area of triangle is 1815.46 cm2

The height of triangle is 36.31 cm

Note: Characters in yellow are examples, and the actual numbers should be the numbers calculated or

generated in your program.

8. In the third external function, complete the following tasks:

1) Find the maximum edge length from the 3 edge lengths passed from function main().

2) Calculate the half value of the maximum edge length, and scale the half value within the range of

1 ~ 10 (both inclusive), and the scaled number will be used as the row number. For example, the

maximum edge length in the example is 100 cm (50cm, 100cm, 75cm), and its half value is 50 cm,

then it is scaled to 5, and 5 will be the row number.

3) The height of the triangle should also be scaled within the range of 1 ~ 10 (both inclusive) and this

value will be used as the column number. For example, the height of the example triangle is

36.31cm, then it is scaled to 3.63 cm, and 3 will be the column number.

4) Use the row number from step 8.2 and the column number from step 8.3 to draw a triangle pattern

use the symble ‘*’. The number of ‘*’ to be printed on each row follows Equation 3. Note: only the

integer part of the result calculated by Equation 3 is kept for pattern printing.

𝑁𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 ∗ 𝑜𝑛 𝑖

𝑡ℎ

𝑟𝑜𝑤 = (𝑖𝑛𝑡)

𝐶𝑜𝑙𝑢𝑚𝑛𝑁𝑢𝑚𝑏𝑒𝑟

𝑅𝑜𝑤𝑁𝑢𝑚𝑏𝑒𝑟

× 𝑖 Equation 3

Figure 2 The printed patter is half of the yellow triangle in this figure.


Note: there should be only 3 external functions in this program, and no additional functions are allowed.

Maximum edge length

Height

Assessment Criteria

Based on the principles of effective and efficient software engineering practice, this coursework

will be assessed using the criteria as shown below.

Component Weighting

Completion of the Task 50%

Data Type Usage and Memory Efficiency 10%

Program Structure (Algorithm) 10%

User-Friendly Interface 10%

Satisfaction of System Requirement 10%

Comments 10%

Total 100%

Assessment Platform

All the submissions will be assessed by the CodeBlocks installed on University computers. Any

programs that cannot be executed successfully on University computers will not be assessed by

any other ways, e.g. by using a different IDE on your own laptop.


版权所有:编程辅导网 2021 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。 站长地图

python代写
微信客服:codinghelp