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

Tin tức cộng đồng

[MỜI HỢP TÁC] Các kỳ thi Olympic Quốc tế 2026 (IMO - IEO - ISO)

Kính gửi Quý Lãnh đạo, Ban Giám hiệu và Quý Thầy/Cô, FermatTech (Đối tác Google tại VN) phối hợp cùng SCO Ấn Độ trân trọng kính mời tham gia 3 kỳ thi uy tín dành cho HS từ lớp 1 - 12: - IMO: Olympic Toán Quốc tế. - IEO: Olympic Tiếng Anh Quốc tế. - ISO: Olympic Khoa học...
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: Hồ Thị Nghĩa
Ngày gửi: 08h:40' 05-11-2011
Dung lượng: 580.5 KB
Số lượt tải: 115
Số lượt thích: 0 người
Kiểm tra bài cũ
Có 3 loại NNLT: ngôn ngữ máy, hợp ngữ và ngôn ngữ bậc cao
Ngôn ngữ máy: là ngôn ngữ duy nhất để viết chương trình mà máy tính trực tiếp hiểu và thực hiện được
ưu điểm: Khai thác triệt để đặc điểm phần cứng của máy
Nhược điểm: Khó khăn trong việc viết và hiểu chương trình
Có mấy loại ngôn ngữ lập trình?
Trình bày đặc điểm của các ngôn ngữ lập trình, liệt kê một số ngôn ngữ lập trình bậc cao?
Hợp ngữ : là ngôn ngữ cho phép người lập trình sử dụng một số từ để thể hiện các lệnh cần thực hiện
Ưu điểm: Sử dụng một số từ viết tắt bằng tiếng anh nên dễ hiểu hơn
Nhược điểm: vẫn còn phức tạp chỉ phù hợp với nhà lập trình chuyên nghiệp
Ngôn ngữ lập trình bậc cao: các câu lệnh gần với ngôn ngữ tự nhiên, độc lập, dễ hiểu,không phụ thuộc vào từng loại máy
Một số NNLT bậc cao: PasCal, C, C++, Visual Basic, .NET,…


BÀI 6
Giải bài toán trên máy tính
Các bước giải bài toán trên máy tính?
Bước 1: Xác định bài toán 
Bước 2: Lựa chọn hoặc 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 
Bước 1: Xác định bài toán 
Tìm ra Input ,Output và mối quan hệ giữa chúng
Ví dụ: Xác định bài toán
Giải phương trình bậc 2 : ax2 + bx +c =0 ( a#0)
Input: Cho a,b,c ( a#0)
Output: Tất cả các nghiệm thỏa mãn ax2 + bx + c=0
Lưu ý: Cần xác định kĩ nhằm lựa chọn cấu trúc dữ liệu và ngôn ngữ lập trình thích hợp.
Xác định bài toán tức là ta phải làm gì?
Bước 2. Lựa chọn hoặc thiết kế thuật toán


Bài toán Thuật toán


Phải chọn thuật toán tối ưu nhất trong những thuật toán đưa ra.
4 tiêu chí:
Dễ hiểu
Trình bày dễ nhìn
Thời gian chạy nhanh
Tốn ít bộ nhớ.
1 - n
1 - 1
Một bài toán có nhiều thuật toán để giải không?
Một thuật toán giải được nhiều bài toán không?
Lựa chọn thuật toán dựa trên các tiêu chí nào?
a. Lựa chọn thuật toán
Bước 2. Lựa chọn hoặc thiết kế thuật toán
b. Diễn tả thuật toán
2 cách: Liệt kê và Sơ đồ khối
Ví dụ: Giải phương trình bậc 2: ax2 + bx +c=0 (a#0)
Ý tưởng:
Nhận xét:  = b2 - 4ac
- Nếu  > 0 thì thông báo phương trình có 2 nghiệm phân biệt
- Nếu  =0 thì thông báo phương trình có nghiệm kép
- Nếu  < 0 thì thông báo phương trình vô nghiệm
Thuật toán:
Cách liệt kê
Bước 1: Nhập a, b,c .
Bước 2: ∆b2 – 4ac
Bước 3: Nếu ∆< 0 thì kl: pt vô no rồi kt
Bước 4: Nếu ∆= 0 thì kl: pt có nghiệm kép là x –b/2a rồi kt
Bước 5: Nếu ∆> 0 thì kl: pt có 2 nghiệm là x1,2 (-b±√∆)/2a rồi kt
Có những cách nào để diễn tả thuật toán?
Bước 2. Lựa chọn hoặc thiết kế thuật toán

- Sơ đồ khối:
Nhập a,b,c
<0
Pt vô nghiệm,kt
Đúng
Đúng
Sai

Pt có nghiệm kép x-b/2a,kt
Pt co 2 nghiệm phân biệt
, kt
b*b –4*a*c
=0
Sai
Bước 2. Lựa chọn hoặc thiết kế thuật toán 
Mô phỏng thuật toán

Nhập a,b,c
<0
Pt vô nghiệm,kt
Đúng
Đúng
Sai
Pt có nghiệm kép x-b/2a
b*b –4*a*c
Sai
=0
Pt co 2 nghiệm phân biệt
,kt
Nhập 1,-5,6
1
1<0
1=0
Pt có 2 nghiệm phân biệt x1=3,x2=2
Nhập 1,-4,4
0
0<0
0=0
Pt có nghiệm kép x1=x2=2
Nhập 1,4,8
-16
-16<0
Pt vô nghiệm
Bước 3. Viết chương trình 
Phải chọn cách tổ chức dữ liệu và sử dụng ngôn ngữ lập trình để diễn đạt đúng thuật toán 
Lưu ý:
Viết chương trình trong ngôn ngữ nào thì cần phải tuân theo đúng quy định ngữ pháp của ngôn ngữ đó
Chương trình dịch chỉ có thể phát hiện và thông báo các lỗi về mặt ngữ pháp

Trước khi viết chương trình ta phải làm gì?
Bước 4. Hiệu chỉnh 

Vd: xác định tính đúng đắn của chương trình giải phương trình bậc 2
Sử dụng 3 bộ Input 
a=1, b=-5, c=6
a=1, b=-4, c=4
a=1, b=4, c=8


Bước 5. Viết tài liệu 
Viết tài liệu:
Mô tả bài toán
Thuật toán
Thiết kế chương trình
Kết quả thử nghiệm
Hướng dẫn sử dụng chương trình.
=> Tài liệu này rất có ích cho người sử dụng chương trình và cho việc đề xuất những khả năng hoàn thiện thêm
Cần viết những tài liệu gì?
Củng cố
Cần nắm được:
5 bước để giải bài toán trên máy tính
Công việc cụ thể của mỗi bước
Bài tập:
Nêu các bước giải bài toán tính tổng của dãy số nguyên.
 
Gửi ý kiến