แบบฝึกหัดบทที่ 6 ตัวแปรชุด

แบบฝึกหัดบทที่ 6

1. เขียนโปรแกรมเพื่อรับข้อมูล N จำนวน

โดยเก็บข้อมูลในตัวแปรชุด

และให้พิมพ์ข้อมูลในลำดับที่กลับกับการ

ป้อน

ข้อมูล

เช่น

ป้อนข้อมูล

1 2 3 4 5 6 จะพิมพ์คำตอบในลักษณะ 6 5 4 3 2 1

2. เขียนโปรแกรมเพื่อรับข้อมูลเข้ามาเก็บในตัวแปรชุด 2 ชุด

คือ xและ yแต่ละชุดมีข้อมูลเท่ากันคือ N ตัว

ให้หา

ii

ค่า

2/

. N

[(xi

. yi

) y

]

i

i

=1

3. เขียนโปรแกรมเพื่อรับข้อมูลจำนวนเต็มเข้ามาเก็บยังตัวแปรชุด 2 ตัวแปรชุด

ซึ่งมีขนาดเท่ากัน

คือ N โดยมีข้อ

กำหนดในการรับ

ข้อมูลของตัวแปรชุดทั้งคู่

คือ

ข้อมูลตัวแรกจะเป็นข้อมูลอะไรก็ได้แต่จะต้องมีค่าอยู่ในช่วง

1

ถึง 20

ส่วนข้อมูลตัวถัดไปต้องมีค่ามากกว่าสามารถตัวก่อนหน้าตัวมันเอง

โดยมีค่ามากกว่าไม่เกิน 5 เมื่อรับข้อมูลเสร็จ

แล้ว

ให้ทำการรวม (Merge) ตัวแปรชุดทั้งคู่เข้าด้วยกัน

โดยเรียงตามลำดับข้อมูลจากน้อยไปมาก

หากมีค่าเท่ากัน

จะนำค่าใดไปไว้ในตัวแปรชุดก่อนก็ได้

เช่น

ตัวแปรชุด

1

1

3 7 12 14

ตัวแปรชุด 2

2 3 6 11

1

23367 11

12 14 14

ตัวแปรชุดคำตอบ

4. เขียนโปรแกรมโดยใช้ตัวแปรชุด

เพื่อรับข้อมูลชื่อ

และคะแนนสอบของนักเรียนห้องหนึ่งซึ่งมี 50 คน

โดยรับข้อ

มูลเป็นจำนวนเต็ม

โปรแกรมจะต้องมีความสามารถต่าง

ดังนี้

-หาคะแนนเฉลี่ยของนักเรียนทั้งห้อง

-พิมพ์ชื่อและคะแนนของนักเรียนที่ได้คะแนนตํ่ากว่า 50 คะแนน

-คำนวณค่าความแปรปรวนจากสูตร

)

)

2

N

(x

. x

Variant

=. i

.

i

=1

N

1

โดยที่ xแทน

คะแนนของนักเรียนแต่ละคน

i

x แทน

คะแนนเฉลี่ย

N แทน

จำนวนนักเรียนทั้งหมด

150

-พิมพ์กราฟความถี่ของคะแนนซึ่งมีค่าตั้งแต่ 0 ถึง

100 โดยใช้เครื่องหมาย * แทนจำนวนความถี่ของ

คะแนน

โดยแสดงผลทีละ 20 คะแนน

เช่น

0 -*** 3 ->แสดงว่ามีคนได้ 0 คะแนนจำนวน 3 คน

5.

เขียนโปรแกรมเพื่อรับข้อความจากผู้ใช้

ให้แปลงข้อความดังกล่าวโดย

ตัวอักษรใดเป็นตัว a หรือ A ให้แทรก

ข้อความแทนด้วย 555 ตัวอักษรใดเป็นตัว u หรือ U ให้แทนที่ด้วย Hanaga และแสดงผลลัพธ์ที่ได

.

6.

เขียนโปรแกรมเพื่อรับอักขระทางแป้นพิมพ์ทีละ

1

ตัวอักษร

จากนั้นทำการนับจำนวนตัวอักษร A-Z และ a-z

ที่รับเข้าไป

ข้อมูลตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็กจะนับเป็นอักษรตัวเดียวกัน

โดยจะสิ้นสุดการรับข้อมูลเมื่อผู้ใช้

กด “%” จากนั้นทำการพิมพ์ความถี่ของจำนวนแต่ละตัวอักษร A-Z หรือ a-z ที่ป้อนเข้าไป

กำหนดให้ทำการ

พิมพ์ “*” เท่ากับจำนวนค่าความถี่ของการรับแต่ละตัวอักษรที่นับได

.

7. เขียนโปรแกรมเพื่อเก็บข้อมูลต่อไปนี้ลงในตัวแปรชุด

และแสดงผลข้อมูลที่เก็บภายในตัวแปรชุดนั้น

ข้อมูลมีดัง

นี้

( OOO )

( + YY )

( X+Y)

( XX+)

( OOO )

8.

เขียนโปรแกรมเพื่อรับค่าข้อมูลการวัดอุณหภูมิร่างกายของคนไข้รายหนึ่งเป็นเวลา 7 วัน

โดยแต่ละวันจะทำ

การวัดอุณหภูมิ 4 ครั้งในเวลาที่ตรงกันคือ 6.00 น. 12.00 น. 18.00 น. และ 24.00 น. เขียนโปรแกรมเพื่อ

ทำการเก็บข้อมูล

โปรแกรมจะต้องมีความสามารถ

-คำนวณอุณหภูมิสูงที่สุดและตํ่าที่สุดที่วัดได้ในแต่ละวัน

-คำนวณอุณหภูมิเฉลี่ยที่วัดได้ในแต่ละวัน

ทั้ง 7 วัน

-คำนวณอุณหภูมิเฉลี่ยที่ได้ในแต่ละช่วงเวลา

ทั้ง 4 ช่วงเวลา

-คำนวณอุณหภูมิเฉลี่ยรวมทั้งหมด

9.

เขียนโปรแกรมเพื่อเก็บข้อมูลประตูได้และเสียในการแข่งขันฟุตบอลรายการหนึ่ง

ซึ่งมีทีมฟุตบอลเข้าร่วมแข่งขัน

4 ทีม

โดยแต่ละทีมจะทำการแข่งขันแบบพบกันหมด (เล่นทีมละ 3 ครั้ง) ให้เขียนโปรแกรมโดยแยกประตูได้และ

เสียออกเป็นตัวแปรชุด 2 มิติจำนวน 2 ตัวแปรชุด

โปรแกรมจะทำหน้าที่

-รับข้อมูลประตูได้และเสียของแต่ละทีม

-หาผลต่างประตูได้เสียในการแข่งขันแต่ละครั้งของแต่ละทีม

และให้แสดงทีมที่มีผลต่างดีที่สุด

-หาผลรวมประตูที่ได้ของแต่ละทีม

และให้แสดงทีมที่ทำประตูได้มากที่ได้

-หาประตูได้และเสียเฉลี่ยของแต่ละทีม

151

10. เขียนโปรแกรมเพื่อสร้างตารางสรุปจำนวนนักศึกษาโดยแยกตามคณะและชั้นปีที่นักศึกษาสังกัด

ดังตาราง

First Year Second Year Third Year Fourth Year >4 Total

Faculty 1

Faculty 2

Total

1500 1200 1150 1100 20 4970

3500 3300 3200 3100 100 12200

… … … … … …

โปรแกรมจะรับข้อมูลจำนวนนักศึกษาซึ่งแยกตามคณะและชั้นปี

ให้เก็บข้อมูลโดยใช้ตัวแปรชุด 2 มิติ

หลังจากนั้นให้สร้างตารางสรุปจำนวนนักศึกษา

โดยที่มีการสรุปยอดรวมของนักศึกษาแยกตามคณะ

และชั้นปี

รวมทั้งสรุปยอดนักศึกษารวมด้วย

11. เขียนโปรแกรมเพื่อหาค่าผลบวกของเมตริกซ์ 2 เมตริกซ์ที่มีขนาดมิติเท่ากัน

คือ 3×2 ให้รับข้อมูลของเมตริกซ์

ทั้ง 2 และคำนวณค่าผลบวกของเมตริกซ์ที่ได้

12. เขียนโปรแกรมเพื่อหาผลคูณของเมตริกซ์ 2 เมตริกซ

์เมตริกซ์แรกมีขนาด NxM เมตริกที่ 2 มีขนาด MxN ให้หา

ผลคูณของเมตริกซ์ทั้ง 2 ซึ่งมีขนาดของเมตริกซ์คำตอบเท่ากับ NxN

13. เขียนโปรแกรมเพื่อรับข้อมูลเมตริกซ์ขนาด NxN แล้วให้ตรวจสอบว่าเมตริกซ์นั้นเป็น Upper-triangular Matrix

หรือ Lower-triangular Matrix หรือไม่

โดยที่ Triangular Matrix คือ

เมตริกซ์ขนาด NxN ที่มีการแบ่งข้อมูลออก

เป็น 2 ส่วนตามเส้นแนวทะแยง

คือ

เป็นด้านบนและด้านล่าง

หากด้านบนมีค่าเป็น 0 ทั้งหมด

เรียกว่า Upper-

triangular Matrix หากด้านล่างมีค่าเป็น 0 ทั้งหมด

เรียกว่า Lower-triangular Matrix ตัวอย่างเช่น

Upper-triangular Matrix Lower-triangular Matrix

a 0

b c

a 0 0

b c 0

d e f

a b

0 c

a b c

0 d e

0 0 f

ใส่ความเห็น