Thuật toán tính tiền trong ví dụ 2, ví dụ 3 trang 48 SGK, vẽ sơ đồ hoạt động cho điều kiện của thuật toán
Câu1:thuật toán là gì?Nêu quá trình thực hiện thuật toán trên máy tính? Câu2:Vẽ sơ đồ khối cấu trúc rẽ nhánh dạng thiếu,cấu trúc rẽ nhánh dạng đủ? Câu3:Trình bày khái niệm về hằng?cho ví dụ về hằng? Câu4:Trình bày khái niệm về biến?Cho ví dụ về biến? Câu5:Nêu cú pháp câu lệnh điều kiện dạng thiếu? Câu6:Nêu cú pháp câu lệnh điều kiện dạng đủ?
Câu1:thuật toán là gì?Nêu quá trình thực hiện thuật toán trên máy tính? Câu2:Vẽ sơ đồ khối cấu trúc rẽ nhánh dạng thiếu,cấu trúc rẽ nhánh dạng đủ? Câu3:Trình bày khái niệm về hằng?cho ví dụ về hằng? Câu4:Trình bày khái niệm về biến?Cho ví dụ về biến? Câu5:Nêu cú pháp câu lệnh điều kiện dạng thiếu? Câu6:Nêu cú pháp câu lệnh điều kiện dạng đủ?
Câu 3: Vận dụng các kiến thức đã học về thuật toán và các cấu trúc điều khiển giải quyết một số bài toán cụ thể, yêu cầu xác định được:
1. Đầu vào và đầu ra của thuật toán?
2. Mô tả thuật toán giải quyết yêu cầu trên bằng sơ đồ khối.
Ví dụ dạng bài toán cụ thể: + Bài toán tính tổng, tích của 2 số a, b.
+ Bài toán Tìm ước chung lớn nhất của 2 số a,b.
+ Bài toán Tìm số lớn nhất trong 2 số a,b.
(Học sinh mô tả thuật toán bằng sơ đồ khối giải các bài toán trên)
1: Bài toán tính tổng tích
Input: a,b
Output: a+b và a-b
Mô tả thuật toán
Bước 1: Nhập a,b
Bước 2: Xuất a+b và a-b
Bước 3: Kết thúc
Dựa vào thuật toán trang 36 SGK a) Đọc hiểu từng bước( tại sao phải có bước đó? Để làm gì? ) b) Thuật toán có các tính chất ( dừng, xác định, đúng đắn ) tại những bước nào? c) Ví dụ nhập N=99 thì thuật toán kết thúc tại bước mấy? Đưa ra điều gì? Lúc đó i=?
Cho số nguyên dương N và dãy số nguyên a1,a2,…,aN. Tính tổng của các số dương trong dãy số trên. (2đ)
a. Xác định input và output ?
b. Xây dựng thuật toán cho bài toán trên bằng phương pháp liệt kê (hoặc sơ đồ khối)?
c. Mô phỏng thuật toán với ví dụ dưới đây: Với N =
i | ||||||||
ai | 3 | -4 | 6 | -5 | -12 | 7 | 0 | 8 |
Tổng |
Viết thuật toán tính tổng các giá trị dương trong dãy số cho trước A = { a1, a2,…,an }
- Xác định input/output
- thuật toán
- ví dụ minh hoạ
hộ mình zới ạaa
#include <bits/stdc++.h>
using namespace std;
long long x,n,i,t;
int main()
{
cin>>n;
t=0;
for (i=1; i<=n; i++)
{
cin>>x;
if (x>0) t=t+x;
}
cout<<t;
return 0;
}
Thuật toán để giải một bài toán là:
+ Một dãy hữu hạn các thao tác (tính dừng)
+ Các thao tác được tiến hành theo một trình tự xác định (tính xác định)
+ Sau khi thực hiện xong dãy các thao tác đó ta nhận được Output của bài toán (tính đúng đắn)
+ Ví dụ: Cho bài toán Tìm nghiệm của phương trình bậc 2: ax2 + bx + c = 0 (a≠0)?
+ Xác định bài toán
Input: Các số thực a, b, c
Output: Các số thực x thỏa mãn ax2 + bx + c = 0 (a≠0)
+ Thuật toán:
Bước 1: Nhập a, b, c (a≠0)
Bước 2: Tính Δ = b2 – 4ac
Bước 3: Nếu Δ>0 thì phương trình có 2 nghiệm là
Bước 4: Nếu Δ = 0 thì phương trình có nghiệm kép
Thuật toán có 5 tính chất bao gồm: tính chính xác, tính khách quan, tính phổ dụng, tính rõ ràng, tính kết thúc. Ban đầu, một thuật toáncần có "tính chính xác" vô cùng cao. Nó cũng là yếu tố quan trọng nhất, mang tính chất khả dụng và khách quan của một thuật toán.
a) Xác định bài toán
-Input: Dãy A gồm n số nguyên
-Output: Tổng các số hạng lẻ trong A
b) Mô tả thuật toán
-Bước 1: Nhập n và nhập dãy số
-Bước 2: s←0; i←1;
-Bước 3: Nếu a[i] không chia hết cho 2 thì s←s+a[i];
-Bước 4: i←i+1;
-Bước 5: Nếu i<=n thì quay lại bước 3
-Bước 6: Xuất s
-Bước 7: Kết thúc