Bài 5. Từ bài toán đến chương trình
Chia sẻ bởi Nguyễn Thị Huyền Thanh |
Ngày 24/10/2018 |
87
Chia sẻ tài liệu: Bài 5. Từ bài toán đến chương trình thuộc Tin học 8
Nội dung tài liệu:
Bài 1: Cho trước 3 số dương a, b và c. Hãy mô tả thuật toán cho biết 3 số đó có thể là độ dài ba cạnh của tam giác hay không?
Bài 2: Bài toán là gì? Lấy 2 ví dụ cụ thể về bài toán và cách xác định bài toán?
Bài 3: Thuật toán là gì? Lấy hai ví dụ cụ thể về thuật toán?
Xác định bài toán
Input: Ba số dương a>0, b>0 và c>0
Output: Thông báo "a,b và c có thể là ba cạnh của một tam giác" hoặc thông báo "a,b và c không thể là ba cạnh của một tam giác"
b) Mô tả thuật toán
Bước 1: Nếu a+b<=c, chuyển tới bước 5 ;
Bước 2: Nếu b+c<=a, chuyển tới bước 5 ;
Bước 3: Nếu a+c<=b, chuyển tới bước 5 ;
Bước 4: Thông báo "a,b và c có thể là ba cạnh của một tam giác" .
Bước 5: Thông báo "a,b và c không thể là ba cạnh của một tam giác".
Ví dụ 1: Một hình A được gép từ một hình chữ nhật với chiều rộng 2a, chiểu dài b và một hình bán nguyệt bán kính a như hình bên. Hãy tính diện tích hình A.
4. Một số ví dụ về thuật toán
b) Mô tả thuật toán
Bước 1: Tính diện tích hình chữ nhật S1 ? 2*a*b;
Bước 2: Tính diện tích hình bán nguyệt S2 ? pi*a*a/2;
Bước 3: Tình diện tích hình A, S ? S1 + S2 và kết thúc.
a) Xác định bài toán
Input: a là nửa chiều rộng và là bán kính của hình bán nguyệt, b là chiểu rộng hình chữ nhật
Output: Diện tích hình A
Ví dụ 2: Tính tổng của một 100 số tự nhiên đầu tiên.
Để mô tả được thuật toán trên ta dùng biến Sum để lưu giá trị của tổng và thực hiện phép toán : cộng thêm vào biến tổng Sum lần lược các giá trị 1,2,3,..,100. Ta cã thuËt to¸n:
a) Xác định bài toán
Input: 100 số tự nhiên đầu tiên 1, 2, 3, . , 100.
Output: Tổng Sum=1+2+3+.+100.
b) Mô tả thuật toán
Bước 1: Sum ? 0;
Bước 2: Sum ? Sum+1;
Bước 3: Sum ? Sum+2;
Bước 4: Sum ? Sum+3;
.....
Bước 101: Sum ? Sum+100 và kết thúc.
a) Xác định bài toán
Input: 100 số tự nhiên đầu tiên 1, 2, 3, . , 100.
Output: Tổng Sum=1+2+3+.+100.
Ta r»ng thao tác “cộng” được lặp đi lặp lại 100 lần . Mặt khác việc cộng thêm số i vào Sum khi biến i không vượt quá 100. §îc m« t¶ nh sau:
b) Mô tả thuật toán
Bước 1: Sum ? 0; i ? 0
Bước 2: i ? i+1;
Bước 3: Nếu i<=100, thì Sum ? Sum+i và quay lại bước 2;
Bước 4: Thông báo kết quả và kết thúc thuật toán.
*Chý ý: trong bi?u di?n thu?t toán, ngu?i ta thu?ng dùng ký hi?u ? d? gán m?t bi?u th?c cho m?t bi?n.
1
2
3
4
5
6
7
8
Sum = 0; i = 0
i = 1
2
Sum = 5050;
Thông báo Sum = 5050 và kết thúc
100
101
Để hiểu rõ hơn về thuật toán này, ta có thể minh hoạ bằng bộ dữ liệu cụ thể sau:
Ví dụ 3: Tính tổng của một n số tự nhiên đầu tiên.(n cho trước)
Để mô tả được thuật toán trên ta dùng biến Sum để lưu giá trị của tổng và thực hiện phép toán : cộng thêm vào biến tổng Sum lần lược các giá trị 1,2,3,..,n. Ta cã thuËt to¸n:
a) Xác định bài toán
Input: 100 số tự nhiên đầu tiên 1, 2, 3, . , n.
Output: Tổng Sum=1+2+3+.+n.
b) Mô tả thuật toán
Bước 1: Sum ? 0; i ? 0
Bước 2: i ? i+1;
Bước 3: Nếu i<=n, thì Sum ? Sum+i và quay lại bước 2;
Bước 4: Thông báo kết quả và kết thúc thuật toán.
Mô ph?ng thu?t toán với n = 4
1
2
3
4
5
2
3
4
Đ
Đ
Đ
Đ
S
1
3
6
10
KT
Sum = 0; i = 0
i = 1
2
Thông báo Sum = 10 và kết thúc
3
4
Sum = 1;
Sum = 3
Sum = 6
Sum = 10
5
Để hiểu rõ hơn về thuật toán này, ta có thể minh hoạ bằng bộ dữ liệu cụ thể sau:
Ví dụ 3: Đổi giá trị của hai biến x và y.
Để mô tả được thuật toán trên ta dùng biến trung gian z để lưu t¹m thêi giá trị của biÕn x. Ta cã thuËt to¸n nh sau:
a) Xác định bài toán
Input: Hai biến x và y có giá trị tương ứng là a và b.
Output: Hai biến x, y có giá trị tương ứng là b và a.
b) Mô tả thuật toán
Bước 1: z ? x;
Bước 2: x ? y;
Bước 3: y ? z;
{Sau bước này giá trị của z sẽ bằng a}
{Sau bước này giá trị của x sẽ bằng b}
{Sau bước này giá trị của y sẽ bằng z, chính là a giá trị ban đầu của x}
Program hoan_doi;
Var x,y,z:Integer;
Begin
Read(x,y);
writeln(x,’ ‘ ,y);
z:=x;
x:=y;
y:=z;
writeln(x,’ ‘,y);
readln;
End.
Bài 2: Bài toán là gì? Lấy 2 ví dụ cụ thể về bài toán và cách xác định bài toán?
Bài 3: Thuật toán là gì? Lấy hai ví dụ cụ thể về thuật toán?
Xác định bài toán
Input: Ba số dương a>0, b>0 và c>0
Output: Thông báo "a,b và c có thể là ba cạnh của một tam giác" hoặc thông báo "a,b và c không thể là ba cạnh của một tam giác"
b) Mô tả thuật toán
Bước 1: Nếu a+b<=c, chuyển tới bước 5 ;
Bước 2: Nếu b+c<=a, chuyển tới bước 5 ;
Bước 3: Nếu a+c<=b, chuyển tới bước 5 ;
Bước 4: Thông báo "a,b và c có thể là ba cạnh của một tam giác" .
Bước 5: Thông báo "a,b và c không thể là ba cạnh của một tam giác".
Ví dụ 1: Một hình A được gép từ một hình chữ nhật với chiều rộng 2a, chiểu dài b và một hình bán nguyệt bán kính a như hình bên. Hãy tính diện tích hình A.
4. Một số ví dụ về thuật toán
b) Mô tả thuật toán
Bước 1: Tính diện tích hình chữ nhật S1 ? 2*a*b;
Bước 2: Tính diện tích hình bán nguyệt S2 ? pi*a*a/2;
Bước 3: Tình diện tích hình A, S ? S1 + S2 và kết thúc.
a) Xác định bài toán
Input: a là nửa chiều rộng và là bán kính của hình bán nguyệt, b là chiểu rộng hình chữ nhật
Output: Diện tích hình A
Ví dụ 2: Tính tổng của một 100 số tự nhiên đầu tiên.
Để mô tả được thuật toán trên ta dùng biến Sum để lưu giá trị của tổng và thực hiện phép toán : cộng thêm vào biến tổng Sum lần lược các giá trị 1,2,3,..,100. Ta cã thuËt to¸n:
a) Xác định bài toán
Input: 100 số tự nhiên đầu tiên 1, 2, 3, . , 100.
Output: Tổng Sum=1+2+3+.+100.
b) Mô tả thuật toán
Bước 1: Sum ? 0;
Bước 2: Sum ? Sum+1;
Bước 3: Sum ? Sum+2;
Bước 4: Sum ? Sum+3;
.....
Bước 101: Sum ? Sum+100 và kết thúc.
a) Xác định bài toán
Input: 100 số tự nhiên đầu tiên 1, 2, 3, . , 100.
Output: Tổng Sum=1+2+3+.+100.
Ta r»ng thao tác “cộng” được lặp đi lặp lại 100 lần . Mặt khác việc cộng thêm số i vào Sum khi biến i không vượt quá 100. §îc m« t¶ nh sau:
b) Mô tả thuật toán
Bước 1: Sum ? 0; i ? 0
Bước 2: i ? i+1;
Bước 3: Nếu i<=100, thì Sum ? Sum+i và quay lại bước 2;
Bước 4: Thông báo kết quả và kết thúc thuật toán.
*Chý ý: trong bi?u di?n thu?t toán, ngu?i ta thu?ng dùng ký hi?u ? d? gán m?t bi?u th?c cho m?t bi?n.
1
2
3
4
5
6
7
8
Sum = 0; i = 0
i = 1
2
Sum = 5050;
Thông báo Sum = 5050 và kết thúc
100
101
Để hiểu rõ hơn về thuật toán này, ta có thể minh hoạ bằng bộ dữ liệu cụ thể sau:
Ví dụ 3: Tính tổng của một n số tự nhiên đầu tiên.(n cho trước)
Để mô tả được thuật toán trên ta dùng biến Sum để lưu giá trị của tổng và thực hiện phép toán : cộng thêm vào biến tổng Sum lần lược các giá trị 1,2,3,..,n. Ta cã thuËt to¸n:
a) Xác định bài toán
Input: 100 số tự nhiên đầu tiên 1, 2, 3, . , n.
Output: Tổng Sum=1+2+3+.+n.
b) Mô tả thuật toán
Bước 1: Sum ? 0; i ? 0
Bước 2: i ? i+1;
Bước 3: Nếu i<=n, thì Sum ? Sum+i và quay lại bước 2;
Bước 4: Thông báo kết quả và kết thúc thuật toán.
Mô ph?ng thu?t toán với n = 4
1
2
3
4
5
2
3
4
Đ
Đ
Đ
Đ
S
1
3
6
10
KT
Sum = 0; i = 0
i = 1
2
Thông báo Sum = 10 và kết thúc
3
4
Sum = 1;
Sum = 3
Sum = 6
Sum = 10
5
Để hiểu rõ hơn về thuật toán này, ta có thể minh hoạ bằng bộ dữ liệu cụ thể sau:
Ví dụ 3: Đổi giá trị của hai biến x và y.
Để mô tả được thuật toán trên ta dùng biến trung gian z để lưu t¹m thêi giá trị của biÕn x. Ta cã thuËt to¸n nh sau:
a) Xác định bài toán
Input: Hai biến x và y có giá trị tương ứng là a và b.
Output: Hai biến x, y có giá trị tương ứng là b và a.
b) Mô tả thuật toán
Bước 1: z ? x;
Bước 2: x ? y;
Bước 3: y ? z;
{Sau bước này giá trị của z sẽ bằng a}
{Sau bước này giá trị của x sẽ bằng b}
{Sau bước này giá trị của y sẽ bằng z, chính là a giá trị ban đầu của x}
Program hoan_doi;
Var x,y,z:Integer;
Begin
Read(x,y);
writeln(x,’ ‘ ,y);
z:=x;
x:=y;
y:=z;
writeln(x,’ ‘,y);
readln;
End.
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Nguyễn Thị Huyền Thanh
Dung lượng: |
Lượt tài: 2
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)