05-530-111 computer programming 1

68
05-530-111 Computer Programming 1

Upload: corine

Post on 13-Jan-2016

42 views

Category:

Documents


7 download

DESCRIPTION

05-530-111 Computer Programming 1. บทที่ 1. ความรู้เบื้องต้นเกี่ยวกับการเขียนโปรแกรม. เนื้อหารายวิชา (Course Description). 05-530-111 Computer Programming 1. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 05-530-111 Computer Programming 1

05-530-111Computer

Programming 1

05-530-111Computer

Programming 1

Page 2: 05-530-111 Computer Programming 1

ความรู้� �เบื้�องต้�นเกี่��ยวกี่�บื้กี่ารู้เขี�ยนความรู้� �เบื้�องต้�นเกี่��ยวกี่�บื้กี่ารู้เขี�ยนโปรู้แกี่รู้มโปรู้แกี่รู้ม

บทท�� บทท�� 11

Page 3: 05-530-111 Computer Programming 1

เนื้�อหารายวิ�ชา (Course Description)

กี่ารู้เขี�ยนผั�งงาน ภาษาสํ�าหรู้�บื้เขี�ยนโปรู้แกี่รู้ม ปรู้ะเภทขีอม�ลแบื้บื้ต้างๆ คาคงท�� ต้�วแปรู้ น%พจนและต้�วกี่รู้ะท�ากี่ารู้ ค�าสํ��งในกี่ารู้ควบื้ค)มกี่ารู้ท�างาน อารู้เรู้ย โปรู้แกี่รู้มยอยและอารู้กี่%วเมนต้ว%ธี�กี่ารู้น�าขีอม�ลเขีา-ออกี่ อยางงาย กี่ารู้เขี�ยนโปรู้แกี่รู้มเพ�อท�างานกี่�บื้แฟมขีอม�ล รู้�ปแบื้บื้กี่ารู้เขี�ยนโปรู้แกี่รู้มท��ดี� เทคน%คกี่ารู้แกี่ปญหาต้างๆ

05-530-111Computer Programming 1

Page 4: 05-530-111 Computer Programming 1

การวิ�ดผลสั�มฤทธิ์��ในื้การเร�ยนื้ (Grading)

• กี่ารู้สํอบื้กี่ลางภาค 30%• กี่ารู้สํอบื้ปลายภาค 30%• กี่ารู้บื้�าน 10%• กี่ารู้สํอบื้ย/อย 10%• กี่ารู้สํอบื้ปฏิ%บื้�ต้%กี่ารู้ 20%

Page 5: 05-530-111 Computer Programming 1

ผั�งงานท��ดี�ควรู้ม�ค)ณสํมบื้�ต้%ดี�งน��(1) ม�ความถู�กี่ต้�องต้รู้งกี่�บื้ความต้�องกี่ารู้(2) ควรู้ใช้�เวลาในกี่ารู้ปฏิ%บื้�ต้%งานน�อยท��สํ)ดี(3) สํ��น กี่รู้ะช้�บื้ รู้�ดีกี่)ม ม�เฉพาะขี��นต้อนท��จ�าเป5นเท/าน��น(4) ม�ความยดีหย)/น สํามารู้ถูใช้�ไดี�ท� �งในป7จจ)บื้�นและ

อนาคต้(5) ควรู้ใช้�เวลาในกี่ารู้พ�ฒนาน�อยท��สํ)ดี(6) ง/ายต้/อกี่ารู้ท�าความเขี�าใจ และกี่ารู้น�าไปใช้�งาน

การเขี�ยนื้ผ�งงานื้ การเขี�ยนื้ผ�งงานื้ (Flowchart)(Flowchart)การเขี�ยนื้ผ�งงานื้ การเขี�ยนื้ผ�งงานื้ (Flowchart)(Flowchart)

Page 6: 05-530-111 Computer Programming 1

ผั�งงานกี่�บื้ช้�ว%ต้ผั�งงานกี่�บื้ช้�ว%ต้ปรู้ะจ�าว�นปรู้ะจ�าว�น

Page 7: 05-530-111 Computer Programming 1

ต้�วอย/างผั�งต้�วอย/างผั�งงานงาน

ขี��นต้อนสํ/งขี��นต้อนสํ/งจดีหมายจดีหมาย

Page 8: 05-530-111 Computer Programming 1

ต้�วอย/างผั�งงานต้�วอย/างผั�งงานกี่ารู้ถูอนเง%นจากี่ กี่ารู้ถูอนเง%นจากี่

ATMATM

Page 9: 05-530-111 Computer Programming 1

ต้�วอย/างผั�งต้�วอย/างผั�งงานงาน

กี่ารู้ทานยากี่ารู้ทานยา

Page 10: 05-530-111 Computer Programming 1

ผั�งผั�งรู้ะบื้บื้รู้ะบื้บื้

• หมายถู9ง ผั�งงานท��แสํดีงขี��นต้อนกี่ารู้ท�างานขีองรู้ะบื้บื้ ท��งหมดี

• แสํดีงถู9งอ)ปกี่รู้ณ:ในรู้�บื้ขี�อม�ล เอกี่สํารู้เบื้�องต้�น สํ�อ บื้�นท9กี่ขี�อม�ล ว%ธี�กี่ารู้ปรู้ะมวลผัล สํ�ต้รู้ท��ใช้�ในกี่ารู้

ค�านวณ กี่ารู้แสํดีงผัลล�พธี:และอ)ปกี่รู้ณ:ท��ใช้�แสํดีง ผัลล�พธี:ในแต้/ละจ)ดีขีองผั�งงาน

• เป5นแสํดีงกี่ารู้ท�างานท��งรู้ะบื้บื้อย/างกี่ว�าง ๆ ไม/ละเอ�ยดี

Page 11: 05-530-111 Computer Programming 1

ต้�วอย/างผั�งรู้ะบื้บื้ค�านวณบื้�ญช้�เง%นต้�วอย/างผั�งรู้ะบื้บื้ค�านวณบื้�ญช้�เง%นเดีอนเดีอน

Page 12: 05-530-111 Computer Programming 1

ต้�วอย/างผั�งรู้ะบื้บื้กี่ารู้จ/ายต้�วอย/างผั�งรู้ะบื้บื้กี่ารู้จ/ายเง%นเดีอนเง%นเดีอน

Page 13: 05-530-111 Computer Programming 1

ผั�งผั�งโปรู้แกี่รู้มโปรู้แกี่รู้ม• เป5นเครู้�องมอ (Tools) ท��ใช้�อธี%บื้ายหรู้อแสํดีงขี��นต้อน

ขีองค�าสํ��งกี่ารู้ท�างานอย/างละเอ�ยดี• ใช้�สํ�ญล�กี่ษณ:ในกี่ารู้เขี�ยนผั�งงานเช้/นเดี�ยวกี่�บื้กี่ารู้เขี�ยนผั�ง

งานรู้ะบื้บื้• เป5นกี่ารู้วางแผันกี่ารู้เขี�ยนโปรู้แกี่รู้มโดียผั�งงานโปรู้แกี่รู้ม

จะแสํดีงล�าดี�บื้ค�าสํ��งเป5นขี��นต้อนในกี่ารู้ปฏิ%บื้�ต้%งานอย/างละเอ�ยดี

• สํ/วนใหญ/กี่ารู้เขี�ยนผั�งงานจะม�ล�กี่ษณะเป5นโครู้งสํรู้�าง(Structure Flowchart)

Page 14: 05-530-111 Computer Programming 1
Page 15: 05-530-111 Computer Programming 1

ผั�งโปรู้แกี่รู้มโครู้งสํรู้�าง

• 1 กี่ารู้ท�างานแบื้บื้เป5นล�าดี�บื้ (Sequence)• 2 กี่ารู้ท�างานแบื้บื้เลอกี่ท�า (Selection)

– หน9�งทางเลอกี่ (One Alternative)– สํองทางเลอกี่ (Two Alternative)– หลายทางเลอกี่ (Multiple-Alternative)

• 3. กี่ารู้ท�างานแบื้บื้ท�าซ้ำ��าหรู้อวนรู้อบื้ (Loop)– กี่ารู้ท�างานแบื้บื้ท�าซ้ำ��าแบื้บื้เง�อนไขีเป5นจรู้%ง (DO-WHILE)– กี่ารู้ท�างานแบื้บื้ท�าซ้ำ��าจนเง�อนไขีเป5นจรู้%ง (DO-UNTIL หรู้อ

REPEAT-UNTIL)– กี่ารู้ท�างานแบื้บื้ท�าซ้ำ��าต้ามจ�านวนรู้อบื้ท��รู้ะบื้) (FOR Loop)

Page 16: 05-530-111 Computer Programming 1

Flow Chart Flow Chart แบื้บื้แบื้บื้ล�าดี�บื้ล�าดี�บื้

Page 17: 05-530-111 Computer Programming 1

Flowchart Flowchart แบื้บื้แบื้บื้ทางเลอกี่ทางเลอกี่

• แบื้บื้ 1 ทางเลอกี่

Page 18: 05-530-111 Computer Programming 1

ต้�วอย/าง ต้�วอย/าง Flowchart Flowchart แบื้บื้แบื้บื้ทางเลอกี่ทางเลอกี่

Page 19: 05-530-111 Computer Programming 1

Flowchart Flowchart สํองสํอง ทางเลอกี่ ทางเลอกี่

Page 20: 05-530-111 Computer Programming 1

ต้�วอย/างต้�วอย/าง Flowchart Flowchart สํองทางเลอกี่ สํองทางเลอกี่

Page 21: 05-530-111 Computer Programming 1

Flowchart Flowchart หลายทางหลายทาง เลอกี่ เลอกี่

Page 22: 05-530-111 Computer Programming 1

ต้�วอย/างต้�วอย/าง Flowchart Flowchart หลายทางเลอกี่ หลายทางเลอกี่

Page 23: 05-530-111 Computer Programming 1

Flowchart Flowchart แบื้บื้ แบื้บื้switch, case switch, case

Page 24: 05-530-111 Computer Programming 1

ต้�วอย/างต้�วอย/าง Flowchart Flowchart แบื้บื้ แบื้บื้ switch, caseswitch, case

Page 25: 05-530-111 Computer Programming 1

Flowchart Flowchart แบื้บื้วนล�ป แบื้บื้วนล�ป ช้น%ดี ช้น%ดี Do-whileDo-while

Page 26: 05-530-111 Computer Programming 1
Page 27: 05-530-111 Computer Programming 1
Page 28: 05-530-111 Computer Programming 1

Flowchart Flowchart แบื้บื้วนล�ป ช้น%ดี แบื้บื้วนล�ป ช้น%ดี Repeat-UntilRepeat-Until

Page 29: 05-530-111 Computer Programming 1
Page 30: 05-530-111 Computer Programming 1
Page 31: 05-530-111 Computer Programming 1

Flowchart Flowchart แบื้บื้วนล�ป ช้น%ดี แบื้บื้วนล�ป ช้น%ดี -For Loop-For Loop

Page 32: 05-530-111 Computer Programming 1
Page 33: 05-530-111 Computer Programming 1

ปรู้ะโยช้น:ขีองผั�งปรู้ะโยช้น:ขีองผั�งงานงาน

• 1. ล�าดี�บื้ขี��นต้อนกี่ารู้ท�างานขีองโปรู้แกี่รู้ม และ สํามารู้ถูน�าไปเขี�ยนโปรู้แกี่รู้มไดี�โดียไม/สํ�บื้สํน

• 2. ต้รู้วจสํอบื้ความถู�กี่ต้�อง และแกี่�ไขีโปรู้แกี่รู้มไดี� ง/าย เม�อเกี่%ดีขี�อผั%ดีพลาดี

• 3. กี่ารู้ปรู้�บื้ปรู้)ง เปล��ยนแปลง แกี่�ไขี ท�าไดี�อย/าง สํะดีวกี่และรู้วดีเรู้<ว

• 4. ท�าให�ผั��อ�นสํามารู้ถูศึ9กี่ษากี่ารู้ท�างานขีองโปรู้แกี่รู้ม ไดี�อย/างง/าย และรู้วดีเรู้<วมากี่ขี9�น

Page 34: 05-530-111 Computer Programming 1

ว%ธี�กี่ารู้เขี�ยนผั�งงานว%ธี�กี่ารู้เขี�ยนผั�งงานท��ดี�ท��ดี�

• 1. ใช้�สํ�ญล�กี่ษณ:ต้ามท��กี่�าหนดีไว�• 2. ใช้�ล�กี่ศึรู้แสํดีงท%ศึทางกี่ารู้ไหลขีองขี�อม�ลจากี่บื้นลงล/าง หรู้อจากี่

ซ้ำ�ายไปขีวา• 3. ค�าอธี%บื้ายในภาพสํ�ญล�กี่ษณ:ผั�งงานควรู้สํ��นกี่ะท�ดีรู้�ดี และเขี�าใจ

ง/าย• 4. ท)กี่แผันภาพต้�องม�ล�กี่ศึรู้แสํดีงท%ศึทางเขี�า - ออกี่• 5. ไม/ควรู้โยงเสํ�นเช้�อมผั�งงานท��อย�/ไกี่ลมากี่ ๆ ควรู้ใช้�สํ�ญล�กี่ษณ:จ)ดี

เช้�อมต้/อแทน• 6. ผั�งงานควรู้ม�กี่ารู้ทดีสํอบื้ความถู�กี่ต้�องขีองกี่ารู้ท�างานกี่/อนน�าไป

เขี�ยนโปรู้แกี่รู้มจรู้%ง

Page 35: 05-530-111 Computer Programming 1

• กี่ารู้โปรู้แกี่รู้ม (programming) เป5นกี่ารู้แกี่�ป7ญหาโดียใช้�คอมพ%วเต้อรู้:

• กี่ารู้โปรู้แกี่รู้มปรู้ะกี่อบื้ดี�วย 2 สํ/วน ไดี�แกี่/– อ�ลกี่อรู้%ท9ม– กี่ารู้ coding program

Page 36: 05-530-111 Computer Programming 1

ภาษาคอมพิ�วิเตอร$(Computer Language)

• ภาษาเครู้�อง (Machine Language)• ภาษาแอสํเซ้ำ<มบื้ล� (Assembly

Language)• ภาษารู้ะดี�บื้สํ�ง (High-Level Language)

เครู้�องคอมพ%วเต้อรู้:สํามารู้ถูปรู้ะมวลผัลไดี�จากี่ภาษาเครู้�องเท/าน��น!

Page 37: 05-530-111 Computer Programming 1

การแปลภาษาSource Program Executable ProgramCompiler

#include <stdio.h>void main( ) {

printf(“Hello”);getch();

}

Test.c

Page 38: 05-530-111 Computer Programming 1

การแปลภาษา• ม� 2 ช้น%ดี คอ

–Compiler ท�ากี่ารู้อ/านโปรู้แกี่รู้มท��งหมดีในครู้��งเดี�ยว จากี่น��นท�ากี่ารู้แปลเป5น executable program

–Interpreter ท�ากี่ารู้อ/านแล�วแปลท�ละ 1 ค�าสํ��ง(บื้รู้รู้ท�ดี)

Page 39: 05-530-111 Computer Programming 1

แนื้ะนื้(าภาษาซี�• ภาษาโปรู้แกี่รู้ม (Programing Language)

–คอภาษาท��ถู�กี่ค%ดีค�นขี9�นมาใช้�กี่�บื้คอมพ%วเต้อรู้:–ป7จจ)บื้�นม�หลายพ�นภาษา แต้/ภาษาท��เป5นท��รู้� �จ�กี่

และเป5นท��น%ยมใช้�ท��วไปน��นอาจจะม�เพ�ยงหลายสํ%บื้ภาษา

–แต้/ละภาษา สํรู้�างขี9�นดี�วยว�ต้ถู)ปรู้ะสํงค:ท��แต้กี่ต้/างกี่�นและม�จ)ดีเดี/นขีองภาษาท��ต้/างกี่�น

Page 40: 05-530-111 Computer Programming 1

แนื้ะนื้(าภาษาซี� (ต*อ)

Page 41: 05-530-111 Computer Programming 1

แนื้ะนื้(าภาษาซี� (ต*อ)•ภาษาซ้ำ� (C Programming Language)

– เป5นภาษาเช้%งโครู้งสํรู้�างท��ม�กี่ารู้ออกี่แบื้บื้โปรู้แกี่รู้มในล�กี่ษณะโมดี�ลท��ม�จ)ดีเดี/นในเรู้�อง•ปรู้ะสํ%ทธี%ภาพดี�านความเรู้<วขีองกี่ารู้ท�างาน •ความยดีหย)/นสํ�งในกี่ารู้เขี�ยนโปรู้แกี่รู้ม

Page 42: 05-530-111 Computer Programming 1

ควิามเร+วิขีองแต*ละภาษา

Page 43: 05-530-111 Computer Programming 1

ประวิ�ต�ควิามเป,นื้มา• ภาษาซ้ำ�ไดี�รู้�บื้กี่ารู้พ�ฒนาขี9�นโดีย เดีนน%สํ รู้%ทช้�

(Dennis Ritchie) ขีณะท��ท�างานอย�/ท��เบื้ลแล<บื้บื้อรู้าทอรู้� (Bell Laboratories) โดียพ�ฒนาขี9�นจากี่หล�กี่กี่ารู้พ�นฐานขีองภาษาบื้� (B) และบื้�ซ้ำ�พ�แอล (BCPL) ในช้/วงป? ค.ศึ .1971ถู9ง 1973 โดียไดี�เพ%�มช้น%ดีขี�อม�ลและความสํามารู้ถูอ�น ๆ ให�มากี่ขี9�น

Page 44: 05-530-111 Computer Programming 1

ประวิ�ต�ควิามเป,นื้มา (ต*อ)

B

BCPL

C

Dennis Ritchie

Page 45: 05-530-111 Computer Programming 1

ร-ปแบบโปรแกรมภาษาซี�• ในกี่ารู้เขี�ยนภาษาโปรู้แกี่รู้ม ผั��เขี�ยนโปรู้แกี่รู้ม

จะต้�องศึ9กี่ษา รู้�ปแบื้บื้พ�นฐานขีองภาษา และ ไวยากี่รู้ณ: ขีองภาษาน��น รู้�ปแบื้บื้พ�นฐานขีองภาษาจะเขี�ยนโปรู้แกี่รู้มในล�กี่ษณะขีองโมดี�ล คอม�กี่ารู้แบื้/งออกี่เป5นสํ/วนย/อย ๆ ท��เรู้�ยกี่ว/า ฟ7งกี่:ช้�น (Function)

Page 46: 05-530-111 Computer Programming 1

กระบวินื้การท��สั(าค�ญ ในื้การเขี�ยนื้โปรแกรม

กี่รู้ะบื้วนกี่ารู้ ท��สํ�าค�ญ ในกี่ารู้เขี�ยนโปรู้แกี่รู้ม คอ – กี่ารู้รู้�บื้ขี�อม�ล – กี่ารู้ปรู้ะมวลผัลขี�อม�ล – กี่ารู้แสํดีงผัลขี�อม�ล

การร�บขี0อม-ล การประมวิลผลขี0อม-ลการแสัดงผลขี0อม-ล

Page 47: 05-530-111 Computer Programming 1

ต�วิอย*างโปรแกรมภาษาซี�เบ�องต0นื้ #include <stdio.h>

() { /*

*

(“ .”);}

My first program.

Page 48: 05-530-111 Computer Programming 1

สั*วินื้ประกอบขีองโปรแกรมภาษาซี�เบ�องต0นื้

#include <stdio.h> () {

/* *

(“ .”);}

Header

Page 49: 05-530-111 Computer Programming 1

สั*วินื้ประกอบท�� 1 สั*วินื้ห�วิ (Header)

• เป5นสํ/วนท��อย�/ท��ต้อนต้�นขีองโปรู้แกี่รู้ม โดียอย�/นอกี่สํ/วนท��เรู้�ยกี่ว/าฟ7งกี่:ช้�น จะปรู้ะกี่อบื้ดี�วยค�าสํ��งท��เป5นกี่ารู้กี่�าหนดีค/าหรู้อกี่�าหนดีต้�วแปรู้ต้/าง ๆ

• เป5นค�าสํ��งท��ขี9�นต้�นดี�วยสํ�ญล�กี่ษณ: “ # ” • เรู้�ยกี่ว/า ต้�วปรู้ะมวลผัลกี่/อน (Preprocessor) ซ้ำ9�ง

กี่<คอค�าสํ��งท��จะไดี�รู้�บื้กี่ารู้ท�ากี่/อนท��จะม�กี่ารู้คอมไพล:โปรู้แกี่รู้ม

Page 50: 05-530-111 Computer Programming 1

ต�วิประมวิลผล• ต้�วปรู้ะมวลผัลกี่/อนท��สํ�าค�ญขีองภาษาซ้ำ�แบื้/งออกี่เป5น 2

ปรู้ะเภทดี�งน�� # include

•เป5นฟ7งกี่:ช้�นมาต้รู้ฐานท��ผั��ผัล%ต้คอมไพเลอรู้:ไดี�จ�ดีเต้รู้�ยมไว�ให� ซ้ำ9�งผั��เขี�ยนโปรู้แกี่รู้มสํามารู้ถูเรู้�ยกี่ใช้�งานไดี�ท�นท� โดียไม/ต้�องเขี�ยนโปรู้แกี่รู้มแกี่รู้มเอง ต้�วอย/างเช้/น #include <stdio.h>

# define•ใช้�สํ�าหรู้�บื้กี่�าหนดีค/าคงท�� •ต้�วอย/างเช้/น # 1define YES

Page 51: 05-530-111 Computer Programming 1

สั*วินื้ประกอบขีองโปรแกรมภาษาซี�เบ�องต0นื้(ต*อ)

#include <stdio.h> () {

/* *

(“ .”);}

Main Program

Page 52: 05-530-111 Computer Programming 1

สั*วินื้ประกอบท�� 2 ฟั2งก$ช�นื้ (Function)

• สํ/วนขีองฟ7งกี่:ช้�นคอสํ/วนขีองค�าสํ��งท��บื้อกี่ให�คอมพ%วเต้อรู้:ท�างานต้/าง ๆ เช้/น กี่ารู้รู้�บื้ขี�อม�ล กี่ารู้ค�านวณ กี่ารู้แสํดีงผัล เป5นต้�น

• โปรู้แกี่รู้มภาษาซ้ำ�จะปรู้ะกี่อบื้ดี�วยฟ7งกี่:ช้�นย/อยหลาย ๆ ฟ7งกี่:ช้�น แต้/จะม�ฟ7งกี่:ช้�นหล�กี่ฟ7งกี่:ช้�นหน9�งท��ช้�อว/า ฟ7งกี่:ช้�น ( ) เสํมอ โดียท��กี่ารู้ท�างานขีองโปรู้แกี่รู้มจะต้�องเรู้%�มกี่ารู้ท�างานจากี่ฟ7งกี่:ช้�นน��

Page 53: 05-530-111 Computer Programming 1

กฎพิ�นื้ฐานื้ท��สั(าค�ญในื้ภาษาซี�• กี่ารู้พ%มพ:ต้�วอ�กี่ษรู้ต้�วพ%มพ:ใหญ/และต้�วพ%มพ:เล<กี่ใน

ภาษาซ้ำ�น��นในผัลล�พธี:ท��แต้กี่ต้/างกี่�น• ฟ7งกี่:ช้�น ขีองภาษาซ้ำ�จะแบื้/งขีอบื้เขีต้ขีองฟ7งกี่:ช้�นแต้/ละฟ7งกี่:ช้�นดี�วย

เครู้�องหมาย “ { } ”

• ค�าสํ��งต้/างๆ ต้�องเขี�ยนอย�/ในฟ7งกี่:ช้�นเสํมอ• ค�าสํ��งในภาษาซ้ำ�จะต้�องป@ดีท�ายดี�วยเครู้�องหมาย “ ; ” (Semicolon)

Page 54: 05-530-111 Computer Programming 1

สั*วินื้ประกอบขีองโปรแกรมภาษาซี�เบ�องต0นื้(ต*อ)

#include <stdio.h> () {

/* *

(“ .”);}

Statement

Page 55: 05-530-111 Computer Programming 1

Comment

• หากี่ผั��ใช้�ต้�องกี่ารู้ใสํ/ค�า อธี%บื้ายลงในโปรู้แกี่รู้ม กี่<สํามารู้ถูท�าไดี�โดียใช้�สํ%�งท��เรู้�ยกี่ว/า Comment

• ขี�อความใดี ๆ ท��อย�/ในขีอบื้เขีต้ขีองเครู้�องหมายดี�งกี่ล/าวจะไม/ถู�กี่แปลโดียคอมไพเลอรู้: โดียท��วไปจะม�กี่ารู้ใช้ Comment เพ�ออธี%บื้ายว/าโปรู้แกี่รู้มน��นท�างานอะไรู้

• ขีอบื้เขีต้ขีอง Comment จะขี9�นต้�นต้��งแต้/ “ */ ” จนกี่รู้ะท��งถู9ง “ */ ” ในกี่รู้ณ�ท��ม�หลายบื้รู้รู้ท�ดี – สํ�าหรู้�บื้ในกี่รู้ณ�บื้รู้รู้ท�ดีเดี�ยวจะใช้� “ // ” ต้ามดี�วยขี�อความ

Page 56: 05-530-111 Computer Programming 1

สั*วินื้ประกอบขีองโปรแกรมภาษาซี�เบ�องต0นื้(ต*อ)

#include <stdio.h> () {

/* *

(“ .”);}

Comment

Page 57: 05-530-111 Computer Programming 1

การท(างานื้ขีองภาษาซี�#include<stdio.h>void main(){ printf(“Hello world!!”);}

Ccompiler

1010001001110100110011101010101010110010110101101111000100100101111000110010100100100

เร��มต0นื้ท(าการเร�ยงค(าสั��งท��ต0องการแล0วิบ�นื้ท5ก

เป,นื้นื้ามสัก6ล .c

หล�งจากี่ compiler ท�ากี่ารู้แปลภาษาแล�ว

compiler จะสํรู้�างไฟล:ท��เครู้�องคอมพ%วเต้อรู้:

สํามารู้ถูน�าไปปรู้ะมวลผัลไดี�

Page 58: 05-530-111 Computer Programming 1

ต�วิแปร• กี่ารู้ท�างานขีองโปรู้แกี่รู้มขีณะใดีขีณะหน9�ง จะต้�องม�

กี่ารู้เกี่<บื้ขี�อม�ลไว�ในคอมพ%วเต้อรู้

ขี�นื้ตอนื้การท(างานื้ขีองการเก+บค*าต�วิแปร

หนื้*วิยควิามจำ(า

อ6ปกรณ์$แสัดงผล

หนื้*วิยประมวิลผล

ร�บขี0อม-ลจำากอ6ปกรณ์$ร�บขี0อม-ล

Page 59: 05-530-111 Computer Programming 1

แบบจำ(าลองการบวิกเลขีในื้คอมพิ�วิเตอร$

• พ%จารู้ณาจากี่ต้�วอย/างกี่ารู้บื้วกี่เลขีโดียรู้�บื้ขี�อม�ลมาจากี่ผั��ใช้�

0

1

2

3

Page 60: 05-530-111 Computer Programming 1

แบบจำ(าลองการบวิกเลขีในื้คอมพิ�วิเตอร$

• รู้�บื้ขี�อม�ลมาจากี่ผั��ใช้�และน�าไปเกี่<บื้อย�/ในหน/วยความจ�าต้�าแหน/งท�� 0 ม�ค/า 15

0

1

2

3

15

Page 61: 05-530-111 Computer Programming 1

แบบจำ(าลองการบวิกเลขีในื้คอมพิ�วิเตอร$

• รู้�บื้ขี�อม�ลมาจากี่ผั��ใช้�และน�าไปเกี่<บื้อย�/ในหน/วยความจ�าต้�าแหน/งท�� 1 ม�ค/า 30

0

1

2

3

15

30

Page 62: 05-530-111 Computer Programming 1

แบบจำ(าลองการบวิกเลขีในื้คอมพิ�วิเตอร$

• หากี่ต้�องกี่ารู้บื้วกี่น�าค/าท��ง 2 มาบื้วกี่กี่�นและเกี่<บื้ไว�ท��ต้�าแหน/งท�� 2

0

1

2

3

15

30

สํมมต้%ดี�งต้�วอย/าง Add 0 , 1 , 2 คอกี่ารู้เอาค/า ณ ต้�าแหน/งท�� 0 และ 1 มาบื้วกี่กี่�น และน�าไปเกี่<บื้ท��ต้�าแหน/งท�� 2

45

0Add , 1 2,

Page 63: 05-530-111 Computer Programming 1

แบบจำ(าลองการบวิกเลขีในื้คอมพิ�วิเตอร$

• ในความเป5นจรู้%งต้�าแหน/งต้/าง ๆ ไม/ไดี�อ�างดี�วยเลขี 01 หรู้อ 2 แต้/อ�างดี�วยรู้ะบื้บื้กี่ารู้อ�างท��อย�/ซ้ำ9�งเป5นรู้ะบื้บื้ซ้ำ�บื้ซ้ำ�อนกี่ว/า กี่ารู้เขี�ยนในล�กี่ษณะท��เห<นในต้�วอย/าง ( Add 0 , 1 , 2 ) เป5นกี่ารู้เขี�ยนในภาษาคอมพ%วเต้อรู้:ย)คแรู้กี่ เช้/น แอสํเซ้ำมบื้ล� ()

Page 64: 05-530-111 Computer Programming 1

แบบจำ(าลองการบวิกเลขีโดยอ0างช��อต�วิแปร

• เพ�อความสํะดีวกี่ในกี่ารู้อ�างถู9งขี�อม�ล ณ ต้�าแหน/งต้/าง ๆ ในหน/วยความจ�าจ9งไดี�ม�กี่ารู้พ�ฒนากี่�นต้/อมา จนกี่รู้ะท��งเป5นกี่ารู้อ�างในรู้ะบื้บื้ขีองช้�อต้�วแปรู้ () ท��ใช้�ในป7จจ)บื้�น

Page 65: 05-530-111 Computer Programming 1

แบบจำ(าลองการบวิกเลขีโดยอ0างช��อต�วิแปร

• พ%จารู้ณาจากี่ต้�วอย/างต้/อไปท��จะใช้�รู้ะบื้บื้ช้�อต้�วแปรู้ ผั��เขี�ยนโปรู้แกี่รู้มสํรู้�างต้�วแปรู้ขี9�นมาจะเกี่%ดีกี่ารู้จองพ�นท��ในหน/วยความจ�าให�โดียอ�ต้โนม�ต้% ผั��ใช้�ไม/จ�าเป5นต้�องรู้� �ว/าต้�วแปรู้น��นอย�/ท��ต้�าแหน/งใดี

Page 66: 05-530-111 Computer Programming 1

แบบจำ(าลองการบวิกเลขีโดยอ0างช��อต�วิแปร

a

b

c

15

30a

b

c

15

30

45c = a + b;

Page 67: 05-530-111 Computer Programming 1

แบบจำ(าลองการบวิกเลขีโดยอ0างช��อต�วิแปร

• กี่ารู้อ�างถู9งช้�อต้�วแปรู้คอกี่ารู้อ�างถู9งขี�อม�ล ในหน/วยความจ�า เพรู้าะฉะน��นหากี่ผั��ใช้�สํรู้�างต้�วแปรู้ a และ b เพ�อเกี่<บื้ขี�อม�ล

15 และ 20 ต้ามล�าดี�บื้ เม�อต้�องกี่ารู้หาผัลบื้วกี่และน�าค/าไปเกี่<บื้ไว�ท��หน9�ง กี่<สํรู้�างต้�วแปรู้ขี9�นมาเพ�อเกี่<บื้ผัลล�พธี:สํมมต้%ช้�อว/า c กี่ารู้สํ��งให�ท�างานกี่<สํามารู้ถูท�าไดี�โดียใช้�ค�าสํ��ง

c = a + b ซ้ำ9�งอ/านไดี�เขี�าใจไดี�ง/ายกี่ว/าค�าสํ��ง add 0, 1, 2

Page 68: 05-530-111 Computer Programming 1

Example

#include <stdio.h>void main( ) {

/* add a and b assign to c */int a,b,c;a = 5;b = 10;c = a + b;printf(“ Answer = %d ",c);getch();

}