Pascal

2,373 views
2,212 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,373
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
24
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Pascal

  1. 1. LOGO การเขียน โปรแกรม ภาษาปาสคาล (Pascal) ครู สุคนธา เพชรศิริ
  2. 2. LOGO Contents เริ่มต้นเขียนโปรแกรมภาษาปาสคาล ตัวแปรในภาษาปาสคาล เครื่องหมายและการดำาเนินการ แนะนำาภาษาปาสคาล ขียนโปรแกรมเพื่อแสดงผลและรับข้อมูล ควบคุมทิศทางการทำางานของโปรแกรม
  3. 3. รู้จักกับภาษาปาสคาล กำาเนิดตั้งแต่ปี ค.ศ.1970 โดยศาสตราจารย์นิคลอส เวิร์ธ ถูกสร้างขึ้นเพื่อใช้สอนการพัฒนาโปรแกรม และ การเขียนโปรแกรมแบบโครงสร้าง เป็นภาษาที่ใช้ สำาหรับเริ่มต้นหัดเขียนโปรแกรม ภาษาปาสคาลเป็นภาษาระดับสูง(High level language) เป็นภาษาใกล้เคียงกับภาษาที่ใช้สื่อสาร กันตามปกติเป็นคำาสั่งเป็นคำาที่มีความหมายในภาษา อังกฤษ ข้อดีข้อดี จดจำารูปแบบคำาสั่งและทำาความเข้าใจ ง่าย ข้อเสียข้อเสีย ไม่มีคำาสั่งสำาหรับติดต่อกับอุปกรณ์ ฮาร์ดแวร์ได้โดยตรงและทำางานช้ากว่าภาษาระดับตำ่า ตัวแปลภาษาที่ใช้คือ คอมไพเลอร์ (Compiler) จะ ตรวจสอบคำาสั่งทั้งหมดในโปรแกรมว่าถูกต้องตาม
  4. 4. การทำางานของโปรแกรม ภาษาปาสคาล ขั้นที่ขั้นที่ 11 เริ่มจากการเขียนโปรแกรมด้วยคำาสั่งและหลัก การที่ถูกต้องของภาษาปาสคาล โปรแกรมที่เขียนขึ้นมา นั้นจะเรียกว่า ซอร์สโค้ด (Source code) บันทึกไฟล์ นามสกุล .pas ขั้นที่ขั้นที่ 22 เป็นขั้นตอนการคอมไพล์ โดยตรวจสอบ ซอร์สโค้ดว่าถูกต้องหรือไม่ ถ้าไม่ผิดพลาดจะทำาการแปล ซอร์สโค้ดให้เป็นออบเจ็กต์โค้ด (Object code) ขั้นที่ขั้นที่ 33 เป็นขั้นตอนการลิงค์ เกิดขึ้นในกรณีที่ภายใน โปรแกรมมีการเรียกใช้โพรซีเยอร์หรือฟังก์ชันที่อยู่ใน ไลบรารีหรือยูนิตมาตรฐานของภาษาปาสคาล ไฟล์สุดท้าย ที่ได้ออกมาจะเป็นไฟล์นามสกุล .exe
  5. 5. การทำางานของโปรแกรม ภาษาปาสคาล program lesson1; var Num1,Num2 : Integer begin write(‘Input number 1 : ’); readln(Num1); write(‘Input number 2 : ’); readln(Num2); readln; end ไฟล์ชื่อ test.pas program lesson1; var Num1,Num2 : Integer begin write(‘Input number 1 : ’); readln(Num1); write(‘Input number 2 : ’); readln(Num2); readln; end ไฟล์ชื่อ test.pas คอมไพล์คอมไพล์ Object codeObject code โพรซีเยอร์ และฟังก์ชัน จากไลบรารี หรือยูนิต มาตรฐาน โพรซีเยอร์ และฟังก์ชัน จากไลบรารี หรือยูนิต มาตรฐาน ลิงค์ลิงค์ test.exetest.exe
  6. 6. Contents เริ่มต้นเขียนโปรแกรมภาษาปาสคาล ตัวแปรในภาษาปาสคาล เครื่องหมายและการดำาเนินการ แนะนำาภาษาปาสคาล ขียนโปรแกรมเพื่อแสดงผลและรับข้อมูล ควบคุมทิศทางการทำางานของโปรแกรม
  7. 7. วิธีการเรียกเทอร์โบปาสคาล วิธีที่ 1
  8. 8. วิธีการเรียกเทอร์โบปาสคาล วิธีที่ 2 C:TP
  9. 9. ส่วนประกอบของโปรแกรม ประกาศชื่อ โปรแกรมประกาศ ชื่อยูนิตจุดเริ่มต้น การทำางาน ของ โปรแกรม แสดงข้อความ ออกทางหน้าจอ จุดสิ้นสุด การทำางาน
  10. 10. รูปแบบการเขียนคำาสั่งภาษา ปาสคาล ต้องเริ่มด้วยคำาสั่ง begin และจบด้วยคำาสั่ง end. ทุกคำาสั่งต้องลงท้ายด้วย เครื่องหมาย ; (semicolon) ตัวอักษรไม่มีผลในภาษาปาสคาล จะเขียน คำาสั่งด้วยตัวพิมพ์เล็กหรือตัวพิมพ์ใหญ่ก็มี ความหมายเหมือนกัน สามารถเขียนคำาสั่งได้อย่างอิสระ ไม่จำากัด
  11. 11. การเขียนคอมเมนต์ { } (* *)
  12. 12. Contents เริ่มต้นเขียนโปรแกรมภาษาปาสคาล ตัวแปรในภาษาปาสคาล เครื่องหมายและการดำาเนินการ แนะนำาภาษาปาสคาล ขียนโปรแกรมเพื่อแสดงผลและรับข้อมูล ควบคุมทิศทางการทำางานของโปรแกรม
  13. 13. ตัวแปรในภาษาปาสคาล รูปแบบคำาสั่ง หลักการตั้งชื่อตัวแปร ชนิดของข้อมูล การกำาหนดค่าให้กับ ตัวแปร 
  14. 14. รูปแบบคำำสั่ง var name : type; var เป็นคำำสั่งที่ใช้ในกำรประกำศ ตัวแปร name ชื่อของตัวแปร type ชนิดของข้อมูล
  15. 15. หลักกำรตั้งชื่อตัวแปร ต้องขึ้นด้วยตัวอักษรA-Z,a-z หรือ _ (underscore) ภำยในชื่อจะเป็นตัวอักษร , ตัวเลข หรือ _ (underscore)เท่ำนั้น ห้ำมเว้นช่องว่ำงภำยในชื่อ ตัวอักษรพิมพ์ใหญ่หรือพิมพ์เล็กไม่มีผล คือไม่ต่ำง กัน เช่น Name , name มีควำมหมำยเหมือนกัน ห้ำมตั้งชื่อตัวแปรซำ้ำกับคำำสงวน เช่น And,Array,Begin,Case,For,File,Else,
  16. 16. ชนิดของข้อมูล Integer เลขจำำนวนเต็ม Char อักขระ Real เลขทศนิยม Boolean ค่ำควำมจริงทำง ตรรกศำสตร์ เช่น var Num1 : integer;
  17. 17. กำรกำำหนดค่ำให้กับตัวแปร Variable := value; Num1:=15; Ch:=‘A’; Num2:=3.14;
  18. 18. ตัวแปรสำำหรับเก็บข้อควำม Var name : string[n]; var Address:string; (ให้ค่ำอัตโนมัติ 255 อักขระ) var name:string[50]; (ข้อควำมมีควำมยำวสูงสุด 50 อักขระ)
  19. 19. Contents เริ่มต้นเขียนโปรแกรมภำษำปำสคำล ตัวแปรในภำษำปำสคำล เครื่องหมำยและกำรดำำเนินกำร แนะนำำภำษำปำสคำล ขียนโปรแกรมเพื่อแสดงผลและรับข้อมูล ควบคุมทิศทำงกำรทำำงำนของโปรแกรม
  20. 20. เครื่องหมำยกำรคำำนวณ + - * / Div หำรจำำนวนเต็ม Mod หำรเอำเศษ
  21. 21. เครื่องหมำยกำรเปรียบเทียบ = <> > < >= <=
  22. 22. กำรดำำเนินกำรทำง ตรรกศำสตร์ And Or Not
  23. 23. ลำำดับของเครื่องหมำยในกำร คำำนวณ () Not *,/,div,mod,and +,-,or =,<,<=,>,>=,<>
  24. 24. Contents เริ่มต้นเขียนโปรแกรมภำษำปำสคำล ตัวแปรในภำษำปำสคำล เครื่องหมำยและกำรดำำเนินกำร แนะนำำภำษำปำสคำล ขียนโปรแกรมเพื่อแสดงผลและรับข้อมูล ควบคุมทิศทำงกำรทำำงำนของโปรแกรม
  25. 25. เขียนโปรแกรมเพื่อแสดงผล และรับข้อมูล กำรนำำข้อมูลไปแสดงผล แสดงผลออกทำงหน้ำจอด้วยคำำ สั่ง write แสดงผลออกทำงหน้ำจอด้วยคำำ สั่ง writeln กำำหนดรูปแบบกำรแสดงผล
  26. 26. กำรนำำข้อมูลไปแสดงผล แสดงผลออกทำงหน้ำจอด้วยคำำสั่ง write  write(output, value);  write(‘The number is : ’,Num1); เขียนโปรแกรมเพื่อแสดงผล และรับข้อมูล
  27. 27. การนำาข้อมูลไป แสดงผล แสดงผลออกทางหน้าจอด้วยคำาสั่ง writeln  writeln(output, value);  writeln(‘The number is : ’,Num1); เขียนโปรแกรมเพื่อแสดงผล และรับข้อมูล
  28. 28. การนำาข้อมูลไปแสดงผล กำาหนดรูปแบบการแสดงผล write(value:n); หรือ write(value1:n, value2:n, value3:n); writeln(value:n); หรือ writeln(value1:n, value2:n, value3:n);
  29. 29. กำาหนดรูปแบบการแสดงผล writeln(‘Thailand’:15); T h a i l a n d
  30. 30. เขียนโปรแกรมเพื่อแสดงผล และรับข้อมูล การรับข้อมูลเข้ามาในโปรแกรม รับข้อมูลด้วยคำาสั่ง read รับข้อมูลด้วยคำาสั่ง readln
  31. 31. เขียนโปรแกรมเพื่อแสดงผล และรับข้อมูล การรับข้อมูลเข้ามาในโปรแกรม รับข้อมูลด้วยคำาสั่ง read / readln read(input,variable) readln(input,variable) ** ถ้าไม่กำาหนดInput ก็จะหมายถึงรับ ข้อมูลทางคีย์บอร์ด **
  32. 32. โพรซีเยอร์สำาหรับการ แสดงผล ClrScr;เคลียร์หน้าจอให้ว่าง Gotoxy(int,int) กำาหนด เคอร์เซอร์ไปอยู่ตำาแหน่งที่คอลัมน์ที่ , แถวที่ TextBackground(word/int) กำาหนดสีพื้น TextColor(word/int) กำาหนดสี ข้อความ
  33. 33. Contents เริ่มต้นเขียนโปรแกรมภาษาปาสคาล ตัวแปรในภาษาปาสคาล เครื่องหมายและการดำาเนินการ แนะนำาภาษาปาสคาล ขียนโปรแกรมเพื่อแสดงผลและรับข้อมูล ควบคุมทิศทางการทำางานของโปรแกรม
  34. 34. ควบคุมทิศทางแบบวนรอบ ควบคุมทิศทางแบบเลือกทำา วบคุมทิศทางการทำางานของโปรแกรม
  35. 35. ควบคุมทิศทางแบบวน รอบ for while
  36. 36. ควบคุมทิศทางแบบวน รอบ for - คำาสั่งที่ใช้ในการควบคุมให้โปรแกรมทำางานแบบวน รอบที่ง่ายและซับซ้อนน้อยที่สุด for เงื่อนไขเริ่มต้น to เงื่อนไขสิ้นสุด do คำาสั่งที่ จะให้ทำาเมื่อเงื่อนไขเป็นจริง
  37. 37. ตัวอย่าง program for1; var Count:integer; begin for Count:=1 to 5 do writeln(‘Hello’); end. Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello
  38. 38. ควบคุมทิศทางแบบวน รอบ while - คำาสั่งที่ใช้ในการควบคุมให้โปรแกรมทำางานแบบวน รอบ while เงื่อนไข do begin คำาสั่งที่ 1จะให้ทำาเมื่อเงื่อนไขเป็นจริง; คำาสั่งที่ 2จะให้ทำาเมื่อเงื่อนไขเป็นจริง; … คำาสั่งเปลี่ยนค่าตัวแปร;
  39. 39. ตัวอย่าง program while1; var Count:integer; begin Count:=1; while Count<=5 do begin writeln(Count); Count:=Count+1; end; end. 1 2 3 4 5 1 2 3 4 5
  40. 40. ควบคุมทิศทางแบบเลือก ทำา if-then if-then-else case
  41. 41. ควบคุมทิศทางแบบเลือก ทำา if-then เงื่อนไขทางเลือก เดียว if เงื่อนไข then คำาสั่งที่1;
  42. 42. ควบคุมทิศทางแบบเลือก ทำา if-then เงื่อนไขทางเลือก เดียว if เงื่อนไข then begin คำาสั่งที่1; คำาสั่งที่2; ... end;
  43. 43. ตัวอย่าง program if1; uses Crt; var Age:integer; begin ClrScr; write(‘Enter your age :’); readln(Age); if Age<20 then writeln(‘You are not adult’); readln; end.
  44. 44. ควบคุมทิศทางแบบเลือก ทำา if-then-elseเงื่อนไขหลาย ทางเลือก if เงื่อนไข then คำาสั่งที่เป็น จริง else คำาสั่งที่เป็นเท็จ;
  45. 45. ควบคุมทิศทางแบบเลือก ทำา if เงื่อนไข then begin คำาสั่งที่เป็นจริง1 คำาสั่งที่เป็นจริง2 ..... end else begin คำาสั่งที่เป็นเท็จ1 คำาสั่งที่เป็นเท็จ2 ...
  46. 46. ตัวอย่าง program if2; uses Crt; var salary,sale,com:real; begin ClrScr; writeln('Enter your Salary :');readln(salary); writeln('Enter your Sale :');readln(sale); if sale>=20000 then begin com:=sale*0.15; salary:=salary+com+500; end else begin com:=sale*0.05; salary:=salary+com; end; writeln('Commission ',com:10:2); writeln('Salary ',salary:10:2); readln; end.
  47. 47. program if3; uses Crt; var salary,sale,com:real; begin ClrScr; writeln('Enter your Salary :');readln(salary); writeln('Enter your Sale :');readln(sale); if sale>=50000 then begin com:=sale*0.3; salary:=salary+com+1500; end else if sale>30000 then begin com:=sale*0.2; salary:=salary+com+1000; end else begin com:=sale*0.1; salary:=salary+com; end; writeln('Commission ',com:10:2); writeln('Salary ',salary:10:2); readln; end.
  48. 48. Case case ตัวแปรที่ใช้ตรวจสอบ of เงื่อนไข1 : คำาสั่ง; เงื่อนไข2 : คำาสั่ง; เงื่อนไข3 : คำาสั่ง; ... else เงื่อนไข; end;
  49. 49. ตัวอย่างโปรแกรม IF
  50. 50. ตัวอย่างโปรแกรม IF ต่อ จากโปรแกรมต่อไปนี้ คำานวณหาราคา รวมสุทธิของสินค้าโดยมีการรับจำานวน สินค้า (amount)และราคาสินค้า (price) คำานวณหาราคารวม สินค้า(total) และหา ส่วนลด(discount)โดยมีเงื่อนไขว่า  ถ้าราคารวมตั้งแต่ 1000 บาทขึ้นไป ให้ส่วนลด 200 บาท  ถ้าราคารวมไม่ถึง 1000 บาท ไม่ให้
  51. 51. ตัวอย่างโปรแกรม IF ต่อ
  52. 52. LOGO sutilrc39@hotmail.com

×