Sie sind auf Seite 1von 9

POLITEKNIK TUANKU SYED SIRAJUDDIN

DFC1042 – PROBLEM SOLVING AND PROGRAM DESIGN

PROJECT

Name

Reg. No.
Topic Topic 2: Problem Solving Methods
Topic 3: Fundamentals of Programming Language
Topic 4: Basic Programming Codes Marks

/50
CLO 3C: Solve problems by applying related theories of the basic programming technique to a
given particular scenario using programming life cycle. (C4, P3, A2, PLO1, PLO2, PLO4, PLO6)

/30
CLO 3P: Solve problems by applying related theories of the basic programming technique to a given
particular scenario using programming life cycle. (C4, P3, A2, PLO1, PLO2, PLO4, PLO6)

TOTAL MARKS /80


Instruction:
Based on question given, prepare a report based on the following guidelines:
i. Cover page – includes Polytechnic logo, Course Code & Course Name, Assessment
name, Lecturer Name, Submit Date, Student Name, Matric No and Class.
ii. Your answer

Question:
The electric tariff for residential unit is calculated monthly using the following table:
Block Tariff (kWh) Rate (RM)

The first 200 0.218

The next 100 0.334

The next 300 0.516

For consumers with monthly consumption of more than 300kWh, there is a subsidy of RM 0.0152
/kWh applicable to the consumer’s bill. The bill includes name, address and bill date

1. Identify the input, process and output (15 markah) [CLO 3C]
2. Write algorithm, flow chart and pseudo code for the following requirements by analyzing
and applying the problem solving step to solve the problem (35 markah) [CLO 3C]
3. Develop a program to calculate total electricity bill for the usage of 432 kWh and print screen
the output. The output must include the following items: (30 markah) [CLO 3P]
a) Consumer name
b) Address
c) Bill date
d) Amount of block tariff usage
e) Total subsidy
f) Total bill
POLITEKNIK TUANKU SYED SIRAJUDDIN
DFC1042 – PROBLEM SOLVING AND PROGRAM DESIGN

PROJEK
Topic 2: Problem Solving Methods
Topic Topic 3: Fundamentals of Programming Language
Topic 4: Basic Programming Codes Markah

/50
CLO 3C: Solve problems by applying related theories of the basic programming technique to a
given particular scenario using programming life cycle. (C4, P3, A2, PLO1, PLO2, PLO4, PLO6)

/30
CLO 3P: Solve problems by applying related theories of the basic programming technique to a given
particular scenario using programming life cycle. (C4, P3, A2, PLO1, PLO2, PLO4, PLO6)

JUMLAH MARKAH /80


Arahan:
Daripada soalan yang disediakan di bawah, sediakan laporan berdasarkan garis panduan berikut:
i. Muka hadapan – mengandungi logo Politeknik, Kod & Nama kursus, Nama Penilaian,
Nama Pensyarah, Tarikh Penghantaran dan Nama, No. matrik dan kelas Pelajar.
ii. Jawapan anda

Soalan:
Tarif elektrik untuk unit kediaman dikira setiap bulan menggunakan jadual berikut:
Blok Tarif (kWh) Kadar (RM)
200 unit pertama 0.218
100 unit seterusnya 0.334
300 unit seterusnya 0.516
Bagi pengguna dengan penggunaan bulanan melebihi 300kWh, terdapat subsidi RM 0.0152 / kWh
yang terpakai bagi bil pengguna. Bil tersebut mengandungi nama, alamat dan tarikh bil

1. Kenalpasti input, proses dan output. (15 markah) [CLO 3C]


2. Tulis algoritma, carta alir dan kod pseudo bagi keperluan dengan menganalisa dan
mengaplikasikan langkah penyelesaian masalah dalam menyelesaikan masalah tersebut.
(35 markah) [CLO 3C]
3. Bina program untuk mengira jumlah bil elektrik bagi penggunaan sebanyak 432 kWh dan
cetak paparan output. Output mestilah mengandungi item berikut: (30 markah) [CLO 3P]
a) Nama Pelanggan
b) Alamat
c) Tarikh bil
d) Jumlah penggunaan blok tariff
e) Jumlah subsidi
f) Jumlah bil

Prepared by: Verified by: Approved by:

________________________ ________________________ __________________________


(NOR AZLAN ALI) (SITI MARIAM BINTI ZAINOL (YUSLINA BINTI SALLEH)
Course Lecturer ABIDIN) Head of Program (DDT)
Course Coordinator
POLITEKNIK TUANKU SYED SIRAJUDDIN
DFC1042 – PROBLEM SOLVING AND PROGRAM DESIGN

Answer schema

Input:

consumer_name
address 1 mark
bill_date
unit_used

Process:

If usage less or equal to 200: ------------------------------------------------- 1 mark


amount=unit_used*0.218 ---------------------------------------- 1 mark

If usage more than 200 but less than 300: -------------------------------------------------- 1 mark
amount=43.60 +((unit_used-200)*0.334) ---------------------------------------- 3 marks

If usage more than 300: -------------------------------------------------- 1 mark

amount=77+((unit_used-300)*0.516) --------------------------------------- 2 marks


subsidy=unit_used*0.0152 --------------------------------------- 1 mark
total_bill= amount-subsidy ----------------------------------------------------------- 2 marks

Output:

consumer_name

address 1 mark
bill_date

unit_used

subsidy
1 mark
total_bill

(Total marks 15 m)
POLITEKNIK TUANKU SYED SIRAJUDDIN
DFC1042 – PROBLEM SOLVING AND PROGRAM DESIGN

Algorithm

Step 1: Input name, address, bill date and amount of block tariff 1 mark
Step 2: If block tariff used less than or equal to 200, amount = unit*0.218 2 marks
Step 3: If block tariff used more than 200 but less than 300, 1 mark
amount =43.60 +((unit-200)*0.334) 3 marks

Step 4: if usage more than 300, 1 mark


Amount=77+((unit-300)*0.516) 2 marks
Subsidy=unit*0.0152 1 mark
total_bill= amount-subsidy 2 marks

Step 5: Print name, address, bill date and amount of block tariff, 2 marks
Subsidy, total bill

(Total marks 15 marks)

Pseudo Code

Start 0.5 mark

Input consumer_name, address, bill date and unit_used 1 mark


if (unit_used<=200), amount=unit*0.218 1 mark
if (unit_used<=300), amount= 43.60 + ((unit_used-200)*0.334) 1 mark
if(unit>300), 1 mark
amount=77+ ((unit_used-300)*0.516); 2 marks
subsidy=unit_used*0.0152; 1 mark
total_bill=amount-subsidy; 1 mark

Print consumer_name, address, bill_date and unit_used,subsidy, total bill 1 mark

End 0.5 mark

(Total marks 10 m)
POLITEKNIK TUANKU SYED SIRAJUDDIN
DFC1042 – PROBLEM SOLVING AND PROGRAM DESIGN

Flow Chart
0.5 mark
Start

Input name, address, bill_date


and unit_used 1 mark

true
1 mark unit_used < 200

1m
false amount=unit*0.218

true
1 mark unit_used < 300

1 mark
false amount= 43.60 + ((unit_used -200)*0.334);

amount=77+ ((unit_used -300)*0.516); 1 mark


subsidy= unit_used *0.0152; 1 mark
total_bill=amount-subsidy; 1 mark

Output name, address, bill_date and unit_used,


subsidy, total_bill
1 mark

End
0.5 mark

(Total marks 10 marks)


POLITEKNIK TUANKU SYED SIRAJUDDIN
DFC1042 – PROBLEM SOLVING AND PROGRAM DESIGN

Source Code

#include <iostream> 1 mark


using namespace std; 1 mark
int main() { 1 mark
string name, address, bill_date; 1 mark
int unit_used; 1 mark
float amount,subsidy,total_bill; 1 mark

cout<<" Please input the customer name :\t"; 1 mark


getline(cin,name); 1 mark
cout<<" Please input address :\t"; 1 mark
getline(cin,address); 1 mark
cout<<" Please input the date in this format ( dd/mm/yyyy) :\t"; 1 mark
getline(cin,date); 1 mark

cout<<" Enter your total monthly usage in kwH "; 1 mark


cin>> unit_used; 1 mark
if(unit_used <=200) { 1 mark
amount=unit*0.218; 1 mark
}
else if(unit_used<=300) { 1 mark
amount= 43.60 + ((unit_used -200)*0.334); 1 mark
}
else 1 mark
{ amount=77+ ((unit_used -300)*0.516); 1 mark
subsidy= unit_used *0.0152; 1 mark
total_bill=amount-subsidy; 1 mark
}
cout<<"\n Name :\t" << name << " in this month "; 1 mark
cout<<"\n Address :\t" << address<< " in this month "; 1 mark
cout<<"\n Date :\t" << date << " in this month "; 1 mark
cout<<"\n Your current month consumption is :\t " << total_bill; 1 mark
cout<<"\n You used about " << unit_used << " in this month "; 1 mark
cout<<"\n Your current month consumption is " << total_bill; 1 mark
cout<<"\n Your subsidy is " << subsidy; 1 mark
return 0; 1 mark
}
(Total mark: 30 marks)

Prepared by: Verified by: Approved by:

________________________ _______________________ __________________________


(NOR AZLAN ALI) (SITI MARIAM BINTI ZAINOL (YUSLINA BINTI SALLEH)
Course Lecturer ABIDIN) Head of Program (DDT)
Course Coordinator
POLITEKNIK TUANKU SYED SIRAJUDDIN
DFC1042 – PROBLEM SOLVING AND PROGRAM DESIGN

RUBRIK PROBLEM BASED TASK (GENERIC SKILLS 100%)


STUDENT’S NAME: MATRIX NO.:

Sangat Lemah Lemah Memuaskan Baik Sangat baik


Item Penilaian Score
0 1 2 3 4
Tidak boleh mengenal Boleh mengenal pasti Boleh mengenal pasti Boleh mengenal pasti
dan menerangkan Boleh mengenal pasti dan dan menerangkan dan menerangkan
Proses mengenalpasti pasti dan menerangkan
masalah dengan menerangkan masalah masalah dengan tepat masalah dengan sangat
masalah masalah walaupun
bantuan yang dengan sedikit bantuan. dan jelas tanpa tepat, terperinci dan
dengan bantuan.
maksimum bantuan. jelas.
Boleh mengaplikasi Boleh mengaplikasi idea
LD4: Critical Thinking and Problem Solving Skills

Tidak boleh Boleh mengaplikasi idea / Boleh mengaplikasi idea


Aplikasi teknik sedikit idea / ilmu / ilmu kepada masalah
mengaplikasikan idea/ ilmu kepada masalah yang / ilmu kepada masalah
penyelesaian masalah kepada masalah yang yang diberi serta
ilmu kepada masalah yang diberi dengan bantuan yang diberi tanpa
diberi dengan bantuan mencadangkan beberapa
diberi. rakan atau pensyarah. sebarang bantuan.
rakan atau pensyarah. alternatif.

Berupaya membuat
Berupaya membuat
Tidak boleh membuat Berupaya membuat Berupaya membuat keputusan yang sangat
keputusan yang
Proses membuat keputusan berasaskan keputusan yang lemah keputusan yang baik baik dengan
memuaskan berasaskan
keputusan maklumat, idea dan berasaskan maklumat, berasaskan maklumat, mengambilkira
maklumat, idea dan
penyelesaian walaupun idea dan penyelesaian idea dan penyelesaian maklumat, idea dan
penyelesaian yang sedia
dengan bantuan. yang sedia ada . yang sedia ada. penyelesaian yang sedia
ada.
ada.
POLITEKNIK TUANKU SYED SIRAJUDDIN
DFC1042 – PROBLEM SOLVING AND PROGRAM DESIGN

Mempamerkan inisiatif Mempamerkan inisiatif


LD6: Continuous Learning & Information Management Skills

Tidak mempamerkan Mempamerkan inisiatif Mempamerkan inisiatif


Inisiatif yang lemah dalam yang baik dalam
inisiatif dalam yang sederhana dalam yang sangat baik dalam
menyelesaikan menyelesaikan
menyelesaikan tugasan. menyelesaikan tugasan. menyelesaikan tugasan.
tugasan. tugasan.

Bekerjasama dengan Bekerjasama dengan Bekerjasama dengan Bekerjasama dengan


Tiada bekerjasama
pelbagai pihak, tahu pelbagai pihak, tahu pelbagai pihak, tahu pelbagai pihak, tahu
dengan pelbagai pihak,
peranan dan peranan dan peranan dan peranan dan
Perkongsian Idea tidak tahu peranan dan
memotivasikan memotivasikan memotivasikan memotivasikan
tidak memotivasikan
diri/kumpulan dalam diri/kumpulan dalam diri/kumpulan dalam diri/kumpulan dalam
diri/kumpulan dalam
mencapai matlamat mencapai matlamat mencapai matlamat mencapai matlamat
mencapai matlamat.
dengan lemah. dengan sederhana. dengan baik. dengan sangat baik.

Tidak melakukan Melakukan Melakukan


Pembelajaran Kendiri Melakukan sedikit Melakukan pembelajaran
sebarang pembelajaran pembelajaran kendiri pembelajaran kendiri
pembelajaran kendiri. kendiri yang memuaskan.
kendiri. yang baik. yang sangat baik.

TOTAL /24

TOTAL (100%) /100

Prepared by: Verified by: Approved by:

________________________ _____________________________ __________________________


(NOR AZLAN ALI) (SITI MARIAM BINTI ZAINOL ABIDIN) (YUSLINA BINTI SALLEH)
Course Lecturer Course Coordinator Head of Program (DDT)
POLITEKNIK TUANKU SYED SIRAJUDDIN
DFC1042 – PROBLEM SOLVING AND PROGRAM DESIGN

Das könnte Ihnen auch gefallen