การเขียนโปรแกรม ภาษาปาสคา

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