Xây dựng thuật toán... Viết chương trình.. Output : Nghiệm của phương trìnhbậc nhất.. Output : Nghiệm của phương trìnhbậc nhất... Trong Expl là một biểu thức logic.. L
Trang 1Bài 5 : TỪ BÀI TOÁN ĐẾN CHƯƠNG TRÌNH
I Mục tiêu
Biết khái niệm bài toán, thuật toán
Biết các bước giải bài toán trên máy tính
Xác định được input, Output của một bài toán đơn giản
Biết chương trỉnh là thể hiện của thuật toán trên một ngôn ngữ cụ thể
Hiểu thuật toán tính tổng của n số tự nhiên đầu tiên, tìm số lớn nhất của một dãy số
II Chuẩn bị
GV : máy chiếu, giáo án
HS : sách , chuẩn bị tốt các kiến thức đã học
III Tiến trình dạy học
1 Kiểm tra bài cũ
2 Dạy bài mới
Hoạt động của giáo viên và học sinh Nội dung
1 Bài toán và xác định bài toán
Cho ví dụ về nột bài toán ?
Tính S = 1+2+3+……+n ; (n là số tự nhiên)
Tính diện tích hình chũ nhật, đường tròn, …
Nêu khái niệm về bài toán ?
Bài toán là một công việc hay một nhiệm vụ
cần giải quyết
Để giải một bài toán phải làm như thế
nào?
Xác định rõ các điều kiện cho trướcvà kết
quả thu được
Đưa ra các ví dụ, yêu cầu học sinh xác
định điều kiện cho trước và kết quả thu
được
Tính diện tích hình tròn
Điều kiện cho trước : bán kính của
đường tròn
Kết quả thu được : diện tích hình tròn
Bài toán nấu cơm
Điều kiện cho trước : nồi, gạo, nước
Kết quả thu được : một nồi cơm
1 Bài toán và xác định bài toán
Bài toán là một công việc hay nhiệm vụ cần phải giải quyết
Để giải bài toán thì cần xác định bài toán
Ví dụ : SGK/trang 29
2 Qúa trình giải bài toán trên máy tính
Máy tính tiếp nhận xử lý các thông tin và
biểu diễn chúng thành dạng cần thiết dưới
sự chỉ dẫn của con người thông qua đâu ?
Các câu lệnh
Việc dùng máy tính giải một bài toán là
đưa ra một thuật toán.Tuy nhiên việc mô tả
thuật toán chưa đủ đối với máy tính mà
2 Qúa trình giải bài toán trên máy tính
Thuật toán là các bước để giải một bài toán, còn chương trìnhchỉ thể hiện của thuật toán trong một ngôn ngữ lập trình cụ thể
Qúa trình giải bài toán gồm 3 bước :
3 Xác định bài toán
3 Xây dựng thuật toán.
Trang 2cần diễn đạt thuật toán dưới dạng máy tính
có thể hiểu và thực hiện được
Kết quả thuật toán là gì ?
Là chương trình được viết trong một ngôn
ngữ lập trình nào đó
Thuật toán là gì ?
HS trả lời
Tóm lại quá trình giải bài toán gồm mấy
bước ?
Hs trả lời
3 Viết chương trình
3.Thuật toán và mô tả thuật toán
Đưa ra một số ví dụ
Vd1 : Bài toán “pha trà”
Input : Trà, nước sôi, ấm và ly
Output : ly trà
Bước 1 : Tráng ấm, chén bằng nước sôi
Bước 2 : Cho trà vào ấm
Bước 3 : Rót nước sôi vào ấm và đợi khoảng
3-4 phút
Bước 4 : Rót trà vào ly
Vd2 : Bài toán “Giaỉ phương trình bậc
nhấtdạng tổng quát ax+b=0”
Input : Các hệ số a,b
Output : Nghiệm của phương trìnhbậc nhất
Bước 1 :Nếu a=0 chuyển tới bước 3
Bước 2 : Tính nghiệm của phương trình
x=-b/a và chuyển tới bước 4
Bước 3 : Nếu c<>0 thông báo pt đã cho vô
nghiệm, ngược lại (c=0) thông báo phương
trình đã cho vô số nghiệm
Bước 4 : Kết thúc
3.Thuật toán và mô tả thuật toán SGK
Vd2 : Bài toán “Giaỉ phương trình bậc nhấtdạng tổng quát ax+b=0”
Input : Các hệ số a,b
Output : Nghiệm của phương trìnhbậc nhất Bước 1 :Nếu a=0 chuyển tới bước 3
Bước 2 : Tính nghiệm của phương trình x=-b/a và chuyển tới bước 4
Bước 3 : Nếu c<>0 thông báo pt đã cho vô nghiệm, ngược lại (c=0) thông báo phương trình đã cho vô số nghiệm
Bước 4 : Kết thúc
4.Một số ví dụ về thuật toán
Vd1 :Hs quan sát hình 29 rồi mô tả thuật
toán
Vd2 :Tính S = 1+2+…+100.
Input : Các số 1,2, ,100
Output : Gía trị của S
Gợi ý : Gán cho S có giá trị bằng 0, tiếp tục
thêm các giá trị 1,2,…,100 vào S
Phát sinh thêm biến i
Vd3 : Đổi giá trị của hai biến x và y
Gợi ý : Có hai cốc nước : cam và dâu ,làm
thế nào để đổi cốc đựng cam thành cốc nước
đựng dâu và ngược lại
Yêu cầu học sinh đưa ra thuật toán
4.Một số ví dụ về thuật toán Vd2 :Tính S = 1+2+…+100.
Bước 1 : S:=0; i:=1 Bươc 2 : i:=i+1 Bước 3 : Nếu i<=100 thì S:=S+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
Vd3 : Đổi giá trị của hai biến x và y
Bước 1 : z:= x Bước 2 : x:=y Bước 3 : y:=z
Trang 3Vd4 : Cho a, b là hai số thực Hãy cho biết
kết quả so sánh hai số đó dưới dạng “a lớn
hơn b”, “a nhỏ hơn b”, “a bằng b” Từ đó
yêu cầu học sinh viết thuật toán
Vd4 : Cho hai số thực a,b Hãy cho biết kết
quả so sánh hai số a,b Bước 1 : Nếu a>b, kết quả là “a lớn hơn b” và chuyển đến bước 3
Bước 2 : Nếu a<b , kết quả là “a nhỏ hơn b”,ngược lại kết quả “a bằng b”
Bước 3 : Kết thúc thuật toán
3 Hướng dẫn học ở nhà
Biết mô tả thuật toán của một bài toán
Đọc ví dụ 6 sgk trang 33,34
Làm các bài tập trong sách giáo khoa
Trang 4Bài 6 : CÂU LỆNH ĐIỀU KIỆN
I Mục tiêu:
Biết sự cần thiết của câu trúc rẽ nhánh trong lập trình
Biết cấu trúc rẽ nhánh được sử dụng để chỉ dẫn cho máy tính thực hiện các thao tác phụ thuộc vào điều kiện
Hiểu cấu trúc rẽ nhánh có hai dạng : Dạng thiếu và dạng đủ
Biết mọi ngôn ngữ lập trình có câu lệnh thể hiện cấu trúc rẽ nhánh
Hiểu cú pháp, hoạt động của các câu lệnh điều kiện dạng thiếu và dạng đủ trong Pascal
Bước đầu viết được câu lệnh điều kiện trong Pascal
II Chuẩn bị :
Gv : tranh vẽ hình 32.
Hs : chuẩn bị bài cũ thật tốt, xem trước bài mới
III Tiến trình dạy học :
1 Kiểm tra bài cũ :
Hảy mô tả thuật toán tìm giá trị lớn nhất của hai số ?
Bước 1 : Max:= a (hoặc Max:=b);
Bước 2 : Nếu a < b thì gán Max = b và viết giá trị lớn nhất của hai số là Max
2 Dạy bài mới:
Hoạt động của giáo viên và học sinh Nội dung
1 Hoạt động phụ thuộc vào điều kiện
Cho ví dụ về một hoạt động phụ thuộc
điều kiện ?
Nếu chiều nay trời không mưa, em sẽ đi chơi
bóng
Nếu em bị ốm, em sẽ nghỉ học
Từ “nếu” trong các câu trên được dùng
để chỉ một “điều kiện” và các hoạt động
tiếp theo sau sẽ phụ thuộc vào điều kiện
đó
Nêu các điều kiện và các hoạt động phụ
thuộc điều kiện trong các ví dụ trên
Các điều kiện : chiều nay trời không mưa,
em bị ốm
Các hoạt động phụ thuộc điều kiện : em sẽ đi
chơi bóng, em sẽ nghỉ học
1 Hoạt động phụ thuộc vào điều kiện
SGK
3 Tính đúng sai của các điều kiện
Mỗi điều kiện nói trên được mô tả dưới
dạng một phát biểu Hoạt động tiếp theo
phụ thuộc vào kết quả kiểm tra phát biểu
đó đúng hay sai Vậy kiết quả kiểm tra
có thể là gì ?
3 Tính đúng sai của các điều kiện
Khi đưa ra câu điều kiện , kết quả kiểm tra là đúng, ta nói điều kiện được thoả mãn, còn khi kết quả kiểm tra là sai, ta nói diều kiện không thoả mãn
Ví dụ :
Nếu nháy nút “x” ở góc trên, bên phải cửa sổ, (thì) cửa sổ sẽ được đóng lại
Trang 5Điều
kiện Kiểm tra Kết quả Hoạt động tiếp theo
Trời
không
mưa ?
Buổi chiều
nhìn ra
ngoài trời và
thấy trời
không mưa
Đúng
Sai
Đi chơi bóng
Ở nhà
Em bị
ốm ? Cảm thấy mình khoẻ
mạnh
Sai Đúng
Ở nhà
Đi học
Nếu X>5, (thì hãy) in giá trị X ra màn hình
Nếu nhấn phím Pause/Break, (thì) chương trình (sẽ bị) ngưng
3 Điều kiện và phép so sánh
Các phép so sánh có vai trò rất quan
trọng trong việc mô tả thuật toán và lập
trình Chúng thường được sử dụng để
biểu diễn các điều kiện Phép so sánh
cho kết quả đúng có nghĩa điều kiện
được thoả mãn ; ngược lại điều kiện
không thoả mãn
Cho ví dụ : Nếu a > b ,phép so sánh đúng
thì in giá trị của a ra màn hình ; ngược lãi
in giá trị của b ra màn hình (có nghĩa là
phép so sanh cho kết quả sai)
3 Điều kiện và phép so sánh SGK
3 Cấu trúc rẽ nhánh và câu lệnh điều
kiện
Đưa ra lệnh : if ….then….else có hai
dạng và lưu ý
Với dạng 1 nếu expl đúng thì lệnh sẽ
được thi hành
Với dạng 2 nếu expl đúng thì lệnh 1
được thực hiện và ngược lại sẽ thực hiện
lệnh 2
Đưa ra lưu đồ cho 2 dạng
3 Cấu trúc rẽ nhánh và câu lệnh điều kiện
Lệnh If … Then … Else
Dạng 1
If < expl > then Lệnh;
Dạng 2
If < expl > then Lệnh 1 Else
Lệnh 2 ; Trước else không có dấu chấm phẩy
Trong Expl là một biểu thức logic Cách thi hành lệnh này như sau:
Với dạng 1 nếu expl đúng thì lệnh sẽ được thi hành
Với dạng 2 nếu expl đúng thì lệnh 1 được thực hiện và ngược lại sẽ thực hiện lệnh 2
Lệnh
Expl
đúng sai
expl
Trang 6Dạng 2
Hãy viết chương trình tìm giá trị lớn
nhất của hai số nguyên
Hãy viết lại bài tập trên sử dụng câu lệnh
dạng if ….then……else
Dạng 1
Ví dụ :Hãy viết chương trình tìm giá trị lớn nhất của hai số nguyên
Giải : Program GTLN;
Uses crt;
Var a, b, Max : Integer;
Begin Clrscr;
Write (‘a=’) ; Readln(a);
Write (‘b=’) ; Readln(b);
Max: =a;
If a < b then Max : = b;
Writeln (‘ gia tri lon nhat cua hai so a, b la :’, Max) ;
Readln;
End
Cách khác :
Program GTLN;
Uses crt;
Var a, b, Max : Integer;
Begin Clrscr;
Write (‘a=’) ; Readln(a);
Write (‘b=’) ; Readln(b);
If a < b then Max : = b Else
Max : = a;
Writeln (‘ gia tri lon nhat cua hai so a, b la :’,
Trang 7Max) ; Readln;
End
3 Hướng dẫn học ở nhà :
Nắm vững hai dạng của câu lệnh điều kiện
Biết vẽ lưu đồ của hai câu lệnh điều kiện
Làm các bài tập trong sách và chuẩn bị bài thực hành
Bài thữc hành số 4 : SỬ DỤNG CÂU LỆNH IF ….THEN
1 Mục đích, yêu cầu :
Luyện tập sử dụng câu lệnh if … Then
Rèn luyện kĩ năng ban đầu về đọc các chương trình đơn giản và hiểu được ý bghĩa của thuật toán sử dụng trong chương trình
2 Nội dung
Bài 1 : Viết chương trình nhập hai số nguyên a và b từ bàn phím và in hai số đó ra màn hình theo thứ tự tăng dần
Program sapxep;
Uses crt;
Var : a, b : integer;
Begin
Clrscr;
Write (‘a=’) ; readln(a);
Write (‘b=’) ; readln(b);
If a < b then write (a, ‘ ‘, b) else write (b, ‘ ‘, a);
Readln;
End