联系方式

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

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

日期:2020-10-30 10:58

Computational Thinking and Problem Solving (COMP1002) and Problem Solving

Methodology in Information Technology (COMP1001)

Assignment THREE

(Due at noon on 30 October 2020)

1. [20 marks] Write a Python program that will prompt the user for his/her first name, last name and

a symbol. The program will print the first name, a space, and the last name on each line. But only

the first character is printed on the first line, the first two characters on the second line and so on

until the whole name is printed out. After that, the next line will print out the name except the last

character, the next next line the name except for the last two characters, and so on until the first

character is printed out. Also, for each odd-numbered column, the letter has to be replaced by the

input symbol. Note that the space should not be replaced. Your program should look like below:

2. [30 marks] In cryptography, a monoalphabetic substitution cipher is an encryption algorithm that

converts an English letter to another letter based on a key. For example, if the English text is

“dennis” and the key is “zaqxswcdevfrbgtnhymjukilop”, the encrypted text will be “xsggem”. The

following table shows the conversion:

a b c d e f g h i j k l m n o p q r s t u v w x y z

z a q x s w c d e v f r b g t n h y m j u k i l o p

The first row is the original English letters and the second row is the encrypted letters. The key

must be a permutation of 26 letters. The highlighted letters above are the one used in above

example.

Write a Python program that accepts a key and a text string and produces the encrypted text in

lowercase letters. If the input key is not a permutation of 26 letters, the program should ask the

user to input again. Your program should look like below:

2

3. [25 marks] In the lecture, we have explained how we can add an arbitrary list of long integers

together using a few very simple procedures without doing even any mathematical computation.

The solution is expressed in pseudo-code. There are still some works to do when converting a

piece of pseudo-code to a program, e.g. data type conversion, precise loop variable setting, and

many small details to make a program. After this exercise, you could get a feeling on the

difference between designing in pseudo-code versus writing the program. Writing a program in C

will even be more difficult than in Python.

Write a Python program to realize the pseudo-code in the lecture note to add a list of long integers.

You need to set up a table for the first step to add two small numbers. You may use a list of lists,

or any appropriate data structure but the content must not be computed on-the-fly, following the

concept of symbolic computation. Your program should contain at least 4 functions implementing

the functions in the pseudo-code. Here are some sample outputs from your program:

4. [25 marks] (a) The following decision tree T classifies a post in a social network into four types:

technology, business, world, and unknown. Express the decision tree T in pseudo-code.

(b) Assuming that the probabilities of various branches of the tree are as shown, determine the

average number of if-statements to be executed when making classification.

(c) Redraw the decision tree in another “better” form T’ such that T and T’ are equivalent, i.e.

given any input case, the two decision trees will give the same output. Demonstrate that the two

trees are equivalent by giving at least an example in each type to support your candidate tree T’.

0.6 0.4

0.2 0.8 0.6 0.4

0.3 0.7

0.4 0.6 0.5 0.5

3

Submission Instructions

Follow the steps below:

1. Create a folder and name it as <student no>_<your name>,

e.g., 12345678d_CHANTaiMan

2. For Q1, Q2 and Q3. You need to submit the source file (.py). Name the .py files as

A3_Q<question no>_<student no>_<your name>.py,

e.g., A3_Q1_12345678d_CHANTaiMan.py

3. For Q4. You need to type your answers in a word document and save it as a .pdf file. Name

the single .pdf file as A3_<student no>_<your name>.pdf,

e.g., A3_12345678d_CHANTaiMan.pdf

4. Put all the .py and .pdf files into the folder.

5. Compress the folder (.zip, .7z, or .rar).

6. Submit the file to Blackboard.

A maximum of 3 attempts for submission are allowed. Only the last attempt will be graded. A late

penalty of 5% per hour will be imposed.


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