ประวัติภาษาปาสคาล

Download Report

Transcript ประวัติภาษาปาสคาล

ประวัติภาษาปาสคาล

ปาสคาลเป็ นภาษาคอมพิวเตอร์ที่สร้างขึ้นโดย ศาสตราจารย์
ดอกเตอร์นิเคลาส์ เวิร์ต(Dr. Niklaus Wirth) จากสถาบันเทคโนโลยี
แห่งซูริค ประเทศสวิสเซอร์แลนด์ เริ่ มใช้เมื่อปี พ.ศ. 2514

ชื่อภาษาตั้งขึ้นเพื่อเป็ นเกียรติแก่ เบลส ปาสคาล (Blaise Pascal)
นักคณิ ตศาสตร์ และปรัชญาชาวฝรั่งเศส (พ.ศ. 2166-2205)
เป็ นผูส้ ร้างเครื่ องบวกเลขได้สาเร็ จเป็ นคนแรกของโลกในปี พ.ศ.
2185 ซึ่งเป็ นต้นแบบของคอมพิวเตอร์ในปัจจุบนั

ดร.นิเคลาส์ เป็ นผูส้ ร้างภาษา PL/1 และ ALGOL-60 มาก่อน
บางส่ วนของปาสคาลจึงมีพ้นื ฐานมาจากภาษาทั้งสองนี้
ลักษณะของภาษาปาสคาล




เป็ นภาษาที่มีโครงสร้าง สามารถแบ่งเป็ นโปรแกรมย่อยได้ง่าย รู ปแบบ
ของคาสัง่ มีความชัดเจน เหมาะอย่างยิง่ สาหรับผูเ้ ริ่ มต้นเขียนโปรแกรม
อย่างมีโครงสร้าง
เป็ นภาษามาตรฐานที่แท้จริ ง ซึ่งสะดวกและง่ายที่จะใช้กบั เครื่ อง
คอมพิวเตอร์ได้ทุกชนิด
ไม่จากัดอยูก่ บั งานในลักษณะใดลักษณะหนึ่ง เป็ นภาษาที่มีความสามารถ
ทั้งในด้านการคานวณที่ซบั ซ้อน งานทางด้านการศึกษา งานทางธุรกิจ
งานทางด้านกราฟิ ก
มีสิ่งอานวยความสะดวกให้ผใู ้ ช้ ทาให้ผใู ้ ช้สามารถพัฒนาโปรแกรมได้
อย่างรวดเร็ ว
ขั้นตอนการพัฒนาโปรแกรมภาษาปาสคาล
Create/Edit
Text File
คาสัง่
pico <filename>.pas
Source Code
Compile
By compiler
Machine Code
คาสัง่
gpc <filename>.pas [-o outputfile]
คาสัง่
Execute
(Run)
a.out หรื อ
<outputfile>
การตรวจสอบข้อผิดพลาดของโปรแกรม
ประเภทของข้อผิดพลาด
 Syntax error
–
–
–
–
เกิดจากการเขียนไวยากรณ์ของภาษาผิด
ตรวจพบได้ในขณะทาการแปล(compile)โปรแกรม
สามารถแก้ไขได้ง่ายที่สุด
เช่น a:=10;
writtln(a);
Syntax error
Writeln(a);
การตรวจสอบข้อผิดพลาดของโปรแกรม

Run-time error
– เป็ นความผิดพลาดของโปรแกรมในระหว่างการปฎิบตั ิงาน
– ตรวจไม่พบในขณะทาการแปลโปรแกรม
– เช่น คาสั่ง 1/x โดยกาหนดให้ x>=0 และ x <=10 ซึ่ งการหารด้วย 0 จะทาให้
เกิดข้อผิดพลาดตอน Run-time (ซึ่ งในการแปลจะไม่พบข้อผิดพลาด)

Logical error
– เกิดจากการตีความหมายของปั ญหาผิดไป
– เป็ นข้อผิดพลาดที่แก้ไขได้ยากที่สุด
– เช่น x = b เขียน x = b/2*a ตีความเป็ น x = (b/2)*a จะผิด
2a
ที่ถูกต้อง เป็ น x = b/(2*a)
โครงสร้ างของภาษาปาสคาล
PROGRAM ชื่ อโปรแกรม;
LABEL
VAR
CONST
TYPE
PROCEDURE or FUNCTION
BEGIN
….
END.
ส่ วนหัว
(Heading)
ส่ วนประกาศ
(Declarations)
ส่ วนคาสั่ ง
(Statements)
Start
Read num1,
num2,num3
avg=(num1+num2+num3)/3
Write avg
Stop
ตัวอย่ างโปรแกรมภาษาปาสคาล
ส่ วนหัว
ส่ วน
ประกาศ
ส่ วนคาสัง่
PROGRAM example;
{ Calculate average of three numbers }
CONST COUNT = 3;
VAR num1, num2, num3 : integer;
average : real;
BEGIN
readln(num1, num2, num3);
average:=(num1+num2+num3)/count;
writeln(‘The avarage is’,average:5:2);
END.
ส่ วนหัว (Heading)

สำหรับกำหนดชื่อโปรแกรม มีรูปแบบ ดังนี ้
PROGRAM ชื่อโปรแกรม ;

ต้องเริ่ มต้นด้วยคาว่า PROGRAM แล้วตามด้วยชื่อโปรแกรม เช่น
PROGRAM Test; ต้องมีเครื่ องหมาย ; (เซมิโคลอน) เมื่อจบประโยคคาสัง่
PROGRAM Calculate_Grade;
PROGRAM Hello;
ส่ วนประกาศ (Declarations)

LABEL สำหรับกำหนดชื่อ ซึง่ เป็ นตำแหน่งที่คำสัง่ GOTO จะไปหำ
มีรูปแบบดังนี ้
LABEL ชื่อ [,ชื่อ] ;

CONST สำหรับกำหนดชื่อ และค่ำที่ไม่เปลี่ยนแปลง มีรูปแบบดังนี ้
CONST ชื่อ = ค่ำที่กำหนด ;
เช่น CONST title = ‘TITANIC’;
max = 200;
ส่ วนประกาศ (Declarations)

VAR สำหรับกำหนด ชื่อตัวแปรและชนิดข้ อมูลของคำสัง่
VAR ชื่อ [,ชื่อ] : ชนิดของข้ อมูล ;
เช่น VAR title : string;
max, min, avg : integer;
ในโปรแกรมที่ไม่ใช้ variable ก็ไม่ต้องมีรำยกำรนี ้ในโปรแกรม
ส่ วนคาสัง่ (Statements)
เริ่มจำก BEGIN ถึง END ส่วนนี ้ประกอบด้ วยประโยคคำสัง่ ต่ำง ๆ
สำหรับสัง่ ให้ คอมพิวเตอร์ ทำงำนประเภทของคำสัง่
 ตัวอย่ำง
PROGRAM hello;
BEGIN
writeln(‘Hello! World’);
END.
ต้องมีเครื่ องหมาย . (full stop) เมื่อจบประโยคคาสัง่ end

ทดลองเขียนโปรแกรม

สร้างไฟล์ที่เก็บ source code ชื่อ hello.pas โดยใช้คาสัง่ pico hello.pas
พิมพ์โปรแกรมดังนี้
PROGRAM hello;
Hello! World
BEGIN
writeln(‘Hello! World’);
>
END.
 เมื่อพิมพ์เสร็ จแล้วบันทึกไฟล์โดยกด Ctrl+X
 คอมไพล์โปรแกรมโดยใช้คาสัง่ gpc hello.pas
 รันโปรแกรมโดยใช้คาสัง่ a.out

การตั้งชื่ อ (Identifiers)
1. ประกอบด้วยตัวอักษรตั้งแต่ A ถึง Z หรื อตัวเลขตั้งแต่ 0 ถึง 9
ที่ไม่มีสญ
ั ลักษณ์พิเศษอื่น ๆ อยู่
2. ขึ้นต้นด้วยตัวอักษรภาษาอังกฤษ (ห้ามเป็ นตัวเลข) และตัวถัดไป
อำจจะเป็ นตัวเลข ตัวอักษร หรื อเครื่ องหมำย Underline ( _ ) ก็ได้
3. ตัวอักษรตัวใหญ่ ตัวเล็กจะถือว่าเหมือนกัน
4. ความยาวของชื่อตัวแปรยาวได้ไม่เกิน 255 ตัวอักขระ
5. ชื่อที่ต้ งั นั้นจะต้องไม่เป็ นคาสงวน (Reserve Word)
คาสงวน (Reserved word)
เป็ นคาเฉพาะที่ภาษาปาสคาลกาหนดขึ้นมาเพื่อใช้ในภาษาโดยเฉพาะ
 ผูเ้ ขียนโปรแกรมไม่สามารถนาไปกาหนดเป็ นชื่อ (Identifiers) ได้
 นิ ยมเขียนด้วยตัวใหญ่เพื่อให้แตกต่างจากชื่ออื่น ๆ แต่ถา้ จะเขียนเป็ น
ตัวเล็กก็ไม่ผดิ
ตัวอย่ าง
AND
END
NIL
SET
ARRAY FILE
NOT
THEN
BEGIN
FOR
OF
TO

คาสงวน (Reserved word)
CASE
CONST
DIV
DO
DOWNTO
ELSE
FUNCTION
GOTO
IF
IN
LABEL
MOD
OR
PACKED
PROCEDURE
PROGRAM
RECORD
REPEAT
TYPE
UNTIL
VAR
WHILE
WITH
ชื่อ(Identifiers)

ชื่ อทีถ่ ูกต้ อง
R2D2O
Pattittan
Top40_Farrah
ชื่ อทีไ่ ม่ ถูกต้ อง
2Bar02B
First*Run
Fawcett-Major
ชนิดของข้ อมูล (Data Type)
ข้อมูลชนิ ดธรรมดา (Simple-type data)
– ข้อมูลแบบมาตรฐาน (Standard Data Type)
– ข้อมูลที่ผใู ้ ช้กาหนดเอง (User-defined Data Type)
ข้อมูลชนิ ดมีโครงสร้าง (Structured-type Data)
ข้อมูลชนิ ดตัวชี้ (Pointer-type Data)
ข้ อมูลแบบมาตรฐาน(Standard Data Type)
1. ข้อมูลแบบเลขจานวนเต็ม (integer) เช่น 0 1 -1 -500 44 89
2. ข้อมูลแบบเลขจานวนจริ ง (real) เช่น 12.1 0.5 22/7
3. ข้อมูลแบบอักขระ (char) เช่น ‘A’ ‘2’ ‘*’
4. ข้อมูลแบบสตริ ง (string) เช่น ‘SILPAKORN’ ‘SC’
5. ข้อมูลแบบตรรกศาสตร์ (boolean) เช่น จริ ง (true) เท็จ (false)
ข้ อแตกต่ างระหว่ าง ตัวเลขกับตัวอักขระ
่
คือ การมีต ัวอ ักขระจะมีเครืองหมาย
‘’
ข้ อมูลเลขจานวนเต็ม (integer)
ตัวเลขที่มีค่าเป็ นจานวนเต็ม
 ได้แก่ จานวนเต็มบวก จานวนเต็มลบ ศูนย์ ไม่มีเศษหรื อทศนิ ยม
 มีค่าได้ต้ งั แต่ -32 768 ถึง 32767
 เช่น 0
1
-1 +1 -2225
12358

ข้ อมูลเลขจานวนจริง (real)
ชุดของข้อมูลเลขจานวนจริ ง ที่ประกอบด้วยตัวเลข จุดทศนิ ยม
ตัวเลขหลังจุดทศนิยม รวมทั้งเครื่ องหมายบวกหรื อลบที่
 มีค่าอยูร่ ะหว่าง 1 x 10-38 - 1 x 1038
 สามารถเขียนในรู ปแบบของเลขยกกาลัง (Exponent) โดยใช้
ตัวอักษร E เป็ นสัญลักษณ์ที่แสดงการคูณ
 เช่น 3x1010 สามารถเขียนให้อยูใ่ นรู ปแบบ E ได้ดงั นี้
3.0E+10 3.0E10
3e+10
3E10
0.3E+11 0.3e11
30.0E+9
30e9

ข้ อมูลเลขจานวนจริง (real)
เช่น -7.026x10-17 สามารถเขียนให้อยูใ่ นรู ปแบบ E ได้ดงั นี้
-7.026E-17 -0.7026E-16 -70.26e-18 -0.0007026e-13
พิจารณาเลขจานวนจริ งต่อไปนี้วา่ ถูกต้องหรื อไม่ …
ไม่มีตวั เลขหลังจุดทศนิยม
9.E + 10
5e2.3
ค่ายกกาลังต้องเป็ นจานวนเต็ม
.333e-3
ไม่มีตวั เลขหน้าทศนิยม
มีช่องว่างหลัง E
4E 10
มีช่องว่างอยูก่ ่อน e
8.9 e+4
ข้ อมูลแบบอักขระ (Character)
ตัวอักขระเพียง 1 ตัว ที่อยูภ่ ายในเครื่ องหมาย Single Quote หรื อ
Apostrophes(‘ ’)
 อาจเป็ นตัวอักษร ตัวเลข หรื อสัญลักษณ์พิเศษต่างๆ
 เป็ นข้อมูลที่ไม่สามารถนาไปคานวณได้
ตัวอย่างเช่น
‘A’ , ‘2’ , ‘b’ , ‘*’ , ‘%’

ข้ อมูลแบบสตริง (String)
กลุ่มของตัวอักขระ (characters) ที่นามาเขียนเรี ยงกันภายใน
เครื่ องหมาย Single quote ไม่สามารถนาไปใช้ในการคานวณใด ๆ
ได้
 ข้อมูลชนิ ดนี้ จะมีความยาวไม่เกิน 255 ตัวอักขระ
 เช่น
‘PASCAL PROGRAMMING’
‘270-32-222’
‘3*(I+4)/J’

ข้ อมูลแบบตรรกศาสตร์ (Boolean)
ข้อมูลที่แสดงการตัดสิ นใจว่า ข้อความหรื อนิพจน์น้ นั เป็ นจริ งหรื อ
เท็จ
 มีค่า 2 แบบ คือ

– True (จริ ง)
– False (เท็จ)
ค่ าคงที่ (Constants)
รูปแบบ
CONST identifier = constant;
ตัวอย่ าง
CONST PI = 3.1415927;
TAXRATE = 0.07;
BLANK = ‘ ‘;
MAX = True;
CONTINUE = ‘Press enter to continue..’;
ตัวแปร (Variables)
รูปแบบ
VAR identifier [, identifier, . . ] : Data Type;
ตัวอย่ าง
VAR radias, high : real;
row, column : integer;
name : string;
choice : char;
done : boolean;
Operator ในการคานวณเลขจานวนเต็ม
การคานวณ
สั ญลักษณ์
ตัวอย่าง
Operand
ผลลัพธ์
บวก
+
A+B
integer
integer
ลบ
-
A-B
integer
integer
คูณ
*
A*B
integer
integer
หาร
/
A/B
integer
real
หารตัดเศษ
DIV
A DIV B
integer
integer
หารเอาเศษ
MOD
A MOD B
integer
integer
การหาร
การหารมีขอ้ แตกต่างระหว่างเลขทศนิยม และเลขจานวนเต็ม
 เช่น
4 หารด้วย 3 คือ 1.33333333333E + 00 ผลลัพธ์เป็ นเลขทศนิยม
4 หารด้วย 3 คือ 1 และเศษ 1
ผลลัพธ์เป็ นเลขจานวนเต็ม
 จะเห็นว่าในกรณี ที่สอง ผลลัพธ์ที่ได้มีการปั ดตาแหน่ งทศนิ ยมทิ้งไป
เหลือแค่ผลลัพธ์ที่เป็ นเลขจานวนเต็มอย่างเดียว

การหารแบบตัดเศษ (DIV)
เป็ นการหารที่เก็บค่าผลลัพธ์เฉพาะจานวนเต็มไว้ โดยไม่สนใจเศษที่
ได้ โดยทั้งตัวตั้งและตัวหารจะต้องเป็ นเลขจานวนเต็ม
 ให้ผลหารที่เป็ นเลขจานวนเต็ม โดยปราศจากจุดทศนิ ยมและเศษที่
เหลือ ค่าของตัวหารต้องมีเศษไม่เป็ น 0
 เช่น 15 DIV 2 = 7 (15/2 = 7.5)
=1
9 DIV 5
24 DIV 9 = 2
-19 DIV 5 = -3
1 DIV 5
=0

การหารเอาเศษ (MOD)
ใช้ในการหารเลขจานวนเต็ม แล้วให้ผลลัพธ์ที่เป็ นเศษจากการหาร
 จะได้ผลลัพธ์เป็ นเศษที่เหลือจากการหารจานวนเต็ม โดยที่ท้ งั ตัวตั้ง
และตัวหารต้องเป็ นเลขจานวนเต็ม ค่าของตัวหารต้องมีเศษไม่เป็ น
0
 เช่น 15 MOD 2 = 1 (15/2 = 7 เศษ 1)
=4
9 mod 5
24 mod 9
=6
9 mod 24
=9

คาสั่ งพืน้ ฐานในการเขียนโปรแกรม
 คาสัง่ ทางคณิ ตศาสตร์ และตรรกะ (arithmetic-logic
statement)
 คาสัง่ รับข้อมูลและแสดงผล (input/output statement)
 คาสัง่ เลือกทางานตามเงื่อนไข (selection statement)
 คาสัง่ ทางานซ้ า (looping statement)
 คาสัง่ เรี ยกให้โปรแกรมย่อยทางาน (call subprogram)
คาสัง่ ทางคณิ ตศาสตร์และตรรกะ (arithmetic-logic statement)
คาสั่ งการกาหนดค่ า (Assignment Statement)
คือ การกาหนดค่ าให้ กบั ตัวแปรโดยการใช้ เครื่ องหมาย :=
รู ปแบบ
identifier := constant;
identifier := Expression;
ตัวอย่าง
Price:=100;
tax:=0.07*price;
คาสัง่ รับข้อมูลและแสดงผล (input/output statement)
คาสั่ งการแสดงผลลัพธ์ (Output Statement)
เป็ นคาสั่ งการแสดงผลลัพธ์ หรื อข้ อมูลออกทางจอภาพ ได้ แก่
คาสั่ ง Write , Writeln สาหรับการแสดงผลนั้นแสดงได้ 2 อย่ าง คือ
1. แสดงค่ าของ ค่ าคงที่ ตัวแปรหรื อนิพจน์
2. แสดงอักขระ(char)หรื อกลุ่มข้ อความ(string)
รู ปแบบ
write(parameter[:length:decimal],...);
writeln(parameter[:length:decimal],...);
writeln;
ประโยคคาสั่ งปฏิบัตกิ าร (Executable Statements)
ข้ อแตกต่ างระหว่ างคาสั่ ง write และ writeln
คาสั่ ง writeln จะทาให้ มีการขึน้ บรรทัดใหม่ หลังจากที่มกี ารแสดงผลแล้ว
ตัวอย่าง
x :=10;
y :=20;
write(x);
write(y);
num1:=10;
x = 10
Write(num1:10:2);
y = 20
x
10
y
20
10
20
10.00
writeln(‘x = ‘, x);
writeln(‘y = ‘, y);
เขียนโปรแกรมแสดงผล
สร้างไฟล์ที่เก็บ source code ชื่อ display.pas และพิมพ์โปรแกรม
ดังนี้
write(x,y);
PROGRAM display;
10
var x,y : integer;
BEGIN
20>
writeln(x,y);
x := 10;
y := 20; = ‘, x);
writeln(‘x
writeln(x);
x = 1010
write(x); = ‘, y);
writeln(y);
writeln(‘y
write(y);
y20
=
20
10
END.
>
20
 บันทึกและคอมไพล์โปรแกรม

ประโยคคาสั่ งปฏิบัตกิ าร (Executable Statements)
การแสดงผลด้ วยคาสั่ ง write[ln] แบบหลาย parameter
ตัวอย่าง
x := 10; y := 20;
sum := x + y ;
write(x,’ + ‘,y,’ = ‘,sum);
x
y
10 20
x + y = sum
10 + 20 = 30
sum
30
10 + 20 = 30
งานทีม่ อบหมายครั้งที่ 1
โครงสร้ างของภาษาปาสคาลและคาสั่ งรับ-แสดงผลข้ อมูล
ให้ เขียนโปรแกรมกำหนด
ค่ ำเลขจำนวนเต็มจำนวน 2 ค่ ำ
ทำกำรหำ
• ผลบวก(Summary)
• ผลลบ(Different)
• ผลคูณ(Multiply)
• ผลหำร(Devide)
• ผลหำรเอำส่ วน (DIV)
• ผลหำรเอำเศษ (MOD)
โดยให้ มีกำรแสดงผลดังนี ้
ประโยคคาสั่ งปฏิบัตกิ าร (Executable Statements)
คาสั่ งการรับค่ าข้ อมูลเข้ า (Input Statement)
เป็ นคาสั่ งการรับข้ อมูลจากอุปกรณ์ นาข้ อมูลเข้ า (keyboard) นาไป
เก็บไว้ ในตัวแปรที่กาหนดให้ ได้ แก่ คาสั่ ง Read , Readln
รู ปแบบ
read(identifier_1[,identifier_2,…,identifier_n]);
readln(identifier_1[,identifier_2,…,identifier_n]);
ตัวอย่าง
Read(number); Read(a,b,c);
Readln(text); Readln(x,y,z);
ประโยคคาสั่ งปฏิบัตกิ าร (Executable Statements)
ข้ อแตกต่ างระหว่ างคาสั่ ง read และ readln
คาสั่ ง readln จะมีผลให้ การใช้ คาสั่ ง read หรื อ readln ในคาสั่ ง
ถัดไปต้ องอ่านข้ อมูลจากบรรทัดใหม่ (รับค่าแล้วทาการขึน้ บรรทัดใหม่ )
ตัวอย่าง
Read(number); Read(a,b,c);
Readln(text); Readln(x,y,z);
เขียนโปรแกรมรับข้อมูลและแสดงผล
สร้างไฟล์ที่เก็บ source code ชื่อ read.pas และพิมพ์โปรแกรมดังนี้
PROGRAM readwrite;
read(x,y);
var x,y : integer;
>
BEGIN
readln(x);
write(‘Enter2
write(‘Enter 2 integer:’);
readln(y);
integer:’);
readln(x,y);
readln(x,y);
sum := x+y;
Enter
2
integer:
write(‘x+y=‘, sum);
END.
 บันทึกและคอมไพล์โปรแกรม หาข้อผิดพลาด
 รันโปรแกรมและสังเกตุผลที่ได้

ตัวดาเนินการ (Operators)
 ตัวดาเนินการคานวณ
– จานวนเต็ม : + , -, * , / , DIV, MOD
– จานวนจริ ง : + , -, * , /
 ตัวดาเนินการสตริ ง
:+
 ตัวดาเนินการเปรี ยบเทียบ : =, <>, <, <=, >, >=
 ตัวดาเนินการบูลลีน : AND, OR, NOT
นิพจน์ (Expression)
กลุ่มของข้ อมูล ซึ่งประกอบไปด้ วย Operand ที่เป็ นตัวแปร
ค่ าคงที่ 1 ตัวหรื อมากกว่ า ซึ่งเชื่ อมกันด้ วยสั ญลักษณ์ ทาง
การคานวณหรื อเปรียบเทียบทีเ่ รียกว่ า Operator
นิพจน์ ทางคณิตศาสตร์
เช่ น a+b/c*d
นิพจน์ ทางตรรกศาสตร์
เช่ น row > MAX
MAX and Done
ลาดับความสาคัญของตัวดาเนินการ
1. ถ้ ามีวงเล็บจะต้ องทาในวงเล็บก่อน
2. ในกรณีทมี่ ีวงเล็บซ้ อนกัน ให้ ทาเครื่ องหมายวงเล็บในสุ ดก่อน
3. จะทาการคานวณตามลาดับเครื่ องหมายดังนี้
+(เอกภาค) -(เอกภาค) NOT สู งสุ ด
* / DIV MOD AND
+ - OR
= <> < <= > >=
ต่าสุ ด
4. ถ้ าตัวดาเนินการอยู่ในลาดับเดียวกัน ให้ ทาจากซ้ ายไปขวา
ตัวอย่ าง
2 + 6/3*
33 1
2 * (2 * (2 +
3)4 + 4)2
2
1
=
8
3
= 28
ตัวอย่ าง
7 * 10 - 5 MOD 3 * 4 +
9
70
-
2
*4+9
70 - 8 + 9 = 71
ตัวอย่ าง
8
6
7 5 1 43 2
2 * ( ( 8 MOD 5 ) * ( 4 + ( 15 - 3 ) / sqr( -4 + 2 ) )42
) =
8 MOD 5 = 3
5 MOD 6 = 5
8 DIV 5 = 1
5 DIV 6 = 0
งานทีม่ อบหมายครั้งที่ 2
โครงสร้ างของภาษาปาสคาลและคาสั่ งรับ-แสดงผลข้ อมูล
ให้ เขียนโปรแกรมรั บค่ ำของอุณหภูมใิ นหน่ วยองศำเซลเซียส
แล้ วแปลงให้ เป็ นอุณหภูมใิ นหน่ วยองศำฟำเรนไฮน์ โดยแสดงผลดังนี ้
F = 9C + 32
5