CT 2101 Procedural Programming - Ramkhamhaeng...

59
CT 2101 Procedural Programming โดย ผศ.ดร.อุไร ทองหัวไผ่

Transcript of CT 2101 Procedural Programming - Ramkhamhaeng...

Page 1: CT 2101 Procedural Programming - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos2101/COS2101_1.pdf · ส่วนประกอบโปรแกรมในรูปส่วนจาเพาะ

CT 2101 Procedural Programming

โดย ผศ.ดร.อไร ทองหวไผ

Page 2: CT 2101 Procedural Programming - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos2101/COS2101_1.pdf · ส่วนประกอบโปรแกรมในรูปส่วนจาเพาะ

เนอหารายวชา

น าความรเกยวกบการสรางอลกอรทมและการเขยนโปรแกรมมาใชงานโดยเนนการออกแบบและการสรางโปรแกรมขนาดใหญ การออกแบบโปรแกรมแบบบนลงลาง แบบลางขนบน ศกษาโครงสรางขอมลเบองตน เชนรายการโยง สแตค คว ทร และแฟม การท าขอมลเปนนามธรรม เพอสรางสวนประกอบโปรแกรมในรปสวนจ าเพาะ การเขยนโปรแกรมเรยกตวเอง การเรยงล าดบและการคนหาขอมลแบบทวไป ปญหาทางทฤษฏของวทยาการคอมพวเตอรทเกยวของกบการเขยนโปรแกรม ความเขาใจเบองตนเกยวกบวศวกรรมซอฟตแวร เชนคณสมบตของโปรแกรมทด วธการทดสอบความถกตองของโปรแกรม วธแกไขความผดพลาดในโปรแกรม วธการท างานแบบเปนทมและวธการบรหารทมงานเขยนโปรแกรมเบองตน

Page 3: CT 2101 Procedural Programming - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos2101/COS2101_1.pdf · ส่วนประกอบโปรแกรมในรูปส่วนจาเพาะ

PR.

เนอหารายวชานเชอมโยงมาจากรายวชา COS1101 การออกแบบโปรแกรม โดยผเรยนตองมพนฐานความรในการออกแบบโปรแกรมเปนอยางด สามารถออกแบบแนวคดในการแกปญหาโปรแกรมเบองตนได

Page 4: CT 2101 Procedural Programming - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos2101/COS2101_1.pdf · ส่วนประกอบโปรแกรมในรูปส่วนจาเพาะ

วตถประสงค

มงเนนใหนกศกษามความร ความเขาใจ และมความสามารถในการจดการดานขอมลเบองตนได

มความสามารถในการวเคราะหระบบงานและเขยนโปรแกรมไดอยางถกตองตามหลกไวยากรณภาษา

ผเรยนสามารถทดสอบและแกไขความผดพลาดของโปรแกรมกอนน าไปใชงานได

นอกจากนผเรยนสามารถท างานเปนทม และมวธการบรหารทมงานเขยนโปรแกรมเบองตนได

Page 5: CT 2101 Procedural Programming - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos2101/COS2101_1.pdf · ส่วนประกอบโปรแกรมในรูปส่วนจาเพาะ

เนอหา

Structure Programming

Sequence

Condition

Repetition

Array

Record

Recursive

File

Page 6: CT 2101 Procedural Programming - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos2101/COS2101_1.pdf · ส่วนประกอบโปรแกรมในรูปส่วนจาเพาะ

เนอหา(ตอ)

String

Pointer

Data structure

Stack

Queue

Linked-list

Tree

Page 7: CT 2101 Procedural Programming - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos2101/COS2101_1.pdf · ส่วนประกอบโปรแกรมในรูปส่วนจาเพาะ

คอมพวเตอรคออะไร?

อปกรณทใชส าหรบประมวลผล องคประกอบหลกทส าคญของคอมพวเตอรประกอบดวย 2 สวนคอ

ฮารตแวร และซอฟตแวร ฮารตแวรคออปกรณอเลคโทรนกสตางๆทใชในการปฏบตการ ซอฟตแวรเปนโปรแกรมหรอชดค าสงทใชในการตดตอกบฮารตแวรนนเอง โดยการตดตอระหวางกนใชภาษาโปรแกรมทเครองคอมพวเตอรเขาใจ

เรยกวาภาษาเครอง (machine language) ซงประกอบดวยเลขฐานสอง

Page 8: CT 2101 Procedural Programming - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos2101/COS2101_1.pdf · ส่วนประกอบโปรแกรมในรูปส่วนจาเพาะ

การประมวลผลโปรแกรมภาษาระดบสง

Page 9: CT 2101 Procedural Programming - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos2101/COS2101_1.pdf · ส่วนประกอบโปรแกรมในรูปส่วนจาเพาะ

การประมวลผลโปรแกรมคดคาน า

ขนตอนท1 โปรแกรมภาษาเครองในการคดคาน า และขอมลทใชในการประมวลผลคอจ านวนของยนคน าทใช จะถกเกบในหนวยความจ า

ขนตอนท2 โปรแกรมจะท าการประมวลผลโดยน าจ านวนของยนคของน ามาค านวณหาคาน าทตองจาย และเกบผลลพธไวในหนวยความจ า

ขนตอนท3 น าผลลพธทค านวณเกบไวในหนวยความจ า แสดงผลออกมาเปนบลคาน า

Page 10: CT 2101 Procedural Programming - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos2101/COS2101_1.pdf · ส่วนประกอบโปรแกรมในรูปส่วนจาเพาะ

การประมวลผลโปรแกรมคดคาน า

Page 11: CT 2101 Procedural Programming - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos2101/COS2101_1.pdf · ส่วนประกอบโปรแกรมในรูปส่วนจาเพาะ

software development method

ระบถงความตองการ (problem) วเคราะหปญหา (analysis) ออกแบบอลกอรทมเพอแกปญหา (design) สรางโปรแกรม (implementation) ทดสอบและตรวจสอบความสมบรณของโปรแกรม (testing) บ ารงรกษาและแกไขโปรแกรม (maintenance)

Page 12: CT 2101 Procedural Programming - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos2101/COS2101_1.pdf · ส่วนประกอบโปรแกรมในรูปส่วนจาเพาะ

ระบถงความตองการ (problem)

ผพฒนาสามารถสอบถามไดจากบคคลตางๆทเกยวของ ความตองการทดตองชดเจน ไมคลมเครอ มความจ าเปน สามารถทวนสอบ

หรอตรวจสอบได ตดตามได

Page 13: CT 2101 Procedural Programming - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos2101/COS2101_1.pdf · ส่วนประกอบโปรแกรมในรูปส่วนจาเพาะ

วเคราะหปญหา (analysis) ตอจากนนจะน าความตองการตางๆเหลานมาวเคราะหถงหนทางในการ

แกปญหา

โดยน าปญหาตางๆเหลานมาก าหนดเปนนยาม(abstraction)ของ ขอมลเขา ขอมลน าออก การค านวณ เงอนไขในการปฏบตการตางๆ

Page 14: CT 2101 Procedural Programming - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos2101/COS2101_1.pdf · ส่วนประกอบโปรแกรมในรูปส่วนจาเพาะ

ออกแบบอลกอรทมเพอแกปญหา (design) โดยมการแบงปญหาออกเปนปญหายอยๆเพอใหงายตอการพฒนาซงเรยกวา

top-down design หรอ divide and conquer ในแตละปญหายอยจะก าหนดเปนล าดบขนตอนในการแกปญหาโดยละเอยด

เรยกวา algorithm refinement

Tools

Flowchart

Structure Chart

Stepwise refinements (Pseudo code)

Page 15: CT 2101 Procedural Programming - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos2101/COS2101_1.pdf · ส่วนประกอบโปรแกรมในรูปส่วนจาเพาะ

สรางโปรแกรม (implementation)

เขยนเปนภาษาโปรแกรมใหถกตามไวยากรณของภาษานนๆ ภาษา C++

Syntax

Semantic

Algorithm

Goal

Context

Page 16: CT 2101 Procedural Programming - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos2101/COS2101_1.pdf · ส่วนประกอบโปรแกรมในรูปส่วนจาเพาะ

ทดสอบและตรวจสอบความสมบรณของโปรแกรม (testing) ทดสอบโดยก าหนดขอมลทดสอบหลายๆชด เพอใหแนใจวาการท างาน

ถกตอง และสามารถน าไปปฏบตการในการแกปญหาได

Test Case

Path

Statements

Valid data

Invalid data

Page 17: CT 2101 Procedural Programming - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos2101/COS2101_1.pdf · ส่วนประกอบโปรแกรมในรูปส่วนจาเพาะ

บ ารงรกษาและแกไขโปรแกรม (maintenance)

ปองกนและแกไขขอผดพลาดทอาจเกดขนในขณะท างาน

Corrective maintenance

Adaptive maintenance

Perfective manintenance

Preventive maintenance

Page 18: CT 2101 Procedural Programming - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos2101/COS2101_1.pdf · ส่วนประกอบโปรแกรมในรูปส่วนจาเพาะ

กรณศกษา : การแปลงไมลเปนกโลเมตร

ปญหา ตองการแปลงระยะทางทเปนไมลใหเปนกโลเมตร

วเคราะห ตองหาขอมลวาอะไรคอขอมลเขา อะไรคอผลลพธทตองการ และตองมการประมวลผลอยางไร ในทนขอมลเขาคอระยะทางทเปนไมล ผลลพธทตองการคอระยะทางทเปนกโลเมตร ส าหรบการประมวลผลเปนการค านวณทตองทราบวา 1 ไมลมคาเทากบ 1.609 กโลเมตร ตอจากนนนยามขอมลตางๆเหลานเพอใหสามารถเกบในหนวยความจ าของเครองคอมพวเตอรได

Page 19: CT 2101 Procedural Programming - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos2101/COS2101_1.pdf · ส่วนประกอบโปรแกรมในรูปส่วนจาเพาะ

วเคราะห

DATA REQUIREMENTS

Problem Input

miles ระยะทางเปนไมล

Problem Output

kms ระยะทางเปนกโลเมตร

Formular

1 ไมล = 1.609 กโลเมตร

Page 20: CT 2101 Procedural Programming - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos2101/COS2101_1.pdf · ส่วนประกอบโปรแกรมในรูปส่วนจาเพาะ

ออกแบบ

ALGORITHM WITH REFINEMENTS

1. รบระยะทางเปนไมล 2. แปลงระยะทางจากไมลเปนกโลเมตร 2.1 ระยะทาง 1 ไมลมคาเทากบ 1.609 กโลเมตร 3. แสดงระยะทางเปนกโลเมตร

Page 21: CT 2101 Procedural Programming - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos2101/COS2101_1.pdf · ส่วนประกอบโปรแกรมในรูปส่วนจาเพาะ

เขยนโปรแกรม

//miles.cpp

//Coverts distance in miles to kilometers.

#include <iostream>

using namespace std;

int main() //start of main function

{

const float KM_PER_MILE=1.609 //1.609 km in a mile

float miles, //input : distance in miles

kms; //output: distance in kilometers

//Get the distance in miles.

cout << “Enter the distance to miles: ”;

cin >> miles;

// Convert the distance to kilometers.

kms = KM_PER_MILE * miles;

// Display the distance to kilometers.

cout << “ The distance in kilometers is ” << kms <<endl;

return 0; }

Page 22: CT 2101 Procedural Programming - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos2101/COS2101_1.pdf · ส่วนประกอบโปรแกรมในรูปส่วนจาเพาะ

ทดสอบ

Page 23: CT 2101 Procedural Programming - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos2101/COS2101_1.pdf · ส่วนประกอบโปรแกรมในรูปส่วนจาเพาะ

คณภาพของซอฟตแวร

Page 24: CT 2101 Procedural Programming - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos2101/COS2101_1.pdf · ส่วนประกอบโปรแกรมในรูปส่วนจาเพาะ

คณภาพของซอฟตแวร

Page 25: CT 2101 Procedural Programming - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos2101/COS2101_1.pdf · ส่วนประกอบโปรแกรมในรูปส่วนจาเพาะ

How to Build Quality Programs

Page 26: CT 2101 Procedural Programming - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos2101/COS2101_1.pdf · ส่วนประกอบโปรแกรมในรูปส่วนจาเพาะ

รปแบบทวไปของโปรแกรม C++

compiler directives

using namespace std;

void main()

{

declaration statements;

executable statements;

}

Page 27: CT 2101 Procedural Programming - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos2101/COS2101_1.pdf · ส่วนประกอบโปรแกรมในรูปส่วนจาเพาะ

//miles.cpp

//Coverts distance in miles to kilometers.

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

#include <iostream>

using namespace std;

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

int main() //start of main function

{

const float KM_PER_MILE=1.609 //1.609 km in a mile

float miles, //input : distance in miles

kms; //output: distance in kilometers

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

//Get the distance in miles.

cout << “Enter the distance to miles: ”;

cin >> miles;

// Convert the distance to kilometers.

kms = KM_PER_MILE * miles;

// Display the distance to kilometers.

cout << “ The distance in kilometers is ” << kms <<endl;

return 0; } -------------------------------------------------------------------------------------------------------

Page 28: CT 2101 Procedural Programming - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos2101/COS2101_1.pdf · ส่วนประกอบโปรแกรมในรูปส่วนจาเพาะ
Page 29: CT 2101 Procedural Programming - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos2101/COS2101_1.pdf · ส่วนประกอบโปรแกรมในรูปส่วนจาเพาะ
Page 30: CT 2101 Procedural Programming - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos2101/COS2101_1.pdf · ส่วนประกอบโปรแกรมในรูปส่วนจาเพาะ
Page 31: CT 2101 Procedural Programming - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos2101/COS2101_1.pdf · ส่วนประกอบโปรแกรมในรูปส่วนจาเพาะ
Page 32: CT 2101 Procedural Programming - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos2101/COS2101_1.pdf · ส่วนประกอบโปรแกรมในรูปส่วนจาเพาะ

ค าเฉพาะ (Reserved Words)

Page 33: CT 2101 Procedural Programming - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos2101/COS2101_1.pdf · ส่วนประกอบโปรแกรมในรูปส่วนจาเพาะ

ชอ(Identifiers)

ขนตนดวยตวอกษรภาษาองกฤษ หรอเครองหมาย underscore (ขดลาง) ภาษา C++ ถอวาอกษรภาษาองกฤษตวเลกกบตวใหญเปนคนละตวกน เชน Rate , rate , RATE เปนตน

ตวตอไปอาจเปนตวเลข ตวอกษร หรอ ขดลางกได เชน Letter1 ,

letter1 , Letter_1 หามใชค าเฉพาะ เปนชอทแทนความหมายอนใด

Page 34: CT 2101 Procedural Programming - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos2101/COS2101_1.pdf · ส่วนประกอบโปรแกรมในรูปส่วนจาเพาะ

ชนดของขอมล(Data Types)

Integers : เลขจ านวนเตม เปนเลขทไมมเศษ เชน 5 , -52 , 343222

โดยชนดขอมลทแทนเลขจ านวนเตมไดแก short , int , long

Real numbers: เลขทศนยม เชน 2.5 , –0.00034 ,

3.66666666 , 5.0 เปนตน ชนดขอมลทแทนเลขทศนยมไดแก float ,

double , long double

Boolean : เปนขอมลทมคา true หรอ false ซงเปนคาทไดจากการเปรยบเทยบดวยค าสงเงอนไข ชนดขอมลทแทนคาบลน คอ ขอมลชนด bool

Character : เปนขอมลทเกบอกขระ 1 ตวอกษรซงอาจเปนอกขระทเปนตวเลข ตวอกษรภาษาองกฤษ หรออกขระพเศษ กได ขอมลชนดนไดแก char

Page 35: CT 2101 Procedural Programming - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos2101/COS2101_1.pdf · ส่วนประกอบโปรแกรมในรูปส่วนจาเพาะ

String Class

เปนคลาสทภาษา C++ เตรยมไวใหกบโปรแกรมเมอรส าหรบการใชขอมลทเปนขอความ โดย ขอความคอการน าอกขระมาเรยงตอๆกนเปนกลมค า อทเชน “A” “1234” “Enter the distance in miles “ เปนตน

ผใชสามารถอาน บนทก เปรยบเทยบ รวม หรอคนหา ขอความตางๆในการปฏบตงานได

โดยตองมค าสง #include <string> ในโปรแกรมกอนใชงาน

Page 36: CT 2101 Procedural Programming - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos2101/COS2101_1.pdf · ส่วนประกอบโปรแกรมในรูปส่วนจาเพาะ
Page 37: CT 2101 Procedural Programming - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos2101/COS2101_1.pdf · ส่วนประกอบโปรแกรมในรูปส่วนจาเพาะ
Page 38: CT 2101 Procedural Programming - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos2101/COS2101_1.pdf · ส่วนประกอบโปรแกรมในรูปส่วนจาเพาะ

ค าสงก าหนดคา(Assignment Statement)

ใชสญลกษณเทากบ = เปนการใหแกตวแปร kms = KM_PER_MILE * miles ;

Page 39: CT 2101 Procedural Programming - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos2101/COS2101_1.pdf · ส่วนประกอบโปรแกรมในรูปส่วนจาเพาะ
Page 40: CT 2101 Procedural Programming - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos2101/COS2101_1.pdf · ส่วนประกอบโปรแกรมในรูปส่วนจาเพาะ
Page 41: CT 2101 Procedural Programming - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos2101/COS2101_1.pdf · ส่วนประกอบโปรแกรมในรูปส่วนจาเพาะ

การท างานของค าสง cin>>miles

Page 42: CT 2101 Procedural Programming - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos2101/COS2101_1.pdf · ส่วนประกอบโปรแกรมในรูปส่วนจาเพาะ

ค าสง cin >> letter1 >> letter2 >>lastName ;

ก าหนดให ตวแปร letter1 และ letter2 เปนขอมลชนด char

และ lastName เปนขอมลชนด string

Page 43: CT 2101 Procedural Programming - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos2101/COS2101_1.pdf · ส่วนประกอบโปรแกรมในรูปส่วนจาเพาะ
Page 44: CT 2101 Procedural Programming - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos2101/COS2101_1.pdf · ส่วนประกอบโปรแกรมในรูปส่วนจาเพาะ
Page 45: CT 2101 Procedural Programming - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos2101/COS2101_1.pdf · ส่วนประกอบโปรแกรมในรูปส่วนจาเพาะ

ตวอยางการพมพขอความทกทาย

//File.hello.cpp

//Display a user’s name

#include <iostream>

#include <string>

using namespace std;

int main()

{

char letter1,letter2 ; //input and output :first two initials

string lastName; //input and output :last name

//Enter letters and print message.

cout << “ Enter 2 initials and a last name : ” ;

cin >>letter1 >>letter2 >> lastName;

cout << “Hello” << letter1 << “ . ” << letter2 << “ . ”

<< lastName << “ ! ” ;

cout << “ We hope you enjoy studying C++.” << endl ;

return 0; }

Page 46: CT 2101 Procedural Programming - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos2101/COS2101_1.pdf · ส่วนประกอบโปรแกรมในรูปส่วนจาเพาะ

นพจนคณตศาสตร(Arithmetic Expression)

Page 47: CT 2101 Procedural Programming - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos2101/COS2101_1.pdf · ส่วนประกอบโปรแกรมในรูปส่วนจาเพาะ
Page 48: CT 2101 Procedural Programming - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos2101/COS2101_1.pdf · ส่วนประกอบโปรแกรมในรูปส่วนจาเพาะ

กฎการค านวณของนพจนคณตศาสตร

เมอพบวงเลบ () จะกระท าวงเลบในสดกอน และกระท าเปนล าดบจนถงวงเลบนอกสด

กรณทมตวกระท าหลายตวมล าดบของการกระท าดงน

unary + , - กระท ากอน

* , / , % กระท าตอมา + , - สดทาย กรณทมล าดบของการกระท าอยในระดบเดยวกนเชน + , - จะกระท าตว

ทพบกอน หรอกระท าจากซายไปขวา

Page 49: CT 2101 Procedural Programming - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos2101/COS2101_1.pdf · ส่วนประกอบโปรแกรมในรูปส่วนจาเพาะ

ตองการการหาคา V = (p2 – p1) / ( t2 - t1) ;

Page 50: CT 2101 Procedural Programming - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos2101/COS2101_1.pdf · ส่วนประกอบโปรแกรมในรูปส่วนจาเพาะ

ตองการการหาคาของ m = x + k / 2

Page 51: CT 2101 Procedural Programming - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos2101/COS2101_1.pdf · ส่วนประกอบโปรแกรมในรูปส่วนจาเพาะ

ขอผดพลาดในการเขยนโปรแกรม

Syntax Errors

Run-Time-Errors

Logic Errors

Page 52: CT 2101 Procedural Programming - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos2101/COS2101_1.pdf · ส่วนประกอบโปรแกรมในรูปส่วนจาเพาะ

Syntax Errors

เปนความผดพลาดทสามารถตรวจพบในขณะแปลโปรแกรม เปนความผดทางไวยากรณภาษา ซงการเขยนค าสงโปรแกรมไมสมบรณ มการพมพตกหลน หรอผดพลาด ซงตวแปลภาษาตรวจพบและแสดงขาวสารใหผเขยนโปรแกรมทราบ

[C++ Error] miles.cpp (12) : E2141 Declaration syntax error.

[C++ Error] miles.cpp (15) : E2380 Unterminated string or character constant.

[C++ Error] miles.cpp (16) : E2379 Statement missing ; .

[C++ Error] miles.cpp (19) : E2451 Undefined symbol ‘kms’.

[C++ Warning] miles.cpp (25) : W8080 ‘miles’ declared but never used.

[C++ Warning] miles.cpp (12) : W8004 ‘KM_PER_MILE’ is assigned a value that is never used.

Page 53: CT 2101 Procedural Programming - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos2101/COS2101_1.pdf · ส่วนประกอบโปรแกรมในรูปส่วนจาเพาะ

Run-Time-Errors เปนความผดพลาดทเกดขนในขณะปฏบตการ (run) โดยไมสามารถ

ปฏบตงานตามค าสงโปรแกรมได อทเชน มการหารคาดวย 0 เปนตน เมอมความผดพลาดลกษณะนเกดขน โปรแกรมจะหยดการประมวลผลทนท พรอมแสดงบรรทดทผดพลาดรวมทงขอความทอธบายถงความ ผดพลาดทเกดขนใหกบโปรแกรมเมอรไดทราบ เพอใหโปรแกรมเมอรแกไขตอไป

ความผดพลาดทเกดขนโดยปรากฎดงนคอ

“Floating point division by zero”

Page 54: CT 2101 Procedural Programming - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos2101/COS2101_1.pdf · ส่วนประกอบโปรแกรมในรูปส่วนจาเพาะ

Logic Errors

เปนความผดพลาดของผลลพธ ซงมผลมาจากอลกอรทมในการแกปญหาโปรแกรม ซงยากทจะคนพบ ตองใชวจารณญาณ ความเชยวชาญของโปรแกรมเมอรในการคนหาและแกไข

ความผดพลาดนอาจเกดจาก การเขยนนพจนทางคณตศาสตรไมถกตอง มการใชเงอนไขในการท างานผดพลาด หรอการลมก าหนดคาเรมตน ส าหรบปฏบตงานเปนตน

Page 55: CT 2101 Procedural Programming - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos2101/COS2101_1.pdf · ส่วนประกอบโปรแกรมในรูปส่วนจาเพาะ

แบบฝกหด 1

จงเขยนโปรแกรมหาพนทของสามเหลยมหนาจว สตร

พนท = ½ * ความยาวฐาน * สวนสง

Page 56: CT 2101 Procedural Programming - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos2101/COS2101_1.pdf · ส่วนประกอบโปรแกรมในรูปส่วนจาเพาะ

แบบฝกหด 2

จงเขยนโปรแกรมหาคาเฉลยของเลขจ านวนเตมใดๆ 5 จ านวน

Page 57: CT 2101 Procedural Programming - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos2101/COS2101_1.pdf · ส่วนประกอบโปรแกรมในรูปส่วนจาเพาะ

แบบฝกหด 3

จงเขยนโปรแกรมในการแปลง จ านวนหลา จ านวนฟต และจ านวนนว ใดๆ ใหเปนนวทงหมด เชน ปอน 2 หลา 2 ฟต 4 นว ผลคอ 100 นว

Page 58: CT 2101 Procedural Programming - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos2101/COS2101_1.pdf · ส่วนประกอบโปรแกรมในรูปส่วนจาเพาะ

แบบฝกหด 4

จงแปลง นว ใหเปน จ านวนหลา จ านวนฟต และจ านวนนว

Page 59: CT 2101 Procedural Programming - Ramkhamhaeng Universityinstructor.ru.ac.th/urai/cos2101/COS2101_1.pdf · ส่วนประกอบโปรแกรมในรูปส่วนจาเพาะ

การบาน

1. จงแปลง ชวโมง นาท วนาท ใหเปนวนาททงหมด 2. ปอนจ านวนเงนทเปนเศษเหรยญทางแปนพมพ โปรแกรมสามารถน าไปหา

จ านวนแบงคทนอยทสดสามารถแลกไดจากธนาคาร โดยแลกจากแบงคใหญจนกระทงถงแบงคทนอยทสด

3. จงหาคายกก าลง 2 , ยกก าลง 3 และคายกก าลง 4 ของเลขใดๆ