Giáo án Tin học 11 - Tiết 19: Bài tập thực hành 2

Giáo án Tin học 11 - Tiết 19: Bài tập thực hành 2

I. MỤC TIÊU

1. Kiến thức:

- Xây dựng chương trình có sử dụng cấu trúc rẽ nhánh

- Làm quen với việc hiệu chỉnh chương trình

 2. Kỹ năng:

- Thực hiện được các bài tập trong sách giáo khoa.

 3. Th¸i ®é

- Ham thích môn học, có tính kỉ luật cao và tinh thần làm việc theo nhóm

 4. Phát triển năng lực

Giúp học sinh khám phá, tự học, năng lực hợp tác trong thực hành, năng lực trình bày về vòng lặp For trong lập trình.

II. CHUẨN BỊ CỦA GV VÀ HS.

1. Chuẩn bị của GV: - Giáo án, phấn, bảng, phòng thực hành

 2. Chuẩn bị của HS: - Sách giáo khoa, vở ghi

III. HOẠT ĐỘNG DẠY HỌC

 1. Hoạt động khởi động

 Mục tiêu:

- Giúp học sinh huy động kiến thức và kĩ năng để tổng hợp các kiến thức về cấu trúc lặp trong lập trình.

- Giáo viên quan sát học sinh, hướng dẫn học sinh vận dụng những bài tập về vòng lặp For.

Tiến hành:

- Hướng dẫn về viết cấu trúc lặp trong Pascal.

- Giáo viên kết luận về hoạt động của học sinh và vào bài mới.

 

doc 100 trang Người đăng hoan89 Lượt xem 761Lượt tải 1 Download
Bạn đang xem 20 trang mẫu của tài liệu "Giáo án Tin học 11 - Tiết 19: Bài tập thực hành 2", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Lớp
Ngày dạy
Sĩ số
Học sinh vắng
B8
../../ 2019
.../
B9
../../ 2019
.../
	Tiết 19
BÀI TẬP THỰC HÀNH 2
I. MỤC TIÊU
1. Kiến thức:
- Xây dựng chương trình có sử dụng cấu trúc rẽ nhánh
- Làm quen với việc hiệu chỉnh chương trình
 2. Kỹ năng:
- Thực hiện được các bài tập trong sách giáo khoa.
 3. Th¸i ®é
- Ham thích môn học, có tính kỉ luật cao và tinh thần làm việc theo nhóm 
 4. Phát triển năng lực
Giúp học sinh khám phá, tự học, năng lực hợp tác trong thực hành, năng lực trình bày về vòng lặp For trong lập trình.
II. CHUẨN BỊ CỦA GV VÀ HS.
1. Chuẩn bị của GV: - Giáo án, phấn, bảng, phòng thực hành
 2. Chuẩn bị của HS: - Sách giáo khoa, vở ghi
III. HOẠT ĐỘNG DẠY HỌC
 1. Hoạt động khởi động
 Mục tiêu:
- Giúp học sinh huy động kiến thức và kĩ năng để tổng hợp các kiến thức về cấu trúc lặp trong lập trình.
- Giáo viên quan sát học sinh, hướng dẫn học sinh vận dụng những bài tập về vòng lặp For.
Tiến hành:
- Hướng dẫn về viết cấu trúc lặp trong Pascal.
- Giáo viên kết luận về hoạt động của học sinh và vào bài mới.
2. Bài mới:
Hoạt động của GV và HS
Nội dung chính
HĐ1.(40')Giáo viên nêu nội dung các bài tập có sử dụng cấu trúc rẽ nhánh 
GV: Nêu yêu cầu của bài:
Bài toán: Cho bộ ba số nguyên a, b, c được gọi là bộ số Pi-ta-go nếu tổng các bình phương của hai số bằng bình phương của số còn lại. Viết chương trình nhập từ bàn phím ba số nguyên a, b, c và kiểm tra xem chúng xem chúng có là bộ số Pi-ta-go không?
- ý tưởng: Kiểm tra đẳng thức sau đây có xảy ra hay không:
 a2 = b2 + c2
 b2 = a2 + c2
 c2 = a2 + b2
GV: Hướng dẫn học sinh thực hiện nhập chương trình, lưư chương trình với tên là PITAGO và thực hiện với các bộ số trong sách giáo khoa.
HS: Nhập chương trình
GV: Hướng dẫn học sinh cách lưu chương trình?
HS: Thực hiện theo hướng dẫn của GV
GV: Hướng dẫn hs nhấn phím F7 để thực hiện các câu lệnh.
HS: Thực hiện theo hướng dẫn của GV
GV: Yêu cầu hs về nhà tự làm các ý còn lại
I. NỘI DUNG:
Bài toán: Bộ số Pitago
a) Gõ chương trình kiểm tra bộ số Pi-ta-go
Program Pi_ta_go;
 Var a, b, c :Integer;
 a2, b2, c2: Longint;
 Begin
 Write(‘ 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=a2+b2) then
 Writeln(‘ Day la bo so Pi-ta-go’)
 Else Writeln(‘ Day khong phai bo so 
 Pi-ta-go’);
Readln 
 End.
b) Lưu chương trình với tên Pitago lên đĩa
Muốn lưu tên chương trình được thì sau khi gõ xong chương trình ta nhấn phím F2 hoặc chọn vào File-> Saves hiển thị hộp thoại ta gõ tên chương trình là:Pitago rồi chọn OK.
c) Nhấn phím F7 để thực hiện từng câu lệnh chương trình, nhập các giá trị
 a =3, b=4 , c=5.
d)Vào bảng chọn Debug để hiệu chỉnh các giá trị a2, b2, c2
 Muốn thực hiện được ta chọn vào Debug ở trên thanh bảng chọn
e)Nhấn phím F7 để thực hiện từng câu lệnh chương trình, nhập các giá trị
 a =9, b=16 , c=25.
3. Củng cố, luyện tập(3’)
- Nhắc nhở lại kiến thức cơ bản của bài học về cấu trúc rẽ nhánh, lăp, cấu trúc chương trình và các thành phần của chương trình.
Luyện tập:
 Hãy Nhấn phím F7 để thực hiện từng câu lệnh chương trình, nhập các giá trị
 a =6, b=15 , c=2.
4. Vận dụng mở rộng (2’)
- Về nhà học bài và làm tiếp các bài tập còn lại
Lớp
Ngày dạy
Sĩ số
Học sinh vắng
B8
../../ 2019
.../
B9
../../ 2019
.../
Tiết 20
BÀI TẬP THỰC HÀNH 2
I. MỤC TIÊU
1. Kiến thức:
- Xây dựng chương trình có sử dụng cấu trúc rẽ nhánh
- Làm quen với việc hiệu chỉnh chương trình
 2. Kỹ năng:
- Thực hiện được các bài tập trong sách giáo khoa.
 3. Th¸i ®é
- Ham thích môn học, có tính kỉ luật cao và tinh thần làm việc theo nhóm
 4. Phát triển năng lực
Giúp học sinh khám phá, tự học, năng lực hợp tác trong thực hành, năng lực trình bày về vòng lặp For trong lập trình.
II. CHUẨN BỊ CỦA GV VÀ HS.
1. Chuẩn bị của GV: - Giáo án, phấn, bảng, phòng thực hành
 2. Chuẩn bị của HS: - Sách giáo khoa, vở ghi
III. HOẠT ĐỘNG DẠY HỌC
 1. Hoạt động khởi động
 Mục tiêu:
- Giúp học sinh huy động kiến thức và kĩ năng để tổng hợp các kiến thức về cấu trúc lặp trong lập trình.
- Giáo viên quan sát học sinh, hướng dẫn học sinh vận dụng những bài tập về vòng lặp For.
Tiến hành:
- Hướng dẫn về viết cấu trúc lặp trong Pascal.
- Giáo viên kết luận về hoạt động của học sinh và vào bài mới.
2. Bài mới:
Hoạt động của GV và HS
Nội dung chính
HĐ2. (40') Giáo viên nêu nội dung bài tập có sử dụng cấu trúc rẽ nhánh 
GV: Yêu cầu hs làm bài tập 4a SGK-51
GV:Giáo viên hướng dẫn học sinh nhập chương trình
HS: Làm theo hướng dẫn của GV
GV:Với bài này có sử dụng các lệnh rẽ nhánh dạng thiếu được không?
HS: Trả lời ta không sử dụng được
GV: Nêu đầu bài SGK trang 51.
HS: Theo dõi và đọc yêu cầu của bài tập
GV: Gọi mộ hs trả lời với bài tập này cần khai báo những biến gì ?
HS: Trả lời 
GV:Ta dùng vòng lặp nào để thực hiện?
HS: Ta dùng vòng lặp For để thực hiện
GV:Nêu yêu cầu bài tập 5b SGK
 trang 51
HS: Theo dõi bài tập
GV:Nếu ta sử dụng vòng lặp While do thì bài toán thực hiện như thế nào?
HS: Trả lời câu hỏi
GV:Ta có cần một biến trung gian để tính các giai thừa của bài toán?
HS: Quan sát chương trình đã viết và trả lời
2. Thực hiện các bài tập trong sách giáo khoa
a) bài tập 4a:
Program baitap4a;
 Var x, y :Integer; z: Real;
 Begin
 Write(‘ Nhap vao so x: ’); Readln(x);
 Write(‘ Nhap vao so y: ’); Readln(y);
 If (x*x+y*y) <=1 then z:= x*x+y*y
 Else 
 If y>=x then z:=x+y
 Else z:=0.5;
 Writeln(‘Gia tri cua z la: ’,z:8:2);
 Readln;
 End.
b) Bài tập 5a
Program baitap5a;
 Var n :Integer;
 S :Real;
 Begin
 S:=0;
 For n:=1 to 50 do
 S:=S+n/(n+1);
 Writeln(‘Tong day so la: S= ’,S:8:2);
 Readln;
 End.
c) Bài tập 5b:
Program baitap5a;
 Var n, tg :Integer;
 S :Real;
 Begin
 S:=1; tg:=1; n:=0;
 While (1/tg>0.000002) do
 Begin 
 N:=n+1;
 Tg:=tg*n
 S:=S+1/tg;
 End;
 Writeln(‘Tong day so la: S= ’,S:8:2);
 Readln;
 End.
3. Củng cố , luyện tập (3’)
- Nhắc lại kiến thức cơ bản của bài học về cấu trúc rẽ nhánh, lăp, cấu trúc chương trình và các thành phần của chương trình.
4. Vận dụng mở rộng (2’)
- Về nhà học bài và làm bài tập ở nhà.
Lớp
Ngày dạy
Sĩ số
Học sinh vắng
B8
../../ 2019
.../
B9
../../ 2019
.../
 Chương IV: 	 DỮ LIỆU CÓ CẤU TRÚC
Tiết 21	KIỂU MẢNG
I. MỤC TIÊU
1. Kiến thức:
- Hiểu khái niệm mảng một chiều 
- Hiểu cách khai báo và truy cập đến phần tử của mảng một chiều
 2. Kỹ năng
- Cái đặt được thuật toán của một số bài toán đơn giản với kiểu dữ liệu mảng một chiều
 3. Thái độ
- Ham thích môn học, có tính kỉ luật cao và tinh thần làm việc theo nhóm 
 4. Phát triển năng lực
Giúp học sinh khám phá, tự học, năng lực hợp tác trong thực hành, năng lực trình bày về vòng lặp For trong lập trình.
II. CHUẨN BỊ CỦA GV VÀ HS.
1. Chuẩn bị của GV: - Giáo án, phấn, bảng, phòng thực hành
 2. Chuẩn bị của HS: - Sách giáo khoa, vở ghi
III. HOẠT ĐỘNG DẠY HỌC
 1. Hoạt động khởi động
 Mục tiêu:
- Giúp học sinh huy động kiến thức và kĩ năng để tổng hợp các kiến thức về mảng trong lập trình.
- Giáo viên quan sát học sinh, hướng dẫn học sinh vận dụng những bài tập về mảng.
Tiến hành:
- Hướng dẫn viết về cấu trúc mảng trong Pascal.
- Giáo viên kết luận về hoạt động của học sinh và vào bài mới.
2. Bài mới:
Hoạt động của GV và HS
Nội dung chính
HĐ1: Học sinh hiểu khái niệm mảng một chiều và cách khai báo mảng một chiều
Hình thức: Cả lớp
Thời gian: 40’
Bước 1: Giáo viênhướng dẫn bài toán đặt vấn đề
- Yêu cầu học sinh xác định bài toán
- GV Chạy chương trình trên màn hình và giải thích
- Nếu muốn tính nhiÖt ®é trung b×nh cña N ngµy trong n¨m (VD: N=365) th× sÏ gÆp khã kh¨n g× ?
- Thế nào là mảng 1 chiều?
- Có mấy cách khai báo mảng 1 chiều?
Ví dụ
A
Trong đó: 
- Tên mảng là A
- Số phần tử là 7
- Kiểu dữ liệu của các phần tử : là kiểu nguyên
- Khi tham chiếu tới phần tử thứ i ta viết A[i].
Ví dụ: A[5] = 19.
- Lấy ví dụ cách khai báo mảng:
+) Khai báo trực tiếp
 VD1: Var nhietdo : array[1..365] of integer;
VD2: Var B : array[1..100] of real;
+) Khai báo gián tiếp
TYPE nhietdo = array[1..365] of integer;
 Var A: nhietdo; 
- Vậy quay trở lại với bài toán tính nhiệt độ trên. Khi cần tính nhiệt độ của N ngày chúng ta sử dụng kiểu mảng 1 chiều.
- Chiếu chương trình và giải thích
Bước 2: Học sinh hoạt động và trả lời
Bước 3: Giáo viên bổ xung và chuẩn kiên thức
1. Kiểu mảng một chiều
Bài toán đặt vấn đề: Xét bài toán nhập vào nhiệt độ (trung bình) của mỗi ngày trong tuần, tính và đưa ra màn hình nhiệt độ trung bình của tuần và số lượng ngày trong tuần có nhiệt độ cao hơn nhiệt độ trung bình của tuần.
*) Xác định bài toán
Dữ liệu đã biết(Input): t1,t2,t3,t4,t5,t6,t7
Dữ liệu cần tính và in ra(Output) : tb, dem
=> Mảng một chiều là dãy hữu hạn các phần tử cùng kiểu.
- Mảng được đặt tên và mỗi phần tử của nó có một chỉ số. Để mô tả mảng một chiều cần xác định kiểu của các phần tử và cách đánh số các phần tử của mảng
- Để có thể lập trình và sử dụng kiểu mảng một chiều các ngôn ngữ lập trình có quy tắc và cách thức cho phép xác định.
 + Tên kiểu mảng một chiều;
 + Số lượng các phần tử;
 + Kiểu dữ liệu của phần tử;
 + Cách khai báo biến mảng mảng;
 + Cách tham chiếu đến phần tử;
a) Khai báo
Cách khai báo mảng một chiều có dạng:
Cách 1: Khai báo trực tiếp biến mảng một chiều
Var :array[kiểu chỉ số] of 
 ;
- Cách 2: Khai báo gián tiếp biến mảng qua mảng một chiều;
Type =array[kiểu chỉ số] of ;
Var :;
Trong đó:
- Kiểu chỉ số thường là một đoạn số nguyên liên tục có dạng n1..n2 là các hằng biểu thức nguyên 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
*) Tham chiếu tới phần tử của mảng một chiều được xác định bởi tên mảng cùng với chỉ số, được viết trong cặp ngoặc [và].
VD: Tham chiếu tới phần tử thứ 3 của mảng A ta viết A[3]
Chương trình giải bài toán tổng quát với N ngày được viết như sau:
3. Củng cố, luyện tập (3’)
+) Củng cố
- Nhắc nhở lại kiến thức cơ bản của bài học về khai báo mảng một chiều
 +) Luyện tập
Câu 1: Cách khai báo mảng 1 chiều nào sau đây là đúng?
Var :array[kiểu chỉ số] of ;
Var :array[kiểu chỉ số] of ;
Var :array[kiểu chỉ số] of ;
Var =array[kiểu chỉ số] of ;
Câu 2: Cách khai báo nào sau đây là đúng?
Var A: Array[1..100] of Integer:
Var A: Array[1..100] of Integer;
Var A: Array[1...100] of Integer:
Var A=Array[1..100] of Integer:
 Câu 3: Cho mảng A gồm những phần tử sau cách tham chiếu nào sau đây là đúng?
B
14
17
12
19
20
1
2
3
4
5
A. B[5] = 12	B. B[5] = 19 	C. B[5] = 20	D. B[5] = 17
4. Vận dụng mở rộng (2’)
- Về nhà học bài và làm bài tập ở nhà.
- Xem tiếp các một số ví dụ
Lớp
Ngày dạy
Sĩ số
Học sinh vắng
B8
../../ 2019
.../
B9
../../ 2019
.../
Tiết 22	 KIỂU MẢNG
I. MỤC TIÊU
 1. Kiến thức:
- Hiểu cách khai báo và truy cập đến phần tử của mảng
 2. Kỹ năng
- Cài đặt được thuật toán của một số bài toán đơn giản với kiểu dữ liệu mảng một chiều
- Thực hiện được khai báo mảng, truy cập, tính toán các phần tử của mảng
 3. Thái độ
 - Ham t ... , xâu
Tiến hành:
GV nêu nội dung của bài và yêu cầu hs nêu ý tưởng của bài
GV: Kết luận, vào bài, giới thiệu nội dung bài học.
2. Bài mới
Hoạt động của GV và HS
Nội dung chính
HD1: (15’) Ôn lại dữ liệu có cấu trúc
a) Mảng một chiều
GV: Có mấy cách khai báo kiểu mảng một chiều
HS: Trả lời
b) Kiểu xâu
GV: Cách khai báo kiểu xâu?
HS: Trả lời
HĐ2: (25’) Hướng dẫn học sinh ôn tập theo đề cương
1. Dữ liệu có cấu trúc
*) Ôn lại kiến thức cơ bản:
Cách khai báo mảng một chiều có dạng:
- Cách 1: Khai báo trực tiệp biến mảng một chiều
Var :array[kiểu chỉ số] of 
 ;
- Cách 2: Khai báo gián tiếp biến mảng qua mảng một chiều;
Type =array[kiểu chỉ số] of 
 ;
Var :;
*) Xâu: là dãy các kí tự trong bộ mã ASSCI.
- Mỗi kí tự là một phần tử của xâu
- Sô lượng các kí tự trong xâu được gọi là độ dài của xâu
- Xâu có độ dài bằng 0 gọi là xâu rỗng
- Để khai báo kiểu dữ liệu xâu ta sử dụng tên dành riêng String, tiếp theo là độ dài lớn nhất của xâu được ghi trong cặp ngoặc [và]
- Biến kiểu xâu khai báo như sau:
Var : String[độ dài lớn nhất của xâu];
*) Hướng dẫn làm các các câu hỏi, bài tập trong đề cương.
3. Củng cố luyện tập: (3’)
- Nhắc nhở lại kiến thức cơ bản của bài học về các kiến thưc về dữ liệu có cấy trúc, chương trình con.
 4. Vận dụng mở rộng: (2’)
Bài tập: 
- Về nhà học bài và làm bài tập ở nhà.
Lớp
Ngày dạy
Sĩ số
Học sinh vắng
B8
../../ 2019
.../
B9
../../ 2019
.../
Tiết 51:
ÔN TẬP HỌC KÌ II
1. MỤC TIÊU
1. Kiến thức:
- Biết các bước làm việc với tệp
- Biết cấu trúc thủ tục, hàm , tham số hình thức,biết mối liên hệ giữa chương trình và hàm,biết gọi một hàm
 2. Kỹ năng
- Khai báo đúng tệp văn bản, sử đụng được một số hàm và thủ tục làm việc với tệp
- Nhận biết được các thành phần trong phần đầu của thủ tục và hàm
- Sử dụng được lời gọi thủ tục
3. Thái độ
- Ham thích môn học, có tính kỉ luật cao và tinh thần làm việc theo nhóm 
4. Phát triển năng lực
- Năng lực chung: Giải quyết vấn đề; giao tiếp; khám phá, tự học, năng lực hợp tác trong học tập, năng lực trình bày vấn đề trước tập thể. 
II. CHUẨN BỊ CỦA GV VÀ HS
1. Chuẩn bị của GV: - Giáo án, phấn, bảng
2. Chuẩn bị của HS: - Sách giáo khoa, vở ghi.
III. TỔ CHỨC HOẠT ĐỘNG DẠY VÀ HỌC
1. Hoạt động khởi động
Mục tiêu:
- Giúp học sinh huy động vốn kiến thức và kĩ năng để tổng hợp kiến thức đã học; tạo hứng thú để bước vào giờ bài tập.
- Giúp giáo viên tìm hiểu xem học sinh có hiểu và biết cách vận dụng những kiến thức đã học, cách lập trình những bài tập về tệp, chương trình con
Tiến hành:
GV nêu nội dung của bài và yêu cầu hs nêu ý tưởng của bài
GV: Kết luận, vào bài, giới thiệu nội dung bài học.
2. Bài mới
Hoạt động của GV và HS
Nội dung chính
HĐ1: (20’)Nhắc lại kiến thức cơ bản về tệp
GV: Cách khai báo tệp
GV: Các thao tác với tệp?
- Một số hàm thường dung khi đọc/ ghi tệp
HĐ2: (20’) Nhắc lại các kiến thức về chương trình con
GV: Lợi ích của chương trình con?
Hàm là gì?
Thủ tục là gì?
1. Khai báo:
- Để làm việc với dữ liệu tệp ta phải sử dụng biến tệp.
+ Khai báo biến tệp có dạng:
Var : Text;
VD: Var Tep1, Tep2: Text
2. Thao tác:
- Gắn tệp
Assign(,);
- Mở tệp
+ Câu lệnh dùng thủ tục mở tệp
VD
Assign(Tep2,C\Data.txt);
Rewrite();
*) Trước khi đọc dữ liệu của tệp, ta mở tệp bằng thủ tục Reset();
VD:
Assign(Tep2,C\Data.txt);
Reset(Tep2);
- Đọc/ghi tệp văn bản
Việc đọc dữ liệu được thực hiện giống như nhập từ bàn phím
*) Các thủ tục đọc dữ liệu:
Read(,)
Hoặc
Readln(,)
*) Các câu lệnh dùng thủ tục ghi có dạng:
Write(,);
Hoặc
Writeln(,);
*) Một số hàm thường dùng trong khi đọc/ghi dữ liệu
- Hàm Eof() Trả về True nếu con trỏ tệp chỉ tới cuối tệp
- Hàm Eoln() Trả về giá trị True nếu con trỏ chỉ về cuối dòng
d) Đóng tệp
Để đóng tệp ta dùng thủ tục:
Close();
*) Chương trình con là một dãy lệnh mô tả một số thao tác nhất định và có thể thực hiện (được gọi) từ nhiều vị trí trọng chương trình.
*) Lợi ích của việc sử dụng chương trình con
- Tránh được việc phải viết lặp lại cùng một dãy lệnh 
- Hỗ trợ việc thực hiện chương trình lớn
- Phục vụ cho quá trình trừu tượng hoá
- Mở rộng khả năng ngôn ngữ
- Thuận lợi cho việc phát triển, nâng cấp chương trình.
- Hàm (Function): Là chương trình thực hiện một số thao tác nào đó và trả về một giá trị qua tên của nó
- Thủ tục (Procedere): Là chương trình thực hiện các thao tác nhất định nhưng không trả về giá trị nào qua tên của nó.
Chương trình con có cấu trúc như sau:
 []
3. Củng cố luyện tập: (3’)
- Nhắc nhở lại kiến thức cơ bản của bài học về các kiến thưc về dữ liệu có cấy trúc, chương trình con.
4. Vận dụng mở rộng: (2’)
- Về nhà học bài và làm bài tập ở nhà.
Lớp
Ngày dạy
Sĩ số
Học sinh vắng
B8
../../ 2019
.../
B9
../../ 2019
.../
Tiết 53:
TRẢ BÀI KIỂM TRA
I. MỤC TIÊU
1. Kiến thức.
- Đánh giá lại kiến thức về kiểu dữ liệu có cấu trúc
- Tệp và thao tác với tệp
2. Kĩ năng.
-Biết viết một số chương trình đơn giản về kiểu mảng và kiểu xâu
3. Thái độ
- Ham thích môn học, có tính kỉ luật cao và tinh thần làm việc theo nhóm
4. Phát triển năng lực
- Năng lực chung: Giải quyết vấn đề; giao tiếp; khám phá, tự học, năng lực hợp tác trong học tập, năng lực trình bày vấn đề trước tập thể.
II. CHUẨN BỊ CỦA THẦY VÀ TRÒ
 1. Chuẩn bị của thầy: - Giáo án, SGK
 b. Chuẩn bị của trò: - SGK, Vở ghi
III. TIẾN TRÌNH BÀI DẠY
1. Hoạt động khởi động
Mục tiêu:
- Giúp học sinh huy động vốn kiến thức và kĩ năng để tổng hợp kiến thức đã học; tạo hứng thú để bước vào giờ bài tập.
- Giúp giáo viên tìm hiểu xem học sinh có hiểu và biết cách vận dụng những kiến thức đã học, chữa bài kiểm tra học ki II
Tiến hành:
GV nêu nội dung của bài và yêu cầu hs nêu ý tưởng của bài
GV: Kết luận, vào bài, giới thiệu nội dung bài học.
2. Bài mới
Hoạt động của GV và HS
Nội dung chính
HĐ1: (30’) Nhắc lại các kiến thức trong bài kiểm tra
GV: Yêu cầu hs nhắc lại cách khai báo mảng một chiều, cách tham chiếu?
- Cách khai báo xâu và cách sử dụng các thủ tục và hàm?
- Cách khai báo tệp và các thao tác với tệp?
HS: Kiểm tra lại các đáp án trong đề
GV: - Yêu cầu hs khai báo tên chương trình và các biến dùng trong bài?
- Viết câu lệnh nhập vào dãy số
- Duyệt các phần tử của mảng
- Tìm các số là bội của K
 HS: Thực hiện
HĐ2: (7’) 
GV: Yêu cầu hs viết cách khai báo tên chương trình, tên tệp và gắn tên tệp?
- Duyệt các phần tử trong tệp
Kiểm tra số chẵn, đếm và viết số chẵn
- HS: Thực hiện
HĐ3: 3’ Nhận xét lại bài thi của hs
I.Lý thuyết:
1/ Trắc nghiệm khách quan
Câu
Mã 101
Mã 102
01
D
C
02
B
C
03
C
B
04
A
D
05
A
B
06
D
A
07
A
D
08
D
A
09
A
B
10
D
C
11
C
C
12
C
C
2/ Tự luận
Bài 1: Nhập N và dãy a1,a2,..,aN và số nguyên k. Hãy đếm và tính tổng các số là bội của k.
Program De1_Bai1;
 Var A:Array[1..100] of Integer;
 d,s,N,i,k: Integer;
 Begin
 Write('Nhap so phan tu: '); Readln(N);
 For i:=1 to N do
 Begin
 Write('A[',i,']='); Readln(A[i]);
 End;
 Write('Nhap K='); Readln(K);
 d:=0; s:=0;
 Write('Cac so la boi cua ',k,' la: ');
 For i:=1 to n do
 If A[i] mod k =0 then
 Begin
 d:=d+1; S:=S+A[i];
 End;
 Writeln(d);
 Writeln('Tong cac so chia het cho K la: ',s);
 Readln;
 End.
Bài 2: Cho tệp Dulieu.txt chứa các số nguyên. Hãy đếm và viết các số chẵn trong tệp ra màn hình.
Program De1_Bai2;
 Var f:Text; d,x: Integer;
 Begin
 Assign(f,'c:\Dulieu.txt'); Reset(f);
 d:=0;
 Write('Cac so chan trong tep la: ');
 While not Eof(f) do
 Begin
 Read(f,x);
 If x mod 2 =0 then
 Begin
 d:=d+1; Write(x,' ');
 End;
 End;
 Writeln;Write('So luong so chan la: ',d);
 Close(f); Readln;
 End.
Bài 3: Nhập vào một xõu. Hãy đếm và viết ngược lại các kí tự số trong xâu.
Program De2_Bai1;
 Var S:String;
 d,i: Integer;
 Begin
 Write('Nhap Xau: '); Readln(s);
 d:=0;
 For i:=1 to length(s) do
 If (s[i]>='0') and(s[i]<='9') then
 d:=d+1;
 Writeln('So luong chu so trong xau la: ',d);
 Readln;
 End.
II. Phần thực hành
 Cho dãy số nguyên dương N(N<=250) và dãy số A gồm N số nguyên A1, A2, .,An
Hãy sắp xếp dãy số theo chiều tăng dần?
*)Nhận xét bài thi của hs còn những thiếu sót:
- Chưa nắm chắc được cách khai báo mảng một chiều
- Khi viết chương trình thì cấu trúc câu lệnh chưa viết đúng
- Một số hs chưa sắp xếp được dãy số
3. Củng cố, luyện tập: (3’)
 - Nhắc lại kiến thức trọng tâm của mảng một chiều, kiểu xâu, kiểu dữ liệu tệp
4. Vận dụng mở rộng(2’) 
 - HS về nhà xem lại kiến thức: 
Kiểu dữ liệu mảng một chiều
Kiểu xâu
Kiểu tệp
Chương trình con và phân loại chương trình con
Tiết 53:
TRẢ BÀI KIỂM TRA
1. Mục tiêu:
a. Kiến thức.
- Đánh giá lại các kiến thức về CSDL, bào mật CSDL
 b. Kĩ năng.
- Biết được một số cách bảo mật CSDL 
2. Chuẩn bị của thầy và trò
 a. Chuẩn bị của thầy: Giáo án, SGK
 b. Chuẩn bị của trò: SGK, Vở ghi
3. Hoạt động dạy học:
 a. Kiểm tra bài cũ: Không
 b. Bài mới.
Hoạt động của GV và HS
Nội dung chính
I. Phần lí thuyết
HĐ1: 20’ Nhắc lại các kiến thức trong bài kiểm tra
GV: Cơ sở dữ liệu là gì?
HS: Trả lời
GV: Một CSDL qua hệ có những đắc trưng nào?
HS: Có 4 đặc trưng
HS: Trả lời 4 đặc trưng
GV: Tiêu chí nào chọn khóa chính?
HS: Chọn khóa chính là chọn trường nào mà để phân biệt các bản ghi
GV: Bảo mật thông tin là gì?
HS: Trả lời
GV: Có những giải pháp nào để bảo mật thông tin?
HS: Có 4 giải pháp: Chính sách và ý thức, mã hóa thông tin, lưu biên bản, Phân quyền truy cập
GV: Cách mã hóa dịch chuyển kí tự như thế nào?
HS: Trả lời
HĐ2: 15’ Thực hiện mã hóa và nén dữ liệu
Đánh giá lại bài kiểm tra
II. Phần thực hành
Câu 1:
* Khái niệm: Mảng một chiều là dãy các phần tử cùng kiểu. Mảng được đặt tên và mỗi phần tử của nó có một chỉ số. 
*) Khai báo:
Khai báo trực tiếp biến mảng một chiều:
Var : Array[ kiểu chỉ số] of ;
Khai báo gián tiếp biến mảng một chiều:
Type = Array[kiểu chỉ số] of ;
Var : ;
Trong đó: 
+ Kiểu chỉ số thường là một đoạn số nguyên liên tục có dạng n1...n2 (n1<n2) (n1,n2 là các hằng hoặc biểu thức)
+ Kiểu phần tử là kiểu dữ liệu của các phần tử của mảng.
Câu 2: Chương trình tính tổng số lẻ:
Program Tong_so_le;
Var i,n,s: Integer;
 A:Array[1..50] of Integer;
 Begin
 Write('Nhap N:'); Readln(N);
 For i:=1 to n do
 Begin
 Write('Nhap phan tu thu ',i,': ');
 Readln(A[i]);
 End;
 S:=0;
 For i:=1 to n do
 if A[i] mod 2 0 then S:=S+A[i];
 Writeln('Tong so le la: ',s);
 Readln;
 End. 
Câu 3: Chuyển xâu in hoa
Program Inhoa;
Var i,n: Integer;
 S:String;
 Begin
 Write('Nhap Xau:'); Readln(s);
 n:=length(s);
 For i:=1 to n do
 S[i]:=Upcase(S[i]);
 Writeln('Xau da chuyen doi la: ',s);
 Readln;
 End.
Câu 4:
Thủ tục
Hàm
- Là một chương trình con thực hiện các thao tác nhất định.
- Là một chương trình con thực hiện một số thao tác nào đó
- Thủ tục không trả về giá trị nào qua tên của nó.
- Hàm trả về một giá trị qua tên của nó
c. Củng cố, luyện tập: 3’
 Nhắc lại kiến thức cơ bản của CSDL, bảo mật thông tin
d. Hướng dẫn hs tự học ở nhà: 2’
 - HS về nhà xem lại các kiến thức về CSDL, bảo mật thông tin và cách mã hóa dữ liệu 

Tài liệu đính kèm:

  • docgiao_an_tin_hoc_11_tiet_19_bai_tap_thuc_hanh_2.doc