Your SlideShare is downloading. ×
  • Like
การเขียนโปรแกรมที่มีโครงสร้างแบบลำดับ
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

การเขียนโปรแกรมที่มีโครงสร้างแบบลำดับ

  • 4,193 views
Published

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
4,193
On SlideShare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
17
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. กิจกรรมที่ 19 การเขียนโปรแกรม ที่มีโครงสร้างแบบลำาดับคาบที่ 28-29 1.จุ ด ประสงค์ ผูเรียนสามารถ ้ 1.1 อธิบายชนิดข้อมูลและการประกาศตัวแปร 1.2 เขียนโปรแกรมรับข้อความและตัวเลข 1.3 เขียนโปรแกรมที่มีโตรงสร้างแบบลำาดับ2. แนวคิ ด การเขียนโปรแกรมจำาเป็นจะต้องมีความรู้และเข้าใจเกี่ยวกับตัวแปร ชนิดของตัวแปร การประกาศ และการใช้ตัวแปร โปรแกรมทั่วไปประกอบด้วย 3ส่วน คือ ส่วนการรับข้อมูล ส่วนการประมวลผล และส่วนการแสดงผลโปรแกรมที่มีความสะดวกในการใช้งานควรมีการรับข้อมูลจากทางแป้นพิมพ์เพื่อนำาไปใช้ประมวลผลและแสดงผลลัพธ์ต่อไป การเขียนโปรแกรมเพื่อประยุกต์การใช้งาน จำาเป็นจะต้องมีความรู้ความเข้าใจในการวิเคราะห์งาน และการเขียนผังงานก่อนที่จะเขียนโปรแกรมด้วยตนเอง โดยการเขียนโปรแกรมที่มีโครงสร้างแบบลำาดับเป็นพื้นฐานของการเขียนโปรแกรมเบื้องต้น3. สื ่ อ -อุ ป กรณ์ 3.1 ใบงาน ใบงาน เรื่อง เวลา(นาที) 19.1 โปรแกรมรับข้อความและตัวเลข 50 19.2 การเขียนโปรแกรมที่มีโครงสร้างแบบ 50 ลำาดับ 3.2ใบความรู้ ใบความรู้ที่ 19.1 เรื่องชนิดข้อมูลและการประกาศตัวแปร
  • 2. 3.3 อื่นๆ @ ใบงานที่ 17.1 เรื่องโครงสร้างแบบลำาดับ ที่ผู้เรียนได้ทำาไว้ในกิจกรรมที่ 17 @ หนังสือเรียนรายวิชาพื้นฐานเทคโนโลยีสารสนเทศและการสื่อสาร ชั้น มัธยมศึกษาปี่ที่ 4-6 ของ สถาบันส่งเสริมการสอนวิทยาศาสตร์และ เทคโนโลยี4. วิ ธ ี ด ำ า เนิ น การ 4.1 การจัดเตรียม 4.1.1 ใบงานที่ 17.1 ที่ผู้เรียนทำาไว้ในกิจกรรมที่ 17 4.1.2 ใบงานที่ 19.1-19.2 ตามจำานานผู้เรียน 4.1.3 ใบความรู้ที่ 19.1 ตามจำานานผู้เรียน 4.1.4 เครื่องคอมพิวเตอร์พร้อมติดตั้งโปรแกรม Dev-C++ 4.2 ขั้นตอนดำาเนินการ 4.2.1 ผู้สอนชี้แจงจุดประสงค์ของกิจกรรมให้ผู้เรียนทราบ แล้วให้ผู้เรียน ศึกษาใบความรู้ที่ 19.1 เรื่องชนิดข้อมูลและการประกาศตัวแปร 4.2.2 ให้ผู้เรียนทำาใบงาน 19.1 เรื่องโปรแกรมรับข้อความและตัวเลข 4.2.3 ผู้สอนให้คำาแนะนำา ตอบข้อสงสัย และช่วยผู้เรียนแก้ปัญหาในกรณี ที่เกิดความผิดผลาดของโปรแกรมที่ผู้เรียนเขียนขึ้น 4.2.4 ผู้เรียนและผู้สอนร่วมกันเฉลยคำาตอบในใบงาน 19.1 และสรุปชนิด ข้อมูล และการประกาศตัวแปร 4.2.5 แบ่งกลุ่มผู้เรียนตามกลุ่มเดิมที่ทำาในกิจกรรมที่ 17 4.2.6 ให้แต่ละกลุ่มทำาใบงานที่ 19.2 เรื่องการเขียนโปรแกรมที่มี โครงสร้างแบบลำาดับ โดยดูรหัสลำาลอง และผังงาน จากใบงาน 17.1 ที่ ทำาไว้ในกิจกรรมที่ 17 4.2.7 ให้แต่ละกลุ่มนำาเสนอโปรแกรมที่เขียนหน้าชั้นเรียน และอธิบาย โปรแกรมของตนเองให้กลุ่มอื่นทราบ
  • 3. 4.2.8 ผู้เรียนและผู้สอนร่วมกันอภิปรายและสรุปการเขียนโปรแกรมที่มี โครงสร้างแบบลำาดับ5. การวั ด และประเมิ ล ผล 5.1 สังเกตการณ์ทำากิจรรมร่วมกัน 5.2 ตรวจคำาตอบในใบงาน6.แหล่ ง ข้ อ มู ล เพิ ่ ม เติ ม 6.1 หนังสือเรียนรายวิชาพื้นฐานเทคโนโลยีสารสนเทศและการสื่อสาร ชั้นมัธยมศึกษาปีที่ 4-6 ของสถาบันส่งเสริมการสอนวิทยาสาสตร์และ เทคโนโลยี 6.2 http://www.programming.in.th 6.3 http://strffs.wu.ac.th.syaowara/C/lecture1.ppt (4/10/52) 6.4 http://www.bloodshed.net ดาวน์โหลดโปรแกรม Dev-C++7. ข้ อ แสนอแนะ 7.1 เนื่องจากกิจกรรมนี้เป็นกิจกรรมแรกของผู้เรียนในการเขียน โปรแกรมเพื่อการคำานวณอาจทำาให้โปรแกรมเกิด การผิดพลาดได้ ง่ายผู้สอนจึงควรตรวจดูให้การช่วยเหลือผู้เรียนอย่างทั่วถึงเพื่อให้ผู้ เรียนเกิดความมั่นใจในการเขียน 7.2 ผู้สอนควรยำ้าให้ผู้เรียนบันทึกโปรแกรมเป็นระยะ เพื่อไม่ให้ ข้อมูลทำามาหายไปเนื่องจากคอมพิวเตอร์มีปัญหาหรือไฟฟ้าดับ
  • 4. ใบงาน 19.1 โปรแกรมรั บ ข้ อ ความและตั ว เลข รายชื่อสมาชิกในกลุ่มที่........................ 1..................................................................... 2............................................................ 3..................................................................... 4............................................................. ให้นักเรียนศึกษาใบความรู้ที่ 19.1 เรื่องชนิดข้อมูลและการประกาศตัวแปร แล้วปฏิบัติดังนี้ 1.ให้ผู้เรียนเปิดโปรแกรม Dev-C++ แล้วพิมพ์โปรแกรมตามตัวอย่างดังนี้// program My information #include<stdio.h> # include<stdlib.h> Main () { Char name[10]; // ประกาศตัวแปร Char เพื ่ อ รั บ ตั วอั ก ขระ int age;
  • 5. float height; // ประกาศตั ว แปร int และ float printf (“nnYour information”); // แสดงข้ อ ความ Yourinformation printf (“nnInput your name = ”); scanf (“%s” ,name); // รั บ ตั ว อั ก ขระเก็ บ ไว้ ท ี ่ name printf (“nnInput your age [year] =”); scanf (“%d” , &age); // รั บ เลขจำ า นวนเต็ ม เก็ บ ไว้ ท ี ่age printf (“nnInput your height [centimeter] =”) ; scanf (“%f” ,& height); //รั บ ทศนิ ย มเก็ บ ไว้ ที ่ height printf (“nnnnnnnnnnnnn”); // ขึ้นบรรทัดใหม่โดยไม่แสดงอะไร printf (“nnYour name is %s. ”name); // แสดงค่าตัวแปรอักขระ name printf (“nnYour age is %d years old.”,age) ; // แสดงค่าตัวแปรเลขจำานวนเต็ม age printf (“nnYour height is %f centimeters.”,height); // แสดงตัวแปรเลขทศนิยม height printf (“nnn”); syatem (“pause”); } 2. ให้บันทึกโปรแกรมชื่อ myinfo ลงในโฟล์เดอร์ของตนเอง แล้วสั่ง Compile และ Run จากนั้นทอลอง ป้อนข้อมูลของตนเองให้ครบทุกรายการ ผลลัพธ์ที่ แสดงออกทางจอภาพมีดังนี้
  • 6. ................................................................................................................................................................................................................................................................................................................................................................................3.ให้พิจารณาโปรแกรมในข้อ 1 แล้วตอบคำาถามต่อไปนี้ 3.1 ชนิดของตัวแปรที่ประกาศใช้ในโปรแกรมนี้มี..................ชนิด ได้แก่....................................... ................................................. ................................................................................................ ............ 3.2 การประกาศตัวแปรชนิด int กับชนิด float ต่างกันอย่างไร......................................................... .............................................................................................. ............................................................3.3 การประกาศตัวแปร name [10] หมาย ถึง………………………………………………………..... ………………………………………………………………………………………… ……........3.4 การกำาหนดรูปแบบชนิดข้อมูลที่ใช้ในการรับค่า (คำาสั่ง scanf () )และ แสดงผล(คำาสั่ง printf() ) กับตัวแปรต่อไปนี้คือ ตัวแปรชนิด Char [ ] ได้แก่ %............... ตัวแปรชนิด int ได้แก่ %............... ตัวแปรชนิด Float ได้แก่ %............... ใบงานที ่ 19.2 การเขี ย นโปรแกรม ที ่ ม ี โ ครงสร้ า งแบบลำ า ดั บรายชื่อสมาชิกในกลุ่มที่........................1..................................................................... 2............................................................
  • 7. 3..................................................................... 4............................................................. ให้นำาการวิเคราะห์งานและผังงานที่ได้ทำาไว้ในใบงานที่ 17.1 เรื่องโครงสร้างแบบลำาดับมาพิจารณาและเขียนโปรแกรมตามโจทย์ที่ได้รับดังกล่าว 1.โจทย์ที่ได้รับคือ............................................................................................................................. 2.รหัสต้นฉบับ// program ……………………..#include<stdio.h># include<stdlib.h>Main (){ ………………………………………………………………………………....... …………………………………………………………………………………… ……………………………………………………………………………………3.ให้บันทึกโปรแกรมชื่อ worksheet_19_2 ลงในโฟล์เดอร์ของตนเอง แล้งสั่งCompile และ run4.ทดลองป้อนข้อมูล............................................5.ผลลัพธ์ที่ได้คือ.........................................6.ให้ตรวจสอบผลลัพธ์จากเครื่องคิดเลขว่าถูกต้องหรือไม่.................................
  • 8. ใบความรู ้ 19.1 ชนิ ด ข้ อ มู ล และการประกาศตั ว แปรตั ว ระบุ (Identifiers) ไม่ว่าจะเป็นการเขียนโปรแกรมด้วยภาษาใดก็ตาม เราตั้งมีการตั้งชื่อให้กับสิ่งต่างๆ เช่นชื่อตัวแปรเพื่อใช้แทนเก็บข้อมูล หรือชื่อโปรแกรมย่อยหรือฟังก์ชันในภาษาซี สิ่งต่างๆที่เราต้องตั้งชื่อให้นี้ รวมเรียกว่า ตัวระบุ(Identifiers) ซึ่งแต่ละภาษาจะมีกฎการตั้งชื่อตัวระบุที่แตกต่างกัน สำาหรับภาษาซี ชื่อตัวระบุจะต้องประกอบด้วย 1.ตัวอักษรภาษาอังกฤษ A-Z, a-z, (โดยตัวอักษรโดยตัวอักษรตัวพิมพ์ ใหญ่และเล็กถือว่าเป็นคนละตัวกัน) ตัวเลข 0-9 และเครื่องหมายขีดเส้น ใต้ (_) เท่านั้น 2.ห้ามใช้ตัวเลขเป็นตัวอักษรตัวแรกของชื่อ 3.ห้ามตั้งชื่อที่ซำ้ากับคำาสงวน (Reserved words คือ คำาที่ถูกกำาหนดให้มี ความหมายเฉพาะ) ในภาษาซี นอกจากนี้เพื่อหลีกเลี่ยงการตั้งชื่อซำ้ากับ ชื่อของตัวระบุที่ใช้อยู่แล้วในระบบปฏิบัติการ นักเขียนโปรแกรมไม่ควร ตั้งชื่อตัวระบุที่ขึ้นต้นด้วยเครื่องหมายขีดเส้นใต้ชนิ ด ข้ อ มู ล (Data types) ชนิดของข้อมูลเป็นตัวกำาหนดว่าตัวแปรหรือค่าคงที่ที่จะสามารถเก็บค่าชนิดใด และเก็บค่าในช่วงใดได้บ้าง ภาษาซีมีชนิดข้อมูลมาตรฐานอยู่ 3 ชนิดคือ จำานานเต็ม (int) ตัวอักษร (char) และจำานวนจริง (float)การประกาศตั ว แปร (Variables declaration) ตัวแปรเป็นชื่อที่ใช้อ้างถึงตำาแหน่งในหน่วยความจำาที่ใช้เก็บข้อมูล ทำาให้นักเขียนโปรแกรมใช้งานได้สะดวกขึ้น ไม่ต้องอ้างถึงตำาแหน่งในหน่วยความจำาโดยตรง การตั้งชื่อตัวแปรจะเป็นไปตามการตั้งชื่อของตัวระบุที่ได้กล่าวไปแล้วโดยในการประกาศตัวแปรจะต้องทำาการกำาหนดชนิดของข้อมูลที่ตองการให้ ้ตัวแปรนั้นเก็บไปด้วยเลย เพราะชนิดของข้อมูลที่แตกต่างกันจะต้องการพื้นที่ในหน่วยความจำาขนาดไม่เท่ากัน
  • 9. ตัวแปรถูกต้องประกาศก่อนที่จะนำาไปใช้งานได้ นักเขียนโปรแกรมจะต้องระบุชื่อ และชนิดของข้อมูลที่จะอ้างถึงด้วยชื่อดังกล่าว ตัวอย่างเช่น การประกาศตัวแปรชื่อ salary ให้มีชนิดข้อมูลเป็นจำานวนจริงแบบ float มีรูปแบบดังนี้Float salary; หลังจากตัวแปรถูกประกาศแล้ว ก็จะสามารถนำาไปใช้ได้ต่อไป อย่างไรก็ตามตัวแปรที่ถูกประกาศจะยังไม่ได้ถูกกำาหนดให้เก็บค่าใดๆ ซึ่งถ้าต้องการกำาหนดค่าเริ่มต้นให้กับตัวแปรด้วย จะทำาได้โดยมีรูปแบบดังนี้Float salary ช = 12099.00; สำาหรับการประกาศตัวแปรเพื่อใช้เก็บข้อความจะมีรูปแบบดังนี้Char name [10];ส่ ว นการรั บ ขอมู ล และการแสดงผล (input และ output) ภาษาซีได้เตรียมฟังก์ชันที่ใช้ในการรับข้อมูลเข้าไว้หลายฟังก์ชันด้วยกันตัวอย่าง หนึ่งคือฟังก์ชัน scanf ซึ่งจะรับข้อมูลเข้าทางคีย์บอร์ด แล้วเก็บไว้ในตัวแปรที่ระบุรูปแบบการใช้งานคือScanf (“%d”,& num); ซึ่งเมื่อโปรแกรมทำางานถึงคำาสั่งนี้ จะหยุดรอให้ผู้ใช้ป้อนตัวเลขจำานวนเต็ม หลังจากผู้ใช้กดปุ่ม Enter แล้ว ภาษาซีจะเก็บค่าตัวเลขไว้ในตัวแปรชื่อ num (ที่ได้ประกาศไว้แล้วเป็นชนิด int ) โดยความหมายของ “%d” คือ การระบุให้ฟังก์ชัน scanf รับข้อมูลที่เป็นชนิดจำานวนเต็ม สำาหรับการรับข้อมูลเพื่อเก็บไว้ในตัวแปรที่เป็นชนิดข้อมูลอื่นต้องระบุรูปแบบชนิดข้อมูลให้ถูกต้องตัวอย่างดังตารางที่ 19.1ตารางที ่ 19.1 รู ป แบบการระบุ ช นิ ด ข้ อ มู ล ชนิดข้อมูล รูปแบบ int “%d” char “%c”
  • 10. float “%f” Char [ ] “%s” สำาหรับการรับข้อมูลเข้าในลักษณะของข้อความ รูปแบบการใช้งานคือ Scanf (“%s”name); ซึ่งจะไม่มีการใช้เครื่องหมาย& หน้าตัวแปร ในที่นี้คือตัวแปรname เหมือนกับชนิดข้อมูลแบบอื่นๆ สำาหรับการแสดงผลลัพธ์ ภาษาซีมีฟังก์ชัน printf ไว้ให้ใช้งานโดยฟังก์ชัน printf จะแสดงเป็นข้อความออกมา โดยที่นักเขียนโปรแกรมจะสามารถระบุรูปแบบของการแสดงผลรวมไว้ในข้อความนี้ได้ ซึ่งใช้รูปแบบที่มีความหมายเช่นเดียวกับฟังก์ชัน scanf ดังตัวอย่างPrintf (“ The value of num is %d”,num) ; การเรียกใช้ฟังก์ชัน printf ดังคำาสั่งข้างบนนี้ ฟังก์ชัน printf จะแสดงเป็นข้อความภายในเครื่องหมายอัญประกาศออกทางจอภาพ โดยจะแทนที่ข้อความการระบุรูปแบบ”%d”ด้วยค่าตัวแปรที่อยู่ต่อท้าย ในที่นี้คือค่าของตัวแปร num ในกรณีที่มีค่าของตัวแปรที่ต้องการให้ฟังก์ชัน printf แสดงมากกว่าหนึ่งตัวแปร ต้องมีการระบุรูปแบบการแสดงผลบงค่าตัวแปรทุกตัวให้ครบถ้วนและอยู่ในลำาดับที่สอดคล้องกับลำาดับขงตัวแปรด้วย ตัวอย่างเช่นส่วนของโปรแกรมภาษาซีต่อต่อไปนี้Float tax = 23.65;int num = 41;Printf (“ the value of num is %d,and tax is %f”num,tax);ซึ่งจะเห็นว่ามีการระบุรูปแบบการแสดงค่าตัวแปร 2 ตัวด้วยกันคือ%d และ %fและลำาดับของตัวแปรที่กำาหนดไว้ต่อท้ายข้อความคือ num และ tax ซึ่งเป็นตัวแปรชนิด int และ Float ที่มีลำาดับสอดคล้องกันนั้นเองตั ว ดำ า เนิ น การทางคณิ ต ศาสตร์ในภาษาซี มีตัวอย่างของตัวดำาเนินการทางคณิตศาสตร์
  • 11. ดังตารารางที่19.2ตารารางที ่ 19.2 ตั ว อย่ า งของตั ว ดำ า เนิ น การทางคณิ ต ศาสตร์ ตัวดำาเนินการทาง คำาอธิบาย ตัวอย่าง คณิตศาสตร์ + บวก Z= x + y; //z คือ ค่า x บวก y - ลบ Z=x-y; //z คือค่า x ลบ y * คูณ Z=x*y; //z คือค่า x หาร y / หาร Z=x/y; //z คือค่า x หาร y % เศษจากการหาร Z=x % y; //z คือ เศษเหลือจาก x หาร yถ้ามีการใช้ตัวดำาเนินการมากกว่าหนึ่งตัว จะคำานวณค่าเรียงตามลำาดับก่อนหลังดั้งนี้ . (). *,*และ &. + และ - .หากตัวดำาเนินการมีลำาดับเท่าเทียมกัน คำานวณจากซ้ายไปขวาตั ว ดำ า เนิ น การเปรี ย บเที ย บ
  • 12. ตัวดำาเนินการเปรียบเทียบใช้ในการเปรียบเทียบข้อมูลสองข้างของการดำาเนินการซึ้งผลการเปรียบเทียบจะได้ผลลัพธ์เป็นจริง(True) หรือเท็จ (False) เท่านั้นตัวดำาเนินการเปรียบเทียบดังตารางที่ 19.٣ตารางที ่ 19.3 ตั ว ดำ า เนิ น การเปรี ย บเที ย บ ตัวดำาเนินการเปรียบ คำาอธิบาย ตัวอย่าง เทียบ == เท่ากับ X==y เป็นจริงเมื่อ x = y และ เป็นเท็จเมื่อ x ≠ y != ไม่เท่ากับ x! = y เป็นจริงเมื่อ x ≠ y และ เป็นเท็จเมื่อ x = y < น้อยกว่า x<y เป็นจริงเมื่อ x < y และ เป็นเท็จเมื่อ x ≤ y > ม่กกว่า x>y
  • 13. เป็นจริงเมื่อ x > y และ เป็นเท็จเมื่อ x ≥ y <= น้อยกว่าหรือเท่ากับ x <= y เป็นจริงเมื่อ x ≤ y และ เป็นเท็จเมื่อ x > y >= มากกว่าหรือเท่ากับ x >= y เป็นจริงเมื่อ x ≥ y และ เป็นเท็จเมื่อ x < yตั ว ดำ า เนิ น การทางตรรกศาสตร์ ตัวดำาเนินการทางตรรกศาสตร์ใช้เปรียบเทียบข้อมูลด้านตรรกศาสตร์ ซึ่งผลลัพธ์ที่ได้จะเป็นจริง (True) หรือเท็จ (False) เท่านั้น ตัวดำาเนินการทางตรรกศาสตร์ ดังตารางที่ 19.4ตารางที ่ 19.4 ตั ว ดำ า เนิ น การทางตรรกศาสตร์ตัวดำาเนินการในการ คำาอธิบาย ตัวอย่าง กำาหนดค่า ! นิเสธ (NOT) !p เป็นจริง เมื่อค่า p เป็นเท็จ และเป็นเท็จเมื่อค่า p เป็นจริง && และ (AND) P && p เป็นจริงเมื่อ p และ q เป็นจริง || หรือ (OR) P || q เป็นจริงเมื่อ p และ q เป็นเท็จ ^ Exclusive OR p ^ q เป็นจริงเมื่อ p และ q มีค่าต่างกัน
  • 14. ตั ว ดำ า เนิ น การในการกำ า หนดค่ า ตัวดำาเนินการในการกำาหนดค่า สามารถใช้ในการกำาหนดค่าให้กับตัวแปรตัวดำาเนินการในการกำาหนดค่าดังตารางที่ ١٩.٥ตารางที ่ ١٩.٥ ตั ว ดำ า เนิ น การในการกำ า หนดค่ า ตัวดำาเนินการในการ คำาอธิบายบาย ตัวอย่าง กำาหนดค่า = กำาหนดค่า x = y; หมายถึง นำาค่า y ให้กับ x += เพิ่มลดแล้วกำาหนดค่า x += y; มีค่าเท่ากับ x = x + y; -= ลดค่าแล้วกำาหนดค่า x -= y; มีค่าเท่ากับ x = x - y; *= คูณแล้วกำาหนดค่า x *= y; มีค่าเท่ากับ x = x * y; /= หารแล้วกำาหนดค่า x /= y; มีค่าเท่ากับ x = x / y; %= หาเศษจากการหารแล้ว x %= y; มีค่าเท่ากับ x กำาหนดค่า = x % y;