Lecture no. 1: Introduction to Computer and Programming

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
การแนะนำสถานที่ ชั้นมัธยมศึกษาปีที่ 6/4 1. นางสาวดลยา พลอาวุธ เลขที่ นางสาวปภัสสร สายสมบัติ เลขที่ นางสาวศิริพร ประสมศรี เลขที่ 36.
Advertisements

Application Development Overview Nithi Thanon Computer Science Prince of Songkla University.
Introduction to C Introduction to C.
โครงสร้างโปรแกรมภาษา C
Chapter 8 : Logic Modeling & Data Modeling
รายวิชา ง40206 โครงสร้างข้อมูลและขั้นตอนวิธี
ลักษณะโครงสร้างของผังงาน
ประเภทของโปรแกรมคอมพิวเตอร์
Building native COBOL applications คอมไพเลอร์ตรวจหา syntax errors แล้วสร้าง native machine code จากนั้น linker ทำหน้าที่ link native machine code ให้เป็น.
ภาษาคอมพิวเตอร์ กฎเกณฑ์เกี่ยวกับคำศัพท์ ไวยากรณ์ และ หลักภาษาในการเขียนคำสั่งงานให้คอมพิวเตอร์ทำงานอย่างใดอย่างหนึ่งให้กับเราได้ มีหลากหลายชนิดต่างๆ กัน.
Lecture no. 1: Introduction to Computer and Programming
Lecture No. 3 ทบทวนทฤษฎีและแบบฝึกหัด
CS Assembly Language Programming
Utility (โปรแกรมอรรถประโยชน์)
หน่วยที่ 1 ระบบคอมพิวเตอร์
เนื้อหา ประเภทของโปรแกรมภาษา ขั้นตอนการพัฒนาโปรแกรม
Lecture no. 10 Files System
ขั้นตอนการแปลงไฟล์.
Surachai Wachirahatthapong
การเขียนโปรแกรมภาษาซี
เกียรติพงษ์ ยอดเยี่ยมแกร
Programming & Algorithm
English for everyday use
Problem Analysis and Algorithm in Programming (การวิเคราะห์ปัญหา และการจำลองความคิดในการเขียนโปรแกรมคอมฯ)
ครูรุจิรา ทับศรีนวล “Room service”. “Room service”
เนื้อหาที่จะเรียน คอมพิวเตอร์คืออะไร ระบบคอมพิวเตอร์ ส่วนประกอบของเครื่องคอมพิวเตอร์ ระบบปฏิบัติการ อินเตอร์เน็ต Microsoft Office.
ระบบสารสนเทศ อ.วรพจน์ พรหมจักร.
ระบบคอมพิวเตอร์.
หน่วยที่ 3 องค์ประกอบของคอมพิวเตอร์
บทที่ 1 บทนำ 1.1 ฮาร์ดแวร์คอมพิวเตอร์ 1.2 ซอฟต์แวร์คอมพิวเตอร์
หลักการโปรแกรม อ.ธนากร อุยพานิชย์.
การเขียนโปรแกรมด้วยภาษา C
Concept of Programing.
INC 161 , CPE 100 Computer Programming
ฮาร์ดแวร์และยูทิลิตี้เบื้องต้น
บทที่ 5 แบบจำลองกระบวนการ
บทที่ 2 ระบบคอมพิวเตอร์
การแสดงขั้นตอนวิธีด้วยรหัสเทียม (Pseudo-Code)
โครงสร้างโปรแกรมภาษา C
ความรู้เบื้องต้นเกี่ยวกับการเขียนโปรแกรม
ระบบสารสนเทศเพื่อการจัดการ * Management Information Systems
เทคโนโลยีสารสนเทศเพื่อการศึกษาค้นคว้า Information Technology for Study Skill 01/12/61.
คำอธิบายรายวิชา การเขียนผังงาน รหัสเทียม ตรรกศาสตร์เบื้องต้น การเขียนโปรแกรมคอมพิวเตอร์แบบโครงสร้าง ชนิดตัวแปร ตัวดำเนินการทางตรรกะ ตัวดำเนินการเปรียบเทียบ.
English for Airlines and Traveling
ความรู้พื้นฐานการเขียนโปรแกรม
สื่อการสอนรายวิชา ง30204 โปรแกรมภาษาชี ภาษาคอมพิวเตอร์และโปรแกรม
บทที่ 2 ขั้นตอนการทำงาน (Algorithm)
การออกแบบระบบ System Design.
องค์ประกอบของระบบคอมพิวเตอร์
Operating System Overview
เทคโนโลยีสารสนเทศและการสื่อสาร
ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์และเทคโนโลยีสารสนเทศ
แนะนำรายวิชา การออกแบบระบบการจัดการเรียนรู้บนเครือข่าย
introduction to Computer Programming
Problem Solving ขั้นตอนวิธีและการแก้ปัญหาสำหรับวิทยาการคอมพิวเตอร์
บทเรียนที่ 1 ความรู้เบื้องต้นเกี่ยวกับเทคโนโลยีสารสนเทศ
Development Strategies
การเขียนโปรแกรมคอมพิวเตอร์
การเขียนซูโดโค้ด และการเขียนโฟลชาร์ต
By T’Sumana Hanlamyuang
อ.พิณรัตน์ นุชโพธิ์ คณะวิทยาการจัดการ มหาวิทยาลัยราชภัฏพิบูลสงคราม
บทที่ 7 การเขียนผังงานระบบ.
ขั้นตอนการเขียนโปรแกรมคอมพิวเตอร์
Introduction to Computer Programming
การสร้างผังงานโปรแกรม
การวิเคราะห์โจทย์ปัญหา (Problem Analysis)
Introduction to Structured System Analysis and Design
องค์ประกอบของคอมพิวเตอร์ และภาษาซี
ความรู้พื้นฐานเกี่ยวกับคอมพิวเตอร์และการประมวลผลข้อมูล (Introduction to Computer and Data Processing) บทที่ Business Computer & Information.
อัลกอริทึม (Algorithm) ???
ใบสำเนางานนำเสนอ:

Lecture no. 1: Introduction to Computer and Programming C Programming Lecture no. 1: Introduction to Computer and Programming กราบเรียนท่านอาจารย์ และสวัสดีเพื่อนๆ Department of Computer Science 310322 C Programming

คอมพิวเตอร์คืออะไร อุปกรณ์ทางอีเลกทรอนิกส์ ที่มนุษย์ใช้เป็นเครื่องมือ ช่วยในการจัดการกับข้อมูล ทั้งตัวเลข ตัวอักษร หรือสัญลักษณ์อื่นๆ โดยคอมพิวเตอร์มีความสามารถดังนี้ กำหนดชุดคำสั่งล่วงหน้าได้ สามารถทำงานได้หลากหลายรูปแบบ ขึ้นอยู่กับชุดคำสั่งที่เลือกมาใช้งาน สามารถนำไปประยุกต์ใช้งานได้อย่างกว้างขวาง สามารถทำงานได้อย่างมีประสิทธิภาพ มีความถูกต้อง และรวดเร็ว Department of Computer Science 310322 C Programming

องค์ประกอบของระบบคอมพิวเตอร์ Hardware Software Peopleware (บุคลากร) Data/Information (ข้อมูลหรือสารสนเทศ) Procedure (ขั้นตอนหรือขบวนการในการทำงาน) Department of Computer Science 310322 C Programming

การทำงานพื้นฐานของคอมพิวเตอร์ Storage Input Processing Output Department of Computer Science 310322 C Programming

การทำงานพื้นฐานของคอมพิวเตอร์ Input ทำการรับข้อมูลจากหน่วยรับข้อมูล เช่น คีย์บอร์ด หรือเมาส์ Processing ทำการประมวลผลข้อมูล เพื่อแปลงให้อยู่ในรูปอื่นตามต้องการ Output แสดงผลลัพธ์จากการประมวลผล ออกมาทางหน่วยแสดงผลลัพธ์ เช่น เครื่องพิมพ์ หรือจอภาพ Storage ทำการเก็บผลลัพธ์จากการประมวลผลไว้ในหน่วยเก็บข้อมูล เพื่อให้สามารถนำมาใช้ใหม่ได้อีก Department of Computer Science 310322 C Programming

วงจรของการพัฒนาซอฟต์แวร์ 1. การระบุปัญหาและศึกษาความเป็นไปได้ของระบบ (Project definition) 2. การศึกษาวิธีการปฏิบัติงานปัจจุบัน และระบุความจำเป็นหรือความต้องการของระบบ (System study) 3. การออกแบบระบบงาน (System Design) ในขั้นตอนนี้จะได้ข้อกำหนดการปรับปรุงรูปแบบ การปฏิบัติงานใหม่ Department of Computer Science 310322 C Programming

วงจรของการพัฒนาซอฟต์แวร์ 4. การพัฒนาโปรแกรม (Programming) เป็นขั้นตอนของการเขียนและทดสอบความถูกต้องของโปรแกรม 5. การติดตั้งโปรแกรม (Implementation) และปรับเปลี่ยนการปฏิบัติงาน 6. การประเมินผลการพัฒนาระบบงาน (Post-implementation) เป็นขั้นตอนการตรวจสอบผลการปฏิบัติงานของระบบใหม่ว่าถูกต้อง สอดคล้องและบรรลุวัตถุของผู้ใช้มากน้อยเพียงใด และต้องทำการแก้ไข เพิ่มเติม ปรับปรุงที่ใดบ้าง Department of Computer Science 310322 C Programming

แนวคิดเกี่ยวกับภาษาคอมพิวเตอร์ (1) โปรแกรมคอมพิวเตอร์ คือ ผลรวมของโครงสร้างข้อมูล (Data Strucure) และ อัลกอริทึม (Algorithm) หรือ วิธีการแก้ไขปัญหา Niklaus Wirth นักคอมพิวเตอร์ชาวสวิส โดยที่โครงสร้างของข้อมูลและอัลกอริทึมนั้นจะไม่ขึ้นอยู่กับชนิดของคอมพิวเตอร์ชนิดใดชนิดหนึ่ง Department of Computer Science 310322 C Programming

แนวคิดเกี่ยวกับภาษาคอมพิวเตอร์ (2) รุ่นที่ 1. ภาษาเครื่อง(Machine Language) ภาษาเดียวที่คอมพิวเตอร์รู้จัก ใช้เลข 0,1 ต้องสั่งงานอย่างละเอียด รุ่นที่ 2. ภาษาสัญลักษณ์(Symbolic) ใช้สัญลักษณ์แทนตัวเลข ต้องแปลเป็นภาษาเครื่องก่อนเช่น ASSEMBLY LANGUAGE Department of Computer Science 310322 C Programming

แนวคิดเกี่ยวกับภาษาคอมพิวเตอร์ (3) รุ่นที่ 3. ภาษาระดับสูง(High Level Language) ใช้สมการ/ประโยคง่ายๆ ไม่ต้องระบุรายละเอียดการทำงาน ต้องแปลเป็นภาษาเครื่องก่อน ต้องรู้ขั้นตอนในการสั่งงาน รุ่นที่ 4. ภาษาระดับสูงมาก(Fourth Genration Language) ระบุแต่ความต้องการแล้วภาษาจะสร้างชุดคำสั่ง(Program Code) ให้ Department of Computer Science 310322 C Programming

ภาษาสำคัญที่ใช้มาก FORTRAN ภาษาเก่าแก่ที่สุดเหมาะสำหรับงานวิทยาศาสตร์/วิศวกรรม COBOL เหมาะสำหรับงานธุรกิจ RPG เหมาะสำหรับงานธุรกิจใช้มากในไทย BASIC เหมาะสำหรับงานทั่วไปทางธุรกิจ/วิทยาศาสตร์ นิยมใช้กับเครื่องไมโครคอมพิวเตอร์ PASCAL เป็นภาษาที่มีโครงสร้างดี เหมาะสำหรับใช้สอน C ภาษาที่กำลังได้รับความนิยมสามารถสั่งการให้ควบคุมฮาร์ดแวร์ได้ง่าย Department of Computer Science 310322 C Programming

การเขียนอัลกอริทึม อัลกอริทึมเป็นขั้นตอนการแก้ปัญหา การเขียนอัลกอริทึมถือว่าเป็นเรื่องที่สำคัญ ในการเขียนโปรแกรม อัลกอริทึมที่ดีต้องประกอบด้วย แต่ละขั้นในอัลกอริทึมต้องชัดเจนและถูกต้อง ลำดับการเขียนคำสั่งต้องเป็นไปตามลำดับที่ถูกต้อง ชัดเจน เพื่อนำไปสู่คำตอบที่ถูกต้อง อัลกอริทึมต้องมีจุดสิ้นสุดเสมอ ใช้เวลาในการประมวลผลน้อย แก้ไขดัดแปลงได้ง่าย Department of Computer Science 310322 C Programming

ตัวอย่างโจทย์ Let's say that you have a friend arriving at the airport, and your friend needs to get from the airport to your house. Here are four different algorithms that you might give your friend for getting to your home:

ตัวอย่างอัลกอริทึม (1) The taxi algorithm: Go to the taxi stand. Get in a taxi. Give the driver my address. The call-me algorithm: When your plane arrives, call my cell phone. Meet me outside baggage claim.

ตัวอย่างอัลกอริทึม (2) The rent-a-car algorithm: Take the shuttle to the rental car place. Rent a car. Follow the directions to get to my house. The bus algorithm: Outside baggage claim, catch bus number 70. Transfer to bus 14 on Main Street. Get off on Elm street. Walk two blocks north to my house.

การเขียนผังงาน (Flowchart) เป็นเครื่องมือที่ใช้เขียนอัลกอริทึมรูปแบบหนึ่งซึ่งเข้าใจง่าย จะใช้รูปภาพเป็นสัญลักษณ์แสดงการทำงานดังนี้ แสดงเส้นทางการไหลของงาน (flowlines) สัญลักษณ์แสดงจุดเริ่มต้น หรือสิ้นสุด สัญลักษณ์นำเข้าหรือแสดงผล (Input/Output) สัญลักษณ์แสดงการประมวลผล (Processing) Department of Computer Science 310322 C Programming

การเขียนผังงาน (Flowchart) สัญลักษณ์แสดงการตัดสินใจ (Decision) สัญลักษณ์แสดงจุดเชื่อมต่อภายในหน้เดียวกัน (Connection) สัญลักษณ์แสดงโปรแกรมย่อย (Predefined Process) สัญลักษณ์บรรทัดแรกของกลุ่มคำสั่งทำซ้ำ (Repetition) Department of Computer Science 310322 C Programming

การเขียนผังงาน (Flowchart) สัญลักษณ์จุดเชื่อมจุดในหน้าอื่น สัญลักษณ์เอกสาร สัญลักษณ์หน่วยเก็บข้อมูล เช่น ดิสก์ Department of Computer Science 310322 C Programming

สัญลักษณ์ที่ใช้ในการประมวลผล ความหมาย + บวก - ลบ * คูณ / หาร ^ ยกกำลัง สัญลักษณ์ ความหมาย > มากกว่า < น้อยกว่า >= มากกว่าหรือเท่ากับ <= น้อยกว่าหรือเท่ากับ <> ไม่เท่ากับ Department of Computer Science 310322 C Programming

การใช้รหัสเทียม (Pseudocode) วิธีการเขียนอัลกอริทึมอีกวิธีที่สะดวก และแก้ไขง่ายคือการใช้รหัสเทียม รหัสเทียม เป็นคำสั่งที่มีลักษณะการเขียนใกล้เคียงกับภาษาอังกฤษ แต่มีโครงสร้างเกือบจะเป็นภาษาโปรแกรม เช่น เริ่มต้น ให้มีคำว่า BEGIN จบลงให้ใช้ END อ่าน เขียนข้อมูลใช้ READ และ PRINT การทดสอบเงื่อนไขใช้ IF , ELSE , ELSEIF การทำซ้ำใช้ WHILE , DO ENDWHILE เป็นต้น Department of Computer Science 310322 C Programming

การเขียนโปรแกรมภาษา C แฟ้มส่วนหัว แฟ้ม.h Object Code โมดูลอื่นที่แปลแล้ว (.obj) Source Code คอมไพเลอร์ โปรแกรม Editor ตัวเชื่อม (Linker) โปรแกรมที่ประมวลผลได้ (execute file) คลังโปรแกรม Library Functions Department of Computer Science 310322 C Programming

การเขียนโปรแกรมภาษา C 1. สร้างแฟ้มซอร์สโค้ดด้วยตัวอิดิเตอร์ เช่น vi เพื่อ บรรจุคำสั่งต่าง ๆ ที่เราเขียน 2. สั่งให้คอมไพเลอร์แปลงแฟ้มซอร์สโค้ดเป็นแฟ้ม รหัสจุดหมาย (.obj) 3. นำไปเชื่อมส่วนต่าง ๆ (link) ด้วย Linker แฟ้มคลังโปรแกรมมาตรฐาน แฟ้มรหัสจุดหมายอื่น 4. ได้โปรแกรมที่ประมวลผลได้เป็นแฟ้ม (Execute File) Department of Computer Science 310322 C Programming

การประมวลผลโปรแกรม (1) 1. ระบบปฏิบัติการจะทำหน้าที่ไปอ่านแฟ้มโปรแกรม จากสื่อบันทึก เช่น Harddisk เรียกว่าการโหลด โปรแกรม 2. ระบบปฏิบัติการจะทำหน้าที่อ่านโปรแกรมทีละคำสั่ง จากหน่วยความจำส่งเข้าไปยังหน่วยประมวลผล กลาง เรียกว่า การไปนำมา (fetching) 3. หน่วยควบคุมในซีพียูจะตีความ เรียกว่า การตีความ (Decoding) เพื่อตรวจสอบว่าเป็นภาษาที่เครื่องรู้จัก หรือไม่ Department of Computer Science 310322 C Programming

การประมวลผลโปรแกรม (2) 4. ถ้าเป็นคำสั่งที่เครื่องเข้าใจได้ จะส่งคำสั่งภาษาเครื่องไปยังหน่วยประมวลผลพีชคณิต และตรรกะ เรียกว่า การประมวลผล (Executing) 5. หน่วยควบคุมได้รับผลลัพธ์ก็จะส่งค่าที่ได้กลับคืนไปเก็บในหน่วยความจำหลักเพื่อให้โปรแกรมใช้งานต่อไป Department of Computer Science 310322 C Programming

แสดงการทำงานของคอมพิวเตอร์ 10, 12 22 Unit ALU Control 10 INPUT A,B + X = A + B 12 PRINT X 22 END INPUT A,B X = A + B PRINT X END RAM A B X INPUT A,B 10 12 22 X = A + B PRINT X END Program Area Work Area โปรแกรม

มาตรฐานภาษา C เพื่อให้มีมาตรฐานในการเขียนภาษา C เป็น แบบเดียวกันทั่วโลก ช่วยให้ภาษา C มีคุณสมบัติปรับเปลี่ยนไป ประมวลผลบนสภาพแวดล้อมต่าง ๆ ได้ง่ายขึ้น ในการเขียนโปรแกรมภาษา C นี้จะอ้างอิงตาม มาตรฐาน ANSI C Department of Computer Science 310322 C Programming

See you next session. The END Department of Computer Science 310322 C Programming