Friday, May 13, 2011

33. การใช้งาน Function

ฟังก์ชั่น เป็นกลุ่มคำสั่งคล้ายๆ โพซิเยอร์ แต่ต่างกันตรงที่ฟังก์ชั่นมีการส่งค่ากลับ จะต้องมีตัวแปรมาเก็บที่ได้จากฟังก์ชั่น
1) การประกาศ Function

function power(B,E:Integer):integer; # ค่าส่งกลับ
var count,temp:integer
Begin
Temp:=B;
for count:=1 to E-1 do
temp := temp*B;
power := temp;#ส่งค่ากลับด้วยการกำหนดค่าให้ชื่อฟังก์ชั่น
End;

 
2) การเรียกใช้ Function
my_answer := power(2,5);
writeln(my_answer);
หรือ
writeln(power(2,10));

32. การใช้งาน procedure 2 (Procedure 2)

ที่กล่าวไปในหัวข้อที่แล้วเป็น procedure ที่มีการส่งค่า แต่ในหัวข้อนี้จะกล่าวถึง procedure ที่ไม่มีการส่งค่าให้ procedure

1) ส่วนประกาศ Procedure
procedure drawline;
var count:byte;
begin
for count:=1 to 30 do
write('*');
writeln;
end;

2) ส่วนเรียกใช้ Procedure
drawline;

31. ตัวอย่าง Procedure (Procedure Example)


Program testProcedure;
uses crt;
procedure drawStar(num:integer);
var i:integer;
begin
for i:=1 to num do
write('*');
writeln;
end ;
BEGIN
drawStar(5);
drawStar(10);
END;

30. การใช้งาน Procedure

เป็นกลุ่มของคำสั่งที่ต้องการเรียกใช้หลายๆ รอบเพื่อไม่ต้องมาเสียเวลาเขียนใหม่หลายๆรอบ โดยจะเรียกใช้ผ่านชื่อโพซิเยอร์
1) การประกาศ Procedure


procedure ชื่อโพซิเยอร์(พารามิเตอร์1,พารามิเตอร์2,...,พารามิเตอร์n);
#ส่วนหัวของ Procedure
Begin
#ส่วนตัวของ Procedure
End;

 
เราจะประกาศ Procedure ไว้บนส่วนหัวของโปรแกรม และสามารถเรียกใช้ได้จากส่วนตัวของโปรแกรม

29. ตัวแปร Pointer

เป็นตัวแปรที่ใช้เก็บที่อยู่ของตัวแปรอื่น
การประกาศ Pointer
var my_pointer:^ชนิดข้อมูล;
เช่น
var my_pt:^Integer;

การกำหนดค่าให้กับ Pointer
my_pointer = Addr(ตัวแปรอื่น);
เช่น
my_pt = my_number;

การอ้างถึงข้อมูลในที่อยู่ที่ Pointer ชี้อยู่
my_pointer^;
เช่น
writeln(my_pointer^);
#สมมุติ
#มี x = 123;
#my_pt = addr(x);
# my_pt^ จะเป็น 123
#ซึ่งค่าที่ x เก็บไว้อยู่

28. ตัวอย่างการสร้าง record


type student = record
name : string[100];
age : byte;
grade: byte;
end;
เวลาใช้ต้องประกาศตัวแปร
var Anna:Student;
การอ้างถึง
Anna.name := 'Natali';
readln(Anna.age);
writeln(Anna.grade);

27. ตัวแปรเรคคอร์ด (Record)

เป็นข้อมูลชนิดใหม่ที่ผู้ใช้สามารถกำหนดขึ้นมาใช้เองได้
รูปแบบการสร้างเรคคอร์ด
Type ชื่อเรคคอร์ด = record
ตัวแปร1:ชนิดข้อมูล1;
ตัวแปร2:ชนิดข้อมูล2;
ตัวแปร3:ชนิดข้อมูล3;
end;
*ตัวแปรเรคคอร์ดคล้ายๆ กับกลุ่มก้อนของตัวแปร