KXO151 Programming & Problem Solving

60 阅读11分钟

Page 1 of 9
KXO151 Programming & Problem Solving
AIEN-SHOU - 2024
Assignment 2
Deadline for Submission: 9PM (Shanghai) Wednesday, Week 8, 17 April 2024
Maximum Marks Available:  15 (15% of the total assessment for KXO151)
Submission: Via  MyLO
NOTE: All assignments will be checked for plagiarism by  a specialist Java program that checks 
your  assignment  against  other  student’s  assignments  as  well  as  the  Internet  (including  help 
sites). 
Assignment Type: Individual
Requirements:
PLEASE NOTE: This assignment is to be completed by Students individually. If you need help, please 
look  at  the  textbook or  ask  your  lecturer.  Students  who  have  been  working  through  the  tutorial 
exercises should not have much difficulty in completing this assignment.
PLEASE NOTE: The submitted Java code must be able to be compiled from the command line using 
Javac the Java programming language compiler command, or from a basic editor such as jGrasp. Be 
aware that development programs such as Eclipse often use features only available when run using 
their system, meaning that their code may not run on a system without their development program. 
Programs that do not run from the command line using javac (to compile) and java (to run) because 
of a missing development program feature will fail the assignment.  
You are required to perform the following tasks:
Write  a  Java  application  program  named  Asst2.java  which  implements  a  simple  'Healthcheck' 
program. The details (specifications) of this task are given below. Note that the correctness marks 
you receive for your program will depend on how well it matches this specification. If you decide to 
implement something that is more elaborate than specified, you  should understand that:
• There will be no marks 代 写KXO151 Programming & Problem Solvingawarded for the elaborations you have designed and penalties may 
be applied for confusing/extraneous code.
• Your program MUST STILL meet the basic specifications given below.
The program is to implement a simple ' Healthcheck’ program. The user will be asked four questions 
about themselves:
• Their Weight (in kilograms), (to be stored in an int variable).
• Systolic blood pressure (in mmHg), (to be stored in an int variable).
• Diastolic blood pressure (in mmHg), (to be stored in an int variable).
• Heart rate (in beats per minute), (to be stored in an int variable).
The answers  to  these questions will be  used  to generate a 'Health check'  for  the user,  this  will be 
displayed on the screen.
Specifications of the Program
Page 2 of 9
Prompt the user for the 4 pieces of information about themselves (see above) and store the answers 
in the program. There is no need to check whether the answers are reasonable - that is, if the user 
enters 1000 for their age, 500 for their systolic or diastolic blood pressure, -and 10 for their heart 
rate.  The  program  will  accept  these  values  and  continue.  Do  not  ask  the  user  for  any  other 
information.

  1. After  receiving input  from  the  user,  the  program  should  display a  summary  of  the  health 
    metrics entered by the user.
  2. The program should categorize the user's blood pressure based on the entered systolic and 
    diastolic readings. Blood pressure categories should include:
    Low Blood Pressure (Hypotension):
    If the systolic blood pressure is less than 90 mmHg AND the diastolic blood pressure is less 
    than 60 mmHg, it indicates low blood pressure.
    Normal Blood Pressure:
    If the systolic blood pressure is between 90 and 120 mmHg AND the  diastolic blood pressure 
    is between 60 and 80 mmHg, it indicates normal blood pressure.
    Elevated Blood Pressure (Hypertension Stage 1):
    If the systolic blood pressure is between 120 and 129 mmHg AND the diastolic blood pressure 
    is between 60 and 80 mmHg, it indicates elevated blood pressure, which is the first stage of 
    hypertension.
    High Blood Pressure (Hypertension Stage 2):
    If the systolic blood pressure is between 130 and 139 mmHg OR the diastolic blood pressure 
    is between 80 and 89 mmHg, it indicates high blood pressure, which is the second stage of 
    hypertension.
    Hypertensive Crisis:
    If the systolic blood pressure is 140 mmHg or higher OR the diastolic blood pressure is 90 
    mmHg or higher, it indicates a hypertensive crisis, requiring immediate medical attention.
  3. The program should provide feedback on the user's heart rate, considering normal resting 
    heart rate ranges.
    Heart Rate Lower Than Normal Resting Heart Rate:
    If the heart rate is less than 60 beats per minute (bpm), it indicates that the heart rate is 
    lower than the normal resting heart rate. This could be indicative of bradycardia or other 
    underlying health conditions where the heart beats slower than usual.
    Heart Rate Higher Than Normal Resting Heart Rate:
    If the heart rate is greater than 100 bpm, it indicates that the heart rate is higher than the 
    normal resting heart rate. This could be indicative of tachycardia or other underlying health 
    conditions where the heart beats faster than usual.
    Heart Rate Within Normal Range:
    If the heart rate falls between 60 and 100 bpm (inclusive), it indicates that the heart rate is 
    within the normal range for a resting heart rate. This range is generally considered normal 
    for most adults at rest.
  4. The program should ask the user if they want to monitor their health again after displaying 
    the health metrics summary, blood pressure category, and heart rate feedback. If the user 
    chooses to monitor their health again, the process should repeat (the questions will then be 
    asked again). If the user chooses to do not want to monitor the health again, then program 
    should show a message with total number of health checks done in the session. 
    A sample output of the program is attached to the end of this document.
    Page 3 of 9
    Program Style
    The program you write for this assignment must be a single class called Asst2 with the code in a file 
    called Asst2.java. There should be a single method (the main() method) in this class.
    Your  program  should  follow  the  coding  conventions  introduced  in  this  unit and  shown  in  the 
    textbook, especially:
    • Variable identifiers should start with a lower case letter
    • Final variable identifiers should be written all in upper case and should be declared before 
    all other variables
    • Every if-else statement should have a block of code for both the if part and the else part (if 
    used)
    • Every loop should have a block of code (if used)
    • The program should use final variables as much as possible
    • The keyword continue should not be used
    • The keyword break should only be used as part of a switch statement (if required)
    • Opening and closing braces of a block should be aligned
    • All code within a block should be aligned and indented 1 tab stop (approximately 4 spaces) 
    from the braces marking this block
    Commenting:
    • There should be a block of header comment which includes at least
    o file name
    o your name (in pinyin)
    o student UTas id number
    o a statement of the purpose of the program
    • Each variable declaration should be commented.
    • There should be a comment identifying groups of statements that do various parts of the task.
    • There should not be a comment stating what every (or nearly every) line of the code does -
    as in: 
    num1 = num1 + 1; // add 1 to num1
    Save the Output 
    Run your program entering data via the keyboard and save the output of your program to a text file 
    using your UTas student id number as the name of the file, for example, 159900.txt (in jGrasp, right 
    mouse-click in the ‘Run I/O’ window and select ‘Save As Text File’).
    Important Notes: 
    • Changing a few variable names, adding different data and / or adding your name to the top 
    of someone else’s code does not make it your own work. See the section on ‘Plagiarism’ below.
    • You need to submit 2 files: 
    o your  Asst2.java
    o a text file containing the output of your program using your UTas id number as the 
    name of the file, for example, 159900.txt. 
    o See the section on ‘Submission’ below for more information.
    • Before you submit your assignment through the KXO151 MyLO website, it is suggested that 
    you make sure the final version of your Java program file compiles and runs as expected – do 
    Page 4 of 9
    not change the names of the java  file – submit it exactly as you last compiled and ran it.
    Programs that do not compile and / or run will fail the assignment. If in doubt, you can 
    click on the submitted files, download them from MyLO, and check that they are the files you 
    think they should be. 
    NOTE: The higher marks are reserved for solutions that are highly distinguished from the rest and 
    show an understanding and ability to program using Java that is well above the average.
    Page 5 of 9
    Submission:
    Your  completed  solution (your  Asst2.java file,  plus  a  text  file containing  the  output  of  your 
    program  using  your  UTas  id  number  as  the  name  of  the  file,  for  example,  159900.txt)  must  be 
    submitted by the deadline. Assignments must be submitted electronically via KXO151 MyLO website
    as files that can be read by a text editor such as Microsoft Notepad (submit the *.java file - not the 
    *.class file). Follow the following steps to create a package for your assignment files and then submit 
    your package file:
  5.    On  your  computer  desktop,  create  a  new  folder  using  your  name  and  UTAS  ID  number.  For 
    example, if you name is Jianwen Chen and your UTAS ID number is 159900, then the new folder must 
    be named Jianwen_Chen_159900;
  6. Copy your 2 assignment files into the new folder;
  7. Use the WinRAR application to compress the new folder and name it as *.rar. For example, Jianwen 
    Chen would name it as Jianwen_Chen_111222.rar.
  8. Submit your *.rar file to the unit MyLO “Assignments” folder.
  9.  If  WinRAR  application  is  not  available  on  your  computer,  try  to  use  a  similar  application  to 
    compress the new folder and name it as *.zip, and then submit the *.zip file.
    Details of the actual submission procedure are available through the MyLO webpages. 
    Students  who  believe  that  this  method  of  submission  is  unsuitable  given  their  personal 
    circumstances must make alternative arrangements with their Lecturer prior to the submission date. 
    Extensions will only be granted under exceptional conditions, and must be requested with adequate 
    notice on the Request for Extension forms.
    In submitting your assignment you are agreeing that you have read the ‘Plagiarism’ section below, 
    and that your assignment submission complies with the assignment requirement that it is your own 
    work.
    Page 6 of 9
    Plagiarism
    While students are encouraged to discuss the assignments in this unit and to engage in active learning 
    from each other, it is important  that  they are also aware of  the University’s policy on plagiarism. 
    Plagiarism  is  taking  and  using  someone  else's  thoughts,  writings  or  inventions  and  representing 
    them as your own; for example downloading an essay wholly or in part from the internet, copying 
    another student’s work or using an author’s words or ideas without citing the source.
    It is important  that you understand  this statement on plagiarism. Should you require clarification 
    please see your unit coordinator or lecturer.  Useful resources on academic integrity, including what 
    it is and how to maintain it, are also available at: www.academicintegrity.utas.edu.au/.
    Acknowledgement
    This assignment has been adapted from a programming project developed by Dr Julian Dermoudy. The assignment template 
    was written by Dr Dean Steer. Both authors are members of School of Engineering and ICT, University of Tasmania, Australia.
    Plagiarism  is  a  form  of  cheating.  It  is  taking  and  using  someone  else's  thoughts, 
    writings  or  inventions  and  representing  them  as  your  own;  for  example,  using  an 
    author's words without putting them in quotation marks and citing the source, using 
    an  author's ideas without  proper  acknowledgment  and  citation  or  copying  another 
    student’s work. 
    If you have any doubts about how to refer to the work of others in your assignments,
    please  consult  your  lecturer  or tutor  for  relevant  referencing  guidelines,  and  the 
    academic integrity resources on the web at: www.academicintegrity.utas.edu.au/.
    The intentional copying of someone else’s work as one’s own is a serious offence
    punishable by penalties that may range from a fine or deduction/cancellation of marks
    and, in the most serious of cases, to exclusion from a unit, a course or the University. 
    Details  of  penalties  that  can be imposed are available in the Ordinance of Student
    Discipline – Part 3 Academic  Misconduct,  see: 
    www.utas.edu.au/universityc…
    The University reserves the right to submit assignments to plagiarism detection 
    software, and might then retain a copy of the assignment on its database for the 
    purpose of future plagiarism checking.
    Page 7 of 9
    Sample Output of Assignment 2, 2024
    C:\KXO151>java Asst2
    Welcome to Health Monitor!
    Please enter your weight (Kg): 66
    Please enter your systolic blood pressure (mmHg): 120
    Please enter your diastolic blood pressure (mmHg): 80
    Please enter your heart rate (bpm): 80
    Health Metrics Summary:
    Weight: 66 kg
    Blood pressure: 120/80 mmHg
    Heart Rate:80 bpm
    Blood Pressure Category: Normal Blood Pressure
    Heart Rate Feedback: Your heart is within the normal range.
    Do you want to monitor your health again (y/n):
    Welcome to Health Monitor!
    Please enter your weight (Kg): 50
    Please enter your systolic blood pressure (mmHg): 100
    Please enter your diastolic blood pressure (mmHg): 60
    Please enter your heart rate (bpm): 150
    Health Metrics Summary:
    Weight: 50 kg
    Blood pressure: 100/60 mmHg
    Heart Rate:150 bpm
    Blood Pressure Category: Normal Blood Pressure
    Heart Rate Feedback: Your heart is higher than normal resting heart
    rate.
    Do you want to monitor your health again (y/n):
    Welcome to Health Monitor!
    Please enter your weight (Kg): 100
    Please enter your systolic blood pressure (mmHg): 150
    Please enter your diastolic blood pressure (mmHg): 90
    Please enter your heart rate (bpm): 150
    Health Metrics Summary:
    Weight: 100 kg
    Blood pressure: 150/90 mmHg
    Heart Rate:150 bpm
    Blood Pressure Category: Hypertensive Crisis (Seek medical attention
    immediately)
    Heart Rate Feedback: Your heart is higher than normal resting heart
    rate.
    Do you want to monitor your health again (y/n): n
    Thank you for using Health Monitor. I provided 3 Health check(s),
    Goodbye!
    Page 8 of 9
    Guide to Assessment and Expectations:
    The assessment of Assignment 2 is based on the following criteria:
    Criteria High Distinction Distinction Credit Pass Fail
    Programming 
    Requirement
    Excellent 
    programming  ability 
    to  correctly  prompt 
    the  user  for  inputs 
    and  store  them 
    appropriately. The 
    program  employs  a 
    loop  structure  to 
    repeatedly  prompt 
    the  user  until  they 
    choose  to  exit. The 
    program  accurately 
    assesses  and  provide 
    the information as per 
    the  requirements. It 
    accurately  calculates 
    and displays  the  total 
    number of  times user 
    asks  to  run  the 
    program during  the 
    session.
    Reasonable 
    programming  ability 
    to  correctly  prompt 
    the  user  for  inputs 
    and  store  them 
    appropriately. The 
    program  employs  a 
    loop  structure  to 
    repeatedly  prompt 
    the  user  until  they 
    choose  to  exit. The 
    program  reasonably
    assesses  and  provide 
    the information as per 
    the  requirements. It 
    accurately  calculates 
    and displays  the  total 
    number of  times user 
    asks  to  run  the 
    program during  the 
    session.
    Good  programming 
    ability  to  correctly 
    prompt  the  user  for 
    inputs and store them 
    appropriately. The 
    program  employs  a 
    loop  structure  to 
    repeatedly  prompt 
    the  user  until  they 
    choose  to  exit. The 
    program assesses and 
    provide  the 
    information as per the 
    requirements. It
    calculates  and 
    displays  the  total 
    number of  times user 
    asks  to  run  the 
    program during  the 
    session.
    Some  user inputs  are 
    prompted  or  stored 
    incorrectly. Loop 
    structure  is  partially 
    implemented  or 
    contains minor issues.
    The  program 
    accurately  assesses 
    some  of  the 
    requirements  and 
    provide  the 
    information as per the 
    requirements. It 
    partially calculates 
    and displays  the  total 
    number of  times user 
    asks  to  run  the 
    program during  the 
    session.
    User  inputs  are  not 
    prompted  or  stored 
    correctly. Loop 
    structure  is  not 
    implemented  or  does 
    not function properly.
    The information 
    assessment  is 
    incorrect  or 
    incomplete. Total 
    number  of  program 
    runs is not calculated 
    or displayed.
    General 
    Requirement
    Excellent  evaluation 
    of  the  program's 
    organization  and 
    visual  presentation.
    Assessment  of 
    adherence  to  coding 
    standards  such  as 
    naming  conventions, 
    use  of  constants,  and 
    in-line  comments.
    Check  if  the  program 
    includes  the 
    necessary 
    information  in  its 
    header.
    Reasonable 
    evaluation  of  the 
    program's 
    organization  and 
    visual  presentation.
    Assessment  of 
    adherence  to  coding 
    standards  such  as 
    naming  conventions, 
    use  of  constants,  and 
    in-line  comments.
    Check  if  the  program 
    includes  the 
    necessary 
    information  in  its 
    header.
    Good  evaluation  of 
    the  program's 
    organization  and 
    visual  presentation.
    Assessment  of 
    adherence  to  coding 
    standards  such  as 
    naming  conventions, 
    use  of  constants,  and 
    in-line  comments.
    Check  if  the  program 
    includes  the 
    necessary 
    information  in  its 
    header.
    Some  evaluation  of 
    the  program's 
    organization  and 
    visual  presentation.
    Assessment  of 
    adherence  to  coding 
    standards  such  as 
    naming  conventions, 
    use  of  constants,  and 
    in-line  comments.
    Check  if  the  program 
    includes  the 
    necessary 
    information  in  its 
    header.
    No  evaluation  of  the 
    program's 
    organization  and 
    visual  presentation.
    Assessment  of 
    adherence  to  coding 
    standards  such  as 
    naming  conventions, 
    use  of  constants,  and 
    in-line  comments.
    Check  if  the  program 
    includes  the 
    necessary 
    information  in  its 
    header.
    Note The High Distinction grade is reserved  for solutions  that  fully meet  the requirements & are highly distinguished  from 
    other assignments by their high-quality work & their attention to detail (usually only 10% of students).
    PLEASE NOTE: The assignment will receive a single composite mark. The assignment will be accessed 
    from the point of view of the requirements: “Does it meet the requirements, and how well does it do 
    it?”  Where there is some inconsistency in that the work does not completely match every sub-criteria 
    within a particular criteria, then the grade reflects the value of the work ‘on average’. 
    KXO151 Assignment Two Marking Scheme (2024)
    Student Name: UTAS ID:
    Programming Requirements (for each item there are only 3 possible marks: 100% or 50% or 0%)
    Requirement Item (Total 10 marks) Mark
    Out of
    PR1. Correctly obtain and store user inputs (weight, systolic blood pressure,
    diastolic blood pressure, heart rate)
    4
    PR2. Correctly construct a loop structure 3
    PR3. Correctly make the health monitor. 2
    Page 9 of 9
    PR4. Correctly calculate and display the total number of health checks when a
    user chooses to exit.
    1
    General Requirements (for each item there are only 3 possible marks: 100% or 50% or 0%)
    General Item (Total 5 marks) Mark
    GR1. Program structure and layout
    Clear and tidy (1). Somewhat messy but understandable (0.5). Messy (0)
    2
    GR2. Good compliance with programming conventions (naming convention,
    proper use of constants, in-line comments, etc)
    2
    GR3. Include name, ID, and brief introduction in the program’s header 1
    Assignment Raw Total: /15
    Lateness Penalty:
    Assignment Final: /15
    UTAS lateness penalty policy:
    “Assignments submitted after the deadline will receive a late penalty of 5% of the original available mark
    for each calendar day (or part day) that the assignment is late. Late submissions will not be accepted more
    than 10 calendar days after the due date, or after assignments have been returned to other students on a
    scheduled date, whichever occurs first.”
    WX:codinghelp