Bài giảng Môn Tin học lớp 11 - Tuần 2 - Tiết 1 - Bài 1: Khái niệm lập trình và ngôn ngữ lập trình

2. Tìm hiểu chương trình tìm chỉ số và giá trị lớn nhất.

- Chiếu chương trình ví dụ sách giáo khoa trang 64.

- Hỏi: vai trò của biến j trong chương trình.

- Hỏi: Nếu muốn tìm phần tử nhỏ nhất, cần sửa ở chỗ nào?

- Hỏi: Nếu muốn tìm phần tử lớn nhất ta sửa ở chỗ nào?

 

doc131 trang | Chia sẻ: rimokato | Lượt xem: 1732 | Lượt tải: 1download
Bạn đang xem trước 20 trang mẫu tài liệu Bài giảng Môn Tin học lớp 11 - Tuần 2 - Tiết 1 - Bài 1: Khái niệm lập trình và ngôn ngữ lập trình, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
 hỡnh
GV: Đưa ra cỏch nhập mảng và đưa mảng ra màn hỡnh.
GV: Viết chương trỡnh nhập mảng và đưa mảng ra màn hỡnh. Giải thớch ý nghĩa cõu lệnh.
HS: Nghe giảng, ghi bài.
Hoạt động 2: Tỡm hiểu cỏch tớnh phần tử lớn nhất của dóy số nguyờn (max)
Cõu hỏi: Yờu cầu của bài toỏn?
HS: Đọc vd sgk và trả lời cõu hỏi:
 Gồm 3 yờu cầu:
 + Nhập dóy số nguyờn.
 + Tỡm Max của dóy số nguyờn.
 + Đưa ra được giỏ trị của max và chỉ số của phần tử max.
GV: Nhận xột và kết luận
GV: Nhắc lại thuật toỏn tỡm giỏ trị lớn nhất của dóy số.
HS: Ghi giảng, ghi bài.
GV: Yờu cầu HS viết phần khai bỏo cho chương trỡnh.
GV: Nhận xột, đưa ra chương trỡnh giải bài toỏn trờn ( Chiếu lờn màn hỡnh mụ tả chương trỡnh và giải thớch ý nghĩa cõu lệnh).
HS: Quan sỏt, nghe giảng, ghi bài.
lệnh).
HS: Quan sỏt, nghe giảng, ghi bài.
b. Một số vớ dụ
Vớ dụ 1: 
Input: Số nguyờn N(N250) và dóy N số nguyờn dương A1,A2,…,An, ,mỗi số đều khụng vượt quỏ 500.
Output: Chỉ số và giỏ trị của phần tử lớn nhất trong dóy số đó cho.
Thuật toỏn:
Bước 1: Nhập N và dóy A1,A2,…,An;
Bước 2: Max A1, i2;
Bước 3: Nếu i >N thỡ đưa ra max rồi kết thỳc;
Bước 4: 
 +) Nếu Ai> Max: MaxAi;
 +) ii+1 quay lại bước 3;
Chương trỡnh
Program timmax;
Uses crt;
Const nmax=250;
Type Arrint=array[1..nmax]of integer;
Var n,I,max,csmax:integer;
 A:arrint;
Begin
 Clrscr;
 Write(‘nhap so luong ptu n=’);readln(n);
For i:=1 to n do
Begin
Write(‘ptu thu’,I,’=’);
Readln(A[i]);
End;
Max:=A[1]; csmax:=1;
For i:=2 to n do
If A[i]>max then
Begin
 Max:=A[i]; csmax:=I;
End;
Write(‘gia tri max=’,max);
Write(chi so ptu max=’,csmax);
Readln
End.
4. Củng cố
- Cỏch nhập mảng, đưa mảng ra màn hỡnh.
- Cỏch tỡm max
5. Hướng dẫn học sinh về ở nhà
- Học thuộc khỏi niệm mảng một chiều và cỏch khai bỏo biến mảng một chiều.
- Bài tập về nhà (sgk)
- Xem trước vớ dụ 2 trong sgk để chuẩn bị cho tiết học sau.
Ngày 07 thỏng 01 năm 2014
Ký duyệt của Tổ trưởng
 Lờ Anh Chung
Tuần dạy: 22	Ngày soạn : 13/01/2014
Tiết PPCT : 22	Ngày dạy : 14/01/2014
Đ11. KIỂU MẢNG 
I. MỤC ĐÍCH, YấU CẦU
1. Về kiến thức: 
- Nắm được khỏi niệm mảng 1 chiều.
- Nắm được quy tắc mà NNLT xõy dựng và sử dụng mảng một chiều.
-Viết được chương trỡnh sắp xếp dóy số nguyờn bằng thuật toỏn trỏo đổi
2. Kỹ năng
- Nhận biết được cỏc thành phần trong khai bỏo kiểu mảng một chiều.
- Nhận biết được định danh của một phần tử kiểu mảng một chiều xuất hiện trong một chương trỡnh.
- Biết cỏch khai bỏo mảng đơn giản và chỉ số kiểu miền con của kiểu nguyờn.
3. Thỏi độ
- Cú tư duy đỳng đắn trong việc ỏp dụng mảng 1 chiều để giải cỏc bài toỏn đơn giản.
II. PHƯƠNG PHÁP, PHƯƠNG TIỆN DẠY HỌC
1. Phương phỏp:
- Lấy học sinh làm trung tõm.
- Nờu cõu hỏi gợi mở, diễn giảng, một số phương phỏp khỏc.
2. Phương tiện:
GV: SGK, SGV, giỏo ỏn, mỏy tớnh, mỏy chiếu.
HS: SGK, vở ghi, đọc trước bài ở nhà.
III. TIẾN TRèNH LấN LỚP, NỘI DUNG BÀI GIẢNG
1. Ổn định lớp
2. Kiểm tra bài cũ:
Cõu hỏi: Viết chương trỡnh tỡm giỏ trị lớn nhất của dóy số nguyờn cho trước?
3. Nội dung bài giảng:
Hoạt động của HS và GV
Nội dung
Tỡm hiểu cỏch sắp xếp số nguyờn bằng thuật toỏn trỏo đổi.
Cõu hỏi: Yờu cầu của bài toỏn?
HS: Đọc bài toỏn và trả lời:
Gồm 3 yờu cầu:
 + Nhập dóy số nguyờn.
 + Sắp xếp dóy khụng giảm.
 + Đưa dóy ra màn hỡnh.
GV: Nhắc lại thuật toỏn sắp xếp bằng trỏo đổi.
HS: Nghe giảng, ghi bài.
GV: Yờu cầu HS viết phần khai bỏo.
HS: Lờn bảng viết.
GV: Nhận xột, đưa ra chương trỡnh giải bài toỏn trờn ( Chiếu lờn màn hỡnh mụ tả chương trỡnh và giải thớch ý nghĩa cõu lệnh).
HS: Quan sỏt, nghe giảng, ghi bài.
b. Một số vớ dụ
Vớ dụ 2: Sắp xếp dóy số nguyờn bằng thuật toỏn trỏo đổi.
Input: Số nguyờn dươn N (N 250) và dóy A gồm N số nguyờn dương A1,A2,…,An, ,mỗi số đều khụng vượt quỏ 500.
Output: Dóy số A đó được sắp xếp thành dóy khụng giảm. 
Thuật toỏn:
B1: Nhập N, cỏc số hạng a1,a2,…,an;
B2: MN;
B3: Nếu M<2 thỡ đưa dóy A đó được sắp xếp rồi kết thỳc;
B4: MM-1,i0;
B5: ii+1;
B6: Nếu i> M thỡ quay lại B3;
B7: Nếu ai> ai+1 thỡ trỏo đổi ai và ai+1 cho nhau
B8: Quay lại B5.
Chương trỡnh 
Program sapxep;
Uses crt;
Const nmax=250;
Type Arrint=array[1..nmax]of integer;
Var n,I,j,t:integer;
 A:arrint;
Begin
 Clrscr;
 Write(‘nhap so luong ptu n=’);readln(n);
For i:=1 to n do
Begin
Write(‘ptu thu’,I,’=’);
Readln(A[i]);
End;
For j:=n downto 2 do
For i:=2 to j-1 do
If A[i]>A[i+1] then
Begin
 T:=A[i]; A[i]:=A[i+1];A[i+1]:=t;
End;
Write(‘day so duoc sap xep la:’);
For i:=1 to n do
Write(A[i]:4);
Readln
End.
4. Củng cố
- Cỏch nhập mảng, đưa mảng ra màn hỡnh.
- Sắp xếp dóy số nguyờn.
5. Hướng dẫn học sinh về ở nhà
- Học thuộc khỏi niệm mảng một chiều và cỏch khai bỏo biến mảng một chiều.
- Bài tập về nhà (sgk)
	Tuần dạy: 22	Ngày soạn : 12/01/2014
Tiết PPCT : 23	Ngày dạy : 16/01/2014
BÀI TẬP
I. MỤC TIấU
1. Kiến thức: 
- Khai bỏo kiểu, biến mảng một chiều, cỏch tham chiếu dến cỏc p/tử trong mảng. 
	- Củng cố và làm hs hiểu sõu hơn thuật toỏn sắp xếp đó được học ở lớp 10. 
2. Kĩ năng: Hs sử dụng được biến kiểu mảng một chiều để giải quyết một bài toỏn đơn giản.
II. PHƯƠNG TIỆN DẠY HỌC
1. Giỏo viờn: giỏo ỏn, bảng phụ, sgk
2. Học sinh: sgk
IV. HOẠT ĐỘNG DẠY HỌC
Hoạt động 1: Kiểm tra bài cũ: 
Gọi 2 Hs lờn bảng trỡnh bày bài tập cho về nhà tiết trước.
2. Hoạt động 2: Phõn tớch bài toỏn trước khi viết chương trỡnh
a. Nội dung: Sắp xếp dóy số nguyờn bằng thuật toỏn trỏo đổi.
b. Cỏc bước tiến hành:
Hoạt động của Giỏo viờn và Học sinh
Nội Dung
1. Nờu bài toỏn, y/cầu hs xỏc định In/Output của bài toỏn.
TL : 
In: N (NÊ250), dóy A (A[i]<500).
Out: dóy A khụng giảm
2. Y/cầu hs trỡnh bày lại thuật toỏn sắp xếp trỏo đổi. (Đó học ở lớp 10)
3. Y/cầu cả lớp n/cứu lại t/toỏn và trả lời cỏc cõu hỏi:
- Biến j sẽ nhận cỏc giỏ trị trong phạm vi nào? Tương tự với biến i? 
- Cú nhận xột gỡ về 2 biến i,j? 
Trả lời: 
+ 2 Ê j Ê N, 1 Ê i Ê j-1
+ i phụ thuộc theo j
(với mỗi giỏ trị j, i lần lượt nhận cỏc giỏ trị từ 1 đến j-1)
Số nguyờn dương N (NÊ250) và dóy A gồm N số nguyờn dương, mỗi số đều khụng vượt quỏ 500. Hóy sắp xếp dóy A thành dóy khụng giảm.: 
In: N (NÊ250), dóy A (A[i]<500).
Out: dóy A khụng giảm
2.Thuật toỏn
B1: Nhập N, dóy A ;
B2: j!N;
B3: nếu j<2 thỡ đưa ra dóy đó được sắp xếp, KT;
B4: j!j-1; i!1;
B5: Nếu i>j thỡ Qlại B3;
B6: Nếu A[i]>A[i+1] thỡ trỏo đổi A[i] và A[i+1];
B7: Quay lại B5. 
3. Hoạt động 3: Vận dụng kiểu dữ liệu mảng một chiều để mụ tả t/toỏn trờn trong Pascal
Hđ của GV
Nd ghi bảng
1. Y/cầu hs xỏc định những nội dung chớnh cần viết trong chtrỡnh.
HD: +Khai bỏo biến
+Tạo mảng A
+Sắp xếp mảng A tăng dần
+Đưa mảng A đó sắp xếp ra màn hỡnh
* Chốt lại cỏc nội dung chớnh cần viết.
2. Yờu cầu từng hs lờn bảng viết từng nội dung của chương trỡnh.
- Khai bỏo những biến gỡ?
-TL: mảng A, biến đơn N, i, j
- Tạo mảng là làm những gỡ?
-TL: Nhập sl p/tử của mảng và nhập giỏ trị cho cỏc p/tử trong mảng
- Sắp xếp mảng
Hỏi: Làm thế nào để trỏo đổi giỏ trị 2 biến cho nhau (a[i] và a[i+1])?
Tl: sử dụng thờm biến trung gian t:
t:=a[i];
a[i]:=a[i+1];
a[i+1] :=t
- Đưa mảng ra màn hỡnh
Var A: array[1..300] of integer; 
 N, i, j :integer; 
Begin
{tao mang}
Write(‘Nhap n = ’); readln(n);
For i:=1 To n Do 
 begin
 write(‘phan tu thu ’,i,’ =’); 
 readln(A[i]);
 end;
{sap xep mang}
For j := N Downto 1 Do
 for i:=1 to j - 1 do
 If a[i] > a[i+1] then
 begin
t:=a[i]; a[i]:=a[i+1]; 
a[i+1] :=t;
 end;
{dua ra mang da sap xep}
Writeln (‘Mang da duoc sap xep ’);
For i :=1 To N Do write (a[i]:4);
Readln
End. 
IV. ĐÁNH GIÁ CUỐI BÀI 
1. Nội dung đó học
	Cỏch phõn tớch và viết chương trỡnh cho một bài toỏn.
2. Cõu hỏi, bài tập về nhà
	Xem lại cỏc bài tập về mảng đó giải ở tiết 20
	Xem trước bài: Bài thực hành số 3
	Bài tập: Cho mảng A gồm N phần tử. hóy viết chương trỡnh tạo ra mảng B cũng gồm N phần tử, trong đú B[i] bằng tổng của i phần tử đầu tiờn trong mảng A. (B[i]= A[1]+A[2]+ .. +A[i])
Ngày 13 thỏng 01 năm 2014
Ký duyệt của Tổ trưởng
 Lờ Anh Chung
	Tuần dạy: 23	Ngày soạn : 19/01/2014
Tiết PPCT : 24	Ngày dạy : 21/01/2014
BÀI THỰC HÀNH SỐ 3 – T1
I. MỤC TIấU:
 - Về Kiến thức: Củng cố cho HS những hiểu biết về kiểu dữ liệu mảng.
- Về Kỹ năng: Khai bỏo được kiểu dữ liệu mảng, nhập dữ liệu mảng, đưa ra màn hỡnh chỉ số và giỏ trị của cỏc phần tử mảng.
 	+ Duyệt qua phần tử của mảng để xử lý từng phần tử.
- Về tư duy và Thỏi độ: rốn luyện tư duy lập trỡnh, tỏc phong của người lập trỡnh.
II. PHƯƠNG TIỆN DẠY HỌC:
GV: Phũng mỏy tớnh, mỏy chiếu Projector.
HS: SGK, bài tập.
III. HOẠT ĐỘNG DẠY VÀ HỌC
Ổn định tổ chức: Kiểm tra sĩ số lớp.
Kiểm tra bài cũ: Khi nào ta nờn khai bỏo biến mảng giỏn tiếp – thụng qua định nghĩa kiểu?
Giảng bài mới: 
HOẠT ĐỘNG CỦA GV - HS
TRèNH CHIẾU
GV: Cài đặt và trỡnh chiếu CT mẫu bài 1a.
HS: Xem bài mẫu được trỡnh chiếu.
?1: MyArray là tờn kiểu dữ liệu hay tờn biến?
HS: Tờn kiểu dữ liệu.
GV: Nhận xột.
?2: Vai trũ của nmax và n khỏc nhau như thế nào?
n là số lượng phần tử của mảng, nmax là là số lượng pt lớn nhất cú thể cú của mảng.
?3: Dũng lệnh nào dựng để tạo biến mảng A?
GV: Nhận xột.
VAR A: MyArray
GV: Cho chạy thử CT bài 1a
?4: Lệnh gỏn A[i]:= random(300) – random(300) cú ý nghĩa gỡ?
GV: Nhận xột.
Tạo ngẫu nhiờn giỏ trị kiểu số nguyờn cho mảng A trong khoảng -300 đến 300
?5: Lệnh For i:=1 to n do Write(A[i]:5); cú ý nghĩa gỡ?
GV: Nhận xột.
In ra cỏc phần tử của mảng A mỗi phần tử cỏch nhau 5 kớ tự trống
?6: Lệnh For i:=1 to n do If A[i] mod k = 0 then s:=s + A[i]; thực hiện nhiệm vụ gỡ?
GV: Nhận xột.
Tớnh tổng cỏc phần tử chia hết cho k
?7: Lệnh s:=s+A[i]; được thực hiện bao nhiờu lần?
GV: Nhận xột.
Khụng xỏc định được.
GV: Cho HS chạy thử chương trỡnh để thấy kết quả.
GV: Nhắc nhở HS lưu chương trỡnh đó chạy tốt ở cõu a.
GV: Trỡnh chiếu cỏc cõu lệnh của cõu 1b.
?8: Đưa biến Posi và Neg vào vị trớ nào trong cõu 1a?
GV: Nhận xột.
?9: Nhiệm vụ của cõu lệnh:
If A[i]:>0 then Posi:=Posi+1 else If A[i]<0 then Neg:=Neg+1; ?
GV: Nhận xột.
GV: Yờu cầu HS đưa cõu lệnh vào chương trỡnh ở cõu 1a.
GV: Yờu cầu HS chạy chương trỡnh và bỏo cỏo kết quả. 
HS: Lưu và chạy chương trỡnh, bỏo cỏo KQ.
 Củng cố: 
 Yờu cầu HS sửa lại chương trỡnh trờn để cú thể nhập một mảng cú 10 phần tử từ bàn phớm.
 Dặn dũ:
HS về nhà làm bài tập 4.15 trong sỏch bài tập.
Chuẩn bị chương trỡnh bài 2 bài thực hành 3 chương IV trong SGK.
Tuần dạy: 23	Ngày soạn : 19/01/2014
Tiết PPCT : 25	Ngày dạy : 23/01/2014
BÀI THỰC HÀNH SỐ 3 – T2
I. MỤC TIấU:
 - Về Kiến thức: Củng cố cho HS những hiểu biết về kiểu dữ liệu mảng.
- Về Kỹ năng: Khai bỏo được kiểu dữ liệu mảng, nhập dữ liệu mảng, đưa ra màn hỡnh chỉ số và giỏ trị của cỏc phần tử mảng.
 	+ Duyệt qua phần tử của mảng để xử lý từng phần tử.
- Về tư duy và Thỏi độ: rốn luyện tư duy lập trỡnh, tỏc phong của người lập trỡnh.
II. PHƯƠNG TIỆN DẠY HỌC:
GV: Phũng mỏy tớnh, mỏy chiếu Projector.
HS: SGK, bài tập.
III. HOẠT ĐỘNG DẠY VÀ HỌC
Ổn định tổ chức: Kiểm tra sĩ số lớp.
Kiểm tra bài cũ: Khi nào ta nờn khai bỏo biến mảng giỏn tiếp – thụng qua định nghĩa kiểu?
Giảng bài mới:
Hoạt động GV – HS
Nội dung
1. Theo dõi ví dụ của giáo viên
- So sánh lần lượt từ trái sang phải giữ lại chỉ số của phần tử lớn nhất.
2. Quan sát chương trình, suy nghĩ và trả lời
- Giữ lại chỉ số của phần tử có giá trị lớn nhất.
- Phép so sánh a[i] <a[j]
- Chuyển thứ tự duyệt từ n-1 về 1
3. Theo dõi yêu cầu, suy nghĩ các câu hỏi định hướng để viết chương trình.
- Có
- Lệnh để in ra các chỉ số có giá trị bằng giá trị lớn nhất tìm được.
- Sau khi tìm được giá trị lớn nhất.
- Soạn chương trình vào máy. Thực hiện chương trình và thông báo kết quả.
- Nhập dữ liệu vào và thông báo cho giáo viên dữ liệu ra.
1. Lấy một ví dụ thực tiễn: Người mù tìm viên sỏi có kích thước lớn nhất trong một dãy viên sỏi để gợi ý cho học sinh thuật toán tìm giá trị lớn nhất.
Yêu cầu: Nêu thuật toán tìm phần tử có giá trị lớn nhất.
2. Tìm hiểu chương trình tìm chỉ số và giá trị lớn nhất.
- Chiếu chương trình ví dụ sách giáo khoa trang 64.
- Hỏi: vai trò của biến j trong chương trình.
- Hỏi: Nếu muốn tìm phần tử nhỏ nhất, cần sửa ở chỗ nào?
- Hỏi: Nếu muốn tìm phần tử lớn nhất ta sửa ở chỗ nào?
3. Đặt yêu cầu mới:
Viết chương trình và đưa ra các chỉ số của các phần tử có gái trị lớn nhất.
- Hỏi: Cần giữ lại đoạn chương trình tìm giá trị lớn nhất không?
- Hỏi: cần thêm lệnh nào nữa?
- Hỏi: Vị trí thêm các lệnh đó?
- Yêu cầu: Viết chương trình hoàn thiện
- Học sinh nhập dữ liệu vào của giáo viên và báo cáo kết quả.
- Đánh giá kết quả của học sinh
IV. Củng cố
Nhắc lại các khái niệm cần lưu ý
bài tập về nhà: Viết chương trình nhập 1 mảng một chiều A gồm 20 phần tử và nhập 1 số x. Đếm số lượng số trong A có giá trị bằng x
Ngày 20 thỏng 01 năm 2013
Ký duyệt của Tổ trưởng
 Lờ Anh Chung
	Tuần dạy: 24	Ngày soạn : 5/02/2014
Tiết PPCT : 26	Ngày dạy :6/02/2014
BÀI THỰC HÀNH SỐ 4 – T1
I. Mục tiờu
1. Kiến thức 
- Củng cố kiến thức về dữ liệu kiểu mảng.
- Xõy dựng cấu trỳc dữ liệu, hiểu thuật toỏn sắp xếp bằng trỏo đổi.
2. Kĩ năng
	- Biết chỉnh sữa lỗi trong chương trỡnh.
	- Tự nhập cỏc bộ dữ liệu để hiểu ý nghĩa một số cõu lệnh.
3. Thỏi độ
- Nghiờm tỳc thực hiện đỳng nội quy phũng mỏy, tự giỏc trong khi lập trỡnh.
II.Chuẩn bị
- Gv:Bảng phụ viết sẵn chương trỡnh, phũng mỏy, project.
- Hs: Sgk, CT đó được viết sẵn.
III. Tiến hành dạy học
Ổn định tổ chức: Kiểm tra sĩ số lớp.
Kiểm tra bài cũ: Thụng qua ?
Giảng bài mới: 
Hoạt động 1: Nhắc lại kiến thức đó học liờn quan bài thực hành.
Hoạt động của Giỏo viờn và Học sinh
Nội dung thực hành 
Hỏi 1: Nờu cỏch khai bỏo kiểu mảng 1 chiều.
Hỏi 2: Nhập từ bàn phớm xõy dựng mảng một chiều A cú 6 phần tử.
Tl: cú 2 cỏch
+ giỏn tiếp:
+ trực tiếp:
TL: For i:= 1 to 6 do
 Begin
 Writeln(‘Nhap phan tu thu ’,i,’=’);
 Readln(A[i]);
 End;
2. Hoạt động 2: Xỏc định bài toỏn và tỡm hiểu chương trỡnh.
Hoạt động của Giỏo viờn và Học sinh
Nội dung
1. Chiếu đề bài lờn bảng.
2. Xỏc định bài toỏn
Y/cầu hs xỏc định dữ liệu vào/ra của bài toỏn?
Trả lời : 
- Vào: mảng A
- Ra: mảng A đó sắp xếp
- Yờu cầu hs nhắc lại ý tưởng thuật toỏn(Lớp 10)?
- HS Nhắc lại thuật toỏn.
- Chiếu thuật toỏn đó được liệt kờ cỏc bước.
4. Tỡm hiểu chương trỡnh
- Vai trũ của biến i, j trong CT?
- TL: Dựng làm biến chỉ số.
- Đoạn lệnh nào thực hiện trỏo đổi giỏ trị 2 phần tử liền kề của mảng?
- TL:3 lệnh: tg := a[i];
 a[i]:= a[i+1];
 a[i+1]:= tg;
- Treo bảng CT chuẩn bị sẵn.
Giải thớch một số lệnh của CT.
Đề: Sắp xếp dóy số nguyờn bằng thuật toỏn trỏo đổi với cỏc giỏ trị khỏc nhau của n số.
CT( SGK/65)
3. Hoạt động 3: Chạy CT cõu a.
Hoạt động của Giỏo viờn và Học sinh
Nội dung
- Yờu cầu hs tự nhập dữ liệu với CT cú sẵn.
- Giỳp hs phỏt hiện và sữa lỗi.
- Thuật toỏn trờn tiến hành đưa số lớn thứ j về đến vị trớ j sau mỗi vũng lặp: For i:= 1 to j-1 do
- Chạy CT, nhập dữ liệu, xm kết quả.
- Chỉnh sữa CT thụng qua cỏc thụng bỏo lỗi.
- Chỳ ý hiểu rừ thờm về CT.
4. Hoạt động 4: Xỏc định bài toỏn cõu b.
Hoạt động của Giỏo viờn và Học sinh
Nội dung
1. Xỏc định bài toỏn.
- Y/cầu hs xỏc I/O bài toỏn?
- Biến Dem được tăng lờn khi nào? 
TL: Khi A[i] > A[i+1] 
(tức là biểu thức đk trong CL If đỳng)
- Cần đưa cõu lệnh tăng Dem vào chỗ nào trong CT trờn?
TL: Trong thõn CL If: trước hoặc sau 3 lệnh trỏo đổi. 
- Cõu lệnh khởi tạo Dem:= 0 được đặt vào vị trớ nào trong CT?
TL: Chọn một trong hai phương ỏn 3, 4.
 + Trước CL đầu tiờn:
 For j:= N down to 2 do
 + Trước CL duyệt:
 For i:= 1 to j-1 do
 + Trước 3 CL trỏo đổi
 + Sau 3 CL trỏo đổi
- Sau CL cuối CT nờn đưa CL nào vào để hiển thị giỏ trị biến Dem ra màn hỡnh.
Đề: Khai bỏo biến đếm nguyờn Dem và bổ sung vào chương trỡnh những cõu lệnh cần thiết để biến Dem tớnh số lần trỏo đổi trong chương trỡnh.
Xỏc định bài toỏn:
+ I: mảng a;
+O: mảng a đó sắp xếp, số lần trỏo đổi (Dem);
4. Hoạt động 5: Sữa CT cõu a để giải bài toỏn cõu b.
Hoạt động của Giỏo viờn và Học sinh
Nội dung
- Yờu cầu hs sữa lại CT theo gợi ý đó nờu.
- Hướng dẫn hs chỉnh sửa và chạy CT.
- Đỏnh giỏ kết quả của hs.
CT(Phụ lục)
- Thờm cỏc CL như đó hướng dẫn vào CT.
- Chạy CT.
Củng cố : Thuật toỏn sắp xếp bằng trỏo đổi. Đếm số lần trỏo đổi.
Bài tập về nhà
Tỡm thờm cỏc thuật toỏn sắp xếp khỏc tối ưu hơn.
Cho mảng A và mảng B (là mảng A đó được sắp xếp). Hóy in ra chỉ số của cỏc phần tử mảng A theo mảng B.
Tuần dạy: 25	Ngày soạn : 05/02/2014
Tiết PPCT : 27	Ngày dạy :12/02/2014
BÀI THỰC HÀNH SỐ 4 – T2
I. Mục tiêu:
1. Kiến thức:
- Củng cố lại kiến thức cơ bản khi lập trình với kiểu dữ liệu mảng.
- Làm quen với một số bài toán liên quan 
2. Kĩ năng:
- Rèn luyện kỹ năng sử dụng kiểu dữ liệu có cấu trúc, kỹ năng diễn đạt thuật toán bằng chương trình sử dụng dữ liệu kiểu mảng.
3. Thái độ:
- Tự giác, tích cực, chủ động và sáng tạo trong tìm kiến thức.
II. Đồ dùng dạy học
1. Chuẩn bị của GV:
Phòng máy vi tính được cài đầy đủ Pascal, máy chiếu để hướng dẫn
2. Chuẩn bị của HS: 
SGK, sách bài tập và vở bài tập đã viết ở nhà
III. Hoạt động dạy học
Hoạt động 1: Rèn luyện kỹ năng nhận xét, phân tích và đề xuất cách giải bài toán sao cho chương trình chạy nhanh hơn..
1. Mục tiêu:
Học sinh biết sử dụng kiểu mảng để lập trình giải một bài toán. Biết nhận xét phân tích để đề xuất phương án giải này.
2. Nội dung:
Cho mảng A gồm n phần tử. Viết chương trình tạo mảng B[1..n], trong đó B[i] là tổng giá trị của i phần tử đầu tiên của mảng A.
Chương trình minh hoạ
Program Sum1;
Uses crt;
Var	 A, B:Array[1..100] of integer;
	 i,j,n:integer;
Begin
	Clrscr; Randomize;
	Write(‘nhap n=’); Readln(n); 
	for i:=1 to n do a[i]:=random(300)-random(300);
	For i:=1 to n do write(a[i]:5);
	writeln;
	For i:=n to n do
	Begin
	B[i]:=0; 
	For J:=1 to i do B[i] : =B[i] + A[i];
	end;
	For i:=1 to n do write(B[i]:7); Writeln;
	Readln;
End.
3. Các bước tiến hành:	
Hoạt động của GV
Hoạt động của HS
1. Xác định bài toán
Yêu cầu: Xác định dữ liệu vào, dữ liệu ra?
Gợi ý để học sinh viết thuật toán. 
2. Giới thiệu chương trình chưa cải tiến
Chiếu chương trình ví dụ lên bảng
Thực hiện chương trình để học sinh biết thời gian thực hiện chương trình và kết quả của chương trình.
Hỏi: Trong chương trình phải thực hiện bao nhiêu phép cộng?
Hỏi: Có bao nhiêu để cải tiến
Lệnh này được thay bằng lệnh nào trong chương trình? viết ở vị trí nào.
Kết luận: Cùng một bài toán, có thể có nhiều cách giải quyết khác nhau. Người lập trình cần chọn cách sao cho máy thực hiện nhanh nhất.
Quan sát bài và trả lời câu hỏi.
- Vào: mảng A gồm n phần tử
- Ra: mảng B gồm n phần tử
2. Quan sát chương trình, suy nghĩ câu hỏi và trả lời.
- Quan sát giáo viên thực hiện, nhận xét về thời gian thực hiên chương trình
- Phải thực hiện n(n+1)/2 phép cộng
- Để tính bước thứ i, ta sử dụng kết quả đã tính ở bước thứ i-1
B[i] : =B[i-1] + A[i];
- Thay đoạn lệnh: 
For J:=1 to i do B[i] : =B[i] + A[i];
Soạn chương trình vào máy, thực hiện chương trình và thông báo kết quả.
Nhận xét 
IV. Củng cố
 Xem lại tất cả các kiển thức đã học 
Ngày 10 thỏng 02 năm 2014
Ký duyệt của Tổ trưởng
 Lờ Anh Chung
Tuần dạy: 25	Ngày soạn : 27/01/2014
Tiết PPCT : 28	Ngày dạy :29/01/2014
Bài 12: KIỂU XÂU (1/2)
I.Mục tiờu
1. Về kiến thức
	- Biết được một kiểu dự liệu mới, biết được khỏi niệm kiểu xõu.
	- Phõn biệt được sự giống và khỏc giữa kiểu mảng với kiểu xõu.
 - Biết được cỏch khai bỏo biến, nhập/xuất dữ liệu, tham chiếu dến từng kớ tự của xõu.
 - Biết cỏc phộp toỏn liờn quan đến xõu.
2. Về kĩ năng
 - Khai bỏo được biến kiểu xõu trong ngụn ngữ lập trỡnh Pascal.
 - Sử dụng biến xõu và cỏc phộp toỏn trờn xõu để giải quyết một bài toỏn đơn giản.
II. Chuẩn bị của GV và HS
1. GV: Mỏy vi tớnh, Mỏy chiếu để giới thiệu vớ dụ.
2. HSSGK.	
III. Phương phỏp
Thuyết trỡnh, vấn đỏp
IV. Tiến trỡnh bài học	
HĐ1: Kiểm tra bài cũ và khởi động bài mới
Hoạt động của Giỏo viờn và Học sinh 
Nội dung
Ghi cõu hỏi lờn bảng
Phỏt vấn HS tại chỗ
Suy nghĩ, trả lời
Y/c HS khỏc nhận xột
Nhận xộ

File đính kèm:

  • docGiao an tin 11 day du 52 tiet.doc
Giáo án liên quan