Level 5 การแก้ปัญหาโปรแกรมภาษาC++
ภาษา C++
เป็นภาษาระดับสูงภาษาหนึ่งที่สามารถทำความเข้าใจได้ง่าย
ถึงจะไม่มีพื้นฐาน
ในการเขียนโปรแกรมภาษาใดๆ มาเลยก็ตาม แต่ถ้ามีพิ้นฐานเรื่องอัลกอริทึมที่ดีเยี่ยมแล้วละก็ เราสามารถไปเขียนโปรแกรมภาษาอื่นๆได้ เพียงแค่ศึกษาไวยากรณ์ในการเขียนภาษานั้นๆ เพิ่มเติม
ภาษา C++ นั้น
เป็นภาษาลูกผสมระหว่างภาษา Simula
และ ภาษา C โดยภาษา C++ รับเอาแนวคิดของภาษา
C มากว่า 95% แล้วประยุกต์เข้ากับแนวคิดเชิงวัตถุของ
Simula ทำให้ภาษา C++ เป็นภาษาลูกผสมระหว่าง
Procedural Programming และ Object Oriented Programming (OOP) ส่วน OOP นี่
ถ้าใครมีพื้นฐานดี เวลาไปศึกษาภาษา objective-C(Mac) และ java
(พวกAndroind) จะช่วยให้เข้าใจง่ายขึ้น
ขั้นตอนโดยทั่วไปในเตรียมโปรแกรมภาษาระดับสูงสำหรับประมวลผล มีดังนี้
1. สร้าง Source code : ด้วย editor โดย save
สมมติให้ชื่อว่า hello.cpp
2. Compilation : ทำการ compiler (ตัวแปลภาษา) Source Code เมื่อกี้ เพื่อ Check
ไวยากรณ์ของภาษา C++ ถ้าไม่ถูกต้องให้ทำการแก้ไขให้ถูกต้อง หากถูกต้องแล้ว compiler จะสร้าง objec code จะได้ hello.obj ซึ่งยังไม่สามารถทำงานได้เพราะเป็นภาษาเครื่องที่ไม่สมบูรณ์
3. Linking : โดย linker program ทำการรวม object code
(hello.obj) กับ object code อื่นๆ ที่ได้มาจาก library
อื่นหรือ object code ที่มีการสร้างขึ้นก่อนหน้านี้ จะได้โปรแกรมที่สามารถทำงานได้
แล้วมีการโหลดเก็บในหน่วยความจำชื่อว่า hello.exe
4. ทำการ Run โปรแกรมที่ได้
ขั้นตอนในการพัฒนา Software
แบ่งเป็น 6 ขั้นตอนดังนี้
1. ระบุถึงความต้องการ(problem)
- ต้องการแปลงจำนวนเงินจาก dollar เป็น bath
2. วิเคราะห์ปัญหา(analysis)
- ต้องหาว่าอะไรคือข้อมูลนำเข้า(input) ==> จำนวนเงินdollar
- อะไรคือผลลัพธ์ที่ต้องการ(output) ==> จำนวนเงินbath
- ต้องมีการประมวลผลอย่างไร ==> 1 dollar = 30 bath
3. ออกแบบอัลกอริทึมเพื่อแก้ปัญหา(design)
- 3.1 รับจำนวนเงินเป็น dollar
- 3.2 แปลงแปลงจำนวนเงินจากสกุล dollar เป็น bath
- 3.3 แสดงจำนวนเงินเป็น bath
4. สร้างโปรแกรม(implementation)
//convert dollar to bath
#include<iostream>
using namespace std;
int main()
{
int dollar,bath;
//input
cout<<"Input dollar amount = ";cin>>dollar;
//process
bath=30*dollar;
//output
cout<<"bath amount = "<<bath<<" bath."<<endl<<endl;
system("pause");
return 0;
}
5. ทดสอบและตรวจสอบความสมบูรณ์ของโปรแกรม(Testing)
6. บำรุงรักษาและแก้ไขโปรแกรม(maintenance)
ในนี้จะพูดในส่วนการเขียนโปรแกรม Procedural Programming (การเขียนโปรแกรมเชิงกระบวนการ) ก่อนจะศึกษาเรื่อง OOP
ความคิดเห็น
แสดงความคิดเห็น