日韩精品一区二区三区高清_久久国产热这里只有精品8_天天做爽夜夜做爽_一本岛在免费一二三区

合肥生活安徽新聞合肥交通合肥房產生活服務合肥教育合肥招聘合肥旅游文化藝術合肥美食合肥地圖合肥社保合肥醫院企業服務合肥法律

代寫COMP9021object-oriented Python  程序
代寫COMP9021object-oriented Python  程序

時間:2025-11-08  來源:合肥網hfw.cc  作者:hfw.cc 我要糾錯



Assignment 2
COMP9021, Trimester 3, 2025
1 General matters
1.1 Aim
The purpose of the assignment is to:
• develop object-oriented Python programs with proper exception handling;
• parse and analyse combinatorial structures;
• generate TikZ/LaTeX diagrams programmatically;
• handle both small and complex structures efficiently.
1.2 Submission
Your program should be stored in a file named arches.py, optionally together with additional files. After
developing and testing your program, upload it via Ed (unless you worked directly in Ed). Assignments
can be submitted multiple times; only the last submission will be graded. Your assignment is due on
November 24 at 11:59am.
1.3 Assessment
The assignment is worth 13 marks and will be tested against multiple inputs. For each test, the au tomarking script allows your program to run for 30 seconds.
Assignments may be submitted up to 5 days after the deadline. The maximum mark decreases by 5% for
each full late day, up to a maximum of five days. For example, if students A and B submit assignments
originally worth 12 and 11 marks, respectively, two days late (i.e., more than 24 hours but no more than
48 hours late), the maximum mark obtainable is 11.7. Therefore, A receives min(11.7, 12) = 11.7 and B
receives min(11.7, 11) = 11.
Your program will generate a number of .tex files. These can be given as arguments to pdflatex to
produce PDF files. Only the .tex files will be used to assess your work, but generating the PDFs should
still give you a sense of satisfaction. The outputs of your programs must exactly match the expected
outputs. You are required to use the diff command to identity any differences between
the .tex files generated by your program and the provided reference .tex files. You are
responsible for any failed tests resulting from formatting discrepancies that diff would have
detected.
1.4 Reminder on plagiarism policy
You are encouraged to discuss strategies for solving the assignment with others; however, discussions
must focus on algorithms, not code. You must implement your solution independently. Submissions are
routinely scanned for similarities that arise from copying, modifying others’ work, or collaborating too
closely on a single implementation. Severe penalties apply.
1
2 Open Meanders
2.1 Background
An open meander is a combinatorial structure represented as a non-self-intersecting curve that crosses a
horizontal line of points, forming arches above and below the line. They can be described by permutations
with specific constraints.
Formally, let (a1, a2, . . . , an) be a permutation of {1,…, n} with n ≥ 2. Each integer corresponds to a
distinct point on a fixed horizontal line. The permutation defines a sequence of arches as follows:
• The first arch is an upper arch, drawn above the line.
• Subsequent arches alternate between upper and lower positions, forming a valid open meander.
• Each arch connects two consecutive points ai and ai+1 in the permutation. The orientation of each
arch depends on the relative order of these points:
– An arch is drawn from left to right if ai < ai+1.
– An arch is drawn from right to left if ai > ai+1.
• Arches on the same side do not intersect.
The collection of upper and lower arches can be represented symbolically using extended Dyck words—
one for each side of the line:
• ( corresponds to the left endpoint of an arch.
• ) corresponds to the right endpoint of an arch.
• 1 represents an end of the curve (a free endpoint) that lies on that side.
The position of the endpoints depends on the parity of n:
• For even n, both ends of the curve lie below the line.
• For odd n, one end lies above and the other below the line.
Each extended Dyck word therefore encodes the complete structure of the arches on its respective side,
though only together do the two sides represent the full open meander.
2.2 Examples
For a first example, consider the permutation (2, 3, 1, 4) and the corresponding generated diagram open_me anders_1.pdf.
• Upper arches extended Dyck word: (())
• Lower arches extended Dyck word: (1)1
For a second example, consider the permutation (1, 10, 9, 4, 3, 2, 5, 8, 7, 6) and the corresponding generated
diagram open_meanders_2.pdf.
2
• Upper arches extended Dyck word: (()((())))
• Lower arches extended Dyck word: 1(())1()()
For a third example, consider the permutation (5, 4, 3, 2, 6, 1, 7, 8, 13, 9, 10, 11, 12) and the corresponding
generated diagram open_meanders_3.pdf.
• Upper arches extended Dyck word: (()())()(()1)
• Lower arches extended Dyck word: ((()1))(()())
2.3 Requirements
Implement in arches.py a class OpenMeanderError(Exception) and a class OpenMeander.
Objects of type OpenMeander are created with OpenMeander(a_1, a_2, ..., a_n), where the arguments
form a permutation of {1,…, n} for some n ≥ 2. You may assume that all arguments are integers.
• If the arguments do not form a permutation of {1,…, n} for some n ≥ 2, raise
OpenMeanderError('Not a permutation of 1, ..., n for some n ≥ 2').
• If they do not define a valid open meander, raise
OpenMeanderError('Does not define an open meander').
Implement in OpenMeander three attributes:
• extended_dyck_word_for_upper_arches, a string representing the upper arches;
• extended_dyck_word_for_lower_arches, a string representing the lower arches;
• draw(filename, scale=1), a method that generates a TikZ/LaTeX file drawing the open meander.
No error checking is required in the implementation of draw(filename, scale=1). You may assume that
filename is a valid string specifying a writable file name, and that scale is an integer or floating-point
number (typically chosen so that the resulting picture fits on a page).
An example interaction is shown in open_meanders.pdf.
Carefully study the three example .tex files. Note that the horizontal baseline extends one unit beyond
each end of the curve. Also note that the scale common to x and y, as well as the values for radius, are
displayed as floating-point numbers with a single digit after the decimal point. The length of the ends of
strings is computed as half of the scale of x and y, and is also displayed as a floating-point number with
a single digit after the decimal point.
3 Dyck Words and Arch Diagrams
3.1 Background
A Dyck word is a balanced string of parentheses representing a system of nested arches above a horizontal
line. The depth of an arch is the number of arches it is nested within, providing a way to analyse the
hierarchical structure.
3
For example, the Dyck word (()(()(()))) contains arches of depth 0, 1, 2, and 3. Dyck words can be
visualised as arches drawn above a horizontal line, with nesting reflected in the vertical stacking of arches.
Unlike open meanders, Dyck words involve only one side of arches (above the line) and do not include
endpoints represented by 1. They provide a simplified context for studying nesting depth and arch
diagrams, and arches can optionally be visually distinguished by color according to their depth.
When colouring is applied, the following sequence is used: Red, Orange, Goldenrod, Yellow, LimeGreen,
Green, Cyan, SkyBlue, Blue, Purple. If the maximum depth exceeds 9, the sequence wraps around. For
example, depth 10 would use Red again, depth 11 Orange, etc.
3.2 Examples
For a first example, consider the Dyck word (((((((((((((()))))))))))))) and the corresponding
generated diagrams, drawn_dyck_word_1.pdf and coloured_dyck_word_1.pdf.
• There is 1 arch of depth 0.
• There is 1 arch of depth 1.
• There is 1 arch of depth 2.
• There is 1 arch of depth 3.
• There is 1 arch of depth 4.
• There is 1 arch of depth 5.
• There is 1 arch of depth 6.
• There is 1 arch of depth 7.
• There is 1 arch of depth 8.
• There is 1 arch of depth 9.
• There is 1 arch of depth 10.
• There is 1 arch of depth 11.
• There is 1 arch of depth 12.
• There is 1 arch of depth 13.
For a second example, consider the Dyck word (()(()(()))) and the corresponding generated diagrams,
drawn_dyck_word_2.pdf and coloured_dyck_word_2.pdf.
• There are 3 arches of depth 0.
• There is 1 arch of depth 1.
• There is 1 arch of depth 2.
• There is 1 arch of depth 3.
For a third example, consider the Dyck word ((()())(()(()()))) and the corresponding generated
diagrams, drawn_dyck_word_3.pdf and coloured_dyck_word_3.pdf.
4
• There are 5 arches of depth 0.
• There are 2 arches of depth 1.
• There is 1 arch of depth 2.
• There is 1 arch of depth 3.
For a fourth example, consider the Dyck word ((()(()())(()(()(())))((()()))()(()()))) and the
corresponding generated diagrams, drawn_dyck_word_4.pdf and coloured_dyck_word_4.pdf.
• There are 11 arches of depth 0.
• There are 4 arches of depth 1.
• There are 2 arches of depth 2.
• There is 1 arch of depth 3.
• There is 1 arch of depth 4.
• There is 1 arch of depth 5.
3.3 Requirements
Implement in arches.py a class DyckWordError(Exception) and a class DyckWord.
Objects of type DyckWord are created with DyckWord(s), where the argument s is a nonempty string of
parentheses. You may assume that the argument is a string.
• If the argument is the empty string, raise
DyckWordError('Expression should not be empty').
• Otherwise, if the argument contains characters other than parentheses, raise
DyckWordError("Expression can only contain '(' and ')'").
• Otherwise, if the string is not balanced, raise
DyckWordError('Unbalanced parentheses in expression').
Implement in DyckWord three attributes:
• report_on_depths(), a method that outputs the number of arches at each depth, ordered from
smallest to largest depth;
• draw_arches(filename, scale=1), a method that generates a TikZ/LaTeX file drawing the arches;
• colour_arches(filename, scale=1), a method that generates a TikZ/LaTeX file drawing the
arches coloured according to their depth.
5
No error checking is required in the implementation of both methods. You may assume that filename
is a valid string specifying a writable file name, and that scale is an integer or floating-point number
(typically chosen so that the resulting picture fits on a page).
An example interaction is shown in dyck_words.pdf.
Carefully study the eight example .tex files (four for drawing arches, four for colouring arches). Note
that the horizontal baseline extends one unit beyond the leftmost and rightmost arches. Note that the
scale common to x and y is displayed as a floating-point number with a single digit after the decimal
point. Arches are drawn from the leftmost left end to the rightmost left end. Arches are coloured
from largest depth to smallest depth, and for arches of the same depth, from leftmost left end to
rightmost left end.
請加QQ:99515681  郵箱:99515681@qq.com   WX:codinghelp

掃一掃在手機打開當前頁
  • 上一篇:代寫COMP3020J encryptors and decryptors 程序&#160;
  • 下一篇:代寫comp3211程序代做 &#160;IoT Framework&#160;
  • 無相關信息
    合肥生活資訊

    合肥圖文信息
    仿真分析咨詢外包服務-結構 / 熱 / CFD流體 / 電磁 / 光學CAE代做
    仿真分析咨詢外包服務-結構 / 熱 / CFD流體
    流體仿真外包多少錢_專業CFD分析代做_友商科技CAE仿真
    流體仿真外包多少錢_專業CFD分析代做_友商科
    CAE仿真分析代做公司 CFD流體仿真服務 管路流場仿真外包
    CAE仿真分析代做公司 CFD流體仿真服務 管路
    流體CFD仿真分析_代做咨詢服務_Fluent 仿真技術服務
    流體CFD仿真分析_代做咨詢服務_Fluent 仿真
    結構仿真分析服務_CAE代做咨詢外包_剛強度疲勞振動
    結構仿真分析服務_CAE代做咨詢外包_剛強度疲
    流體cfd仿真分析服務 7類仿真分析代做服務40個行業
    流體cfd仿真分析服務 7類仿真分析代做服務4
    超全面的拼多多電商運營技巧,多多開團助手,多多出評軟件徽y1698861
    超全面的拼多多電商運營技巧,多多開團助手
    CAE有限元仿真分析團隊,2026仿真代做咨詢服務平臺
    CAE有限元仿真分析團隊,2026仿真代做咨詢服
  • 豆包網頁版入口 Trae 目錄網 排行網

    關于我們 | 打賞支持 | 廣告服務 | 聯系我們 | 網站地圖 | 免責聲明 | 幫助中心 | 友情鏈接 |

    Copyright © 2025 hfw.cc Inc. All Rights Reserved. 合肥網 版權所有
    ICP備06013414號-3 公安備 42010502001045

    日韩精品一区二区三区高清_久久国产热这里只有精品8_天天做爽夜夜做爽_一本岛在免费一二三区

      <em id="rw4ev"></em>

        <tr id="rw4ev"></tr>

        <nav id="rw4ev"></nav>
        <strike id="rw4ev"><pre id="rw4ev"></pre></strike>
        欧美日韩精品在线播放| 亚洲视频在线观看三级| 精品人妻二区中文字幕| 亚洲欧洲在线观看av| 国产一级片在线| 亚洲视频电影在线| 黄色在线资源| 日韩在线一区二区| 黄污视频在线看| 一区二区精品免费| 一级特黄大欧美久久久| 国产字幕在线看| 欧美日韩国产一区| 伊人精品视频| 日韩精品欧美| 国产最新在线| 国产成人一区二区精品非洲| 欧美日韩在线不卡一区| 九九在线精品| 91精品国产丝袜白色高跟鞋| 日韩国产欧美在线视频| 色偷偷一区二区三区| 国产不卡在线观看视频| 中文字幕欧美日韩在线不卡| 亚洲一区在线观看网站| 国产欧美自拍一区| 天堂在线一区二区三区| 欧美1区免费| 亚洲综合欧美在线| 久久精品国产视频| 精品日韩在线| 一区二区日韩av| 欧美日韩日本视频| 成人ww免费完整版在线观看| 天堂在线一区二区三区| 亚洲一区在线观看网站| 亚洲va久久久噜噜噜久久| 91久久中文| 一区在线免费| 欧美成人二区| 日韩一级精品| 樱花草www在线观看| 亚洲国产欧美久久| 亚洲羞羞网站| 亚洲欧美日本国产专区一区| 日韩在线a电影| 一区免费视频| 日韩中文字幕视频在线观看| 精品一二三区视频| 91国内在线| 欧美日韩尤物久久| 欧美日韩国产不卡| 午夜精品免费视频| 日韩久久精品视频| 精品日韩99亚洲| 久久精品电影| 99热最新网址| 亚洲综合日韩中文字幕v在线| 中文字幕 乱码 中文乱码91| 天天在线视频色| 在线欧美日韩国产| 91蜜桃在线视频| 一区二区不卡久久精品| 国产资源在线观看入口av| 国产综合成人久久大片91| 精品中文在线| 国产成人精品网址| 日韩欧美中文视频| 一级片免费在线播放| 香蕉视频亚洲一级| 精品日韩在线观看| 在线免费91| 久久91精品国产91久久小草| www日韩欧美| 色99中文字幕| 天天综合色天天| 久久精品免费在线观看| 日韩精品久久久| 成人欧美亚洲| 国产一级粉嫩xxxx| 亚洲一区精品电影| 成年人黄国产| 欧美日韩中文字幕日韩欧美| 国产在线精品日韩| 中文亚洲欧美| 国产欧美日韩中文字幕在线| 午夜影院在线观看欧美| 蜜桃精品视频| 欧美三级一区二区三区| 欧美日韩在线精品成人综合网| 午夜av一区| 国产成人一二三区| 国产偷国产偷亚洲清高网站| 国产高潮久久久| 日韩欧美一级在线| 蜜桃久久av| 欧美日韩国产专区| 午夜av一区| 日韩三区免费| av三级在线播放| 91最新在线| 91精品日本| 亚洲一区精品在线| 成人无遮挡免费网站视频在线观看| 欧美日韩亚州综合| 中文字幕亚洲视频| 欧美变态tickling挠脚心| 亚洲福利精品在线| 日韩精品一区二区三区视频播放| 精品国产欧美成人夜夜嗨| 99热最新网址| 日韩欧美国产一二三区| 在线中文字幕网站| 日韩欧美国产成人精品免费| 成人xxxx| 亚洲精华国产欧美| 欧美激情一区二区三区在线| 国产区在线看| 亚洲第一页中文字幕| 中文字幕在线精品| 亚洲va久久久噜噜噜久久| www日韩欧美| 欧美日韩国产一中文字不卡| 亚洲一区在线观看视频| 欧美日韩国产页| 欧美熟妇乱码在线一区| 午夜国产欧美理论在线播放| 国产福利免费观看| 国产一级在线播放| 国产欧美三级| 中文字幕一区免费| 成人h视频在线观看| 91精品国产免费久久综合| 国产欧美久久久久久久久| 欧美日韩在线三级| 日韩在线中文字幕| 99色在线视频| 亚洲免费观看视频| 本道综合精品| 一区免费在线| 精品一性一色一乱农村| 日韩中文字幕综合| 亚洲成a人片在线www| 欧美日韩国产在线| 91日韩中文字幕| 亚洲欧美伊人| 在线黄色国产电影| 亚洲欧美久久久| 日韩欧美高清在线| 国产成人精品免费久久久久| 日韩精品欧美在线| 白嫩少妇丰满一区二区| 欧美日中文字幕| 在线观看国产一区| 亚洲va久久久噜噜噜久久| 日韩国产专区| 日韩国产欧美在线视频| 91久久久久久久久| 在线视频国产三级| 国产男女av| 一区二区不卡久久精品| 亚洲成av人片一区二区密柚| 日韩三级视频中文字幕| 日本亚洲欧美三级|