Hoạt động của giáo viên và học sinh Nội dung Hoạt động 1:Tìm hiểu lặp với số lần chưa biết.. trước và câu lệnh while-do1[r]
(1)Tiết Ngày soạn:14/8/2010 Ngày Giảng:17/8/2010
Chơng I Một số khái niệm lập trình ngôn ngữ lập trình bài 1: khái niệm lập trình ngôn ngữ lập trình
I Mc đích u cầu:
- BiÕt cã líp ng«n ngữ lập trình mức ngôn ngữ lập trình: ngôn ngữ máy, hợp ngữ ngôn ngữ bậc cao
- Biết vai trò chơng trình dịch - Biết khái niệm biên dịch thông dịch
- BiÕt mét sè nhiƯm vơ quan träng cđa ch¬ng trình dịch phát lỗi cú pháp chơng tr×nh nguån
II Phơng pháp, phơng tiện dạy học: - Phơng pháp: Thuyết trình, vấn đáp
- Ph¬ng tiện: Giáo án, sách giáo khoa, sách giáo viên, bảng III Nội dung giảng.
Hot ng ca giỏo viên- Học sinh Nội dung - Đặt câu hỏi 1: Em cho biết bớc giải
to¸n máy tính
- hs:Suy nghĩ trả lời câu hỏi
- Phân tích câu trả lời học sinh Nhắc lại bớc giải toán lớp 10
- Đặt câu hỏi 2: Em hÃy cho biết có loại ngôn ngữ lập trình
-hs: Có loại ngôn ngữ lập trình: ngôn ngữ máy, hợp ngữ ngôn ngữ bậc cao
- Phân tích câu trả lời học sinh
- Đặt câu hỏi 3: làm để chuyển chơng trình viết ngơn ngữ bậc cao sang ngơn ngữ máy
- §a vÝ dơ (SGK)
(kiến thức học lớp 10)
* Khái niệm ngôn ngữ lập trình: Lập trình sử dụng cấu trúc liệu câu lệnh ngôn ngữ lập trình cụ thể để mơ tả liệu diễn đạt thuật tốn
- Có loại ngơn ngữ lập trình: : ngơn ngữ máy, hợp ngữ ngơn ngữ bậc cao => Cần phải có chơng trình dịch để chuyển chơng trình viết ngơn ngữ lập trình bậc cao sang ngơn ngữ máy để máy thi hành đợc
- Chơng trình có chức chuyển đổi chơng trình đợc viết ngơn ngữ bậc cao thành chơng trình thực đợc máy tính đợc gọi chơng trình dịch - Có loại chơng trình dịch: Thơng dịch biên dịch
* Thông dịch: Đợc thực cách lặp lại dãy bớc sau: + Kiểm tra tính đắn câu lệnh chơng trình nguồn
+ Chuyển đổi câu lệnh thành hay nhiều câu lệnh tơng ứng ngôn ngữ máy
+ Thực câu lệnh vừa chuyển đổi đợc
(2)tr×nh ngn
+ Dịch tồn chơng trình nguồn thành chơng trình đích thực máy lu trữ lại để sử dụng sau
IV Cñng cè, dặn dò.
- Nhắc lại số khái niệm
- Chuẩn bị trớc bài: các thành phần ngôn ngữ lập trình
V Rỳt kinh nghim
Bài thành phần ngơn ngữ lập trình I Mục đích u cu:
- Biết ngôn ngữ lập trình có thành phần là: bảng chữ cái, cú pháp ng÷ nghÜa
- Hiểu phân biệt đợc ba thnh phn ny
- Biết thành phần sở Pascal: Bảng chữ cái, tên, tên chuẩn, tên riêng (từ khoá), biến
- Phõn bit đợc tên tên biến - Biết đặt tên đúng, nhận biết đợc tên sai II Phơng pháp, phơng tiện dạy học:
- Phơng pháp: Thuyết trình, vấn ỏp
- Phơng tiện Giáo án, sách giáo khoa, sách giáo viên, bảng III Nội dung giảng.
Hoạt động giáo viên- học sinh Nội dung - Dẫn dắt vấn đề
- hs: l¾ng nghe
- Mỗi ngơn ngữ lập trình có quy định riêng thành phần
hs: ghi bµi
- Lấy ví dụ minh hoạ: Trong Pascal không dùng dấu ! nhng ngôn ngữ C++ lại dùng
- VD: SGK
- Nh vËy ng÷ nghÜa + hai ngữ cảnh khác khác
- Mỗi loại ngơn ngữ lập trình khác có cách xác định ngữ nghĩa khác
- Đa ví dụ ngôn ngữ tự nhiên có bảng chữ cái, ngữ pháp nghĩa câu, tõ
- cần phải đặt tên? -hs: trả lời
- Giới thiệu cách đặt tên ngôn ngữ cụ thể: Pascal
- Đa ví dụ tên tên sai
- Ngôn ngữ có loại tên nhng tuỳ theo ngôn ngữ mà tên có ý nghĩa khác ngôn ngữ khác
1 Các thành phần bản
- Mỗi ngôn ngữ lập trình thờng có thành phần là: bảng chữ cái, cú pháp ngữ nghĩa
a Bảng chữ cái: Là tập ký hiệu dùng để viết chơng trình
- Trong ngơn ngữ Pascal bảng chữ gồm chữ bảng chữ tiếng Anh (các chữ thờng in hoa), chữ số từ 0->9 số ký tự đặc biệt (SGK)
b Cú pháp: quy tắc dùng để viết ch-ơng trình
c Ngữ nghĩa: Xác định ý nghĩa thao tác cần thực ứng với tổ hợp kí tự dựa vào ngữ cảnh
2 Mét sè kh¸i niƯm.
a Tên: - Mọi đối tợng chơng trình phải đợc đặt tờn
(3)- Trong soạn thảo chơng trình ngôn ngữ lập trình thờng hiển thị tên dành riêng với màu chữ khác hẳn với tên lại - Mở chơng trình Pascal cho học sinh quan sát cách hiển thị số từ khoá ch-ơng trình
- ChØ cho häc sinh mét sè tªn chuÈn Pascal
- Hằng thờng có loại, đợc đặt tên không đợc đặt tên Hằng không đợc đặt tên giá trị đợc viết trực tiếp viết chơng trình
- Biến đối tợng đợc sử dụng nhiều viết chơng trình Biến đại lợng thay đổi đợc nên thờng đợc dùng để lu trữ kết quả, trung gian cho tính tốn Mỗi loại ngơn ngữ khác có loại biến khác cách khai báo khác
- Khi viết chơng trình, ngời lập trình thờng có nhu cầu giải thích cho câu lệnh viết, để đọc lại đợc thuận tiện ngời khác đọc hiểu đợc chơng trình viết Do NNLT cung cấp cho cách để đa thích vo chng trỡnh
- Ngôn ngữ khác c¸ch viÕt chó thÝch cịng kh¸c
- Mở chơng trình Pascal đơn giản làm ví dụ cho hc sinh
tối đa 255 ký tự
- Ngơn ngữ lập trình thờng có loại tên bản: Tên dành riêng, tên chuẩn tên ngời lập trình đặt
Tên dành riêng: - Là tên đợc ngơn ngữ lập trình quy định với ý nghĩa xác định mà ngời lập trình khơng thể dùng với ý nghĩa khác
- Tên dành riêng cịn đợc gọi từ khố - VD số từ khoá:
+ Trong Pascal: Program, Begin, End + Trong C++: main, include
Tên chuẩn:- Là tên đợc ngơn ngữ lập trình dùng với ý nghĩa th viện ngơn ngữ lập trình, nhiên ngời dùng sử dụng với ý nghĩa khác - VD + Trong Pascal: read, integer, char + Trong C++: cin, cout
Tên ngời lập trình đặt: - Đợc xác định cách khai báo trớc sử dụng không đợc trùng với tên dành riêng
- Các tên chơng trình khơng đợc trùng
b H»ng vµ biÕn
Hằng: Là đại lợng có giá trị khơng thay đổi q trình thực chơng trình. - Các ngơn ngữ lập trình thờng có:
+ Hằng số học: số nguyên số thực
+ Hằng lôgic giá trị sai + Hằng xâu chuỗi ký tự đặt dấu nháy ‘’ “”
VD: SGK
Biến: Là đại lợng đợc đặt tên, dùng để lu giá trị giá trị thay đổi đợc trong quá trình thực chơng trình
- C¸c NNLT cã nhiều loại biến khác - Biến phải khai báo tríc sư dơng c Chó thÝch.
Trong viết chơng trình viết thích cho chơng trình Chú thích khơng làm ảnh hởng đến chơng trình - Trong Pascal đoạn thích đợc đặt { } (* *) Trong C++ thích đợc đặt /* */
IV Củng cố, dặn dò:
- Nhắc lại số khái niệm - Ra tập nhà
- Chuẩn bị cho tiết sau tiết tËp V Rót kinh nghiƯm
(4)(5)
TiÕt 2 Ngµy soạn:21/8/2010 Ngày giảng:24/8/2010 bài Tập
I Mc ớch yờu cầu: - Hệ thống kiến thức
- Gióp häc sinh kiểm tra, xem xét chữa số tập II Phơng pháp, phơng tiện dạy học:
- Phơng pháp: Thuyết trình, diễn giải, vấn đáp, hoạt động nhúm
- Phơng tiện: Giáo án, sách giáo khoa, sách tập, sách giáo viên, bảng III Nội dung giảng.
Hot ng ca giỏo viờn hc sinh nội dung * GV kết hợp việc ôn lại lý thuyết kiểm
tra bµi cị
- hs: nhớ lại kiến thức, đứng chỗ trả lời
<?> K/n lập trình ngơn ngữ lập trình? <?> NNLT đợc chia thành loại? đặc điểm?
<?> Tại ngời ta phải xây dựng ngôn ngữ lập trình bậc cao?
<?> Chơng trình dịch gì? cần phải có chơng trình dịch?
<?> Điểm khác tên dành riêng tên chuẩn?
<?> Biên dịch thông dịch khác nh thÕ nµo?
hs: Viết tên tên sai quy tắc NNLT Pascal
nêu lý tên sai?
hs: suy nghĩ, trả lời
- biểu diễn pascal:
c vỡ du phy phải thay dấu chấm e cha rõ gúa trị Nếu xâu thiếu ‘’, số(hexa) phải thêm $ đằng trớc
h thiếu nháy đơn cuối
* Chó ý: g lµ biĨu thøc h»ng pascal chn
i lµ h»ng xâu logic
II Bài tập
<5> Hãy tự viết tên đúng/sai theo quy tắc Pascal?
hanoi a _binhlieu123 ha#long 175b a b c
<6> h·y cho biết biểu diễn dới biểu diễn Pascal rõ lỗi tõng trêng hỵp? a 150.0 b -22 c 6,23 d ‘43’ e A20 f 1.06E-15 g 4+6 h ‘c i ‘true’
1 sè bt SBT
IV Củng cố.
- Nêu dạng tập quan trọng
- Yờu cu hc sinh hồn thành tất tập cịn lại - Xem lại kiến thức học, chuẩn bị trớc bài: cấu trúc chơng trình V Rút kinh nghiệm
TiÕt Ngày soạn:28/8/2010
(6)Ngày giảng:31/8/2010
Chng II chơng trình đơn giản bài 3: cấu trúc chơng trình I Mục đích u cầu:
- Hiểu chơng trình mơ tả thuật tốn ngơn ngữ lập trình, - Biết cấu trúc chơng trình đơn giản: cấu trúc chung thành phần - Nhận biết đợc phần chơng trinh n gin
II Phơng pháp, phơng tiện dạy häc:
- Phơng pháp: Thuyết trình, vấn đáp, thảo luận nhóm - Phơng tiện Giáo án, sách giáo khoa, sách giáo viên, bảng III Nội dung giảng.
1 KiĨm tra bµi cị:
Câu Nêu khái niệm tên lập trình? Nêu tên tên sai ngơn ngữ Pascal
C©u Nêu khái niệm biến? Nêu ví dụ minh hoạ 2 Bài mới
Hot ng ca giỏo viờn- học sinh Nội dung - Thuyết trình đa cấu trỳc chung ca chng
trình
- Đặt câu hỏi: Cấu trúc chơng trình viết ngôn ngữ bậc cao gồm phần? Phần bắt bộc phải có?
- hs:Đọc sách, trả lời câu hỏi
- Nêu ý nghĩa cặp dấu [và] <và> - hs:Lắng nghe, ghi chép
- Thảo luận đa ví dụ khai báo tên ch-ơng trình
- hs:- Lên bảng cho ví dụ
- Khai bỏo th viện cung cấp số chơng trình thơng dụng đợc lập trình sẵn
- §a vÝ dơ th viện
- Khai báo giá trị xuất nhiều lần chơng trình
hs:- Lắng nghe, ghi chÐp
- Tất biến dùng chơng trình phải đặt tên khai báo cho chơng trình dịch
1 CÊu tróc chung.
- Mỗi chơng trình nói chung gồm phần: Phần khai báo phần thân chơng trình - Phần thân chơng trình định phảo có, phần khai báo có th cú hoc khụng
[<Phần khai báo>] <Phần thân>
2 Các thành phần chơng trình.
a Phần khai báo
- Cú th khai bỏo tờn chơng trình, đ-ợc đặt tên, biến, th viện, chơng trình con, Khai báo tên chơng trình: Có thể có khơng Trong Pascal có
program <tªn chơng trình>;
- Tờn chng trỡnh ngi lp trình đặt theo quy tắc đặt tên
VD: program Lop_11A1; Khai b¸o th viƯn:
- Trong Pascal: Uses <tên th viện> - Trong C++: #include <tên th viện> VD: Trong turbo Pascal: Uses crt, graph; Khai báo hằng: Những sử dụng nhiều lần chơng trình đợc đặt tên cho tiện sử dụng
VD: Trong Pascal: const N = 100; e = 2.;
Trong C++: const int N = 100; const float e = 2.6;
Khai báo biến: - Mọi biến sử dụng chơng trình phải khai báo để chơng trình dịch biết để xử lý lu trữ
(7)biết để lu trữ sử lý
- Mỗi ngôn ngữ lập trình có cách tổ chức chơng trình khác nhau, thờng phần thân chứa câu lệnh chơng trình
- Hóy quan sát đoạn chơng trình, thảo luận để xác định: Phần khai báo phần thân, tên chơng trình th viện đợc khai báo ch-ơng trình, bỏ phần chch-ơng trình -hs: dọc SGK thảo luận trả lời
- Nhận xét, đánh giỏ
b Phần thân ch ơng trình
- Thân chơng trình thờng nơi chứa toàn câu lệnh chơng trình lời gọi chơng trình
- Dãy lệnh phạm vi đợc xác định cặp dấu hiệu bắt đầu kết thúc tạo thành thân chơng trình
VD: Begin
[<các câu lệnh>] End
3 Vớ dụ chơng trình đơn giản.
- Xét ví dụ chơng trình đơn giản ngơn ngữ khác (SGK)
IV Củng cố dặn dò
- Nêu cấu trúc chung chơng trình viết ngôn ngữ lập trình bậc cao - Cặp dấu hiệu mở đầu kết thúc Pascal gì?
- Xem lại vừa học
- Chuẩn bị trớc bài: Một số kiểu liệu chuẩn Khai b¸o biÕn. V Rót kinh nghiƯm
bài 4: Một số kiểu liệu chuẩn I Mục đích yêu cầu:
- Biết số kiểu liệu chuẩn: Nguyên, thực, logic - Xác định đợc kiểu cần khai báo liệu đơn giản II Phơng pháp, phơng tiện dạy học:
- Phơng pháp: Thuyết trình, vấn đáp, thảo luận nhóm
- Phơng tiện: Giáo án, sách giáo khoa, sách giáo viên, bảng III Nội dung giảng.
1 Kiểm tra cũ
Câu hỏi: Nêu cấu trúc chung chơng trình 2 Bài mới
Hot ng giáo viên- học sinh Nội dung - hs:Ghi chép
(8)kết qủa tính toán xác nhng hạn chế miền giá trị
- Kiểu ngun tốn học vơ hạn đếm đợc nhng máy tính kiểu nguyên hữu hạn, có thứ tự
-vd
-hs: L¾ng nghe, ghi chép
-hs:Kẻ bảng liết kê kiểu nguyên
- Kiểu thực đợc lu trữ máy tính kết tính tốn gần với sai số khơng đáng kể nhng miền giá trị đợc mở rộng so với số nguyên
- hs:L¾ng nghe, ghi chÐp -hs:Kẻ bảng liết kê kiểu thực
- Kiu kớ tự có tập giá trị kí tự bảng mã ASCII đợc dùng thông tin kí tự dùng làm việc với kiểu văn Kí tự kiểu có thứ tự, đếm đợc
- Logic lập trình có giá trị (true) sai (false)
- Kiểu logic kiểu đếm đợc - Lắng nghe, ghi chép
- KỴ bảng liết kê kiểu logic
năng lu trữ khác 1 KiĨu nguyªn.
- Kiểu ngun đợc lu trữ máy tính kết qủa tính tốn xác nhng hạn chế miền giá trị
- Bảng liệt kê số kiểu nguyên Pascal
kiĨu sè byte ph¹m vi
Byte đến 255
Integer -32768 đến 32767
word đến 65535
longint -2.1 tỷ đến 2.1 tỷ 2 Kiểu thực.
- Kiểu thực đợc lu trữ máy tính kết tính tốn gần với sai số không đáng kể nhng miền giá trị đợc mở rộng so với số nguyên
- Bảng liệt kê số kiểu thực Kiểu Số Byte Phạm vi Real 10-38 đến 1038 Extended 10 10-4932 đến 104932
3 KiÓu kÝ tù.
- Kiểu kí tự có tập giá trị kí tự bảng mã ASCII đợc dùng thơng tin kí tự dùng làm việc với kiểu văn Kí tự kiểu có thứ tự, đếm đợc
- Mỗi kí tự có mã tơng ứng từ đến 255
KiÓu Sè byte Ph¹m vi
char 256 kÝ tù ASCII 4 KiĨu Logic
- Logic lập trình có giá trị (true) sai (false)
- Kiểu logic kiểu đếm đợc
KiÓu Sè byte Phạm vi
Boolean True False IV Củng cố dặn dò
- Nhc li cỏc khỏi niệm kiểu liệu đơn giản hay dùng, cách khai báo biến - Về nhà khai báo biến kiểu nguyên, biến kiểu thực với tên tuỳ ý
V Rót kinh nghiƯm
Tiết 4 Ngày soạn:4/9/2010
Ngày giảng:7/9/2010
bi 5: Khai báo biến I Mục đích yêu cầu:
- Hiểu đợc cách khai báo - Khai báo biến
- Nhận biết đợc khai báo biến sai II Phơng pháp, phơng tiện dạy học:
(9)- Phơng pháp: Thuyết trình, vấn đáp, thảo luận nhúm
- Phơng tiện: Giáo án, sách giáo khoa, sách giáo viên, bảng III Nội dung giảng.
* KiĨm tra bµi cị:
<?> Cấu trúc chơng trình viết ngơn ngữ lập trình bậc cao gồm phần? Hoạt động giáo viên- học sinh Nội dung - Trong NNLT khái niệm biến liên
quan đến đối tợng nh tên biến, kiểu biến Tên biến dùng để xác lập mối quan hệ biến địa ô nhớ nơi lu trữ giá trị biến Vì cấp khai báo biến đợc khai báo lần
-hs:- Chó ý l¾ng nghe ghi chép - Đa ví dụ cho häc sinh
- Trong ngôn ngữ Pascal biến đơn đợc khai báo nh sau:
Var <danh sách biến>:<kiểu liệu> Trong đó:
Var: từ khố dùng để khai báo biến Danh sách biến: tên biến cách dấu phẩy
Kiểu liệu: kiểu liệu ngơn ngữ Pascal
VD: khai báo biến nguyên có tên a b
VAR a,b:integer;
hoặc VAR a:integer; b:integer;
- Cần đặt tên biến cho gợi nhớ đến ý nghĩa Không nên đặt tên dài, cần quan tâm đến phạm vi giá trị bài Phép tốn, biểu thức, câu lệnh gán.
I Mục đích yêu cầu:
- BiÕt c¸c kh¸i niƯm: PhÐp to¸n, biĨu thøc sè häc, hµm sè häc chn, biĨu thøc quan hÖ;
- Hiểu lệnh gán Viết đợc lệnh gán
- Viết đợc biểu thức số học lơgíc với phép tốn thơng dụng II Phơng pháp, phơng tiện dạy học:
- Phơng pháp: Thuyết trình, vấn đáp, thảo luận nhóm
- Ph¬ng tiƯn: Giáo án, sách giáo khoa, sách giáo viên, bảng III Nội dung giảng.
Hot ng ca giỏo viờn- học sinh Nội dung - Tốn học có phép tốn nào?
-hs: tr¶ lêi
- Chúng có đợc dùng ngơn ngữ lập trình khơng? (Chỉ số phép dùng đợc, số phép phải xây dựng từ phép tốn khác) VD: Luỹ thừa khơng phải ngụn ng no cng vit c
- Mỗi ngôn ngữ khác lại có cách kí hiệu phép toán khác
-hs: theo dõi, ghi chép - Đa mét sè vÝ dơ
- Trong to¸n häc biểu thức -hs: trả lời
- Đa khái niệm biểu thức lập trình - Cách viết biểu thức lập trình có giống toán học không?
- Đa cách viết biĨu thøc vµ thø tù thùc hiƯn
1 PhÐp to¸n.
* NNLT Pascal sư dơng mét sè phÐp toán sau:
- Với số nguyên: +, -, * (nhân), div (chia lấy nguyên), mod (chia lấy d)
- Víi sè thùc: +, -, *, / (chia)
- C¸c phÐp to¸n quan hƯ <, <=, >, >=, =, <> (khác): Cho kết giá trị logic (True hc False)
- Các phép tốn Logic: NOT (phủ định), OR (hoặc), AND (và): thờng dùng để kết hợp nhiều biểu thức quan hệ với 2 Biu thc s hc
- Là dÃy phép toán: +, -, *, /, div Mod từ hằng, biến kiểu số hàm
- Dùng cặp dấu () để quy định trình tự tính tốn
(10)phÐp to¸n lËp trình -hs: lắng nghe, ghi chép
- Đa ví dụ biểu thức toán học yêu cầu HS viết chúng ngôn ngữ Pascal
-hs: lên bảng viết
- Đặt câu hỏi: Để tính
X ta viÕt thÕ nµo? -hs:ViÕt X*X
- Vµ tÝnh x, Sinx, Cosx, thÕ nµo? -hs: cha biÕt
- Để tính giá trị cách đơn giản, ngời ta xây dựng sẵn số đơn vị chơng trình giúp ngời lập trình tính tốn nhanh giá trị thông dụng
- Đối với hàm chuẩn cần quan tâm đến kiểu đối số kiểu giá trị trả
- §a vÝ dơ SGK vµo bµi
- Trong lập trình thờng ta phải so sánh hai giá trị trớc thực lệnh Biểu thức quan hệ đợc gọi biểu thức so sánh đợc dùng để so sánh giá trị, cho kết sai (logic)
- VD: 3>5: Cho kết sai -hs: theo dõi, ghi
- Muốn so sánh nhiều điều kiện đồng thời làm th no?
-hs: đa ý kiến
- Đa ví dụ cách viết Pascal - Chú ý: Mỗi ngơn ngữ có cách viết khỏc
- Mỗi NNLT có cách viết lệnh gán khác - Cần ý điều viết lệnh gán
-hs: suy nghĩ đa ý kiÕn
- Phân tích câu trả lời học sinh sau tổng hợp lại: cần ý đến kiểu biến kiểu biểu thức
Thứ tự thực phép toán: - Trong ngoặc trớc, ngoặc sau - Nhân chia trớc, công trừ sau
- Giá trị biểu thức có kiểu kiểu biến có giá trị lớn nhÊt biĨu thøc
3 Hµm sè häc chn.
- Các NNLT thờng cung cấp sẵn số hàm số học để tính số giá trị thơng dng
- Cách viết: Tên_hàm (Đối số)
- Kết hàm phụ thuộc vào kiểu đối số
- Đối số hay nhiều biểu thức số học đặt ngoặc () sau tên hàm
- Bản thân hàm coi biĨu thøc sè häc vµ cã thĨ tham gia vµo biểu thức nh toán hạng
Bảng sè hµm chn: SGK (26) VD:
4 BiĨu thøc quan hƯ.
Cã d¹ng nh sau:
<biĨu thøc 1> <phÐp to¸n quan hƯ> <biĨu thøc 2>
Trong đó:
- BiĨu thøc vµ biĨu thøc ph¶i cïng kiĨu - KÕt qu¶ cđa biĨu thøc quan hệ TRUE FALSE
VD: A<B
2*X<=5+Y 5 BiÓu thøc logic
- Biểu thức logic đơn giản biến logic
- Thờng dùng để liên kết nhiều biểu thức quan hệ lại với phép toán logic
VD: - Ba số dơng a, b, c độ dài cạnh tam giác biểu thức sau cho giá trị (a + b > c) and (b + c > a) and (c + a > b) - Biểu thức điều kiện d” X d” đợc viết nh sau: (x >= 0) and (x <= 5)
- Chú ý: Mỗi ngôn ngữ có cách viết khác
6 Câu lệnh gán.
- Lệnh gán cấu trúc ngơn ngữ lập trình, thờng dùng để gán giá trị cho biến
Cấu trúc: <tên biến> := <biểu thức>; Trong đó: biểu thức phải phù hợp với tên biến Có nghĩa kiểu tên biến phải kiểu với kiểu biểu thức phải bao hàm kiểu biểu thức
(11)- Minh hoạ vài lệnh gán số ví dụ Suy nghĩ đa ý kiến
- Hoạt động lệnh gán: Tính giá trị biểu thức sau đố ghi giá trị vào tên biến
VÝ dô:
X1 := (-b – sqrt(b*b – 4*a*c))/(2*a); X2 := (-b + sqrt(b*b – 4*a*c))/(2*a); I := I +1;
J := J – 3;
Trong đó: Lệnh thứ tăng I lên thêm đơn vị lệnh thứ giảm giá trị biến J đơn vị
IV Cđng cè dỈn dò
- Nhắc lại khái niệm - Ra bµi tËp vỊ nhµ
- Học chuẩn bị tiếp theo: Các thủ tục chuẩn vào/ra đơn giản. V Rút kinh nghiệm
Tiết 5 Ngày soạn:11/9/2010
Ngy ging:14/9/2010 Bi Các thủ tục chuẩn vào/ra đơn giản.
I Mục đích yêu cầu:
- Biết lệnh vào đơn giản để nhập thơng tin từ bàn phím đa thơng tin hình
- Viết đợc số lệnh vào đơn giản II Phơng pháp, phơng tiện dạy học:
- Phơng pháp: Thuyết trỡnh, ỏp
- Phơng tiện: Giáo án, sách giáo khoa, sách giáo viên, bảng III Nội dung giảng.
1 Kiểm tra cũ:
Câu hỏi: HÃy viết lại biểu thức toán học sau sang dạng biểu diễn tơng ứng Pascal:
a x2 y2
b x yx y
2 Bµi míi:
Hoạt động giáo viên- học sinh Nội dung - Làm để nhập giá trị từ bàn phím vào
cho biÕn?
- hs: theo dâi, ghi chÐp
- §a vÝ dụ chơng trình có nhập thông tin vào từ bàn phím
- Chạy chơng trình cho học sinh xem, nhận xét chơng trình
Giải thích cho việc nhập giá trị cho nhiều biến
1 Nhập liệu vào từ bàn phím
- Ta dùng thđ tơc chn READ hc READLN cã cÊu tróc nh sau:
READ/READLN (<biÕn 1>, <biÕn 2>, ,<biÕn n>);
VD: Read (N);
Readln (a, b, c);
*Chó ý: Khi nhËp d÷ liƯu tõ bµn phÝm READ vµ READLN cã ý nghÜa nh nhau, thờng hay dùng READLN READLN chờ phím ENTER
(12)đồng thời
- Có thể thay đổi Readln (a,b,c) ví dụ thành Read (a,b,c), chạy chơng trình cho học sinh xem khác s dng hai lnh ny
- Mỗi ngôn ngữ lập trình có cách đa thông tin hình khác
- Trong ngụn ng Pascal dùng thủ tục write writeln để đa thông tin hình
-hs:- Theo dâi, ghi chÐp
- Giải thích khác write writeln
- Lấy ví dụ minh hoạ - Giải thích ví dụ
- Trong thủ tục writel writeln sau kết có quy cách
- Giải thích lấy ví dụ
- Việc nhập liệu cho nhiều biến giá trị biến phải cách dấu cách dấu Enter, máy gán giá trị cho c¸c biÕn theo thø tù nh lƯnh nhËp tơng ứng
2 Đa liệu hình
- Đa liệu hình vị trÝ trá, ta dïng thđ tơc WRITE hc WRITELN với cấu trúc:
Write/Writeln (<Giá trị 1>, <giá trị 2>,,<Giá trị n>);
- Trong ú cỏc Giá trị tên biến, tên hằng, giá trị cụ thể, biểu thức tên hàm
- Với thủ tục write sau đa kết hình trỏ không chuyển xuống dòng Với thủ tục writeln sau đa thông tin hình trỏ chuyển xuống đầu dßng tiÕp theo
VD: SGK (30 - 31) *Chó ý:
- Các thủ tục readln writeln tham số
- Ngoài Pascal có quy cách đa thông tin nh sau
KÕt qu¶ thùc:
:<độ rộng>:<số chữ số thập phân> Các kết khác:
:<độ rộng>
Trong đó, độ rộng số chữ số thập phân nguyên dơng
Bài soạn thảo, dịch, thực hiện Và hiệu chỉnh chơng trình. I Mục ớch yờu cu:
- Biết bớc soạn thảo, dịch, thực hiệu chỉnh chơng trình - Biết mét sè c«ng cđa m«i trêng Turbo Pascal
- Bớc đầu sử dụng đợc chơng trình dịch để phát lỗi
- Bớc đầu chỉnh sửa đợc chơng trình dựa vào thơng báo lỗi chơng trình dịch tính hợp lý kết thu đợc
II Phơng pháp, phơng tiện dạy học: - Phơng phỏp: Thuyt trỡnh, ỏp
- Phơng tiện: Giáo ¸n, s¸ch gi¸o khoa, s¸ch gi¸o viªn, m¸y chiÕu, m¸y tính III Nội dung giảng.
Hot ng ca giáo viên- học sinh Nội dung - Giới thiệu số tập tin cần thiết để Turbo
Pascal chạy đợc, hớng dẫn em cách khởi động Pascal máy tính
Turbo.exe (file ch¹y)
Màn hình làm việc ngôn ngữ Pascal có dạng: Hình (SGK - 32)
(13)Turbo.tpl (file th viÖn) - häc sinh: theo dâi, ghi chÐp - Theo dâi, ghi chÐp
trong Pascal:
- Soạn thảo: Gõ nội dung chơng trình gồm phần khai báo lệnh phần thân chơng trình tơng tự nh soạn thảo văn
- Lu chơng trình: F2 - Mở tệp có: F3.
Nhập tên tệp nhấn Enter (Phần mở rng ngm nh l .pas)
- Soát lỗi chơng trình F9.
- Biên dịch chơng trình: Nhấn tổ hợp phím Alt + F9 Nếu chơng trình có lỗi cú pháp, phần mềm hiển thị thông báo, cần sửa lỗi có, lu lại chơng trình tiến hành biên dịch lại không lỗi
- Chạy chơng trình: Nhấn tổ hợp phím Ctrl + F9
- Đóng cửa sổ chơng trình: Nhấn tổ hợp phím Alt + F3.
- Chuyển qua lại cửa sổ: F6 - Xem lại hình kết quả: Alt + F5 - Thoát khỏi phần mềm: Nhấn tổ hợp phím Alt + X
IV Củng cố dặn dò
- Nhắc lại khái niệm - Ra tập nhà
- Đọc phần đọc trớc nhà phần phụ lục B (SGK-122) Môi trờng làm việc của Turbo Pascal
- Học chuẩn bị cho tiết Bài tËp vµ thùc hµnh 1. V Rót kinh nghiƯm
Tiết 6 Ngày soạn:18/9/2010
Ngày giảng:21/99/2010 Bài tập thực hành 1.
I Mục đích yêu cầu:
- Biết viết chơng trình Pascal hồn chỉnh đơn giản;
- BiÕt sư dơng mét sè dÞch vơ chđ u cđa Pascal soạn thảo, lu, dịch thực chơng trình
II Chuẩn bị:
1. Giáo viên: Phòng máy, chơng trình Pascal, chạy chơng trình SGK- 34
2. Học sinh: Sách, vở, đọc trớc nhà phần phụ lục B (SGK-122) Môi trờng làm việc Turbo Pascal
III Tiến trình lên lớp:
Hot ng 1: Giới thiệu chơng trình Pascal Hoạt động 2: Soạn thảo, lu
Hoạt động giáo viên- học sinh nội dung - Cho học sinh gõ lại chơng trình sách
(14)cã hai nghiÖm)
- Hớng dẫn học sinh lu, cách đặt tên chơng trỡnh va son tho
- hs: thao tác m¸y
- ấn phím F2 để lu đặt tên chơng trình theo yêu cầu
Hoạt động 3: Dịch sửa lỗi cú pháp
Hoạt động giáo viên – học sinh nội dung - Hớng dẫn học sinh sửa lỗi cách nhấn
tỉ hỵp phÝm Alt + F9
- hs: thùc hiÖn theo hớng dẫn giáo viên
- Nhn Alt + F9 kim tra
- ( Đa hình ảnh dịch có lỗi , )
Hot động 4: Thực chơng trình, nhận xét kết chơng trình vừa thực Hoạt động giáo viên – học sinh nội dung
- Ên Ctrl + F9: thực chơng trình - Nhập liệu
- hs: thục hành máy
- Phân tích cho học sinh thấy trờng hợp a, b, c không phù hợp
- ấn Ctrl + F9 thực chơng trình - Nhập liệu
- Nhận xét kết chơng trình vừa thực
Hot động 5: Sửa lại chơng trình khơng dùng biến trung gian D, dịch, thực chơng trình
Hoạt động giáo viên – học sinh nội dung Thay biến trung gian D
Dịch, kiểm tra lỗi cú pháp Thực chơng trình Nhập liệu
- hs: thùc hiƯn theo sù híng dÉn cđa GV
- x1:= (-b-sqrt(b*b-4*a*c))/(2*a) - x2:=(-b+sqrt(b*b-4*a*c))/(2*a) Ên Alt+F9
Ên Ctrl + F9 Nhập liệu Nhận xét kết IV Củng cố dặn dò.
- Nhận xét bớc hoàn thành chơng trình
- c li vớ dụ SGK ghi để thực hành tốt tiết sau V Rút kinh nghiệm
Tiết 7 Ngày soạn:24/9/2010
Ngày giảng:28/9/2010 Bài tËp vµ thùc hµnh (TiÕp)
I Mục đích yêu cầu:
- Học sinh soạn thảo đợc chơng trình lu chơng trình vào đĩa; - Biên dịch thực đợc chơng trình
- NhËp d÷ liệu kiểm tra kết II Chuẩn bị:
Giáo viên: Phòng máy, chơng trình Pascal Học sinh: Sách giáo khoa, sách tập, III Nội dung:
- Viết chơng trình tính chu vi diện tích hình chữ nhật với chiều dài chiều rộng đợc nhập từ bàn phím
- C¸ch bíc tiÕn hµnh:
Hoạt động Giáo Viên- häc sinh nội dung
1 Định hướng để Học sinh phân tích tốn:
- Dữ liệu vào: Chiều dài a, chiều rộng b hình
(15)- Dữ liệu vào - Dữ liệu - Cách tính
- hs: phân tích theo yêu cầu giáo viên Yêu cầu Học sinh soạn chương trình lưu đĩa:
- Quan sát hướng dẫn Học sinh lúc thực hành
- hs: thực yêu cầu giáo viên Yêu cầu Học sinh nhập liệu thông báo kết quả:
a = b =
- hs: nhập liệu theo yêu cầu giáo viên thông báo kết
chữ nhật
- Dữ liệu ra: diện tích s, chu vi cv - Cách tính: s = a x b, cv = (a + b) x
- Soạn chương trình
- Bấm phím F2, gõ tên file để lưu
- Bấm phím ALT - F9 để dịch lỗi cú pháp
- Bấm phím CTRL - F9 để thực chương trình
IV Củng cố, dặn dò.
- Nhận xét lại bớc thực chơng trình - Làm tập SGK sách tập - Chuẩn bị cho tiết tập
V Rút kinh nghiệm
Tiết 8 Ngày soạn:
NGày giảng: Bài tập.
I Mc ớch yờu cầu:
- Củng cố nội dung đạt đơc tiết tập thực hành 1; - Biết sử dụng thủ tục chuẩn vào/ra
- Biết xác định Input Output II Chuẩn bị:
Giáo viên: SGK, SBT, giỏo ỏn
Học sinh: Sách giáo khoa, sách tập, III Nội dung:
- Chữa tập có dạng nh từ đến 10
hoạt động giáo viên - học sinh nội dung
gv: yêu cầu học sinh đọc toán xác định yêu cầu toán
hs: đọc xác định kiện từ xác định kiểu liệu thích hợp
bài 3: pascal, biến nhận giá trị nguyên phạm vi từ 10 đến 25532 biến khai báo kiểu liệu nào?
(16)trả lời: biến khai báo kiểu liệu:word
Bài 4: Biến p nhận giá trị 5, 10, 15, 20, 30, 60, 90 biến x nhận giá trị 0.1, 0.2, 0.3, 0.4, 0.5 khai báo đúng?
trả lời: b) p,x: real; d) x: real; p: byte
Bài 5: Để tính diện tích S hình vng có cạnh A với giá trị nguyên nằm phạm vi từ 100 đến 200, cách khai báo biến S tốn nhớ nhất?
trả lời: b) s: real; gv: yêu cầu học sinh đọc đề gợi ý hs
suy nghĩ trả lời
hs: đọc xác định biểu thức, hàn mơ tả tốn học chuyển tương ứng sang pascal để giải
gv: nhận xét
bài 6: viết biểu thức toán học pascal:
(1+z)
3
1
x a
z y x
trả lời : (1+z)*((x+y/z)/(a-1/(1+x*x*x)))
Bài 7: hãy chuyển biểu thức pascal sang biểu thức toán học tương ứng
a) a/b*2 -> 2ba b) a*b*c/2 -> abc2 c) 1/a*b/c ->
c b a
1
= acb d) b/sqrt(a*a+b) ->
b a
b
Bài 8: biểu thức:
((y<1) or (y=1)) and ((y>abs(x)) or (y=abs(x)))
hoặc (y<=1) and (y>=abs(x)) gv: yêu cầu học sinh đưa nhận xét
phần gạch chéo hình
hs: nhận xét: phần gạch chéo = ½ diện tích hình trịn tâm bán kính r=a
<?> cơng thức tính diện tích hình trịn?
bài 9:viết chương trình nhập số a (a>0) tính đưa diện tích phần gạch chứo hình
chương trình
program bai9;
(17)hs: trả lời: pi*r2
-hs: lên bảng viết chương trình với gợi ý giáo viên
gv: viết chương trình bai 10
uses crt;
const pi=3.14; var a,s:real; begin
write(‘nhap ban kinh a’); readln(a); s:=pi*a*a;
write(‘dien tich phan gach cheo:’,s/2); readln;
end.
IV Cđng cè, dỈn dò.
- Cách phân tích toán
- Cách khai báo sử dụng biến trung gian - Nhận xét lại bớc thực chơng trình - Về xem lại toàn tiết thực hành
- Đọc trớc Cấu trúc rẽ nhánh V Rỳt kinh nghiệm
tiÕt Ngày soạn: 8/10/2010
Ngày giảng: 11/10/2010
Chơng iii Cấu trúc rẽ nhánh lặp Bài CÊu tróc rÏ nh¸nh.
I Mục đích u cầu:
- Hiểu nhu cầu cấu trúc rẽ nhánh biểu diễn thuật toán; - Hiểu câu lệnh rẽ nhánh (dạng thiếu đủ);
- HiĨu c©u lƯnh ghÐp;
- Sử dụng cấu trúc rẽ nhánh mơ tả thuật tốn số tốn đơn giản - Viết đợc lệnh rẽ nhánh dạng thiếu, rẽ nhánh dạng đầy đủ áp dụng để thực đợc thuật toán số toán đơn giản
II Phơng pháp, phơng tiện dạy học: - Phơng pháp: Thuyết trình, vấn đáp
- Ph¬ng tiƯn: Giáo án, sách giáo khoa, sách giáo viên, máy chiếu, m¸y tÝnh III Néi dung:
Hoạt động giáo viên - học sinh Nội dung
gv: đưa vd: giải phương trình bậc <?> Nêu bước giải pt bậc
hs: nêu bước giải phương trình bậc hs: nêu thêm vd dạng mệnh đề
1 rẽ nhánh
vd: Để viết chương trinh giải phương trình bậc 2:
tính delta=b2- 4ac
sau tuỳ thuộc vào giá trị delta mà ta có tính nghiệm hay khơng
- delta < phương trình vơ nghiệm
(18)gv: đưa khái niệm rẽ nhánh lập trình
mỗi NNLT có cách thể cấu trúc rẽ
nhánh khác
- delta >=0 phương trình có nghiệm
vậy: ta thấy mệnh đề có dạng:
- Nếu
- Nếu khơng
cấu trúc gọi cấu trúc rẽ nhánh
gv: đưa cấu trúc lệnh rẽ nhánh pascal Đây cấu trúc quan trọng sử dụng nhiều chương trình sau
* lưu ý: sau then sau else có lệnh chương trình
<?> Với dạng này, dạng dùng thuận tiện hơn?
hs: suy nghĩ, trả lời
gv: đưa vd, phân tích cho hs thấy rõ phần cấu trúc rẽ nhánh
hs: lấy vd
2.Câu lệnh if – then
pascal dùng câu lệnh if – then để mô tả việc rẽ nhánh
- dạng thiếu:
if <điều kiện> then <câu lệnh>; - dạng đủ
if <điều kiện> then <câu lệnh 1> else <câu lệnh 2>;
trong đó:
- điều kiện: biểu thức logic
- câu lệnh: câu lệnh pascal ý nghĩa:
- dạng thiếu: điều kiện tính kiểm tra Nếu điều kiện câu lệnh thực hiện, ngược lại câu lệnh bỏ qua
- dạng đủ: điều kiện tính kiểm tra điều kiện thực câu lệnh ngược lại thực câu lệnh vd1, 2, 3: sgk;
<?> Trong câu lệnh if – then muốn thực nhiều câu lệnh sau then hay sau else ta làm nào?
hs: phát biểu ý kiến
gv: ta cần gộp nhiều câu lệnh lại coi câu lệnh chương trình Các ngơn ngữ lập trình thường có cấu trúc giúp ta thực điều nàu
3 Câu lệnh ghép
trong ngôn ngữ pascal câu lệnh ghép có dạng:
begin
<các câu lệnh> end;
chú ý: trước else không chứa dấu ; vd:
if delta<0 then
(19)gv: giải thích lệnh vd; yêu cầu hs làm lại
hs: theo dõi, thực
write(‘ptvn’) else
begin
x1:=(-b-sqrt(delta))/(2*a); x2:=(-b+sqrt(delta))/(2*a); write(‘x1’,x1,’x2:’, x2); end;
4 số vd:sgk IV Củng cố, dặn dò
nhắc lại cấu trúc if – then thông qua vd; bt nhà
V Rút kinh nghiệm
Tiết 10 Ngày soạn: 15/10/2010
Ngày giảng:18/10/2010
BÀI TẬP
I.Mục đích yêu cầu:
- Sử dụng cấu trúc rẽ nhánh giải số toán đơn giản
- Viết đợc lệnh rẽ nhánh dạng thiếu, rẽ nhánh dạng đầy đủ áp dụng để thực đợc thuật toán số toán đơn giản
II Phơng pháp, phơng tiện dạy học: - Phơng pháp: Thuyết trình, vấn đáp
- Phơng tiện: Giáo án, sách giáo khoa, sách giáo viên, máy chiếu, máy tính III Nội dung:
- ổn định lớp
- lớp trưởng báo cáo sĩ số
- ND
Hoạt động giáo viên- học sinh
Nội dung -gv: gọi hs lên bảng
-hs: lên bảng trả lời câu hỏi -gv: nhận xét, đánh giá, ghi điểm
* Kiểm tra cũ
<?> Viết cấu trúc câu lệnh rẽ nhánh, nêu hoạt động nó?
vd:nếu a>b max:=a ngược lại max:=b gv: đưa tốn
yêu cấu hs xác định toán
- hs: xác định toán
- gv: nhận xét, bổ sung
- gv: yêu cầu học sinh đưa
giải tốn
Viết chương trình nhập vào độ lớn góc tam giác Cho biết tam giác tam giác gì?
- Xác định toán
Input: độ lớn góc tam giác
(20)ra ý tưởng giải toán
- Hs: nêu ý tưởng
- Gv giúp đỡ hs mô tả thuật
tốn
Output: trả lời tam giác tam giác - mơ tả thuật tốn
b1: Nhập độ lớn góc a, b, c tam giác
b2: a<0 or b<0 or c<0 or a>=1800 or b>=1800 or c>= 1800 or a+b+c<>180 thông báo giá trị a, b, c không thoả mãn
b3: a=b and b=c thơng báo tam giác tam giác kết thúc
b4: a=b or b=c or c=a thơng báo tam giác cân kết thúc
b5: thơng báo tam giác thường kết thúc gv: gọi hs lên bảng viết chương
trình
hs: lên bảng viết chương trình gv: gọi hs khác nhận xét, sửa lỗi hs: nhận xét
gv: đưa chương trình
thực với input: 0 0;
190 20 40; 60 60 60; 45 45 90; 35 65 80;
<?> trường hợp tam giác mà ta chưa xét đến?
- hs: trả lời: tam giác
vuông, vuông cân
- Gv: nhà em
hồn thiện thêm trường hợp
program tam_giac; uses wincrt; var a,b,c:real; begin clrscr;
writeln('nhap vao lon goc tam giac:'); write('do lon goc a:'); readln(a);
write('do lon goc b:'); readln(b); write('do lon goc c:'); readln(c); if
(a<0)or(b<0)or(c<0)or(a>=180)or(b>=180)or(c>=180)or(a+b+c<>180)then writeln('gia tri nhap vao khong thoa man')
else begin
if (a=b)and(b=c) then writeln('day la tam giac deu') else
if (a=b)or(b=c)or(c=a)then writeln('day la tam giac can') else writeln('day la tam giac thuong');
end; readln; end
gv: tập nhà gợi ý cách giải
hs: chép
bài tập nhà: viết chương trình nhập vào số nguyên cho biết số số chẵn hay số lẻ IV củng cố, dặn dò
- nhà học làm
- Ôn lại tất từ 1-> sau kiểm tra tiết
V Rút kinh nghiệm
.
(21)Tiết 11 Ngày soạn:22/10/2010 Ngày giảng:25/10/2010
KIỂM TRA TIẾT
I Mục đích
- Kiểm tra nội dung kiến thức học để có phương pháp dạy tốt cho sau - yêu cầu học sinh có thái độ nghiêm túc, trung thực kiểm tra
II Phương pháp phương tiện dạy học
-Phương pháp: Kiểm tra viết
- Phương tiện dạy học: GV: Giáo an kiểm tra
HS: Ôn tập từ đến III Nội dung
- Ổn định lớp
- Lớp trưởng báo cáo sĩ số
GV: chép đề lên bảng coi kiểm tra nghiêm túc Hs: nghiêm túc làm
Gv: thu sau 45’ Đề:
C1:Nêu quy tắc đặt tên ngôn ngữ lập trình Pascal? Đặt tên quy tắc?
C2: Chuyển biểu thức toán học sau sang dạng ngơn ngữ lập trình
A) xx2yy2 B)2sinxcosx-sin2x C) (1+x-y)
xy y x
2 2
C3: Viết chương trình giải phương trình bậc ax+b=0; ĐÁP ÁN VÀ BIỂU ĐIỂM CHẤM
C1( 3đ)
- Quy tắc đặt tên ngơn ngữ lập trình pascal: Tên dãy liên tiếp khơng q 127 kí tự, bao gồm chữ số, chữ dấu gạch bắt đầu chữ dấu gạch
dưới (1.5đ)
- đặt tên quy tắc( tên 0.5 đ) Max; a; nghiem;
C2 (3đ - Chuyển biểu thức: 1đ) A) sqrt(x*x+y*y)/abs(x+y)
B) 2*sin(x)*cos(x)-sqr(sin(x))
C) (1+x-y)*((sqr(x)+sqr(y)+1)/(2*x*y)) C3 (4đ)
Program giaiptb1; Uses crt;
Var a,b,x:real; (0.5d)
(22)Begin
Write(‘nhap a,b:’); readln(a,b); (0.5d)
If (a=0) and (b<>0) then write(‘pt vo nghiem’); (1d)
If (a=0) and (b=0) then write(‘pt vo so nghiem’); (1d)
If (a<>0) then Begin X:=b/a;
Write(nghiem x=’,x); (1d)
End; Readln;
End
IV Củng cố , dặn dò
nhà chuẩn bị trước cấu trúc lặp V Rút kinh nghiệm
Tiết 12 Ngày soạn: 25/11/2010
Ngày giảng:27/11/2010 §10 CẤU TRÚC LẶP
I MỤC TIÊU: 1 Kiến thức:
-Hiểu vai trò cấu trúc lặp biểu diễn thuật toán -Hiểu cấu trúc lặp với số lần biết trước
2 Kỹ năng:
-Mơ tả thuật tốn số toán đơn giản
-Viết lệnh lặp kiểm tra điều kiện trước, lệnh lặp với số lần định trước
3 Thái độ:
- Rèn luyện tính cẩn thận, nghiêm túc lập trình
II CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH 1 Chuẩn bị giáo viên:
- Giáo án, máy chiếu, SGK, sách giáo viên, sách tập
2 Chuẩn bị học sinh:
- Vở ghi, sách giáo khoa, sách tập, đồ dùng học tập
III Nội dung
.Ổn định lớp
.Lớp trưởng báo cáo sĩ số
1 Kiểm tra cũ
Câu 1.Trình bày cấu trúc rẽ nhánh?
Câu Giải thích ý nghĩa câu lệnh sau:
(23)IF n mod = Then Write( n,’ Chia het 5’) Else Write(n,’ khong chia het 5’);
2 N i dung b i m i: ộ
Hoạt động giáo viên học sinh Nội dung 1 Hoạt động 1:Tìm hiểu lặp
GV: Nêu tốn để hình thành khái
niệm lặp cho HS
- GV: Giá trị ban đầu S gán bao nhiêu?
-HS: Bắt đầu S gán giá trị 1/a - GV: Mỗi lần cộng thêm vào S lượng bao nhiêu?
-HS: cộng thêm 1/(a+N) với N=1, 2, 3,… - GV: Việc cộng thêm thực lần Xác định số lần lặp toán?
-HS: Với toán 1, việc cộng thêm dừng N=100, số lần lặp biết trước 100 -Với tốn 2, số lần lặp chưa biết trước, việc cộng thêm dừng 1/ (a+N)<0.0001
-GV:Trong lập trình có thao tác phải lặp lại nhiều lần, ta gọi cấu trúc lặp
-GV: lấy thêm VD thực tế:
Chương trình tính điểm cho 50 HS lớp phải lặp lặp lại số thao tác sau với HS:+Nhập họ tên HS+Nhập điểm mơn+Tính điểm trung bình
Nếu chương trình viết viết lại câu lệnh thực thao tác dài dịng, nhàm chán, dề sai sót Vì NNLT đưa cấu trúc lặp, cần viết lệnh thực thao tác cho HS sau cho phép chương trình tự lặp lặp lại thao tác với HS khác Quá trình lặp dừng lặp đủ 50 lần(nhập đủ 50 HS) gặp điều kiện như: người nhập ấn phím Enter
2 Hoạt động 2:Lặp có số lần biết trước và câu lệnh For-Do.
-GV: yêu cầu HS quan sát thuật toán SGK
-Gọi số học sinh nhận xét hai thuật
1 Lặp
-Xét toán sau với a>2 số nguyên cho trước:
Bài tốn 1: Tính tổng
100 1 1 a a a a S
Bài tốn 2: Tính tổng
1 1 N a a a a S
đến 0.0001
N a
*Nhận xét:
-Bài tốn có số lần lặp biết trước 100 -Bài tốn có số lần lặp chưa biết trước -Cấu trúc lặp: Có hai loại:
+Lặp với số lần biết trước +Lặp với số lần chưa biết trước
2 Lặp có số lần biết trước câu lệnh For-Do.
* Để giải toaasn ta có hai cách : -Thuật toán (SGK)
(24)toán thơng qua vấn đề sau:
1.Thuật tốn có lặp khơng?Lặp với số lần ?
2.Hai thuật tốn giống khác nào?
3.Giá trị khởi tạo cho biến đếm N;
4.Trong bước lặp biến đếm N thay đổi nào?
5.Khi thuật toán dừng? - HS trả lời:
-Cả hai thuật tốn có số lần lặp 100 -Thuật toán Tong_1a:Giá trị khởi tạo cho biến N =0, sau lần lặp biến đếm N tăng thêm 1.Thuật tốn dừng lặp đủ 100 lần
+ Thuật toán Tong_1b: Giá trị khởi tạo cho biến N=101, sau lần lặp biến đếm N giảm Thuật tốn dừng lặp đủ 100 lần
-> Ta nói cách lặp thuật tốn Tong_1a dạng tiến, Tong_1b dạng lùi
-GV: Đưa dạng câu lệnh lặp Pascal, giải thích ý nghĩa thành phần lệnh
- HS nghe giảng, ghi
-GV: Nếu giá trị đầu lớn giá trị cuối vịng lặp không thực
-GV: Tương ứng với giá trị biến đếm, câu lệnh sau Do thực lần
-GV:kết luận vấn đề
Trong pascal có loại câu lệnh lặp có số lần biết trước:
*Dạng tiến:
For <biến đếm> := <giá trị đầu> to <giá trị cuối> do <Câu lệnh>;
*Dạng lùi:
For <biến đếm> := <giá trị cuối> downto <giá trị đầu> do <Câu lệnh>;
-Trong đó:
+Biến đếm:là biến đơn, thường kiểu số nguyên +Giá trị đầu, giấ trị cuối biểu thức kiểu với biến đếm Giá trị đầu phải nhỏ giá trị cuối
*Hoạt động lệnh For-Do:
-Ở dạng lặp tiến: Biến đếm tự tăng dần từ giá trị đầu đến giá trị cuối
-Ở dạng lùi: Biến đếm tự giảm dần từ giá trị cuối đến giá trị đầu
IV củng cố, dặn dò
-Giáo viên gọi học sinh nhắc lại cấu trúc lặp với số lần biết trước có dạng tiến lùi - Làm tập 4, 5, SGK tr 51, đọc VD1, VD2 SGK trang 44 để tiết sau tìm hiểu tiếp
V Rút kinh nghiệm
Tiết 13 Ngày soạn:30/11/2010
(25)Ngày giảng:1/11/2010
§10 CẤU TRÚC LẶP (tiếp) I MỤC TIÊU:
1 Kiến thức:
-Hiểu vai trò cấu trúc lặp biểu diễn thuật toán -Hiểu cấu trúc lặp với số lần định trước
-Biết vận dụng đắn cấu trúc lặp vào tình cụ thể
2 Kỹ năng:
-Mô tả thuật toán số toán đơn giản
-Viết lệnh lặp kiểm tra điều kiện trước, lệnh lặp với số lần định trước
3 Thái độ:
- Rèn luyện tác phong, tư lập trình: Tích cực, chủ động sáng tạo tìm kiếm kiến thức
II CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH 1 Chuẩn bị giáo viên:
- Giáo án, SGK, sách giáo viên, sách tập
2 Chuẩn bị học sinh:
- Vở ghi, sách giáo khoa, sách tập, đồ dùng học tập
III Nội dung
.Ổn định lớp
.Lớp trưởng báo cáo sĩ số
1 Kiểm tra cũ:
Câu hỏi: gọi HS
1.Viết cấu trúc dạng câu lệnh lặp for-do Giải tập ý a trang 51
Đặt vấn đề: Cấu trúc lặp với số lần biết trước Pascal, ta sử dụng câu lệnh For tiết trước ta nghiên cứu, tiết hôm nay, để hiểu rõ cấu trúc này, ta xét ví dụ để minh họa cấu trúc lặp
3 Nội dung mới:
Hoạt động GV HS Nội dung
Hoạt động 1:Ví dụ 1
- GV HS xây dựng chương trình thuật tốn Tong_1a, đối chiếu câu lệnh với bước cách liệt kê, cách đặt câu hỏi:
GV: Khai báo tên chương trình Tong_1a nào?
HS: trả lời
GV: Khai báo thư viện nào?
HS: Uses crt;
GV: Khai báo biến gì? Kiểu liệu
2 Lặp với số lần biết trước câu lệnh for-do:
* Ví dụ 1: trang 44 Program Tong_1a; Uses crt;
Var S:real; a,N: integer; Begin
Clrscr;
Write(‘hay nhap gia tri a:’); Readln(a);
(26)cho biến đó?(N biến đếm)
HS: Khai báo biến S, biến a, biến N
GV: Phần thân chương trình khóa gì?
HS: Từ khố Begin GV: Lệnh xóa hình? HS: Clrscr;
GV: Đưa thơng báo: ‘Hay nhap gia tri a’ hình dùng lệnh gì?
HS: Lệnh Write
GV: Nhập a từ bàn phím dùng lệnh gì? Gán giá trị S ban đầu 1/a câu lệnh gì? HS: trả lời
GV: Sử dụng câu lệnh For dạng tiến bước bước thuật tốn viết nào? Lệnh gán bước viết nào?
HS: trả lời
GV giải thích: Thuật tốn Tong_1a biến điều khiển N cho biết số lần lặp Khi 1<=N<=100 thực lặp Sau lặp đến lần thứ 100 kết thúc lặp
GV yêu cầu HS rõ câu lệnh lặp chương trình
HS: For N:=1 to 100 S:=S+1/(a+N);
Hoạt động 2: Ví dụ 2
- GV: Giới thiệu thuật toán Tong_1b gợi ý so sánh với thuật toán Tong_1a
- HS nghiên cứu thuật tốn Tong_1b
- GV: lấy ví dụ trực quan: M=2, N=7(M<N) Tìm số chia hết cho phạm vi từ 2->7 3,5,6 sau cộng số lại kết quả=14
GV dùng máy chiếu(nếu có) cho HS theo dõi SGK chương trình
- GV: Trong có khai báo biến gì? Kiểu liệu gì?
HS: trả lời
- GV: Kiểm tra điều kiện chia hết cho phép toán nào?
HS: trả lời
- GV: Biến I chạy phạm vi từ M đến N phải thỏa mãn chia hết cho cộng I vào tổng T Câu lệnh kiểm tra điều kiện gì?
S:=1/a;
For N:=1 to 100 S:=S+1/(a+N);
Writeln(‘Tong S la:’,S:8:4); Readln
End
* Ví dụ 2: trang 45 Program vi_du_2; Uses crt;
Var M,N,I: integer; T:longint; Begin
Clrsc r;
Writeln(‘nhap so M nho hon N:’); Write(‘M=’); readln(M);
Write(‘N=’); readln(N); T:=0;
For I:=M to N
If (I mod 3=0) or (I mod 5=0) then T:=T+I;
Writeln(‘ket qua:’, T); Readln
End
(27)HS: trả lời
- GV: Giới thiệu chương trình cụ thể viết Pascal, giải thích chương trình để HS hiểu rõ cấu trúc lặp
IV Củng cố, dặn dò
-Giáo viên gọi học sinh nhắc lại cấu trúc lặp với số lần biết trước có dạng tiến lùi - Gọi học sinh chữa 4, 5, SGK trang 52
- Học cũ đọc trước mục SGK trang 45 để tiết sau tìm hiểu tiếp
V Rút kinh nghiệm
Tiết 14 Ngày soạn:5/11/2010
Ngày giảng:8/11/2010
§10 CẤU TRÚC LẶP (tiếp) I MỤC TIÊU:
1 Kiến thức:
-Hiểu nhu cầu cấu trúc lặp biểu diễn thuật toán -Hiểu cấu trúc lặp với số lần chưa biết trước
-Biết vận dụng đắn cấu trúc lặp vào tình cụ thể
2 Kỹ năng:
-Mơ tả thuật tốn số toán đơn giản -Viết lệnh lặp với số lần chưa biết trước
3.Thái độ:
- Tiếp tục rèn luyện phẩm chất cần thiết nguời lập trình như: ý thức chọn xây dựng kiểu liệu, ý thức rèn luyện kỹ năng,
II CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH 1 Chuẩn bị giáo viên:
- Giáo án, SGK, sách giáo viên, sách tập
2 Chuẩn bị học sinh:
- Vở ghi, sách giáo khoa, sách tập, đồ dùng học tập
III Nội dung
Ổn định lớp
Lớp trưởng báo cáo sĩ số
1 Kiểm tra cũ:
Câu hỏi:
Viết cấu trúc dạng câu lệnh lặp for-do
(28)Đặt vấn đề: Trong trước ta vừa xét cấu trúc lặp với số lần biết trước với câu lệnh For Vậy để giải toán chưa biết trước số lần lặp, Pascal ta dùng câu lệnh cách sử dụng câu lệnh vào tốn cụ thể nào? Trong hôm ta tìm hiểu vấn đề
2 Nội dung mới:
Hoạt động giáo viên học sinh Nội dung Hoạt động 1:Tìm hiểu lặp với số lần chưa biết
trước câu lệnh while-do
-GV: u cầu học sinh tìm hiểu thuật tốn để giải tốn
-HS: Đọc SGK tìm hiểu thuật toán -GV: Tại giá trị khởi tạo N=0? Cụ thể N= ; N= ?
-HS: Vì giá trị khởi tạo S=1/a thời điểm chưa thực bước lặp nên giá trị N phải
-GV: Điều kiện: 1/(a+N) <0.0001 xét sau tăng giá trị N:=N+1 khơng?
-GV: Trong thuật tốn bước lặp lại nhiều lần
- HS: B2, B3 B4
-GV: Thuật toán dừng nào?
-HS: Đến điều kiện B2 thỏa mãn thuật tốn dừng
- GV: Như việc lặp với số lần chưa biết trước kết thúc điều kiện cho trước 1/(a+N) <0.0001 thoả mãn
GV: Đưa cấu trúc câu lệnh While – Do Pascal, giải thích ý nghĩa thành phần
- HS nghe giảng, ghi
-GV giải thích hoạt động câu lệnh:
TP tính giá trị biểu thức, kiểm tra đk sai kết thúc vịng lặp, đk thực câu lệnh sau từ khóa quay lại kiểm tra điều kiện
Như đk ln ln câu lệnh thực mãi, ta gọi vịng lặp vơ hạn -GV: u cầu học sinh quan sát sơ đồ thực lệnh While – Do
(hình SGK_46)
Hoạt động 2:Chương trình cài đặt tốn tìm UCLN(M,N).
GV: Trong chương trình cài đặt khai báo biến nào?
3 Lặp với số lần chưa biết trước câu lệnh while-do
Để giải toán ta dựng thuật toán sau:
B1: S:= 1/a; N:=0;
B2: 1/(a+N) <0.0001 chuyển đến B5;
B3: N:=N+1;
B4: S:=S+1/(a+N) quay B2;
B5: Đưa kết S hình kết thúc - Pascal dùng câu lệnh While-Do mô tả cấu trúc lặp với số lần chưa biết trước :
While<điều kiện> Do <câu lệnh>; -Trong đó:
+ While, từ khóa
+Điều kiện biểu thức quan hệ logic +Câu lệnh câu lệnh đơn ghép
- Ý nghĩa: Khi điều kiện cịn cịn thực câu lệnh sau Do sau lại quay kiểm tra điều kiện
* Ví dụ 1: Sơ đồ khối chương trình cài đặt thuật tốn Tong_2
Hình SGK tang 46
* Ví dụ 2: Tìm ƯCLN(M,N)
(29)HS: Khai báo biến a, S, N
GV: Bước thuật toán viết nào? HS: S:=1.0/a; N:=0;
GV: Viết bước 2, 3, dùng cấu trúc lặp nào? HS: lặp với số lần chưa biết trước
GV: Những bước thuật toán lặp lại nhiều lần?
HS: b2,b3,b4
5 Lặp đến nào(điều kiện lặp?)
-GV: Gọi HS lên viết câu lệnh lặp While-do để kiểm tra điều kiện lặp
GV: kết luận vấn đề
IV Củng cố, dặn dò
-Nhắc lại cấu trúc lặp với số lần chưa biết trước
- Có thể làm số câu hỏi trắc nghiệm để kiểm tra kiến thức học sinh - Làm tập 6, 7, SGK trang 51, xem trước tập thực hành
V Rút Kinh nghiệm
Tiết 15 Ngày soạn:12/11/2010
Ngày giảng:15/11/2010
BÀI TẬP VÀ THỰC HÀNH 2 I MỤC TIÊU:
1 Kiến thức:
Nắm chức cấu trúc rẽ nhánh sơ đồ thực cấu trúc rẽ nhánh
2 Kỹ năng:
- Rèn luyện kĩ sử dụng cấu trúc rẽ nánh việc lập trình giải số toán cụ thể - Làm quen với công cụ phục vụ hiệu chỉnh chương trình
3 Thái độ:
- Có thái độ tự giác, tích cực, chủ động thực hành
II CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH 1 Chuẩn bị giáo viên:
- Giáo án, SGK, sách giáo viên, phịng máy vi tính
2 Chuẩn bị học sinh:
- Vở ghi, sách giáo khoa
III Nội dung
.Ổn định lớp
.Lớp trưởng báo cáo sĩ số
(30)1 Kiểm tra cũ:Kết hợp thực hành
2 N i dung b i m i: ộ
Hoạt động GV HS Nội dung
Hoạt động 1:Giới thiệu hướng dẫn thực hành
GV yêu cầu học sinh khởi động máy tính, đọc thực hành số trang 49 SGK thực yêu cầu b,c,d,e,f,g,h
-Khởi động chương trình Pascal nhập nội dung chương trình vào máy
GV hướng dẫn học sinh lưu vào đĩa D:\Pitago +Nhấn F2 nhập dường dẫn: D:\Pitago -Lưu vào đĩa với tên Pitago
-Hướng dẫn HS nhấn phím F7 để thực câu lệnh chương trình quan sát kết
Hoạt động 2:Thực tập máy tính và kiểm tra.
Nhấn F9, quan sát sửa lỗi có
-Nhấn F7 thực câu lệnh nhập giá trị: a=3, b=4, c=5
-Chọn Debug, (nhấn phím CTRL +F4) mở cửa sổ hiệu chỉnh để xem giá trị: KQ: à=9, b2=16, c2=25 -Dịch hiệu chỉnh:
-Lặp bước với liệu a=700, b=1000, c=800
-Thay đoạn chương trình SGK thực chương trình, thơng báo kết
GV: Nếu thay dãy lệnh: a2:=a; b2:=b; c2:=c;
a2:=a2*a; b2:=b2*b; c2:=c2*c; dãy lệnh:
a2:=a*a; b2:=b*b; c2:=c*c; kết có thay đổi với liệu: a=700, b=1000, c=800?
HS: Thực máy thông báo kết GV cho HS thực máy tính GV quan sát HS thực hành, uốn nắn sai sót q trình tạo bảng Cho HS ghi lại lỗi thường gặp để rút kinh nghiệm cho thực hành sau Trong trình thực hành, GV tiến hành kiểm tra, cho điểm số HS rút kinh nghiệm thực hành
1/ Gõ chương trình sau:
Program Pi_Ta_Go;
Uses Crt;
Var a,b,c:Integer;
a2,b2,c2:Longint; Begin
Clrscr;
Write(‘Nhap a,b,c: ‘);Readln(a,b,c); a2:=a; b2:=b; c2:=c;
a2:=a2*a; b2:=b2*b; c2:=c2*c; If (a2=b2+c2) OR (b2=a2+c2) OR (c2=b2+a2) Then
Writeln(‘La bo ba so Pitago’)
Else Writeln(‘ba so khong la bo ba so Pitago’);
Readln; End
2/ Thực thao tác: -Lưu vào đĩa
-Dịch hiệu chỉnh: Nhấn F9
-Thực câu lệnh: nhấn phím F7
-Sửa đổi chương trình: Thay dãy lệnh:
a2:=a; b2:=b; c2:=c;
a2:=a2*a; b2:=b2*b; c2:=c2*c; dãy lệnh:
a2:=a*a; b2:=b*b; c2:=c*c; Thực chương trình
IV Củng cố, dặn dị
- Đánh giá thực hành, chỗ sai sót sửa chữa cho HS -Hướng dẫn 6,7
(31)-Bài tập nhà 3.2, 3.7,3.10, 3.13 SBT
V Rút kinh nghiệm
Tiết 16 Ngày soạn:19/11/2010
Ngày giảng:22/11/2010
BÀI TẬP VÀ THỰC HÀNH (t2)
I MỤC TIÊU: 1 Kiến thức
- Nắm cấu trúc sơ đồ thực cấu trúc rẽ nhánh
2 Kĩ
- Rèn luyện kĩ sử dụng cấu trúc rẽ nhánh việc lập trình giải số tốn cụ
thể
- Làm quen với công cụ phục vụ hiệu chỉnh chương trình
3 Thái độ
- Tự giác, tích cực chủ động thực hành
II CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH 1 Chuẩn bị giáo viên:
- Giáo án, SGK, sách giáo viên, phòng máy
2 Chuẩn bị học sinh:
- Vở ghi, sách giáo khoa, sách tập, đồ dùng học tập
III Nội dung
.Ổn định lớp
.Lớp trưởng báo cáo sĩ số
1 Kiểm tra cũ:Lồng ghép vào thực hành
2. N i dung b i m i:ộ
Hoạt động GV HS Nội dung
1.Hoạt động 1:Tiếp tục làm quen với chương trình cơng cụ hiệu chỉnh chương trình.
GV u cầu học sinh khởi động máy tính, đọc thực hành số trang 49 SGK thực yêu cầu b,c,d,e,f,g,h
-Khởi động chương trình Pascal nhập nội dung chương trình vào máy
GV sử dụng máy chiếu hướng dẫn học sinh lưu vào đĩa D:\Pitago
1 Chương trình Pi ta go
Program Pi_Ta_Go;
Uses Crt;
Var a,b,c:Integer;
a2,b2,c2:Longint; Begin
Clrscr;
Write(‘Nhap a,b,c: ‘);Readln(a,b,c); a2:=a; b2:=b; c2:=c;
a2:=a2*a; b2:=b2*b; c2:=c2*c;
(32)+Nhấn F2 nhập dường dẫn: D:\Pitago -Lưu vào đĩa với tên Pitago
-Hướng dẫn HS nhấn phím F7 để thực câu lệnh chương trình quan sát kết
Bài toán số Pi-ta-go Gợi ý để học sinh nêu khái niệm số Pitago
- Yêu cầu: lấy ví dụ cụ thể
- Hỏi : Để kiểm tra ba số a, b, c có phải Pitago, ta phaỉ kiểm tra đẳng thức nào?
HS: trả lời a2 = b2 + c2.
b2 = a2 + c2.
c2 = a2 + b2.
2 Hoạt động 2: HS thực hành máy
GV thực mẫu thao tác: lưu, thực lệnh chương trình, xem kết trung gian, thực chương tình nhập liệu
- Yêu cầu học sinh gõ chương trình mẫu vào máy
- Yêu cầu học sinh lưu chương trình lên đĩa với tên Pytago.pas
HS: Bấm F2, gõ tên file enter
GV yêu cầu học sinh thực lệnh chương trình
GV yêu cầu học sinh xem kết a2, b2, c2
HS: Bấm F7, nhập giá trị a=3, b=4, c=5 - Yêu cầu học sinh tự tìm thêm số a b c khác so sánh
GV cho HS thực máy tính GV quan sát HS thực hành, uốn nắn sai sót q trình tạo bảng Cho HS ghi lại lỗi thường gặp để rút kinh nghiệm cho thực hành sau
Trong trình thực hành, GV tiến hành kiểm tra, cho điểm số HS rút kinh nghiệm thực hành
If (a2=b2+c2) OR (b2=a2+c2) OR (c2=b2+a2) Then
Writeln(‘La bo ba so Pitago’)
Else Writeln(‘ba so khong la bo ba so Pitago’);
Readln; End
2. Soạn chương trình vào máy theo yêu cầu
của giáo viên
- Bấm F2, gõ tên file enter
- bấm F7, nhập giá trị a=3, b=4, c=5 - Chọn menu Debug để mở cửa sổ hiệu chỉnh
IV Củng cố, dặn dò
- Củng cố lại kiến thức cấu trúc rẽ nhánh, cấu trúc lặp - Đánh giá thực hành, chỗ sai sót sửa chữa cho HS
-Hướng dẫn 6,7 SGK trang 51 (Sử dụng cấu trúc rẽ nhánh cấu trúc lặp)
(33)V Rút kinh nghiệm