Tải bản đầy đủ (.pdf) (20 trang)

Giáo án Tin học 8 - Tiết 53-56 - Năm học 2009-2010

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (243.56 KB, 20 trang )

<span class='text_page_counter'>(1)</span>Tuần: 27 Tiết: 53. Ngày soạn:28/2/2010 Ngày dạy:08/03/2010. Bài thực hành số 6 SỬ DỤNG LỆNH LẶP WHILE...DO I. Mục tiêu: 1. Kiến thức: - Viết chương trình Pascal sử dụng câu lệnh lặp với số lần chưa biết trước. 2. Kĩ năng: - Rèn luyện kĩ năng đọc chương trình, tìm hiểu tác dụng của các câu lệnh. 3. Thái độ: - Thái độ học tập nghiêm túc, yêu thích viết chương trình để thực hiện một số công việc. II. Chuẩn bị: GV:Nội dung bài thực hành, máy tính điện tử. Hs: xem bài trước ở nhà. III. Tiến trình thực hành: Hoạt động của thầy Hoạt động của trò Nội dung Hoạt động 1: 18’ -Ổn định lớp: -Làm bài tập 1. Viết chương trình sử dụng lệnh lặp While … do để tính n số thực x1,x2,x3…xn. Các số n và x1,x2,x3…, xn được nhập từ bàn phím. - Ý tưởng?. 1. Viết chương trình sử dụng lệnh lặp While … do để tính n số thực x1,x2,x3…xn. Các số n và x1,x2,x3…, xn được nhập từ bàn phím. + Sử dụng một biến đếm và lệnh lặp While…do để nhập và cộng dần các số vào một biến kiểu số thực cho đến khi nhập đủ n số. + Chú ý lắng nghe => ghi nhớ kiến thức.. - Mô tả thuật toán của chương trình, các biến dự định sẽ sử dụng và kiểu của chúng. Hoạt động 2: 20’ -Thực hành - Gõ chương trình sau đây: Program tinh_trung_binh; Var n, dem: integer; X, tb: real;. Program tinh_trung_binh; Var n, dem: integer; X, tb: real; + Học sinh độc lập gõ Begin Dem:=0; tb:=0; chương trình vào máy. Lop8.net.

<span class='text_page_counter'>(2)</span> Begin Dem:=0; tb:=0; Writeln(‘nhap cac so can tinh n =’); Readln(n); While dem < n do Begin Dem:= dem + 1; Writeln(‘nha so thu’, dem,’=’); Readln(x); Tb:= tb + x; End; Tb:=tb/n; Witeln(‘Trung binh của’, n,’so là =’, tb:10:3); Readln; End. - Lưu chương trình với tên tinh_tb.. Writeln(‘nhap cac so can tinh n =’); Readln(n); While dem < n do Begin Dem:= dem + 1; Writeln(‘nha so thu’, dem,’=’); Readln(x); Tb:= tb + x; End; Tb:=tb/n; + Học sinh lưu chương Witeln(‘Trung binh của’, n,’so là trình theo yêu cầu của giáo =’, tb:10:3); Readln; viên. End. + Học sinh thực hiện theo yêu cầu của giáo viên.. - Đọc hiểu và tìm hiểu ý nghĩa của từng câu lệnh. Dịch chương trình và sửa lỗi, nếu có. Chạy chương trình với các bộ dữ liệu được gõ từ bàn phím và kiểm tra kết quả nhận được. Hoạt động 3: 5’ -Củng cố: -Gọi vài hs bào cáo kết quả và cho điểm. -Giáo viên nhận xét và đánh giá tiết thực hành. Hoạt động 4: 2’ -Dặn dò: -Xem lại nội dung đã thực hành. - Tiết sau thực hành: “ Bài thực hành số 6 (tt). Lop8.net.

<span class='text_page_counter'>(3)</span> Tuần: 27 Tiết: 54. Ngày soạn:28/2/2010 Ngày dạy:08/03/2010. Bài thực hành số 6 SỬ DỤNG LỆNH LẶP WHILE...DO I. Mục tiêu: 1. Kiến thức: - Viết chương trình Pascal sử dụng câu lệnh lặp với số lần chưa biết trước. 2. Kĩ năng: - Rèn luyện kĩ năng đọc chương trình, tìm hiểu tác dụng của các câu lệnh. 3. Thái độ: - Thái độ học tập nghiêm túc, yêu thích viết chương trình để thực hiện một số công việc. II. Chuẩn bị: GV:Nội dung bài thực hành, máy tính điện tử. Hs: xem bài trước ở nhà. III. Tiến trình thực hành: Hoạt động của thầy Hoạt động của trò Nội dung Hoạt động 1: 18’ -Ổn định lớp: Làm bài tập 2 ở SGK - Gọi học sinh đọc đề bài ở Bài 2. Tìm hiểu chương sách giáo khoa. - Ý tưởng? trình nhận biết một số tự nhiên N được nhập vào từ bàn phím có phải là số nguyên tố hay không. - Giáo viên đưa ra ý tưởng để học sinh tìm hiều. Ý tưởng: Kiểm tra lần lượt N có chia hết cho các số tự - Học sinh tìm hiểu ý Bài 2. Tìm hiểu chương trình nhiên 2 ≤ i ≤ N hay không. tưởng theo sự hướng dẫn nhận biết một số tự nhiên N được nhập vào từ bàn phím có Kiểm tra tính chia hết của giáo viên. phải là số nguyên tố hay không. bằng phép chia lấy phần dư (mod). ? Đọc và tìm hiểu ý nghĩa của từng câu lệnh trong Uses Crt; chương trình sau đây: + Học sinh đọc chương Var n,i:integer; Uses Crt; trình và tìm hiểu ý nghĩa Begin Var n,i:integer; của từng câu lệnh theo sự Clrscr; Begin write('Nhap vao mot so nguyen: hướng dẫn của giáo viên. Clrscr; ');readln(n); If n<=1 then writeln('N khong la. write('Nhap vao mot so nguyen: ');readln(n); Lop8.net.

<span class='text_page_counter'>(4)</span> If n<=1 then writeln('N khong la so nguyen to') else begin i:=2; while (n mod i<>0) do i:=i+1; if i=n then writeln(n,' la so nguyen to!') else writeln(n,' khong phai la so nguyen to!'); end; readln end.. so nguyen to') else begin i:=2; while (n mod i<>0) do i:=i+1; if i=n then writeln(n,' la so nguyen to!') else writeln(n,' khong phai la so nguyen to!'); end; readln end.. Hoạt động 2: 20’ Thực hành: Gõ chương trình vào máy, + Học sinh độc lập gõ chạy chương trình và kiểm chương trình vào máy. tra kết quả. + Nhấn Ctrl + F9 để chạy và kiểm tra chương trình. Hoạt động 3: 5’ -Củng cố: -Gọi vài hs bào cáo kết quả và cho điểm -Giáo viên nhận xét và đánh giá tiết thực hành. Hoạt động 4: 2’ Dặn dò: -Xem lại các nội dung đã thực hành. - Tiết sau thực hành: “ Bài thực hành số 6 (tt). Lop8.net.

<span class='text_page_counter'>(5)</span> Tuần: 28 Tiết: 55. Ngày soạn:10/3/2010 Ngày dạy:15/03/2010. BÀI TẬP I. Mục tiêu: 1. Kiến thức: - Viết chương trình Pascal sử dụng câu lệnh lặp với số lần biết trước 2. Kĩ năng: - Rèn luyện khả năng đọc chương trình, tìm hiểu tác dụng và kết hợp các câu lệnh. 3. Thái độ: - Thái độ học tập nghiêm túc, yêu thích môn học. II. Chuẩn bị: GV:Sách giáo khoa, máy tính điện tử. HS: xem bài trước ở nhà. III. Tiến trình bài dạy: Hoạt động của thầy Hoạt động của trò Hoạt động 1: 10’ -Ổn định lớp: -Ôn tập câu lệnh lặp xác định For..do. ? Nêu cú pháp của vòng lặp + Cú pháp: For <biến đếm>:= xác định. <giá trị đầu> to <giá trị cuối> do <câu lệnh>; ? Nêu hoạt động của vòng lặp. + Hoạt động của vòng lặp: - B1: biến đếm nhận giá trị đầu - B2: Chương trình kiểm tra biểu thức điều kiện, nếu biểu thức điều kiện đúng thì thực hiện câu lệnh. - B3: Biến đếm tự động tăng lên 1 đơn vị và quay lại B2. - B4: Nếu biểu thức điều kiện nhận giá trị sai thì thoát ra khỏi vòng lặp.. Nội dung. + Cú pháp: For <biến đếm>:= <giá trị đầu> to <giá trị cuối> do <câu lệnh>; + Hoạt động của vòng lặp: - B1: biến đếm nhận giá trị đầu - B2: Chương trình kiểm tra biểu thức điều kiện, nếu biểu thức điều kiện đúng thì thực hiện câu lệnh. - B3: Biến đếm tự động tăng lên 1 đơn vị và quay lại B2. - B4: Nếu biểu thức điều kiện nhận giá trị sai thì thoát ra khỏi vòng lặp.. Bài tập Hoạt động 2: 33’ 1. Các câu lệnh Pascal sau Bài tập. có hợp lệ không, vì sao? 1. Các câu lệnh Pascal sau có + Trừ câu d), tất cả các câu a/ for i:=100 to 1 do hợp lệ không, vì sao? writeln('A'); lệnh đều không hợp lệ: a) for i:=100 to 1 do. b/ for i:=1.5 to 10.5 do. Lop8.net.

<span class='text_page_counter'>(6)</span> writeln('A'); b) for i:=1.5 to 10.5 do writeln('A'); c) for i=1 to 10 do writeln('A'); d) for i:=1 to 10 do; writeln('A'); e) var x: real; begin for x:=1 to 10 do writeln('A'); end.. writeln('A'); c/ for i=1 to 10 do writeln('A'); b) Các giá trị đầu và giá trị cuối d/ for i:=1 to 10 do; writeln('A'); phải là số nguyên; c) Thiếu dấu hai chấm khi gán e/ var x: real; begin for x:=1 to 10 do writeln('A'); end.. a) Giá trị đầu phải nhỏ hơn giá trị cuối;. giá trị đầu; d) Thừa dấu chấm phẩy thứ nhất, nếu như ta muốn lặp lại câu lệnh writeln('A') mười lần, ngược lại câu lệnh là hợp lệ; e) Biến x đã được khai báo như là biến có dữ liệu kiểu số thực và vì thế không thể dùng để xác định giá trị đầu và giá trị cuối trong câu lệnh lặp.. 2. Hãy mô tả thuật toán để tính * Thuật toán tính tổng: tổng sau đây: A= 1 1 1 i. A =    ....... 1 1 1 1    ....... 1.3 2.4 3.5 n( n  1). .. 1.3. 2.4. 3.5. 1 n( n  1). Bước 1. Gán A  0, i  1. 1 Bước 2. A  . i (i  2) Bước 3. i  i + 1. Bước 4. Nếu i  n, quay lại bước 2. Bước 5. Ghi kết quả A và kết thúc thuật toán.. Hoạt động 3: 2’ Dặn dò: - Về nhà học bài kết hợp sách giáo khoa, tiết sau học bài làm bài tập (tt). Lop8.net.

<span class='text_page_counter'>(7)</span> Tuần: 28 Tiết: 56. Ngày soạn:10/3/2010 Ngày dạy:15/03/2010. BÀI TẬP I. Mục tiêu: 1. Kiến thức: - Viết chương trình Pascal sử dụng câu lệnh lặp với số lần biết trước 2. Kĩ năng: - Rèn luyện khả năng đọc chương trình, tìm hiểu tác dụng và kết hợp các câu lệnh. 3. Thái độ: - Thái độ học tập nghiêm túc, yêu thích môn học. II. Chuẩn bị: GV:Sách giáo khoa, máy tính điện tử. HS: xem bài trước ở nhà. III. Tiến trình bài dạy: Hoạt động của thầy Hoạt động của trò Hoạt động 1:13’ -Ổn định lớp: -Kiểm tra bài cũ: Nêu sự khác biệt giữa câu lệnh xác định và câu lệnh Sự khác biệt: không xác định a) Câu lệnh lặp với số lần lặp cho . trước chỉ thị cho máy tính thực hiện một lệnh hoặc một nhóm lệnh với số lần đã được xác định từ trước, còn với câu lệnh lặp với số lần lặp chưa biết trước thì số lần lặp chưa được xác định trước. b) Lệnh lặp với số lần cho trước, điều kiện là giá trị của một biến đếm có giá trị nguyên đã đạt được giá trị lớn nhất hay chưa, còn trong câu lệnh lặp với số lần lặp chưa biết trước, điều kiện tổng quát hơn nhiều, có thể là kiểm tra một giá trị của một số thực c) Lệnh lặp với số lần cho trước, câu lệnh được thực hiện ít nhất một lần, sau đó kiểm tra điều kiện. Lệnh lặp với số lần chưa xác định Lop8.net. Nội dung.

<span class='text_page_counter'>(8)</span> Hoạt động 2: 30’ Bài tập. ? Hãy tìm hiểu các thuật toán sau đây và cho biết khi thực hiện thuật toán, máy tính sẽ thực hiện bao nhiêu vòng lặp? Khi kết thúc, giá trị của S bằng bao nhiêu? Viết chương trình Pascal thể hiện các thuật toán đó. a) Thuật toán 1 Bước 1. S  10, x  0.5. Bước 2. Nếu S  5.2, chuyển tới bước 4. Bước 3. S  S  x và quay lại bước 2. Bước 4. Thông báo S và kết thúc thuật toán. b) Thuật toán 2 Bước 1. S  10, n  0. Bước 2. Nếu S ≥ 10, chuyển tới bước 4. Bước 3. n  n + 3, S  S  n quay lại bước 2. Bước 4. Thông báo S và kết thúc thuật toán. Hoạt động 3: 2’ -Dặn dò -Xem lại các bài tập đã giải -Về nhà học bài tiết sau kiểm tra 1 tiết (LT). trước, trước hết điều kiện được kiểm tra. Nếu điều kiện được thoả mãn, câu lệnh mới được thực hiện.. Bài tập.. a) Thuật toán 1: 10 vòng lặp được thực hiện. Khi kết thúc thuật toán S = 5.0. Đoạn chương trình a) Thuật toán 1: 10 vòng lặp được Pascal tương ứng: thực hiện. Khi kết thúc thuật toán S:=10; x:=0.5; S = 5.0. Đoạn chương trình Pascal while S>5.2 do S:=S-x; writeln(S); tương ứng: S:=10; x:=0.5; while S>5.2 do S:=Sx; writeln(S);. b) Thuật toán 2: Không vòng lặp nào được thực hiện vì ngay từ đầu điều kiện đã không được thỏa mãn nên các bước 2 và 3 b) Thuật toán 2: Không vòng lặp bị bỏ qua. S = 10 khi kết nào được thực hiện vì ngay từ đầu thúc thuật toán. Đoạn điều kiện đã không được thỏa mãn chương trình Pascal nên các bước 2 và 3 bị bỏ qua. S = tương ứng: 10 khi kết thúc thuật toán. Đoạn S:=10; n:=0; chương trình Pascal tương ứng: while S<10 do S:=10; n:=0; begin n:=n+3; S:=S-n while S<10 do end; begin n:=n+3; writeln(S); S:=S-n end; writeln(S);. Lop8.net.

<span class='text_page_counter'>(9)</span> Tuần: 29 Tiết: 57. Ngày soạn:15/3/2010 Ngày kt:22/03/2010. KIỂM TRA 1 TIẾT I. Mục tiêu: - Hệ thống lại một số kiến thức đã học. - Biết sử dụng vòng lặp xác định và vòng lặp không xác định để viết chương trình. II. Đề bài: A.TRẮC NGHIỆM KHÁCH QUAN (4đ). I.Hãy khoanh tròn ở chữ cái đầu câu em cho là đúng (mỗi câu 0,25đ) Câu 1: Cú pháp của câu lệnh For …. do là: a. for<biến đếm>:=<Giá trị đầu> to<giá trị cuối> do<câu lệnh>; b. for<biến đếm>:=<Giá trị cuối> to<giá trị đầu> do<câu lệnh>; c. for<biến đếm>=<Giá trị đầu> to<giá trị cuối> do<câu lệnh>; d. for<biến đếm>=<Giá trị đầu> to;<giá trị cuối> do<câu lệnh>; Câu 2: Cho đoạn chương trình: S:=0; For i:=1 to 5 do S:=S+i; Sau khi thực hiện đoạn chương trình trên S có kết quả là : a. 20 b. 15 c. 10 d. 0 Câu 3: Câu lệnh viết đúng cú pháp trong ngôn ngữ lập trình Pascal là: a. While <điều kiện> to <câu lệnh>; b. While <điều kiện> do <câu lệnh>; c. While <điều kiện> to <câu lệnh1> do <câu lệnh 2>; d. While <điều kiện>; do <câu lệnh>; Câu 4: Cho đoạn chương trình: i:=4; K:=7 While i <6 do i:=i+1; k:=k+i; Writeln (i, ,k ); Sau khi thực hiện đoạn chương trình trên i, K có kết quả là a. 6 ,13 b. 6,12 c. 6,7 d. 6, 6. Câu 5: Cho đoạn chương trình: i:=1; j:=2;k:=3; While i <6 do i:=i+1; j:=j+1; k:=k+j; Writeln (i, j,k ); Sau khi thực hiện đoạn chương trình trên i, j, K có kết quả là a. 6 ,3,6 b. 6,6,12 c. 6,7,12 d. 6, 7,28. Lop8.net.

<span class='text_page_counter'>(10)</span> Câu 6: Cho đoạn chương trình: i:=1; j:=2;k:=3; While i <6 do begin i:=i+1; j:=j+1; k:=k+j; end; Writeln (i, j,k ); Sau khi thực hiện đoạn chương trình trên i, j, K có kết quả là a. 6 ,3,6 b. 6,6,12 c. 6,7,12 d. 6, 7,28 Câu 7: Cho đoạn chương trình: p:=1; For i:=1 to 5 do p:=p*i; Sau khi thực hiện đoạn chương trình trên S có kết quả là : a. 120 b. 15 c. 24 d. 240 Câu 8:Cho đoạn chương trình: so:=1; while so < 10 do so:=so+1; writeln(so); Sau khi thực hiện đoạn chương trình trên sẽ có kết quả là : a. In các số từ 1 đến 9 b. In ra các số từ 1 đến 10 c. In ra vô hạn các số 1, mỗi số trên 1 dòng d. Không phương án nào đúng II.Đánh chữ X vào cột Đúng nếu em cho là đúng hoặc vào cột Sai nếu em cho là sai. (mỗi câu 0,25đ) Câu lệnh Đ S Câu 9: While i := 2 do t:= 10; Câu 10: While a<b ; do write (‘a nho hon b’); Câu 11: For i = 1 to n do write(i); Câu 12: For i:= 10 to 1 do x:=x+1; III.Hãy nối mỗi ý ở Cột A với một ý ở Cột B vào cột Kết Quả sao cho có nghĩa đúng. (mỗi câu 0,25đ) Cho x:=5; Câu lệnh Giá trị của x Kết Quả Câu 13: if x mod 3 = 2 then x:= x +1; a. 10 Câu 13 +…… Câu 14: if (x mod 3 =0) or (x>=5) then x:= 2*x; b. 6 Câu 14 +…… Câu 15: if (x mod 2 =1 ) and (x>10 ) then x:=0 ; c. 15 Câu 15 +…… Câu 16: if x mod 5 = 0 then begin x:=x*x ; x:=x -10; end; d. 5 Câu 16 +…… B.TỰ LUẬN (6đ). Bài 1: (2 điểm) a) Cấu trúc rẽ nhánh có hai dạng: b) Câu lệnh lặp với số lần cho trước trong Pascal là: c) Câu lệnh lặp với số lần chưa biết trước trong Pascal là: Lop8.net.

<span class='text_page_counter'>(11)</span> Bài 2: Viết chương trình tìm số lớn nhất trong 3 số a,b,c nhập từ bàn phím.(1 điểm) Bài 3: a/ Viết chương trình tính tổng N số tự nhiên nhập từ bàn phím.(2 điểm) b/ Chạy thử chương trình với N=8.(1 điểm). III. Đáp án: A.TRẮC NGHIỆM KHÁCH QUAN (4đ). I.Hãy khoanh tròn ở chữ cái đầu câu em cho là đúng (mỗi câu 0,25đ). 1 a. 2 b. 3 b. 4 a. 5 a. 6 d. 7 a. 8 d. II.Đánh chữ X vào cột Đúng nếu em cho là đúng hoặc vào cột Sai nếu em cho là sai. (mỗi câu 0,25đ) Câu lệnh Đ S Câu 9: While i := 2 do t:= 10; x Câu 10: While a<b ; do write (‘a nho hon b’); x Câu 11: For i = 1 to n do write(i); x Câu 12: For i:= 10 to 1 do x:=x+1; x III.Hãy nối mỗi ý ở Cột A với một ý ở Cột B vào cột Kết Quả sao cho có nghĩa đúng. (mỗi câu 0,25đ) Cho x:=5; Câu lệnh Giá trị của x Kết Quả Câu 13: if x mod 3 = 2 then x:= x +1; a. 10 Câu 13 +…b… Câu 14: if (x mod 3 =0) or (x>=5) then x:= 2*x; b. 6 Câu 14 +…a… Câu 15: if (x mod 2 =1 ) and (x>10 ) then x:=0 ; c. 15 Câu 15 +…d… Câu 16: if x mod 5 = 0 then begin x:=x*x ; x:=x -10; end; d. 5 Câu 16 +…c… B.TỰ LUẬN (6đ). Bài 1: a/ IF < ĐIỀU KIỆN> THEN < CÂU LỆNH>; Dạng đủ: IF < ĐIỀU KIỆN> THEN < CÂU LỆNH1> ELSE < CÂU LỆNH 2>; b/ For <biến đếm>:= <giá trị đầu> to <giá trị cuối> do <câu lệnh>; c/ While <điều kiện> do <câu lênh>; Bài 2: Var a,b,c,max: integer; Begin Writeln(‘ nhap a,b,c’); readln(a,b,c); Max:=a; If max <b then max:=b; If max <c then max:=c; Writeln(max); Readln End. Bài 3. a/ Program tinh_tong; Var i, S,n: Integer; Begin Lop8.net.

<span class='text_page_counter'>(12)</span> Writeln(‘ nhap n’); readln(n); S:=0; For i:= 1 to n do S:= S + i; Wirteln(‘Tong la’,S); Readln; End. b/ Chạy thử chương trình với N=8 i=1→ s=0+1=1 i=2→ s=1+2=3 i=3→ s=3+3=6 i=4→ s=6+4=10 i=5→ s=10+5=15 i=6→ s=15+6=21 i=7→ s=21+7=28 i=8→ s=28+8=36. Lop8.net.

<span class='text_page_counter'>(13)</span> Tuần: 29 Tiết: 58. Ngày soạn:15/3/2010 Ngày dạy:22/03/2010. LÀM VIỆC VỚI DÃY SỐ I. Mục tiêu: 1. Kiến thức: - Làm quen với việc khai báo và sử dụng các biến mảng. - Tìm hiểu một số ví dụ về biến mảng. 2. Kĩ năng: - Việc gán giá trị, nhập giá trị và tính toán với các giá trị của một phần tử trong biến mảng được thực hiện thông qua chỉ số tương ứng của phần tử đó. 3. Thái độ: - Thái độ học tập nghiêm túc, yêu thích môn học. II. Chuẩn bị: Gv:Sách giáo khoa, máy tính điện tử. Hs: xem bài trước ở nhà. III. Tiến trình bài dạy: Hoạt động của thầy Hoạt động của trò Nội dung Hoạt động 1: 15’ 1. Dãy số và biến mảng: -Ổn định lớp: Tìm hiểu dãy số và biến + Ví dụ 1. Giả sử chúng ta Dữ liệu kiểu mảng là một tập hợp mảng cần viết chương trình nhập hữu hạn các phần tử có thứ tự, mọi - Yêu cầu HS đọc ví dụ 1 điểm kiểm tra của các học phần tử đều có cùng một kiểu dữ sinh trong một lớp và sau đó liệu, gọi là kiểu của phần tử. in ra màn hình điểm số cao nhất. Vì mỗi biến chỉ có thể lưu một giá trị duy nhất, để có thể nhập điểm và so sánh chúng, ta cần sử dụng nhiều biến, mỗi biến cho một học - Ví dụ như trong Pascal sinh. ta cần nhiều câu lệnh khai báo và nhập dữ liệu dạng sau đây, mỗi câu lệnh tương ứng với điểm của một học sinh ? Dữ liệu mảng là gì. Dữ liệu kiểu mảng là một tập hợp hữu hạn các phần tử có thứ tự, mọi phần tử đều có cùng một kiểu dữ liệu, gọi là kiểu của phần tử. Việc sắp thứ tự được thực hiện bằng cách gán cho mỗi phần tử một chỉ số: Lop8.net.

<span class='text_page_counter'>(14)</span> Hoạt động 2: 23’ Ví dụ về biến mảng. - Để làm việc với các dãy số nguyên hay số thực, chúng ta phải khai báo biến mảng có kiểu tương ứng trong phần khai báo của chương trình. - Yêu cầu học sinh nghiên cứu SGK => Nêu cách khai báo biến mảng.. Giá trị của biến mảng là một mảng, tức một dãy số (số nguyên, hoặc số thực) có thứ tự, mỗi số là giá trị của biến thành phần tương ứng. + Học sinh chú ý lắng nghe => ghi nhớ kiến thức. 2. Ví dụ về biến mảng:. Cách khai báo mảng trong Pascal như sau: + Cách khai báo mảng Tên mảng : array[<chỉ số đầu>.. trong Pascal như sau: <chỉ số cuối>] of <kiểu dữ liệu> Tên mảng : array[<chỉ số đầu>.. <chỉ số cuối>] of <kiểu dữ liệu> - Trong đó chỉ số đầu và chỉ số cuối là hai số nguyên hoặc biểu thức nguyên thoả mãn chỉ số đầu ≤ chỉ số cuối và kiểu dữ liệu có thể là - Cách khai báo đơn giản integer hoặc real. một biến mảng trong ngôn ngữ Pascal như sau: Var Chieucao: array[1..50] of real; var Tuoi: array[21..80] of integer; Hoạt động 3: 5’ Củng cố Tên mảng : array[<chỉ số -Hãy nêu cách khai báo đầu>.. <chỉ số cuối>] of biến mảng? Chi ví dụ? <kiểu dữ liệu> Ví dụ: Var Diem:array[1..100] of integer; Hoạt động 4: 2’ Dặn dò: - Về nhà học bài, kết hợp SGK.. Lop8.net.

<span class='text_page_counter'>(15)</span> Tuần: 30 Tiết: 59. Ngày soạn:17/3/2010 Ngày dạy:29/03/2010. LÀM VIỆC VỚI DÃY SỐ(tt) I. Mục tiêu: 1. Kiến thức: - Làm quen với việc khai báo và sử dụng các biến mảng. - Biết cách tìm giá trị lớn nhất và giá trị nhỏ nhất của dãy số 2. Kĩ năng: -Rèn luyện kĩ năng tìm giá trị lớn nhất và giá trị nhỏ nhất của dãy số 3. Thái độ: - Thái độ học tập nghiêm túc, yêu thích môn học. II. Chuẩn bị: Gv:Sách giáo khoa, máy tính điện tử. Hs: xem bài trước ở nhà. III. Tiến trình bài dạy: Hoạt động của thầy Hoạt động của trò Nội dung Hoạt động 1: 8’ -Ổn định lớp: -Kiểm tra bài cũ: Tên mảng : array[<chỉ số -Hãy nêu cách khai báo biến đầu>.. <chỉ số cuối>] of <kiểu dữ liệu> mảng? Chi ví dụ? Ví dụ: Var DANHSACH:array[1..100] of integer; 1. Tìm giá trị lớn nhất và giá Hoạt động 2: 30’ trị nhỏ nhất của dãy số Tìm hiểu cách tìm giá trị lớn nhất và giá trị nhỏ nhất của dãy số. + Học sinh đọc và tìm hiểu program MaxMin; Ví dụ 3. Viết chương trình nhập yêu cầu của bài toán. uses crt; N số nguyên từ bàn phím và in Var ra màn hình số nhỏ nhất và số i, n, Max, Min: integer; lớn nhất. N cũng được nhập từ A: array[1..100] of integer; bàn phím Phần thân chương trình sẽ - Giáo viên đưa ra ý tưởng để tương tự dưới đây: viết chương trình Begin Trước hết ta khai báo biến N để - Học sinh chú ý lắng nghe clrscr; nhập số các số nguyên sẽ được => ghi nhớ kiến thức. write('Hay nhap do dai cua day nhập vào. Sau đó khai báo N so, = '); readln(n); biến lưu các số được nhập vào writeln('Nhap cac phan tu như là các phần tử của một biến cua day so:'); mảng A. Ngoài ra, cần khai báo Lop8.net.

<span class='text_page_counter'>(16)</span> một biến i làm biến đếm cho các lệnh lặp và biến Max để lưu số lớn nhất, Min để lưu số nhỏ nhất. - Yêu cầu học sinh tìm hiểu ý + Học sinh thực hiện theo nghĩa của từng câu lệnh trong yêu cầu của giáo viên. program MaxMin; chương trình uses crt; Var i, n, Max, Min: integer; A: array[1..100] of integer; Phần thân chương trình sẽ tương tự dưới đây: Begin clrscr; write('Hay nhap do dai cua day so, = '); readln(n); writeln('Nhap cac phan tu cua day so:'); For i:=1 to n do Begin write('a[',i,']='); readln(a[i]); End; Max:=a[1]; Min:=a[1]; for i:=2 to n do begin if Max<a[i] then Max:=a[i]; if Min>a[i] then Min:=a[i] end; write('So lon nhat la Max = ',Max); write('; So nho nhat la Min = ',Min); readln; End. + Học sinh chú ý lắng nghe. - Trong chương trình này, chúng ta hãy lưu ý một số điểm sau: Số tối đa các phần tử của mảng phải được khai báo bằng một số cụ thể (Ở đây là 100) Hoạt động 3: 5’ Lop8.net. For i:=1 to n do Begin write('a[',i,']='); readln(a[i]); End; Max:=a[1]; Min:=a[1]; for i:=2 to n do begin if Max<a[i] then Max:=a[i]; if Min>a[i] then Min:=a[i] end; write('So lon nhat la Max = ',Max); write('; So nho nhat la Min = ',Min); readln; End..

<span class='text_page_counter'>(17)</span> Củng cố “Có thể xem biến mảng là một biến được tạo từ nhiều biến có cùng kiểu nhưng chỉ dưới một tên duy nhất”. Phát biểu đó đúng hay sai. Hoạt động 4: 2’ Dặn dò - Về nhà học bài, kết hợp SGK, tiết sau thực hành -Làm các bài tập2,4,5 sgk .. Lop8.net.

<span class='text_page_counter'>(18)</span> Tuần: 30 Tiết: 60. Ngày soạn:17/3/2010 Ngày dạy:29/03/2010. BÀI TẬP I. Mục tiêu: 1. Kiến thức: - Làm quen với việc khai báo và sử dụng biến mảng. - Ôn luyện cách sử dụng câu lệnh lặp for..do 2. Kĩ năng: - Củng cố các kĩ năng đọc hiểu và chỉnh sửa chương trình. 3. Thái độ: - Thái độ học tập nghiêm túc, yêu thích viết chương trình để thực hiện một số công việc. II. Chuẩn bị: GV:Nội dung bài thực hành, máy tính điện tử. HS: xem bài trước ở nhà. III. Tiến trình thực hành: Hoạt động của thầy Hoạt động của trò Nội dung Hoạt động 1: 8’ -Ổn định lớp: -Kiểm tra bài cũ: -Hãy nêu cách khai báo biến mảng? Chi ví dụ? -Bài tập 2 sgk. a/ var x: array[1,13] of a/ Sai b/ Sai integer; b/ var x:array[5..10.5] of real; Hoạt động 2:30’ Thực hành. Chương trình tìm giá trị Bài 1: Chương trình tìm giá trị nhỏ nhỏ nhất trong dãy số Program P_Min; nguyên P_Min ? nhất trong dãy số nguyên P_Min ? Var i, n, Min : integer; Bài 1: A: array[1..100] of integer; Program P_Min; Begin HS chia nhóm làm thực Var write('Hay nhap do dai cua day so, hành. i, n, Min : integer; N='); readln(n); writeln('Nhap cac phan tu cua day A: array[1..100] of integer; Begin so:'); write('Hay nhap do dai cua For i:=1 to n do day so, N='); readln(n); Begin writeln('Nhap cac phan tu write('a[',i,']='); cua day so:'); readln(a[i]); Lop8.net.

<span class='text_page_counter'>(19)</span> End; Min:=a[1]; for i:=2 to n do if Min>a[i] then Min:=a[i]; write('So nho nhat la Min = ',Min); readln; End.. Viết chương trình nhập điểm của các bạn trong lớp. Sau đó in ra màn hình Bài 2: số bạn đạt kết quả học tập Program Phan_loai; loại giỏi, khá, TB và kém. uses crt; Tiêu chuẩn: Var - Loại giỏi: 8.0 trở lên i, n, G, Kh, TB, K: integer; - Loại khá: 6.5 đến 7.9 A: array[1..100] of real; - Loại TB: 5.0 đến 6.4 Begin - Loại kém: dưới 5.0 clrscr; write('nhap so HS trong lop, n= '); readln(n); writeln('Nhap diem :'); For i:=1 to n do Begin write(i,' . '); readln(a[i]); GV gợi ý: End; - Dùng câu lệnh G:=0; Kh:= 0; TB:= 0; K:= 0; if…then… for i:=1 to n do Begin if a[i] >= 8.0 then G:= G + 1; if a[i] <5.0 then K:= K + 1; if (a[i] <8.0 ) and (a[i] >=6.5) then Kh:= Kh + 1; if (a[i] >= 5 ) and (a[i] < 6.5) Lop8.net. For i:=1 to n do Begin write('a[',i,']='); readln(a[i]); End; Min:=a[1]; for i:=2 to n do if Min>a[i] then Min:=a[i]; write('So nho nhat la Min = ',Min); readln; End. Bài 2: Viết chương trình nhập điểm của các bạn trong lớp. Sau đó in ra màn hình số bạn đạt kết quả học tập loại giỏi, khá, TB và kém. Tiêu chuẩn: - Loại giỏi: 8.0 trở lên - Loại khá: 6.5 đến 7.9 - Loại TB: 5.0 đến 6.4 - Loại kém: dưới 5.0 Program Phan_loai; uses crt; Var i, n, G, Kh, TB, K: integer; A: array[1..100] of real; Begin clrscr; write('nhap so HS trong lop, n= '); readln(n); writeln('Nhap diem :'); For i:=1 to n do Begin write(i,' . '); readln(a[i]); End; G:=0; Kh:= 0; TB:= 0; K:= 0;.

<span class='text_page_counter'>(20)</span> then TB:= TB + 1; end; writeln(' Ket qua hoc tap: '); writeln(G, ' ban hoc gioi '); writeln(Kh, ' ban hoc kha '); writeln(TB, ' ban hoc trung binh'); writeln(K, ' ban hoc kem '); readln; End.. Hoạt động 3:5’ Củng cố -Cho điểm vài nhóm làm tốt. -Giáo viên nhận xét và đánh giá tiết thực hành. Hoạt động 4:2’ Dặn dò: -Xem lại các nội dung đã thực hành. - Tiết sau thực hành: “ Bài thực hành số 7 (tt). Lop8.net. for i:=1 to n do Begin if a[i] >= 8.0 then G:= G + 1; if a[i] <5.0 then K:= K + 1; if (a[i] <8.0 ) and (a[i] >=6.5) then Kh:= Kh + 1; if (a[i] >= 5 ) and (a[i] < 6.5) then TB:= TB + 1; end; writeln(' Ket qua hoc tap: '); writeln(G, ' ban hoc gioi '); writeln(Kh, ' ban hoc kha '); writeln(TB, ' ban hoc trung binh'); writeln(K, ' ban hoc kem '); readln; End..

<span class='text_page_counter'>(21)</span>

×