Mô phỏng thuật toán tìm giá trị nhỏ nhất của dãy số
4 trả lời Tính nhanh giá trị của các biểu thức sau (Tin học - Lớp 8) 2 trả lời Bé Nghệ là một học sinh lớp 2 (Tin học - Lớp 9) 1 trả lời Nếu 2 vòng lặp For thì sẽ chạy như thế nào (Tin học - Lớp 8) 1 trả lời Một hình vuông có chu vi 16 cm (Tin học - Lớp 7) 3 trả lời Đơn vị đo dung lượng thông tin là gì (Tin học - Lớp 6) 4 trả lời Tìm x thuộc N (Tin học - Lớp 7) 2 trả lời
– Xác định bài toán: Input: Số N và dãy N số a1, a2, ...,aN. Output: Giá trị nhỏ nhất (Min) của dãy số. – Ý tưởng:
– Thuật toán: Mô tả thuật toán theo cách liệt kê: Bước 1. Nhập N và dãy a1,….aN; Bước 2. Min <- ai, i <- 2 Bước 3. Nếu i > N thì đưa ra giá trị Min rồi kết thúc; Bước 4. Bước 4.1: Nếu ai < Min thì Min <- ai Bước 4.2: i <- i+1 rồi quay lại bước 3
Xem thêm: Hãy nêu tiêu chuẩn lựa chọn thuật toán.
Thuật toán là gì?Thuật toán để giải một bài toán là một dãy hữư hạn các thao tác được sắp xếp theomột trình tự xác định sao cho sau khi thực hiện dãy thao tác ấy, từ input của bài toán, ta nhậnđược output cần tìm.Các đặc trưng của thuật toánTính kết thúc: Một thuật toán phải kết thúc sau một số hữu hạn thao tácTính rõ ràng: theo nghĩa nhiều người khác nhau thực hiện thì phải cho cùng một kết quảTình phổ dụng: Thuật toán nào dùng được rộng rãi hơn tổng quát hơn thì tính phổ dụng caohơnTính hiệu quả: Ít tốn kém về số lượng thao tác, về vùng nhớ, về thời gianCách biểu diễn thuật toánNgười ta thường dùng hai phương pháp sau đây để mô tả thuật toána)Phương pháp liệt kêb) Phương pháp sơ đồ khối ( Lưu đồ)Hình O van thể hiện thao tác nhập xuất dữ liệuHình chữ nhật thể hiện các phép tính toánCác mũi tên quy định trình tự thực hiện thao tácMũi tên ngược được hiểu là phép gánHình thoi thể hiện thao tác so sánhMột số thuật toán đơn giản thường gặp1)Hoán vị hai giá trị x,y có dùng biến trung gianBước 1: Dùng một biến trung gian tam và thực hiện tam ← xBước 2: x ←yBước 3: y← tamBước 4: kết thúc2)Hoán vị hai giá trị x,y không dùng biến trung gianBước 1: x← x+yBước 2: y ←x-yBước 3: x← x-yBước 4: kết thúc3)Tìm phần tử nhỏ nhất trong dãy a1 anBước 1: Nhập giá trị N và a1 anBước 2: I ← 1; Min← a1Bước 3: i←i+1Bước 4: nếu i> n thì xuất Min và chuyển đến bước 7 để kết thúc ngược lại thực hiện bước 5Bước 5: Nếu ai |