辅导CSSE2310程序、 写作c/c++编程

” 辅导CSSE2310程序、 写作c/c++编程The University of QueenslandSchool of Information Technology and Electrical EngineeringCSSE2310/CSSE7231 Semester 1, 2021Assignment 2 (v1.0)Marks: 50Weighting: 10%Due: 3:59pm 1 April, 2021IntroductionThe goal of this assignment is to ensure you have gained familiarity and skills with both the C programminglanguage and using a debugger (such as gdb(1)) to examine various characteristics of running programs. Thesewill be essential skills in later assignments for this Course. For this assignment you will be given an executableprogram (the bomb) which you have to defuse by entering the correct defusing phrases into the programfor each of the 10 bomb phases.Student conductThis is an individual assignment. You should work on defusing your own bomb by yourself. You should feelfree to discuss aspects of C programming and the use of debuggers with your fellow students, but you shouldntactively help (or seek help from) anyone with the defusing of particular phases. Do not share your approachesto solving the bomb phases – even after the assignment deadline (as extensions may be given to other students).You should note that each student will receive a different bomb and the strings that defuse your bomb willbe different to the strings that defuse another students bomb.In short – dont risk it! If youre having trouble, seek help early from a member of the teaching staff. Dontbe tempted to cheat. You should read and understand the statements on student misconduct in the course profileand on the school website: httpss://www.itee.uq.edu.au/itee-student-misconduct-including-plagiarismObtaining the BombWhilst logged in to moss.labs.eait.uq.edu.au, You should type the following command:getbombThis will create a subdirectory within your current directory named csse2310a2 and place the bomb files intothat directory. The files will include an executable called bomb and a number of source files (.h and .c files).Your bomb (executable and source) will be different to the bombs for all other students. You will not receiveall of the source files just some of them. There is enough information contained within the bomb executableand the supplied source files in order for you to successfully defuse all phases (although some of them are moredifficult than others). You should note that some of the bombs modules have been compiled with debuggingsupport (-g flag to gcc) and some havent.Running the BombThe bomb program will only run on moss.labs.eait.uq.edu.au and you are the only user who can run your bombprogram. Any attempt to run the program on another host or to run another users bomb will cause the bombto exit immediately. Whilst in your csse2310a2 directory, you can execute the bomb by typing./bombYou may not want to do this until you are ready to try defusing the bomb. When you start the bomb program,it will print out details of any phases you have already defused and it will print your current mark (out of 50)and the maximum mark you can obtain based on your attempts to date.The bomb will then prompt you to enter the number of the phase to defuse next, followed by the string thatyou believe defuses that phase (or a test string). You will be prompted for confirmation before that string is1tested. If you confirm your attempt and the string is incorrect then the bomb will explode and exit. If thestring is correct, then that phase is defused and you will not be able to solve it again. You will lose marks forevery time the bomb explodes.You should note that the bomb is booby trapped. You are warned against modifying the internal datastructures of the bomb you never know what might happen and any loss of marks you incur will not bereversed.HintsThere are two demo phases that do not count for marks. You may attempt these as many times as you like byentering either demo1 or demo2 when prompted for a phase to defuse. There is no mark penalty if eitherof these demo phases explodes.You should carefully read the supplied Source code and be familiar with the use of gdb before attemptingto run the bomb. It is suggested you run the bomb from within a debugger rather than standalone. Note thatyou may get a warning message about Missing separate debuginfos… you can safely ignore this message.All phases have associated code and some debugging information and you will need to use a debugger to setbreakpoints, examine various variables etc in order to determine the defusing strings. You may need to learnabout and use a number of features of gdb including watchpoints, automatic display, conditional breakpoints,and/or breakpoint command lists to solve the phases more efficiently.You should note that the code that determines each defusing string is not executed until AFTER the defusingtext is read from the user so you may need to enter some arbitrary text, debug the code to determine the defusingstring, quit the program and then run it again to enter the defusing string for that phase.The bomb is deterministic the same sequence of inputs will result in the same operation each time, so thedefusing string for each phase will not vary over time. However, many of the functions within the bomb are notdeterministic they may return something different each time they are called.SubmissionEvery time you run the bomb, a record is kept of your interactions with it and your success/failure at defusingeach phase. Your submission time for the assignment will be considered to be the time of your last attemptto defuse any phase of the bomb. You Must make at least one attempt in order to be considered to havemade a submission. An attempt means either that the bomb explodes or a phase is defused.Late penalties will apply as described in the CSSE2310/CSSE7231 course profile. Any attempt to defusethe bomb after the deadline will result in a late penalty being applied to your whole assignment mark.MarksThere are 10 phases, each worth 5 marks. The mark you achieve for each phase is determined by the numberof attempts taken before you successfully defuse that phase. If you do not defuse a phase you will receive zeromarks for that phase. If you defuse a phase on the first attempt, you will receive 5 marks for that phase. If ittakes you longer than one attempt, your mark for that phase will be5 0.8(number of attempts1)i.e. if it takes you 2 attempts, your mark for that phase will be 4 out of 5, 3 attempts gives you 3.2 out of 5, 4attempts gives you 2.56 out of 5, etc. There is no limit on the number of attempts you can make at any phasebefore succeeding. You should note that Although each phase is worth the same number of marks, they arenot of equal difficulty. All marks are subject to an audit of our logs to ensure that you have correctly enteredthe defusing strings and havent tampered with the bomb to defuse it in some other way. Tampering with thebomb to make it appear as though you have Defused a phase when you have not correctly defused it will resultin zero marks for that phase.请加QQ:99515681 或邮箱:99515681@qq.com WX:codehelp

添加老师微信回复‘’官网 辅导‘’获取专业老师帮助,或点击联系老师1对1在线指导