1.04k likes | 1.18k Views
418112. Introduction to Computer. ผศ.กัลยาณี บรรจงจิตร. คอมไพล์ ( Compile ) รัน ( Run หรือ Execute ). การโปรแกรม( Programming ). การเขียนโปรแกรมโดยใช้ภาษาต่างๆ อาทิ ปาสกาล ซี จาวา วิชวลเบสิค โคบอล ฯลฯ. ป้อนโปรแกรม ( Edit ) จัดเก็บ ( Save ) X.pas X.cpp X.cbl
E N D
418112 Introduction to Computer ผศ.กัลยาณี บรรจงจิตร
คอมไพล์ (Compile) • รัน (Run หรือ Execute)
การโปรแกรม(Programming) • การเขียนโปรแกรมโดยใช้ภาษาต่างๆ อาทิ • ปาสกาล • ซี • จาวา • วิชวลเบสิค • โคบอล • ฯลฯ
ป้อนโปรแกรม (Edit) • จัดเก็บ (Save) X.pas X.cpp X.cbl • แปลให้เป็นภาษาเครื่อง X.exe • รัน A
การโปรแกรมภาษาปาสกาล การเขียนชุดคำสั่งเพื่อสั่งงานคอมพิวเตอร์โดยใช้ภาษาปาสกาล
ชื่อในปาสกาลมี 3 ชนิด • ชื่อเฉพาะ • ชื่อมาตรฐาน • ชื่อที่ผู้ใช้กำหนดเอง
ชื่อเฉพาะ • ชื่อที่ภาษาปาสกาลกำหนดไว้ • มีความหมายและวัตถุประสงค์ที่แน่นอน • เป็นชื่อที่ใช้ในโครงสร้างหลักของโปรแกรม • เปลี่ยนแปลงไม่ได้
ชื่อเฉพาะ ABSOLUTE AND ARRAY BEGIN CASE CONST DIV DO DOWNTO ELSE END EXTERNAL FILE FOR FORWORD FUNCTION GOTO IF IMPLEMENTATION IN INLINE INTERFACE INTERRUPT LABEL MOD NIL NOT OF PACKED PROCEDURE PROGRAM RECORD REPEAT SET SHL SHR STRING OR TO TYPE UNIT UNTIL USES VAR WHILE XOR THEN
ชื่อมาตรฐาน • ชื่อที่ภาษาปาสกาลกำหนดไว้ • มีความหมายและวัตถุประสงค์ที่แน่นอน แต่เปลี่ยนแปลงได้ • ได้แก่ Write, WriteLn, Read, ReadLn เป็นต้น
PROGRAM ChangeStandard; VAR Write : Integer; BEGIN WriteLn ('I like computer.'); WriteLn; WriteLn ('It''s A Nice day.'), END. Write ได้ถูกนำมาตั้งเป็นชื่อตัวแปรชนิดจำนวนเต็ม ดังนั้น จึงไม่สามารถนำ Write มาเขียนเป็นคำสั่ง เพื่อให้แสดงตัวเลข หรือ ข้อความ ได้อีกต่อไป
ชื่อที่ผู้ใช้กำหนดเองชื่อที่ผู้ใช้กำหนดเอง • ชื่อโปรแกรม • ชื่อตัวคงที่ • ชื่อตัวแปร • ชื่อโพรซีเดอร์ • ชื่อฟังก์ชัน
กฎในการตั้งชื่อ • ไม่ใช้คำเฉพาะ • ยาวไม่เกิน 127 ตัวอักษร • ขึ้นต้นด้วย A-Z หรือ a-z หรือ _ เท่านั้น • ตัวที่ 2 ถึงตัวสุดท้าย ต้องเป็น A- Z หรือ a-z หรือ _ หรือ 0-9 เท่านั้น
กฎในการตั้งชื่อ • ห้ามมีเว้นวรรค • ใช้ตัวพิมพ์ใหญ่ หรือ เล็ก หรือ ผสม ก็ได้ เช่น Tree TRee TrEe • สื่อความหมาย
AmountH Name Score1 T1_Mid _Final Program ชื่อ 1Score T1 Mid -Final
โครงสร้างของโปรแกรมภาษาปาสกาลโครงสร้างของโปรแกรมภาษาปาสกาล • ส่วนหัว • ส่วนประกาศ • ส่วนกระทำการ
ส่วนหัว PROGRAM ชื่อของโปรแกรม; PROGRAM CalInterest; ชื่อเฉพาะ ชื่อผู้ใช้กำหนด
ส่วนประกาศ ประกาศสิ่งต่างๆ ที่ต้องใช้ในโปรแกรม เช่น • ตัวคงที่ • ตัวแปร
การประกาศตัวคงที่ Const ชื่อตัวคงที่ = ค่าของตัวคงที่; Const NumMan = 50;
การประกาศตัวแปร Var ชื่อตัวแปร : ชนิดข้อมูล; Var Cat : Integer;
ส่วนกระทำการ ส่วนของคำสั่งที่สั่งให้คอมพิวเตอร์ทำงาน BEGIN …………….; ...…………..; …………….; END.
PROGRAM Example;BEGIN WriteLn (‘----------------------------------’); WriteLn (‘418112’); WriteLn (‘Introduction to Computer’); WriteLn (‘----------------------------------’);END.
ผลของโปรแกรม ---------------------------------- 418112 Introduction to Computer ----------------------------------
Write และ WriteLn • เป็นคำสั่งที่สั่งให้คอมพิวเตอร์แสดงค่าตามที่ระบุไว้
PROGRAM WriteVsWriteLn; BEGIN WriteLn (‘418112’); Write (‘Introduction ’); Write (‘to ’); WriteLn (‘Computer’); END. 418112 Introduction to Computer _
PROGRAM Constant;CONST A = 10; B = 20;BEGINWriteLn;WriteLn (‘A’); WriteLn (A); WriteLn (A:5); WriteLn (A:3,‘ ’,B:3); WriteLn (‘A =’,A:3,‘B =’,B:3); WriteLn (‘A =’,A:3, ‘ ’:2,‘B =’,B:3); END.
ตัวคงที่ • ค่าที่กำหนดไว้ในหน่วยความจำ • ไม่สามารถเปลี่ยนแปลงได้ • มีหลายประเภท • จำนวนเต็ม -8 0 4 25 7000 • จำนวนจริง 2.75 3.4E+05 • อักขระ A % d น • สายอักขระ No NEWS IS A GOOD NEWS • บูล True False
PROGRAM Character_CONST; CONST M = ‘#’; BigP = ‘P’; LittleP = ‘p’; BEGIN Writeln (M); WriteLn (m); WriteLn (m:5); WriteLn (M:5,‘ ’:3,m:2); WriteLn; WriteLn (BigP); WriteLn (LittleP); WriteLn; END.
PROGRAM String_CONST; CONST AMP = ‘&&’; ST = ‘Kasetsart’; BEGIN Writeln (AMP:3); WriteLn (ST); WriteLn (ST:7); WriteLn (ST:12); WriteLn (‘Two Ampersands’, AMP:3 ); WriteLn; END.
PROGRAM Boolean_CONST; CONST T = True; F = False; BEGIN Writeln (T); WriteLn (F); WriteLn (T, ‘AND’, F,‘=’,F); WriteLn (T, ‘OR’, F,‘=’, T ); WriteLn (F, ‘AND’, F, ‘=’F); WriteLn; END. True False TrueANDFalse=False TrueORFalse=True FalseAndFalse=False
ชนิดข้อมูล Integer LongInt Real Char String
Integer • จำนวนเต็ม • มีค่าตั้งแต่ -32768 ถึง 32767 LongInt • จำนวนเต็ม • มีค่าตั้งแต่ -2147483648 ถึง 2147483647
Real • จำนวนจริง • มีทศนิยม • มีค่าตั้งแต่ 2.9E-39 ถึง 1.7E+38 • เขียนได้ 2 แบบ เช่น 5.255.25E+00 72.83 7.283E+01
Char • อักขระ 1 ตัว • เช่น 4 ๓ $ = A String • สายอักขระ • ประกอบด้วยอักขระไม่เกิน 255 ตัว
Boolean • มี 2 ค่า คือ True และ False
Integer 10 10 Program IntegerDemo; Const N = 10; Var V : Integer; Begin V := N; WriteLn (‘N = ’, N); WriteLn (‘V = ’, V); WriteLn (‘V = ’, V : 5); WriteLn (‘V = ’, V : 1); WriteLn; End. N V
LongInt 40000 40000 Program IntegerDemo; Const N = 40000; Var V : LongInt; Begin V := N; WriteLn (‘N = ’, N); WriteLn (‘V = ’, V); WriteLn (‘V = ’, V : 7); WriteLn (‘V = ’, V : 3); WriteLn; End. N V N = 40000 V = 40000 V = 40000 V = 40000
Real Program RealDemo; Const N = 42.5; Var R : Real; Begin R := N; WriteLn (‘ N = ’, N); WriteLn (‘ N = ’, N:4:1); WriteLn (‘ N = ’, N:7:2); WriteLn (‘ R = ’, R:7:2); WriteLn; End.
Character Program IntegerDemo; Const C = ‘@’; Var Cat : Char; Begin Cat := C; WriteLn (‘Cat = ’, Cat); WriteLn (‘Cat = ’, Cat:1); WriteLn (‘Cat = ’, Cat:3); WriteLn; End.
Boolean Program BooleanDemo; Const B = True; Var Cat, Pig : Boolean; Begin Cat := B; Pig := not Cat; WriteLn (‘Cat = ’, Cat); WriteLn (‘Pig = ’, Pig); WriteLn (‘Pig = ’, Pig And Cat); WriteLn; End.
Program IntegerDemo; Var V, W : Integer; Begin W := 20; V := W + 1; WriteLn (‘V = ’, V:5); V := V + 4; WriteLn (‘V = ’, V:5); V := V * 2; WriteLn (‘V = ’, V : 5); V := V DIV 9; WriteLn (‘V = ’, V : 5); V := W MOD 7; WriteLn (‘V = ’, V : 5); WriteLn; End.
Program RealDemo; Const N = 42.5; Var R, S : Real; Begin S := 5; R := N / S; WriteLn (‘ N = ’, N:7:2); WriteLn (‘ S = ’, S:7:2); WriteLn (‘ N / S = ’, R:7:2); WriteLn; End.
ขั้นตอนวิธี (Algorithm) • ขั้นตอนในการแก้ปัญหา เขียนได้หลายแบบ • ผังงาน (Flowchart) • รหัสเทียม (Pseudocode)
เริ่มต้น สัญลักษณ์และการเขียนผังงาน การกำหนดค่า การคำนวณ กำหนดโดย American National Standard Institute (Ansi) Read การรับข้อมูลเข้า Print การแสดงผล การแสดงผล การแสดงผล การตัดสินใจ จุดต่อผังงานในหน้าเดียวกัน จบ จุดต่อผังงานในหน้าอื่น กระแสข้อมูล
จุดต่อผังงานในหน้าเดียวกันจุดต่อผังงานในหน้าเดียวกัน จุดต่อผังงานในหน้าอื่น การเขียนผังงาน จะเริ่มต้นด้วยสัญลักษณ์เริ่มต้น และจบด้วยสัญลักษณ์จบ และมีการเชื่อมต่อระหว่างสัญลักษณ์ เพื่อแสดงทิศทางการไหลของข้อมูลด้วยลูกศร
Start Item = ‘MacFish’ Unit = 3 UPrice = 49.5 Price = Unit x UPrice Display ‘ITEM UNIT PRICE’ Item, Unit, Price Stop ให้เขียนผังงานเพื่อแสดงการทำงานดังนี้ ซื้อสินค้าชื่อ MacFish จำนวน 3 ชุด ราคาชุดละ 49.50 บาท ให้คำนวณราคาสินค้า และ แสดงผลตามรูปแบบต่อไปนี้
Start PROGRAM Mac;Var Unit : Integer; Price, TotalPrice : Real; Product : String;BEGINItem := ‘MacFish’;Unit := 3; UPrice := 49.50;Price := Unit * UPrice;WriteLn (‘ITEM’, ‘ ’:3’,‘UNIT’,‘ ’:3,‘PRICE’);WriteLn (Item : 7 , ‘ ’:2,Unit:2,‘’:2,Price:7:2);END. Item = ‘MacFish’ Unit = 3 UPrice = 49.5 Price = Unit x UPrice Display ‘ITEM UNIT PRICE’ Item, Unit, Price Stop
ลำดับในการคำนวณสำหรับนิพจน์ที่มีหลายเครื่องหมายลำดับในการคำนวณสำหรับนิพจน์ที่มีหลายเครื่องหมาย 1. ( ) 2. * / DIV MOD 3. + - เครื่องหมายที่มีลำดับเท่ากัน อยู่ในนิพจน์เดียวกัน คำนวณจากซ้ายไปขวา
PROGRAM CalculationDemo; CONST A = 35; B = 8; VAR Y : Integer; X : Real; BEGIN Y := A DIV B; WriteLn (Y:3); Y := A MOD B; WriteLn (Y:3); X := A / B; WriteLn (X:6:2); X := A *2 / B; WriteLn (X:6:2); X := A +2 * B; WriteLn (X:6:2); X := X + A * 2 / B + 1; WriteLn (X:6:2); END.
โปรแกรมคำนวณราคาขายของสินค้าโปรแกรมคำนวณราคาขายของสินค้า จำนวน 50 หน่วย ราคาหน่วยละ 72.50 บาท โดยมีการคิดอัตราภาษี 7 % Start TaxRate = 0.07 Quantity = 50 Price = 72.50 Cost = Quantity * Price Tax = Cost * TaxRate ToTCost = Cost + Tax แสดง 'Quantity Price Cost Tax TotalCost' Quantity, Price, Cost, Tax, TotCost Stop
Quantity Price Cost Tax TotalCost --------------------------------------------------------- 50 72.50 3625.00 253.75 3878.75 --------------------------------------------------------- PROGRAM Prices; CONST TaxRate = 0.07; VAR Quantity : Integer; Price, Cost, TotCost, Tax : Real; BEGIN Quantity := 50; Price := 72.50; Cost := Quantity * Price; Tax := Cost * TaxRate; ToTCost := Cost + Tax; WriteLn ('Quantity Price Cost Tax TotalCost'); WriteLn (‘-------------------------------------------------------------------’); WriteLn (Quantity : 5 , Price10:2, Cost:10:2, Tax:8:2, TotCost:10:2); WriteLn (‘-------------------------------------------------------------------’) END.