4121103 การเขียนโปรแกรมและอัลกอริทึ่ม...

33
4121103 การเขียนโปรแกรม และอัลกอริทึ่ม COMPUTER PROGRAMMING AND ALGORITHM AJ.SASALAK TONGKAW

Transcript of 4121103 การเขียนโปรแกรมและอัลกอริทึ่ม...

4121103 การเข ยนโปรแกรม และอ ลกอร ท ม

COMPUTER PROGRAMMING AND ALGORITHM

AJ.SASALAK TONGKAW

Copyright (c) 2006 by Sasalak Tongkaw2

COMPUTER PROGRAMMING AND ALGORITHM

คำาอธบายรายวชา• องคประกอบและหนาทของ

ฮารดแวรและซอฟตแวร ภาษาคอมพวเตอรชนดตางๆ หลกการเขยนโปรแกรมและการทำางานของโปรแกรม ขนตอนการเขยนโปรแกรมและการพฒนาโปรแกรมและการเขยนผงงาน การวเคราะหและออกแบบอลกอรทมแบบ Sequential Decision, Repetition, Modular, Recursion

Copyright (c) 2006 by Sasalak Tongkaw3

COMPUTER PROGRAMMING AND ALGORITHM

จดประสงค

1. เขาใจการทำางานของโปรแกรมคอมพวเตอร2. เขยนอลกอรทมและผงงานได 3. เขยนโปรแกรมภาษาคอมพวเตอรไดอยาง

นอย 1 ภาษา

Copyright (c) 2006 by Sasalak Tongkaw4

COMPUTER PROGRAMMING AND ALGORITHM

เนอหา

บทท 1 บทนำา 1.1 ฮารดแวรคอมพวเตอร1.2 ซอฟตแวรคอมพวเตอร1.3 ชนดของซอฟตแวร1.4 ววฒนาการของภาษา

คอมพวเตอร1.5 การเลอกใชภาษาคอมพวเตอร1.6 ตวอยางภาษาคอมพวเตอร

Copyright (c) 2006 by Sasalak Tongkaw5

COMPUTER PROGRAMMING AND ALGORITHM

เนอหา (ตอ)

บทท 2 ขนตอนวธ กบการแกป ญหา

2.1 ความหมายของขนตอนวธ2.2 ขนตอนการทำางานของ

โปรแกรม2.3 โครงสรางแฟมขอมล2.4 การแสดงขนตอนวธ2.5 โครงสรางโปรแกรม

Copyright (c) 2006 by Sasalak Tongkaw6

COMPUTER PROGRAMMING AND ALGORITHM

เนอหา (ตอ)

บทท 3 ผงงาน3.1 ผงงานเบองตน3.2 ตวแปร3.3 สญลกษณเชอมตอ3.4 รปแบบของขอความสงทาง

คณตศาสตร3.5 ชนดของตวแปร

Copyright (c) 2006 by Sasalak Tongkaw7

COMPUTER PROGRAMMING AND ALGORITHM

เนอหา (ตอ)

บทท 4 โครงสร างโปรแกรม4.1 รหสสปาเกตต4.2 โครงสราง4.3 การอานขอมล4.4 ความสำาคญของโครงสราง4.5 การตรวจสอบโครงสราง4.6 โครงสรางแบบพเศษ

Copyright (c) 2006 by Sasalak Tongkaw8

COMPUTER PROGRAMMING AND ALGORITHM

เนอหา (ตอ)

บทท 5 โปรแกรมยอยและแผนภมล ำาด บข น

5.1 โปรแกรมยอย5.2 ตวแปรแบบโลคอลและตวแปร

แบบโกลบอล5.3 โปรแกรมยอยของโปรแกรม

ยอย5.4 ผงลำาดบชน

Copyright (c) 2006 by Sasalak Tongkaw9

COMPUTER PROGRAMMING AND ALGORITHM

เนอหา (ตอ)

บทท 6 การตดสนใจ6.1 โครงสรางของการตดสนใจ6.2 ชนดของโครงสรางของการ

ตดสนใจ

Copyright (c) 2006 by Sasalak Tongkaw10

COMPUTER PROGRAMMING AND ALGORITHM

เนอหา (ตอ)

บทท 7 การทำาซ ำา7.1 การทำาซำาโดยใช Do-While7.2 การทำาซำาโดยใช For 7.3 การทำาซำาโดยใช Do-Until

Copyright (c) 2006 by Sasalak Tongkaw11

COMPUTER PROGRAMMING AND ALGORITHM

เนอหา (ตอ)

บทท 8 การหยด8.1 การหยดครงละหนา8.2 การหยดโดยการใชผลรวม8.3 การหยดหลายชน

Copyright (c) 2006 by Sasalak Tongkaw12

COMPUTER PROGRAMMING AND ALGORITHM

เนอหา (ตอ)

บทท 9 โปรแกรมทสมบ รณ9.1 สวนประกอบของโปรแกรมท

สมบรณ9.2 วงวนหลก9.3 การปดแฟมขอมล

Copyright (c) 2006 by Sasalak Tongkaw13

COMPUTER PROGRAMMING AND ALGORITHM

เนอหา (ตอ)

บทท 10 การเข ยนเอกสารประกอบโปรแกรม

10.1 เอกสารระบบ10.2 เอกสารโปรแกรม10.3 เอกสารกระบวนการ10.4 เอกสารผใช

Copyright (c) 2006 by Sasalak Tongkaw14

COMPUTER PROGRAMMING AND ALGORITHM

กจกรรมการเรยนการสอน1. กจกรรมการบรรยายและกจกรรมดงตอไปน

เสรมภายในชนเรยนจำานวน 2 คาบตอสปดาห• แบงกลมทำารายงาน 2 ฉบบ• นำาเสนอหนาชนเรยน• ทำาแบบทดสอบในแตละหวขอทกำาหนดให เปน

แบบทดสอบแตละบท จำานวน 10 บท2. กจกรรมภายในคาบปฏบต 2 คาบ ตอ สปดาห

โดยจะตองเขยนโปรแกรมตามโจทยทกำาหนดให

3. กจกรรมเสรมอนๆ ตามระบบการเรยนการสอนผานสออเลกทรอนกส (E-Learning)

Copyright (c) 2006 by Sasalak Tongkaw15

COMPUTER PROGRAMMING AND ALGORITHM

สอการเรยนการสอน

1. สไลดประกอบการสอน 2. เอกสารประกอบการสอนวชา 4121103

การเขยนโปรแกรมและอลกอรทม ป 2549 ของ อ.ศศลกษณ ทองขาว

3. บทความจาก Text book และเวบไซตตางๆ จะแจกภายในชนเรยน

4. หองปฏบตการคอมพวเตอร พรอมตวแปลภาษาซ download ไดจากเวบไซต

5. ระบบการเรยนการสอนผานสออเลกทรอนกส (E-Learning) รายวชาการเขยนโปรแกรมและอลกอรทม

Copyright (c) 2006 by Sasalak Tongkaw16

COMPUTER PROGRAMMING AND ALGORITHM

การวดผลและการประเมนผล

คะแนนระหวางเรยน รอยละ 70 ประกอบดวย เขารวมกจกรรมการเรยนในชนเรยน

รอยละ 10การเขยนโปรแกรม รอยละ

10 รายงาน/การนำาเสนอ รอยละ

10 สอบยอย รอยละ 20ทดสอบกลางภาค รอยละ 20

คะแนนทดสอบปลายภาคเรยน รอยละ 30

Copyright (c) 2006 by Sasalak Tongkaw17

COMPUTER PROGRAMMING AND ALGORITHM

การประเมนผล คะแนน ระด บ

คะแน น

หมายถง ค าระด บคะแนน

80-100 A ดเยยม 4.0

75-79 B+ ดมาก 3.5

70-74 B ด 3.0

65-69 C+ ดพอใช 2.5

60-64 C พอใช 2.0

55-59 D+ ออน 1.5

50-54 D ออนมาก 1.0

0-49 E ตก 0.0

Copyright (c) 2006 by Sasalak Tongkaw18

COMPUTER PROGRAMMING AND ALGORITHM

ตำาราและหนงสออานประกอบ• Joyce M. Farrell, ”Computer

Programming Logic Using Flowcharts”,boyd & fraser pubishing company,1995

• นรจ อำานวยศลป, คมอการเขยนโปรแกรมดวยภาษา C กรงเทพ: โปรวชน, 2546

• หนงสอเกยวกบโปรแกรมภาษาซอนๆ

บทท 1 บทนำำ

1.1 ฮำรดแวรคอมพวเตอร1.2 ซอฟตแวรคอมพวเตอร1.3 ชนดของซอฟตแวร1.4 ววฒนำกำรของภำษำคอมพวเตอร1.5 กำรเลอกใชภำษำคอมพวเตอร1.6 ตวอยำงภำษำคอมพวเตอร

Copyright (c) 2006 by Sasalak Tongkaw20

COMPUTER PROGRAMMING AND ALGORITHM

ฮำรดแวรและซอฟตแวรคอมพวเตอร

คอมพวเตอรประกอบดวยสวนสำำคญสองสวนคอ ฮำรดแวรและซอฟตแวร อปกรณภำยนอกจะเรยกวำฮำรดแวร ซงเปนชนสวนทสำมำรถจบตองได สวนประกอบหลกๆ ของฮำรดแวรมดงตอไปน

• ฮำรดแวรภำยนอก• ฮำรดแวรภำยใน

Copyright (c) 2006 by Sasalak Tongkaw21

COMPUTER PROGRAMMING AND ALGORITHM

ฮำรดแวรภำยนอกเปนฮำรดแวรทมองเหนภำยนอก

เครองคอมพวเตอร • หนวยร บข อมล เปนหนวยท

ทำำงำนในกระบวนกำรปอนขอมล คำำสง โปรแกรมเขำสเครองคอมพวเตอร และทำำหนำทรบขอมลและโปรแกรมเขำสระบบโดยผำนทำงอปกรณรบขอมล ไดแก แผงแปนอกขระ เมำส

• หนวยแสดงผล ทำำหนำแสดงผลลพธทไดจำกกำรประมวลขอมลโดยผำนทำงอปกรณแสดงผลลพธ เชน จอภำพ เครองพมพ พลอตเตอร เปนตน

Copyright (c) 2006 by Sasalak Tongkaw22

COMPUTER PROGRAMMING AND ALGORITHM

ฮำรดแวรภำยใน

เปนฮำรดแวรทอยภำยในเครองคอมพวเตอร โดยสวนใหญจะทำำหนำทเกยวกบกำรประมวลผลขอมล แบงออกไดดงน

• หนวยประมวลผลกลำง• หนวยควำมจำำ

Copyright (c) 2006 by Sasalak Tongkaw23

COMPUTER PROGRAMMING AND ALGORITHM

ทมำของซอฟตแวรคอมพวเตอร • กำรซอซอฟตแวรสำำเรจรปมำใช

งำนถงแมจะมขอดทประหยดเวลำ และคำใชจำย แตซอฟตแวรทซอกจะไมไดพฒนำเพอเหมำะสมสำำหรบองคกรใดองคกรหนงโดยเฉพำะ จงมกจะตองพฒนำเพมเตม ดงนนกำรพฒนำซอฟตแวรเองจงเปนสงจำำเปน และมควำมสำำคญมำกและเปนสวนประกอบหนง ททำำใหเกดกำรจดกำรสำรสนเทศใหเปนไปไดตำมทตองกำร

Copyright (c) 2006 by Sasalak Tongkaw24

COMPUTER PROGRAMMING AND ALGORITHM

ชนดของซอฟตแวร• ซอฟตแวร ระบบ (system software) • ซอฟตแวร ประยกต (application

software)

Copyright (c) 2006 by Sasalak Tongkaw25

COMPUTER PROGRAMMING AND ALGORITHM

ซอฟตแวรระบบ (system software)

• รบขอมลจำกแผงแปนอกขระแลวแปลควำมหมำยใหคอมพวเตอรเขำใจ

• นำำขอมลไปแสดงผลบนจอภำพหรอนำำออกไปยงเครองพมพ

• จดกำรขอมลในระบบแฟมขอมล • ใชเปนเครองมอในกำรพฒนำ

ซอฟตแวรอนๆ • ใชในกำรแปลภำษำตำง ๆ

เปนซอฟตแวรทสรำงขนมำเพอใชจดกำรกบระบบคอมพวเตอร หนำทกำรทำำงำนของซอฟตแวรระบบคอ ดำำเนนงำนพนฐำนตำง ๆ ของระบบคอมพวเตอร เชน

Copyright (c) 2006 by Sasalak Tongkaw26

COMPUTER PROGRAMMING AND ALGORITHM

ตวอยำงซอฟตแวรระบบ• ไบออส (BIOS: Basic Input/Output

System) • ระบบปฏบตกำร (Operating System : OS) – ยนกซ (UNIX) – ดอส (Disk Operating System : DOS) – แมคโอเอส (MAC OS) – โอเอสท (OS/2) – วนโดวส (Windows) – ลนกซ (Linux)

• ตวแปล (compiler) – คอมไพเลอร (compiler) – อนเทอรพรเตอร (interpreter)

Copyright (c) 2006 by Sasalak Tongkaw27

COMPUTER PROGRAMMING AND ALGORITHM

ซอฟตแวรประยกต (application software)

ซอฟตแวรทใชกบงำนดำนตำง ๆ ตำมควำมตองกำรของผใช ซอฟตแวรประยกตออกเปนสองกลม คอ

• ซอฟตแวรสำำเรจ • ซอฟตแวรทพฒนำขนใชเฉพำะงำน

Copyright (c) 2006 by Sasalak Tongkaw28

COMPUTER PROGRAMMING AND ALGORITHM

ซอฟตแวรสำำเรจ (package)

• ซอฟตแวรประมวลคำำ (word processing software)

• ซอฟตแวรตำรำงคำำนวณ (spread sheet software)

• ซอฟตแวรจดกำรฐำนขอมล (database management software)

• ซอฟตแวรนำำเสนอ (presentation software)

• ซอฟตแวรสอสำรขอมล (data communication software)

Copyright (c) 2006 by Sasalak Tongkaw29

COMPUTER PROGRAMMING AND ALGORITHM

ซอฟตแวรใชงำนเฉพำะ• ระบบบญช • ระบบงำนจดจำำหนำย • ระบบงำนในโรงงำนอตสำหกรรม • บรหำรกำรเงน• กำรเชำซอ

Copyright (c) 2006 by Sasalak Tongkaw30

COMPUTER PROGRAMMING AND ALGORITHM

ววฒนำกำรของภำษำคอมพวเตอร• ภำษำเครอง(machine language) • ภำษำระดบตำำ(low level

language) หรอภำษำแอสเซมบล (assembly)

• ภำษำระดบสง (high level language)

• ภำษำชนสงมำก (very high - level language)

• ภำษำธรรมชำต (natural language)

Copyright (c) 2006 by Sasalak Tongkaw31

COMPUTER PROGRAMMING AND ALGORITHM

กำรเลอกใชภำษำคอมพวเตอร• ในหนวยงำนหนง ๆ ควรจะใช

ภำษำคอมพวเตอรภำษำเดยวกน • ดจำกคณสมบตหรอขอดของ

ภำษำนน ๆ • ผใชควรเลอกภำษำคอมพวเตอร

ทจะใชบำงภำษำไมควรเลอกหลำยภำษำพรอมกน

• ควรใชภำษำทมผรอยบำง • ในงำนทไมยงยำกนก อำจใช

ภำษำคอมพวเตอรพนฐำนทไมยำก เชน เบสก

Copyright (c) 2006 by Sasalak Tongkaw32

COMPUTER PROGRAMMING AND ALGORITHM

ภำษำโปรแกรมคอมพวเตอร• ภำษำโปรแกรมเชงโครงสรำง

(structural programming language) – ภำษำเบสก (BASIC) – ภำษำโคบอล (COBOL) – ภำษำฟอรแทรน (FORTRAN) – ภำษำปำสคำล (Pascal) – ภำษำซ (C) – ภำษำวชวลเบสก (Visual Basic)

Copyright (c) 2006 by Sasalak Tongkaw33

COMPUTER PROGRAMMING AND ALGORITHM

ภำษำโปรแกรมคอมพวเตอร• ภำษำโปรแกรมเชงออบเจกต

(Object-Oriented Programming Language)– ภำษำจำวำ (JAVA) – ไพธอน (Python)