วันอังคารที่ 3 มกราคม พ.ศ. 2555

คำสั่งวนลูปในภาษาซี (loop)

ความหมายของลูป(loop)
ลูป(loop)ในที่นี้มีความหมายว่า การวนซ้ำซึ่งการวนซ้ำในทางภาษาคอมพิวเตอร์ คือ การทำคำสั่งหรือชุดคำสั่งนั้นซ้ำกันหลายๆครั้ง
รูปแบบของลูป
ในการตรวจสอบว่าจะให้ลูปนั้นจบการทำงานเมื่อไรนั้น จะมีรูปแบบของการตรวจสอบเงือนไขอยู่ 2 แบบ
1.Pretest Loop ลูปประเภทนี้จะทำการตรวจสอบเงื่อนไขก่อนว่าเป็นจริง หรือเป็นเท็จถ้าเป็นจริงก็ให้เข้าไปทำคำสั่งหรือชุดคำส่งต่อไป และเมื่อทำคำสั่งหรือชุดคำสั่งเสร็จแล้วก็จะกลับมาทำการตรวจสอบเงื่อนไขอีกครั้ง แลดะจะทำเช่นนี้ไปเรื่อยๆจนกว่าเงื่อนไขจะเป็นเท็จ ก็จบการทำงานของลูป
2.post-Test loop ลูปประเภทนี้จะทำคำสั่งหรือชุดคำสั่งก่อน เมื่อเสร็จแล้วถึงจะมาตรวจสอบเงื่อนไขว่าเป็นจริงหรือเป็นเท็จ ถ้าเป็นจริงก็จะกลับไปทำคำสั่งหรือชุดคำสั่งเดิมอีกครั้งแลดะจะทำจนกว่าเงื่อนไขจะเป็นเท็จเช่นเดียวกัน
การกำหนดและปรับปรุง
ในการใช้ลูป จะมีการกระทำที่สำคัญอยู่ 2 อย่าง ที่จะขาดไม่ได้เลยซึ่งถ้าขาดไปจะทำให้ลูปนั้นไม่ทำงาน หรือลูปทำงานแบบไม่มีวันจบ
1.การกำหนดค่า ก่อนที่เริ่มใช้ลูปจะต้องมีการกำหนดค่าที่นะใช้เป็นตัวควบคุมลูปก่อนซึ่งตัวควบคุมนี้จะทำหน้าที่ในการตรวจอบว่าลูปนั้นได้ทำงานจนจบ
2.การปรับปรุง หลังจากที่ทำคำสั่งหรือชุดคำสั่งไปแล้วไม่มีการปับปรุงค่าของตัวควบคุมลูปก็จะทำให้ลูปนั้นกลายเป็นลูปไม่มีวันจบได้เพราะฉะนั้นจะต้องทำการปรับปรุงค่าของตัวควบคุมลูปทุกครั้งเพื่อจะได้นำค่าของตัวควบคุมไปตรวจสอบกับเงื่อนไขเพื่อจบการทำงานของลูป

ตัวอย่าง
#include<stdio.h>
#include<conio.h>
int main(){
int i,j,k;
i=0;
do{
i++;
printf("%d",i);
}while(i<=10);
printf("\nLast i = %d\n\n",i);

j=0;
while(j<=10)
{
j++;
printf("%d",j);
}
printf("\nLast j = %d\n\n",j);

for(k=0;k<=10;k++){
printf("%d",k);
}
printf("\nLast k=%d",k);
getch();
}

วันพุธที่ 9 พฤศจิกายน พ.ศ. 2554

งานมอบหมายวันพฤหัสที่ 10 พ.ย. 54

1. ให้นักเรียนจด โปรแกรม การหาร ต่อไปนี้ ให้เรียบร้อย
โปรแกรม หารเลข
#include <stdio.h>
#include <conio.h>
int main(){
float number1,number2;
float total;
printf("Please Enter Number1 :");
scanf("%f",&number1);
printf("Please Enter Number2 :");
scanf("%f",&number2);
total = number1 / number2;
printf("Result is %10.2f",total);
getch();
}
2. ทำงานที่มอบหมายทุกอย่าง แล้วส่งสมุดไว้ที่ ห้อง 426
3. เขียนในตารางคะแนน วันที่ 10 พย 54 เรื่อง "การเขียนโปรแกรม"

วันจันทร์ที่ 7 พฤศจิกายน พ.ศ. 2554

โปรแกรมแปลงพื้นที่เป็นหน่วยต่างๆ

ปัญหา : ให้นักเรียนเขียนโปรแกรมแปลงหน่วยพื้นที่ระบบเมตริกซ์เป็นหน่วยไทย โดยที่
1. 1 ไร่ มีพื้นที่ เท่ากับ 1600 ตารางเมตร
2. 1 งาน มีพื้นที่เท่ากับ 400 ตารางเมตร
3. 1 วา มีพื้นที่เท่ากับ 4 ตารางเมตร
ตัวอย่าง
หน้ากรอกข้อมูล Please Enter Square :> 4745
หน้าผลลัพธ์ Your area is :>> 2 rai And 3 ngan And 86 wa And 1 square meters rest.

โดยกระบวนการแก้ปัญหา มีดังต่อไปนี้
1. วิเคราะห์โจทย์ (Job & Problem Analysis)
input : ค่าของพื้นที่หน่วยเมตริก
process : กระบวนการแปลงค่าหน่วยจากเมตริก เป็น จำนวน ไร่ งาน วา และจำนวนที่เหลือ
output : พื้นที่ที่ถูกแปลงเป็น ไร่ งาน วา และ ตารางเมตร
2. เขียนอัลกอริทึม ซึ่งเราเขียนได้ดังนี้
1) กำหนดตัวแปรรับค่าข้อมูลและแสดงผลข้อมูลได้ดังนี้
1.1) int square_meter = รับค่าพื้นที่หน่วยเมตริก
1.2) int rai = เก็บค่าหน่วยไร่
1.3) int sed_rai = เก็บเศษไร่
1.4) int ngan = เก็บค่าหน่วยงาน
1.5) int sed_ngan = เก็บเศษของงาน
1.6) int wa = เก็บค่าหน่วยวา
1.7) int sed_wa = เศษที่เหลือจาก วา เป็น ตารางเมตริก
2) รับค่าจาก square_meter / 1600 เก็บไว้ใน rai
3) หาเศษที่เหลือจากไร่ โดยนำค่า square_meter - rai*1600 แล้วเก็บเอาไว้ใน sed_rai
4) นำค่าจาก sed_rai / 400 เก็บไว้ใน ngan
5) หาเศษที่เหลือจากงาน โดยนำค่า sed_rai - ngan*400 แล้วเก็บเอาไว้ใน sed_ngan
6) รับค่าจาก sed_ngan / 4 เก็บไว้ใน wa
7) หาเศษที่เหลือจากไร่ โดยนำค่า sed_ngan - wa*4แล้วเก็บเอาไว้ใน sed_wa
8) แสดงผลข้อมูลดังนี้
"Result is >>......rai And ..... ngan And ..... wa And ..... square meters rest "
9) จบการทำงาน

3. เขียนเป็นผังงานได้ดังนี้

หมายเหตุ : นักเรียนที่มองไม่เห็น ให้ขยายภาพไปถึงขั้นที่ 3 จึงจะเห็นชัดเจน เพราะ ภาพซูมได้ 3 ระดับโดยคลิกที่ Show Original (ตำแหน่งล่างซ้ายของภาพ)
4. เขียนเป็นโปรแกรมได้ดังนี้

วันพฤหัสบดีที่ 3 พฤศจิกายน พ.ศ. 2554

flow chart โปรแกรมคำนวณเกรด




#include <stdio.h>
#include <conio.h>
main( )
{
int score;
printf("Input score=");
scanf("%d",&score);

if(score>=0&&score<=100) { if(score>=80)
printf("score grade 4",score);

else if(score>=75)
printf("score grade 3.5",score);

else if(score>=70)
printf("score grade 3",score);

else if(score>=65)
printf("score grade 2.5",score);

else if(score>=60)
printf("score grade 2",score);

else if(score>=55)
printf("score grade 1.5",score);

else if(score>=50)
printf("score grade 1",score);

else
printf("score grade 0",score);
}
else
printf("%d error!!!",score);
getch();
}

โปรแกรม หารเลข

#include
#include
int main(){
float number1,number2;
float total;
printf("Please Enter Number1 :");
scanf("%f",&number1);
printf("Please Enter Number2 :");
scanf("%f",&number2);
total = number1 / number2;
printf("Result is %10.2f",total);
getch();

}