联系方式

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

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

日期:2024-03-20 08:40

ENGG1330 Computer Programming I Assignment 1

Page 1 of 7

ENGG 1330 Computer Programming I (23-24 Semester 2)

Assignment 1

Due date: 9:30am, 21-March-2023 (Thu)

Late submission: 20% deduc4on per day

Important notes

? Only Python built-in features should be used in doing this assignment. It is

unnecessary to import any modules to do this assignment. Zero mark will be given

to programs that import any modules. If you are unsure, feel free to contact us for

clarifica=on.

? While programming style is not graded, you are highly recommended to use func=ons

to factor your program, write clear and =dy codes, e.g., descrip=ve comments,

concise and clear naming, appropriate spacing.

Submission

? Virtual Programming Lab (VPL) will be set up for submission and tes=ng. Only the last

submission will be considered as the final submission.

? Test your program thoroughly before the deadline. Your programs must generate

output according to the required formats, e.g., no extra text/space. If you are

unsure about the requirements, feel free to contact us for clarifica=on.

? The test cases provided in VPLs only check whether your programs meet the basic

requirements. You should test the robustness of your programs by crea=ng more test

cases on your own. Your programs will be assessed with another set of private test

cases.

? 20% will be deducted from the final mark for every 24-hour aOer the submission due

date.

? Do not submit any program aOer the due date if your work is final. Any submission

aOer the due date is regarded as late submission.

Plagiarism

? Confirmed plagiarism cases (detected by the system) will get zero mark and subject

to disciplinary ac=ons. The penalty applies to the source provider(s) as well. In other

words, students who submit same/highly similar programs will all get zero mark.

Students have full responsibility to protect their programs from being accessed by

others.

? Every year in the past, several students had found engaged in plagiarism. They all got

zero mark for the assignment and a warning leWer issued by the Department Head.

Questions

? If you have any ques=ons, please send email to Mr. Zhang Jierui

(jrzhang@eee.hku.hk) or Mr. Huang Binxiao (bxhuang@eee.hku.hk) who oversee this

assignment.

ENGG1330 Computer Programming I Assignment 1

Page 2 of 7

Problem 1 (20%)

You are running a dessert shop selling mousse cakes and macarons at a price of $35 and $20,

respec;vely. It takes 5 minutes to make a mousse cake and 8 minutes to make a macaron. There

are dine-in and takeaway op;ons, with a 10% service charge for dine-in. There is no takeaway for

macarons, and so, any takeaway macarons will be removed from the orders.

Now, write a program to read all the orders un;l the input equals -1, indica;ng the end of entry. For

each order, the user enters three numbers separated by a white space in a line before hiJng the

'enter' key. The first number is the number of mousse cakes in the order, the second number is the

number of macarons, and the last number is either '0' or '1', where '0' represents dine-in and '1'

represents 'takeaway'. ANer reading all the orders, the program generates a daily sales report

summarizing the total number of mousse cakes and macarons sold, the (total) sales amount, the

(total) service charges and the (total) produc;on ;me.

Detailed format requirements of the daily sales report:

? The width of the report is 40 characters.

? The heading is at the center with a leading white space and a trailing white space, filled with

'*' on both sides.

? In each row, the name is leN aligned, and the value is right aligned.

? Prefix the sales amount and service charges with a '$' sign. The sales amount is in dollar and

the service charges are in 10-cent (i.e., 1 decimal place).

? The produc;on ;me is in number of hours and number of minutes. Add ‘s’ to the unit when

the number is plural and do not display the number '0' and its unit.

Samples

Takeaway macarons are

removed from the order

Service charges are in 10-cent

(i.e., 1 decimal place)

Add ‘s’ to the unit when the

number is plural and do not

display the number '0' and its unit.

Add ‘s’ to the unit when the

number is plural and do not

display the number '0' and its unit.

ENGG1330 Computer Programming I Assignment 1

Page 3 of 7

Problem 2 (20%)

There is a rectangular grid with height h and width w, and a word is embedded in the grid with

empty spaces filled with the character "#". The word is stored either horizontally, ver;cally, or

diagonally and the word starts with a character in uppercase and other characters in lowercase. So,

the character in uppercase determines the reading direc;on of the word. You need to find and print

the whole word in uppercase.

Write a program to ask the user to input the height h in the first line, and the width w in the second

line, then, the grid itself consis;ng of h lines of strings, each string of length w characters. Lastly,

print the whole word in uppercase.

Samples

The word "Program" is embedded

horizontally in a 8 X 8 grid

The word "Engineering" is embedded

diagonally in a 12 X 12 grid

ENGG1330 Computer Programming I Assignment 1

Page 4 of 7

Problem 3 (25%)

In a magical world, there are families living on a horizontal straight line, viz., an x-axis. Every family

has a unique family ID i (posi;ve integer) and a unique coordinate xi (non-nega;ve integer) and the

distance between two neighboring families, i and j, is |xi - xj|.

You are a magical postman and need to deliver mail from one family to another family, possibly via

other families. Some magic beans will be consumed as follows when you move from one family i to a

neighboring family j. And you want to minimize the number of magic beans consumed for every

delivery (of course!).

? If family j is the nearest neighbor of family i or family j is the only neighbor of family i, only 1

magic bean is consumed, since every family has a magic track to its nearest or only neighbor.

? Otherwise, the number of magic beans consumed equals the distance between the two

families, i.e., |xi - xj|.

It is guaranteed that every family has one unique nearest neighbor. But be reminded that "j is the

nearest one of i" doesn't necessarily imply "i is the nearest one of j", you can think and find why.

Write a program for the postman with the following inputs and outputs.

In the first line, the number of families N is inpueed. Then, the family ID i and its coordinate xi in the

form of "i xi" are inpueed in the next N lines. The family IDs are unique and in the range of 1, 2, ..., N,

but they may not appear in order.

Next, the number of deliveries M is inpueed, followed by M lines of deliveries in the form of "i k"

meaning that a mail has to be delivered from family i to family k.

Lastly, your program has to output M lines, where each line contains an integer, which is the

minimum number of magic beans consumed to deliver the corresponding mail.

Consider the following inputs consis;ng of five families and three deliveries.

Below is a diagram showing the loca;ons of the five families. The coordinates are shown below the

x-axis while family IDs are shown above the x-axis.

For the first delivery 2 3, since family 3 is the only neighbor of family 2, the number of magic beans

consumed is 1.

ENGG1330 Computer Programming I Assignment 1

Page 5 of 7

For the second delivery 2 4, the total number of magic beans consumed is 8 and the breakdown is as

follows.

? From family 2 to family 3, the number of magic beans consumed = 1.

? From family 3 to family 1, the number of magic beans consumed = 1.

? From family 1 to family 5, the number of magic beans consumed = 1.

? From family 5 to family 4, the number of magic beans consumed = 5.

For the third delivery 5 2, the total number of magic beans consumed is 13 and the breakdown is as

follows.

? From family 5 to family 1, the number of magic beans consumed = 1.

? From family 1 to family 3, the number of magic beans consumed = 4.

? From family 3 to family 2, the number of magic beans consumed = 8.

Samples

ENGG1330 Computer Programming I Assignment 1

Page 6 of 7

Problem 4 (35%)

You are a soldier in the baelefield game. The baelefield is a rectangular grid (matrix) M and the

elements in the grid are integers. If the element mij in row i and column j is posi;ve (indices i, j start

from 0), it means there are mij enemies in this place; if mij = 0, it means there is no one in this place;

if mij = -1, it means there are friend troops in this place.

You have a special weapon with power p. You can use it for one 1me at a selected place in a selected

direc;on. The following figures show the damage range for p = 3 in four direc;ons (↑→, ↓→, ←↓,

←↑), respec;vely. For other value of power p, the damage range changes accordingly.

You have to find out the place and the direc;on to use the weapon, such that you can kill the most

enemies while no friend troops get hurt. Every enemy you killed, you get 1 reward. If no enemy is

killed, your reward is 0.

Write a program to read h+1 lines. In the first line, the height h and the width w of the grid, and

power p of the weapon are inpueed. Then, h lines with w number of integers in each line,

represen;ng the baelefield, are inpueed.

If in all places and direc;ons, some friend troops will get hurt, then the program outputs

"Friend troops will get hurt! Do not use weapon at any place!"

Otherwise, the program outputs 3 lines in the following form, even if your reward is 0:

"You can use weapon at row X, column Y."

"The direc;on is D."

"Your reward is R!"

where X and Y are the row number and column number of the place, respec;vely, D is one of the

four direc;ons (↑→, ↓→, ←↓, ←↑) and R is the amount of rewards. If more than one place or

direc;on gives the same maximal reward, the program may output any one of them.

ENGG1330 Computer Programming I Assignment 1

Page 7 of 7

Samples

Enemies killed

height, width, power


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

python代写
微信客服:codinghelp