226101 Computer Programming การเขียนโปรแกรมคอมพิวเตอร์ สัปดาห์ที่ 1 แนะนำรายวิชา K.Mathiang
Lecturer Lecturer : อ.คมกริช มาเที่ยง Office : อาคาร ICT ห้อง ICT1443 URL : ict.up.ac.th/khomkrits
Outline 1 Course Description 2 Objectives 3 Assessment 4 5 Regulations Corse Outline 5 Regulations
Course Description แนวคิดทางคอมพิวเตอร์ ส่วนประกอบของคอมพิวเตอร์ ปฏิสัมพันธ์ของฮาร์ดแวร์และซอฟต์แวร์ แนวคิดการประมวลผลข้อมูลแบบอิเล็กทรอนิกส์ ระเบียบวิธีการออกแบบและพัฒนาโปรแกรม การเขียนโปรแกรมภาษาระดับสูง การเขียนโปรแกรมเพื่อประยุกต์ใช้ในการแก้ไขปัญหาทางวิศวกรรม Computer concepts, computer components, hardware and software interaction, electronic data processing concepts, program design and development methodology, high-level language programming, programming applications for solving engineering problems
objectives เข้าใจวิธีการวิเคราะห์และแก้ปัญหาโจทย์การเขียน เข้าใจตรรกะและกระบวนการอันจะนำไปสู่คำตอบของการแก้ปัญหาโจทย์การเขียนโปรแกรม สามารถวิเคราะห์ปัญหาเพื่อให้ได้มาซึ่งผลลัพธ์ที่ต้องการด้วยวิธีการที่เหมาะสม สามารถเขียนโปรแกรมจากผังงานได้ สามารถศึกษาและพัฒนาทักษะด้านการเขียนโปรแกรมคอมพิวเตอร์ได้ด้วยตนเอง เข้าใจลักษณะการเขียนโปรแกรมที่ส่งผลให้ประสิทธิภาพการทำงานที่เหมาะสม ปลูกจิตสำนึกความเป็นระเบียบเรียบร้อยในการเขียนโปรแกรม
Assessment (1) ทดสอบย่อย 2 ครั้ง 10 % สัปดาห์ที่ 7 และ 15 สอบกลางภาค 30 % สอบปลายภาค 30 % คะแนนจิตพิสัย 10 % ขาดโดยไม่มีการลา 1% เข้าห้องสาย 0.5%
Assessment (2) การทดลองปฏิบัติในห้องปฏิบัติการ 10 % ขาดความระมัดระวังในการทำงาน 0.5% ไม่ส่งงานท้ายคาบ 0.5% ชิ้นงาน 10 % การตอบคำซักถามในชิ้นงาน ตัวชิ้นงาน หมายเหตุ: การตัดเกรด จะพิจารณาจากช่วงคะแนนที่เหมาะสม โดยใช้ทั้งระบบอิงเกณฑ์และอิงกลุ่มประกอบกัน
หัวข้อ Crouse Outline (1) สัปดาห์ที่ ประมวลรายวิชา 6/11/56 ประมวลรายวิชา ประมวลการเรียนรายวิชา เกณฑ์การให้คะแนน 2 13/11/56 การเขียนโปรแกรมภาษาซี กฏการตั้งชื่อและคำสงวน การประกาศตัวแปรและชนิดข้อมูล โครงสร้างทางภาษาและลักษณะการเขียนโปรแกรมที่ดี ขอบเขตการเข้าถึงตัวแปร กระบวนการในการแปลงภาษาเป็นคำสั่งเครื่อง 3 20/11/56 เครื่องหมายและการดำเนินการในภาษาซี เครื่องหมายการคำนวณทางคณิตศาสตร์ เครื่องหมายเปรียบเทียบ เครื่องหมายทางตรรกศาสตร์ ลำดับความสำคัญของเครื่องหมายในการคำนวณ
หัวข้อ Crouse Outline (2) สัปดาห์ที่ การรับค่าและการแสดงผล 4 27/11/56 การรับค่าและการแสดงผล การแสดงผลทางหน้าจอด้วยคำสั่ง printf การจัดรูปแบบการแสดงผล การแสดงผลด้วยคำสั่ง putchar และ puts การรับข้อมูลเข้าด้วยคำสั่ง scanf, getchar, getch และ gets 5 4/12/56 คำสั่งควบคุมการทำงานแบบเงื่อนไข คำสั่ง if คำสั่ง if-else คำสั่ง if-else-if คำสั่ง if ภายใต้ if คำสั่ง goto 6 11/12/56 คำสั่งควบคุมการทำงานแบบมีเงื่อนไข และคำสั่งควบคุมแบบวนซ้ำ คำสั่ง switch คำสั่ง for คำสั่ง break และ continue
หัวข้อ Crouse Outline (3) สัปดาห์ที่ คำสั่งควบคุมการทำงานแบบวนซ้ำ 7 18/12/56 คำสั่งควบคุมการทำงานแบบวนซ้ำ คำสั่ง while คำสั่ง do-while ทดสอบย่อยครั้งที่ 1 8 21 – 29/12/56 สอบวัดผลกลางภาค 9 8/1/57 ตัวแปรอาร์เรย์ ลักษณะของตัวแปรแบบอาร์เรย์และการประกาศตัวแปรอาร์เรย์ การกำหนดข้อมูลและการอ้างถึงข้อมูลในตัวแปรอาร์เรย์
หัวข้อ Crouse Outline (4) สัปดาห์ที่ โครงสร้างข้อมูล ตัวแปรพอยน์เตอร์ 10 15/1/57 โครงสร้างข้อมูล ลักษณะของข้อมูลชนิดโครงสร้างและการประกาศตัวแปรชนิดโครงสร้าง อาร์เรย์ของตัวแปรชนิดโครงสร้าง 11 22/1/57 ตัวแปรพอยน์เตอร์ ลักษณะของตัวแปรพอยน์เตอร์และการประกาศตัวแปรพอยน์เตอร์ การหาตำแหน่งข้อมูลด้วย & การเข้าถึงข้อมูลในตำแหน่งด้วย * พอยน์เตอร์ข้อมูลชนิดโครงสร้าง พอยน์เตอร์ซ้อนพอยน์เตอร์
หัวข้อ Crouse Outline (5) สัปดาห์ที่ การเขียนฟังก์ชัน 12 29/1/57 การเขียนฟังก์ชัน ไลบรารีฟังก์ชัน การสร้างฟังก์ชัน ฟังก์ชันลักษณะต่างๆ ฟังก์ชันที่ไม่มีการรับและส่งค่ากลับ 13 5/2/57 ฟังก์ชันที่มีการรับและส่งค่ากลับ การเรียกฟังก์ชันตัวเองซ้ำ 14 12/2/57 การดำเนินการกับไฟล์ Text File และ Binary File การเปิดและการปิดไฟล์ การอ่านข้อมูลจากไฟล์ การเขียนข้อมูลลงไฟล์ คำสั่ง fflush การจัดการกับตัวชี้ตำแหน่งไฟล์
หัวข้อ Crouse Outline (6) สัปดาห์ที่ 15 19/2/57 การเขียนโปรแกรมเพื่อแก้ไขปัญหาทางวิศวกรรม และการเขียนโปรแกรมที่มีประสิทธิภาพ ทดสอบย่อยครั้งที่ 2 16 สอบปลายภาค
Regulations (1) ตรวจสอบวันเวลาเข้าเรียนและห้องปฏิบัติการให้ถูกต้อง แต่งกายให้เรียบร้อยถูกระเบียบมหาวิทยาลัยพะเยา ไม่นำอาหารและเครื่องดื่มเข้าห้องปฏิบัติการ ทบทวนการเรียนและจัดเตรียมเอกสารประกอบให้เรียบร้อยในระหว่างการเรียนแต่ละสัปดาห์ โดยรับได้จากเว็บไซต์รายวิชา ให้นักศึกษาทำการทดลองตามเอกสารด้วยตนเอง หากไม่เข้าใจให้ถามอาจารย์และผู้ช่วยสอนประจำห้อง
Regulations (2) ในกรณีการลาป่วยต้องมีใบรับรองแพทย์ แนบพร้อมใบลา การลาป่วย และลากิจ ต้องแจ้งอาจารย์ผู้สอนเท่านั้น ลาป่วยต้องส่งเอกสารภายใน 7 วัน (นับตั้งแต่วันลา) ลากิจต้องส่งเอกสารล่วงหน้า 7 วัน
Regulations (3) การปฏิบัติงานตามที่ได้รับมอบหมายให้เป็นไปโดยความระมัดระวัง และตามหลักความปลอดภัยทางวิศวกรรม งานที่ได้รับมอบหมาย ต้องทำด้วยตัวเองเท่านั้น ห้ามคัดลอกจากเพื่อนหรือรุ่นพี่ ในกรณีที่คัดลอก จะถูกตัดคะแนน ตรวจสอบชื่อ รหัส ให้เรียบร้อยก่อนส่งงาน ส่งงานให้ตรงเวลา
บ้านพักและโทรศัพท์มือถืออาจารย์เป็นสิ่งต้องห้าม ยกเว้นตัวแทนของรายวิชา Regulations (4) บ้านพักและโทรศัพท์มือถืออาจารย์เป็นสิ่งต้องห้าม ยกเว้นตัวแทนของรายวิชา ห้ามนิสิตกระทำการใดๆ อันล่อไปในทางทุจริต หากพบพฤติกรรมดังกล่าวฯ นิสิตจะถูกส่งเรื่องเพื่อสอบสวนความผิด และถ้าถูกพิจารณามีความผิดจริง นิสิตจะถูกดำเนินการไปตามบทลงโทษของมหาวิทยาลัยพะเยา การทำข้อสอบ นิสิตสามารถเลือกทำข้อใดๆ ก่อนก็ได้ ไม่ต้องเรียงตามข้อ (พยายามเขียนด้วยลายมือบรรจง) การส่งกระดาษคำตอบว่าง จะไม่มีคะแนนให้กับนิสิตในข้อนั้นๆ
Books(1)
Books(2)
Books(3)
On the ways ขอให้นิสิตพึงระลึกอยู่เสมอว่า เรากำลังจะเรียนรู้เพื่อเป็นวิศวกรในอนาคต ดังนั้นการกระทำใดๆ ที่ไม่เหมาะไม่ควร ต้องพึงระมัดระวังเป็นอย่างยิ่ง
เลือกเว็บไซด์แรกที่เจอ Installation (1) เลือกเว็บไซด์แรกที่เจอ
เลือก Download ตามเครื่องที่นิสิตใช้งาน Installation (2) เลือก Download ตามเครื่องที่นิสิตใช้งาน For 32 Bit MS Windows For 64 Bit MS Windows
Run ตัว Setup ที่นิสิต download มา กดปุ่ม Next> Installation (3) Run ตัว Setup ที่นิสิต download มา กดปุ่ม Next>
เลือกแหล่งการติดตั้ง ในที่นี่ให้เลือกจาก Install from Internet Installation (4) เลือกแหล่งการติดตั้ง ในที่นี่ให้เลือกจาก Install from Internet Click Next>
เลือก Drive ที่จะติดตั้งตัวโปรแกรม Click Next> Installation (5) เลือก Drive ที่จะติดตั้งตัวโปรแกรม Click Next>
Installation (6) เลือกพื้นที่ที่จะเก็บโปรแกรมที่จะถูก download มาจาก Internet เพื่อมาสำรองเก็บไว้ในการติดตั้ง Click Next>
เลือกรูปแบบการเชื่อมต่อ Internet Installation (7) เลือกรูปแบบการเชื่อมต่อ Internet ในที่นี่ให้เลือก เชื่อมต่อโดยตรง (Direct Connection) Click Next>
เลือกแหล่งต้นทางที่จะ download โปรแกรมเข้ามาติดตั้ง Installation (8) เลือกแหล่งต้นทางที่จะ download โปรแกรมเข้ามาติดตั้ง ให้เลือกจากแหล่งที่ใกล้ที่สุดจากที่เราอยู่ และควรเป็น http นำหน้าเนื่องจากระบบเครือข่ายป้องกันการส่งข้อมูลผ่านทาง ftp Click Next>
Installation (9) โปรแกรมจะไปตรวจสอบ package ที่แหล่งต้นทางเก็บไว้ เพื่อดูว่ามี package อะไรบ้างที่สามารถติดตั้งได้จากแหล่งต้นทางที่เราเลือก
ให้นิสิตเลือกไปที่ ‘Devel’ Installation (10) เมื่อเสร็จสิ้นการตรวจสอบแล้ว จะเข้าสู่หน้าให้เราสามารถเลือกโปรแกรมที่จะติดตั้งบนเครื่องได้ ให้นิสิตเลือกไปที่ ‘Devel’
กดเลือกตรง ‘skip’ หน้า package ที่บอกข้างต้น Installation (11) เลื่อนลงมาจนเจอ package ‘gcc-core: GNU Compiler Collection (C, OpenMP)’ กดเลือกตรง ‘skip’ หน้า package ที่บอกข้างต้น
ตรงหน้า package ที่เลือกจะเปลี่ยนเป็นหมายเลข Click Next> Installation (12) ตรงหน้า package ที่เลือกจะเปลี่ยนเป็นหมายเลข Click Next>
ตัวติดตั้งจะตรวจสอบ package ที่เกี่ยวข้องกับ package ที่เราเลือก Installation (13) ตัวติดตั้งจะตรวจสอบ package ที่เกี่ยวข้องกับ package ที่เราเลือก Click Next>
Installation (14) ตัวติดตั้งจะเริ่มทำการติดตั้งตัว compile กับสิ่งที่เกี่ยวข้อง ที่เราได้เลือกไว้ รอจนกว่าจะติดตั้งเสร็จสิ้น
ติดตั้งเสร็จเรียบร้อย ตรงจุดนี้เป็นการสร้าง shortcut ของตัวโปรแกรม Installation (15) ติดตั้งเสร็จเรียบร้อย ตรงจุดนี้เป็นการสร้าง shortcut ของตัวโปรแกรม Click Next>
ตัวสำหรับเรียกโปรแกรม Installation (16) ติดตั้งเสร็จสมบูรณ์ ตัวสำหรับเรียกโปรแกรม
เปลี่ยน Directory ไปยังจุดที่นิสิตจะทำงาน Compile & Run เปลี่ยน Directory ไปยังจุดที่นิสิตจะทำงาน
เขียนโปรแกรมด้วย Text Editor ใดๆ ก็ได้ เช่น Notepad, Eclipe, ฯลฯ Compile & Run เขียนโปรแกรมด้วย Text Editor ใดๆ ก็ได้ เช่น Notepad, Eclipe, ฯลฯ
Compile & Run Save โปรแกรมที่เขียน ด้วยชื่อที่นิสิตต้องการ (ไม่ควรเป็นชื่อที่มีอักขระแปลกๆ หรือเริ่มตัวแรกด้วยตัวเลข) แต่นามสกุลไฟล์ให้เป็น ‘.c’ เสมอ
compile โค้ดที่นิสิตเขียนด้วยคำสั่ง ‘gcc test.c –o test’ Compile & Run compile โค้ดที่นิสิตเขียนด้วยคำสั่ง ‘gcc test.c –o test’ ชื่อโปรแกรมที่จะเอาไว้ RUN คำสั่ง compile โค้ดภาษาซี List ของโค้ดที่นิสิตต้องการ compile
EXE Program ที่ได้จากการ compile Source Code Compile & Run EXE Program ที่ได้จากการ compile Source Code
การ Run โปรแกรม สามารถเรียกใช้งานได้โดย ‘./test.exe’ Compile & Run การ Run โปรแกรม สามารถเรียกใช้งานได้โดย ‘./test.exe’ การสั่งให้โปรแกรมทำงาน บรรทัดต่อมาคือผลการทำงานที่ได้
Left or Right? Good Syntax #include<stdio.h> Void main(){ int a; printf(“Hello World\n”); scanf(“%d”,&a); if(a==3) { printf(“Good Syntax\n”); }} #include<stdio.h> Void main() { int a; printf(“Hello World\n”); scanf(“%d”,&a); if(a==3) printf(“Good Syntax\n”); } Left or Right?