Cách giải thuật toán tin học 10

1. Khái niệm bài toán

a. Khái niệm

 - Là việc nào đó mà ta muốn máy tính thực hiện để từ thông tin đưa vào (Input) tìm được thông tin ra (Output).

 + Khi máy tính giải bài toán cần quan tâm đến 2 yếu tố:

- Input : Thông tin đã có.

- Output: thông tin cần tìm từ Input

b.Ví dụ:

 Xác định Input và Output của các bài toán sau:

Vd1: Giải phương trình

         ax2 + bx + c = 0      (a

Cách giải thuật toán tin học 10
0)

 Input: Số nguyên a, b, c với a 0.

 Output: Nghiệm của phương trình.

Vd2 Kiểm tra số nguyên dương N có phải là số nguyên tố không?

 Input: Số nguyên dương N

 Output: Kết luận N có phải là số nguyên tố không.

Vd3 Cho bảng điểm của HS lớp10A. Đưa ra màn hình danh sách HS tiên tiến của lớp 10A.

Input: Bảng điểm của HS lớp 10 A.

Output: Danh sách HS tiên tiến của lớp 10A.

2. Khái niệm thuật toán

 a. Khái niệm: là một dãy hữu hạn các thao tác được sắp xếp theo một trình tự xác định sao cho sau khi thực hiện các thao tác ấy, từ Input của bài toán ta nhận được Output cần tìm.

- Tác dụng của thuật toán: Dùng để giải một bài toán.

* Các tính chất của thuật toán:

- Tính xác định: các bước giải phải rõ ràng không gây ra sự lẫn lộn hoặc nhập nhằng.

- Tính dừng: Thuật toán phải dừng lại sau một số bước giải.

- Tính đúng: Kết quả sau khi thực hiện thuật giải phải là kết quả đúng dựa theo một định nghĩa hoặc một kết quả cho trước.

- Tính hiệu quả:

   + Phải sử dụng dung lượng bộ nhớ là nhỏ nhất.

   + Số phép toán ít nhất.

   + Thuật toán dễ hiểu không?

   + Dễ khai báo trên máy tính.

3. Biễu diễn thuật toán

a. Liệt kê các bước.

 b. Sơ đồ khối

- Các quy định khi biễu diễn thuật toán bằng sơ đồ khối :

Cách giải thuật toán tin học 10

3. Một số ví dụ về thuật toán

Ví dụ 1 : Cho 3 số a, b, c bất kì. Tìm số lớn nhất trong ba số. Viết thuật toán dưới hai dạng.

Lời giải

· Xác định bài toán

Input: a, b, c

Output: Max(a,b,c).

· Ý tưởng:

- Cho max = a.

- Nếu b> max thì max = b

- Nếu c> max thì max = c

· Thuật toán

a. Cách liệt kê

B1: Nhập vào a, b, c.

B2: max := a.

B3: nếu max <= b thì max := b.

B4: nếu max <= c thì max := c.

B5: trả lời số lớn nhất là max

b. Sơ đồ khối

Cách giải thuật toán tin học 10

Ví dụ 2 : Giải phương trình

                  ax + b = 0

Lời giải

· Xác định bài toán

Input: a, b

Output: Kết luận nghiệm của phương trình.

· Ý tưởng

- Nếu a = 0 thì:

       + Nếu b = 0 thì phương trình vô số

          nghiệm.

       + Ngược lại phương trình vô nghiệm

- Nếu a ¹ 0 phương trình có 1 nghiệm 

x = -b/a

· Thuật toán

a . Lliệt kê

B1: Vào a, b

B2: Nếu a = 0

       B21: b = 0 kết luận PTVSN rồi KT

       B22: b ¹ 0 kết luận PTVN rồi KT.

B3: Nếu a ¹ 0 kết luận phương trình có 1 nghiệm x = -b/a rồi KT

b. Sơ đồ khối

Cách giải thuật toán tin học 10


Xem toàn bộ tài liệu Lớp 10: tại đây

Giải Bài Tập Tin Học 10 – Bài 4: Bài toán và thuật toán giúp HS giải bài tập, giúp cho các em hình thành và phát triển năng lực sử dụng công nghệ thông tin và truyền thông:

    • Sách Giáo Viên Tin Học Lớp 10

    Bài 1 trang 44 Tin học 10: Hãy phát biểu một bài toán và chỉ rõ Input và Output của bài toán đó.

    Lời giải:

    – Bài toán: Tìm nghiệm của một phương trình bậc 2 có dạng ax2+bx+c=0 bất kì.

    – Input: Cho ba số a,b,c.

    – Output: In ra nghiệm của phương trình bậc 2: Có thể vô nghiệm, một nghiệm hoặc có hai nghiệm.

    Bài 2 trang 44 Tin học 10: Dãy các thao tác sau:

    Bước 1: Xóa bảng;

    Bước 2: Vẽ đường tròn;

    Bước 3: Quay lại bước 1.

    Có phải là thuật toán không? Vì sao?

    Lời giải:

    Đây không phải là một thuật toán. Bởi theo định nghĩa thuật toán, từ Input của bài toán ta cần tìm kiếm một Output. Thế nhưng dãy các thao tác sau là một vòng lặp vô hạn không có tính dừng, không thỏa mãn yêu cầu là một thuật toán.

    Bài 3 trang 44 Tin học 10: Hãy chỉ ra tính dừng của thuật toán tìm kiếm tuần tự.

    Lời giải:

    – Với thuật toán tìm kiếm tuần tự, tính dừng xảy ra khi thỏa mãn một trong hai trường hợp:

    + Nếu tìm thấy giá trị cần tìm trong dãy A: ai=k thì thông báo chỉ số i rồi kết thúc.

    + Nếu không tìm thấy giá trị cần tìm trong dãy A: ai=k thì tăng i đến khi nào i>n thì thông báo không có giá trị i nào thỏa mãn và kết thúc.

    Bài 4 trang 44 Tin học 10: Cho N và dãy số a1,…,aN, hãy tìm giá trị nhỏ nhất (min) của dãy đó

    Lời giải:

    – Bước 1: Nhập N, các số hạng a1, a2,….aN và biến Min.

    – Bước 2: i ← 2, Min ← a1

    – Bước 3: Nếu ai < Min thì Min ← ai.

    – Bước 4: i ← i +1

    – Bước 5: Nếu i>N thì thông báo Min là số nhỏ nhất của dãy, kết thúc.

    – Bước 6: Quay lại bước 3.

    Bài 5 trang 44 Tin học 10: Mô tả thuật toán tìm nghiệm của phương trình bậc hai tổng quát bằng cách liệt kê hoặc bằng sơ đồ khối.

    Lời giải:

    – Bước 1: Nhập ba số a, b, c, biến Delta, x, x1, x2.

    – Bước 2: Delta ← b*b-4*a*c

    – Bước 3: Nếu Delta < 0 thì thông báo phương trình vô nghiệm và kết thúc thuật toán.

    – Bước 4: Nếu delta > 0 thì thông báo phương trình có hai nghiệm phân biệt x1 ← (-b+sqrt(delta))/2*a và x2 ← (-b-sqrt(delta))/2*a, kết thúc thuật toán.

    – Bước 5: Nếu delta = 0 thì thông báo phương trình có nghiệm kép x = -b/2*a

    Bài 6 trang 44 Tin học 10: Cho N và dãy số a1… aN, hãy sắp xếp dãy số đó thành dãy số không tăng (số hạng trước lớn hơn hay bằng số hạng sau).

    Lời giải:

    – Bước 1: Nhập N, các số hạng a1, a2,….aN và biến tg.

    – Bước 2: i ← 1.

    – Bước 3: Nếu ai < ai+1 thì đổi chỗ ai và ai+1

    – Bước 4: i ← i +1

    – Bước 5: Nếu i>N thì thông báo in ra dãy A, kết thúc.

    – Bước 6: Quay lại bước 3.

    Bài 7 trang 44 Tin học 10: Cho N và dãy số a1….aN hãy cho biết có bao nhiêu số hạng trong dãy có giá trị bằng 0.

    Lời giải:

    – Bước 1: Nhập N, các số hạng a1, a2,….aN và biến dem.

    – Bước 2: i ← 1.

    – Bước 3: Nếu ai = 0 thì dem ← dem +1

    – Bước 4: i ← i +1

    – Bước 5: Nếu i>N thì thông báo in ra biến dem, kết thúc.

    – Bước 6: Quay lại bước 3.