ÔN TẬP KHỐI 8
(phần thuật toán)
Bài 1 : Giải phương trình bậc nhất dạng tổng quát bx + c = 0
Giải
1. Xác định bài toán
Input : b, c
Output : nghiệm của phương trình (x)
2. Mô tả thuật toán
B1 : nhập b,c
B2 : nếu b = 0 chuyển tới B4.
B3 : nghiệm phương trình X = -c/b và chuyển đến B5
B4 : nếu c ≠ 0 thông báo phương trình vô nghiệm. ngược lại (c = 0) thông báo phương trình vô số nghiệm.
B5 : kết thúc thuật toán
Bài 2 : Tính tổng các số tự nhiên từ 1 đến 100
Giải
1. Xác định bài toán
Input : 1,2 ….100
Output : tổng các số từ 1 đến 100
2. Mô tả thuật toán
B1 : sum 0; i 0
B2 : sum sum + i
B3 : i i + 1
` B4 : nếu i 100, quay lại B2
B5 : Thông báo kết quả sum
B6 : kết thúc thuật toán
Bài 3 : Tính tổng số tự nhiên từ 1 đến n. Mô phỏng thuật toán với n = 5
Giải
1. Xác định bài toán
Input : n
Output : tổng các số từ 1 đến n
2. Mô tả thuật toán
B1 : nhập n
B2 : sum 0; i 0
B3 : sum sum + i
B4 : i i + 1
` B5 : nếu i n, quay lại B3
B6 : Thông báo kết quả sum
B7 : kết thúc thuật toán
3. mô phỏng thuật toán với n = 5
Bước
|
1
|
2
|
3
|
4
|
5
|
6
|
sum
|
0
|
1
|
3
|
6
|
10
|
15
|
i
|
1
|
2
|
3
|
4
|
5
|
6
|
i 5
|
T
|
T
|
T
|
T
|
T
|
F
|
Bài 4 : Tính tổng các số tự nhiên chia hết cho 3 và nhỏ hơn n. Mô phỏng thuật toán với n = 10
1. Xác định bài toán
Input : n
Output : tổng tự nhiên chia hết cho 3 và nhỏ hơn n
2. Mô tả thuật toán
B1 : nhập n
B2 : sum 0; i 0
B3 : sum sum + i
B4 : i i + 3
B5 : nếu i < n, quay lại B3
B6 : Thông báo kết quả sum
B7 : kết thúc thuật toán
3. mô phỏng thuật toán với n = 10
Bước
|
1
|
2
|
3
|
4
|
sum
|
0
|
3
|
9
|
18
|
i
|
3
|
6
|
9
|
12
|
i < 10
|
T
|
T
|
T
|
F
|
Bài 5 : Đổi giá trị 2 biến x y
Giải
1. Xác định bài toán
Input : hai biến x, y có giá trị tương ứng a, b
Output : hai biến x, y có giá trị tương ứng b, a
2. Mô tả thuật toán
B1: nhập x, y
B2 : z x
B3 : x y
B4 : y z
B5 : Thông báo x, y
B6 : kết thúc thuật toán
Bài 6 : Tìm số lớn nhất trong dãy A các số a1, a2, a3, …, an. Mô phỏng thuật toán với n = 5 A(5,2,10,50,4)
Giải
1. Xác định bài toán
Input : dãy A(a1, a2, …, an) (n>=1)
Output : Max của dãy A
2. Mô tả thuật toán
B1 : nhập n, nhập dãy A n phần tử.
B2 : max a1; i 1
B3 : i i + 1
B4 : nếu i > n , chuyển đến B6
B5 : nếu ai > max , max ai, quay về B3
B6 : thông báo max
B7 : kết thúc thuật toán
3. mô phỏng thuật toán với n = 5 A(5,2,10,50,4)
A
|
a1
|
a2
|
a3
|
a4
|
a5
|
|
5
|
2
|
10
|
50
|
4
|
|
max
|
5
|
5
|
10
|
50
|
50
|
|
i
|
2
|
3
|
4
|
5
|
6
|
|
i > 5
|
F
|
F
|
F
|
F
|
T
|
|
ai > max
|
F
|
T
|
T
|
F
|
|
|
Bài 7: Tìm số nhỏ nhất trong dãy A các số a1, a2, a3, …, an . mô phỏng thuật toán với n = 5 A(5,2,10,50,4)
Giải
1. Xác định bài toán
Input : dãy A(a1, a2, …, an) (n>=1)
Output : min của dãy A
2. Mô tả thuật toán
B1 : nhập n, nhập dãy A n phần tử.
B2 : min a1; i 1
B3 : i i + 1
B4 : nếu i > n , chuyển đến B6
B5 : nếu ai < min , min ai, quay về B3
B6 : thông báo min
B7 : kết thúc thuật toán
3. mô phỏng thuật toán với n = 5 A(5,2,10,50,4)
A
|
a1
|
a2
|
a3
|
a4
|
a5
|
|
5
|
2
|
10
|
50
|
4
|
|
min
|
5
|
2
|
2
|
2
|
2
|
|
i
|
2
|
3
|
4
|
5
|
6
|
|
i > 5
|
F
|
F
|
F
|
F
|
T
|
|
ai < min
|
T
|
F
|
F
|
F
|
|
|
Bài 8 : Tính tổng các chữ số của số tự nhiên n. Mô phỏng thuật toán với n = 597
Giải
1. Xác định bài toán
Input : n
Output : tổng các chữ số của n
2. Mô tả thuật toán
B1 : Nhập n
B2 : Tổng 0
B3 : nếu n = 0 chuyển đến B6
B4 : Tổng Tổng + n mod 10
B5 : n n div 10, quay về B3
B6 : Thông báo kết quả Tổng
B7 : kết thúc thuật toán
3. mô phỏng thuật toán với n = 597
Bước
|
1
|
2
|
3
|
4
|
N
|
597
|
59
|
5
|
0
|
n = 0
|
F
|
F
|
F
|
T
|
n mod 10
|
7
|
9
|
5
|
|
Tổng
|
7
|
16
|
21
|
|
n div 10
|
59
|
5
|
0
|
|
Bài 9 : Xác định vị trí của x trong 1 dãy số cho trước có n phần tử.
Giải
1. Xác định bài toán
Input : x, dãy số A(a1, a2, … an) (n>=1)
Output : vị trí của x trong dãy
2. Mô tả thuật toán
B1 : nhập n, nhập dãy số A n phần tử, nhập x
B2 : i 1
B3 : nếu ai = x , thông báo vị trí x = i , chuyển tới B7
B4 : i i + 1
B5 : nêu i ≤ n quay lại bước B3
B6 : thông báo không tim thấy x
B7 : kết thúc thuật toán.
Bài 10 : Xác định số lần xuất hiện của số nguyên k trong dãy số nguyên cho trước.
Giải
1. Xác định bài toán
Input : k, dãy số A (a1, a2, … an) (n>=1)
Output : số lần xuất hiện của k
2. Mô tả thuật toán
B1 : nhập n, nhập dãy số A n phần tử, nhập k
B2 : i 1, solan 0
B3 : nếu k = ai, solan solan+1
B4 : i i + 1
B5 : nếu i ≤ n quay lại bước B3
B6 : Thôn báo số lần xuất hiện của số k là solan
B7 : kết thúc thuật toán
Bài 11 : viết thuật toán xắp xếp dãy tăng dần. mô phỏng thuật toán với bộ dữ liệu A(2,10,4,3)
Giải
1. Xác định bài toán
Input : dãy số A (a1, a2, … an) (n>=1)
Output : dãy tăng dần
2. Mô tả thuật toán
B1 : nhập n, nhập dãy A n phần tử
B2 : i 0 , j 0
B3 : i i + 1 , j i + 1
B4 : j j + 1
B5 : nếu ai > aj , đổi chỗ ai và aj
B6 : nếu j < n , quay về B4
B7 : nếu i < n - 1 , quay về B3
B8 : xuất dãy số
B9 : kết thúc thuật toán
3. mô phỏng thuật toán
|
|
|
|
|
A
|
a1
|
a2
|
a3
|
a4
|
i
|
j
|
ai > aj
|
j < n
|
i < n
|
2
|
10
|
4
|
3
|
1
|
2
|
F
|
T
|
|
2
|
10
|
4
|
3
|
1
|
3
|
F
|
T
|
|
2
|
10
|
4
|
3
|
1
|
4
|
F
|
F
|
T
|
2
|
10
|
4
|
3
|
2
|
3
|
T
|
T
|
|
2
|
4
|
10
|
3
|
2
|
4
|
T
|
F
|
T
|
2
|
3
|
10
|
4
|
3
|
4
|
T
|
F
|
F
|
2
|
3
|
4
|
10
|
Chia sẻ với bạn bè của bạn: |