Soạn thảo 1 chương trình có tên rec py để vẽ một hình chữ nhật bằng dấu *

Đầu vào sẽ là số nguyên a là chiều cao của hình chữ nhật, số nguyên b là chiều rộng của hình chữ nhật, yêu cầu của bài toán là In hình chữ nhật chiều cao a , chiều rộng b ra màn hình bằng dấu sao trong C.

2. Lời giải

Để giải được bài tập In hình chữ nhật chiều cao a , chiều rộng b ra màn hình bằng dấu sao trong C. bạn phải có kiến thức về toán học cơ bản, có kiến thức về nhập xuất cơ bản và cách sử vòng lặp for trong lập trình C.

Các bước thực hiện bài toán như sau:

Bước 1: Khai báo int a, b là chiều rộng và chiều cao của hình chữ nhật.

Bước 2: Nhập dữ liệu vào a và b nếu a<0 yêu cầu nhập lại a; nếu b<0 yêu cầu nhập lại b.

Bước 3: Chúng ta dùng hai vòng lặp : Vòng lặp đầu tiên dùng để điều kiển chiều cao của hình chữ nhật. Vòng lặp thứ hai dùng để điều khiển chiều rộng của hình chữ nhât. Ta sử dụng vòng lặp for bắt đầu từ int i = 1, kết thúc khi i<=a và mỗi lần i tăng lên 1; trong vòng for i ta sử dụng vòng lặp for bắt đầu từ int j = 1, kết thúc khi j<=b và mỗi lần j tăng lên 1 và in ra dấu ‘ * ‘.

Bước 4: In hình chữ nhật ra màn hình.

#include
int main()
{
    //khai bao a, b
    int a, b; 
    //nhap du lieu cho a
    do 
    {
        printf("Nhap chieu cao cua hinh chu nhat a = ");
    	scanf("%d",&a);
    }while(a<0);
    //nhap du lieu cho b
    do 
    {
        printf("Nhap chieu cao cua hinh chu nhat b = ");
    	scanf("%d",&b);
    }while(b<0);
    //vong for dung de dieu khien chieu cao
    for(int i = 1; i <= a; ++i)
    {
    	//vong for dung de dieu khien chieu rong
        for(int j = 1; j <= b; ++j) 
        {
            printf("*");
        }
        printf("\n"); //xuong dong khi in xong 1 hang 
    }
}

Ví dụ tôi nhập a=3 và b=4

Kết quả:

Nhap chieu cao cua hinh chu nhat a = 3
Nhap chieu cao cua hinh chu nhat b = 4
****
****
****3. Tổng kết

Để thực hiện giải bài tập In hình chữ nhật ra màn hình bằng dấu sao trong C bạn đọc cần phải có kiến thức cơ bản về ngôn ngữ lập trình C, bạn cần nắm vững cách nhập xuất căn bản và các cách sử dụng vòng lặp for trong C và các phép toán học cơ bản.

Để giúp các bạn thành thạo hơn trong việc sử dụng vòng lặp for trong python.Trong bài viết kì này Lập trình không khó sẽ hướng dẫn các bạn làm một số bài tập nhỏ sử dụng vòng for trong python.

NỘI DUNG BÀI VIẾT

  • Bài 1: in ra tam giác vuông cân
  • Bài 2: in ra một tam giác cân
  • Bài 3: in ra một hình thoi
  • Bài 4: in hình bàn cờ

Bài 1: in ra tam giác vuông cân

1

2

3

4

#chương trình in tam giác vuông cân

for i in range(1,5):

        s = '*'*i

        print(s)

Kết quả:

1

2

3

4

*

**

***

****

Việc in ra một tam giác vuông cân trong python khá là đơn giản, hãy nhớ đến toán tử * mà mình đã nhắc đến trong bài chuỗi trong python. Toán tử này cho phép chúng ta lặp lại một chuỗi bất kì.

Bài 2: in ra một tam giác cân

1

2

3

4

5

6

7

#chương trình in tam giác cân

n = 5

for i in range(1, n):

    s = n - i

    k = s * " "

    print(k, end='')

    print(((2 * i) - 1) * '*')

Kết quả:

1

2

3

4

   *

  ***

*****

*******

Hãy để ý tới phần kết quả, một hình tam giác cân như thế này gồm 2 phần.

Phần đầu là các khoảng trắng ở trước mỗi dòng.

1

2

3

s = n - i

k = s * " "

print(k, end='')

Đoạn code này có nhiệm vụ in ra các khoảng trắng đó, ở đây có end='' là để sau khi in xong một khoảng trắng thì con trỏ sẽ ở lại hàng đó để tiếp tục in các ngôi sao.

1

print((2 * i - 1) * '*')

Và cuối cùng, sau khi in khoảng trắng ở mỗi dòng thì sẽ tới phần in các dấu sao ở dòng đó.

Biểu thức (2*i-1) sẽ đảm bảo số sao mỗi dòng là số lẻ, để số sao ở đỉnh là 1 và nằm ở giữa. Còn nếu không nó sẽ thành như thế này:

Soạn thảo 1 chương trình có tên rec py để vẽ một hình chữ nhật bằng dấu *
Soạn thảo 1 chương trình có tên rec py để vẽ một hình chữ nhật bằng dấu *

Bài 3: in ra một hình thoi

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

#chương trình in hình thoi

n = 5

for i in range(1, n):

    s = n - i

    k = s * " "

 

    print(k, end='')

    print((2 * i - 1) * '*')

 

#in tam giác cân ngược

for i in range(n, 0, -1):

    s = n - i

    k = s * ' '

    print(k, end='')

    print((2 * i - 1) * '*')

Với việc tạo ra một hình thoi, thì chúng ta chỉ cần có một hình tam giác cân như ở trên. và một phần tam giác cân ngược. Và để tạo được tam giác cân ngược đó thì chúng ta chỉ cần đảo thứ tự lặp của vòng lặp for trong python là được.

Bài 4: in hình bàn cờ

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

n=9

#vẽ đường biên trên

print('+', end='')

print((n-1)*'-', end='')

print('+')

 

for i in range(1,n):

    print('|', end='')

    for j in range(1,n):

        if i%2 == j%2:

            print(' ', end='')

        else:

            print('#', end='')

    print('|')

 

#vẽ đường biên dưới

print('+', end='')

print((n-1)*'-', end='')

print('+')

kết quả:

1

2

3

4

5

6

7

8

9

10

+--------+

| # # # #|

|# # # # |

| # # # #|

|# # # # |

| # # # #|

|# # # # |

| # # # #|

|# # # # |

+--------+

Nhìn không giống một bàn cờ cho lắm, tuy nhiên nếu xét đúng tỉ lệ thì có lẽ đây cũng được xem là một bàn cờ 8*8.

Điều kiện ở trong if dùng để đảm bảo các ô có số hàng và số cột giống nhau( 1×1, 2×2, 3×3, …) sẽ có cùng một kí tự khoảng trắng, còn các ô có số hàng và số cột khác nhau( 1×2, 1×3, 1×4, …) sẽ có kí tự #. Như vậy 2 kí tự trên sẽ được xen kẽ nhau.

Như vậy, mình vừa hướng dẫn các bạn một số bài tập nhỏ để vận dụng vòng lặp for trong python. Hy vọng bài viết sẽ giúp các bạn trong việc học lập trình python.