740 likes | 1.22k Views
ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์และการเขียนโปรแกรม Introduction to Computers and Programming. อ.สุชาดา พลาชัยภิรมย์ศิล. คอมพิวเตอร์คืออะไร.
E N D
ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์และการเขียนโปรแกรมIntroduction to Computers and Programming อ.สุชาดา พลาชัยภิรมย์ศิล
คอมพิวเตอร์คืออะไร คอมพิวเตอร์ คือ อุปกรณ์อิเล็กทรอนิกส์ ซึ่งทำหน้าที่รับข้อมูล (Input) แล้วทำการประมวลผล (Process) เพื่อให้ได้ผลลัพธ์ (Output) ตามคำสั่งที่ผู้ใช้กำหนด ข้อมูลเข้า (Input) ผลลัพธ์ (Output) ประมวลผล (Process)
หน้าที่หลักของคอมพิวเตอร์หน้าที่หลักของคอมพิวเตอร์ • การรับข้อมูลเข้า (Input) • การคำนวณ เช่น บวก ลบ คูณ หาร • การเปรียบเทียบ เช่น มากกว่า น้อยกว่า เท่ากับ ไม่เท่ากับ มากกว่าหรือเท่ากับ น้อยกว่าหรือเท่ากับ • การบันทึกข้อมูลเก็บในสื่อประเภทหน่วยความจำสำรอง (Secondary Storage) เช่น การบันทึกเก็บในแผ่นดิสก์ • การแสดงผลลัพธ์ (Output)
คุณลักษณะของคอมพิวเตอร์คุณลักษณะของคอมพิวเตอร์ • ทำงานด้วยความเร็วสูง (High Speed) • ทำงานที่ซ้ำๆ กัน (Repeatability) และมีปริมาณมาก (Productive) ได้ในเวลาที่รวดเร็วมาก • ทำงานด้วยความเที่ยงตรง (Accuracy) • ผลลัพธ์ที่ได้น่าเชื่อถือ (Reliability)
องค์ประกอบของระบบคอมพิวเตอร์(Component System) • Hardwareคืออุปกรณ์ทุกชนิดที่เกี่ยวกับคอมพิวเตอร์ เช่น Keyboard, Monitor, Mouse, Printer ฯลฯ • Software คือ โปรแกรมหรือชุดคำสั่งที่สั่งให้คอมพิวเตอร์ทำงานที่ต้องการ เช่น Microsoft Office, Internet Explorer, Windows XP, WinAmp • Peopleware คือ บุคลากรที่ทำงานเกี่ยวข้องกับคอมพิวเตอร์เช่น Programmer, System Analysis, Database Manager ฯลฯ
องค์ประกอบของคอมพิวเตอร์(Component of computer) หน่วยรับข้อมูล Input Unit หน่วยประมวลผล Processing Unit หน่วยแสดงผล OutputUnit อุปกรณ์บันทึกข้อมูล Storage
องค์ประกอบของคอมพิวเตอร์(Component of computer) • หน่วยรับข้อมูลเข้า (Input Unit) • หน่วยประมวลผลกลาง หรือซีพียู (CPU—Central Processing Unit) • หน่วยแสดงผลลัพธ์ (Output Unit) • หน่วยความจำหลักหรือหน่วยเก็บหลัก (Main Memory / Primary Storage Unit) เช่น RAM • หน่วยเก็บรองหรือหน่วยเก็บช่วย (Secondary Storage Unit / Auxiliary Storage Unit) เช่น Hard disk
พื้นฐานภาษาปาสคาลPascal Fundamental
พื้นฐานของภาษาปาสคาล • Program Structure • Identifiers • Constants • Variables • Data Types • Operators
โครงสร้างโปรแกรมภาษาปาสคาล(Pascal Structure) โครงสร้างโปรแกรมภาษาปาสคาลประกอบด้วย 3 ส่วนหลักๆ คือ • ส่วนหัวของโปรแกรม(Program Heading) • ส่วนประกาศ (Program Declaration) • ส่วนโปรแกรมหลัก (Main Program)
โครงสร้างโปรแกรมภาษาปาสคาลโครงสร้างโปรแกรมภาษาปาสคาล ส่วนหัวโปรแกรม PROGRAM ชื่อโปรแกรม (รายการแฟ้ม); LABEL CONTS TYPE VAR PROCEDURE FUNCTION BEGIN คำสั่งที่ 1; คำสั่งที่ 2; คำสั่งที่ 3; END. ส่วนประกาศ ส่วนโปรแกรมหลัก
ส่วนหัวโปรแกรม(Program Heading) ส่วนหัวโปรแกรมมีส่วนประกอบเรียงลำดับดังนี้ • ขึ้นต้นด้วยคำว่าPROGRAM • ชื่อโปรแกรม • (รายการแฟ้ม) – ต้องอยู่ในเครื่องหมาย ( ) เสมอ รายการแฟ้ม หมายถึงชื่อแฟ้มรับข้อมูล และชื่อแฟ้มแสดงผลลัพธ์ ตัวอย่าง PROGRAM FindAverage ( input,output );
ส่วนหัวโปรแกรม(Con’t) • ชื่อแฟ้ม input และ output เป็นแฟ้มมาตรฐานในภาษาปาสคาล • inputหมายถึงอุปกรณ์รับข้อมูลเข้า • outputหมายถึงอุปกรณ์แสดงผลลัพธ์ • ถ้าไม่มีการระบุชื่อแฟ้มอื่นต่อท้าย input และ output จะถือว่า input คือ แป้นพิมพ์ และ output คือ จอคอมพิวเตอร์
ส่วนประกาศ(Program Declaration) • กำหนดคุณลักษณะของข้อมูลที่ใช้ในโปรแกรม • จะต้องระบุหรือประกาศ (Declare) ข้อมูลที่จะใช้ในโปรแกรมก่อนนำไปใช้ทุกครั้ง • ส่วนประกาศสามารถประกาศข้อมูลที่จะใช้ ดังนี้ • ส่วนประกาศเลเบิล (Label Declaration Part) • ส่วนประกาศค่าคงที่ (Constant Declaration Part) • ส่วนนิยามค่าคงที่ (Type Declaration Part) • ส่วนประกาศตัวแปร (Variable Declaration Part) • ส่วนประกาศโปรซีเยอร์ และฟังก์ชัน (Procedure andFunction Declaration Part)
ส่วนประกาศ(Con’t) • ตัวอย่าง ส่วนประกาศของโปรแกรม PROGRAM Grade (input, output); LABEL 100, Next; CONST MaxStudent = 200; TYPE NameLength = STRING[30]; Color = (RED,GREEN,BLUE); VAR MidScore, FinScore, Total : real; Name: NameLength; MyColor : Color;
ส่วนโปรแกรมหลัก(Main Program) • ประกอบด้วยคำสั่ง หรือชุดคำสั่ง (Statements) ที่กำหนดให้คอมพิวเตอร์ประมวลผล เพื่อให้ได้ผลลัพธ์ตามที่ผู้เขียนโปรแกรมต้องการ • ในภาษา Pascal ส่วนโปรแกรมหลักต้องขึ้นต้นด้วยคำเฉพาะ (Reserved Word) BEGIN และปิดท้ายด้วยคำเฉพาะEND. • ตัวอย่าง BEGIN Score1 = 72; Score2 = 51; Average = (Score1 + Score2 )/ 2 END.
ชื่อและไอเดนติไฟเออร์Names and Identifiers
Pascal Names and Identifiers • ชื่อในส่วนต่างๆ ของโปรแกรมสามารถจำแนกได้เป็น 3 ประเภท • ชื่อเฉพาะหรือคำสงวน (Key Words หรือ Reserved Words) • ชื่อที่ถูกกำหนดล่วงหน้าโดยโปรแกรมปาสคาล (Predefined Identifiers/Standard Identifiers) • ชื่อที่ถูกกำหนดโดยผู้เขียนโปรแกรม(User-Defined Identifiers)
ชื่อเฉพาะหรือคำสงวน (Reserved Words) • ใช้เพื่อวัตถุประสงค์ที่กำหนดในโปรแกรมเท่านั้น ไม่สามารถกำหนดค่าใหม่ได้ เช่นPROGRAM, BEGIN, END, TYPE, CONST, LABEL, VAR, DIV, MOD, OR, AND, XOR, DO, WHILE, REPETE, UNTIL, IF, THEN, ELSE
ชื่อที่ถูกกำหนดล่วงหน้าโดยโปรแกรมปาสคาล (Predefined Identifiers/Standard Identifiers) • เป็นชื่อมาตรฐานที่ผู้เขียนโปรแกรมเข้าใจร่วมกันถึงความหมาย แต่สามารถกำหนดความหมายขึ้นใหม่ได้ เช่น true, false, maxint, eof, eoln, char, boolean, char, integer, longint, byte, word, real, double, input, output, abs, length, sqrt, read, readln, write, writeln, get, put
หลักเกณฑ์การตั้งชื่อ Indentifiers • ต้องขึ้นต้นด้วยตัวอักษรภาษาอังกฤษ (A-Z, a-z) หรือสัญลักษณ์ขีดล่าง (Underscore Sign) • ตัวถัดไปจะประกอบด้วย ตัวเลข (0-9) หรือตัวอักษรภาษาอังกฤษ หรือขีดล่าง • ห้ามมีวรรคในชื่อ • อักษรตัวพิมพ์เล็ก (Small Letters) และอักษรตัวพิมพ์ใหญ่ (Capital Letters) ของอักษรตัวเดียวกันจะถือเป็นอักษรตัวเดียวกันเช่น Total, TOTAL, ToTalในภาษาปาสคาลถือว่าเป็นคำๆ เดียวกัน
หลักเกณฑ์การตั้งชื่อ Indentifiers (Con’t) • ชื่อที่ตั้งจะต้องไม่เป็นคำสงวน คำสงวนในภาษาปาสคาล เช่น PROGRAM BEGIN END CONST TYPE DIV MOD AND IF ELSE LABEL FOR • ชื่อที่ตั้งไม่ควรตรงกับ Identifiers มาตรฐาน Identifiers มาตรฐาน เช่น eof eoln false true input output pred succ trunc round write writeln reset rewrite maxin char
ตัวอย่างการตั้ง Identifiers ที่ถูกต้อง MaxScore _WWW Max_Score total StudentScore N2R3 Final_Score Grade ผิดหลักเกณฑ์ Max-Score -WWW N2R3* 3Final Score1&Score2 TYPE Num10.9 Total Score %Percent
ค่าคงที่ (Constant) • ค่าคงที่คือค่าที่ไม่มีการเปลี่ยนแปลงตลอดการใช้ในโปรแกรม • ภาษาปาสคาลมีค่าคงที่พื้นฐาน ได้แก่ • Integer Constant ** ค่าคงที่ชนิดเลขจำนวนเต็ม เช่น 6 48 +120 -9 -28 • Real Constant ** ค่าคงที่ชนิดจำนวนจริง คือค่าที่ประกอบด้วยตัวเลขที่มีทศนิยม เช่น 3.98 0.1478 2.725E2 1.85E-1 • Character Constant ** ค่าคงที่ชนิดอักขระ คือค่าที่ประกอบด้วยอักขระตัวใดตัวหนึ่งใน 256 ตัวของรหัส ASCII • String Constant ** ค่าคงที่ชนิดสตริง คือค่าที่ประกอบด้วยอักขระหลายๆ ตัวรวมกัน เช่น ‘hello’ ‘How are you?’ ’22/284’ ‘Hurry uu!!’ • Boolean Constant ** ค่าคงที่ชนิดบูลีน มีค่าเป็น true หรือ false เท่านั้น
การนิยามค่าคงที่ (Constant Definition) Format CONTชื่อค่าคงที่-1 = ค่าคงที่-1; ชื่อค่าคงที่-2 = ค่าคงที่-2; ชื่อค่าคงที่-3 = ค่าคงที่-3; . . . ชื่อค่าคงที่-n= ค่าคงที่-n;
ตัวอย่างการใช้ Constant PROGRAM CalulateSalary (input, output); CONST EmpRate1 = 95.0; EmpRate2 = 110.0; VAR WorkHrs1, WorkHrs2 : real; Salary1, Salary2 : real; BEGIN WorkHrs1 := 10.0; WorkHrs2 := 20.0; Salary1 := WorkHrs1 * EmpRate1; Salary2 := WorkHrs2 * EmpRate2; END. ค่าคงที่ (Constant)
ตัวแปร (Variable) • ตัวแปรในภาษาปาสคาลจะหมายถึง สัญลักษณ์ที่ใช้แทนตำแหน่งในหน่วยความจำ • ตัวแปรหนึ่งตัวจะแทนเนื้อในหน่วยความจำหนึ่งช่อง ตัวแปร Salary1 หน่วยความจำ ตัวแปร WorkHrs1 ตัวแปร WorkHrs2
การประกาศตัวแปร (Variable Declaration) • ประกาศตัวแปรที่ส่วนประกาศดังนี้ VARตัวแปรชุดที่1 : ชนิดข้อมูล1; ตัวแปรชุดที่2 : ชนิดข้อมูล2; ตัวแปรชุดที่3 : ชนิดข้อมูล3; . . . ตัวแปรชุดที่n: ชนิดข้อมูลn;
การประกาศตัวแปร (Variable Declaration) ตัวอย่าง VARIdNumber : integer; {Employee’s number} Name : STRING [35]; {Employee’s name} Hours : real; {Hours worked by employee} PayRate : real; {Total wages earned by employee} Gender : char; {Gender of employee} MariatlStatus : boolean; {Employee marital status}
{ คำอธิบาย } • หรือ • (* คำอธิบาย *) คำอธิบายประกอบโปรแกรม (Comment) • การเขียนโปรแกรมที่ดีควรมีคำอธิบายประกอบโปรแกรมเพื่อให้ง่ายต่อการแก้ไขโปรแกรมในภายหลัง • Comment จะไม่ถูกประมวลผลโดยตัวแปลภาษาปาสคาล • ในภาษปาสคาลเขียน Comment ในรูปแบบดังนี้
Data Types ข้อมูลในปาสคาลแบ่งได้ 3 ชนิดใหญ่ๆ คือ • ชนิดพื้นฐาน (Simple/Scalar Data Type) แบ่งเป็น 2 ประเภท 1.1 Predefined Data Types –ข้อมูลพื้นฐานที่ถูกกำหนดโดยภาษาปาสคาล เช่น integer real char boolean ฯลฯ 1.2 User-Defined Data Types – ข้อมูลพื้นฐานที่ถูกกำหนดโดยผู้เขียนโปรแกรมเช่น Enumerated และ Subrange
Data Types • ชนิดโครงสร้าง(Structure Data Types) – ข้อมูลที่ประกอบด้วยข้อมูลหลายๆ ตัวรวมกันเป็นกลุ่มเช่น สตริง (String) อาเรย์ (Array) เซต (Set) • ชนิดตัวชี้ (Pointer) – เป็นข้อมูลที่เก็บตำแหน่ง (Address) ของหน่วยความจำ
จำนวนเต็ม (Integer) • อาจเป็นได้ทั้ง จำนวนเต็มบวก จำนวนเต็มลบ หรือศูนย์ • จำนวนเต็มที่มีค่ามากที่สุด (maxint)= 32767 ดังนั้นเลขจำนวนเต็มที่สามารถใช้ได้จะอยู่ในช่วง – (maxint + 1) ถึง maxint • การแทนเลขจำนวนเต็มในภาษาปาสคาล • จำนวนเต็มบวก เขียนเฉพาะตัวเลขไม่ต้องมีเครื่องหมายบวกนำหน้า • จำนวนเต็มลบ ให้เขียนเครื่องหมายลบนำหน้าตัวเลข • ตัวแปรที่ใช้เก็บข้อมูลชนิดจำนวนเต็ม จะต้องประกาศเป็นinteger
ชนิดของข้อมูลจำนวนเต็มในภาษาปาสคาลชนิดของข้อมูลจำนวนเต็มในภาษาปาสคาล
จำนวนจริง (Real) • เป็นข้อมูลที่ประกอบด้วยตัวเลขที่มีทศนิยม หรือ • เลขที่มีสัญลักษณ์ชี้กำลังคือ E (Exponential) หรือ • เลขที่มีทั้งทศนิยมและสัญลักษณ์ชี้กำลังประกอบอยู่ ตัวอย่าง 3.1421 -27.89 0.735 -3.0 0.00 2E3 4E-2 -5.0E+7
หลักการเขียนเลขจำนวนจริงหลักการเขียนเลขจำนวนจริง • เลขจำนวนจริงต้องมีจุดทศนิยม หรือเขียนในรูปเลขชี้กำลัง (E) • กรณีที่ตัวเลขมีเลขทศนิยม จะต้องมีตัวเลขอย่างน้อยหนึ่งตัวก่อนและหลังทศนิยม • เลขจำนวนจริงที่มีค่าน้อยกว่าศูนย์ต้องมีเครื่องหมายลบอยู่หน้า • ตัวเลขหลัง E ต้องเป็นเลขจำนวนเต็มเท่านั้น และเครื่องหมาย + หลัง E สามารถละได้ • ตัวแปรที่ใช้เก็บข้อมูลชนิดจำนวนจริงจะต้องประกาศเป็น real
อักขระ (Character) ข้อมูลขนิดอักขระแทนด้วยสัญลักษณ์ตัวใดตัวหนึ่ง ดังนี้ • Letterได้แก่ตัวอักษร A-Z และ a-z • Digit ได้แก่ เลข 0 1 2 3 4 5 6 7 8 9 • Special Characterได้แก่ตัวอักษรพิเศษที่มีใช้ในเครื่องคอมพิวเตอร์ เช่น * ? ! @ , ; . # $ + - * / ฯลฯ • ตัวแปรที่ใช้เก็บข้อมูลชนิดอักขระจะต้องประกาศเป็นchar
บูลีน (Boolean) • เป็นข้อมูลประเภทตรรกะ • มีค่าได้เพียง true กับ false เท่านั้น • ตัวแปรที่ใช้เก็บข้อมูลชนิดบูลีนจะต้องประกาศเป็นboolean
สตริง (String) • เป็นข้อมูลที่ประกอบด้วย ตัวอักขระหลายๆ ตัวรวมกันเป็นสายอักขระ (String) • การแทนค่าตัวแปรด้วยสตริงใดๆ จะเขียนอักขระตั้งแต่หนึ่งตัวขึ้นไปหรือไม่มีเลยก็ได้ อยู่ในเครื่องหมาย ‘ ‘ เช่น ‘Hello World! ‘ ‘54879‘ ‘How are you doing? ‘ ‘* ‘ ’33-----45 ‘‘‘ • String ที่ไม่มีอักขระใดๆ เลย เรียกว่า “สตริงว่าง” (Null String) เขียนโดยใช้เครื่องหมาย ‘ติดกัน 2 ตัว ห้ามมีวรรค • ตัวแปรที่ใช้เก็บข้อมูลชนิดสตริงจะต้องประกาศเป็นstring
ตัวดำเนินการ (Operator) ในภาษาปาสคาล