联系方式

  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-23:00
  • 微信:codinghelp

您当前位置:首页 >> javajava

日期:2019-08-12 10:25

SER202: Problem Solving Task

V1.1

Prof Abbas Kouzani Trimester 2, 2019

The Problem Solving Task is worth 100 marks and constitutes 20% of the overall assessment.

Due date: Friday 9 August 2019, 11:59pm (AEST).

Part A - Programming Task (60 marks):

Develop a program in C and upload it into your Arduino Mega 2560 board to implement a simple Doctor

Appointment System for a clinic. The Arduino Mega 2560 should interact with the user via the Serial

Monitor. The program should do as described below. An example is given after the following description.

In the below description, ‘User’ means the Clinic Admin officer who is the user of the program.

1. Display the following information on the Serial Monitor: Unit code and title, your name, your

student ID.

2. Set Digital Pins 8 to 10 of Arduino Mega board as inputs. Enable the internal pull-up resistor for

each of these pins.

3. Prompt the user to select one of the following options:

1. Patient Details //Assume we will have maximum 15 patients

2. Allocate Patient to Doctor //Jerome Mcclain, Teresita Lieu, Rocky Michael

3. Call Patient //Call the next patient and send them to see their Dcotor

4. Report //Generate a clinic financial report

4. Receive the user’s selection via the Serial Monitor, e.g. 1, 2, … or 4. Depending on the selected

option, prompt the user to enter relevant input information, and then implement the stated

action/display as follows:

For 1 (Patient Details):

Full Name: //First Name Last Name, max 25 characters

// show full name to user

Medicare Card Number: //5 digits entered, show digits to user

//Receive the digits as a string of 5 characters

Symptoms: //Comma separated list of symptoms

// max 25 characters, show symptoms to user

Patient Number: //Generate patient number and display it

//this number should be an integer equal to the

//number of patients currently in the system + 1

/*Store the entered information into appropriate variables*/

2

For 2 (Allocate Patient to Doctor):

Doctor: //User selects one of the 3 doctors by connecting

//one of the Pins 8 to 10 of Arduino to GND

//with a jumper wire, the rest would be VCC due

// to pull-up resistors, then presses Enter key

//Pin 8 for Jerome Mcclain, Pin 9, for Teresita

//Lieu, Pin10 for Rocky Michael

//show the name of selected Doctor to user

Patient Number: //user enters the patient number,

//display the patient name, put

//patient number in the list for the selected

//doctor

For 3 (Call Patient):

/* The user selects Option 3 whenever they see a patient coming out of a doctor

office, or when the doctor has no patient, so they can call the next patient in the

list to see the doctor */

Doctor: //User selects one of the 3 doctors by connecting

//one of the Pins 8 to 10 of Arduino to GND

//with a jumper wire, the rest would be VCC due

// to pull-up resistors, then presses Enter key

//Pin 8 for Jerome Mcclain, Pin 9 for Teresita

//Lieu, Pin10 for Rocky Michael

//show the name of selected Doctor to user

Patient to Be Called: // Show the name of the next patient waiting to

//see the doctor selected.

For 4 (Report):

Show:

Jerome Mcclain:

Show the total earning of this doctor for the patients in their list (seen, currently

with, or waiting), each patient fee for this doctor is $50

Teresita Lieu:

Show the total earning of this doctor for the patients in their list (seen, currently

with, or waiting), each patient fee for this doctor is $60

Rocky Michael:

Show the total earning of this doctor for the patients in their list (seen, currently

with, or waiting), each patient fee for this doctor is $40

Total Clinic Income:

Show the total clinic income

5. Return to Step 3 after the user selection is complete.

3

An Example of User Interaction with the Program:

“1. Patient Details”

----------------------------------------------------------------------

Full Name: John Smith

Medicare Card Number: 49782

Symptoms: Cough,Fever,Congestion

Patient number: 1

----------------------------------------------------------------------

“1. Patient Details”

----------------------------------------------------------------------

Full Name: Loida Carlisle

Medicare Card Number: 61120

Symptoms: Headache,MuscleAching

Patient number: 2

----------------------------------------------------------------------

“2. Allocate Patient to Doctor”

----------------------------------------------------------------------

Doctor: Teresita Lieu //User connects Pin 9 to GND, presses Enter key

Patient Number: Loida Carlisle //User enters 2

----------------------------------------------------------------------

“2. Allocate Patient to Doctor”

----------------------------------------------------------------------

Doctor: Teresita Lieu //User connects Pin 9 to GND, presses Enter key

Patient Number: John Smith //User enters 1

----------------------------------------------------------------------

“1. Patient Details”

----------------------------------------------------------------------

Full Name: Sanjuana Mackiewicz

Medicare Card Number: 22331

Symptoms: Fever

Patient number: 3

----------------------------------------------------------------------

“2. Allocate Patient to Doctor”

----------------------------------------------------------------------

Doctor: Jerome Mcclain //User connects Pin 8 to GND, presses Enter key

Patient Number: Sanjuana Mackiewicz //User enters 3

----------------------------------------------------------------------

“3. Call Patient”

----------------------------------------------------------------------

Doctor: Teresita Lieu //User connects Pin 9 to GND, presses Enter key

Patient to Be Called: Loida Carlisle

----------------------------------------------------------------------

4

“3. Call Patient”

----------------------------------------------------------------------

Doctor: Jerome Mcclain //User connects Pin 8 to GND, presses Enter

Patient to Be Called: Sanjuana Mackiewicz

----------------------------------------------------------------------

“4. Report”

----------------------------------------------------------------------

Doctor Jerome Mcclain:

$50

Doctor Teresita Lieu:

$120

Doctor Rocky Michael:

$0

Total Clinic Income: $170

----------------------------------------------------------------------

The use of high level Arduino Functions (see http://arduino.cc/en/Reference/HomePage, under Functions)

is not permitted. Significant marks will be deducted if any of the functions is used. Native C functions

are however permitted.

Goals

1. Write code to implement a user friendly and neat user interface to interact with the user.

2. Write code to perform implement and execute the specified functions.

Marking will check goals are achieved by examining the running code on the Arduino Board. Marking will

not look at the code to see if goals have been achieved. The source code must be fully documented including

your Full Name and Student ID number. Marking of solution will follow the following rubrics:

Part B - Interim Report (40 marks):

Each student will develop a written report containing:

Title Page (including student name and ID), Abstract, Table of Contents, List of Figures,

List of Tables, Introduction (1 page), Proposed Automatic Self-watering System (Design,

Mechanical Components, Electronics Components, Flowchart of C Program) (2 pages),

Progress to Date (1 page), Conclusions (0.5 page), References.

The “Progress to Date” section should include a table listing the electronics, mechanical, and other

components that you have received. It should also contain an image that displays all the

components you have received together.

Marking of Interim Report will follow the following guide:

CONTENT

explains key aspects of project

development, test, discussions,

achievements, etc

0 7.5 15 22.5 30

very poor poor good outstanding

ORGANIZATION

logical, easy to follow, interesting, use

of figures, …

0 1.25 2.5 3.75 5

very poor poor good outstanding

LANGUAGE

grammar, clarity of writing

0 1.25 5 3.75 5

very poor poor good outstanding

TOTAL: / 40

Submission Procedure

Name your program file for Part A by using ‘A’ followed by your student ID number (eg A200678901).

Name your report file for Part B by using ‘B’ followed by your student ID number (eg B200678901).

Submit 2 files, a program file (eg A200678901.ino), and a word or pdf file (eg B200678901.docx or

B200678901.pdf) through the “Problem Solving Task” dropbox on CloudDeakin site.

Marks will be deducted if this submission procedure is not followed.

Zero mark will be given if the submitted program file could not be successfully compiled, or it did not work

when programmed into the Arduino Mega 2560 board.


版权所有:留学生程序网 2020 All Rights Reserved 联系方式:QQ:99515681 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。