国产人妻人伦精品_欧美一区二区三区图_亚洲欧洲久久_日韩美女av在线免费观看

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

代寫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仿真分析_代做咨詢服務_Fluent 仿真技術服務
    流體CFD仿真分析_代做咨詢服務_Fluent 仿真
    結構仿真分析服務_CAE代做咨詢外包_剛強度疲勞振動
    結構仿真分析服務_CAE代做咨詢外包_剛強度疲
    流體cfd仿真分析服務 7類仿真分析代做服務40個行業
    流體cfd仿真分析服務 7類仿真分析代做服務4
    超全面的拼多多電商運營技巧,多多開團助手,多多出評軟件徽y1698861
    超全面的拼多多電商運營技巧,多多開團助手
    CAE有限元仿真分析團隊,2026仿真代做咨詢服務平臺
    CAE有限元仿真分析團隊,2026仿真代做咨詢服
    釘釘簽到打卡位置修改神器,2026怎么修改定位在范圍內
    釘釘簽到打卡位置修改神器,2026怎么修改定
    2025年10月份更新拼多多改銷助手小象助手多多出評軟件
    2025年10月份更新拼多多改銷助手小象助手多
    有限元分析 CAE仿真分析服務-企業/產品研發/客戶要求/設計優化
    有限元分析 CAE仿真分析服務-企業/產品研發
  • 短信驗證碼 寵物飼養 十大衛浴品牌排行 目錄網 排行網

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

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

    国产人妻人伦精品_欧美一区二区三区图_亚洲欧洲久久_日韩美女av在线免费观看
    色999日韩自偷自拍美女| 热久久免费视频精品| 国产精品a久久久久久| av一区二区三区在线观看| 韩国一区二区三区美女美女秀| 日韩不卡一二区| 亚洲精品国产精品国自产| 欧美激情va永久在线播放| 国产精品久久久久久久久免费| 久久精品国产2020观看福利| www.亚洲成人| 国产精品三级久久久久久电影 | 99久久激情视频| 99精品国产一区二区| 97国产精品人人爽人人做| 99国产精品久久久久老师| 国产欧美亚洲精品| 99在线视频免费观看| 99久久久精品免费观看国产| 高清视频一区二区三区| 精品婷婷色一区二区三区蜜桃| 免费看国产一级片| 日韩欧美一级在线| 欧美亚洲激情视频| 精品一区二区三区国产| 国产在线999| 国产a视频免费观看| www高清在线视频日韩欧美| 久久色在线播放| 色在人av网站天堂精品| 亚洲一区精品视频| 日本a级片电影一区二区| 黄色片久久久久| 国产欧美日韩在线播放| 99久久99| 久久精品免费一区二区| 国产精品久久久久久一区二区 | 一区二区在线中文字幕电影视频| 亚洲高清不卡一区| 欧美 国产 日本| 国产精品一区二区av| 久青草视频在线播放 | 久久草视频在线看| 久久伊人91精品综合网站| 亚洲三区视频| 黄色成人在线看| 成人免费91在线看| 国产激情视频一区| 国产精品高清网站| 日本亚洲欧美成人| 国产欧美精品xxxx另类| 久久久久久亚洲精品不卡| 久久中文精品视频| 日韩国产精品一区二区三区| 国产女大学生av| 色阁综合伊人av| 亚洲综合精品伊人久久| 黄色特一级视频| 91精品一区二区| 精品久久久三级| 日韩视频在线免费播放| 99久久99| 国产精品黄色影片导航在线观看| 亚洲 欧美 日韩 国产综合 在线| 国产有码在线一区二区视频| 日韩在线中文字| 婷婷五月综合缴情在线视频 | 俄罗斯精品一区二区三区| 国产精品日韩av| 日本免费在线精品| 97久久精品国产| 色综合91久久精品中文字幕 | 97伦理在线四区| 国产精品网站大全| 日韩av第一页| 成人免费视频久久| 久久夜色撩人精品| 欧美极品欧美精品欧美图片| 国产成人一区三区| 亚洲区成人777777精品| 国产人妖伪娘一区91| 国产精品海角社区在线观看| 欧美日韩在线不卡视频| 久久久免费av| 日本中文不卡| 久久最新免费视频| 午夜一区二区三视频在线观看| 国产欧美自拍视频| 国产精品久久久久久久久久尿 | 日韩av影视| 国产盗摄xxxx视频xxx69| 亚洲精品国产一区| av动漫在线观看| 亚洲日本精品国产第一区| 97热精品视频官网| 亚洲va码欧洲m码| 91精品国产高清自在线| 天堂资源在线亚洲视频| 成人久久18免费网站图片| 欧美激情欧美激情在线五月| 精品一区二区视频| 精品久久久久久乱码天堂| 国产一区红桃视频| 欧美精品www在线观看| 成人国产一区二区| 日韩在线xxx| 久久久久免费视频| 欧美h视频在线| 国产精品成人一区二区三区| 国产欧美日韩91| 亚洲精品一区二区毛豆| 91av在线不卡| 日韩久久一级片| 日韩视频免费中文字幕| 激情成人开心网| 欧美激情视频一区二区| 97精品国产97久久久久久粉红| 色噜噜狠狠色综合网| 精品国产依人香蕉在线精品| 欧美二区在线| 欧美精品videofree1080p| 久久久影视精品| 欧美日韩成人一区二区三区 | 久久99久国产精品黄毛片入口| 成人免费无码av| 日本久久久久久| 国产精品日本精品| 国产精品有限公司| 日韩欧美一区二区在线观看| 国产精品欧美激情在线播放| 国产精品一区二区欧美黑人喷潮水| 婷婷久久伊人| 久热国产精品视频| 97人人模人人爽人人少妇| 日本精品视频在线| 久久国产精彩视频| 国产精品18毛片一区二区| 欧美有码在线视频| 欧美精品xxx| 日韩中文在线中文网三级| 国产剧情久久久久久| 视频一区二区综合| 国产精品国产亚洲精品看不卡| www污在线观看| 欧美老熟妇喷水| 日日骚一区二区网站| 精品国产一区二区三| 久久久久久久久久久网站| 国产精品一区二区三| 欧美日韩亚洲在线| 天堂av一区二区| 欧美日本国产在线| 精品国产一区av| 久久理论片午夜琪琪电影网| 国产一区二区三区色淫影院| 日本国产高清不卡| 在线播放 亚洲| 国产精品福利网| 日韩中文字幕在线免费观看| 91久久嫩草影院一区二区| 国产又大又硬又粗| 欧美日韩精品免费观看| 春色成人在线视频| 中文字幕一区二区三区四区五区 | 欧美高清性xxxxhdvideosex| 午夜精品久久久久久久99黑人 | 91久久精品日日躁夜夜躁国产| 黄网站欧美内射| 欧美日韩亚洲免费| 日韩精品无码一区二区三区| 亚洲精品人成| 自拍视频一区二区三区| 欧美成人精品在线播放| 欧美影视一区二区| 日韩免费av一区二区| 亚洲aa中文字幕| 亚洲国产高清国产精品| 欧美激情视频在线免费观看 欧美视频免费一 | 精品人妻一区二区三区四区在线| 亚洲日本精品一区| 欧美精品激情在线| 免费av在线一区| 欧美成年人视频| 欧美精品免费在线观看| 国产精品久久久久久久一区探花| 久久久久久久久爱| 国产厕所精品在线观看| 久久免费精品视频| 国产精品10p综合二区| 91免费看国产| 国产精品99久久久久久久久| 国产精选一区二区| 高清av免费一区中文字幕| 国产伦精品一区二区三区免| 美女一区视频| 欧美日韩在线不卡视频| 欧美极品欧美精品欧美图片| 狠狠噜天天噜日日噜| 国内精品美女av在线播放| 国内精品在线一区|