Các bước để giải một bài toán trên máy tính.
7.4 Các bƣớc thiết kế thuật toán
Bước 1: Xác định vấn đề bài toán (input, output)
Bước 2: Hình thành ý tưởng chính để để xây dựng thuật toán (bài toán giải bằng cách nào? Thuật toán sẽ dừng khi nào?)
Bước 3: Xây dựng thuật toán (ngôn ngữ tự nhiên, lưu đồ, mã giả)
Bước 4: Mô phỏng để kiểm tra tính đúng đắn của thuật toán (chạy thử bằng tay)
Một số ví dụ
Ví dụ 1: Kiểm tra một số nguyên a là số chẵn hay số lẻ
Xác định bài toán
Input: số nguyên a
Output: thông báo a chẵn hay lẻ Hình thành ý tưởng
Một số là số chẵn khi nó chia hết cho 2, vậy thì ta chỉ cần kiểm tra xem nó có chia hết cho 2 hay không.
Xây dưng thuật toán: Cách 1: Dùng ngôn ngữ tự nhiên
Bước 1: Nhập a
Bước 2: Nếu a chia hết cho 2 thì xuất a chẵn Ngược lại thì xuất a lẻ. Qua bước 3
Bước 3: Kết thúc Cách 2: Dùng lưu đồ
Hình 7.2Lƣu đồ khối thuật toán kiểm tra số chẵn
Mô Phỏng thuật toán:
Nhập a: 18 xuất ra: 18 là số chẵn
Ví dụ 2: Tìm số lớn nhất trong dãy số
Output: Số lớn nhất (Max) của dãy số. Lựa chọn phương pháp giải:
Đặt giá trị Max a1.
Cho i chạy từ 2 đến N, so sánh giá trị ai với giá trị Max, nếu ai> Max thì Max nhận giá trị mới là ai.
Max là giá trị lớn nhất cần tìm Hình thành ý tưởng:
Ví dụ dãy số này bị che kín bằng các tấm bìa, ta lật tấm đầu tiên và xem như nó là lớn nhất, ta lần lượt lật các tấm bìa còn lại, mỗi lần lật ta so sánh với tấm bìa đầu tiên, tấm nào lớn hơn giá trị lớn nhất thì ta thay lại giá trị lơn nhất đó. Khi nào hết dãy số thì ta đưa ra số lớn nhất.
Xây dựng thuật toán:
Cách 1: Dùng ngôn ngữ tự nhiên Bước 1: Nhập N và dãy a1,a2…, aN; Bước 2: Max a1; i 2;
Bước 3: Nếu i > N thì đưa ra giá trịMax rồi kết thúc; Bước 4: Nếu ai > Max thì Max ai;
Bước 5: i i+1 rồi quay lại B3. Cách 2: Dùng sơ đồ khối
Mô Phỏng thuật toán: Với dãy số A: 3, 6, 7, 2, 8, 4 (N=6) Max3, i2
i<N, a2=6>Max vậy Max6, ii+1 =3 i<N, a3=7>Max vậy Max7, ii+1 =4 i<N, a4=2<Max vậy Max7, ii+1 =5 i<N, a5=8>Max vậy Max8, ii+1 =6 i=N, a6=4>Max vậy Max8, ii+1 =7 i>N vậy Max = 8, kết thúc