Thứ nhất hiểu thuật toán là gì ...
Thuật toán , còn gọi là
giải thuật, là một
tập hợp hữu hạn hay một dãy các qui tắc chặt chẽ của các chỉ thị, phương cách hay 1 trình tự các thao tác trên một đối tượng cụ thể được xác định và định nghĩa rõ ràng cho việc hoàn tất một số sự việc từ một trạng thái ban đầu cho trước; khi các chỉ thị này được áp dụng triệt để thì sẽ dẫn đến kết quả sau cùng như đã dự đoán trước. (copy mạng)
Thứ hai : đặt ra 1 dãy các câu hỏi và trả lời nó :">
+ Bài đó đưa vô dữ liệu và dữ liệu ra là gì??
=> chẳng hạn như 1 bài tìm số chẵn trong dãy N số nguyên dương,...vậy : dữ liệu vào là N và dãy a1, a2,...an ; còn dữ liệu ra là các số chẵn trong dãy N số nguyên dương đó
=> 1 ví dụ nữa nhé, tìm tất cả các ước của N ... vậy : dữ liệu vào là N ; còn dữ liệu ra là các số chia hết cho N hay nói cách khác là ước của N.
+ Làm sao để từ dữ liệu vào ta có thể viết các lệnh để máy tính có thể tìm ra được dữ liệu ra ấy giải các bài ấy nếu đưa qua pascal thì nó sẽ dùng các lệnh if...then , for...to ...do, while...do, repeat....until...., vân vân nhé, nhưng thuật toán chúng ta nên dùng các bước với các cụm từ như nếu i>n thì kết thúc, quay lại bước ...., hoặc vài cụm từ để nó thay cho if...then, hay các vòng lặp for...to...do, while...do,.... và áp dụng vô 2 ví dụ trên chúng ta sẽ giải 1 thuật toán phải làm như nào??
* Đề : Tìm số chẵn trong dãy N số nguyên dương :
B1 : Nhập N và dãy a1,a2,...an. (cái này bài nào cũng phải có).
B2 : i [tex]\leftarrow[/tex] 1; (tương tự với việc gán i:=1 to n do ở vòng for....to..do)
B3: Nếu i>N thì kết thúc (đặt điều kiện để vòng lặp kết thúc, nếu không nó sẽ là vòng lặp vô hạn);
B4: Nếu N mod a[tex]a_{i}[/tex] = 0 thì in ra màn hình a[tex]a_{i}[/tex] ; (cái này để tìm số chẵn theo yêu cầu bài toán, N mod a[tex]a_{i}[/tex] = 0 nghĩa là N chia hết cho a[tex]a_{i}[/tex] )
B5 : i [tex]\leftarrow[/tex] i + 1; (tăng i để vòng lặp tiếp theo nó kiểm tra số tiếp đó của dãy);
B6: Quay lại bước 3 ( bước này để nó quay lại kiểm tra điều kiện để bẻ gãy vùng lặp);
1 bài tiếp nhé !!! :">
Đề : Tìm tất cả ước của N :
B1: Nhập N và dãy a1,a2,...an (bước này phải có nhé, nhưng tùy bài mà nhập);
B2: i [tex]\leftarrow[/tex] 1 : ( tiếp tục lại là 1 vòng lặp, tại các ước của N nó chỉ trong phạm vi 1 -> N)
B3: Nếu i>N thì kết thúc (điều kiện để bẻ gãy vòng lặp);
B4: Nếu N mod i = 0 thì in ra màn hình i ; (cái này là n chia hết cho i nhé);
B5 : i [tex]\leftarrow[/tex] i+1 ; (tăng lên để bẻ gãy vòng lặp);
B6 : Quay lại bước 3 ; (quay lại kiểm tra điều kiện);
Thứ ba : là luyện tập thường xuyên, từ bài dễ đến khó, nếu được có thể inbox để mình gửi vài bài mà luyện thử :">