b/ Bài mới: Hoạt động 1: Ngôn ngữ lập trình bậc cao, ngôn ngữ máy: Chương trình viết bằng ngôn ngữ máy: Có thể trực tiếp được nạp vào bộ nhớ và thực hiện ngay Đặc điểm của ngôn ngữ lập
Trang 1II Chuẩn bị của giáo viên, học sinh:
a/ Giáo viên: Tìm hiểu thêm một số thuật ngữ
b/ Học sinh: đọc trước Sgk
III Tiến trình bài dạy:
a/ Bài cũ: Yêu cầu học sinh trả lời một số câu hỏi:
1/ Có những loại ngôn ngữ lập trình nào?
2/ Phân biệt ngôn ngữ bậc cao với các ngôn ngữ lập trình khác ở những nội dung nào? 3/ Kể tên một số ngôn ngữ lập trình mà học sinh biết
4/ Tại sao người ta phải xây dựng các ngôn ngữ lập trình bậc cao?
b/ Bài mới:
Hoạt động 1: Ngôn ngữ lập trình bậc cao,
ngôn ngữ máy:
Chương trình viết bằng ngôn ngữ máy:
Có thể trực tiếp được nạp vào bộ nhớ và thực
hiện ngay
Đặc điểm của ngôn ngữ lập trình bậc cao:
Chương trình viết bằng ngôn ngữ lập trình
bậc cao nói chung không phụ thuộc vào máy
và phải được dịch sang ngôn ngữ máy mới
thực hiện được
Hoạt động 2:: Chương trình dịch nhận đầu
vào là chương trình viết bằng ngôn ngữ lập
trình bậc cao (Chương trình nguồn) , thực
hiện chuyển đổi sang ngôn ngữ máy
- Một người chuyên dịch sang tiếng nước
ngoài khi các nguyên thủ đi công tác được
1.Khái niệm Lập trình: Là sử dụng cấu trúc dữliệu và các câu lệnh của ngôn ngữ lập trình cụthể để mô tả dữ liệu và diễn đạt các thao táccủa thuật toán.(Hay chuyển đổi dữ liệu và cácthao tác của thuật toán thành cấu trúc dữ liệu
và các câu lệnh của một ngôn ngữ lập trình.)
2 Khái niệm Chương trình dịch
*Chương trình dịch: Có chức năng chuyển
đổi chương trình được viết bằng ngôn ngữ lập trình bậc cao thành chương trình được thực hiện trên máy tính
+ Thực hiện các câu lệnh vừa chuyểnđổi được
b.Biên dịch:
-Duyệt, phát hiện lỗi, kiểm tra tính đúng đắn của các câu lệnh trong chương trình nguồnChương trình dịch
Trang 2gọi là gì?
- Một người chuyên dịch truyện nước ngoài
cho thiếu nhi sang tiếng việt nam được gọi là
gì?
GV: Nguời dịch cho nguyên thủ sau phiên
đàm thoại có nhớ chi tiết những lời mình đã
dịch không?
* Chú ý:
+ Một câu lệnh thực hiện bao nhiêu
lần thì nó phải dịch bấy nhiêu lần
-Dịch toàn bộ chương trình nguồn thành một chương trình đích có thể thực hiện trên máy
và có thể sử dụng lại khi cần thiết
IV.CỦNG CỐ:
-Nhắc lại các khái niệm lập trình, ngôn ngữ lập trình, chương trình dịch
-Hãy cho biết chương trình dịch hoạt động như thế nào?
****************************************************
Ngày soạn : 05/08/2010 - PPCT: 02
Bài 2 CÁC THÀNH PHẦN CỦA NGÔN NGỮ LẬP TRÌNH
I.MỤC ĐÍCH,YÊU CẦU:
1 Kiến thức :
• Biết các thành phần cơ bản của ngôn ngữ lập trình :bảng chữ cái, cú pháp và ngữ nghĩa
• Hiểu và phân biệt được 3 thành phần này
• Biết các thành phần cơ sở của pascal: bảng chữ cái, tên, tên chuẩn, tên riêng(từ khoá), hằng và biến
• Phân biệt được tên , hằng và biến
• Biết đặt tên đúng
2 Kỹ năng :
3 Thái độ :
• Nghiêm túc, cẩn thận, đoàn kết, có tinh thần giúp đỡ nhau trong nhóm.
II CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH :
1.Giáo viên: máy vi tính, SGK, giáo án.
2.Học sinh: SGK, vở
III TIẾN TRÌNH BÀI DẠY:
1.Ổn định lớp: Điểm danh &Kiểm tra bài cũ:
2.Dạy và học bài mới:
GV: Đặt vấn đề:
Hoạt động 1:
GV: Các ngôn ngữ lập trình nói chung
thường có chung một số thành phần như:dùng
những ký hiệu nào để viết chương trình, viết
theo quy tắc nào , viết như vậy có ý nghĩa
gì ?Mỗi ngôn ngữ lập trình có một quy định
riêng về những thành phần này
1 Các thành phần cơ bản :
- Mỗi ngôn ngữû lập trình thường có 3 thànhphần cơ bản : Bảng chữ cái, cú pháp, ngữ nghĩa
a) Bảng chữ cái:Là tập các ký tự được dùng
để viết chương trình
* Trong Pascal bảng chữ cái bao gồm các ký
Trang 3GV :Trong các ngôn ngữ lập trình nói chung,
các đối tượng sử dụng trong chương trình đều
phải được đặt tên để tiện cho việc sử dụng
-Trong Pascal tên là một dãy liên tiếp không
quá 127 ký tự bao gồm các chữ cái, chữ số và
dấu gạch dưới nhưng phải bắt đầu bằng chữ
cái hoặc dấu gạch dưới
- Trong Free pascal tên có thể có tối đa 255
GV:Khi viết chương trình khi có nhu cầu giải
thích cho những lệnh mình viết, để đọc lại
được thuận tiện hoặc người khác đọc có thể
hiểu được chương trình mình viết, ngôn ngữ
lập trình thường cung cấp cho tacách đưa các
tự sau : Các chữ cái thường và chữ cái in hoa 10 chữ số thập phân Ả Rập : 0 1 2 3 4
5 6 7 8 9 Các ký tự đặc biệt :
+ - * / = < > [ ] ,
; # ^ $ @ & ( ) { } : ,Dấu cách (mã ASCII 32) -b) Cú pháp:Là bộ quy tắc để viết chương trình
c) Ngữ nghĩa :Xác định ý nghĩa thao tác cần phải thực hiện, ứng với tổ hợp ký tự dựa vào ngữ cảnh của nó
Tóm lại: Cú pháp cho biết cách viết một chương trình hợp lệ, còn ngữ nghĩa xác định ý nghĩa của các tổ hợp ký tự trong chương trình.
Chú ý :Các lỗi ngữ nghĩa khó phát hiện hơn.Phần lớn các lỗi ngữ nghĩa chỉ được phát hiện khi thực hiện chương trình trên dữ liệu
cụ thể.
2 Một số khái niệm a) Tên
- Mọi đối tượng trong chương trình đều phải được đặt tên.Mỗi ngôn ngữ lập trình có một quy tắc đặt tên riêng
* Ngôn ngữ lập trình thường có 3 loại tên cơ bản:tên dành riêng, tên chuẩn và tên do ngườilập trình tự đặt
Tên dành riêng
Ví dụ :Một số từ khoá Trong ngôn ngữ Pascal :Program, Var, Uses, Begin, End…
Trong ngôn ngữ C++ :main, include, While, Void,…
Trang 4chú thích vào trong chương trình * Biến :
- Là đại lượng được đặt tên , giá trị có thể thay đổi được trong chương trình
- Các ngôn ngữ lập trình có nhiều loại biến khác nhau
- Biến phải được khai báo trước khi sử dụng Chú ý: Biến phải được khai báo trước khi sử dụng
c) Chú thích:
- Trong khi viết chương trình có thể viết các chú thích cho chương trình Trong Pascal chú thích được đặt trong { và} hoặc (*và*)
Trong C++ chú thích được đặt trong /* và
- Rèn luyện tính tỉ mỉ, cận thận cho học sinh khi học lập trình để viết chương trình
II.CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH :
1 Chuẩn bị của giáo viên: Giáo án, hình ảnh minh họa và máy tính.
III TIẾN TRÌNH BÀI DẠY:
1 Ổn định tình hình lớp: (3’)
Trang 52 Kiểm tra bài cũ: (7’)
Câu hỏi: Em hãy trình bày những thành phần cơ bản trong ngôn ngữ lập trình
Pascal Phân biệt giữa hằng và biến
Trả lời: Những thành phần cơ bản trong ngôn ngữ lập trình Pascal là:
b) Cú pháp: Là bộ quy tắc để viết chương trình.
c) Ngữ nghĩa: Xác định ý nghĩa của thao tác cần thực hiện, ứng với tổ hợp kí
tự dựa vào ngữ cảnh đó
Phân biệt giữa hằng và biến:
Hằng: Là đại lượng có giá trị không đổi khi thực hiện chương trình
Biến: Là đại lượng có thể thay đổi giá trị khi thực hiện chương trình
3 Giảng bài mới:
* Hoạt động 1: Ôn lại những kiến thức đã
học ở hai bài trước
GV: Vì sao phải cần có chương trình
dịch?
HS: Cần phải có chương trình dịch vì để
máy tính có thể hiểu và thực hiện được
chương trình thì chương trình viết bằng
ngôn ngữ bậc cao phải được sang ngôn
Biên dịch là dịch toàn bộ chương trình, và
kết quả thu được là một hoặc nhiều file kết
quả có thể lưu trữ và sử dụng lại
- Có hai loại chương trình dịch: Thông dịch
và biên dịch
- Các thành phần của ngôn ngữ lập trình:Bảng chữ cái, cú pháp và ngữ nghĩa
- Mọi đối tượng đều phải được đặt tên:
+ Tên dành riêng: được dùng với ýnghĩa riêng, không được dùng với ý nghĩakhác
+ Tên chuẩn: Tên dùng với ý nghĩanhất định, khi cần dùng với ý nghĩa khácthì phải khai báo
+ Tên do người lập trình đặt: Cần khaibáo trước khi sử dụng
- Hằng: Đại lượng có giá trị không đổitrong khi thực hiện chương trình
- Biến là đại lượng được đặt tên Giá trị củabiến có thể thay đổi trong quá trình thựchiện chương trình
* Hoạt động 2: Giải quyết các câu hỏi
trong sách giáo khoa.
GV: Tại sao người ta phải xây dựng ngôn
ngữ lập trình bậc cao?
HS: Người ta phải xây dựng ngôn ngữ lập
trình bậc cao vì chương trình viết bằng
ngôn ngữ bậc cao dễ hơn so với ngôn ngữ
máy, ngôn ngữ bậc cao gần gũi với ngôn
ngữ tự nhiên hơn so với ngôn ngữ máy
GV: Em hãy nhắc lại khái niệm Hằng?
2 Các câu hỏi trong sách giáo khoa:
Câu 1: Tại sao người ta phải xây dựng
ngôn ngữ lập trình bậc cao?
Trả lời: Vì chương trình viết bằng ngôn
ngữ bậc cao gần gũi hơn so với chươngtrình viết bằng ngôn ngữ máy, chương trìnhviết bằng ngôn ngữ bậc cao dễ phát triển vàhoàn thiện hơn chương trình viết bằng ngônngữ máy
Câu 2: Hãy cho biết những biểu diễn nào
Trang 6Hoạt động của giáo viên và học sinh Nội dung ghi bảng
HS: Hằng là đại lượng có giá trị không đổi
trong quá trình thực hiện chương trình
GV: Bổ sung thêm
Có ba loại hằng thường dùng là: Hằng số
học, hằng xâu và hằng logic
- Hằng số học: là các số nguyên và số
thực, có dấu hoặc không dấu
- Hằng xâu là một chuỗi kí tự bất kì Khi
viết, chuỗi kí tự này được đặt trong dấu
a) 150.0b) -22c) 6,23d) ‘43’
e) A20f) 1.06E – 15g) 4+6h) ‘Ci) ‘TRUE’
Trả lời:
Những hằng số học: 150.0, -22, 1.06E-15.Những hằng kí tự: ‘43’, ‘TRUE’
Những trường hợp không phải là hằngtrong Pascal: 6,23, A20, 4+6, ‘C
* Hoạt động 3: Một số bài tập khác.
GV: Câu b không đúng vì trong chế độ
thông dịch, mỗi câu lệnh của chương trình
nguồn được dịch thành một hoặc nhiều câu
lệnh của chương trình đích;
Câu c không đúng vì có những bài toán
cũng không thể giả trên máy tính
Câu d sai vì nếu chương trình nguồn có lỗi
cú pháp thì chương trình dịch không thể
dịch sang chương trình nguồn
HS: Lắng nghe và ghi chép.
GV: Khi hệ thống không báo lỗi có nghĩa
là chương trình không có lỗi cú pháp
Bài 1: Phát biểu nào dưới đây là đúng?
a) Chương trình là dãy các lệnh được tổchức theo các quy tắc được xác định bởimột ngôn ngữ lập trình cụ thể;
b) Trong chế độ thông dịch, mỗi câu lệnhcủa chương trình nguồn được dịch thànhmột câu lệnh của chương trình đích;
c) Mọi bài toán đều có chương trình để giảitrên máy tính;
d) Nếu chương trình nguồn có lỗi cú phápthì chương trình đích cũng có lỗi cú pháp
Đáp án: A
Bài 2: Trong chế độ biên dịch, một chương
trình đã được thông suốt, hệ thống khôngbáo lỗi Có thể khẳng định rằng ta đã cómột chương tình đúng chưa? Tại sao?
• Làm các bài tập trong sách Bài tập
• Chuẩn bị trước bài 3: Cấu trúc chương trình
************************************************
Trang 7• Hiểu chương trình là sự mô tả thuật toán bằng ngôn ngữ lập trình
• Biết cấu trúc của một chương trình Pascal:Cấu trúc chung và các thành phần
• Nhận biết được các thành phần của một chương trình đơn
• phương tiện: Máy chiếu,máy tính,phông chiếu,bảng vẽ sơ đồ khối
2.Học sinh: Xem lại bài cũ và chuẩn bị bài mới
III TIẾN TRÌNH BÀI DẠY:
GV: Thuyết trình đưa ra cấu trúc chung của
chương trình
Chương trình được viết bằng ngôn ngữ lập
trình bậc cao thường gồm mấy phần?
HS: Gồm 2 phần: Phần khai báo và phần
thân chương trình
*Lưu ý: Phần thân chương trình nhất thiết
phải có,nhưng phần khai báo có thể có không
tuỳ thuộc vào chương trình cụ thể
HĐ2:
GV: Thuyết trình đưa ra kiến thức
HS: Lắng nghe,ghi bảng
Phần khai báo sẽ cho máy biết chương trình
sẽ sử dụng những tài nguyên nào của
máy.Phần khai báo tên chương trình bắt đầu
GV: Muốn xoá những gì đang có trên màn
hình sau khi khai báo thư viện:
- Trong Pascal:Dùng lệnh: Clrscr;
- Trong C++ : Dùng lệnh Clrscr ();
GV: Khai báo hằng là việc đặt tên cho hằng
để tiện sử dụng và tránh việc phải lặp lại
1.Cấu trúc chung Mỗi chương trình gồm 2 phần: Phần khai báo và phần thân chương trình
[<Phần khai báo>]
<Phần thân>
2.Các thành phần của chương trìnha/ Phần khai báo
Có thể khai báo tên chương trình,hằng đượcđặc tên,biến,thư viện,chương trình con,…
*Khai báo tên chương trình
- Trong Turbo Pascal: Program <Tên chương trình>
- Tên chương trình do người lặp đặc đúng theo quy tắt đặc tên
VD: Program Tinh_ Dien_Tich;
Program Tinh_Chu_Vi;
*Khai báo thư viện
- Trong ngôn ngữ Pascal: Uses <Tên thư viện>
Trang 8nhiều lần một hằng trong chương trình.
- Khai báo hằng cho tiện lợi khi cần
thay đổi giá trị của nó trong chương
phần thân chứa câu lệnh của chương trình
- Đưa ra 2 ví dụ khác nhau về cách viết
thân chươnh trình trong ngôn ngữ
khác nhau
- Cho HS quan sát 2 chương trình trong
2 ngôn ngữ khác nhau : Pascal và C+
Chương trình trên không có phần khai
báo,phần thân chương trình chỉ có 1 câu
lệnh Writeln rồi thông báo đưa ra màn hình
rồi kết thúc
Học sinh quan sát VD2,GV cho học sinh
thực hành trong máy và nhấn phím :
Ctr + F9 để chạy thử chương trình ,nếu sai
ta có thể hiệu chương lại chương trình
*Khai báo biến
- Mọi biến sử dụng trong chương trình đều phải khai báo để chương trình dịch biết xử lý
- Thân chương trình là nơi chứa toàn
bộ các câu lệnh của chương trình hoặc lời gọi chương trình con
- Thân chương trình thường có cặp dấu hiệu bắt đầu và kết thúc
VD : Begin <Tên chương trình> (Bắt đầu) [< Các câu lệnh>]
End < Tên dành riêng> (kết thúc)VD1:Chương trình sẽ thực hiện việc đưa
ra màn hình và thông báo” Xin chào các bạn!”
VD2:Chương trình sẽ thực hiện việc đưa
ra màn hình thông báo “Tinh diên tich”
Program Tinh dien tich;
Uses Crt;
Var S,a,b: real;
Begin Readln(a,b);
có thể không tuỳ thuộc vào chương trình cụ thể
- Cho một số chương trình mẫu và yêu cầu học sinh chỉ rõ từng thành phần của chương trình
VD**:Chương trình sẽ thực hiện việc đưa ra màn hình thông báo “Tinh trungbinh “ Program TinhTB;
Trang 9Bài 4: MỘT SỐ KIỂU DỮ LIỆU CHUẨN
I.Mục Đích, Yêu Cầu:
1 Kiến thức:
• Biết một số kiểu dữ liệu định sẵn :nguyên ,thực,kí tự lôgíc và miền con
• Xác định kiểu cần khai báo của dữ liệu đơn giản
2 Kỹ năng: Biết và hiểu tên, phạm vi giá trị của một số kiểu: nguyên, thực,kí tự
3 Thái độ:
II Chuẩn Bị Của Giáo Viên Và Học Sinh:
1 Giáo viên: sơ đồ, SGK,giáo án
2 Học sinh: SGK, vở ghi
III Tiến Trình Bài Dạy:
GV: vấn đáp:khi cần viết chương trình
quản lí học sinh ta cần xử lí thông tin ở
dạng nào ?
HS:suy nghĩ trả lời câu hỏi GV
GV:phân tích câu trả lời của HS, đưa ra câu
Điểm của hs là dạng số như thế nào?
HS:suy nghĩ trả lời câu hỏi GV
GV :trả lời:-Điểm của hs là dạng số thực
GV :-Họ và tên hs là những thông tin dạng
văn bản hay dạng các kí tự
Hỏi: em biết nhưng bảng mã nào?
GV:-Một số thông tin khác lại chỉ cần biết
chúng đúng hay sai.Thông tin như thế gọi
Tên kiểu :CHAR
Miền gía trị :là các kí tự trong bảng mã ASCII gồm256 kí tự
Trang 10- Hiểu cách khai báo biến.
- Biết khai thác biến đúng
2. Kỹ năng: Chưa đòi hỏi phải biết các thao tác cụ thể
3. Thái độ: Có ý thức nghiêm túc trong việc học
II Chuẩn Bị Của Giáo Viên Và Học Sinh:
1 Giáo viên: Giáo án & SGK, Máy chiếu, Phòng máy tính
2 Học sinh: vở ghi & SGK
III Tiến Trình Bài Dạy:
*Kiểm tra bài cũ: Nêu một số kiểu dữ liệu
chuẩn thường dùng cho các biến đơn trong
GV: Trong pascal, mọi biến trong chương
trình đều phải khai báo tên và kiểu dữ liệu
cuả nó(một số ngôn ngữ coi đó là định
nghĩa biến)
- Vậy tại sao cần phải khai báo tên và kiểu
dữ liệu?
HS: Đứng tại chỗ phát biểu
GV: Khai báo biến để cấp phát bộ nhớ cho
biến, vậy khi khai báo có những lúc ta chọn
kiểu: real, word, byte, char, nó có ý
nghĩa như thế nào?
HS: Trả lời câu hỏi.
GV: Tóm tắt lại rồi ghi lên bảng.
GV: Vậy kiểu của biến giúp chương trình
dịch biết cách tổ chức lưu trữ truy cập giá
trị cuả biến và áp dụng các thao tác thích
HS: Trả lời câu hỏi.
GV: Sau từ khoá Var có thể khai báo nhiều
danh sách khác nhau, tức là cấu trúc :
<danh sách biến>:<kiểu dữ liệu>;
Có thể xuất hiện nhiều lần
VD1: Chương trình cần có các biến nguyên
A, B, C, D1, D2 và biến thực K, Q
HS: Trả lời câu hỏi.
1.Vì sao phải khai báo biến
- Khai báo biến nhằm đưa tên biến vào danh sách các đối tượng cần quản lý cuả chương trình
-Vì trong một bài toán có một số kiểu dữ liệu như kiểu nguyên, kiểu thực, kiểu kí tự, kiểu logic
*Trong PASCAl khai báo biến cĩ dạng:
Var <danh sách biến>:<kiểu dữ liệu>;
-Danh sách biến là một hoặc nhiều tên biến,các tên biến được viết cách nhau bởi dấuchấm phẩy;
- Kiểu dữ liệu là một trong các kiểu dữ liệu chuẩn hoặc kiểu dữ liệu do người lập trình định nghĩa
VD1: Chương trình cần có các biến nguyên
A, B, C, D1, D2 và biến thực K, Q
Giải:
Var A, B, C, D1, D2: integer;
K, Q: real;
VD2: Xét khai báo biến
- X, Y, Z: Có 3 biến nguyên nhận giá trị nguyên từ 0 -> 255 Bộ nhớ lưu trữ giá trị
là 3 byte
- C là biến kí tự và bộ nhớ lưu trữ 1 byte, (nhận giá trị: 256 kí tự trong bộ mã ASCII)
- K, Q, N:Có 3 biến thực, Bộ nhớ lưu trữ giá trị là 18 byte, nhận giá trị 10-38 đến 1038
- L, P:Có 2 biến nguyên và nhận giá trị từ
0 -> 65535 Bộ nhớ lưu trữ giá trị là 4 byte
Trang 11VD2: Xét khai báo biến
Cho biết phạm vi giá trị của từng biến và
tổng bộ nhớ dành cho các biến đã khai
báo?
HS: Trả lời câu hỏi.
GV: Lưu ý hs trong SGK/23.
- Khai báo biến thường đặt sau khai báo
hằng.Vậy em có thể viết cấu trúc chương
trình:
Progam<tên chương trình>;
User<tên các thư viện>;
Const<tên hằng>=<giá trị của hằng>;
Var<danh sách biến>:<kiểu dữ liệu>;
HĐ3:Lấy một số ví dụ minh họa cho hs
nhận định: Đặt tên biến sai, tên biến trùng
nhau, các biến trong danh sách biến không
phân cách nhau bởi dấu phẩy
VD1: SAI,Vì không có từ khoá Var
VD2: SAI, Vì sau integer thiếu dấu chấm phẩy
IV Củng Cố Và Dặn Dò
• Hiểu cách khai báo biến, sử dụng đúng khoá và kiểu dữ liệu khi khai báo biến
• Biết tính tổng bộ nhớ dành cho các biến, và công dụng của khai báo biến
• Về nhà học bài cũ và xem trước bài: Phép toán, Biểu thức, Câu lệnh gán
******************************************************
Bài 6: PHÉP TOÁN, BIỂU THỨC, CÂU LỆNH GÁN
I Mục Đích, Yêu Cầu:
1 Kiến thức: Các khái niệm phép toán,biểu thức ,hàm số học chuẩn, lệnh gán
2 Kỹ năng : Viết được các biểu thức và lệnh gán.
3 Thái độ: Nhận biết mối quan hệ giữa các đối tượng và phép toán.
II Chuẩn Bị Của Giáo Viên Và Học Sinh:
1 Giáo viên: Giáo án, SGK, bảng vẽ, thước thẳng, phấn màu
2 Học sinh: Giấy, bút, nháp, bài soạn ở nhà
III Tiến Trình Bài Dạy:
1 Oån định tổ chức:
2 Kiểm tra bài cũ: Các kiểu dữ liệu? Phạm vi và giá trị?
3 Bài mới:
Trang 12Hoạt động của giáo viên và học sinh Nội dung ghi bảng
Hoạt động1
*GV: kí hiệu các phép toán Cần lấy ví dụ
cụ thể đối với các phép toán như :
mid,mod,not,and,or
Hoạt động2
*GV:-Nêu quy tắc cách viết một biểu thức
(minh hoạ bằng ví dụ cụ thể)
-Nêu các mức độ ửu tiên các phép toán
*HS:Cho ví dụ 1 số biểu thức trong toán
*HS:Đọc SGK và trả lời các câu hỏi sau:
-Thế nào là biểu thức quan hệ?
-Phân biệt sự khác nhau giữa biểu thức
số học và biểu thức quan hệ?
*HS :Chọn phuơng án đúng?
Hoạt động5:
* HS:Đọc SGK và trả lời các câu hỏi sau:
-Thế nào là biểu thức lôgic?
* GV :Nêu cấu trúc :
[<btqh>] <phép toán lôgic> < btqh>
-Phân biệt sự khác nhau giữa biểu thức
số học và biểu thức lôgic? HS trả lời
- Kiểu giá trị biểu thức VP phải phù hợp
với kiểu của biến
1.Phép toán:
Bảng kí hiệu các phép toán(SGK)
2 Biểu thức số học:
•Khái niệm biểu thức số học(SGK)
•Quy tắc cách viết một biểu thức(SGK)
•Mức độ ửu tiên các phép toán(SGK)
•Chú ý(SGK)3.Hàm số học chuẩn:
•Khái niệm hàm số học chuẩn(SGK)
•Bảng hàm sốhọc chuẩn thuờng
dùng(sgk)
•Ví dụ(SGK)Câu hỏi: Viết các biểu thức toán học sau đây trong Pascal?
3x+/x-1/ ;
1
22
x e x
•Khái niệm biểu thức lôgic(SGK)
•Vớ dụ: SGK Câu hỏi: Biểu thức nào sau đây không phải là biểu thức lôgic?
a/ not(x=5) b/ (x<5) or (x>1)c/ (x+y=5) and (x>1) d/ (x+2) or (x<y)6.Câu lệnh gán:
•Câu lệnh gán có dạng(SGK)
<tên biến>:= < biểu thức>
•Vớ dụ (SGK ) Câu hỏi: Cho a,b,c.d,e là các biến
Trang 13số nguyên.Lệnh gán nào sau đây sai?
a/ a:=1 ; b/ b:= 2*(c+d) ;c/ c:=b-a ; d/ e:= (b+c)/2 ;
IV Củng Cố Và Dặn Dò
• Cho HS nhắc lại
- Các phép tốn trong tốn học và trong Pascal?
- Cáu trúc biểu thức quan hệ và lơgic?
- Cáu trúc lệnh gán?
• Làm các Bài tập SGK trang 35
*********************************************************
Ngày soạn : 21/08/2010 - PPCT: 06
I.Mục Đích, Yêu Cầu:
1 Kiến thức: Biết các lệnh vào/ ra đơn giản để nhập dữ liệu từ bàn phím hoặc đưa dữ liệu ra màn hình
2 Kỹ năng: Viết được một số lệnh vào/ ra đơn giản
3 Thái độ: Nhận thức đầy đủ về cách nhập, xuất dữ liệu
II Chuẩn Bị Của Giáo Viên Và Học Sinh:
1. Giáo viên: Tài liệu, bài tập: Giáo án, sgk, các tài liệu tham khảo, máy tính
2. Học sinh: SGK, vở ghi chép
III Tiến Trình Bài Dạy:
- Kiểm tra bài cũ: Nêu một số hàm số học chuẩn và các biểu thức logic ?
• Hđ4: Cách nhập giá trị cho nhiều
biến được thực hiện ntn?
• Hđ5: Cách đưa dữ liệu ra màn hình
được thực hiện ntn? Gv cho vd minh
hoạvà giải thích các lệnh trong vd Hs
nghe hiểu- Chia nhĩm thực hiện vd để
xem kết quả sau mỗi câu lệnh
Trang 14• Hđ6: GV diễn giải cho hs cách cách
nhập các giá trị từ bàn phím một cách
tường minh hơn bằng việc nhập thêm
xâu kí tự nhắc nhở cho biến
Hđ7: Các lưu ý gì trong cách nhập/ xuất
dữ liệu? Gv thuyết trình như sgk và cho
vd minh hoạ, giải thích các cách viết
trong vd
hoặc writeln (〈danh sách kết quả ra〉) ;
Ví dụ : Để nhập giá trị cho biến M từ bàn
phím, người ta thường dùng cập thủ tục : write (‘Hay nhập giá trị M: ‘ ) ; readln (M)
Ví dụ1 : Cách nhập số nguyên dương N ( N
)100
≤Write(‘Nhập số nguyên dương N <= 100’); readln(N) ;
Ví dụ2 : Viết chương trình hoàn chỉnh các
•Khi nhập giá trị cho danh sách biến phải chú ý các giá trị được nhập có kiểu tương
ứng với các biến trong danh sách, giữa hai giá trị liên tiếp phải nhấn phím Space hoặc phím Enter
•Cách dùng câu lệnh read và readln
•Câu lệnh Write và writeln
•Ý nghĩa của việc đưa ra theo quy cách
***********************************************************
Bài 8: 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 Cầu:
1 Kiến thức: Biết các bước: soạn thảo, dịch, thựchiện và hiệu chỉnh chương trình
Biết một số công cụ của môi trường Turbo Pascal
2 Kỹ năng:Bước đầu sử dụng được chương trình dịch để phát hiện lỗi, chỉnh sửa được chương trình dựa vào thông báo lỗi của chương trình dịch và tính hợp lí của kết quả thu được
3 Thái độ: nghiêm túc, cố gắng tiếp thu học hỏi và thích thú
II Chuẩn Bị Của Giáo Viên Và Học Sinh:
1 Giáo viên: SGK,sơ đồ, giáo án
2 Học sinh: SGK,vở ghi
III Tiến Trình Bài Dạy:
1 Oån định lớp: Điểm danh sĩ số
2 Kiểm tra bài cũ: trình bày các thủ tục chuẩn vào/ra dữ liệu? Cho ví dụ cụ thể?
3 Học bài mới
Hđ1: GV giới thiệu phần mềm phục vụ cho
việc soạn thảo, dịch và hiệu chỉnh chương
trìnhvới Pascal ta dùng: Turbo Pascal 7.0,
Free Pascal
-Máy tính cần phải có tệp: turbo.exe,
Turbo.tpl, Graph.tpu, Egavga.bgi
Hđ2: Hs xem hình 1 trang 32 SGK và cho
biết từng dòng của trang màn hình đó?
2) Biên dịch chương trình:
Trang 15Hđ3: Yêu cầu HS nhắc lại một số kiến thức
chuẩn của chương II như:
- Cấu trúc chung của chương trình gồm?
- Các thành phần của chương trình, kiểu dữ
liệu , các phép toán, biểu thức, các thủ tục
vào/ra dữ liệu?
Hđ
4 :Cho học sinh làm ví dụ "Bạn có bao
nhiêu người bạn trong lớp" trong bài học
trước ở trong 31, cố ý viết sai một số lỗi cú
pháp
Cho học sinh biên dịch và tập cho học sinh
sửa lỗi cho đến khi kết quả của biên dịch là
successful
Chia học sinh thành 2 nhóm, mỗi nhóm
đưa ra một bộ test để cùng kiểm tra
5) Đóng cửa sổ chương trình hoặc thoát khỏi chương trình:
Nhấn tổ hợp phím Alt + F3 để đóngcửa sổ chương trình
Nhấn tổ hợp phím Alt + X để thoát khỏi chương trình
- Biết kích hoạt phần mềm pascal, làm quen với một số chương trình đơn giản
- Bước đầu thực hiện các thao tác cơ bản trong pascal như: gõ, lưu, dịch và sửa lỗi, thực hiện một chương trình đơn giản
- Làm quen với một số tổ hợp phím thông dụng
Trang 16Hoạt động của giáo viên và học sinh Nội dung ghi bảng
trong sách giáo khoa:
- GV: Hướng dẫn học sinh cách khởi động máy
tính, kích hoạt phần mềm pascal
- Giới thiệu một số menu trên màn hình làm
việc của pascal
- Cho học sinh làm quen với một số chương
trình đơn giản đã chuẩn bị trước Yêu cầu học
sinh nhận xét cấu trúc của chương trình cũng
như các dấu hiệu đặc trưng ( màu chử của các
từ)
Thống nhất ý kiến chung
- Yêu cầu học sinh gõ nội dung chương trình
giải phương trình bậc 2(SGK Tin học 11/trang
34)
- Giáo viên quan sát quá trình thực hiện và
chỉnh sửa những thói quen không tốt mà học
sinh mắc phải trong quá trình đánh máy
- Sau khi học sinh đã thực hiện xong yêu cầu
Giáo viên có thể cho học sinh phát biểu nội
dung chương trình theo ngôn ngữ giả đề bước
đầu làm quen với một chương trình đơn giản
- Thống nhất ý kiến chung
- Yêu cầu học sinh lưu nôi dung chương trình
vừa gõ với tên THUCHANH1.PAS vào ổ đĩa
D:\ (ở đây giáo viên có thể nhắc lại cách đặt
tên cho một tệp cũng như các thao tác lưu tệp
trong word để học sinh dể dàng tiếp thu kiến
thức mới)
- Nói: một chương trình sau khi các em đã gõ
hoàn chỉnh thì chưa chắc là hoàn toàn chính
xác Để cho thật sự chắc chắn là hoàn toàn
đúng thì trước khi thực hiện chương trình ta
hãy nhấn tổ hộp phím Alt + F9 để dịch và sửa
lỗi cú pháp Yêu cầu học sinh dịch, sửa lỗi và
nhận xét những kết quả đó trên màn hình
- Quan sát thao tác của từng HS và hỗ trợ khi
các em yêu cầu
- Nói: sau khi các em đã dịch và sửa lỗi
chương trình xong thì ta có thể thực hiện
chương trình bằng cách nhấn tổ hợp phím Ctrl
+ F9 Rồi nhập các giá trị theo câu d, e (SGK
Tin học 11/trang 34) sau đó nhập tiếp giá trị 4;
3; 5 để kiểm nghiệm kết quả
Trả lời thắc mắc và chọn ra một số lỗi mà cả
lớp thường mắc phải để sửa chung và nhấn
mạnh rằng chương trình giải phương trình
bậc 2 này là chưa hoàn chỉnh, nó mới chỉ là
trường hợp khi phương trình có nghiệm vì
thế khi nhập các giá trị 4; 3; 5 thì chương
trình báo lỗi Vậy để giải quyết vấn đề này
READLN END.
b) Gõ F2 và lưu chương trình với tên là
e) Gõ Ctrl + F9 và nhập các giá trị 1 0 -2.
Kết quả nhận được là : X1 = 1.41 X2
= 1.41
f) Sửa lại chương trình trên sao cho không
cần dùng biến trung gian D Sau khi sửa,thực hiện lại chương trình với các bộ dữ liệutrên
g) Sửa lại chương trình nhận được ở mục c
bằng cách thay đổi công thức tính X2 (còn có
2 cách tính X2 theo công thức khác)
h) Thực hiện chương trình với bộ dữ liệu 1
-5 6 ( Kết quả nhận được là 2 và 3)
i) Thực hiện chương trình với bộ dữ liệu 1
1 1, quan sát cách thông báo lỗi của TP.
Trang 17Hoạt động của giáo viên và học sinh Nội dung ghi bảng
thì chúng ta phải làm sao? (Tạo sự thích thú
và khơi dậy tính tìm tòi học hỏi cho HS) Để
giải quyết vấn đề thì đến bài cấu trúc vòng
lập các em sẽ thấy
Tiết 2:
* Hoạt động 2: Thực hành các bài tập
trong sách giáo khoa:
GV: Hướng dẫn học sinh làm bài 9 như: số
lượng các biến cần phải khai báo cho chương
trình; cách tính diện tích phần gạch chéo
bằng một nửa đường tròn bán kính a
GV: Sau khi học sinh đã soạn thảo xong
chương trình, cần phải chỉ cho học sinh chọn
một số bộ dữ liệu để kiểm tra tính đúng đắn
writeln(‘Nhap vao ban kinh a>0, a= ’); readln(a);
Trang 18- Biết khai báo biến, gán dữ liệu
Hoạt động của giáo viên và học sinh
Hoạt động 1 : Củng cố lại một số kiến thức
GV: Một chương trình bình thường chia làm mấy phần?
Đó là những phần nào ?
Trong khai báo biến, bao gồm những khai báo nào? Cú pháp như thế nào?
HS: * Một chương trình bình thường gồm 2 phần: Phần khai báo và phần thân
* Phần khai báo gồm :
- Khai báo tên chương trình
- Khai báo hằng
- Khai báo thư viện
- Khai báo biến
- Khai báo chương trình con
Tùy theo từng chương trình mà ta có thể lựa chọn các khai báo khác nhau
GV: Hãy kể tên một số kiểu dữ liệu chuẩn mà ta hay gặp? Phạm vi giá trị của mỗi kiểu làbao nhiêu? Cần bao nhiêu bộ nhớ để lưu trữ ?
* Ta có một số kiểu dữ liệu chuẩn sau :
• Kiểu nguyên: Byte, Integer, Word, Longint,
• Kiểu thực: Real, Extender
• Kiểu kí tự : Char
• Kiểu logic : Boolean
GV: Nêu quy tắc thực hiện trong biểu thức số học ?
Biểu thức quan hệ có dạng như thế nào? Câu lệnh gán có dạng như thế nào ?
HS: Quy tắc, thứ tự thực hiện trong biểu thức số học là :
- Sử dụng cặp ngoặc tròn để xác định trình tự ưu tiên thực hiện phép toán trongtrường hợp cần thiết
- Viết lần lượt từ trái qua phải
- Không được bỏ qua dấu nhân trong tích
- Thực hiện các phép toán trong dấu ngoặc trước
Trong dãy các phép toán không chứa ngoặc thì thực hiện từ trái sang phải , theo thứ tự các phép toán nhân , chia , chia lấy nguyên , chia lấy dư , cộng , trừ
Trang 19HS: Biến P kiều nguyên , biến X kiểu nguyên
Câu d là tốt nhất ( Tuy nhiên b vẫn đúng )
Bài tập 5/35 – SGK :
GV: Nêu công thức tính diện tích S? Cạnh hình vuông có giá trị từ 10 đến 200 , vậy thìdiện tích hính vuống lớn nhất là bao nhiêu ? Với giá trị diện tích đó thì cấn phải khai báobiến kiểu gì ? Vậy câu nào là đúng
- Giá trị nào trong toàn bộ bài toán không thay đổi?
- Gọi HS viết chương trình
- Nhận xét chương trình do HS viết, phân tích những vấn đề mà HS gặp phải khi viếtchương trình
Trang 20- Tương tự bài 9 làm bài tập 10 SGK.
- Coi lại nội dung chương 1, 2 Chuẩn bị tiết kiểm tra
• Hiểu nhu cầu cấu trúc rẽ nhánh trong biểu diễn thuật toán
• Hiểu câu lệnh rẽ nhánh( dạng khuyết và dạng đủ)
• Hiểu câu lệnh ghép
2.Kỹ năng:
• Sử dụng cấu trúc rẽ nhánh trong mô tả thuật toán của một số bài đơn giản
• Viết được các lệnh rẽ nhánh và áp dụng vào thuật toán của một số bài toán
3.Thái độ:
II Chuẩn Bị Của Giáo Viên Và Học Sinh:
1.Giáo viên: SGK,sơ đồ, giáo án
2.Học sinh: SGK,vở ghi
III Tiến Trình Bài Dạy:
Tiết 1:
Hđ1: HS nêu vài ví dụ về câu điều kiện?
Hđ2: GV dẫn dắt câu lệnh rẽ nhánh từ các ví
dụ được nêu?
Hđ3:GV nêu ý nghĩa của cấu trúc rẽ nhánh?
Hđ4: GV diễn đạt ví dụ qua 2 trường hợp
2.Câu lệnh IF –THEN
Để mô tả cấu trúc rẽ nhánh Pascal dùng câulệnh IF –THEN, nó có 2 dạng:
Trang 21Dạng đủ: Nếu <ĐK đúng> thì < thực hiện1>
ngược lại <thực hiện 2 > ;
Hđ5: Yêu cầu HS chuyển lại bằng tiếng anh
những từ không nằm trong dấu < > của 2
dạng trên?
HĐ6: Chuyển vídụ :Giải phương trình bậc 2
trong sách trang 38 thành dạng IF?
Hđ7: ở ví dụ 1 trang 41 đã sử dụng câu lệnh
IF dạng đủ hay khuyết? Chỉ ra câu lệnh ghép
trong ví dụ này?
Hđ8: ở ví dụ 2 trang 41 đã sử dụng câu lệnh
IF dạng đủ hay khuyết? Chỉ ra điều kiện của
bài là điều kiện gì?
Hđ9: Câu lệnh IF có thể trình bày trong 1 lưu
đồ dạng đủ được hay không ? vì sao?
•If, then, else: là các từ khóa
•Điều kiện là biểu thức logic
•Câu lệnh, câu lệnh 1, câu lệnh 2 là các câu lệnh của pas cal có thể là lệnh đơn hoặc lệnh ghép
*Câu lệnh ghép là câu lệnh có ít nhất từ 2 câu lệnh đơn trở lên và được bao bởi Begin…… end;
3.Một số ví dụ:
Ví dụ 1: SGK trang 41
Ví dụ 2: SGK trang 41
IV Củng Cố Và Dặn Dò
• Trình bày câu lệnh If? Diễn đạt câu lệnh IF qua ví dụ cụ thể
• Tại sao lại gọi là cấu trúc rẽ nhánh mà không gọi là câu lệnh rẽ nhánh?
• Làm các bài tập trong Sách Bài Tập 3.1->3.5 trang 18
***********************************************************
Ngày soạn : 19/09/2010 - PPCT: 13-14
Bài 10 : CẤU TRÚC LẶP
I MỤC ĐÍCH YÊU CẦU:
1 Kiến thức:-hiểu được khái niệm,sơ đồ cấu trúc lặp
Hiểu được nhu cầu cấu trúc lặp trong biểu diễn thuật toán
Hiểu được cấu trúc lặp với số lần biết trước, cấu trúc lặp kiểm tra điều kiện trước
2 Kỹ năng: vận dụng đúng từng loại cấu trúc lặp vào tình huống cụ thể
Mô tả được thuật toán của một số bài toán đơn giản có sử dụng lệnh lặp, viết đúng các lệnh lặp While - do, For -do ;viết được thuật toáncủa một số bài đơn giản
Đkiệ n
Câu lệnh
Đ K
Clệnh 2 Clệnh1
Trang 223 Thái độ:
II CHUẨN BỊ:
1 Giáo viên: sgk; phấn màu; bảng vẽ luư đồ While-do và For-do
2 Học sinh: vở ghi,sgk
III TIẾN TRÌNH LÊN LỚP:
1 ổn định lớp và kiểm tra bài cũ:
2 Bài giảng: dạy bài mới
Hđ1: GV hỏi HS em hiểu thế nào
là một bài toán có tính chất lặp?
Nêu ví dụ cụ thể trong cuộc sống
mà em thường gặp (Seagame,
World cup, bầu cữ… )
Hđ2: GV nêu VD bài toán lặp
tính tổng S các số nguyên dương
n và giảng giải
*ghi chú: Giá trị của biến đếm
được điều chỉnh tự độngvì vậy
câu lệnh viết sau do không được
thay đổi giá trị biến đếm
Hđ3:GV diễn giải từng câu lệnh
và chỉ rõ đâu là điều kiện, lệnh
lặp và chạy bằng tay từng ví dụ
Hđ4:GV diễn giải câu lệnh While
-do qua lưu đồ
Hđ5:hãy chỉ ra điều kiện của ví
dụ 1,2?
Câu lệnh dừng khi gặp điều kiện
Nào?
Hđ6:GV diễn giải từng câu lệnh
và chỉ rõ đâu là điều kiện, lệnh
lặp và chạy bằng tay từng ví dụ
*ghi chú:với câu lệnh While -do
có thể không thực hiện lần nào
nếu điều kiện nhập vào sai
*.Lặp:
xem bài toán 1và bài toán 2/sgk trang 42;
Cấu trúc lặp mô tả thao tác lặp và được phân biệtcó 2 loại
là lặp với số lần biết trước và lặp với số lần chưabiết trước
1 Lặp với số lần biết trước và câu lệnh FOR-DO
-Biến đếm là biến đơn thường có kiểu nguyên
-Giá trị đầu,giá trị cuốilà các biểu thức cùng kiểu với biếnđơn
-for, do, to,downto là các từ khoá
c Thực hiện:
*Dạng tiến :câu lệnh sau từ khoá do được thực hiện tuần
tự với biến đếm lần lượt nhận các giá trị liên tiếp tăng từ giá trị đầu đến giá trị cuối
*Dạng lùi:câu lệnh sau từ khoá do được thực hiện tuần tựvới biến đếm lần lượt nhận các giá trị liên tiếp giảm từ giá trị cuối đến giá trị đầu
d Vận dụng:
vídụ1:sgk/44vídụ2:sgk/44
2 Lặp với số lần chưabiết trước và câu lệnh While-do
a.Cú pháp:While <điều kiện> do <câu lệnh>;
trong đó : -Điều kiện là biểu thức logic;
-câu lệnh là một lệnh đơn haay ghép;
b.Thực hiện:
Đầu tiên vào kiểm tra điều kiện, nếu điều kiện đúng thì
thực hiện câu lệnh sau từ khoá Do sau đó quay lên kiểm
tra điều kiện, quá trình cứ lặp liên tiếp cho đến khi gặp điều kiện sai thì thoát khỏi vòng lặp while
c.Vận dụng: xem ví dụ 1và2 /SGK trang 46 & 47
IV.CỦNG CỐ VÀ DẶN DÒ:
• Với số lần lặp như thế nào thì ta dùng câu lệnh lặp While-do, For-do.?
Trang 23• Nêu cú pháp câu lệnh While-do, For-do? Cách thực hiện từng lệnh?
• So sánh câu lệnh While-do, For-do?
- Hiểu cấu trúc lặp và nhu cầu của cấu trúc lặp trong biểu diễn thuật toán
2 Kỹ năng : Học sinh vận dụng cấu trúc lặp và cấu trúc rẽ nhánh để viết thuật toán giải một số bài toán đơn giản
II Chuẩn bị của giáo viên và học sinh:
1 Giáo viên: Chuẩn bị sẵn hình minh họa cú pháp và sơ đồ cấu trúc của câu lệnh if-then
- Chuẩn bị máy tính và máy chiếu (nếu có)
2 Học sinh: Ôn lại kiến thức đã học
- Làm bài tập thực hành ở nhà
3 Thái độ : Có ý thức chấp hành kỷ luật phòng thực hành
III Tiến trình bài dạy :
Hoạt động 1: phân tích và giải toán bộ số
Pitago
1 Học sinh nêu hướng giải quyết của
bài toán?
2 Xác định input,output của bài toán?
3 Ý tưởng của bài toán?
4 Viết thuật toán cho bài toán?
- Giáo viên ghi bảng các bước
mà học sinh đưa ra và nhận xét
- Yêu cầu học sinh đọc và giải
thích từng câu lệnh trong CTC
- Học sinh gõ CTC trên máy
- Giáo viên hướng dẫn các thao
tác thực hiện trên CTC
- Nhấn F 2 để lưu chương trình
với tên Pitago.pas
- Vào Debug để xem giá trị
a2,b2,c2
- Học sinh kiểm tra kết quả trên
- Hướng dẫn học sinh cải tiến
• Học sinh giải thích, gặp khó khăn giáo
• viên có thể giải thích thêm
• Học sinh chạy thử và soát lỗi chương trình
• Kiểm tra chương trình và đối chiếu kết quả
• Học sinh phát biểu, hoc sinh khác nhậnxét và bổ sung
- Học sinh tự viết chương trình
- Kiểm tra chương trình
- Học sinh chạy thử và soát lchương
Trang 24Hoạt động 3:Hướng dẫn học sinh làm bài
7/74
- Học sinh phân tích đề bài và xác định
input,output?
Viết thuật tóan và đưa ra hướng giải quyết
- Hướng dẩn học sinh viết chương trình
- Quan sát và giải đáp các thắc mắc cho
học sinh
- Nhận xét và sửa bài làm cho học sinh
Hướng dẫn học sinh chạy thử và kiểm tra
chương trình
trìnhĐối chiếu - Kết quả
IV.Củng cố và luyện tập tại lớp:
Học sinh làm thêm bài: viết dạng chương trình chứa các câu lệnh if tính giá trị biểu thức
Tự giác, tính cực, chủ động trong giải quyết các bài tập
II Chuẩn bị của giáo viên và học sinh:
1 Chuẩn bị của giáo viên: Giáo án, hình ảnh minh họa và máy tính.
2 Chuẩn bị của học sinh: Đọc trước SGK.
III Tiến trình bài dạy :
Trang 251 Ổn định tình hình lớp: (1’)
2 Kiểm tra bài cũ: Không kiểm tra bài cũ.
3 Giảng bài mới:
* Hoạt động 1: Nhắc lại kiến thức đã học
về tổ chức rẽ nhánh và lặp.
GV: Yêu cầu học sinh nhắc lại cấu trúc rẽ
nhánh
GV: Yêu cầu học sinh viết câu lệnh rẽ
nhánh cho bài toán tìm giá trị lớn nhất của
2 số
HS: if a>b then write(a)
else write(b);
GV: Yêu cầu học sinh viết chương trình
hoàn chỉnh cho bài toán trên
GV: Nếu chuyển bài toán trên thành câu
lệnh rẽ nhánh dạng thiếu thì cần phải sửa
lại chương trình như thế nào?
GV: Yêu cầu học sinh nhắc lại những cấu
For <biến đếm>:= <giá trị cuối>
DownTo <giá trị đầu> Do <lệnh cần
lặp>;
Cấu trúc lặp While:
While <điều kiện> do <Câu lệnh>;
HS:Giống: Đều là lệnh lặp Khác: For lặp
với số lần đã biết trước, while lặp với số
if <điều kiện> then <câu lệnh>;
If <điều kiện> then <câu lệnh 1>else <câu lệnh 2>;
While <điều kiện> do <Câu lệnh>;
* Hoạt động 2: Rèn luyện kĩ năng vận
dụng tổ chức lặp:
GV: Có thể khai triển biểu thức Y thành
tổng của các số hạng như thế nào?
2 Các bài tập:
Bài 1: Viết chương trình tính giá trị biểu
Trang 26Hoạt động của giáo viên và học sinh Nội dung ghi bảng
- Nhìn vào công thức khai triển, cho biết N
lấy giá trị trong đoạn nào?
- Ta sử dụng cấu trúc điều khiển nào là phù
GV: Yêu cầu lớp chia thành 3 nhóm để
hoàn thành bài tập này
GV: Giải thích yêu cầu của bài toán:
- Bài toán này dùng vòng lặp For hay
while?
- Yêu cầu học sinh chia lớp thành 4 nhóm
để tiến hành viết chương trình trên
- Giáo viên gọi các học sinh lên ghi
chương trình chung của nhóm mình và đưa
For i:= 1 to 50 do Y:= Y + n/(n+1);
while not(u<2.0E-6)do begin
e:=e+u;n:=n*(n+1);u:=1/n;
end;
write('e(n)= ',e:8:2);
readlnend
- Kiểu mảng là một kiểu dữ liệu có cấu trúc
- Khái niệm mảng một chiều và hai chiều
- Mảng một chiều là một dãy hữu hạn các phần tử cùng kiểu
- Thuật toán tìm kiếm, sắp xếp cơ bản
2 Kỹ năng:
Trang 27- Nhận biết các thành phần của mảng.
- Cách khai báo mảng một chiều, mảng hai chiều
- Cách tham chiếu các phần tử của mảng
3 Thái độ:
II Chuẩn Bị Của Giáo Viên Và Học Sinh:
1 Giáo viên: SGK, giáo án, máy chiếu, máy tính
2 Học sinh:SGK,vở ghi
III Tiến Trình Bài Dạy:
GV: Hỏi hs các kiểu dữ liệu đã học
- HS: Trả lời các kiểu dữ liệu chuẩn đã học
- GV: Các ngôn ngữ lập trình thường cung
cấp một số kiểu dữ liệu được xây dựng từ
những kiểu dữ liệu chuẩn gọi là kiểu dữ
liệu có cấu trúc
Trong đó kiểu mảng là một trong những
kiểu dữ liệu có cấu trúc
Vậy như thế nào là mảng một chiều?
GV: Đưa ra khái niệm, và cách xây dựng
kiểu mảng
HS: Quan sát, lắng nghe và ghi chép
GV: Phân tích hai ví dụ trong SGK để HS
nhận thấy sự tiện lợi khi sử dụng mảng
Trong khi phân tích hai ví dụ và đặt câu
hỏi?
HS: Trả lời câu hỏi của GV, và đưa ra ý
kiến nhận xét về hai chương trình
GV: Đưa ra hai cách khái báo mảng một
chiều trong ngôn ngữ Pascal, giải thích ý
nghĩa của các từ khóa mới
Gv: Khai báo mảng bằng cách nào thì
thuận tiện hơn?
* Để xây dựng và sử dụng kiểu mảng một chiều cần xác định:
+Tên mảng một chiều +Số lượng phần tử +Cách khai báo biến mảng +Cách tham chiếu đến phần tử
- Cách 2: Khai báo gián tiếp biến mảng
qua kiểu mảng một chiều:
Type <tên kiểu mảng> = Array[kiểu chỉ số] of <kiểu phần tử>;
Var <tên biến mảng>: <tên kiểu mảng>;
Trong đó:
- Kiểu chỉ số là một đoạn số nguyên liên tục có dạng n1 n với n1,n2 là các hằng hoặccác biểu thức xác định chỉ số đầu và chỉ số cuối (n1<= n2)
- Kiểu phần tử là kiểu của các phần tử mảng
* Ví dụ: Các khai báo biến sau đây là hợp
lệ
- Khai báo biến mảng thông qua kiểu mảng:
Type Arrint=array[1 100] of integer;
A = array[1 n] of integer;