ชื่อผู้ใช้งาน
รหัสผ่าน


คำแนะนำและวิธีใช้
มาตรฐานการเรียนรู้และตัวชี้วัด
คำอธิบายรายวิชา
ผลการเรียนรู้
แบบทดสอบก่อนเรียน
 
 
 
 
 
 
 
 
แบบทดสอบหลังเรียน
   


สถิติผู้เยี่ยมชมเว็บไซต์
Today
14
Yesterday
35
This Month
168
Last Month
746
This Year
3,059
Last Year
8,138
เริ่มนับ : 1 มิ.ย.. 2554
 

เรื่องที่ 6 การควบคุมทิศทางการทำงานเป็นรอบด้วยลูป do-while


1. การเขียนรูปแบบของคำสั่ง Do While ข้อใดไม่ถูกต้อง
doคำสั่งที่ต้องการให้ทำงาน ; while (นิพจน์เงื่อนไข) ;
do {คำสั่งที่ต้องการให้ทำงาน :} while (นิพจน์เงื่อนไข) ;
do {คำสั่งที่ 1;
 คำสั่งที่ 2;
            } while (นิพจน์เงื่อนไข) ;

do {คำสั่งที่ 1; คำสั่งที่ 2;

              .......คำสั่งที่ n; }
 while(นิพจน์เงื่อนไข) ;



2. จากโปรแกรมข้างล่างนี้ เมื่อสั่ง Compile และ Run แล้วป้อนค่าแรกเป็น 4 ป้อนข้อมูลเป็น 10, 15, 8, 17 จะได้ผลลัพธ์ตรงกับข้อใด

#include <stdio.h>
 #include <conio.h>
 void main ()
{
  int a, no, x, sub = 99;
  clrscr ();
  printf (“\n How many num for compute ==>”);
  scanf (“%d”, &no);
     a = no;

  do
         {
printf (“\n Input no #%d ==>”,n);
  scanf (“%d”, &x);
  sub = sub – x;
  no --;
         } while (no > 0);
  printf (“\n Subtraction of %d number = %d, a, sub);
  getch ();
 }



Subtraction of 4 number = 149
Subtraction of 4 number = 50
Subtraction of 4 number = 49
Subtraction of number = 149


3. คำสั่งหรือการทำงานของโปรแกรมข้างล่างนี้ ข้อใดกล่าวไม่ถูกต้อง

#include <stdio.h>
 #include <conio.h>
 void main ()
{
  int select;
  clrscr ();
  do
      {
printf (“\n Compute area”);
  printf (“\n 1. Triangle”);
  printf (“\n 2. Rectangle”);
  printf (“\n 3. Stop ”);
  printf (“\n Enter your choice ==>”);
  scanf (“%d”, &select);
  } while (select < 1 || select > 3);
  if (select == 1)
   printf (“\n Compute Tri area”);
  else if (select == 2)
   printf (“\n Compute Rec area”);
   else
   printf (“\n Good bye.”);
  getch ();
 }

โปรแกรมจะแสดงรายการให้เลือก จนกว่าจะป้อนเลขมีค่าน้อยกว่า 1 หรือมากกว่า 3
ถ้าป้อนเลข 1 จะแสดงผลลัพธ์คือ Compute Tri area
ถ้าป้อนเลข 2 จะแสดงผลลัพธ์คือCompute Rec area
ถ้าป้อนเลข 3 จะแสดงผลลัพธ์คือ Good bye.


4. การเขียนคำสั่งหรือการทำงานของโปรแกรมข้างล่างนี้ ข้อใดกล่าวไม่ถูกต้อง

#include <stdio.h>
 #include <conio.h>
 void main ()
 {
  int i = 0;
  clrscr();
  do
 {
printf(“\n i = %d”,i);
  i++;
  } while (i<10);
  getch ();
             }

ผลลัพธ์บรรทัดแรก คือ i = 5
โปรแกรมจะทำงานที่สั่ง i++; จำนวน 9 ครั้ง
โปรแกรมจะออกจากการทำงานวนซ้ำของ do/while เมื่อ i = 10
โปรแกรมจะทำงานตามคำสั่งในบล็อก {} ของ do/while 1 รอบ ก่อนตรวจสอบเงื่อนไข (i<10)


5. จากส่วนของโปรแกรมต่อไปนี้

#include <stdio.h>
#include <conio.h>
 void main ()
{
  charans;
  clrscr ();
  ans = ‘A’;
  do
{
  printf (“Teach your seft c\n”);
  } while (ans = ‘A’);
  }

0

1
2
3


6. หาผลลัพธ์จากการประมวลผลต่อไปนี้

#include <stdio.h>
 #include <conio.h>
 void main ()
{
  int i = 1, j = 10;
  do
{
  if (i > j) break;
  j--;
     } while (++i <= 5);
  printf (“i = %d and j=%d”, i, j);
 }

i = 6 and j = 5
 i = 5 and j = 5
 i = 6 and j = 4
i = 5 and j = 6


7. จากโปรแกรมข้างล่างนี้ มีวัตถุประสงค์เพื่อคำนวณค่าของนิพจน์ใด

#include <stdio.h>
 #include <conio.h>
 void main ()
 {
  int a = 2, m = 2;
  clrscr ();
  do
  {
 a = 2*a;
  m = m*a;
    }
while (a <= 10);
  printf (“\ Answer = %d”,m);
  getch ();
 }

1x2x4x8
2x4x8x16
2x4x6x8x10
1x2x4x8x16


8. จากโปรแกรมข้างล่างนี้ ถ้าต้องการหาค่าของ 2+4+6+...+50 ต้องกำหนด (นิพจน์เงื่อนไข) ตรงกับข้อใด

#include <stdio.h>
 #include <conio.h>
 void main ()
{
  int a = 2, s = 0;
  clrscr ();
  do
{
    s = s+a, a += 2;
  } while (นิพจน์เงื่อนไข);
  printf (“\n Answer = %d”,s);
  getch ();
 }

(a = 50) 
(a< 51) 
(a <= 25)
 (s <= 51)


9. จากโปรแกรมข้างล่างนี้ เมื่อสั่ง Compile และ Run แล้วเลือกพิมพ์ตัวอักษรครั้งละ 1 ตัว โปรแกรมจะออก จากการทำงานในบล็อก do/while เมื่อพิมพ์ตัวอักษรใด

#include <stdio.h>
 #include <conio.h>
 void main ()
{
  charch = ‘a’;
  clrscr ();
  do
{
  printf (“\n Try to find one character.”);
  ch = getch ();
        } while (ch ! = ‘z’);
  printf (\n Yes you found. It is ‘z’.”);
  getch();
 }

a
z
A
p


10. คำสั่งหรือการทำงานข้างล่างนี้ ข้อใดกล่าวได้ถูกต้อง

#include <stdio.h>
 #include <conio.h>
 void main ()
{
  {
  int x, sum;
  sum = 1;
  clrscr ();

  do
 {
  printf (“\n Input number for summation [stop type0]=>”);
  scanf (“%d”, &x);
                                  sum=sum+x;
     } while (นิพจน์เงื่อนไข);
  printf (“\n Answer = %d”, sum);
  getch ();
 }



(นิพจน์เงื่อนไข) ต้องแทนด้วย (x == 0)
ถ้าสั่ง Run แล้วป้อน 4, 7, 8, 0 จะแสดงผลลัพธ์คือ Answer = 20
ถ้าสั่ง Run แล้วป้อน 5, 10 , 15 จะแสดงผลลัพธ์คือ Answer = 30
โปรแกรมนี้จะทำงานไม่สิ้นสุด เพราะว่าไม่มีตัวแปรใช้ตรวจสอบเงื่อนไข


 

 



 




 

เว็บไซต์นี้จัดทำขึ้นเพื่อประกอบการจัดการเรียนการสอนบทเรียนบนเครือข่าย
โดย ครูหทัยชนก ถาแหล่ง
โรงเรียนห้วยซ้อวิทยาคม รัชมังคลาภิเษก
สังกัดสำนักงานเขตพื้นที่การศึกษามัธยมศึกษา เขต 36

( เว็บไซด์สามารถแสดงผลได้ดีที่ Mozilla Firefox ที่ความละเอียด 1024 x 768 pixels )


หน้าแรก เกียวกับเรา แหล่งเรียนรู้ ผลงานนักเรียน ข่าวประชาสัมพันธ์ ติดต่อเรา เว็บบอร์ด
หน้าแรก เกียวกับเรา หน่วยงานที่เกี่ยวข้อง แหล่งเรียนรู้ ผลงานนักเรียน ข่าวประชาสัมพันธ์ ติดต่อเรา เว็บบอร์ด