Thực hành vòng lặp for - Phần 3¶
Tóm lược nội dung
Bài này hướng dẫn một số bài toán có áp dụng vòng lặp for:
- Tạo hình chữ nhật
- Tạo hình tam giác cân
- Tạo hình mũi tên
Bài 1¶
Đề bài¶
Yêu cầu:
Viết chương trình tạo hình chữ nhật như sau:
Đầu vào:
Số hàng và số cột của hình chữ nhật.
Đầu ra:
Hình chữ nhật.
Cách giải đề xuất¶
Ý tưởng chính
Đối với hai cạnh trên và dưới, thao tác lặp là in ra ký tự sao kèm theo khoảng trắng.
Đối với các hàng giữa, thao tác lặp là in ra khoảng trắng.
Viết chương trình
1. Viết hàm render() dùng để tạo hình chữ nhật.
Hàm gồm có hai tham số đầu vào là số hàng row và số cột col, và không có giá trị trả về.
Hàm hoạt động như sau:
- Đặt biến
starlưu ký tự sao kèm khoảng trắng. - Đặt biến
spacelưu hai ký tự khoảng trắng. - In cạnh trên: số lượng
starcũng là số cộtcol. -
Dùng vòng lặp
for, cho biếnrchạy từ0đến trướcrow - 2. Ứng với mỗir:In ra hàng giữa:
starở hai đầuspaceở giữa, với số lượng làcol - 2
-
In cạnh dưới: số lượng
starcũng là số cộtcol.
- In ra chuỗi gồm
collần chuỗistar.
2. Viết chương trình chính:
- Cho người dùng nhập số hàng và số cột, lưu vào biến
rvàc. - Gọi hàm
render()ra thực hiện.
3. Chạy chương trình trên, nhập vô 5 và 10, kết quả như sau:
Bài 2¶
Đề bài¶
Yêu cầu:
Viết chương trình tạo hình tam giác cân như sau:
Đầu vào:
Số hàng của tam giác cân.
Đầu ra:
Hình tam giác cân.
Cách giải đề xuất¶
Ý tưởng chính
Hàng r có số lượng r ký tự sao. Mỗi ký tự sao có kèm theo khoảng trắng.
Tại hàng r, số khoảng trắng đứng trước ký tự sao đầu tiên bằng tổng số hàng từ đi r.
Viết chương trình
1. Viết hàm render() dùng để tạo hình tam giác cân.
Hàm gồm có một tham số đầu vào là row, và không có giá trị trả về.
Hàm hoạt động như sau:
- Đặt biến
starlưu ký tự sao kèm khoảng trắng. -
Đặt biến
spacelưu một ký tự khoảng trắng. -
Dùng vòng lặp
for, cho biếnrchạy từ0đếnrow - 1. Ứng với mỗir:In ra:
space, với số lượng làrow - r - 1star, với số lượng làr + 1
2. Viết chương trình chính:
- Cho người dùng nhập số hàng, lưu vào biến
r. - Gọi hàm
render()ra thực hiện.
3. Chạy chương trình trên, nhập vô 10, kết quả như sau:
Bài 3¶
Đề bài¶
Yêu cầu:
Viết chương trình tạo hình mũi tên như sau:
Đầu vào:
Số hàng của mũi tên.
Đầu ra:
Hình mũi tên.
Cách giải đề xuất¶
Ý tưởng chính
Mũi tên gồm nửa tam giác trên và nửa tam giác dưới.
-
Nửa tam giác trên:
Bao gồm luôn hàng dài nhất, có số lượng ký tự sao bằng với tổng số hàng chia 2 cộng thêm 1.
Hàng
rcó số lượngrký tự sao. -
Nửa tam giác dưới:
Hàng
rcó số lượng ký tự sao là tổng số hàng trừ đir.
Viết chương trình
1. Viết hàm render() dùng để tạo hình tam giác cân.
Hàm gồm có một tham số đầu vào là row, và không có giá trị trả về.
Hàm hoạt động như sau:
- Đặt biến
starlưu ký tự sao kèm khoảng trắng. -
Đặt biến
spacelưu hai ký tự khoảng trắng. -
Đối với nửa tam giác trên: dùng vòng lặp
for, cho biếnrchạy từ0đến trướcrow // 2 + 1. Ứng với mỗir:In ra
star, với số lượng làr + 1. -
Đối với nửa tam giác dưới: dùng vòng lặp
for, cho biếnrchạy từrow // 2 + 1đến trướcrow. Ứng với mỗir:In ra
star, với số lượng làrow - r.
2. Viết chương trình chính:
- Cho người dùng nhập số hàng, lưu vào biến
r. - Gọi hàm
render()ra thực hiện.
3. Chạy chương trình trên, nhập vô 9, kết quả như sau:
Mã nguồn¶
Code đầy đủ được đặt tại: