A PHẦN CHUẨN BỊ
I. Mục tiêu:
1. Kiến thức:
- Biết được khái niệm về chương trình dịch.
- Phân biệt được hai loại chương trình dịch là biên dịch và thông dịch.
2. Kỹ năng
- Biết vai trò của chương trình dịch
- Hiểu ý nghĩa nhiệm vụ của chương trình dịch
3. Tthái độ:
- ý thức được tầm quan trọng của môn học và có thái độ học tập nghiêm túc, luôn từ tìm hiểu học tập.
II. Phần chuẩn bị
1. Chuẩn bị của giáo viên:
- Giáo án, SGK, sách giáo viên, sách bài tập,
2. Chuẩn bị của học sinh:
- Vở ghi, sách giáo khoa, sách bài tập, đồ dùng học tập.
ắc cấu trỳc và sơ đồ thực hiện của cấu trỳc rẽ nhỏnh và cấu trỳc lặp 2. Kỹ năng: - Rốn luyện kỹ năng sử dụng cấu trỳc rẽ nhỏnh và cấu trỳc lặp trong việc giải một số bài toỏn cụ thể - Làm quen với cụng cụ phục vụ và hiệu chỉnh chương trỡnh 3. Về tư duy và thỏi độ: - Hỡnh thành cho học sinh bước đầu về tư duy về lập trỡnh cú cấu trỳc. - Tự giỏc, tớch cực và chủ động hoàn thành. II. CHUẨN BỊ 1. Giỏo viờn: SGK, Giỏo ỏn, Mỏy chiếu Projector, phũng mỏy tớnh 2. Học sinh: HS: SGK, vở III. PHƯƠNG PHÁP Gợi mở, vấn đỏp. Thảo luận nhúm. IV. NỘI DUNG BÀI GIẢNG 1. Ổn định lớp: 2. Kiểm tra bài cũ: Trong khi giảng bài 3.Bài mới: a. Mục tiờu: Học sinh biết đọc hiểu đề, phõn tớch yờu cầu của đề. Từ đú chọn được cấu trỳc dữ liệu và lệnh phự hợp để lập trỡnh b. Nội dung: Cõu 5: a/ Program tong_5a; Uses crt; Var y:real; N:byte; Begin Clrscr; Y:=0; For n:=1 to 50 do y:=y+ n/(n+1); Writeln(’Tong y la:’, y:10:4); Readln End. b/ Program tong_5b; Uses crt; Var e:real; N,i:longint; Begin Clrscr; E:=1; n:=1; i:=1 While 1/n >= 2*0.000001 do begin e:= e + 1/n; i:=i+1; n:=n*i; end; Writeln( ’Tong e la:’, e:10:4); Readln End. Cõu 6: Program tim_ga_cho; Uses crt; Var ga,cho:byte; Begin Clrscr; For cho:=1 to 25 do Begin Ga: = 36 – cho; If 2*ga + 4*cho = 100 then Writeln(’ga:’ , ga, ’cho’, cho); End; Readln End. 4. Dặn dũ: - Dặn dũ học sinh về nhà tự ụn tập, xem lại cỏc bài đó học chuẩn bị cho tiết tới kiểm tra học kỡ 1 V. RÚT KINH NGHIỆM Chơn Thành, ngày thỏng năm 20 Tổ Trưởng ký duyệt Trần Xuõn Trỡnh Tuần Ngày dạy / / Tiết PPCT: Chương 4: KIỂU DỮ LIỆU Cể CẤU TRÚC Bài 11: KIỂU MẢNG (tiết 1 + 2) I. MỤC ĐÍCH, YấU CẦU 1. Kiến thức - Biết được một kiểu dữ liệu mới là kiểu mảng một chiều. - Biết được một loại biến cú chỉ số; - Biết cấu trỳc tạo mảng một chiều, cỏch khai bỏo biến kiểu mảng một chiều. 2. Kĩ năng - Biết được cỏc thành phần trong khai bỏo kiểu mảng một chiều; - 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ới chỉ số miền con của kiểu nguyờn; - Biết cỏch tham chiếu đến cỏc phần tử của mảng một chiều. 3. Tư duy và thỏi độ: Tự giỏc, tớch cực, chủ động và sỏng tạo trong tỡm kiếm tri thức. II. CHUẨN BỊ 1. Giỏo viờn: giỏo ỏn, sgk, sơ đồ cấu trỳc mảng 1 chiều 2. Học sinh: sgk III. PHƯƠNG PHÁP: -Đặt vấn đề,gợi mở thuyết giảng. IV. HOẠT ĐỘNG DẠY HỌC 1. Ổn định lớp : 2. Kiểm tra bài cũ (Khụng kiểm tra) 3. Bài mới Hoạt động của Gv & Hs Nội dung Hoạt động 1: Sự cần thiết cú dữ liệu kiểu mảng Trước khi vào bài, giỏo viờn đưa ra một số vấn đề cần giải quyết như sau : Với những kiểu dữ liệu như đó biết, làm thế nào để : Lưu trữ và xử lý một dóy số ? Lưu trữ và xử lý Họ và tờn của một người ? Lưu trữ và xử lý bảng kết quả thi tốt nghiệp ? HS : Đưa ra cỏc phương ỏn để trả lời cho 3 cõu hỏi trờn . Chương này chỳng ta sẽ tỡm hiểu một số kiểu dữ liệu trong ngụn ngữ Pascal để trả lời 3 cõu hỏi trờn . Cú thể sử dụng vớ dụ trong SGK để học sinh dễ theo dừi, gừ trước chương trỡnh để cú thể sử dụng cho cỏc phần tiếp theo . Hoạt đụng 2: Kiểu mảng một chiều 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 . Chương này chỳng ta sẽ tỡm hiểu một số kiểu dữ liệu trong ngụn ngữ Pascal để trả lời 3 cõu hỏi trờn . GV : Đưa ra vớ dụ, cần lập lập trỡnh xử lý một dóy số nguyờn, hóy tỡm cỏch lưu trữ một dóy số nguyờn trong khi lập trỡnh ? Bằng cỏch nào để lưu trữ được thụng tin dưới dạng bảng khi lập trỡnh ? HS : Đưa ra ý kiến . GV : Đỏnh giỏ ý kiến của học sinh, sau đú đưa ra mục đớch của việc sử dụng cấu trỳc mảng trong chương trỡnh . GV : Đưa ra khỏi niệm mảng một chiều và một số yếu tố liờn quan trong lập trỡnh núi chung . GV : Đi sõu phõn tớch hai chương trỡnh để cho học sinh nhận thấy sự tiện lợi khi sử dụng mảng . HS : Trong khi giỏo viờn phõn tớch hai chương trỡnh, học sinh sẽ đưa ra ý kiến nhận xột về 2 chương trỡnh. GV : Đưa ra cỏch khai 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 bằng cỏch nào tiện lợi hơn ? HS : Thường thỡ học sinh trả lời cỏch 1 tiện lợi hơn ? GV : Tựy trường hợp cụ thể mà ta dựng cỏch 1 hay cỏch 2 nhưng thụng thường ta sử dụng cỏch 1 . GV : Sử dụng một sồ hỡnh ảnh trực quan minh họa cho học sinh cấu trỳc mảng và chỉ số của phần tử Chỉ số 1 2 3 4 5 6 7 8 Giỏ trị 53 81 62 18 26 41 24 53 Đưa ra một số khai bỏo mảng trong Pascal . Trong lập trỡnh thường cú 2 loại mảng : Mảng một chiều . Mảng hai chiều . 1. Kiểu mảng một chiều - Mảng một chiều là một dóy hữu hạn cỏc phần tử cú cựng kiểu, mảng được đặt tờn và mỗi phần tử mang một chỉ số. Để mụ tả mảng một chiều ta cần xỏc định kiểu của cỏc phần tử và cỏch đỏnh chỉ số cỏc phần tử . Với mảng một chiều ta quan tõm đến : Tờn mảng một chiều . Số lượng phần tử trong mảng . Kiểu dữ liệu của phần tử . Cỏch khai bỏo biến mảng một chiều . Cỏch truy cập vào từng phần tử của mảng . Xột vớ dụ : Nhập vào nhiệt độ trung bỡnh mỗi ngày trong tuần . Tớnh và đưa ra màn hỡnh nhiệt độ trung bỡnh của cả tuần và đếm số ngày cú nhiệt độ lớn hơn nhiệt độ trung bỡnh này . Quan sỏt hai chương trỡnh viết bằng ngụn ngữ Pascal cựng để giải bài toỏn trờn . Chương trỡnh 1 : Khụng sử dụng kiểu mảng . Chương trỡnh 2 : Sử dụng kiểu mảng một chiều . a> Khai bỏo mảng một chiều Trong ngụn ngữ Pascal, mảng một chiều được khai bỏo bằng hai cỏch như sau : Cỏch 1 : Var : Array[kiểu chỉ số] of ; Cỏch 2 : Type = Array [] of ; Var : ; Trong đú : Type là từ khúa dựng để khai bỏo biến, Array là từ khúa để khai bỏo mảng . Kiểu chỉ số thường là đoạn số nguyờn liờn tục cú n1..n2, với n1 là chỉ số đầu và n2 là chỉ số cuối. Kiểu thành phần là kiểu dữ liệu của phần tử mảng . Để truy cập vào phần tử mảng ta viết : [Chỉ số] Vớ dụ : A[20] Truy cập phần tử mang chỉ số 20 trong mảng A . Vớ dụ : Khai bỏo biến mảng thụng qua kiểu mảng : Type ArrayInteger=Array[1..100] of Integer; ArrayReal=Array[1.50] of Real; Var A : Array[1..50]; B : Array[1..50] of Real; Khai bỏo mảng trực tiếp : Var A : Array[1..100] of Integer ; B : Arrat[1..50] of Real ; 4. Cũng cố, dăn dũ - Cấu trỳc của mảng và hai cỏch khai bỏo mảng - Làm bài tập và xem bài mới V. RÚT KINH NGHIỆM Chơn Thành, ngày thỏng năm 20 Tổ Trưởng ký duyệt Trần Xuõn Trỡnh Tuần Ngày dạy / / Tiết PPCT: Chương 4: KIỂU DỮ LIỆU Cể CẤU TRÚC Bài 11: KIỂU MẢNG (tiết 3) I. MỤC ĐÍCH, YấU CẦ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. 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. 3. Tư duy và thỏi độ: Tự giỏc, tớch cực, chủ động và sỏng tạo trong tỡm kiếm tri thức. II. CHUẨN BỊ 1. Giỏo viờn: giỏo ỏn, bảng phụ, sgk 2. Học sinh: sgk III. PHƯƠNG PHÁP Thuyết trỡnh vấn đỏp, gợi mở giải quyết vấn đề IV. HOẠT ĐỘNG DẠY HỌC 1. Ổn định lớp : 2. Kiểm tra bài cũ Cấu trỳc của mảng và hai cỏch khai bỏo mảng? 3. Bài mới Hoạt động của Gv & Hs Nội dung Hoạt động 1: Bài toỏn tỡm max với thuật toỏn so sỏnh GV : Đưa ra vớ dụ . HS : Xõy dựng thuật toỏn để giải bài toỏn (thuật toỏn đó học ở lớp 10) . GV soạn sẵn chương trỡnh và cho học sinh quan sỏt chương trỡnh . Nếu cú nhiều thời gian, giỏo viờn sẽ tiến hành soạn chương trỡnh từ đầu để học sinh cú thể dễ dàng nhận ra cỏc thao tỏc cần phải thực hiện khi viết chương trỡnh . Một số vớ dụ : Vớ dụ 1 : Tỡm phần tử lớn nhất của một dóy số nguyờn . Input : Số nguyờn dương N và dóy số A1, A2, .., AN Output : Chỉ số và giỏ trị của số lớn nhất trong dóy í tưởng : Đặt số A1 là số lớn nhất (max) Cho i lặp từ 2 đến N, nếu A[i]> thỡ đổi max = A[i] vả lưu lại vị trớ i . Chương trỡnh như sau : Program timmax ; Uses crt ; var a : array[1..250] of integer ; n,i,max,csmax : Integer ; Begin clrscr ; Write('Nhap n = ') ; Readln(n) ; For i := 1 to n do Begin Write('a[',i,'] = ') ; readln(a[i]) ; End ; max := a[i] ; csmax := 1 ; For i := 2 to n do If a[i] > max then Begin max := a[i] ; csmax :=i ; End ; Writeln('Gia tri lon nhat : ',max) ; Writeln('chi so ptu lon nhat : ',csmax) ; Readln ; End . 4. Cũng cố, dăn dũ - Cấu của mảng một chiều - Cỏch khai bỏo, nhập và truy xuất phần tử của mảng - Về nhà làm bài tập sỏch giỏo khoa V. RÚT KINH NGHIỆM Chơn Thành, ngày thỏng năm 20 Tổ Trưởng ký duyệt Trần Xuõn Trỡnh Tuần Ngày dạy / / Tiết PPCT: Chương 4: KIỂU DỮ LIỆU Cể CẤU TRÚC Bài 11: KIỂU MẢNG (tiết 4) I. MỤC ĐÍCH, YấU CẦ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. 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. 3. Tư duy và thỏi độ: Tự giỏc, tớch cực, chủ động và sỏng tạo trong tỡm kiếm tri thức. II. CHUẨN BỊ 1. Giỏo viờn: giỏo ỏn, bảng phụ, sgk 2. Học sinh: sgk III. PHƯƠNG PHÁP Thuyết trỡnh, vấn đỏp, gợi mở giải quyết vấn đề IV. HOẠT ĐỘNG DẠY HỌC 1. Ổn định lớp : 2. Kiểm tra bài cũ 1. Nờu cỏch khai bỏo mảng và giải thớch từng thành phần cõu lệnh 2. Cỏch nhập giỏ trị cho mảng và truy xuất giỏ trị của mảng. 3. Bài mới Hoạt động của Gv & Hs Nội dung Hoạt động 1: Bài toỏn sắp xếp với thuật toỏn trỏo đổi GV : Đưa ra vớ dụ, nhắc lại ý tưởng của thuật toỏn . HS : Xõy dựng thuật toỏn để giải bài toỏn (thuật toỏn đó học ở lớp 10) . GV soạn sẵn chương trỡnh và cho học sinh quan sỏt chương trỡnh . Nếu cú thời gian, giỏo viờn sẽ tiến hành soạn chương trỡnh từ đầu để học sinh cú thể dễ dàng nhận ra việc chuyển đổi ngụn ngữ từ ngụn ngữ thuật toỏn sang ngụn ngữ lập trỡnh . Vớ dụ 2 : Sắp xếp dóy số nguyờn theo bằng thuật toỏn trỏo đổi . Input : Số nguyờn dương N và dóy số A1, A2, , AN Output : Dóy A được sắp xếp theo thứ tự khụng giảm . í tưởng : Đổi để đưa số lớn nhất về vị trớ cuối cựng . Làm tương tự đối với những số cũn lại . Chương trỡnh như sau : Program sapxep ; Uses crt ; var A : Array[1..250] of integer ; n,i,j,tg : Integer ; Begin clrscr ; Write('Nhap so phan tu mang n = ') ; Readln(n) ; For i := 1 to n do Begin Write('A[',i,'] = ') ; readln(A[i]) ; End ; For j := n downto 2 do Begin For i := 1 to j-1 do If A[i] > A[i+1] then Begin tg := A[i] ; A[i] := A[i+1] ; A[i+1] := tg ; End ; End ; Writeln('day sau khi sap xep : ') ; For i := 1 to n do write(a[i]:8) ; readln ; End . Writeln('chi so ptu lon nhat : ',csmax); readln ; End . 4. Cũng cố, dăn dũ - Làm lại cỏc vớ du để khắc sõu lý thuyết. - Làm bài tập SGK V. RÚT KINH NGHIỆM Chơn Thành, ngày thỏng năm 20 Tổ Trưởng ký duyệt Trần Xuõn Trỡnh Tuần Ngày dạy / / Tiết PPCT: Chương 4: KIỂU DỮ LIỆU Cể CẤU TRÚC BÀI TẬP VÀ THỰC HÀNH 3 (t1) I. MỤC ĐÍCH, YấU CẦU 1. Về kiến thức: Củng cố cho HS những hiểu biết về kiểu dữ liệu mảng. 2. 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ử. - Nõng cao kĩ năng sử dụng một số kiểu lệnh kiểu dữ liệu mảng một chiều trong lập trỡnh, cụ thể: + Khai bỏo kiểu dữ liệu mảng một chiều + Nhập, xuất dữ liệu cho mảng + Duyệt qua tất cả cỏc phần tử của mảng để xử lý từng phần tử. - Biết giải một số bài toỏn thường gặp: + Tớnh tổng cỏc phần tử thoả món cỏc điều kiện nào đú + Đếm số cỏc phần tử thoả món điều kiện nào đú + Tỡm phần tử lớn nhất, nhỏ nhất 3. Về tư duy và thỏi độ: - Gúp phần hỡnh thành và rốn luyện tư duy lập trỡnh, tỏc phong của người lập trỡnh. II. CHUẨN BỊ: 1.GV: Phũng mỏy tớnh, mỏy chiếu Projector. 2. HS: SGK, bài tập. III. PHƯƠNG PHÁP - Vấn đỏp tỡm tũi, vấn đỏp tỏi hiện, giải quyết vấn đề. IV. TIẾN TRèNH BÀI HỌC 1. Ổn định lớp : 2. Kiểm tra bài cũ Lập trỡnh nhập vào từ bàn phớm một dóy số nguyờn bất kỳ sau đú đưa ra giỏ trị lớn nhất và nhỏ nhất của dóy số đú 3. Bài mới Tỡm hiểu cỏch sử dụng lệnh và kiểu dữ liệu qua chương trỡnh cú sẵn: Hoạt động của Gv & Hs Nội dung Gv. Cài đặt và trỡnh chiếu CT mẫu bài 1a. - MyArray là tờn kiểu dữ liệu hay tờn biến? Hs. Xem bài mẫu được trỡnh chiếu và trả lời Gv. Nhận xột. Chạy thử chương trỡnh 1a - Dũng lệnh nào dựng để tạo biến mảng A? - Lệnh For i:=1 to n do Write(A[i]:5); cú ý nghĩa gỡ? - 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ỡ? - Lệnh s:=s+A[i]; được thực hiện bao nhiờu lần. Hs. Trả lời cỏc cõu hỏi đặt ra Gv. Cho hs tự chạy thử chương trỡnh. Để lấy kết quả. Gv. Chiếu bài 1b. cho học sinh phõn tớch ý nghĩa và tỏc dụng của từng dũng lệnh Hs. Thảo luận nhúm Bỏo cỏo kết quả Gv. Nhận xột Gv. Cho học sinh chạy chương trỡnh và quan sỏt kết quả Bài 1a. {1}Program sum1; {2}Type Myarray=array[1..100] of integer; {3}Var A : Myarray; s,n,i,k: integer; {4}begin {5}write(‘nhap n=’); readln(n); {6}for i:=1 to n do A[i]:=radom(301)- radom(301); {7}for i:=1 to n do write(A[i]:5);writeln; {8}write(‘nhap k=’);readln(k); {9}s:=0; {9}for i:=1 to n do {10} if A[i] mod k= 0 then s:=s+A[i]; {11}writeln(‘tong so can tinh la’,s); {12}readln {13}end. Giải thớch một số dũng lệnh cơ bản {2}: khai bỏo một kiểu mảng tối đa 100 phần tử {3}: tạo ra biến mảng A {6}: Tạo mảng ngẫu nhiờn gồm n số nguyờn {7}: viết ra mảng vừa tạo Bài 1b. {1}Program Maxelement; {2}Type Myarray=array[1..100] of integer; {3}Var A : Myarray; n,i,j: integer; {4}begin {5}write(‘nhap sl day so n=’); readln(n); {6}for i:=1 to n do Begin {7} Write(‘nhap phan tu thu’,i,’=’);readln(A[i]); End; J:=1 {8}for i:=2 to n do {9} if A[i]>A[j] then j:=i; {10}writeln(‘chi so’,j,’ gia tri ‘,A[i]:4); {11}readln {12}end. 4. 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. - Học bài cũ và làm bài tập sgk V. RÚT KINH NGHIỆM Chơn Thành, ngày thỏng năm 20 Tổ Trưởng ký duyệt Trần Xuõn Trỡnh Tuần Ngày dạy / / Tiết PPCT: Chương 4: KIỂU DỮ LIỆU Cể CẤU TRÚC BÀI TẬP VÀ THỰC HÀNH 3 (t2) I. MỤC ĐÍCH, YấU CẦU 1. Về kiến thức: Củng cố cho HS những hiểu biết về kiểu dữ liệu mảng. 2. Về kỹ năng: - Biết giải một số bài toỏn thường gặp: + Tớnh tổng cỏc phần tử thoả món cỏc điều kiện nào đú + Đếm số cỏc phần tử thoả món điều kiện nào đú + Tỡm phần tử lớn nhất, nhỏ nhất II. CHUẨN BỊ: 1.GV: Phũng mỏy tớnh, mỏy chiếu Projector. 2. HS: SGK, bài tập. III. PHƯƠNG PHÁP - Vấn đỏp tỡm tũi, vấn đỏp tỏi hiện, giải quyết vấn đề. IV. TIẾN TRèNH BÀI HỌC 1. Ổn định lớp : 2. Kiểm tra bài cũ: Khụng kiểm tra 3. Bài mới Hoạt động của Gv & Hs Nội dung Hoạt động 1: ễn lại kiến thức để chuẩn bị làm bài tập và thực hành Gv. Cỏch khai bỏo mảng trực tiếp? giỏn tiếp ? Hs. Trả lời cõu hỏi Gv. Nhận xột bổ sung 1. Khai bỏo mảng - Khai bỏo trực tiếp var : array[kiểu chỉ số] of ; - Cỏch khai bỏo giỏn tiếp type = array[kiểu chỉ số] of ; var : Hoạt động 2: Đọc đề và tỡm hiểu yờu cầu bài tập 2 SGK Gv. Yờu cầu HS đọc đề BT2 SGK Yờu cầu của bài toỏn là gỡ? Hs. Đọc đề và tỡm hiểu yờu cầu của đề Trả lời cõu hỏi - Tỡm phần tử cú giỏ trị lớn nhất trong mảng - In ra màn hỡnh chỉ số nhỏ nhất của phần từ cú giỏ trị lớn nhất Hoạt động 3: Đọc chương trỡnh và chạy chương trỡnh trờn giấy để hiểu thuật toỏn của chương trỡnh. Chỉnh sửa chương trỡnh để đưa ra chỉ số của cỏc phần tử cú cựng giỏ trị lớn nhất Gv. - Việc tạo mảng dữ liệu được thể hiện ở phần nào trong chương trỡnh ? Hs. Thể hiện ở cõu lệnh for thứ nhất của chương trỡnh. Gv. - Tỡm giỏ trị lớn nhất và đưa ra màn hỡnh chỉ số nhỏ nhất của phần từ cú giỏ trị lớn nhất được thể hiện ở phần nào ? Hs. Từ j:=1 đến cuối chương trỡnh Hs. Vai trũ của biến j trong chương trỡnh nhằm mục đớch gỡ ? Hs. Giữ lại chỉ số của phần tử cú giỏ trị lớn nhất. Gv. Thực hiện chương trỡnh với giỏ trị của mảng nhập vào cụ thể như sau: 4 2 5 7 6 7 - Hóy dựa vào phần tỡm giỏ trị lớn nhất và chạy chương trỡnh trờn giấy nhỏp và cho kết quả ? - Gọi HS lờn bảng chạy lại chương trỡnh Hs. Thực hiện yờu cầu của GV. Gv. - Cú cần giữ lại đoạn chương trỡnh tỡm giỏ trị lớn nhất khụng ? - Để đưa ra màn hỡnh tất cỏc chỉ số của cỏc phần tử đạt giỏ trị lớn nhất cú cần duyệt lại cỏc phõn tử của mảng khụng ? - Cần thờm lệnh nào cú thờ in được tất cả cỏc chỉ số của cỏc phần tử cú giỏ trị lớn nhất ? - Đưa cõu lệnh đú vào vị trớ nào của chương trỡnh ? Hs. - Cú {1,2} - Trả lời cõu hỏi. - Đưa vào cuối chương trỡnh Treo bảng phụ chương trỡnh của bài toỏn. B1: j=1, i=2, A[i]=2, A[j]=4 à A[i]< A[j] B2: j=1, i=3, A[i] = 5, A[j] =4 à A[i]>A[j] , àj=3 B3: j=3, i=4, A[i]=7, A[j]=5 à A[i]>A[j] àj=4 B4: j=4, i=5, A[i]=6, A[j]=7 à A[i]<A[j] B5: j=4, i=6, A[i]=7, A[j]=5 àkết quả chỉ số: 4 A[4] = 7 For i:=1 to n do If A[i] = A[j] then write (i); Hoạt động 4: HS chạy chương trỡnh trờn mỏy tớnh và cho kết quả: 4. 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. - 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. V. RÚT KINH NGHIỆM Chơn Thành, ngày thỏng năm 20 Tổ Trưởng ký duyệt Trần Xuõn Trỡnh Tuần Ngày dạy / / Tiết PPCT: Chương 4: KIỂU DỮ LIỆU Cể CẤU TRÚC BÀI TẬP VÀ THỰC HÀNH 4 (t1) I. MỤC ĐÍCH, YấU CẦ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. II.CHUẨN BỊ 1. Gv:Bảng phụ viết sẵn chương trỡnh, phũng mỏy, project. 2. Hs: Sgk, CT đó được viết sẵn. III. PHƯƠNG PHÁP Thuyết trỡnh vấn đỏp, gợi mở giải quyết vấn đề IV. TIẾN TRèNH BÀI HỌC 1. Ổn định tổ chức lớp. 2. Kiểm tra bài cũ: Cõu 1: Nờu cỏch khai bỏo kiểu mảng 1 chiều. Cõu 2: Nhập từ bàn phớm xõy dựng mảng một chiều A cú 6 phần tử. 3. Bài mới Hoạt động của Gv & Hs Nội dung Hoạt động 1: Xỏc định bài toỏn và tỡm hiểu chương trỡnh. Gv. Chiếu đề bài lờn bảng. Hs. Quan sỏt đề và lằng nghe cõu hỏi của gv. Gv. Y/cầu hs xỏc định dữ liệu vào/ra của bài toỏn? Hs. Trả lời cõu hỏi. - Vào: mảng A - Ra: mảng A đó sắp xếp Gv. minh hoạ bài toỏn: A 5 7 2 8 6 4 1 2 3 4 5 6 Mảng A đó sắp xếp: A 2 4 5 6 7 8 1 2 3 4 5 6 - Yờu cầu hs nhắc lại ý tưởng thuật toỏn(Lớp 10) Hs. Theo dóy số minh họa, nhớ lại thuật toỏn sắp xếp đó học. Gv. Nhận xột và chiếu thuật toỏn đó được liệt kờ cỏc bước. Từ thuật toỏn yờu cầu học sinh viết chương trỡnh Hs. Viết chương trỡnh Gv. Nhận xột và chạy chương trỡn * Tỡm hiểu chương trỡnh Gv. - Vai trũ của biến i, j trong CT? - Vai trũ của biến i, j trong CT? - Đ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? Hs. Trả lời cõu hỏi. Gv. Giải thớch một số lệnh của CT. Hs. Chỳ ý, lắng nghe, quan sỏt và ghi nhớ. Gv. - 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. Đề: 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ố. * Chương trỡnh SGK_trang 56 - TL: Dựng làm biến chỉ số. - TL:3 lệnh: tg := a[i]; a[i]:= a[i+1]; a[i+1]:= tg; Hoạt động 2: Xỏc định bài toỏn cõu b. Gv. - Y/cầu hs xỏc I/O bài toỏn? - Biến Dem được tăng lờn khi nào? Hs. Trả lời cõu hỏi Gv. - Cần đưa cõu lệnh tăng Dem vào chỗ nào trong CT trờn? - - Cõu lệnh khởi tạo Dem:= 0 được đặt vào vị trớ nào trong CT? + 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 Hs. Học sinh trả lời cõu hỏi Gv. - 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. Hs. – Học sinh thảo luận nhúm (Thờm cỏc CL như đó hướng dẫn vào CT.) - bỏo cỏo kết quả (Chạy CT) Gv. – Đỏnh giỏ kết quả của hs Đề: 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. 1. 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); TL: Khi A[i] > A[i+1] (tức là biểu thức đk trong CL If đỳng) TL: Trong thõn CL If: trước hoặc sau 3 lệnh trỏo đổi. TL: Chọn một trong hai phương ỏn 3, 4. * chương trỡnh: Sửa cõu lệnh theo gợi ý của chương trỡnh SGK_trang 65 4.Củng cố Uốn nắn những sai sút thường gặp của Hs. ễn tập lại lý thuyết Xem, chuẩn bị trước bài toỏn thực hành V. RÚT KINH NGHIỆM Chơn Thành, ngày thỏng năm 20 Tổ Trưởng ký duyệt Trần Xuõn Trỡnh Tuần Ngày dạy / / Tiết PPCT: Chương 4: KIỂU DỮ LIỆU Cể CẤU TRÚC BÀI TẬP VÀ THỰC HÀNH 4 (t2) I. MỤC ĐÍCH, YấU CẦ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. - Nhận xột, phõn tớch và đề xuất cỏc cỏch giải bài toỏn sao cho chương trỡnh chạy nhanh hơn. 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Ị 1. Gv:Bảng phụ viết sẵn chương trỡnh, phũng mỏy, project. 2. Hs: Sgk, CT đó được viết sẵn. III. PHƯƠNG PHÁP Thuyết trỡnh vấn đỏp, gợi mở giải quyết vấn đề IV. TIẾN TRèNH BÀI HỌC 1. Ổn định tổ chức lớp. 2. Kiểm tra bài cũ: Khụng kiểm tra 3. Bài mới Hoạt động của Gv & Hs Nội dung Hoạt động 1: ễn lại kiến thức và nờu đề bài toỏn, tỡm hiểu Gv. cỏch khai bỏo kiểu mảng 1 chiều Hs. giỏn tiếp: trực tiếp: * Tỡm hiểu đề bài Gv. Ghi đề bài lờn bảng. Y/cầu hs xỏc định dữ liệu vào/ra của bài toỏn? Hs. Trả lời cõu hỏi. * Phõn tớch thuật toỏn Gv. lấy vớ dụ minh hoạ A 4 5 1 2 3 7 1 2 3 4 5 6 B 1 2 3 4 5 6 Ban đầu: mọi B[i] = 0 Hs. Theo dừi vớ dụ minh hoạ Gv. Hỏi: mỗi B[i] được tạo mới bằng bao nhiờu? Gv. GV minh hoạ một số phần tử: B[1], B[2], B[3] - Y/cầu hs tỡm kết quả mảng B theo vớ dụ trờn. Hs. Học sinh trả lời: B 4 9 10 12 15
Tài liệu đính kèm: