You are on page 1of 12

2.

CẤU TRÚC RẼ NHÁNH


2.1. CẤU TRÚC IF…
Bài 2.1.1
Xây dựng chương trình: Nhập 3 số thực x, y, z. Tìm và in ra màn
hình:
a. max(x, x-y, y-z, z-x) và min (y, x+y, y+z, z+x)
b. max(x, y, x+y+z, xyz)
Yêu cầu:
a. Vẽ lưu đồ thuật toán cho mỗi trường hợp.
b. Cài đặt chương trình và chạy trên máy tính.
Bài 2.1.2
Xây dựng chương trình giải và biện luận phương trình bậc 2: ax2 +
bx + c = 0 (a ≠ 0) với các hệ số a, b, c nhập từ bàn phím.
Yêu cầu:
a. Vẽ lưu đồ thuật toán.
b. Cài đặt chương trình và chạy trên máy tính.
Bài 2.1.3
Xây dựng chương trình giải và biện luận phương trình bậc nhất một
ẩn ax + b = 0 với các hệ số a, b nhập từ bàn phím.
Yêu cầu:
a. Vẽ lưu đồ thuật toán.
b. Cài đặt chương trình và chạy trên máy tính.
Bài 2.1.4
Xây dựng chương trình: Nhập số thực x, tính và in ra màn hình giá
trị của biểu thức:
5cos(3x+2)- ln(x2 + 2) khi 2<x<3
y = (x + 3)2 khi x>=3
1 với các trường hợp còn lại

Yêu cầu:
a. Vẽ lưu đồ thuật toán.
b. Cài đặt chương trình và chạy trên máy tính.
Bài 2.1.5
Xây dựng chương trình: Nhập vào 3 số thực a, b, c. Cho biết 3 số đó
có thỏa mãn là độ dài 3 cạnh của 1 tam giác không? Nếu có thì tính
và in ra màn hình chu vi, diện tích, bán kính đường tròn ngoại tiếp
và đường cao vuông góc với cạnh đáy a tương ứng của tam giác đó.
Yêu cầu:
a. Vẽ lưu đồ thuật toán.
b. Cài đặt chương trình và chạy trên máy tính.
Bài 2.1.6
Xây dựng chương trình tính và hiển thị ra màn hình tiền điện phải
trả của một hộ gia đình trong một tháng. Với số kw/h điện tiêu thụ
trong tháng là n được nhập vào từ bàn phím và giá 1kw/h được tính
như sau:
100 kwh đầu tiên: 750đ/1kwh
Từ kwh thứ 101 đến kwh thứ 200: 1250đ/1kwh
Từ kwh thứ 201 đến kwh thứ 300: 1750đ/1kwh
Từ kwh thứ 301 trở đi: 3000đ/1kwh
Yêu cầu:
a. Vẽ lưu đồ thuật toán.
b. Cài đặt chương trình và chạy trên máy tính.
Bài 2.1.7
Xây dựng chương trình: Giải và biện luận hệ phương trình sau:
a1x  b1y  c1

a 2 x  b 2 y  c 2
với các hệ số được nhập từ bàn phím.
Yêu cầu:
a. Vẽ lưu đồ thuật toán.
b. Cài đặt chương trình và chạy trên máy tính.
Bài 2.1.8
Xây dựng chương trình: Nhập tọa độ 3 đỉnh A(x1,y1), B(x2,y2) và
C(x3,y3) của 1 tam giác. Tính và hiển thị ra màn hình diện tích tam
giác tạo bởi 3 điểm đó (nếu 3 điểm đó không thẳng hàng). Thông
báo trường hợp 3 điểm đó thẳng hàng.
Yêu cầu:
a. Vẽ lưu đồ thuật toán.
b. Cài đặt chương trình và chạy trên máy tính.
Bài 2.1.9
Xây dựng chương trình: Nhập 3 số nguyên a,b,c sắp xếp theo thứ tự
tăng dần cho ba số a, b, c và in ra màn hình.
Yêu cầu:
a. Vẽ lưu đồ thuật toán.
b. Cài đặt chương trình và chạy trên máy tính.
Bài 2.1.10
Xây dựng chương trình: Nhập số tự nhiên n (n 99). Kiểm tra xem
số n2 có bằng tổng lập phương các chữ số của n hay không? Thông
báo kết quả ra màn hình.
Yêu cầu:
a. Vẽ lưu đồ thuật toán.
b. Cài đặt chương trình và chạy trên máy tính.
Bài 2.1.11
Xây dựng chương trình: Nhập số tự nhiên n (n 1000) và thông báo
ra màn hình cho biết:
a. Số tự nhiên n có bao nhiêu chữ số.
b. Tổng các chữ số của n.
c. Chữ số cuối cùng của n.
d. Tìm chữ số có nghĩa đầu tiên của n.
e. Nếu n 10. Hãy tìm chữ số hàng chục của n.
Yêu cầu:
a. Vẽ lưu đồ thuật toán cho mỗi trường hợp.
b. Cài đặt chương trình tương ứng và chạy trên máy tính.
2.2. CẤU TRÚC SWITCH …
Bài 2.2.1
Xây dựng chương trình: Nhập một ký tự từ bàn phím, kiểm tra và
thông báo ra màn hình cho biết kí tự vừa nhập là nguyên âm, chữ số
hay các loại ký tự khác.
Yêu cầu:
a. Vẽ lưu đồ thuật toán cho mỗi trường hợp.
b. Cài đặt chương trình tương ứng và chạy trên máy tính.
Bài 2.2.2
Xây dựng chương trình: Nhập vào số nguyên n (0  n  9) in ra màn
hình cách đọc tiếng việt của số đó (ví dụ: n=9 thì đọc là “số chín”).
Yêu cầu:
a. Vẽ lưu đồ thuật toán.
b. Cài đặt chương trình và chạy trên máy tính.
Bài 2.2.3
Xây dựng chương trình: Nhập vào một ký tự lưu trong biến “chọn”,
dựa vào giá trị của biến “chọn” để thực hiện các công việc tương
ứng:
 Nếu biến “chọn” nhận giá trị = ‘A’ thì nhập chiều dài, chiều
rộng sau đó tính và in ra màn hình chu vi và diện tích hình chữ
nhật.
 Nếu biến “chọn” nhận giá trị = ‘B’ thì nhập độ dài 3 cạnh 1
tam giác, tính và in ra màn hình chu vi và diện tích tam giác
nếu 3 cạnh thỏa mãn.
 Nếu biến “chọn” nhận giá trị = ‘C’ thì nhập độ dài bán kính
hình tròn, tính và in ra màn hình chu vi và diện tích của hình
tròn.
 Nếu biến “chọn” nhận giá trị = ‘D’ thì nhập đáy lớn, đáy nhỏ,
chiều cao, tính và in ra màn hình diện tích hình thang.
 Nếu biến “chọn” nhận các giá trị khác thì thông báo “Bạn chọn
sai”.
Yêu cầu:
a. Vẽ lưu đồ thuật toán.
b. Cài đặt chương trình và chạy trên máy tính.
Bài 2.2.4
Một cửa hàng bán vải lụa Hà Đông có bán 4 loại vải: 1, 2, 3 và 4.
Đơn giá bán 1 mét vải theo từng loại là như sau:
 Loại 1 là 200.000 đ/1 mét
 Loại 2 là 170.000 đ/1 mét
 Loại 3 là 120.000 đ/1 mét
 Loại 4 là 90.000 đ/1 mét.
Xây dựng chương trình: Nhập vào số mét vải và loại vải mà một
khách hàng mua, tính và hiển thị ra mà hình số tiền mà khách hàng
phải trả.
Yêu cầu:
a. Vẽ lưu đồ thuật toán.
b. Cài đặt chương trình và chạy trên máy tính.
Bài 2.2.5
Xây dựng chương trình: Nhập hai số nguyên x, y và ký tự ch. Dựa
vào giá trị của ký tự ch để thực hiện các công việc sau:
 Nếu ch là ký hiệu phép toán + thì tính và in ra màn hình tổng
của x và y.
 Nếu ch là ký hiệu phép toán - thì tính và in ra màn hình hiệu
của x và y.
 Nếu ch là ký hiệu phép toán * thì tính và in ra màn hình tích
của x và y.
 Nếu ch là ký hiệu phép toán % thì tính và in ra màn hình phần
dư của phép chia x cho y.
 Nếu ch là ký hiệu phép toán / thì tính và in ra màn hình thương
của x và y nếu y khác 0.
Yêu cầu:
a. Vẽ lưu đồ thuật toán.
b. Cài đặt chương trình và chạy trên máy tính.
3. CẤU TRÚC LẶP
3.1.1. VÒNG LẶP FOR…
Bài 3.1.1
Xây dựng chương trình: Nhập số nguyên dương n (2≤n≤10). In bảng
cửu chương n lên màn hình.
Yêu cầu:
a. Vẽ lưu đồ thuật toán.
b. Cài đặt chương trình và chạy trên máy tính.
Bài 3.1.2
Xây dựng chương trình: In ra màn hình các số từ 0 .. 99 theo định
dạng sau:
0 1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16 17 18 19

90 91 92 93 94 95 96 97 98 99
Yêu cầu:
a. Vẽ lưu đồ thuật toán.
b. Cài đặt chương trình và chạy trên máy tính.
Bài 3.1.3.
Xây dựng chương trình: Tìm và hiển thị ra màn hình tất cả các số tự
nhiên có 3 chữ số sao cho các số đó chia cho 6 dư 2 và tổng các chữ
số của nó bằng 20.
Yêu cầu:
a. Vẽ lưu đồ thuật toán.
b. Cài đặt chương trình và chạy trên máy tính.
Bài 3.1.4
Xây dựng chương trình: Hiển thị ra màn hình tất cả các phương án
kết hợp để có số 835 đồng từ 4 loại giấy bạc loại 50 đ, 20 đ, 10 đ, và
5 đ.
Yêu cầu:
a. Vẽ lưu đồ thuật toán.
b. Cài đặt chương trình và chạy trên máy tính.
Bài 3.1.5
Xây dựng chương trình: Nhập số tự nhiên n, tính và in ra màn hình
các tổng sau:
a. 1+2+3+…+n b. 1+1/2+1/3+…+1/n
c. n = 1.2.3... n d. 1+2+4+…+2n
n
1 n n n
e.  2 f.  3
1 1 1
f.  g.  2
i 1 i i 1 i i 1 i! i 1 ( 2i )

h. 1  2 1  2 ....1  2 


1 1 1
i. 1 + 22 + 32 + ... + n2
 1  2   n 
1.3.5...n n le
j. n!! 
2.4.6...n n chan
Yêu cầu:
a. Vẽ lưu đồ thuật toán cho mỗi trường hợp.
b. Cài đặt các chương trình tương ứng và chạy trên máy tính.
Bài 3.1.6
Xây dựng chương trình giải bài toán:
Vừa gà vừa chó
Bó lại cho tròn
Ba mươi sáu (36) con
Một trăm (100) chân chẵn
Hỏi có bao nhiêu con gà, bao nhiêu con chó.
Yêu cầu:
a. Vẽ lưu đồ thuật toán.
b. Cài đặt chương trình tương ứng và chạy trên máy tính.
Bài 3.1.7
Xây dựng chương trình giải bài toán:
Trăm (100) trâu, trăm (100) cỏ
Trâu đứng ăn 5, trâu nằm ăn 3
Lụ khụ trâu già 3 con một bó
Hỏi mỗi loại trâu có bao nhiêu con?
Yêu cầu:
a. Vẽ lưu đồ thuật toán.
b. Cài đặt chương trình tương ứng và chạy trên máy tính.
Bài 3.1.8
Xây dựng chương trình: Tìm và hiển thị ra màn hình các nghiệm
nguyên dương của phương trình vô định: 4x + 3y = 50
Yêu cầu:
a. Vẽ lưu đồ thuật toán.
b. Cài đặt chương trình tương ứng và chạy trên máy tính.
Bài 3.1.9
Xây dựng chương trình: Nhập vào một số tự nhiên n và số thực x.
Tính và in ra màn hình giá trị các biểu thức dưới đây:
a.  x  2  x 2  2 .... x n  2 
1 1 1
b. 1  x  x 2  ....  x n
 1  2   n 
x x2 xn
c. 1  x  x  x  ....  (1) x
2 3 n n
d. 1    .... 
1 2 n
x x 2 x3 n x
n
x x 2
xn
e. 1     ....  (1) f. 1    .... 
1 2 3 n 1! 2! n!
g. A = sinx + sin2x + ... + sinnx h. B = sinx + sinx2
+ ... + sinxn
x2 x4 n x
2n
i. 1    ....  (1) j.
2! 4! (2n)!
x  2 x2  4 x n  2n
1   .... 
1! 2! n!
Yêu cầu:
a. Vẽ lưu đồ thuật toán cho mỗi trường hợp.
b. Cài đặt các chương trình tương ứng và chạy trên máy tính.
Bài 3.1.10
Xây dựng chương trình: Nhập vào 2 số tự nhiên n, m. Tính và hiển
n! m!
thị ra màn hình giá trị biểu thức:
(n  m)!
Bài 3.1.11
Xây dựng chương trình: Nhập số nguyên dương n, kiểm tra n có
phải là số nguyên tố hay không, thông báo kết quả ra màn hình.
Bài 3.1.12
Xây dựng chương trình: Nhập số nguyên dương n>10, tìm và hiển
thị ra màn hình n số nguyên tố đầu tiên và tổng của chúng.
Bài 3.1.13
Xây dựng chương trình: Nhập vào một số tự nhiên n>50. Tìm và in
ra màn hình các số nguyên tố nhỏ hơn hoặc bằng n và tổng của
chúng.
Bài 3.1.14
Xây dựng chương trình: Nhập số nguyên dương n>10, kiểm tra xem
n có là số nguyên tố hay không, nếu không thì phân tích n thành các
thừa số nguyên tố, hiển thị kết quả ra màn hình (ví dụ: 18=3x3x2,
50=5x5x2)
Bài 3.1.15
Một số hoàn hảo là một số có tổng các ước số của nó bằng chính
nó.
Xây dựng chương trình tìm và in ra màn hình các số hoàn hảo nhỏ
hơn 5000 (vd 6 là số hoàn hảo vì có các ước là 1,2,3 và 1+2+3= 6).
Bài 3.1.16
Xây dựng chương trình tìm và hiển thị tất cả các phương án kết hợp
để có số 200.000 đ từ 3 loại giấy bạc 10000đ, 2000đ, và 5000đ.
3.2. VÒNG LẶP WHILE, DO ... WHILE
Bài 3.2.1
Hãy cho biết kết quả in ra màn hình của mỗi chương trình C sau:
a.
#include <stdio.h>
#include <conio.h>
void main()
{
clrscr();
int i = 0, x = 0;
while (i < 20)
{
if (i % 5 == 0)
{
x += i;
printf(" %d", x);
}
++i;
}
printf("\n x = %d", x);

}
b.
#include <stdio.h>
#include <conio.h>
int main(){
int i = 0, x = 0;
do{
if (i % 5 == 0){
x ++;
printf(" %d", x);
}
++i;
} while (i< 20);
printf("\n x = %d", x);
}
c.
#include <stdio.h>
#include <conio.h>
int main(){
int i = 0, x = 0;
for (i = 1; i< 10; i +=2){
x ++;
printf(" %d", x);
}
printf("\n x = %d", x);
}
d.
#include <stdio.h>
#include <conio.h>
int main(){
int i = 0, x = 0;
for (i = 1; i< 10; ++i){
if (i % 2 == 1)
x +=i;
else
x--;
printf(" %d", x);
}
printf("\n x = %d", x);
}
Bài 3.2.2. Sử dụng vòng lặp while… hoặc do … while…
Xây dựng chương trình nhập vào một số tự nhiên n. Sử dụng vòng
lặp while… hoặc do…while… để tính giá trị các biểu thức:
a. n = 1.2.3... n và 2n
b. S = 1 + 1/2 + 1/3 + ... + 1/n
c. S = 1 + 22 + 32 + ... + n2
Yêu cầu:
a. Vẽ lưu đồ thuật toán cho mỗi trường hợp.
b. Cài đặt các chương trình tương ứng và chạy trên máy tính.
Bài 3.2.3. Sử dụng vòng lặp while… hoặc do … while…
Xây dựng chương trình: Nhập số thực, tính gần đúng ex , sin(x),
cos(x) theo các công thức xấp xỉ:
x x2 xi
a. Tính e  1    ...   ... với độ chính xác epsilon =
x
1! 2! i!
0.0001.
xi
Tức là cần đạt tới  0.00001
i!
2i 1
x3 x5 i x
b. Tính sin( x)  x    ...  (1)  ...
3! 5! (2i  1)!
x 2i 1
độ chính xác là  epsilon . Với epsilon nhập từ bàn phím.
(2i  1)!
x2 x4 i x
2i
c. Tính cos( x)  1    ...  (1)  ...
2! 4! (2i)!
x 2i
độ chính xác là  epsilon . Với epsilon nhập từ bàn phím.
(2i )!
Yêu cầu:
a. Vẽ lưu đồ thuật toán cho mỗi trường hợp.
b. Cài đặt các chương trình tương ứng và chạy trên máy tính.
Bài 3.2.4
Xây dựng chương trình: Nhập 2 số nguyên dương a, b. Tìm và in ra
màn hình ước số chung lớn nhất của a và b.
Yêu cầu:
a. Vẽ lưu đồ thuật toán.
b. Cài đặt chương trình tương ứng và chạy trên máy tính.
Bài 3.2.5
Xây dựng chương trình: Nhập số tự nhiên n. In ra màn hình dãy n số
fibonacii dạng: 1, 1, 2, 3, 5, 8, 13, …
f1 = f2 = 1
fn = fn -1 + fn-2
Bài 3.2.6
Xây dựng chương trình: Nhập tử số và mẫu số của một phân số là
các số nguyên dương, tìm dạng tối giản của phân số đó, in kết quả ra
màn hình

You might also like