การเขียนโปรแกรม ภาษาปาสคา
Download
Report
Transcript การเขียนโปรแกรม ภาษาปาสคา
LOGO
การเขียนโปรแกรม
ภาษาปาสคาล (Pascal)
LOGO Contents
แนะนาภาษาปาสคาล
เริ่มต้ นเขียนโปรแกรมภาษาปาสคาล
ตัวแปรในภาษาปาสคาล
เครื่องหมายและการดาเนินการ
เขียนโปรแกรมเพือ่ แสดงผลและรับข้ อมูล
ควบคุมทิศทางการทางานของโปรแกรม
รู้ จักกับภาษาปาสคาล
กำเนิดตั้งแต่ปี ค.ศ.1970 โดยศำสตรำจำรย์นิคลอส เวิร์ธ ถูกสร้ำงขึ้นเพื่อใช้สอน
กำรพัฒนำโปรแกรม และกำรเขียนโปรแกรมแบบโครงสร้ำง เป็ นภำษำที่ใช้
สำหรับเริ่ มต้นหัดเขียนโปรแกรม
ภำษำปำสคำลเป็ นภำษำระดับสู ง(High level language) เป็ น
ภำษำใกล้เคียงกับภำษำที่ใช้สื่อสำรกันตำมปกติเป็ นคำสั่งเป็ นคำที่มีควำมหมำยใน
ภำษำอังกฤษ ข้ อดี จดจำรู ปแบบคำสัง่ และทำควำมเข้ำใจง่ำย ข้ อเสี ย ไม่มีคำสัง่
สำหรับติดต่อกับอุปกรณ์ฮำร์ ดแวร์ ได้โดยตรงและทำงำนช้ำกว่ำภำษำระดับต่ำ
ตัวแปลภำษำที่ใช้คือ คอมไพเลอร์ (Compiler) จะตรวจสอบคำสัง่
ทั้งหมดในโปรแกรมว่ำถูกต้องตำมหลักกำรของภำษำนั้นหรื อไม่ ถ้ำไม่พบ
ข้อผิดพลำดคอมไพเลอร์ จะทำกำรแปลควำมหมำยคำสั่งทั้งหมดในโปรแกรมให้
เป็ นภำษำเครื่ อง แล้วจึงทำงำนทีเดียว
การทางานของโปรแกรมภาษาปาสคาล
ขั้นที่ 1 เริ่ มจำกกำรเขียนโปรแกรมด้วยคำสั่งและหลักกำรที่ถกู ต้องของภำษำปำสคำล
โปรแกรมที่เขียนขึ้นมำนั้นจะเรี ยกว่ำ ซอร์ สโค้ด (Source code) บันทึก
ไฟล์นำมสกุล .pas
ขั้นที่ 2 เป็ นขั้นตอนกำรคอมไพล์ โดยตรวจสอบซอร์ สโค้ดว่ำถูกต้องหรื อไม่ ถ้ำไม่
ผิดพลำดจะทำกำรแปลซอร์สโค้ดให้เป็ นออบเจ็กต์โค้ด (Object code)
ขั้นที่ 3 เป็ นขั้นตอนกำรลิงค์ เกิดขึ้นในกรณี ที่ภำยในโปรแกรมมีกำรเรี ยกใช้โพรซี เยอร์
หรื อฟังก์ชนั ที่อยูใ่ นไลบรำรี หรื อยูนิตมำตรฐำนของภำษำปำสคำล ไฟล์สุดท้ำยที่ได้
ออกมำจะเป็ นไฟล์นำมสกุล .exe
การทางานของโปรแกรมภาษาปาสคาล
โพรซีเยอร์ และฟังก์ชัน
จากไลบรารีหรือยูนิต
มาตรฐาน
program lesson1;
var Num1,Num2 : Integer
begin
write(‘Input number 1 : ’);
readln(Num1);
write(‘Input number 2 : ’);
readln(Num2);
readln;
end
ไฟล์ชื่อ test.pas
Object code
คอมไพล์
ลิงค์
test.exe
Contents
แนะนาภาษาปาสคาล
เริ่มต้ นเขียนโปรแกรมภาษาปาสคาล
ตัวแปรในภาษาปาสคาล
เครื่องหมายและการดาเนินการ
เขียนโปรแกรมเพือ่ แสดงผลและรับข้ อมูล
ควบคุมทิศทางการทางานของโปรแกรม
วิธีการเรียกเทอร์ โบปาสคาล
วิธีที่ 1
วิธีการเรียกเทอร์ โบปาสคาล
วิธีที่ 2
C:\TP
ส่ วนประกอบของโปรแกรม
ประกาศชื่อโปรแกรม
ประกาศชื่อยูนิต
จุดเริ่มต้ นการทางาน
ของโปรแกรม
จุดสิ้นสุ ดการทางาน
แสดงข้ อความออกทางหน้ าจอ
รู ปแบบการเขียนคาสั่ งภาษาปาสคาล
ต้องเริ่ มด้วยคำสัง่ begin และจบด้วยคำสัง่ end.
ทุกคำสัง่ ต้องลงท้ำยด้วย เครื่ องหมำย ; (semicolon)
ตัวอักษรไม่มีผลในภำษำปำสคำล จะเขียนคำสัง่ ด้วยตัวพิมพ์เล็ก
หรื อตัวพิมพ์ใหญ่กม็ ีควำมหมำยเหมือนกัน
สำมำรถเขียนคำสัง่ ได้อย่ำงอิสระ ไม่จำกัดรู ปแบบ อำจจะเขียน
คำสัง่ ติดกันไปเรื่ อยๆ โดยไม่เว้นบรรทัดก็ได้
การเขียนคอมเมนต์
{ }
(* *)
Contents
แนะนาภาษาปาสคาล
เริ่มต้ นเขียนโปรแกรมภาษาปาสคาล
ตัวแปรในภาษาปาสคาล
เครื่องหมายและการดาเนินการ
เขียนโปรแกรมเพือ่ แสดงผลและรับข้ อมูล
ควบคุมทิศทางการทางานของโปรแกรม
ตัวแปรในภาษาปาสคาล
รู ปแบบคำสัง่
หลักกำรตั้งชื่อตัวแปร
ชนิดของข้อมูล
กำรกำหนดค่ำให้กบั ตัวแปร
ตัวแปรสำหรับเก็บข้อควำม
รู ปแบบคาสั่ ง
var name : type;
var
name
type
เป็ นคำสัง่ ที่ใช้ในกำรประกำศตัวแปร
ชื่อของตัวแปร
ชนิดของข้อมูล
หลักการตั้งชื่อตัวแปร
ต้องขึ้นด้วยตัวอักษรA-Z,a-z หรื อ _ (underscore)
ภำยในชื่อจะเป็ นตัวอักษร , ตัวเลข หรื อ _ (underscore)เท่ำนั้น
ห้ำมเว้นช่องว่ำงภำยในชื่อ
ตัวอักษรพิมพ์ใหญ่หรื อพิมพ์เล็กไม่มีผล คือไม่ต่ำงกัน เช่น Name ,
name มีควำมหมำยเหมือนกัน
ห้ำมตั้งชื่อตัวแปรซ้ ำกับคำสงวน เช่น
And,Array,Begin,Case,For,File,Else,
Do,Var,Uses,While,End เป็ นต้น
ชนิดของข้ อมูล
Integer เลขจำนวนเต็ม
Char อักขระ
Real เลขทศนิยม
Boolean ค่ำควำมจริ งทำงตรรกศำสตร์
เช่น var Num1 : integer;
การกาหนดค่ าให้ กบั ตัวแปร
Variable := value;
Num1:=15;
Ch:=‘A’;
Num2:=3.14;
ตัวแปรสาหรับเก็บข้ อความ
Var name : string[n];
var Address:string;
(ให้ค่ำอัตโนมัติ 255 อักขระ)
var name:string[50];
(ข้อควำมมีควำมยำวสู งสุ ด 50 อักขระ)
Contents
แนะนาภาษาปาสคาล
เริ่มต้ นเขียนโปรแกรมภาษาปาสคาล
ตัวแปรในภาษาปาสคาล
เครื่องหมายและการดาเนินการ
เขียนโปรแกรมเพือ่ แสดงผลและรับข้ อมูล
ควบคุมทิศทางการทางานของโปรแกรม
เครื่องหมายการคานวณ
+
*
/
Div หำรจำนวนเต็ม
Mod หำรเอำเศษ
เครื่องหมายการเปรียบเทียบ
=
<>
>
<
>=
<=
การดาเนินการทางตรรกศาสตร์
And
Or
Not
ลาดับของเครื่องหมายในการคานวณ
()
Not
*,/,div,mod,and
+,-,or
=,<,<=,>,>=,<>
Contents
แนะนาภาษาปาสคาล
เริ่มต้ นเขียนโปรแกรมภาษาปาสคาล
ตัวแปรในภาษาปาสคาล
เครื่องหมายและการดาเนินการ
เขียนโปรแกรมเพือ่ แสดงผลและรับข้ อมูล
ควบคุมทิศทางการทางานของโปรแกรม
เขียนโปรแกรมเพือ่ แสดงผลและรับข้ อมูล
การนาข้ อมูลไปแสดงผล
แสดงผลออกทำงหน้ำจอด้วยคำสัง่ write
แสดงผลออกทำงหน้ำจอด้วยคำสัง่ writeln
กำหนดรู ปแบบกำรแสดงผล
เขียนโปรแกรมเพือ่ แสดงผลและรับข้ อมูล
การนาข้ อมูลไปแสดงผล
แสดงผลออกทำงหน้ำจอด้วยคำสัง่ write
write(output, value);
write(‘The number is : ’,Num1);
เขียนโปรแกรมเพือ่ แสดงผลและรับข้ อมูล
การนาข้ อมูลไปแสดงผล
แสดงผลออกทำงหน้ำจอด้วยคำสั่ง writeln
writeln(output, value);
writeln(‘The number is : ’,Num1);
การนาข้ อมูลไปแสดงผล
กำหนดรู ปแบบกำรแสดงผล
write(value:n); หรื อ
write(value1:n, value2:n, value3:n);
writeln(value:n); หรื อ
writeln(value1:n, value2:n, value3:n);
กาหนดรูปแบบการแสดงผล
writeln(‘Thailand’:15);
Thai l and
เขียนโปรแกรมเพือ่ แสดงผลและรับข้ อมูล
การรับข้ อมูลเข้ ามาในโปรแกรม
รับข้อมูลด้วยคำสัง่ read
รับข้อมูลด้วยคำสัง่ readln
เขียนโปรแกรมเพือ่ แสดงผลและรับข้ อมูล
การรับข้ อมูลเข้ ามาในโปรแกรม
รับข้อมูลด้วยคำสัง่ read / readln
read(input,variable)
readln(input,variable)
** ถ้ำไม่กำหนดInput ก็จะหมำยถึงรับข้อมูลทำง
คียบ์ อร์ด **
โพรซีเยอร์ สาหรับการแสดงผล
ClrScr;เคลียร์หน้ำจอให้วำ่ ง
Gotoxy(int,int) กำหนดเคอร์เซอร์ไปอยู่
ตำแหน่งที่คอลัมน์ที่ , แถวที่
TextBackground(word/int)
กำหนดสี พ้นื
TextColor(word/int) กำหนดสี
ข้อควำม
Contents
แนะนาภาษาปาสคาล
เริ่มต้ นเขียนโปรแกรมภาษาปาสคาล
ตัวแปรในภาษาปาสคาล
เครื่องหมายและการดาเนินการ
เขียนโปรแกรมเพือ่ แสดงผลและรับข้ อมูล
ควบคุมทิศทางการทางานของโปรแกรม
ควบคุมทิศทางการทางานของโปรแกรม
ควบคุมทิศทำงแบบวนรอบ
ควบคุมทิศทำงแบบเลือกทำ
ควบคุมทิศทางแบบวนรอบ
for
while
ควบคุมทิศทางแบบวนรอบ
for
- คำสัง่ ที่ใช้ในกำรควบคุมให้โปรแกรมทำงำนแบบวนรอบที่ง่ำยและซับซ้อนน้อย
ที่สุด
for เงือ่ นไขเริ่มต้ น to เงือ่ นไขสิ้นสุ ด do คาสั่ งทีจ่ ะให้ ทาเมื่อเงือ่ นไขเป็ นจริง
ตัวอย่าง
program for1;
var Count:integer;
begin
for Count:=1 to 5 do writeln(‘Hello’);
Hello
end.
Hello
Hello
Hello
Hello
ควบคุมทิศทางแบบวนรอบ
while
- คำสัง่ ที่ใช้ในกำรควบคุมให้โปรแกรมทำงำนแบบวนรอบ
while เงือ่ นไข do begin
คาสั่ งที่ 1จะให้ ทาเมื่อเงือ่ นไขเป็ นจริง;
คาสั่ งที่ 2จะให้ ทาเมื่อเงือ่ นไขเป็ นจริง;
…
คาสั่ งเปลีย่ นค่ าตัวแปร;
end;
ตัวอย่าง
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
ควบคุมทิศทางแบบเลือกทา
if-then
if-then-else
case
ควบคุมทิศทางแบบเลือกทา
if-then เงื่อนไขทำงเลือกเดียว
if เงือ่ นไข then คาสั่ งที1่ ;
ควบคุมทิศทางแบบเลือกทา
if-then เงื่อนไขทำงเลือกเดียว
if เงือ่ นไข then begin
คาสั่ งที่1;
คาสั่ งที2่ ;
...
end;
ตัวอย่าง
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.
ควบคุมทิศทางแบบเลือกทา
if-then-elseเงื่อนไขหลำยทำงเลือก
if เงือ่ นไข then คาสั่ งทีเ่ ป็ นจริง
else คาสั่ งทีเ่ ป็ นเท็จ;
ควบคุมทิศทางแบบเลือกทา
if เงื่อนไข then begin
คาสั่ งที่เป็ นจริง1
คาสั่ งที่เป็ นจริง2
.....
end
else begin
คาสั่ งที่เป็ นเท็จ1
คาสั่ งที่เป็ นเท็จ2
...
end;
ตัวอย่าง
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.
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.
Case
case ตัวแปรที่ใช้ตรวจสอบ of
เงื่อนไข1 : คำสัง่ ;
เงื่อนไข2 : คำสัง่ ;
เงื่อนไข3 : คำสัง่ ;
...
else เงื่อนไข;
end;
LOGO