Giúp em với ạ,e cần gấp lắm ạ. Viết thuật toán tìm xem trong dãy A gồm n phần tử từ a1 đến n có hay không phần tử có giá trị 0,đếm số lượng phần tử 0 có trong dãy A cho trước

1 câu trả lời

Quy định:

+ Hình ô van            : các thao tác nhập, xuất dữ liệu.

+ Hình thoi               :Thao tác so sánh.

+ Hình chữ nhật          : :Các phép toán.

+ Mũi tên     : trình tự thực hiện các thao tác.

 

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

Tính dừng: Thuật toán phải kết thúc sau một số hữu hạn lần thực hiện các thao tác.

Tính xác định: Sau khi thực hiện một thao tác thì hoặc là thuật toán kết thúc hoặc là có đúng một thao tác xác định để được thực hiện tiếp theo.

Tính đúng đắn: Sau khi thuật toán kết thúc ta phải nhận được Output cần tìm.

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

 

Ví dụ 1: Bài toán sắp xếp:

Cho dãy A gồm N số nguyên a1…aN. Cần sắp xếp các số hạng để dãy A trở thành dãy không giảm (số hạng trước không lớn hơn số hạng sau).

 

Thuật toán sắp xếp bằng tráo đổi:

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

  - Input: dãy A gồm N số nguyên a1…aN

  - Output: dãy A được sắp xếp lại thành dãy không giảm

Ý tưởng: với mỗi cặp số hạng đứng liền kề trong dãy, nếu số trước lớn hơn số sau thì ta đổi chổ chúng . Việc đó lặp lại cho đến khi không có sự đổi chổ nào xảy ra nữa.

+ Thuật toán

  1. Liệt kê:

B1: Nhập vào n và dãy số nguyên a1, . . . ,aN;

B2: MßN;

B3: Nếu M<2 thì in dãy đã sắp xếp rồi kết thúc;

B4. M ßM – 1; i ß0;

B5: i ßi + 1;

B6: Nếu i > M thì quay lại bước 3;

B7. Nếu ai > ai+1 thì tráo đổi cho nhau;

B8: Quay lại bước 5;

Câu hỏi trong lớp Xem thêm