LAB # 4 Computer Programming 1 1. พิจารณาโปรแกรมต่อไปนี้ #include <iostream.h> int main() { int i, j, n; cout <<"Enter N = "; cin >> n; i = n; while (i >= 1) { j = 1; while (j < i) { cout << " "; j++; } while (j <= n) { cout << "*"; cout << "\n"; i--; 1.1 โปรแกรมนี้ให้ผลลัพธ์อะไร เมื่อป้อนค่า 5 ? 1.2 โปรแกรมนี้ให้ผลลัพธ์อะไร เมื่อป้อนค่า 10 ? Lab4-1.cpp
ข้อ 2 จงเขียนโปรแกรมเพื่อทำการวาดรูปสามเหลี่ยม 4 แบบ ดังนี้ 2.1 2.3 ข้อ 2 จงเขียนโปรแกรมเพื่อทำการวาดรูปสามเหลี่ยม 4 แบบ ดังนี้ 2.1 2.3 2.2 2.4 เมื่อข้อมูลเป็น 5 * ** *** **** ***** * ** *** **** ***** Lab4-21.cpp Lab4-23.cpp ***** **** *** ** * ***** **** *** ** * Lab4-22.cpp Lab4-24.cpp
3. จงเขียนโปรแกรมเพื่อรับค่าจำนวนเต็ม และแสดงรูปสามเหลี่ยมซึ่งมีรูปแบบดังต่อไปนี้ โดยใช้คำสั่ง while 1: * 2: *** 3: ***** ... N: ******* Lab4-3.cpp 2N – 1 ตัว Example 1 Enter N = 3 * *** ***** Example 2 Enter N = 5 * *** ***** ******* ********* หมายเหตุ (สีน้ำตาลแสดงหมายเลขบรรทัด, สีเขียวแสดงข้อมูลที่ป้อน, สีแดงแสดงผลลัพธ์ และ N คือค่าที่ป้อน) Hint: แก้ไขโปรแกรมจากข้อ 1ให้แสดง * ในแต่ละบรรทัดที่ i อีก i – 1 ตัว
4. หลังจากเดินทางกลับจากประเทศฝรั่งเศส Mr 4. หลังจากเดินทางกลับจากประเทศฝรั่งเศส Mr.Veer รู้สึกเบื่อสิ่งรอบๆ ตัว จึงต้องการจะเขียนกากบาทตัวใหญ่ๆ จงเขียนโปรแกรมเพื่อช่วย Mr.Veer ในการเขียนกากบาทดังกล่าว โดยรับค่าจำนวนเต็ม และแสดงรูปกากบาทซึ่งรูปแบบดังต่อไปนี้ โดยใช้คำสั่ง for และ/หรือ while 1: x x 2: x x ... N: x 2N-1: x x มีช่องว่าง 2N-3 ตัว Example 2 Enter N = 4 x x x x x x x Lab4-4.cpp Example 1 Enter N = 3 x x x x x หมายเหตุ (สีน้ำตาลแสดงหมายเลขบรรทัด, สีเขียวแสดงข้อมูลที่ป้อน, สีแดงแสดงผลลัพธ์ และ N คือค่าที่ป้อน) Hint: แก้ไขโปรแกรมจากข้อ 6 ให้แสดงช่องว่างตรงกลาง ในแต่ละบรรทัดที่ i < N จำนวน 2(N - i) - 1 ตัว และ ในแต่ละบรรทัดที่ i > N จำนวน 2(i - N) - 1 ตัว
5. จงเขียนโปรแกรมเพื่อรับค่า N และ รับรหัสและคะแนนของนักเรียน N คน แล้วแสดงรหัสนักเรียนและคะแนนของนักเรียนทั้งหมดพร้อมระบุว่านักเรียนแต่ละคนมีคะแนนต่ำกว่า มากกว่า หรือ เท่ากับ คะแนนเฉลี่ย พร้อมทั้งสรุปว่ามีนักเรียนที่คะแนนมากกว่าคะแนนเฉลี่ยกี่คน และน้อยกว่าคะแนนเฉลี่ยกี่คนโดยที่จำนวนนักเรียนมีไม่เกิน 20 คน รหัสนักเรียนเป็นจำนวนเต็มมีค่าไม่เกิน 1000 Example Enter N = 3 Student 1 ID = 100 Student 1 Score = 59 Student 2 ID = 200 Student 2 Score = 41 Student 3 ID = 300 Student 3 Score = 50 ID 100 ; Score = 59 ; Above mean ID 200 ; Score = 41 ; Below mean ID 300 ; Score = 50 ; Mean Total Above mean = 1 Below mean = 1 Equal mean = 1 Lab4-5.cpp หมายเหตุ สีน้ำตาลแสดงหมายเลขบรรทัด, สีเขียวแสดงข้อมูลที่ป้อน, สีแดงแสดงผลลัพธ์ และ N คือค่าที่ป้อน
6. โปรแกรมต่อไปนี้เป็นโปรแกรมสำหรับรับค่า N และรับจำนวนเต็มที่มีค่าระหว่าง 0 ถึง 9 จำนวน N ตัว นับจำนวนเต็มแต่ละค่าที่ป้อนแล้วแสดงผล Lab4-6.cpp Example Enter N = 5 Enter integer 1 = 5 Enter integer 2 = 3 Enter integer 3 = 2 Enter integer 4 = 5 Enter integer 5 = 9 Example (cont.) Ineger 1 = 0 Integer 2 = 1 Integer 3 = 1 Integer 5 = 2 Integer 6 = 1 Integer 7 = 0 Integer 8 = 0 Integer 9 = 1 หมายเหตุ สีน้ำตาลแสดงหมายเลขบรรทัด, สีเขียวแสดงข้อมูลที่ป้อน, สีแดงแสดงผลลัพธ์ และ N คือค่าที่ป้อน
7 . จงเขียนโปรแกรมเพื่อรับค่า N และ รับ รหัส อายุ และ คะแนน ของผู้เข้าเรียนโรงเรียนสอนขับรถ N คน แล้ว แสดงรหัสของผู้ที่สามารถเข้าสอบใบขับขี่ได้ คือต้องมีอายุมากกว่า 15 ปี และมีคะแนนมากกว่า 60 จำนวนผู้เข้าเรียนมีไม่เกิน 100 คน Lab4-7.cpp Example Enter N = 5 ID = 4801 Age = 17 Score = 75 ID = 4802 Age = 20 Score = 54 ID = 4803 Age = 18 Score = 49 Example (cont.) ID = 4804 Age = 22 Score = 60 ID = 4805 Age = 16 Score = 39 ID = 4802 หมายเหตุ สีน้ำตาลแสดงหมายเลขบรรทัด, สีเขียวแสดงข้อมูลที่ป้อน, สีแดงแสดงผลลัพธ์ และ N คือค่าที่ป้อน
8. จงเขียนโปรแกรมเพื่อรับชื่อและคะแนนของนิสิต โดยโปรแกรมจะหยุดการทำงานเมื่อชื่อของนิสิตเป็น “EXIT” แล้วแสดง ชื่อของนิสิตที่มีคะแนนน้อยที่สุด (ใช้ string) Lab4-8.cpp Example 1 Enter name = Nathee Enter score = 69 Enter name = Somsri Enter score = 57 Enter name = Santi Enter score = 81 Enter name = Prapai Enter score = 65 Enter name = EXIT Prapai Example 2 Enter name = Malee Enter score = 89 Enter name = Pichai Enter score = 57 Enter name = Saitarn Enter score = 48 Enter name = Chidchob Enter score = 72 Enter name = EXIT Saitarn หมายเหตุ สีเขียวแสดงข้อมูลที่ป้อน, สีแดงแสดงผลลัพธ์
9. จงเขียนโปรแกรมเพื่อรับ string แล้ว กลับ string จาก ซ้ายไปขวา ดังตัวอย่าง Lab4-9.cpp Example 1 Enter string = Hello Reverse string = olleH Example 2 Enter string = live Reverse string = evil Example 3 Enter string = abcdef Reverse string = fedcba Example 4 Enter string = fedcba Reverse string = abcdef Example 5 Enter string = stand Reverse string = dnats Example 6 Enter string = than Reverse string = nath หมายเหตุ สีเขียวแสดงข้อมูลที่ป้อน, สีแดงแสดงผลลัพธ์
10. จงเขียนโปรแกรมรับจำนวนเต็ม N และ รับ string จำนวน N แล้วนับจำนวนตัวอักษร a, e, i, o และ u Lab4-10.cpp Example 1 Enter N = 5 Enter name = is Enter name = am Enter name = are Enter name = was Enter name = were a = 3 e = 3 i = 1 o = 0 u = 0 Example 2 Enter N = 6 Enter name = world Enter name = is Enter name = not Enter name = enough Enter name = jame Enter name = born a = 1 e = 2 i = 1 o = 4 u = 1 หมายเหตุ สีเขียวแสดงข้อมูลที่ป้อน, สีแดงแสดงผลลัพธ์