วันพฤหัสบดีที่ 22 สิงหาคม พ.ศ. 2556

ใบงานที่ 5.2 ทดลองส่งค่าไปยังเมท็อด

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

1.1 โปรแกรมแสดงผลลัพธ์อย่างไร


1.2 ดัดแปลงเมท็อด Main เพื่อให้โปรแกรมแสดงอักขระ 'x' 10 ตัวในบรรทัดแรก อักขระ '*'
      20 ตัวในบรรทัดถัดมา และอักขระ 'v' 30 ตัวในบรรทัดสุดท้าย จากนั้นคัดลอกเฉพาะคำสั่งที่ใช้
     ภายในเมท็อด Main ลงในช่องว่าง
ตัวอย่างผลการทำงาน
xxxxxxxxxx
********************
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvv



ใบงานที่ 5.1 แก้ไขเมท็อดพิมพ์ดาว

ใบงานที่ 5.1
แก้ไขเมท็อดพิมพ์ดาว
ให้ผู้เรียนศึกษาใบความรู้ที่ 5.1 จากนั้นสร้างโปรเจ็กต์และเขียนโปรแกรมตามโจทย์ที่กำหนดให้ต่อไปนี้
1. ดัดแปลงโปรแกรมในตัวอย่างที่ 5.1 เพื่อให้มีการทำงานดังต่อไปนี้
       1.1 ทดลองสร้างเมท็อดอีกอันหนึ่งชื่อ PrintLongerLine ซึ่งมีการทำงานคล้ายกับเมท็อด
              PrintLine แต่พิมพ์ดาวออกมา 20 ดวงแทนที่จะเป็น 10 จากนั้นเขียนเฉพาะการประกาศ

              เมท็อด PrintLongerLine ลงในช่องว่าง
using System;
    class MyClass {
        static void PrinLine() {
            for (int i = 0; i < 20; i++)
            Console.Write('*');
            Console.WriteLine();
            Console.ReadLine();
        }
        static void Main() {
            MyClass.PrinLine();
            MyClass.PrinLine();  
        }
    }


1.2 หลังจากสร้างเมท็อด PrintLongerLine สำเร็จแล้ว แก้ไขเมท็อด Main เพื่อให้โปรแกรม
พิมพ์ดาว 10 ดวงเป็นจำนวน 3 แถว และ 20 ดวงเป็นจำนวน 3 แถว ดังแสดง
**********
**********
**********
********************
********************
********************
1.3 จากนั้นเขียนคำสั่งที่ใช้ภายในเมท็อด Main ลงในช่องว่าง
using System;
    class MyClass {
        static void PrinLineLine() {
            for (int i = 0; i < 10; i++)
            Console.Write('*');
            Console.WriteLine();
           
        }
        static void PrinLine()
        {
            for (int i = 0; i < 20; i++)
                Console.Write('*');
            Console.WriteLine();
        }
        static void Main() {
            MyClass.PrinLineLine();
            MyClass.PrinLineLine();
            MyClass.PrinLineLine();
            MyClass.PrinLine();
            MyClass.PrinLine();
            MyClass.PrinLine();
          
            Console.ReadLine();
        }
    }







ใบงานที่ 4.3 ลำดับตัวเลข

ใบงานที่ 4.3
ลำดับตัวเลข
ให้ผู้เรียนศึกษาใบความรู้ที่ 4.3 แล้วตอบคำถามต่อไปนี้
1. เติมเต็มโปรแกรมต่อไปนี้เพื่อให้โปรแกรมพิมพ์ตัวเลข 0, -1, -2, ..., -56 บนจอภาพ (แสดงตัวเลขบรรทัดละตัว)
class ForEx {
  static void Main() {
    int k;
    for ( __(a)__ ; __(b)__ ; __(c)__ ) {
    ____(d)____;
    }
  }
}

เขียนส่วนที่เติมเต็มลงในตารางด้านล่าง
ช่องว่าง
คำตอบ
__(a)__
k = -56
__(b)__
k <= 0
__(c)__
k++
__(d)__
Console.WriteLine(k)


2. จากข้อ 1 โปรแกรมในตำแหน่ง (a),...,(d) ควรเปลี่ยนเป็นเช่นไรเพื่อให้โปรแกรมแสดงค่า 7, 14,21,...,70 บนจอภาพ
ช่องว่าง
คำตอบ
__(a)__
k =70
__(b)__
k <= 0
__(c)__
k++
__(d)__
Console.WriteLine(k)


ใบงานที่ 4.2 สถิติคะแนนสอบ

ใบงานที่ 4.2
สถิติคะแนนสอบ
ให้ผู้เรียนศึกษาใบความรู้ที่ 4.1 และใบความรู้ที่ 4.2 แล้วเขียนโปรแกรมจากโจทย์ที่กำหนดให้ต่อไปนี้
1. ประมวลผลสถิติเบื้องต้น
งานของท่านคือเขียนโปรแกรมเพื่อช่วยคุณครูผู้สอนภาษา C# คำนวณคะแนนเฉลี่ยของนักเรียนในห้อง
โปรแกรมของท่านจะอ่านคะแนนของนักเรียนทีละรายจนกว่าผู้ใช้จะป้อนค่า -1 เพื่อบ่งบอกจุดสิ้นสุดของ
ข้อมูล จากนั้นให้รายงานจำนวนนักเรียน (นับเอาจากจำนวนคะแนน) และคะแนนเฉลี่ยด้วยทศนิยมสอง
ตำแหน่ง

ตัวอย่างผลการทำงาน
Enter a score, or -1 to quit: 76
Enter a score, or -1 to quit: 56.7
Enter a score, or -1 to quit: 87.4
Enter a score, or -1 to quit: 53.5
Enter a score, or -1 to quit: 90.8
Enter a score, or -1 to quit: 99
Enter a score, or -1 to quit: -1
Number of students is 6
Average score is 77.23

คัดลอกโปรแกรมลงในช่องว่าง
using System;
class While5
{
    static void Main() {
double N = 0, sum, i;
sum = 0;
i = 0;
while (N >= 0) { //Exit while loop when N is negative
Console.Write("Enter a score, or -1 to quit: ");
N = double.Parse(Console.ReadLine());
i++;
sum = sum + N ;
}
Console.WriteLine("Number of students is {0}", i-1);
Console.WriteLine("Average score is{0:f2}", (sum - N) / (i -1));
Console.ReadLine();
}
}





ใบงานที่ 4.1 ผลรวมตัวเลข

ใบงานที่ 4.1
ผลรวมตัวเลข
ให้ผู้เรียนศึกษาใบความรู้ที่ 4.1 แล้วเขียนโปรแกรมจากโจทย์ที่กำหนดให้ต่อไปนี้
โปรแกรมด้านล่างดัดแปลงมาจากโปรแกรมในตัวอย่างที่ 4.3 โดยนอกจากจะรับตัวเลขจากผู้ใช้ไปเรื่อย ๆ
แล้ว โปรแกรมยังคำนวณผลรวมของตัวเลขทั้งหมด (ยกเว้นเลขติดลบตัวสุดท้ายที่ผู้ใช้ ป้อนเพื่อระบุ
จุดสิ้นสุดของข้อมูล) จงทำโปรแกรมให้สมบูรณ์โดยเติมคำสั่งที่เหมาะสมลงในช่องว่าง

using System;
class While5 {
static void Main() {
int N = 0, sum;
___(a)___;
while (N >= 0) { //Exit while loop when N is negative
Console.Write("Please input N: ");
N = int.Parse(Console.ReadLine());
____________(b)____________;
}
____________(c)____________;
Console.WriteLine("Bye Bye!!!");
}
}

ตัวอย่างผลการทำงาน
Please input N: 3
Please input N: 2
Please input N: 599
Please input N: 0
Please input N: -5
Sum = 604
Bye Bye!!!

ช่องว่าง
คำตอบ
__(a)__
sum = 0;
__(b)__
sum = sum + N ;
__(c)__
Console.WriteLine("sum = {0}", (sum-N));


ใบงานที่ 3.5 เครื่องคิดเลขรุ่นใหม่

ใบงานที่ 3.5
เครื่องคิดเลขรุ่นใหม่
ให้ผู้เรียนศึกษาใบความรู้ที่ 3.4 แล้วเขียนโปรแกรมจากโจทย์ที่กำหนดให้ต่อไปนี้
แก้ไขโปรแกรมเครื่องคิดเลขจากตัวอย่างที่ 3.6 เพื่อให้โปรแกรมรองรับตัวดำเนินการเพิ่มอีกสามตัวคือ *,
/, และ ^ ซึ่งคำนวณการคูณ (x × y) การหาร (x ÷ y) และยกกำลัง (Xy^) ตามลำดับ ดังตัวอย่างผลลัพธ์
Enter the first number: 5.2
Enter the second number: 3
Enter the operator: ^
5.2^3 = 140.608

Enter the first number: 1
Enter the second number: 2
Enter the operator: @
Invalid operator!
จากนั้นคัดลอกโปรแกรมลงในช่องว่าง
class Program
    {
        static void Main(string[] args)
        {
            Double x, y;
            Console.WriteLine("Enter the first numbr: ");
            x = Double.Parse(Console.ReadLine());
            Console.WriteLine("Enter the second number: ");
            y = Double.Parse(Console.ReadLine());
            string g;
            Console.Write("Enter the operator: ");
            g = Console.ReadLine();
            switch (g)
            {
                case "*":
                double a;
                a = x * y;
                Console.WriteLine("{0} {1} {2} = {3} ", x, g, y, a );
                break;
                case "/":
                double b;
                b = x / y;
                Console.WriteLine("{0} {1} {2} = {3} ", x, g, y, b);
                break;
                case "^":
                double c;
                c = Math.Pow(x, y);
                Console.WriteLine("{0} {1} {2} = {3} ",x ,g, y, c);
                break;
                default: Console.WriteLine("invalid operator");
                break;
            }
            Console.ReadLine();
        }        
}