วิชา 90102003 Computers and Programming
ภาควิชาวิศวกรรมคอมพิวเตอรคณะวิศวกรรมศาสตรสถาบันเทคโนโลยีพระจอมเกลาเจาคุณทหารลาดกระบัง
ภาควิชาวิศวกรรมคอมพิวเตอร
คณะวิศวกรรมศาสตร
สถาบันเทคโนโลยีพระจอมเกลาเจาคุณทหารลาดกระบัง
วิชา
90102003 Computers and Programming
การทดลองที่
1 :
การเขียนโปรแกรมภาษาซีเบื้องตน
วัตถุประสงค 1. ศึกษาขั้นตอนการเขียนภาษาซี 2. ใชงาน Turbo C++ เวอรชั่น 4.5 เนื้อหา 1. การสรางโปรแกรมภาษาซีใหม 2. การแปลภาษาซีใหเปนภาษาเครื่อง (Compile) 3. สั่งใหโปรแกรมทํางาน (Run) บทนํา การเขียนโปรแกรมคือการสรางชุดคําสั่งเพื่อใหคอมพิวเตอรปฏิบัติงานตามความตองการของผูใชงานการ สรางชุดคําสั่งทําไดโดยการใชภาษาคอมพิวเตอรซึ่งมีมากมายหลายภาษาอาทิ PHP, Visual Basic, C , JAVA ฯลฯ การที่จะเลือกใชภาษาใดภาษาหนึ่งนั้น จะตองพิจารณาถึงความสอดคลองกันระหวางงานที่จะสรางและ ภาษาคอมพิวเตอร กลาวคือภาษาที่ใชตองเหมาะสมกับงานที่ตองการเชนหากตองการเขียนโปรแกรมที่ทํางานบน WWW ภาษาที่เหมาะสมก็คือ PHP หรือ JAVA เปนตน วิชาหลักการเขียนโปรแกรมเบื้องตนนี้ใชภาษาซีสรางชุดคําสั่งซึ่งภาษาซีมีขอดีหลายประการอาทิเปนภาษา ที่มีโครงสรางสามารถทําความเขาใจไดไมยากนักอีกทั้งยังสามารถใชไดกับทุกระบบปฏิบัติการ และเปนที่นิยม สําหรับนักเขียนโปรแกรมทั่วไปดังนั้นหากนักศึกษาสามารถเขียนโปรแกรมดวยภาษาซีไดนักศึกษาก็สามารถนํา ความรูนี้ไปใชใหเปนประโยชนได การเขียนโปรแกรมภาษาซี ภาษาซีเปนภาษาขั้นสูงและเปนภาษาที่มนุษยเขาใจ แตเครื่องคอมพิวเตอรเขาใจเฉพาะภาษาเครื่อง(Machine Language) เทานั้น ดังนั้นหากตองการใหคอมพิวเตอรทํางานตามภาษาซีที่สรางขึ้น จําเปนตองมีตัวแปลภาษาซีที่ สรางขึ้นใหเปนภาษาเครื่องกอนจึงจะทํางานได ซอฟตแวรสําหรับแปลภาษาซีใหเปนภาษาเครื่องคือ ตัวแปลภาษาซี (C Compiler) ดังรูปที่ 1.1 รูปที่ 1.1 การทําใหโปรแกรมภาษาซีทํางานไดวิชา 90102003 Computers and Programming ภาควิชาวิศวกรรมคอมพิวเตอรคณะวิศวกรรมศาสตรสถาบันเทคโนโลยีพระจอมเกลาเจาคุณทหารลาดกระบัง จากรูปที่ 1.1 คอมไพล(Compile) คือการแปลภาษาซีเปนภาษาเครื่องโดยใชตัวแปลภาษาซีดังที่กลาวมาแลว สําหรับการทดลองทั้งหมดในวิชานี้จะใชตัวแปลภาษาซีที่ชื่อวา Turbo C++ 4.5 Turbo C++ 4.5 Turbo C++ เวอรชั่น 4.5 ผลิตโดยบริษัท Borland เปนซอฟตแวรที่มีหนาที่หลายประการดังนี้ - สรางและแกไขโปรแกรมภาษาซี (Create, Edit) - แปลภาษาซีเปนภาษาเครื่อง (Compile) - ทํางานโปรแกรม (Run) - ตรวจสอบจุดบกพรองของโปรแกรม (Debug) ซอฟตแวร Turbo C++ เวอรชั่น 4.5 เมื่อไดรับการติดตั้งแลวสามารถเรียกใชไดโดยเลือก
Start -> Programs -> Turbo C++ 4.5 -> Turbo C++
เมื่อเรียกโปรแกรมขึ้นมาแลวจะปรากฏจอภาพดังรูปที่ 1.2
รูปที่ 1.2 โปรแกรม Turbo C++ เวอรชั่น 4.5
เมนู
Editor Screen สําหรับ
วิชา 90102003 Computers and Programming
ภาควิชาวิศวกรรมคอมพิวเตอรคณะวิศวกรรมศาสตรสถาบันเทคโนโลยีพระจอมเกลาเจาคุณทหารลาดกระบัง
-Editor Screen คือหนาจอสําหรับสรางหรือแกไขโปรแกรมภาษาซีโดยผูใชมีหนาที่ในการสรางโปรแกรม ในหนาจอนี้หรือนําโปรแกรมที่เคยสรางไวแลวเรียกขึ้นมาแกไข
-เมนู ประกอบดวยเมนูหลักและเมนูยอย มีไวสําหรับสั่งใหปฏิบัติงานใดๆกับโปรแกรมภาษาซีในจอภาพ
Editor Screen เชน Compile, Run หรือ Debug
การสรางโปรแกรมภาษาซีใหมใน Turbo C++ 4.5 การสรางโปรแกรมภาษาซีใหมนั้นจะใชเมนู File - > New ดังรูปที่ 1.3 รูปที่ 1.3 สรางโปรแกรมภาษาซีใหม เมื่อใชเมนู File->New จะปรากฏจอภาพขึ้นมาดังรูปที่ 1.4 รูปที่ 1.4 โปรแกรมใหมที่ตองการสราง ปอนโปรแกรมภาษาซี รูปที่ 1.5 โปรแกรมใหมที่สรางขึ้น
วิชา 90102003 Computers and Programming ภาควิชาวิศวกรรมคอมพิวเตอรคณะวิศวกรรมศาสตรสถาบันเทคโนโลยีพระจอมเกลาเจาคุณทหารลาดกระบัง การจัดเก็บโปรแกรมลงดิสก การจัดเก็บโปรแกรมที่สรางขึ้นลงดิสก กระทําเพื่อจัดเก็บโปรแกรมไวสําหรับการนํากลับมาใชงานอีกครั้ง ในภายหลังคลายกับการจัดเก็บเอกสารลงดิสกนั่นเองการจัดเก็บโปรแกรมลงดิสกใชเมนู File->Save รูปที่ 1.5 ตัวอยางการจัดเก็บโปรแกรมลงดิสก การแปลภาษาซีใหเปนภาษาเครื่อง (คอมไพล:Compile) การคอมไพลคือการตรวจสอบโปรแกรมที่เขียนขึ้นถูกตองตามกติกาของภาษานั้นๆหรือไมหรือกลาวอีก นัยหนึ่งวาการคอมไพลในภาษาซีคือการแปลโปรแกรมภาษาซีใหเปนภาษาเครื่องนั่นเองหากแปลไดหมดก็สามารถ สั่งใหโปรแกรมทํางานไดแตหากแปลไมไดก็จะแจงขอผิดพลาดใหทราบผูเรียกคอมไพลก็ตองแกไขโปรแกรม ภาษาซีใหถูกตองเสียกอนจึงเรียกคอมไพลใหม การคอมไพลเรียกใชไดดวยเมนู Project->Compile ใสชื่อ File เลือก Folder เลือก Folder C:\Temp ปอนชื่อไฟล First.c
วิชา 90102003 Computers and Programming ภาควิชาวิศวกรรมคอมพิวเตอรคณะวิศวกรรมศาสตรสถาบันเทคโนโลยีพระจอมเกลาเจาคุณทหารลาดกระบัง รูปที่ 1.6 เมนูสําหรับการคอมไพล เกิดขอผิดพลาด 1 แหง เกิดแถบครอบ บรรทัดที่ Error คําอธิบาย Error อยางไร
วิชา 90102003 Computers and Programming ภาควิชาวิศวกรรมคอมพิวเตอรคณะวิศวกรรมศาสตรสถาบันเทคโนโลยีพระจอมเกลาเจาคุณทหารลาดกระบัง รูปที่ 1.7 ตัวอยางการคอมไพล การสั่งใหโปรแกรมทํางาน (Run) การ Run โปรแกรมคือการสั่งใหโปรแกรมทํางานตามขั้นตอนที่กําหนดในโปรแกรมภาษาซีที่เขียนขึ้น การ Run โปรแกรมทําไดโดยเลือกเมนู Debug->Run ดังรูปที่ 1.8 หลังจากสั่งใหโปรแกรมทํางานแลว ผลลัพธของ โปรแกรมจะปรากฏในจอภาพอีกจอภาพหนึ่งโดยจอภาพดังกลาวมีชื่อวา User Screen ดังรูปที่ 1.9 รูปที่ 1.8 เมนู Run แกไข Error ใหถูกตอง คอมไพลใหม ไมมี Error
วิชา 90102003 Computers and Programming ภาควิชาวิศวกรรมคอมพิวเตอรคณะวิศวกรรมศาสตรสถาบันเทคโนโลยีพระจอมเกลาเจาคุณทหารลาดกระบัง รูปที่ 1.9 จอภาพแสดงผลของการ Run โปรแกรม User Screen จอภาพแสดงผลของการ Run โปรแกรม
วิชา 90102003 Computers and Programming ภาควิชาวิศวกรรมคอมพิวเตอรคณะวิศวกรรมศาสตรสถาบันเทคโนโลยีพระจอมเกลาเจาคุณทหารลาดกระบัง การทดลองที่ 1.1 : โปรแกรมภาษาซีเริ่มตน 1. ใหนักศึกษาสรางโปรแกรมใหม โดยใชเมนู File->New แลวจึงปอนโปรแกรมดานลางนี้ใน Editor Screen 2. ใหจัดเก็บโปรแกรมที่เขียนขึ้นลงดิสก โดยใชชื่อไฟลวา Lab01_1.c ในโฟลเดอร C:\Temp (หากในโฟล เดอรมีไฟลนี้อยูแลวใหบันทึกทับได) 3. ใหคอมไพลโปรแกรมดังกลาวโดยใชเมนูProject->Compile มีขอผิดพลาดหรือไม ________________________________________________ 4. สั่ง Run โปรแกรมโดยใชเมนูDebug->Run ผลลัพธที่แสดงหลังโปรแกรมทํางานคือ ______________________________________________________________ 5. ทําอยางไรจึงจะแสดง Hello และ Ladkrabang ตางบรรทัดกัน? ใหนักศึกษาแกไขโปรแกรมใหเปน 5.1 โปรแกรมในขอที่ 5 ตางจากโปรแกรมในขอที่ 1 อยางไร ______________________________________________________________ การที่จะแสดงผลใหอยูตางบรรทัดกันตองทําอยางไร ______________________________________________________________ 6. ใหเปลี่ยนโปรแกรมในขอ 5 โดยแทนที่ \n ดวย \tแลว Run โปรแกรมอีกครั้ง \t ทําใหผลลัพธเปลี่ยนแปลงอยางไร ______________________________________________________________ #include <stdio.h> int main() { printf(”Hello”) ; printf(”Ladkrabang”) ; return 0; } #include <stdio.h> int main() { printf(”Hello\n”) ; printf(”Ladkrabang”) ; return 0; }
วิชา 90102003 Computers and Programming ภาควิชาวิศวกรรมคอมพิวเตอรคณะวิศวกรรมศาสตรสถาบันเทคโนโลยีพระจอมเกลาเจาคุณทหารลาดกระบัง การทดลองที่ 1.2 : ทดสอบและแกไขโปรแกรมที่ผิดพลาด 1. ใหนักศึกษาสรางโปรแกรมใหมโดยใชเมนูFile->Newแลวจึงปอนโปรแกรมดานลางนี้ 2. ใหจัดเก็บโปรแกรมที่เขียนขึ้นลงดิสก โดยใชชื่อไฟลวา Lab01_2.c ในโฟลเดอร C:\Temp (หากในโฟล เดอรมีไฟลนี้อยูแลวใหบันทึกทับได) 3. ใหคอมไพลโปรแกรมดังกลาวโดยใชเมนูProject->Compile 3.1 โปรแกรมมีขอผิดพลาดหรือไม _______________________________________ 3.2 ถาในขอ 3.1 มีขอผิดพลาดเกิดขอผิดพลาดในบรรทัดใด (เขียน Code ทั้งบรรทัด) ________________________________________________________________ 3.3 ถาในขอ 3.1 มีขอผิดพลาดผิดพลาดเพราะอะไร ________________________________________________________________ 3.4 ถาในขอ 3.1 มีขอผิดพลาด แกไขอยางไร ________________________________________________________________ 3.4 ถาในขอ 3.1 มีขอผิดพลาด แกไขแลวบรรทัดที่แกไขมี Code อยางไรบาง (เขียน Code ทั้งบรรทัด) ________________________________________________________________ 4. สั่ง Run โปรแกรมโดยใชเมนูDebug->Run ผลลัพธที่แสดงหลังโปรแกรมทํางานคือ ________________________________________________________________ #include <stdio.h> int main() { prntf(”Bangkok”) ; printf(”Thailand”) ; return 0; }
วิชา 90102003 Computers and Programming ภาควิชาวิศวกรรมคอมพิวเตอรคณะวิศวกรรมศาสตรสถาบันเทคโนโลยีพระจอมเกลาเจาคุณทหารลาดกระบัง การทดลองที่ 1.3 : ทดลองเขียนโปรแกรมดวยตวเอง คําสั่ง ใหนักศึกษาเขียนโปรแกรมแสดงขอมูลของตัวนักศึกษาเองซึ่งประกอบดวย รหัสนักศึกษา,เบอรโทรศัพท,ชื่อ -นามสกุลและจังหวัดที่อยูโดยมีรูปแบบการแสดงผลดังตัวอยาง โปรแกรมคือ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ______________________________________________________________________ ID : 50015541 phone : 0815555555