99爱在线视频这里只有精品_窝窝午夜看片成人精品_日韩精品久久久毛片一区二区_亚洲一区二区久久

合肥生活安徽新聞合肥交通合肥房產(chǎn)生活服務(wù)合肥教育合肥招聘合肥旅游文化藝術(shù)合肥美食合肥地圖合肥社保合肥醫(yī)院企業(yè)服務(wù)合肥法律

代寫CPTG1405、代做Python設(shè)計(jì)程序
代寫CPTG1405、代做Python設(shè)計(jì)程序

時(shí)間:2024-11-14  來源:合肥網(wǎng)hfw.cc  作者:hfw.cc 我要糾錯(cuò)



Assignment 2
CPTG1405, Trimester 3, 2024
1. General matter
1.1. Aims. The purpose of the assignment is to:
• design and implement an interface based on the desired behaviour of an application program;
• practice the use of Python syntax;
• develop problem solving skills.
1.2. Submission. Your program will be stored in a file n amed p olygons.py. A fter y ou h ave d eveloped and
tested your program, upload it using Ed (unless you worked directly in Ed). Assignments can be submitted
more than once; the last version is marked. Your assignment is due by November 11, 9:00am.
1.3. Assessment. The assignment is worth 13 marks. It is going to be tested against a number of input files.
For each test, the automarking script will let your program run for 30 seconds.
Assignments can be submitted up to 5 days after the deadline. The maximum mark obtainable reduces by
5% per full late day, for up to 5 days. Thus if students A and B hand in assignments worth 12 and 11, both
two days late (that is, more than 24 hours late and no more than 48 hours late), then the maximum mark
obtainable is 11.7, so A gets min(11.7, 11) = 11 and B gets min(11.7, 11) = 11. The outputs of your programs
should be exactly as indicated.
1.4. Reminder on plagiarism policy. You are permitted, indeed encouraged, to discuss ways to solve the
assignment with other people. Such discussions must be in terms of algorithms, not code. But you must
implement the solution on your own. Submissions are routinely scanned for similarities that occur when students
copy and modify other people’s work, or work very closely together on a single implementation. Severe penalties
apply.
2. General presentation
You will design and implement a program that will
• extract and analyse the various characteristics of (simple) polygons, their contours being coded and
stored in a file, and
• – either display those characteristics: perimeter, area, convexity, number of rotations that keep the
polygon invariant, and depth (the length of the longest chain of enclosing polygons)
– or output some Latex code, to be stored in a file, from which a pictorial representation of the
polygons can be produced, coloured in a way which is proportional to their area.
Call encoding any 2-dimensional grid of size between between 2 × 2 and 50 × 50 (both dimensions can be
different) all of whose elements are either 0 or 1.
Call neighbour of a member m of an encoding any of the at most eight members of the grid whose value is 1
and each of both indexes differs from m’s corresponding index by at most 1. Given a particular encoding, we
inductively define for all natural numbers d the set of polygons of depth d (for this encoding) as follows. Let a
natural number d be given, and suppose that for all d
0 < d, the set of polygons of depth d
0 has been defined.
Change in the encoding all 1’s that determine those polygons to 0. Then the set of polygons of depth d is
defined as the set of polygons which can be obtained from that encoding by connecting 1’s with some of their
neighbours in such a way that we obtain a maximal polygon (that is, a polygon which is not included in any
other polygon obtained from that encoding by connecting 1’s with some of their neighbours).
1
2
3. Examples
3.1. First example. The file polys_1.txt has the following contents:
11111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111
3
Here is a possible interaction:
$ python3
...
>>> from polygons import *
>>> polys = Polygons('polys_1.txt')
>>> polys.analyse()
Polygon 1:
Perimeter: 78.4
Area: 384.16
Convex: yes
Nb of invariant rotations: 4
Depth: 0
Polygon 2:
Perimeter: 75.2
Area: 353.44
Convex: yes
Nb of invariant rotations: 4
Depth: 1
Polygon 3:
Perimeter: 72.0
Area: **4.00
Convex: yes
Nb of invariant rotations: 4
Depth: 2
Polygon 4:
Perimeter: 68.8
Area: 295.84
Convex: yes
Nb of invariant rotations: 4
Depth: 3
Polygon 5:
Perimeter: 65.6
Area: 268.96
Convex: yes
Nb of invariant rotations: 4
Depth: 4
Polygon 6:
Perimeter: 62.4
Area: 243.36
Convex: yes
Nb of invariant rotations: 4
Depth: 5
Polygon 7:
Perimeter: 59.2
Area: 219.04
Convex: yes
Nb of invariant rotations: 4
Depth: 6
Polygon 8:
Perimeter: 56.0
Area: 196.00
Convex: yes
Nb of invariant rotations: 4
4
Depth: 7
Polygon 9:
Perimeter: 52.8
Area: 174.24
Convex: yes
Nb of invariant rotations: 4
Depth: 8
Polygon 10:
Perimeter: 49.6
Area: 153.76
Convex: yes
Nb of invariant rotations: 4
Depth: 9
Polygon 11:
Perimeter: 46.4
Area: 134.56
Convex: yes
Nb of invariant rotations: 4
Depth: 10
Polygon 12:
Perimeter: 43.2
Area: 116.64
Convex: yes
Nb of invariant rotations: 4
Depth: 11
Polygon 13:
Perimeter: 40.0
Area: 100.00
Convex: yes
Nb of invariant rotations: 4
Depth: 12
Polygon 14:
Perimeter: 36.8
Area: 84.64
Convex: yes
Nb of invariant rotations: 4
Depth: 13
Polygon 15:
Perimeter: 33.6
Area: 70.56
Convex: yes
Nb of invariant rotations: 4
Depth: 14
Polygon 16:
Perimeter: 30.4
Area: 57.76
Convex: yes
Nb of invariant rotations: 4
Depth: 15
Polygon 17:
Perimeter: 27.2
Area: 46.24
Convex: yes
Nb of invariant rotations: 4
5
Depth: 16
Polygon 18:
Perimeter: 24.0
Area: 36.00
Convex: yes
Nb of invariant rotations: 4
Depth: 17
Polygon 19:
Perimeter: 20.8
Area: 27.04
Convex: yes
Nb of invariant rotations: 4
Depth: 18
Polygon 20:
Perimeter: 17.6
Area: 19.36
Convex: yes
Nb of invariant rotations: 4
Depth: 19
Polygon 21:
Perimeter: 14.4
Area: 12.96
Convex: yes
Nb of invariant rotations: 4
Depth: 20
Polygon 22:
Perimeter: 11.2
Area: 7.84
Convex: yes
Nb of invariant rotations: 4
Depth: 21
Polygon 23:
Perimeter: 8.0
Area: 4.00
Convex: yes
Nb of invariant rotations: 4
Depth: 22
Polygon 24:
Perimeter: 4.8
Area: 1.44
Convex: yes
Nb of invariant rotations: 4
Depth: 23
Polygon 25:
Perimeter: 1.6
Area: 0.16
Convex: yes
Nb of invariant rotations: 4
Depth: 24
>>> polys.display()
6
The effect of executing polys.display() is to produce a file named polys_1.tex that can be given as
argument to pdflatex to produce a file named polys_1.pdf that views as follows.
7
3.2. Second example. The file polys_2.txt has the following contents:
00000000000000000000000000000000000000000000000000
01111111111111111111111111111111111111111111111110
00111111111111111111111111111111111111111111111100
00011111111111111111111111111111111111111111111000
01001111111111111111111111111111111111111111110010
01100111111111111111111111111111111111111111100110
01110011111111111111111111111111111111111111001110
01111001111111111111111111111111111111111110011110
01111100111111111111111111111111111111111100111110
01111110011111111111111111111111111111111001111110
01111111001111111111111111111111111111110011111110
01111111100111111111111111111111111111100111111110
01111111110011111111111111111111111111001111111110
01111111111001111111111111111111111110011111111110
01111111111100111111111111111111111100111111111110
01111111111110011111111111111111111001111111111110
01111111111111001111111111111111110011111111111110
01111111111111100111111111111111100111111111111110
01111111111111110011111111111111001111111111111110
01111111111111111001111111111110011111111111111110
01111111111111111100111111111100111111111111111110
01111111111111111110011111111001111111111111111110
01111111111111111111001111110011111111111111111110
01111111111111111111100111100111111111111111111110
01111111111011111111110011001111111111011111111110
01111111111111111111100111100111111111111111111110
01111111111111111111001111110011111111111111111110
01111111111111111110011111111001111111111111111110
01111111111111111100111111111100111111111111111110
01111111111111111001111111111110011111111111111110
01111111111111110011111111111111001111111111111110
01111111111111100111111111111111100111111111111110
01111111111111001111111111111111110011111111111110
01111111111110011111111111111111111001111111111110
01111111111100111111111111111111111100111111111110
01111111111001111111111111111111111110011111111110
01111111110011111111111111111111111111001111111110
01111111100111111111111111111111111111100111111110
01111111001111111111111111111111111111110011111110
01111110011111111111111111111111111111111001111110
01111100111111111111111111111111111111111100111110
01111001111111111111111111111111111111111110011110
01110011111111111111111111111111111111111111001110
01100111111111111111111111111111111111111111100110
01001111111111111111111111111111111111111111110010
00011111111111111111111111111111111111111111111000
00111111111111111111111111111111111111111111111100
01111111111111111111111111111111111111111111111110
00000000000000000000000000000000000000000000000000
8
Here is a possible interaction:
$ python3
...
>>> from polygons import *
>>> polys = Polygons('polys_2.txt')
>>> polys.analyse()
Polygon 1:
Perimeter: 37.6 + 92*sqrt(.**)
Area: 176.64
Convex: no
Nb of invariant rotations: 2
Depth: 0
Polygon 2:
Perimeter: 17.6 + 42*sqrt(.**)
Area: **.92
Convex: yes
Nb of invariant rotations: 1
Depth: 1
Polygon 3:
Perimeter: 16.0 + 38*sqrt(.**)
Area: 60.80
Convex: yes
Nb of invariant rotations: 1
Depth: 2
Polygon 4:
Perimeter: 16.0 + 40*sqrt(.**)
Area: 64.00
Convex: yes
Nb of invariant rotations: 1
Depth: 0
Polygon 5:
Perimeter: 14.4 + 34*sqrt(.**)
Area: 48.96
Convex: yes
Nb of invariant rotations: 1
Depth: 3
Polygon 6:
Perimeter: 16.0 + 40*sqrt(.**)
Area: 64.00
Convex: yes
Nb of invariant rotations: 1
Depth: 0
Polygon 7:
Perimeter: 12.8 + 30*sqrt(.**)
Area: 38.40
Convex: yes
Nb of invariant rotations: 1
Depth: 4
Polygon 8:
Perimeter: 14.4 + 36*sqrt(.**)
Area: 51.84
Convex: yes
Nb of invariant rotations: 1
9
Depth: 1
Polygon 9:
Perimeter: 11.2 + 26*sqrt(.**)
Area: 29.12
Convex: yes
Nb of invariant rotations: 1
Depth: 5
Polygon 10:
Perimeter: 14.4 + 36*sqrt(.**)
Area: 51.84
Convex: yes
Nb of invariant rotations: 1
Depth: 1
Polygon 11:
Perimeter: 9.6 + 22*sqrt(.**)
Area: 21.12
Convex: yes
Nb of invariant rotations: 1
Depth: 6
Polygon 12:
Perimeter: 12.8 + ***sqrt(.**)
Area: 40.96
Convex: yes
Nb of invariant rotations: 1
Depth: 2
Polygon 13:
Perimeter: 8.0 + 18*sqrt(.**)
Area: 14.40
Convex: yes
Nb of invariant rotations: 1
Depth: 7
Polygon 14:
Perimeter: 12.8 + ***sqrt(.**)
Area: 40.96
Convex: yes
Nb of invariant rotations: 1
Depth: 2
Polygon 15:
Perimeter: 6.4 + 14*sqrt(.**)
Area: 8.96
Convex: yes
Nb of invariant rotations: 1
Depth: 8
Polygon 16:
Perimeter: 11.2 + 28*sqrt(.**)
Area: 31.36
Convex: yes
Nb of invariant rotations: 1
Depth: 3
Polygon 17:
Perimeter: 4.8 + 10*sqrt(.**)
Area: 4.80
Convex: yes
Nb of invariant rotations: 1
10
Depth: 9
Polygon 18:
Perimeter: 11.2 + 28*sqrt(.**)
Area: 31.36
Convex: yes
Nb of invariant rotations: 1
Depth: 3
Polygon 19:
Perimeter: 3.2 + 6*sqrt(.**)
Area: 1.92
Convex: yes
Nb of invariant rotations: 1
Depth: 10
Polygon 20:
Perimeter: 9.6 + 24*sqrt(.**)
Area: 23.04
Convex: yes
Nb of invariant rotations: 1
Depth: 4
Polygon 21:
Perimeter: 1.6 + 2*sqrt(.**)
Area: 0.**
Convex: yes
Nb of invariant rotations: 1
Depth: 11
Polygon 22:
Perimeter: 9.6 + 24*sqrt(.**)
Area: 23.04
Convex: yes
Nb of invariant rotations: 1
Depth: 4
Polygon 23:
Perimeter: 8.0 + 20*sqrt(.**)
Area: 16.00
Convex: yes
Nb of invariant rotations: 1
Depth: 5
Polygon 24:
Perimeter: 8.0 + 20*sqrt(.**)
Area: 16.00
Convex: yes
Nb of invariant rotations: 1
Depth: 5
Polygon 25:
Perimeter: 6.4 + 16*sqrt(.**)
Area: 10.24
Convex: yes
Nb of invariant rotations: 1
Depth: 6
Polygon 26:
Perimeter: 6.4 + 16*sqrt(.**)
Area: 10.24
Convex: yes
Nb of invariant rotations: 1
11
Depth: 6
Polygon 27:
Perimeter: 4.8 + 12*sqrt(.**)
Area: 5.76
Convex: yes
Nb of invariant rotations: 1
Depth: 7
Polygon 28:
Perimeter: 4.8 + 12*sqrt(.**)
Area: 5.76
Convex: yes
Nb of invariant rotations: 1
Depth: 7
Polygon 29:
Perimeter: 3.2 + 8*sqrt(.**)
Area: 2.56
Convex: yes
Nb of invariant rotations: 1
Depth: 8
Polygon 30:
Perimeter: 3.2 + 8*sqrt(.**)
Area: 2.56
Convex: yes
Nb of invariant rotations: 1
Depth: 8
Polygon 31:
Perimeter: 1.6 + 4*sqrt(.**)
Area: 0.64
Convex: yes
Nb of invariant rotations: 1
Depth: 9
Polygon **:
Perimeter: 1.6 + 4*sqrt(.**)
Area: 0.64
Convex: yes
Nb of invariant rotations: 1
Depth: 9
Polygon 33:
Perimeter: 17.6 + 42*sqrt(.**)
Area: **.92
Convex: yes
Nb of invariant rotations: 1
Depth: 1
Polygon 34:
Perimeter: 16.0 + 38*sqrt(.**)
Area: 60.80
Convex: yes
Nb of invariant rotations: 1
Depth: 2
Polygon 35:
Perimeter: 14.4 + 34*sqrt(.**)
Area: 48.96
Convex: yes
Nb of invariant rotations: 1
12
Depth: 3
Polygon 36:
Perimeter: 12.8 + 30*sqrt(.**)
Area: 38.40
Convex: yes
Nb of invariant rotations: 1
Depth: 4
Polygon 37:
Perimeter: 11.2 + 26*sqrt(.**)
Area: 29.12
Convex: yes
Nb of invariant rotations: 1
Depth: 5
Polygon 38:
Perimeter: 9.6 + 22*sqrt(.**)
Area: 21.12
Convex: yes
Nb of invariant rotations: 1
Depth: 6
Polygon 39:
Perimeter: 8.0 + 18*sqrt(.**)
Area: 14.40
Convex: yes
Nb of invariant rotations: 1
Depth: 7
Polygon 40:
Perimeter: 6.4 + 14*sqrt(.**)
Area: 8.96
Convex: yes
Nb of invariant rotations: 1
Depth: 8
Polygon 41:
Perimeter: 4.8 + 10*sqrt(.**)
Area: 4.80
Convex: yes
Nb of invariant rotations: 1
Depth: 9
Polygon 42:
Perimeter: 3.2 + 6*sqrt(.**)
Area: 1.92
Convex: yes
Nb of invariant rotations: 1
Depth: 10
Polygon 43:
Perimeter: 1.6 + 2*sqrt(.**)
Area: 0.**
Convex: yes
Nb of invariant rotations: 1
Depth: 11
>>> polys.display()
13
The effect of executing polys.display() is to produce a file named polys_2.tex that can be given as
argument to pdflatex to produce a file named polys_2.pdf that views as follows.
14
3.3. Third example. The file polys_3.txt has the following contents:
0 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 0
1 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 1
0 1 0 0 1 0 0 0 0 0 1 0 0 1 1 0 0 0 1 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 0 1 0 0 1 0
0 1 0 0 0 1 0 0 0 0 1 0 0 1 1 0 0 1 0 0 0 0 1 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 1 0
0 0 1 0 0 1 0 0 0 0 1 0 0 1 1 0 1 0 0 0 0 0 0 1 0 1 1 0 0 1 0 0 0 0 1 0 0 1 0 0
0 0 1 0 0 1 0 0 0 0 1 0 0 1 0 1 0 0 1 1 1 1 0 0 1 0 1 0 0 1 0 0 0 0 1 0 0 1 0 0
0 0 1 0 1 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 1 0 0 0 0 0 1 0 1 0 0
0 0 0 1 0 0 0 0 0 0 1 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0
0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0 0 1 0 0 1 0 0 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 1 0 1 0 0 0 0 1 0 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 0 0 1 0 0 1 0 0 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1
1 1 0 1 0 1 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 0 1 0 1 1 0 0 0 1 0 0 1 0 1 0 1 0 1 1
1 1 1 0 1 0 1 0 1 0 1 0 0 0 1 1 0 0 1 0 0 1 0 0 1 1 0 0 0 1 0 1 0 1 0 1 0 1 1 1
1 1 0 0 1 1 1 0 1 0 1 0 0 0 1 1 0 1 0 0 0 0 1 0 1 1 0 0 0 1 0 1 0 1 1 1 0 0 1 1
1 1 0 0 1 0 1 0 1 0 1 0 0 0 1 1 0 0 1 0 0 1 0 0 1 1 0 0 0 1 0 1 0 1 0 1 0 0 1 1
1 1 0 0 1 0 1 0 1 0 1 0 0 0 1 1 0 1 0 0 0 0 1 0 1 1 0 0 0 1 0 1 0 1 0 1 0 0 1 1
1 1 0 0 1 0 1 0 1 0 1 0 0 0 1 1 0 0 1 0 0 1 0 0 1 1 0 0 0 1 0 1 0 1 0 1 0 0 1 1
1 1 1 0 1 1 1 0 1 0 1 0 0 0 1 1 0 1 0 0 0 0 1 0 1 1 0 0 0 1 0 1 0 1 1 1 0 1 1 1
1 1 0 1 0 1 0 1 0 0 1 0 0 0 1 1 0 0 1 0 0 1 0 0 1 1 0 0 0 1 0 0 1 0 1 0 1 0 1 1
1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 0 1 0 0 0 0 1 0 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 1 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1 1 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0
0 0 1 0 1 0 0 0 0 0 1 0 0 0 1 0 1 1 1 1 1 1 1 1 0 1 0 0 0 1 0 0 0 0 0 1 0 1 0 0
0 0 1 0 0 1 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 1 0 0 1 0 0
0 0 1 0 0 1 0 0 0 0 1 0 0 1 1 0 1 0 0 0 0 0 0 1 0 1 1 0 0 1 0 0 0 0 1 0 0 1 0 0
0 1 0 0 0 1 0 0 0 0 1 0 0 1 1 0 0 1 0 0 0 0 1 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 1 0
0 1 0 0 1 0 0 0 0 0 1 0 0 1 1 0 0 0 1 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 0 1 0 0 1 0
1 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 1
0 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 0
15
Here is a possible interaction:
$ python3
...
>>> from polygons import *
>>> polys = Polygons('polys_3.txt')
>>> polys.analyse()
Polygon 1:
Perimeter: 2.4 + 9*sqrt(.**)
Area: 2.80
Convex: no
Nb of invariant rotations: 1
Depth: 0
Polygon 2:
Perimeter: 51.2 + 4*sqrt(.**)
Area: 117.28
Convex: no
Nb of invariant rotations: 2
Depth: 0
Polygon 3:
Perimeter: 2.4 + 9*sqrt(.**)
Area: 2.80
Convex: no
Nb of invariant rotations: 1
Depth: 0
Polygon 4:
Perimeter: 17.6 + 40*sqrt(.**)
Area: 59.04
Convex: no
Nb of invariant rotations: 2
Depth: 1
Polygon 5:
Perimeter: 3.2 + 28*sqrt(.**)
Area: 9.76
Convex: no
Nb of invariant rotations: 1
Depth: 2
Polygon 6:
Perimeter: 27.2 + 6*sqrt(.**)
Area: 5.76
Convex: no
Nb of invariant rotations: 1
Depth: 2
Polygon 7:
Perimeter: 4.8 + 14*sqrt(.**)
Area: 6.72
Convex: no
Nb of invariant rotations: 1
Depth: 1
Polygon 8:
Perimeter: 4.8 + 14*sqrt(.**)
Area: 6.72
Convex: no
Nb of invariant rotations: 1
16
Depth: 1
Polygon 9:
Perimeter: 3.2 + 2*sqrt(.**)
Area: 1.12
Convex: yes
Nb of invariant rotations: 1
Depth: 2
Polygon 10:
Perimeter: 3.2 + 2*sqrt(.**)
Area: 1.12
Convex: yes
Nb of invariant rotations: 1
Depth: 2
Polygon 11:
Perimeter: 2.4 + 9*sqrt(.**)
Area: 2.80
Convex: no
Nb of invariant rotations: 1
Depth: 0
Polygon 12:
Perimeter: 2.4 + 9*sqrt(.**)
Area: 2.80
Convex: no
Nb of invariant rotations: 1
Depth: 0
>>> polys.display()
The effect of executing polys.display() is to produce a file named polys_3.tex that can be given as
argument to pdflatex to produce a file named polys_3.pdf that views as follows.
17
3.4. Fourth example. The file polys_4.txt has the following contents:
1 1 101 11 0 1 1 1 0 1 1 1011 10 1 1 1 0 000 1 1 1 0 00 1 001 11 1
01 01000100010001000100100 110010010101001
100 0010 0 0 1 00 0 1 0 00 100 01000 100 0 1 01 0001011 1
1000101010101010101000100101010100010000
0100010001000100010000100010100011100011
100 1 0 0 0 10 0 0 1 00 0 1 00 01 010 000 0000 0 0 0 0 00 01 11
11101 1101110 1 1 1 0111011101100000001111000
000000000000000000000001100000011000100 0
1 111001100111111100000000111111000 010000
110 01 0 1 1 0 1011111100011111000000000001000
001 1000011 10 000000000 11111111111111111 00
18
Here is a possible interaction:
$ python3
...
>>> from polygons import *
>>> polys = Polygons('polys_4.txt')
>>> polys.analyse()
Polygon 1:
Perimeter: 11.2 + 28*sqrt(.**)
Area: 18.88
Convex: no
Nb of invariant rotations: 2
Depth: 0
Polygon 2:
Perimeter: 3.2 + 5*sqrt(.**)
Area: 2.00
Convex: no
Nb of invariant rotations: 1
Depth: 0
Polygon 3:
Perimeter: 1.6 + 6*sqrt(.**)
Area: 1.76
Convex: yes
Nb of invariant rotations: 1
Depth: 0
Polygon 4:
Perimeter: 3.2 + 1*sqrt(.**)
Area: 0.88
Convex: yes
Nb of invariant rotations: 1
Depth: 0
Polygon 5:
Perimeter: 4*sqrt(.**)
Area: 0.**
Convex: yes
Nb of invariant rotations: 4
Depth: 1
Polygon 6:
Perimeter: 4*sqrt(.**)
Area: 0.**
Convex: yes
Nb of invariant rotations: 4
Depth: 1
Polygon 7:
Perimeter: 4*sqrt(.**)
Area: 0.**
Convex: yes
Nb of invariant rotations: 4
Depth: 1
Polygon 8:
Perimeter: 4*sqrt(.**)
Area: 0.**
Convex: yes
Nb of invariant rotations: 4
19
Depth: 1
Polygon 9:
Perimeter: 1.6 + 1*sqrt(.**)
Area: 0.24
Convex: yes
Nb of invariant rotations: 1
Depth: 0
Polygon 10:
Perimeter: 0.8 + 2*sqrt(.**)
Area: 0.16
Convex: yes
Nb of invariant rotations: 2
Depth: 0
Polygon 11:
Perimeter: 12.0 + 7*sqrt(.**)
Area: 5.68
Convex: no
Nb of invariant rotations: 1
Depth: 0
Polygon 12:
Perimeter: 2.4 + 3*sqrt(.**)
Area: 0.88
Convex: no
Nb of invariant rotations: 1
Depth: 0
Polygon 13:
Perimeter: 1.6
Area: 0.16
Convex: yes
Nb of invariant rotations: 4
Depth: 0
Polygon 14:
Perimeter: 5.6 + 3*sqrt(.**)
Area: 1.36
Convex: no
Nb of invariant rotations: 1
Depth: 0
>>> polys.display()
The effect of executing polys.display() is to produce a file named polys_4.tex that can be given as
argument to pdflatex to produce a file named polys_4.pdf that views as follows.
20
4. Detailed description
4.1. Input. The input is expected to consist of ydim lines of xdim 0’s and 1’s, where xdim and ydim are at
least equal to 2 and at most equal to 50, with possibly lines consisting of spaces only that will be ignored and
with possibly spaces anywhere on the lines with digits. If n is the x
th digit of the y
th line with digits, with
0 ≤ x < xdim and 0 ≤ y < ydim , then n is to be associated with a point situated x × 0.4 cm to the right and
y × 0.4 cm below an origin.
4.2. Output. Consider executing from the Python prompt the statement from polygons import * followed
by the statement polys = Polygons(some_filename). In case some_filename does not exist in the working
directory, then Python will raise a FileNotFoundError exception, that does not need to be caught. Assume
that some_filename does exist (in the working directory). If the input is incorrect in that it does not contain
only 0’s and 1’a besides spaces, or in that it contains either too few or too many lines of digits, or in that
some line of digits contains too many or too few digits, or in that two of its lines of digits do not contain the
same number of digits, then the effect of executing polys = Polygons(some_filename) should be to generate
a PolygonsError exception that reads
Traceback (most recent call last):
...
polygons.PolygonsError: Incorrect input.
If the previous conditions hold but it is not possible to use all 1’s in the input and make them the contours
of polygons of depth d, for any natural number d, as defined in the general presentation, then the effect of
executing polys = Polygons(some_filename) should be to generate a PolygonsError exception that reads
Traceback (most recent call last):
...
polygons.PolygonsError: Cannot get polygons as expected.
If the input is correct and it is possible to use all 1’s in the input and make them the contours of polygons
of depth d, for any natural number d, as defined in the general presentation, then executing the statement
polys = Polygons(some_filename) followed by polys.analyse() should have the effect of outputting a first
line that reads
Polygon N:
with N an appropriate integer at least equal to 1 to refer to the N’th polygon listed in the order of polygons
with highest point from smallest value of y to largest value of y, and for a given value of y, from smallest value
of x to largest value of x, a second line that reads one of
Perimeter: a + b*sqrt(.**)
Perimeter: a
Perimeter: b*sqrt(.**)
with a an appropriate strictly positive floating point number with 1 digit after the decimal point and b an
appropriate strictly positive integer, a third line that reads
Area: a
with a an appropriate floating point number with 2 digits after the decimal point, a fourth line that reads one
of
Convex: yes
Convex: no
a fifth line that reads
Nb of invariant rotations: N
21
with N an appropriate integer at least equal to 1, and a sixth line that reads
Depth: N
with N an appropriate positive integer (possibly 0).
Pay attention to the expected format, including spaces.
If the input is correct and it is possible to use all 1’s in the input and make them the contours of poly gons of depth d, for any natural number d, as defined in the general presentation, then executing the state ment polys = Polygons(some_filename) followed by polys.display() should have the effect of produc ing a file named some_filename.tex that can be given as argument to pdflatex to generate a file named
some_filename.pdf. The provided examples will show you what some_filename.tex should contain.
• Polygons are drawn from lowest to highest depth, and for a given depth, the same ordering as previously
described is used.
• The point that determines the polygon index is used as a starting point in drawing the line segments
that make up the polygon, in a clockwise manner.
• A polygons’s colour is determined by its area. The largest polygons are yellow. The smallest polygons
are orange. Polygons in-between mix orange and yellow in proportion of their area. For instance, a
polygon whose size is 25% the difference of the size between the largest and the smallest polygon will
receive 25% of orange (and 75% of yellow). That proportion is computed as an integer. When the value
is not an integer, it is rounded to the closest integer, with values of the form z.5 rounded up to z + 1.
Pay attention to the expected format, including spaces and blank lines. Lines that start with % are comments.
The output of your program redirected to a file will be compared with the expected output saved in a file (of a
different name of course) using the diff command. For your program to pass the associated test, diff should
silently exit, which requires that the contents of both files be absolutely identical, character for character,
including spaces and blank lines. Check your program on the provided examples using the associated .tex files,
renaming them as they have the names of the files expected to be generated by your program.

請(qǐng)加QQ:99515681  郵箱:99515681@qq.com   WX:codinghelp








 

掃一掃在手機(jī)打開當(dāng)前頁
  • 上一篇:EEEE4116代做、代寫MATLAB程序語言
  • 下一篇:代寫CPTG1405、代做Python設(shè)計(jì)程序
  • 無相關(guān)信息
    合肥生活資訊

    合肥圖文信息
    急尋熱仿真分析?代做熱仿真服務(wù)+熱設(shè)計(jì)優(yōu)化
    急尋熱仿真分析?代做熱仿真服務(wù)+熱設(shè)計(jì)優(yōu)化
    出評(píng) 開團(tuán)工具
    出評(píng) 開團(tuán)工具
    挖掘機(jī)濾芯提升發(fā)動(dòng)機(jī)性能
    挖掘機(jī)濾芯提升發(fā)動(dòng)機(jī)性能
    海信羅馬假日洗衣機(jī)亮相AWE  復(fù)古美學(xué)與現(xiàn)代科技完美結(jié)合
    海信羅馬假日洗衣機(jī)亮相AWE 復(fù)古美學(xué)與現(xiàn)代
    合肥機(jī)場巴士4號(hào)線
    合肥機(jī)場巴士4號(hào)線
    合肥機(jī)場巴士3號(hào)線
    合肥機(jī)場巴士3號(hào)線
    合肥機(jī)場巴士2號(hào)線
    合肥機(jī)場巴士2號(hào)線
    合肥機(jī)場巴士1號(hào)線
    合肥機(jī)場巴士1號(hào)線
  • 短信驗(yàn)證碼 豆包 幣安下載 AI生圖 目錄網(wǎng)

    關(guān)于我們 | 打賞支持 | 廣告服務(wù) | 聯(lián)系我們 | 網(wǎng)站地圖 | 免責(zé)聲明 | 幫助中心 | 友情鏈接 |

    Copyright © 2025 hfw.cc Inc. All Rights Reserved. 合肥網(wǎng) 版權(quán)所有
    ICP備06013414號(hào)-3 公安備 42010502001045

    99爱在线视频这里只有精品_窝窝午夜看片成人精品_日韩精品久久久毛片一区二区_亚洲一区二区久久

          9000px;">

                欧美精品一区二| 国产精品一卡二| 日韩欧美高清dvd碟片| 麻豆一区二区三区| 中文字幕av免费专区久久| 制服丝袜亚洲精品中文字幕| 色婷婷精品大在线视频| 国产成人精品一区二区三区四区 | 中文字幕在线不卡国产视频| 欧美日韩国产小视频在线观看| 国产成人精品综合在线观看| 丝袜诱惑亚洲看片 | 99精品视频一区| 日韩国产欧美一区二区三区| 亚洲国产一二三| 亚洲三级在线看| 国产精品日韩成人| 久久久久久久综合狠狠综合| 91精品国产色综合久久ai换脸 | 国产91精品入口| 蜜桃视频在线观看一区| 狠狠色综合色综合网络| 国产成人综合自拍| 污片在线观看一区二区| 综合色中文字幕| 欧美精品一区二区三区高清aⅴ| 在线观看日韩av先锋影音电影院| 日本成人在线网站| 国产精品卡一卡二| 亚洲一区在线观看免费| 欧美成人免费网站| 国产亚洲视频系列| 一区二区成人在线视频| 国产精品成人午夜| 亚洲午夜精品久久久久久久久| 亚洲国产cao| 麻豆视频观看网址久久| 国产精品香蕉一区二区三区| 亚洲国产色一区| 日韩理论电影院| 欧美日韩第一区日日骚| 国产成人激情av| 制服丝袜成人动漫| 视频一区视频二区中文字幕| 精品国产乱码久久久久久蜜臀| 在线影院国内精品| 美女视频网站久久| 欧美成人a∨高清免费观看| 欧美精品色一区二区三区| 92精品国产成人观看免费| 91一区二区在线| 国产欧美日韩综合| 精品久久久久99| 久久久精品一品道一区| 制服丝袜一区二区三区| 日本一区二区三区国色天香| 一区二区三区丝袜| 国产一区二区网址| 精品视频一区二区不卡| 久久久久国产一区二区三区四区| 亚洲免费观看视频| 蜜臀av在线播放一区二区三区| 国产成人夜色高潮福利影视| 99视频在线精品| 在线视频国内自拍亚洲视频| 国产一区二区三区四区在线观看| 99国产精品久久| 日韩精品一区二区三区四区视频| 亚洲欧美日韩一区二区| 国产大陆亚洲精品国产| 欧美一区欧美二区| 一区二区三区欧美久久| 国产久卡久卡久卡久卡视频精品| 欧美日韩国产在线观看| 国产精品久久久久久久浪潮网站| 日韩欧美在线综合网| 五月婷婷综合网| 91视频在线看| 国产精品污www在线观看| 美腿丝袜亚洲综合| 欧美精品一级二级| 亚洲黄色在线视频| 成人av网站在线| 国产欧美一区二区精品婷婷| 国产亚洲一区二区三区在线观看 | 99国产精品久久| 欧美tk丨vk视频| 亚洲综合精品自拍| 色久综合一二码| 国产精品久久久一本精品 | 国产精品资源站在线| 国产精品中文有码| 丁香另类激情小说| 欧美日韩一区 二区 三区 久久精品| 91美女视频网站| 亚洲欧洲色图综合| 色综合久久天天| 亚洲国产精品视频| 91精品综合久久久久久| 麻豆精品视频在线观看视频| 日韩一区二区精品在线观看| 日日夜夜精品视频天天综合网| 欧美一区二区三区喷汁尤物| 久久国产精品一区二区| 日韩亚洲欧美综合| 久久精品国产网站| 久久午夜国产精品| 国产精品一区二区男女羞羞无遮挡| 高清不卡在线观看| 欧美一区二区三区视频免费| 久草中文综合在线| 中文文精品字幕一区二区| 成人免费视频网站在线观看| 综合久久国产九一剧情麻豆| 免费一级欧美片在线观看| 精品国产1区2区3区| 狠狠色丁香久久婷婷综合丁香| 久久久精品天堂| 色乱码一区二区三区88| 午夜精品视频在线观看| 欧美大片在线观看| 国产91综合一区在线观看| 一区二区三区四区蜜桃 | 国产欧美日韩中文久久| 成人性生交大片免费看中文 | 欧美国产一区二区在线观看| 91麻豆精品一区二区三区| 一区二区三区自拍| 91久久久免费一区二区| 精品国产乱码91久久久久久网站| av在线这里只有精品| 国产一区欧美一区| 久久精品国产第一区二区三区| 天堂影院一区二区| 一区二区三区中文在线| 欧美最猛性xxxxx直播| 成人av电影在线| 亚洲欧美乱综合| 日韩国产一区二| 亚洲国产人成综合网站| 一本色道**综合亚洲精品蜜桃冫| 国产.精品.日韩.另类.中文.在线.播放| 亚洲国产精品人人做人人爽| 一区二区激情小说| 成人免费在线视频观看| 色悠悠亚洲一区二区| 北条麻妃国产九九精品视频| 国产黄色91视频| 91久久免费观看| bt7086福利一区国产| 成人听书哪个软件好| 欧美电影一区二区| 中文字幕免费不卡| 美女视频一区二区三区| 色婷婷亚洲精品| 国产日产亚洲精品系列| 午夜精品一区二区三区三上悠亚| 国产白丝精品91爽爽久久| 7777精品伊人久久久大香线蕉 | 国产午夜亚洲精品理论片色戒| 亚洲精品高清视频在线观看| 国产成人精品免费| 欧美成人aa大片| 婷婷开心激情综合| av亚洲精华国产精华精华| 日韩一区二区精品| 亚洲国产日韩一区二区| 99re成人在线| 欧美韩日一区二区三区| 精品在线免费观看| 欧美一区二区三区四区在线观看| 亚洲香肠在线观看| 91蜜桃免费观看视频| 日韩美女视频一区| 99久久精品国产毛片| 欧美精彩视频一区二区三区| 九九视频精品免费| 欧美一区二区三区免费大片| 首页亚洲欧美制服丝腿| 欧美男人的天堂一二区| 亚洲一区二区精品3399| 欧美日韩在线不卡| 一区二区三区在线视频观看| 色噜噜狠狠成人中文综合| 亚洲精品伦理在线| 91福利小视频| 亚洲妇女屁股眼交7| 欧美绝品在线观看成人午夜影视| 亚洲综合精品自拍| 欧美色区777第一页| 91精品久久久久久久99蜜桃| 老色鬼精品视频在线观看播放| 日韩精品资源二区在线| 毛片不卡一区二区| 日本乱人伦一区| 日韩一区欧美小说| 99国产一区二区三精品乱码| 亚洲欧美在线另类| 一本久道久久综合中文字幕| 亚洲欧洲日韩在线|