วันอาทิตย์ที่ 3 พฤษภาคม พ.ศ. 2558

หลักการเขียนโปรแกรม

ประวัติภาษาซี (History of C)

  • ภาษาซีถูกออกแบบพัฒนาขึ้นโดย Dennis Ritchie เมื่อ ค.ศ. 1972 ณ ห้องปฏิบัตการเบลล์ โดยออกแบบบนระบบปฏิบัติการ UNIX บนเครื่องเมนแฟรมคอมพิวเตอร์ DEC PDP-11
  • ภาษาซีถูกพัฒนามาจากภาษา B ที่พัฒนาขึ้นโดย Ken Thompson  ตั้งอยู่บนพื้นฐานของภาษา BCPL ที่พัฒนามาจาก Martin Richards


ลักษณะเด่นของภาษา C

1. ความสามารถในการใช้งานบนสภาพแวดล้อมที่แตกต่างกัน (Portability)
2. มีประสิทธิภาพสูง (Efficiency)
3. ความสามารถในโปรแกรมแบบโมดูล (Modularity)
4. พอยน์เตอร์ (Pointer Operations)
5. มีความยืดหยุ่นสูง (Flexible Level)
6. ตัวอักษรตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ แตกต่างกัน (Case Sensitivity)

แนวคิดในการเขียนโปรแกรม

1. วิเคราะห์ปัญหา ขั้นตอนนี้ถือเป็นขั้นตอนที่สำคัญที่สุด ผู้เขียนโปรแกรมจะต้องวิเคราะห์ปัญหาให้
ออกว่า จะร้องทำการเขียนโปรแกรม เพื่อแก้ไขปัญหาอะไร
2. วางแผนและออกแบบ การนำปัญหาที่วิเคราะห์ได้จากขั้นตอนที่ 1 มาวางแผนอย่างเป็นขั้นตอนว่าจะ
ต้องเขียนโปรแกรมเพื่อแก้ปัญหาอย่างไร การวางแผนอย่างเป็นขั้นตอนนี้ เรียกว่า อัลกอรึทึ่ม ซึ่งแบ่ง
ออกเป็น 2 รูปแบบ

  • ซูโดโค้ด (Pseudo code) คือ การเขียนอัลกอรึทึ่มโดยใช้ภาษาอังกฤษง่ายๆ สื่อความหมายออกมา

สามารถเขียนได้ดังนี้
รูปที่ 1 การเขียรซูโดโค้ด

  • โฟลวชาร์ต (Flowchart) คือ การเขียนอัลกอรึทึ่มโดยใช้สัญฃลักษณ์รูปภาพเป็นตัวสื่อความหมาย
รูปที่ 2 การเขียนโฟลวชาร์ต

3. เขียนโปรแกรม เป็นการนำเอาอัลกอริทึมจากขั้นตอนที่ 2 มาเขียนโปรแกรมให้ถูกต้องตามหลัก

ไวยกรณ์ Syntax ของภาษา

4. ทดสอบโปรแกรม


5. จัดทำคู่มื



สัญลักษณ์ที่ใช้ในการเขียนผังงานและหน้าที่

รูปที่ 3 สัญลักษณ์และเครื่องหมายที่ใช้ในการเขียนโฟลวชาร์ต


ครงสร้างโปรแกรมภาษา C (Structure of C Programs)

ฟังก์ชัน(Function)คือ ชุดคำสั่งที่เขียนขึ้นเพื่อให้คอมพิวเตอร์ทำงาน ที่อนุญาตให้สามารถรับข้อมูล (Input) ประมวลผล (Processes) และแสดงผลข้อมูล (Output) โดยฟังก์ชันทีถูกเขียนขึ้นพร้อมใช้งาน และสามารถเรียกมาใช้งานได้ทันที จะถูกจัดเก็บไว้ในไลบารีมาตรฐาน(Standard Library) ในภาษา C จะมีฟังก์ชันพิเศษฟังก์ชันหนึ่งที่จำเป็นต้องมีไว้ใน โปรแกรมเสมอ คือ ฟังก์ชัน main() ทั้งนี้ฟังก์ชันดังกล่าวจัดเป็นฟังก์ชันหลักที่นำมาใช้เป็นจุดเริ่มต้นของโปรแกรมเพื่อสั่งให้ทำงาน
stdio.h เป็นกลุ่มฟังก์ชั่นที่ใช้งานด้าน Input/Output ทั่วๆไป เช่น printf, scanf, puts และชุดคำสั่งจัดการไฟล์ เช่น fread, fwrite เป็นต้น
conio.h เป็นกลุ่มฟังก์ชั่นที่ใช้ควบคุมการแสดงผล, รับค่าจากคีย์บอร์ด เช่น cprintf, kbhit เป็นต้น

ตัวอย่างโปรแกรม


รูปที่ 4 โปรแกรมการเปรียบเทียบโดยใช้รูปแบบ char



รูปที่ 5 โปรแกรมแปลง ค.ศ ให้เป็น พ.ศ โดยการประกาศรับค่า 1 ตัวแปร คือ ค่าของ ค.ศ แล้วนำค่า ที่รับมาบวกกับ 543 จะได้ค่าใหม่ที่เป็น พ.ศ



รูปที่ 6 เป็นการคูณตัวเลข โดยที่ในการเขียนโปรแกรม เรากำหนดค่าตัวแปร ลงในโปรแกรมโดยตรง



รูปที่ 7 เป็นการคำนวณโดยการคูณ โดยการประกาศรับค่าตัวแปรเป็นตัวเลย จำนวน 2 ตัวแปรด้วยกัน เพื่อที่จะทำค่าตัวแปรทั้ง 2 ตัว มาทำการคูณกัน และส่งค่าผลลัพธ์



รูปที่ 8 เป็นการคำนวณหาพื้นที่สี่เหลี่ยมคางหมู โดยการประกาศรับค่าตัวแปร อยู่ 3 ตัวแปรด้วยกัน โดยที่ side1,side2 คือความยาวทั้งสองด้านของสี่เหลี่ยมคางหมู ส่วนค่า h คือค่าความสูงของรูป แล้วนำค่าทั้ง 3 มาทำการคำนวณตามสูตรสี่เหลี่ยมคางหมู



รูปที่ 9 เป็นการคำนวณหาพื้นที่วงกลม โดยการประกาศรับค่าตัวแปรแค่ 1 ตัว เพื่อนำมาคำนวณตามสูตรทางคณิตศาสตร์



รูปที่ 10 เป็นโปรแกรมเปลี่ยนรูป Desktop โดยการประกาศรับค่า char คือชี่อรูปภาพที่เราเก็บไว้ จากนั้นรับค่าชื่อรูปภาพที่เก็บไว้แล้วโปรแกรมจะทำการเปลี่ยนภาพ Desktop ใ้หอัตโนมัต



รูปที่ 11 เป็นโปรแกรมเช็คค่าของแต่ละตัวแปรว่ามี size เท่าไหร่



รูปที่ 12 เป็นโปรแกรมประกาศรับค่า sting โดยให้พิมพ์ข้ความเข้ามาแล้ว จะทำการนับตัวอักษรว่ามีกี่ตัว



รูปที่ 13 เป็นโปรแกรมสอบถามว่ามีพี่ชาย และน้องชาย หรือไม่ โดยที่มีการประกาศตัวแปรรับค่า จากนั้นนำค่าที่รับมา ถ้ามี ก็เข้าเงื่อนไข if  ต่อ โปรแกรมอาจเขียนต่อว่าเป็นพี่ชาย หรือ น้องชายต่อ ถ้าไม่มีก็จบการทำงานของโปรแกรม



รูปที่ 14 เป็นโปรแกรมสอบถามอายุโดยที่มีการกำหนดไว้าว่า รับค่าตัวแปรเข้ามาแล้ว แล้วถ้าอายุน้อยกว่าหรือเท่ากับ 60 ให้แสดงค่าออกไปว่า young แต่ถ้าอายุที่รับเข้ามามากกว่า 60 ให้แสดงค่าออกไปว่า old โดยใช้เงื่อนไขในโปรแกรม คือ if-else



รูปที่ 15 เป็นโปรแกรมสอบถามเพศ ว่าคุณคือ เพศหญิง หรือ เพศชาย โดยใช้เงื่อนไขแบบ switch



รูปที่ 16 สร้างโปรแกรมคิดเลขโดยใช้ เงื่อนไข switch-case โดยที่จะแยกการคำนวณออกเป็นส่วนๆ 



รูปที่ 17 เป็นโปรแกรมสอบถามนิสิตคณะภูมิสารสนเทศศาสตร์ ว่าอยู่สาขาไหนในคณะ



MATLAB

1.เป็นโปรแกรมคอมพิวเตอร์ที่ใช้ง่าย ไม่ยุ่งยาก
2.เป็นภาษาคอมพิวเตอร์ภาษาหนึ่งคล้ายกับ ภาษา C หรือ fortan
3.เป็นเครื่องคิดเลขที่มีประสิทธิภาพ
4.เป็นเครื่องมือในการวิเคราะห์ข้อมูลทางวิศวกรรม ทางสถิต และด้านอื่นๆ
5.เป็นเครื่องมือที่นําเสนอข้อมูลด้วยการ plots

ตัวอย่างโปรแกรม


รูปที่ 18 Row vector  , Row column  , การใช้เครื่องหมาย : โดยจำนวนตัวแรก:จำนวนตัวสุดท้าย ,   ตัวเริ่ม : จำนวนที่ห่าง : ตัวสิ้นสุด




การสร้างเครื่องคิดเลข

รูปที่ 19 Guide การเรียกหน้าต่าง GUI



รูปที่  20 เปลี่ยนชื่อแท็บหัวด้านบน



รูปที่ 21 เปลี่ยนสีแถบข้างบนตามที่เราต้องการ



รูปที่  22 เปลี่ยนชื่อ tag



รูปที่ 23 เลือกปุ่มเครื่องมือมางซ้าย เพื่อที่จะกำหนดแต่ละปุ่มให้เป็นตัวเลข หรือเครื่องหมายทางคณิตศาสตร์




แปลงภาพสีให้เป็นภาพขาวดำ


รูปที่ 24 เรียกรูปภาพที่เราทำการโหลดมาเก็บไว้ในคอมพิวเตอร์ โดยใช้คำสั่ง Pic = imread ('ตามด้วยชื่อไดรฟ์ที่เก็บภาพ/ตามด้วยชื่อภาพ.jpg')



รูปที่ 25 ทำให้รูปเป็นสีเทา โดยใช้คำสั่ง Pic1 = rgb2gray(Pic)



รูปที่ 26 ทำการปรับภาพให้ชัดขึ้น โดยใช้คำสั่ง adjust1 = imadjust(Pic1)



รูปที่ 27 ทำให้รูปสีเป็นรูปขาวดำ โดยใช้คำสั่ง Blackwhite = im2bw(Pic)



รูปที่ 28 การทำตารางเมทริกซ์ แสดงค่าสี โดยใช้คำสั่ง image(x)



ดูรูปสามมิติ


รูปที่ 29 ไปที่โฟลเดอร์รูปที่เซฟไว้แล้วคลิกขวาที่รูป open with > paint



รูปที่ 30 ไปที่ select แล้วแยกรูปโดยแยกทางซ้ายก่อน แล้วเซฟว่า left จากนั้นมาที่โปรแกรม paint แล้วกด ctrl+z แล้วก็แยกรูปทางขวาโดยเซฟว่า right




รูปที่  31 Copy code มาใน new script





รูปที่ 32 เปลี่ยนบรรทัดแรกเป็น left  เปลี่ยนบรรทัด 2 เป็น right




รูปที่ 33 เปลี่ยนบรรทัด 67 ให้เป็น left , right




รูปที่ 34 กด RUN แล้วรอรูปขึ้นมา จากนั้นให้ใสแว่น 3D ที่เลนส์เป็นสีแดงน้ำเงิน




การผสมสี


รูปที่ 35 เราเลือกรูปเกี่ยวกับ LANDSAT5 มา แล้วตั้งชื่อ B3 , B4 , B5 จากนั้นไปที่ New Script เพื่อที่จะพิมพ์โค้ด




รูปที่ 36 พิมพ์โค้ด  R = imread (‘B4.TIF’); ต่อด้วย G = imread (‘B5.TIF’); ต่อด้วย B = imread (‘B3.TIF’); ต่อด้วย rgb = cat(3,R,G,B);  แล้วกด RUN จะขึ้นมาเป็นรูปดังกล่าว




รูปที่ 37 พิมพ์โค้ด  R = histeq(imread (‘B4.TIF’)); ต่อด้วย G = histeq(imread (‘B5.TIF’)); ต่อด้วย B = histeq(imread (‘B3.TIF’)); ต่อด้วย rgb = cat(3,R,G,B);  แล้วกด RUN จะขึ้นมาเป็นรูปดังกล่าว







**** ขอบคุณครับ ****

ไม่มีความคิดเห็น:

แสดงความคิดเห็น