giao an tin hoc 11

17 650 0
giao an tin hoc 11

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Ngày soạn: ./ ./ Ngày dạy: / / Bài tập (T23, 24) I. Mục đích - yêu cầu. - Củng cố lại các kiến thức về mảng. - Chữa các bài tập trong sách giáo khoa, rèn kĩ năng phân tích bài toán, kĩ năng vận dụng lý thuyết vào bài tập. - Trang bị các kiến thức cớ bản cho các giờ thực hành tiếp sắp tới. II. Lên lớp 1. ổ n định lớp Lớp Sĩ số Vắng Có phép 11A 11A 11A 11A 2. Bài mới Nội dung Hoạt động của gv và hs * Cú pháp khai báo + Mảng một chiều: - Khai báo trực tiếp Var <tên biến mảng>:array[kiểu chỉ sô] of <kiểu phần tử>; - Khai báo gián tiếp: 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>; + Mảng hai chiều: - Khai báo trực tiếp Var <tên biến mảng>:array[kiểu chỉ sô hàng,kiểu chỉ số cột] of <kiểu phần tử>; - Khai báo gián tiếp: Gv: Nhắc lại các kiến thức cơ bản của bài: cách khai bao biến mảng, mục đích, ý nghĩa của các thành phần. Gv: Ghi lên bảng cách khai báo mảng một chiều, mảng hai chiều 66 Ngày soạn: ./ ./ Ngày dạy: / / Type <tên kiểu mảng>=array[kiểu chỉ số hàng, kiểu chỉ số cột] of <kiểu phần tử>; Var <tên biến mảng>:<tên kiểu mảng>; Bài 5: Sách giáo khoa + Input: N, và dãy số a 1 , a 2 , ,a n + Output: dãy số trên có phải là cấp số cộng hay không. * Chơng trình chuẩn Program b5; Uses crt; Var A:array[1 1000] of integer; D, i: integer; Begin Writeln(moi ban nhap so phan tu); Readln(n); For i:= 1 to n do Begin Write(ban nhap vao so hang thu,i,:); Write(A[,i,]=); Readln(a[i]); End; Gv: Giải đáp các thắc mắc về các câu hỏi lý thuyết trong sách giáo khoa và sách bài tập. Gv: yêu cầu học sinh xác định bài toán. Gv: Thế nào là một cấp số cộng ? Hs: Trả lời. Gv: giả sử ta có D= A[1] A[2] => dãy trên là cấp số cộng nếu thoả mãn điều kiện: A[i] = A[1] + (i-1)d Gv: Gọi học sinh lên làm bài tập Gv: Nhận xét những mặt đợc và những mặt cha đợc trong cách trình bày của 67 Ngày soạn: ./ ./ Ngày dạy: / / D:=A[2]-A[1]; For i:=3 to n do If A[i] - A[i-1]<> d then Writeln(day so tren khong la day so cong) Else Writeln(day so tren la cap so cong); For i:=1 to n do Write(A[i]:4); Readln; End. Bài 6: + Input: Số N và dãy số nguyên a 1 ,a 2 , ,a n + Output: - Số lợng số chẵn, lẻ trong dãy - Số lợng số nguyên trong dãy. Program b6; Uses crt; Var a: array[1 1000] of integer; học sinh. Gv: Yêu cầu học sinh xác định bài toán? Xây dựng ý tởng giải bài toán. Gv: Biểu thức điều kiện nào để kiểm tra một số là số chẵn hay lẻ ? Hs: Trả lời Gv: Đa ra câu lệnh sau: If a[i] mod 2 = then writeln( day la so chan) Else writeln( day la so le); - Để làm đợc việc trên thì ta phải duyệt từ đầu dãy đễn cuối dãy số, nên ta dùng lệnh: For do - Khi điều kiện trên thoả mãn thì đó là số chẵn ngợc lại thì là số lẻ. Nh vậy ta sẽ dùng 2 biến: Sc, Sl để đếm số chẵn, số lẻ khi điều kiện thoả mãn 68 Ngày soạn: ./ ./ Ngày dạy: / / Sc, sl, i, j, nt, n, t: integer; Begin Clrscr; Writeln( moi ban nhap so phan tu cua day); Readln(n); For i:=1 to n do Begin Write(moi ban nhap phan tu thu,i,=); Readln(a[i]); End; Write( day so vua nhap la:); For i:=1 to n do Write(a[i]:4); Sc:=0; Sl:=0; For i:=1 to n do If a[i] mod 2 = 0 then sc:=sc+1 Else sl:= sl+1; Writeln( trong day co ,sc, so chan); Writeln(trong day co ,sl, so le); Nt:=0; For i:=1 to n do Begin T:=0; For j:=2 to a[i] div 2 do If a[i] mod j = 0 then t:= t + 1; If t=0 then Begin Writeln( So ,a[i], la so nguyen to); Nt:=nt+1; End; End; Writeln( trong day co ,nt, so nguyen to); Readln; End. Bài 7: Gv: Ta có thể kết hợp ý b) vào đoạn chơng trình này không? Hs: Đợc. Gv: Phân tích những nét chung giữa hai ý. Gv: Em nào có thể nếu cho thầy thuật toán kiểm tra một số N có phải là số nguyên tố hay không? Hs: Trả lời Gv: Nhận xét, đối tợng trong thuật toán là một số nguyên, trong bài tập này đó là kiểm tra một dãy các số nguyên. Gv: Đa ra chơng trình mẫu, giải thích ý nghĩa của từng biến, từng câu lệnh có trong chơng trình. 69 Ngày soạn: ./ ./ Ngày dạy: / / Program b7; Var n, i: Integer; F, F1, F2: integer; Begin Writeln(Tim so hang n cua day Phi bo na xi, N = ); Readln(n); F1:= 1; F2:=1; For i:= 3 to n do Begin F:= f1+ f2; F1:= f2; F2:= f; End; Writeln(f); Readln; End. Bài 8: Cho mảng hai chiều m, n gồm các số nguyên. Hãy viết chơng trình đa ra tổng các phần tử của từng hàng. + Input: + Output: * Chơng trình mẫu: Program b8; Uses crt; Var ma:array[1 100, 1 100] of integer; J, i, m, n, t: integer; 70 Ngày soạn: ./ ./ Ngày dạy: / / Begin Write( moi ban nhap so hang m = ); Readln(m); Write( moi ban nhap so cot n = ); Readln(n); For i:= 1 to m do For j:= 1 to n do Begin Write( moi ban nhap phan tu a[,i,,,j, ] = ); Readln(a[i,j]); End; For i:= 1 to m do Begin For j:= 1 to n do Write(a[i,j]: 4); Writeln; End; For I:= 1 to m do Begin T:=0; For j:=1 to n do t:= t+ a[i,j]; Writeln(tong hang thu ,i, la :, t:4); End; Readln; End. Bài 9: Cho mảng hai chiều m, n gồm các số nguyên. Viết chơng trình tìm giá trị lớn nhất nhỏ nhất của mảng. + Input: Mảng 2 chiều m,n + Output: Max, Min * Chơng trình mẫu Gv: Giải thích ý nghĩa của từng câu lệnh, từng vòng For - do Gv: Chúng ta đã có thuật toán tìm giá trị lớn nhất, nhỏ nhất đối với mảng một chiều. Tơng tự nh vậy ta có thể vận dụng đối với mảng 2 chiều. Ta sử dụng 2 biến: Max. Min 71 Ngµy so¹n: ./ ./… … …… Ngµy d¹y: / /… … …… Program b9; Uses crt; Var a: array[1 100,1 50] of integer; Max, min, i, j, m , n :integer; Begin Clrscr; Writeln(‘moi ban nhap so hang m =’); Readln(m); Writeln(‘moi ban nhap so cot n = ‘); Readln(n); For i:=1 to m do For j:=1 to n do Begin Write(‘moi ban nhap phan tu a[‘,i,’,’,j,’] =’); Readln(a[i,j]); End; For i:=1 to m do Begin For j:=1 to n do Write(a[i,j]:4); Writeln; End; Max:= a[1,j]; min:=a[1,j]; For i:= 1 to m do Begin For j:=1 to n do begin If max>a[i,j] then max:=a[i,j]; If min <a[i,j] then min:=a[i,j]; End; End; Writeln(‘gia tri lon nhat la’, max); Writeln(‘gia tri nho nhat la’, min); Readln; G¸n: Max:=A[1,j]; Min :=A[1,j]; 72 Ngày soạn: ./ ./ Ngày dạy: / / End. Bài 10: Cho mảng 2 chiều m, n gồm các số nguyên. Hãy viết chơng trình tính tổng các phần tử của từng hàng. * Xác định bài toán + Input: mảng hai chiều m, n, gồm các số nguyên + Output: tổng của từng hàng. * Chơng trình mẫu Program b10; Uses crt; Var a: array[1 100,1 100] of integer; S, i, j, m, n :integer; Begin Clrscr; Write(moi ban nhap so hang m = ); Readln(m); Write(moi ban nhap so cot n = ); Readln(n); For i:=1 to m do For j:=1 to n do Begin Write(moi ban nhap phan tu a[,i,,,j,] =); Readln(a[i,j]); End; For i:=1 to m do Begin For j:=1 to n do Write(a[i,j]:4); Writeln; End; For i:=1 to m do Begin 73 Ngày soạn: ./ ./ Ngày dạy: / / S:=0; For j:= 1 to n do S:= s+ a[i,j]; Writeln(tong cac phan tu hang thu, i, la, s:2); End; Readln; End. Bài 11: Cho dãy n số nguyên. a. Tìm giá trị lớn nhất, nhỏ nhất của dãy số. b. Sắp xếp dãy số theo chiều tăng dần, giảm dần. c. Đếm xem trong dãy số trên có bao nhiêu số le. d. Đếm xem trong dãy số trên có bao nhiêu số nguyên tố. 3. Củng cố - Cú pháp khai báo mảng, ý nghĩa. - Làm các bài tập liên quan đến mảng. - Xem trớc bài thực hành. 4. Rút kinh nghiệm . . . . 74 Ngày soạn: ./ ./ Ngày dạy: / / Bài thực hành 3, 4 (T 25, 26) I. Mục đích yêu cầu - Nâng cao kĩ năng sử dụng một số câu lệnh và một số kiểu dữ liệ thông qua việc tìm hiểu, chạy thử các chơng trình có sẵn. - Biết giải một số bài toán tính toán, tìm kiếm đơn giản trên máy tính. - Biết nhận xét, phân tích, đề xuất thuật toán giải bài toán sao cho chơng trình chạy nhanh hơn. - Làm quen với dữ liệu có cấu trúc và bài toán sắp xếp. II. Chuẩn bị thực hành - Chia lớp thành các nhóm nhỏ. - Yêu cầu học sinh xem trớc nội dung thực hành ở nhà. - Giáo viên chuẩn bị phòng máy, các máy tính đợc cài các chơng trình cần thiết. III. Nội dung thực hành. Bài 1: Cho dãy n số nguyên. Hãy sắp xếp dãy số trên thành dãy tăng dần, giảm dần Gv: Thuật toán này các em đã đợc làm quen, giờ hãy vận dụng để viết thành chơng trình hoàn chỉnh. Gv: Quan sát học sinh làm bài, giải đáp các thắc mắc trong qua trình lập trình. Gv: Nhận xét bài làm của học sinh. Gv: Chạy chơng trình mẫu đã chuẩn bị, giải thích ý nghĩa của từng biến, từng câu lệnh. Bài 2: Cho mảng 2 chiều m hàng, n cột. Hãy viết chơng trình nhập và đa mảng ra màn hình. Đa ra tổng các phần tử trên từng hành 75 [...]... khai báo xâu, biết cách truy cập phần tử của xâu - Sử dụng một số thủ tục, hàm thông dụng về xâu - Cái đặt đợc một số chơng trình đơn giản có sử dụng xâu II Lên lớp 1 ổn định lớp Lớp 11A Sĩ số Vắng Có phép 11A 11A 11A 2 Bài mới Hoạt động của thấy Hoạt động của trò Gv: Trong giờ trớc chúng ta đã cùng tìm hiểu một kiểu dữ liệu cơ bản trong lập trình, đó là kiểu mảng Tuy nhiên khi đi Hs: nghe... 2); Delete(st,4,4); Kết quả abcd Bac d Thủ tục insert(s1, s2, vt) chèn xâu s1 vào xâu s2 băt đầu từ vị trí vt Giá trị s1 .net Bac Son Giá trị s2 Vnexpress Thi tran Thao tác insert(s1, s2, 9); Delete(s1, s2,10); Kết quả vnexpress.net Thi tran Bac Son e Hàm COPY(S, vt, n) tạo xâu n kí tự liên tiếp bắt đầu từ vị trí vt của xâu S Giá trị S abc def Biểu thức Copy(S, 5, 2); f Hàm length(s) cho giá trị là... ASCII, mỗi kí tự là một phần tử của xâu Số lợng phân 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 Gv: Đa ra ví dụ: Hs: Săp xếp thành một dãy 2008 la nam Mau Ty Các em quan sát ví dụ và nhận xét trên, thấy các kí tự có đặc điểm gì? 79 Ngày soạn:././ Ngày dạy: / / Gv: Giữa các từ một dấu cách, vậy đó có phải là phần tử của xâu không? Hs: Có Gv: Từ nhận xét và phân tích... b Các phép so sánh: =, , , = Các phép tính so sánh có độ u tiên thấp hơn phép ghép xâu và tuân theo quy tắc: + Xâu A là lớn hơn xâu B nếu nh kí tự đầu tiên khác nhau giữa chúng kể từ trái sang trong xâu A có mã ASCII lớn Hs: nghe giảng, lấy ví dụ và tổng hợp lại các ý chính hơn + Nêu A và B là các xâu có độ dài khác nhau và A là đoạn đầu của B thì A là nhỏ hơn B + Hai xâu đợc gọi là bằng... 09 Cho mảng 2 chiều m, n gồm các số nguyên Viết chơng trình tìm giá trị nhỏ nhất của mảng Đề 10 Cho mảng 2 chiều m, n gồm các số nguyên Viết chơng trình đếm xem trong mảng có bao nhiêu số lẻ, chăn Đề 11 Cho mảg một chiều n số nguyên Viết chơng trình đếm xem trong mảng có bao nhiêu số nguyên tố Đề 12 Cho mảg một chiều n số nguyên Viết chơng trình tính tổng các số lẻ có trong dãy Đề 13 Cho mảg một chiều . Trang bị các kiến thức cớ bản cho các giờ thực hành tiếp sắp tới. II. Lên lớp 1. ổ n định lớp Lớp Sĩ số Vắng Có phép 11A 11A 11A 11A. moi ban nhap so hang m = ); Readln(m); Write( moi ban nhap so cot n = ); Readln(n); For i:= 1 to m do For j:= 1 to n do Begin Write( moi ban nhap phan tu

Ngày đăng: 22/06/2013, 01:26

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan