Pascal Programing Language
Download
Report
Transcript Pascal Programing Language
Pascal Programming Language
โปรแกรมภาษาปาสคาล
โดย
อ.วิชาญ หงษ์บน
ิ
คุณล ักษณะของโปรแกรมภาษาปาสคาล
เป็ นโปรแกรมประเภท
เท็กซโ์ หมด
มีทงั ้ Version ทีร่ ันบน
ดอส และบน
Windows
้ ยน รัน
โปรแกรมทีใ่ ชเรี
ื่ Turbo
บน Dos ชอ
Pascal 7.0
เตรียมตัวก่อนบันทึก
ก่อนบันทึก ควรสร ้าง Folder จัดเก็บข ้อมูล
ี ก่อน
เสย
คลิกขวา Start > Explorer
คลิกเลือก Drive D:
คลิกเมนู File > New > Folder
ื่ Folder ... กรณีนใี้ ห ้พิมพ์รหัส
พิมพ์ชอ
ึ ษา
ประจาตัวนักศก
้
ขัน
้ ตอนการใชโปรแกรม
คลิกเมนู Start > Dos Program > Turbo
Pascal 7.0
กดปุ่ ม Alt + Enter เพือ
่ ขยายหน ้าจอให ้
เต็ม
เริม
่ ต ้นสร ้างโปรแกรม
คลิกเมนู File > New
ี ้า
จะปรากฏหน ้าต่างโปรแกรมเป็ นหน ้าจอสฟ
ื่
คลิกเมนู File > Save เพือ
่ บันทึกชอ
โปรแกรม
การบันทึก (Save)
ื่ ไฟล์เป็ น
เมือ
่ อยูท
่ ห
ี่ น ้าจอบันทึก ให ้พิมพ์ชอ
ภาษาอังกฤษและกาหนดนามสกุลของไฟล์ด ้วย
ื่ ไฟล์
รูปแบบการตัง้ ชอ
ื่ ไฟล์.pas เชน
่
D:\432001\ชอ
D:\432001\Example01.pas
ื่ ไฟล์เสร็จแล ้วกดปุ่ ม Enter
เมือ
่ พิมพ์ชอ
ื่ ไฟล์
สงั เกตทีก
่ ลางหน ้าจอโปรแกรมจะปรากฏชอ
ทีบ
่ น
ั ทึกไว ้
ในการบันทึกข ้อมูลครัง้ ต่อไปให ้กดปุ่ ม F2
ปั ญหาทีเ่ กิดขึน
้ เสมอในการ
บันทึก
D:/432\Example 01
ไม่อ ้างถึงแหล่งทีเ่ ก็บข ้อมูล
พิมพ์การอ ้างถึงแหล่งการเก็บข ้อมูลผิด
้ อ
ใชเครื
่ งหมายในการอ ้างถึงผิด
ื่ ไฟล์แบบเว ้นวรรค
พิมพ์ชอ
โครงสร ้างโปรแกรมพืน
้ ฐาน
ื่ โปรแกรม ;
Program ชอ
Uses Crt;
Begin
Clrscr;
Readln;
End.
หัวโปรแกรม
ั่
เรียกใชฟั้ งก์ชน
เริม
่ ต ้นโปรแกรม
เคลียร์ข ้อความบนจอภาพ
คาสงั่ โปรแกรมอืน
่ ๆ
Break โปรแกรม
จบโปรแกรม
ปิ ดท้ายโปรแกรมด้วยเซมิโคลอน
Program exam01 ;
Uses Crt;
Begin
Clrscr;
Readln;
End.
End ต ัวสุดท้ายต้องจบด้วยจุด
ตรวจสอบ (Compile) และดูผลงาน (Run)
Compile (คอมไพล์) คือ การตรวจสอบ
คาสงั่ ของโปรแกรมทัง้ หมดว่าพิมพ์ถก
ู ต ้อง
ตามกฎเกณฑ์ของภาษาหรือไม่ ถ ้าไม่
ถูกต ้องโปรแกรมจะแจ ้งข ้อผิดพลาดให ้
ทราบ
คลิกปุ่ ม Alt + C > เลือกเมนู Compile
ตัวอย่างกรณีพม
ิ พ์โปรแกรมผิด
Program exam01
Uses Crt;
Begin
Clscr;
Readln;
End.
ลบ
เครือ
่ งหมา
ย ; ออก
แล้ว
compile
ลบต ัว r
ออกแล้ว
Compile
การแสดงผลโปรแกรม (Run)
หลังจาก Compile ผ่านเรียบร ้อยแล ้ว ให ้
แสดงผลการทางานของโปรแกรม โดย
กดปุ่ ม Art + R > เลือก Run
ั เกตุผลงาน
สง
กดปุ่ ม Enter เพือ
่ กลับเข ้าหน ้าจอโปรแกรม
ื่ ไฟล์
กฎการตัง้ ชอ
ขึน
้ ต ้นด ้วยพยัญชนะ
้ ญ
ั ลักษณ์พเิ ศษ เชน
่ +-* #@
ห ้ามใชส
่ งว่างระหว่างชอ
ื่ เชน
่ exam 01
ห ้ามเว ้นชอ
้ าสงวน (Reserve Word) เชน
่
ห ้ามใชค
begin, end , program, var ฯลฯ เพราะจะ
ไปซ้ากับคาสงั่
ื่ ควรสน
ั ้ กะทัดรัด และสอ
ื่ ความหมาย
ชอ
คาสงั่ แสดงข ้อความ Write
รูปแบบ
ข ้อความจะเปลีย
่ นไปตามทีต
่ ้องการ
Write(‘ข ้อความ’) ;
Write(‘Welcome’) ;
เพิม
่ เติมข ้อความ
Write(‘Welcome’) ;
่ื นักศก
ึ ษา’) ;
Write(‘My name is ชอ
Alt + C
Alt + R
่ื นักศก
ึ ษา
WelcomeMy name is ชอ
ข ้อความทีพ
่ ม
ิ พ์จะติดกัน และอยูบ
่ รรทัด
เดียวกัน
คาสงั่ แสดงข ้อความ Writeln
WriteLn(‘Welcome’) ;
Write
Ln (‘My name is ชอื่ นักศกึ ษา’) ;
Alt + C
Alt + R
Welcome
่ื นักศก
ึ ษา
My name is ชอ
การจัดข ้อความกึง่ กลาง
Writeln(‘
Welcome’) ;
ื่ นักศก
ึ ษา’) ;
Writeln (‘My name is ชอ
Alt + C
Alt + R
Welcome
ื่ นักศก
ึ ษา
My name is ชอ
ตัวอย่าง
Alt + C
Alt + R
Welcome
ื่ นั กศก
ึ ษา
My name is ชอ
I am 15 year old
I study at รร. อรรถวิทย์พณิชยการ
-----------------------------------------Please enter to exit now -*- >
ี วั อักษร
การกาหนดสต
รูปแบบ
รหัสส ี คือ เลขจานวนเต็ม 1- 125
Textcolor (รหัสส)ี ;
Writeln( ‘ข ้อความ’ );
Textcolor (5) ;
Writeln( ‘Welcome’ );
ี วั อักษรกะพริบ
การกาหนดสต
รูปแบบ
รหัสส ี คือ เลขจานวนเต็ม 1- 125
ี 127) ;
Textcolor (รหัสส+
Writeln( ‘ข ้อความ’ );
Textcolor (5+127) ;
Writeln( ‘Welcome’ );
แบบทดสอบ > New > Exam02
Alt + C
Alt + R
ATTAWIT COMMERCIAL COLLEGE
Computer Department
PWS 2
-----------------------------------------Enter to exit >
ไปได ้ดั่งใจ Gotoxy
รูปแบบ
ตาแหน่ง คือ เลขจานวนเต็ม
Gotoxy (ต.แนวนอน,ต.แนวตัง้ ) ;
Writeln( ‘ข ้อความ’ );
Gotoxy (10,15) ;
Writeln( ‘PWS 2’ );
ให ้แทรกคาสงั่ ดังนี้
Gotoxy (15,5) ;
Writeln( ‘Number’ );
Gotoxy (15,15) ;
Writeln( ‘Name’ );
Gotoxy (15,25) ;
Writeln( ‘Price’ );
Gotoxy (15,35) ;
Writeln( ‘Amount’ );
แบบทดสอบ
กิจกรรม
ฝึ กเขียนโปรแกรม Exam21
หน ้า 27 ให ้บันทึกเป็ น
Exam3.pas
แบบฝึ กหัดข ้อ 2 หน ้า 33
– ข ้อ 2.1 บันทึกเป็ น Exam4.pas
– ข ้อ 2.4 บันทึกเป็ น Exam5.pas
สามารถตกแต่งโปรแกรมได้ตามความต้องการ
การรับค่าตัวแปร
ตัวแปร (Variable) คือ ชอื่ ทีส่ มมติ
้
ขึน
้ มาเพือ
่ ใชในการจั
ดเก็บข ้อมูลนัน
้ ๆ ไว ้ใน
ระบบคอมพิวเตอร์
ื่ ตัวแปร จะมีลักษณะ
กฎการตัง้ ชอ
ื่ ไฟล์
เดียวกับกฎการตัง้ ชอ
รูปแบบการประกาศตัวแปร
Var
ื่ ตัวแปร : ชนิดข ้อมูล ;
ชอ
Var
price : Integer ;
Program exam06 ;
Uses Crt;
Var
Price : Integer ;
Begin
Crlscr;
Readln;
End.
Alt + C
ชนิดของข ้อมูลพืน
้ ฐาน
กลุม
่ ตัวเลข
– เลขจานวนเต็ม
– เลขทีจ
่ ด
ุ ทศนิยม
Integer
Real
กลุม
่ ตัวอักษร
– พยัญชนะตัวเดียว
– พยัญชนะหลายตัว
Char
String
กลุม
่ ตัวเลข
่
เลขจานวนเต็ม เชน
ื่ ตัวแปร
ข ้อมูล
ชอ
ิ ค ้า price
– ราคาสน
– คะแนนสอบ score
– เงินเดือน
salary
ิ ค ้า amount
– จานวนสน
– อัตราค่าแรง Rate
– ค่าล่วงเวลา OT
– เลขจานวนเต็ม number
ตัวอย่างข ้อมูล
20, 50, 60, 5
0, -10, 25, 35
1000, 25000
120, 500
180,190,250
50,300
20,150,300
กลุม
่ ตัวเลข
่
เลขทีม
่ ท
ี ศนิยม เชน
ื่ ตัวแปร
ข ้อมูล
ชอ
ิ ค ้า
– ราคาสน
– เงินเดือน
– ภาษี
– ค่าเฉลีย
่
– ดอกเบีย
้
price
salary
Vat
Average
Interest
ตัวอย่างข ้อมูล
20.50, 50.25
1000.50, 2500.75
0.07, 0.10
29.25,77.88
0.10, 0.25
กลุม
่ ตัวอักษร
่
พยัญชนะตัวเดียว เชน
ื่ ตัวแปร
ข ้อมูล
ชอ
– เกรด
– เพศ
– สถานะภาพ
Grade
Sex
Status
ตัวอย่างข ้อมูล
A,B,C,D,F
M,F
M,S
กลุม
่ ตัวษร
่
พยัญชนะมากกว่า 1 ตัว เชน
ื่ ตัวแปร ตัวอย่างข ้อมูล
ข ้อมูล
ชอ
ื่
– ชอ
– เพศ
– เบอร์โทร
Name
Sex
phone
John, Apple
Male, Female
081-3358765
ข ้อมูลนี้ คือ พยัญชนะ
่ กท-005
มีพยัญชนะผสม เชน
่ 86/2550
มีเครือ
่ งหมายพิเศษผสม เชน
่ งว่างระหว่างข ้อมูล 99 9999
เว ้นชอ
่ 02-3345967
ขัน
้ ต ้นด ้วยเลข 0 เชน
้
่
ข ้อมูลทีไ
่ ม่ต ้องการใชในการค
านวณ เชน
ึ ษา 430001 หรือ รหัสสน
ิ ค ้า ฯ
รหัสนักศก
แบบทดสอบ
เตรียมประกาศตัวแปร
่ื id เป็ นแบบ String
ประกาศตัวแปร ชอ
ื่ name เป็ นแบบ String
ประกาศตัวแปร ชอ
่ื age เป็ นแบบ Integer
ประกาศตัวแปร ชอ
ื่ salary เป็ นแบบ Real
ประกาศตัวแปร ชอ
การประกาศตัวแปรทีม
่ ช
ี นิดเดียวกัน
Var
Price
id
name
age
Salary
:
:
:
:
:
Integer ;
String ;
String ;
Integer ;
Real ;
Var
Price,age : Integer ;
id,name
: String ;
Salary
: Real ;
การรับค่าตัวแปรผ่านคียบ
์ อร์ด
ื่ ตัวแปร) ;
Readln(ชอ
้
จะใชควบคู
ก
่ บ
ั คาสงั่ Write เพือ
่ แจ ้งให ้ผู ้คีย ์
ทราบว่ากาลังจะรับค่าตัวแปรอะไร
Write(‘Input your Id = ‘);
Readln(Id);
Write(‘What is your name = ‘);
Readln(name);
Write(‘Age = ‘); Readln(age);
การกาหนดค่าคงทีใ่ ห ้กับตัวแปร
่
เชน
้
Assignment คือ เก็บค่าทางด ้านซายให
้กับ
ทางด ้านขวา
Price := 200.50 ; ทดลองคอมไพล์
Error ชนิดนีเ้ กิดขึน
้ จากกรณีทต
ี่ ัวแปร
Price ประกาศไว ้เป็ นแบบ Integer แต่
เวลารับค่าจริงกับมีจด
ุ ทศนิยม ทีถ
่ ก
ู ต ้อง
ตัวแประ Price ควรประกาศเป็ น…. หรือ
รับค่าตัวแปรทีไ่ ม่มท
ี ศนิยม
Price := 200 ;
ิ ค ้า
จงรับค่าตัวแปรจานวนสน
Write(‘Input Amount = ‘);
Readln(Amount);
Amount เป็นต ัว
แปร ด ังนนจะต้
ั้
อง
ประกาศ จึงสามารถ
compile โปรแกรม
ได้
การใชตั้ วแปรเก็บผลลัพธ์จากการคานวณ
่
ิ ค ้า x จานวนสน
ิ ค ้า
เชน
ยอดรวม = ราคาสน
ตัวแปร
Total :=
ตัวแปร
*
ตัวแปร
price * amount ;
Total เป็ นตัวแปร
เก็บค่าผลลัพธ์ท ี่
เกิดขึน
้ จากการ
คานวณ
การแสดงค่าของตัวแปร
ื่ ตัวแปร) ;
Write(‘ข ้อความบอกว่าคือค่าอะไร =‘ , ชอ
่ ต ้องการแสดงค่าของตัวแปร Total
เชน
Writeln(‘Total =‘ , total) ;
ื่ ต ัวแปรตามทีป
ชอ
่ ระกาศ
ข้อความบอกว่าคือค่าอะไร
ใชค้ าสงั่ คานวณสว่ นลด 10%
7% เท่าก ับ 7/100 หรือ
0.07
สว่ นลด = ยอดรวม คูณ 10%
Disc = total * 0.1 ;
Writeln(‘Discount = ‘, Disc);
้ มีทศนิยมมาก จึง
ผลล ัพธ์ทเี่ กิดขึน
ต้องกาหนดจานวนจุดทศนิยม
Writeln(‘Discount = ‘, Disc:8:2);
ใชไ้ ด้ในกรณีทต
ี่ ัวแปรนนเป
ั้ ็ น
ประเภทมีทศนิยมเท่าน ัน
เป็นการกาหนดทศนิยม 2 ตาแหน่ง
คานวณยอดหลักหักสว่ นลด
ยอดรวม =ยอดรวม หัก สว่ นลด
Total = total – disc ;
Writeln(‘Total = ‘,total:8:2);
ใชค้ าสงั่ คานวณภาษี 7%
ภาษี = ยอดรวม คูณ 7%
Vat = total * 0.07 ;
Writeln(‘Vat = ‘, vat:8:2);
7% เท่าก ับ 7/100 หรือ
0.07
คานวณยอดสุทธิ
ยอดสุทธิ =ยอดรวม บวก ภาษี
Net = total + vat ;
Writeln(‘Net = ‘, net:8:2);
แบบทบทวน
ึ ษาเตรียมโครงสร ้างโปรแกรม และ
ให ้นักศก
เขียนโปรแกรมตามคาสงั่ ทีละประโยคคาสงั่
ตามทีอ
่ าจารย์กาหนด
1.
2.
3.
4.
5.
เตรียมโครงสร ้างโปรแกรม
คาสงั่ แสดงข ้อความว่า ยินดีต ้อนรับ
คาสงั่ แสดงเครือ
่ งหมาย hyphen
พอประมาณเกือบเต็มบรรทัด
คาสงั่ ขึน
้ บรรทัดใหม่ 2 บรรทัด
ึ ษา (id)
ประกาศตัวแปร รหัสนักศก
ขนาด 5 ตัวอักษร
1.
2.
3.
4.
5.
6.
ื่ นักศก
ึ ษา(name) ขนาด
ประกาศตัวแปรชอ
30 ตัวอักษร
คาสงั่ รับค่าตัวแปรอายุ (age) ของ
ึ ษา
นักศก
คาสงั่ รับค่าตัวแปรสว่ นสูง (high)
คาสงั่ รับค่าตัวแปรเงินเดือน (salary) เป็ น
เลขจานวนเต็ม ไม่มท
ี ศนิยม มีคา่ สูงสุดไม่
เกิน 20,000 บาท
คาสงั่ คานวณเงินโบนัสของพนักงาน
เท่ากับ 20% ของเงินเดือน
แสดงค่าของตัวแปรเงินโบนัสของพนักงาน
กาหนดจานวนทศนิยม 3 ตาแหน่ง
แบบทบทวน
1.
2.
3.
4.
5.
เตรียมโครงสร ้างโปรแกรม
คาสงั่ แสดงเครือ
่ งหมาย hyphen
พอประมาณเกือบเต็มบรรทัด
ื่ บริษัท
คาสงั่ แสดงข ้อความว่า ตัง้ ชอ
คาสงั่ แสดงเครือ
่ งหมาย hyphen
พอประมาณเกือบเต็มบรรทัด
คาสงั่ ขึน
้ บรรทัดใหม่ 1 บรรทัด
แบบทบทวน
1.
2.
3.
4.
5.
6.
กาหนดค่าตัวแปรคงที่
Stock เท่ากับ 2,000
ิ ค ้าทีซ
ื้
คาสงั่ รับค่าตัวแปรจานวนสน
่ อ
ิ ค ้า
เข ้ามาเก็บในคลังสน
คาสงั่ คานวณค่า Stock สุทธิ
ิ ค ้าทีข
คาสงั่ รับค่าตัวแปรจานวนสน
่ าย
ไป
คาสงั่ คานวณค่า Stock สุทธิ
แบบทบทวน
1.
2.
ิ ค ้าทีต
คาสงั่ คานวณจานวนสน
่ ้อง
ื้ เท่ากับ 10% ของจานวน
สงั่ ซอ
ิ ค ้าคงเหลือ
สน
ิ ค ้าทีส
ื้
คาสงั่ แสดงค่าจานวนสน
่ งั่ ซอ
แบบฝึ กห ้ด
1.
จงเขียนโปรแกรมรับค่าตัวแปร รหัส
ื่ บัญช ี จานวนเงินที่
บัตรประชาชน ชอ
ฝาก คานวณดอกเบีย
้ ทีไ่ ด ้รับ คิดให ้
6% ของยอดเงินฝาก
แบบฝึ กห ้ด
1.
2.
3.
จงเขียนโปรแกรมหาค่ารายได ้สะสม
ของเงินเดือนพนักงานจานวน 6 เดือน
คาสงั่ รับค่ารายจ่ายของพนักงาน
ั ท์ ค่า
ได ้แก่ ค่าน้ า ค่าไฟฟ้ า ค่าโทรศพ
เชา่ ห ้อง พร ้อมทัง้ หาค่ารายจ่ายสะสม
คาสงั่ คานวณเงินคงเหลือ เท่ากับ
รายได ้สะสม หัก รายจ่ายสะสม