DES231 · Lab 0 · ตอนที่ 1

เขียน Java กับลูปให้จบด้วยมือ

จบตอนนี้น้องจะอ่านโค้ด Java ออกว่าส่วนไหนทำอะไร เขียนลูปเองได้ และเห็นโจทย์แล้วเขียนเมธอดจนจบได้เองครับ กดเล่นทีละฉาก เมื่อถึงคำถาม เสียงจะหยุดรอให้น้องตอบครับ

ประมาณ 21 นาที ของที่น้องมีแล้ว: ไม่ต้องมีพื้นฐานอะไรเลย เริ่มจากศูนย์ได้ คำถามให้กดตอบ 15 จุด โจทย์ในใบงานครบทั้ง 5 ข้อ

1เขียนครั้งเดียว แล้วให้เครื่องทำซ้ำ

2อ่านโค้ด Java ให้ออก

สามอย่างที่อยู่ในคลาสตัวแปรของคลาส · constructor ที่ใช้ชื่อเดียวกับคลาสและห้ามมีชนิดค่าคืน (เผลอใส่ void ลงไปคือกลายเป็นเมธอดธรรมดาทันที) · และเมธอดที่ต้องมีชนิดค่าคืนเสมอ ถ้าไม่คืนอะไรก็ใส่ void · ส่วนวงเล็บหลังชื่อเมธอดคือช่องรับค่าที่ส่งเข้ามาครับ

3ลูปสามส่วน · while · และเงื่อนไข if

ลำดับที่ห้ามจำผิดตั้งค่าเริ่ม (ครั้งเดียว) → เช็คเงื่อนไข → ทำคำสั่งในบล็อก → อัปเดตตัวนับ → วนกลับไปเช็คเงื่อนไขใหม่ · การอัปเดตเกิดหลังทำบล็อกจบ และถ้าเงื่อนไขเท็จตั้งแต่แรก บล็อกจะไม่ถูกทำเลยสักรอบครับ · ส่วน if เช็คครั้งเดียวแล้วผ่านไป ไม่มีการวนกลับ และการถามว่าเท่ากันไหมต้องใช้เครื่องหมายเท่ากับสองตัวติดกันครับ

4โจทย์ในใบงาน — ลองทำเองทีละข้อ

ทุกข้อเริ่มจากแผง สามคำถามก่อนเขียนลูป — วนกี่รอบ · แต่ละรอบทำอะไร · แต่ละรอบเปลี่ยนอะไร ตอบครบสามข้อเมื่อไร โค้ดจะออกมาเองครับ

Exercise 1 & 2ตารางสูตรคูณ · ลบทีละ k
Complete a java method that makeMultTable(int M) that produces a multiplication table shown in this form. · Complete the method deductK(int M, int k) that generates a sequence of positive numbers M M-k M-2k M-3k ... .
เปิดโจทย์และวิธีทำ Exercise 1 กับ 2

5ลวดลายดาว — ลูปซ้อนลูป

Exercise 3 bสามเหลี่ยมกลับหัว
The method makeDownwardRightTriangle(int w) generates a downward right triangle of width w made by * characters.
เปิดโจทย์และวิธีทำ Exercise 3 b

Exercise 3 c — หน้าจั่วที่มีช่องว่างนำหน้า

สูตรของหน้าจั่วแถวที่ r นับจาก 1 มีช่องว่าง w − r + 1 ตัว แล้วตามด้วยดาว 2r − 1 ตัว · w เท่ากับ 4 จึงได้ 5 แถว แถวกว้างสุด 9 ดวงครับ
Exercise 4ยกกำลัง — เมธอดที่คืนค่า
Write a Java method calculatePower(int base, int exponent) that calculates the power of a base raised to an exponent using a ‘For’ loop.
เปิดโจทย์และวิธีทำ Exercise 4

6Exercise 5 และสรุปสามข้อ

สามอย่างที่นำไปใช้ต่อได้

โครงของไฟล์: ตัวแปรกับเมธอดอยู่ในคลาส โปรแกรมเริ่มเดินที่เมธอด main และเมธอดรับค่าผ่านวงเล็บหลังชื่อครับ
ลูปมีสามส่วนเสมอ: ตั้งค่าเริ่ม · เงื่อนไข · อัปเดตตัวนับ — for เก็บไว้บนหัวลูป ส่วน while แยกกันอยู่คนละที่ · และ if ใช้ตอนบางรอบต้องทำต่างจากรอบอื่นครับ
สามคำถามก่อนเขียนลูป: วนกี่รอบ · แต่ละรอบทำอะไร · แต่ละรอบเปลี่ยนอะไร ตอบครบแล้วโค้ดจะออกมาเองครับ