Tìm kiếm theo tiêu đề

Tin tức cộng đồng

5 điều đơn giản cha mẹ nên làm mỗi ngày để con hạnh phúc hơn

Tìm kiếm hạnh phúc là một nhu cầu lớn và xuất hiện xuyên suốt cuộc đời mỗi con người. Tác giả người Mỹ Stephanie Harrison đã dành ra hơn 10 năm để nghiên cứu về cảm nhận hạnh phúc, bà đã hệ thống các kiến thức ấy trong cuốn New Happy. Bà Harrison khẳng định có những thói quen đơn...
Xem tiếp

Tin tức thư viện

Chức năng Dừng xem quảng cáo trên violet.vn

12087057 Kính chào các thầy, cô! Hiện tại, kinh phí duy trì hệ thống dựa chủ yếu vào việc đặt quảng cáo trên hệ thống. Tuy nhiên, đôi khi có gây một số trở ngại đối với thầy, cô khi truy cập. Vì vậy, để thuận tiện trong việc sử dụng thư viện hệ thống đã cung cấp chức năng...
Xem tiếp

Hỗ trợ kĩ thuật

  • (024) 62 930 536
  • 0919 124 899
  • hotro@violet.vn

Liên hệ quảng cáo

  • (024) 66 745 632
  • 096 181 2005
  • contact@bachkim.vn

Bài 6. Giải bài toán trên máy tính

Wait
  • Begin_button
  • Prev_button
  • Play_button
  • Stop_button
  • Next_button
  • End_button
  • 0 / 0
  • Loading_status
Tham khảo cùng nội dung: Bài giảng, Giáo án, E-learning, Bài mẫu, Sách giáo khoa, ...
Nhấn vào đây để tải về
Báo tài liệu có sai sót
Nhắn tin cho tác giả
(Tài liệu chưa được thẩm định)
Nguồn:
Người gửi: Nguyễn Song Toàn
Ngày gửi: 14h:32' 23-06-2014
Dung lượng: 874.5 KB
Số lượt tải: 357
Số lượt thích: 1 người (nguyễn thị ngọc cẩm)
CHÀO MỪNG CÁC EM ĐẾN VỚI
TIẾT HỌC HÔM NAY!
KIỂM TRA BÀI CŨ
NNLT là gì? Nêu các loại NNLT mà em đã học? Trong các NNLT đó thì ngôn ngữ nào được phát triển mạnh nhất? Vì sao?
?
Ngôn ngữ lập trình: là ngôn ngữ dùng để viết chương trình
Các loại: NN máy, Hợp ngữ, NNLT bậc cao.
 NNLT được phát triển mạnh nhất: Là NNLT bậc cao. Vì đây là ngôn ngữ gần gũi với tự nhiên hơn, tạo môi trường làm việc dễ dàng hơn cho con người.
Khi giải bài toán bằng tay chúng ta cần thực hiện theo những bước nào?
?
Giải bài toán trên máy tính thông qua 5 bước sau:
Bước 1: Xác định bài toán.
Bước 2: Lựa chọn và thiết kế thuật toán.
Bước 3: Viết chương trình.
Bước 4: Hiệu chỉnh;
Bước 5: Viết tài liệu
B1: Tìm hiểu đề
B2: Xác định dạng bài toán và chọn cách giải
B3: Giải bài toán
B4: Kiểm tra lại kết quả
B5:Trình bày lời giải cho bài toán
Để giải được bài toán trên máy tính ta phải tiến hành mấy bước, đó là những bước nào?
?
Xác định bài toán
Xác định bài toán là cần phải xác định cái gì? Và xác định nhằm mục đích gì?
?
Xác định rõ 2 thành phần:
- INPUT
- OUTPUT
Từ đó, xác định NNLT và lựa chọn thuật toán thích hợp
VD: Giải phương trình bậc hai:
ax2 + bx + c = 0 (a# 0)
Hãy xác định Input và Output của bài toán?
+Input: Nhập hệ số a, b, c (a#0)
+Output: Kết luận nghiệm của phương trình
-Pt VN
-Pt có nghiệm kép
-Pt có 2 nghiệm phân biệt x1 và x2
Cho a=1, b=-3, c=2 thì ta có pt x2 – 3x + 2 = 0.
Theo em, pt này có mấy cách giải?
?
Xác định bài toán
2. Lựa chọn và thiết kế thuật toán:
Xác định rõ 2 thành phần: INPUT và OUTPUT
- Là bước quan trọng nhất để giải một bài toán.
- Mỗi thuật toán chỉ giải 1 bài toán, nhưng một bài toán có thể có nhiều thuật toán để giải.  Chọn thuật toán tối ưu nhất.
Cho a=1, b=-3, c=2 thì ta có pt x2 – 3x+2 = 0.

?
- Thuật toán tối ưu là thuật toán có các tiêu chí sau:
* Dễ hiểu
* Trình bày ngắn gọn
* Thời gian thực hiện nhanh
* Tốn ít bộ nhớ
a. Lựa chọn thuật toán:
b. Diễn tả thuật toán:
VD: Giải phương trình bậc hai:
ax2 + bx + c = 0 (a# 0)
* Xác định bài toán:

* Ý tưởng:
- Tính Delta (D)
- Nếu D<0  pt VN
- Nếu D=0  pt có nghiệm kép x=-b/2a
- Nếu D>0  pt có 2 nghiệm phân biệt x1 và x2

* Thuật toán:
Chọn thuật toán tối ưu nhất
C1: Tính Delta và áp dụng công thức nghiệm
C2: Nhẩm nghiệm: Lấy giá trị bất kỳ đưa vào pt xem có phải là nghiệm hay không?
b. Diễn tả thuật toán:
2. Lựa chọn và thiết kế thuật toán:
B1: Nhập a, b, c (a#0)

B2: D b2 – 4ac

B3: Nếu D<0 thì kl pt VN, rồi kết thúc. (ngược lại sang b4)

B4: Nếu D=0 thì kl pt có nghiệm kép x = - b/2a, rồi kết thúc

B5: Nếu D>0 thì kl pt có 2 nghiệm phân biệt x1, x2, rồi kết thúc.
Liệt Kê
b. Diễn tả thuật toán:
2. Lựa chọn và thiết kế thuật toán:
Sơ đồ khối
Nhập a,b,c
D  b2 – 4ac
D < 0
PT vô nghiệm
rồi kt
D = 0
PT có nghiệm kép
rồi kt
PT có 2 nghiệm pb
rồi kt
B1
B2
B3
B4
B5
Đ
Đ
S
S
b. Diễn tả thuật toán:
2. Lựa chọn và thiết kế thuật toán:
Mô phỏng thuật toán giải phương trình bậc hai
a,b,c= 1 3 5
D = 3*3 - 4*5 = - 11
D=-11 < 0
PT vô nghiệm
D
= 0
S
PT có 2 nghiệm pb
Đ
S
D  b2 - 4ac
Nhập vào a,b,c
D < 0
Đ
b. Diễn tả thuật toán:
2. Lựa chọn và thiết kế thuật toán:
Mô phỏng thuật toán giải phương trình bậc hai
a,b,c= 1 3 -4
D = 9 + 16 = 25
PT vô nghiệm
PT có nghiệm kép
S
PT có nghiệm pb
đ
S
D  b2 - 4ac
Nhập vào a,b,c
D < 0
đ
D = 0
PT có nghiệm x1 = 1
x2 = -4
b. Diễn tả thuật toán:
2. Lựa chọn và thiết kế thuật toán:
Mô phỏng thuật toán giải phương trình bậc hai
a,b,c= 1 2 1
D = 2*2 - 4*1*1 = 0
D=0
PT vô nghiệm
S
PT có 2 nghiệm pb
Đ
S
D  b2 - 4ac
Nhập vào a,b,c
D < 0
Đ
D = 0
PT có nghiệm kép
x=-1
Xác định bài toán
2. Lựa chọn và thiết kế thuật toán:
Xác định rõ 2 thành phần: INPUT và OUTPUT
a. Lựa chọn thuật toán: Chọn tt tối ưu nhất
b. Diễn tả thuật toán:
Bằng cách nào để máy tính hiểu được thuật toán?
?
3. Viết chương trình:
Là tổng hợp giữa việc lựa chọn cách tổ chức dữ liệu và sử dụng NNLT để diễn đạt đúng thuật toán.
Dùng NNLT
 diễn đạt đúng thuật toán
Xác định bài toán
2. Lựa chọn và thiết kế thuật toán:
Xác định rõ 2 thành phần: INPUT và OUTPUT
a. Lựa chọn thuật toán: Chọn tt tối ưu nhất
b. Diễn tả thuật toán:
Chương trình khi viết xong thì có đảm bảo rằng là hoàn toàn đúng không?
?
3. Viết chương trình:
Là tổng hợp giữa việc lựa chọn cách tổ chức dữ liệu và sử dụng NNLT để diễn đạt đúng thuật toán.
4. Hiệu chỉnh:
Là quá trình thử lại chương trình với nhiều bộ Input khác nhau cho ra output tương ứng.  Nếu có sai sót, ta sửa chương trình rồi thử lại.
VD: Kiểm chứng nghiệm của pt bậc hai:
ax2 + bx + c = 0 (a# 0)
Với các bộ input sau:
a=1; b= -5; c=6
a=1; b= -4; c=4
a=1; b=4; c=8
Xác định bài toán
2. Lựa chọn và thiết kế thuật toán:
Xác định rõ 2 thành phần: INPUT và OUTPUT
a. Lựa chọn thuật toán: Chọn thuật toán tối ưu nhất
b. Diễn tả thuật toán:
3. Viết chương trình: Lựa chọn cách tổ chức dữ liệu và sử dụng NNLT để diễn đạt đúng thuật toán.
4. Hiệu chỉnh: Thử lại chương trình
Là tổng hợp lại từ việc mô tả bài toán, thuật toán, thiết kế chương trình, kết quả thử nghiệm và hướng dẫn sử dụng chương trình.
5. Viết tài liệu:
Mục đích của việc viết tài liệu là gì?
?
Chú ý: các bước trên có thể lặp đi lặp lại nhiều lần cho đến khi ta cho rằng chương trình đã làm việc đúng đắn và hiệu quả.
Xác định bài toán
2. Lựa chọn và thiết kế thuật toán:
Xác định rõ 2 thành phần: INPUT và OUTPUT.
a. Lựa chọn thuật toán: Chọn thuật toán tối ưu nhất.
b. Diễn tả thuật toán:
3. Viết chương trình: Lựa chọn cách tổ chức dữ liệu và sử dụng NNLT để diễn đạt đúng thuật toán.
4. Hiệu chỉnh: Thử lại chương trình.
Là tổng hợp lại từ việc mô tả bài toán, thuật toán, thiết kế chương trình, kết quả thử nghiệm và hướng dẫn sử dụng chương trình.
BÀI TẬP
5. Viết tài liệu:
VỀ NHÀ
 Về nhà học bài và làm bài tập 1, 2, 3 trang 51 SGK
 Xem trước bài 7,8
Câu 1
Câu 2
Câu 1. Hãy chỉ ra Input và Output của bài toán sau:
Hãy cho biết có bao nhiêu năm nhuận trong khoảng thời gian từ năm 1028 đến năm 2010
+ Input: Nhập 2 số a=1028 và b=2010
+ Output: Số năm nhuận trong khoảng thời gian từ ab
Câu 2. Có 1 chương trình giải bài toán
Nhập từ bàn phím 3 số nguyên dương a, b, c. Kiểm tra 3 số này có thể là 3 cạnh của tam giác hay không
Với các bộ dữ liệu sau, bộ dữ liệu nào tạo thành 3 cạnh của 1 tam giác?
A. a=3, b=10, c=6
B. a=5, b=8, c= -3
C. a=6, b=9, c=4
D. a=8, b=1, c=5
Chúc các em học tốt!
 
Gửi ý kiến