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 เดือน
คาสงั่ รับค่ารายจ่ายของพนักงาน
ั ท์ ค่า
ได ้แก่ ค่าน้ า ค่าไฟฟ้ า ค่าโทรศพ
เชา่ ห ้อง พร ้อมทัง้ หาค่ารายจ่ายสะสม
คาสงั่ คานวณเงินคงเหลือ เท่ากับ
รายได ้สะสม หัก รายจ่ายสะสม