1. Trang chủ
  2. » Ngoại Ngữ

Giáo án giảng dạy môn Tin học 11 - Bài tập và thực hành 06

10 37 0

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

THÔNG TIN TÀI LIỆU

Nội dung

TRƯỜNG PTTH ĐẠI AN CHƯƠNG6:CHƯƠNGTRÌNHCONVÀLẬPTRÌNHCÓCẤUTRÚC Mở rộng cho học sinh về nhà chuẩn hoá chương trình với nội dung như sau: Cho tệp dữ liệu TAMGIAC.DAT có cấu trúc như sau: -Dò[r]

(1)TRƯỜNG PTTH ĐẠI AN CHƯƠNG6:CHƯƠNGTRÌNHCONVÀLẬPTRÌNHCÓCẤUTRÚC BÀI TẬP VÀ THỰC HÀNH 06 I.Mục đích yêu cầu -Về kiến thức: -Nhằm giúp cho học sinh củng cố lại kiến thức bài xâu -Tìm hiểu các thao tác xử lí xâu, cách tạo hiệu ứng chạy chữ trên màn hình -Về kỹ năng: -Nâng cao kỹ viết và sử dụng chương trình -Về thái độ: -Rèn luyện cho học sinh phẩm chất người lập trình tinh thần hợp tác, làm việc theo nhóm, tuân thủ các yêu cầu công việc chung -Tiếp tục xây dựng lòng ham muốn lập trình để giải các bài toán máy tính -Tự giác, chủ động, tích cực giải các bài tập và xây dựng phẩm chất cần thiết người lập trình II.Chuẩn bị GV và HS: + Giáo viên: -Giáo án, SGK -Phòng máy có cài sẵn chương trình Pascal để dạy -Máy chiếu (Projector) để chiếu số chương trình đã cài đặt + Học sinh: -Xem bài trước thực hành -SGK, các dụng cụ học tập III Phương pháp: -Diễn giảng -Phát vấn -Giải vấn đề -Trực quan IV Tiến trình lên lớp: Ổn định lớp: Kiểm tra sỉ số, ghi sổ đầu bài Kiểm tra bài cũ: -HS1: VCT nhập vào hai số nguyên Hoán vị hai số? Yêu cầu sử dụng thủ tục để hoán vị hai số -HS2: VCT tìm số nhỏ số nguyên nhập từ bàn phím? Sử dụng hàm VCT Hướng dẫn(trả lời): HS1: Program VIDU2; Uses crt; Var a,b:integer; Procedure HD(var x,y:integer); Var TG: Integer; Begin TG:=a;a:=b;b:=TG; End; Begin Clrscr; Write(‘A=’);Readln(A); Write(‘B=’);Readln(B); HD(a,b); Writeln(a:6,b:6); End HS2: Program Minbaso; Uses crt; Var a,b,c,d:real; Function Min(a,b:Real):Real; Begin If a<b then min:=a Else min:=b; End; Begin Clrscr; Write(‘ Nhap A,B,C,D=‘); readln(a,b,c,d); Writeln(‘Min la’,Min(Min(Min(a,b),c),d)); Readln; End Giáo viên: Kiên Nhiên Trang:129 Lop11.com (2) TRƯỜNG PTTH ĐẠI AN CHƯƠNG6:CHƯƠNGTRÌNHCONVÀLẬPTRÌNHCÓCẤUTRÚC Bài mới: Hoạt động 1: Tìm hiểu hai thủ thục cắt dán Catdan(s1,s2) và thủ tục Cangiua(s): Hđ GV Hđ HS Nd ghi bảng Tìm hiểu hai thủ thục cắt dán Catdan(s1,s2) và thủ tục Cangiua(s): Giúp cho HS hiểu hai thủ tục dùng chương trình Gọi HS đọc câu a thủ tục catdan() sách giáo khoa trang 103 Thủ tục trên nhận vào là gì và kết là gì? Vào xâu S1 là xâu không quá 79 kí tự Ra xâu S2 thu từ xâu S1 việc chuyển kí tự đầu tiên nó xuống vị trí cuối xâu Chiếu thủ thục cho HS xem VD: s1=’abcd’ thì s2=’bcda’; Type ST=string[79]; Procedure catdan(s1:ST; Quan sát Type ST=string[79]; var s2:ST); Begin Procedure catdan(s1:ST; var S2:=copy(s1,2,length(s1)s2:ST); 1)+s1[1]; Begin End; S2:=copy(s1,2,length(s1)1)+s1[1]; End; Gọi HS đọc câu a thủ tục cangiua() sách giáo khoa Thủ tục đầu vào là gì? Đầu là gì? Trên màn hình người ta chia 25x80 (25 dòng, 80 Vào là xâu s gồm không quá 79 kí tự cột) Ra xâu kí tự s ban đầu dòng(80 kí tự) với kí tự trống ‘ ’ Chiếu thủ tục cho HS xem Quan sát Procedure cangiua(var s:ST); Var i,n: integer; Begin n:=length(s); n:=(80-n) div 2; {80 chia 2} for i:=1 to n s:=’ ‘+s; End; Hoạt động 2: Theo dõi cách viết và sử dụng các thủ tục trên: Giáo viên: Kiên Nhiên Trang:130 Lop11.com (3) TRƯỜNG PTTH ĐẠI AN Hđ GV Chiếu chương trình lên cho học sinh xem Yêu cầu HS giải thích câu lệnh chương trình Giải thích cho học sinh các thủ tục: Gotoxy(x,y): chuyển trỏ màn hình đến vị trí cột x, dòng y trên màn hình delay(n) dừng trạng thái màn hình n miligiây Keypressed: chờ nhận phím bất kì từ bàn phím CHƯƠNG6:CHƯƠNGTRÌNHCONVÀLẬPTRÌNHCÓCẤUTRÚC Hđ HS Nd ghi bảng 2.Sử dụng thủ tục trên ta viết chương trình nhâp vào xâu từ bàn phím và đưa màn hình có dạng dòng chữ chạy màn hình văn 25x80 Program Caub; Uses crt; Quan sát chương trình Type ST=string[79]; Var s1,s2:ST; Stop:boolean; Type ST=string[79]; Procedure catdan(s1:ST; var s2:ST); Begin S2:=copy(s1,2,length(s1)1)+s1[1]; End; Procedure cangiua(var s:ST); Var I,n: Integer; Begin n:=length(s); n:=(80-n) div 2; for i:=1 to n s:=’ ‘+s; End; Begin Clrscr; Write(‘ nhap s1’); Readln(s1); Cangiua(s1); Clrscr; Stop:=false; While not(stop) Begin Gotoxy(1,12);write(s1); Delay(500); Catdan(s1,s2); S1:=s2; Stop:=keypressed; End; Readln; End Chạy chương trình trên với dòng chữ: ‘ Mung nghin nam Thang Long – Ha Noi !’ Củng cố: Hđ Gv Có thủ thục đó là cắt dán và Lắng nghe -Cắt dán: cắt kí tự đầu xâu S1 và dán Giáo viên: Kiên Nhiên Hđ Hs Trang:131 Lop11.com (4) TRƯỜNG PTTH ĐẠI AN CHƯƠNG6:CHƯƠNGTRÌNHCONVÀLẬPTRÌNHCÓCẤUTRÚC Hđ Gv Hđ Hs vào xâu S2 vị trí cuối cùng -Căn giữa: đưa trỏ vị trí màn hình 20 dòng 80 cột (25x80) Cách viết và sử dụng chương trình: -Nhập chương trình Gotoxy(x,y): chuyển trỏ màn hình đến vị trí cột x, dòng y trên màn hình -Hai thủ tục Gotoxy(x,y); delay(n); delay(n) dừng trạng thái màn hình n miligiây -Chạy chương trình Dặn dò: Về nhà học bài và làm các bài tập sau: Viết thủ tục tìm UCLN hai số nguyên dương a,b Viết thủ tục nhập bảng số nguyên có dòng cột Viết thủ tục In màn hình bảng số nguyên bài Xem tiếp câu C Viết chương trình có sử dụng thủ tục chạy chữ Tiết sau thực hành trên máy Giáo viên: Kiên Nhiên Trang:132 Lop11.com (5) TRƯỜNG PTTH ĐẠI AN CHƯƠNG6:CHƯƠNGTRÌNHCONVÀLẬPTRÌNHCÓCẤUTRÚC =========================================================== Tuần: 27,28 || || Ngày dạy: / / Tiết: 45,46 || || Ngày soạn: 10/12/2007 BÀI TẬP VÀ THỰC HÀNH 07 I.Mục đích yêu cầu: A.VÒ kiÕn thøc:  Tiếp tục củng cố cho học sinh lại kiến thức đã học chương trình như: khái niệm chương trình và phân loại chương trình là Hàm và thủ tục  Cấu trúc chương trình con, tham số hình thức, tham số thực và cách gọi chương trình con, Biến toàn cục, biến cục bộ………  Yêu cầu học sinh nhắc lại tham số thực sự, biến cục bộ, biến toàn cục, tham số giá trị, tham số biến  Cho học sinh làm số bài tập đơn giản, trắc nghiệm khách quan B.VÒ kü n¨ng:  Rèn luyện cho học sinh kĩ lập trình, vận dụng câu lệnh có cấu trúc để giải bài toán  Học sinh cần áp dụng các hàm và thủ tục đã học để giải số bài toán đơn giản C.Về thái độ:  Tiếp tục rèn luyện cho học sinh phẩm chất người lập trình tinh thần hợp tác, làm việc theo nhóm, tuân thủ các yêu cầu công việc chung  Tiếp tục xây dựng lòng ham muốn lập trình để giải các bài toán máy tính  Học sinh tự giác, chủ động, tích cực giải các bài tập và xây dựng phẩm chất cần thiết người lập trình  Học sinh tự rèn luyện các kĩ việc tổ chức và sử dụng chương trình lập trình cách có hiệu II.ChuÈn bÞ cña thÇy vµ trß: 1.ChuÈn bÞ cña thÇy:  Gi¸o ¸n, SGK  Một số đồ dùng dạy học có liên quan đến bài dạy  Sö dông b¶ng, (nÕu cã m¸y chiÕu th× tèt) 2.ChuÈn bÞ cña trß:  Xem bài trước đến lớp  Mét sè dông cô häc tËp 3.Phương pháp  Diễn giảng  Thuyết trình và phát vấn  Giải vấn đề  Trực quan III.Hoạt động: Ổn định lớp: Kiểm tra sỉ số, ghi sổ đầu bài (1’) Kiểm tra bài cũ:  HS1: Viết thủ tục câu bài thực hành 06?  HS2: Viết thủ tục câu bài thực hành 06? Hướng dẫn(trã lời): HS1: Procedure cau1(a,b:integer;var I:integer); Var du: Integer; Begin While b<>0 Giáo viên: Kiên Nhiên Begin Du:=a mod b; A:=b; b:=du; End; I:=b; End; Trang:133 Lop11.com (6) TRƯỜNG PTTH ĐẠI AN CHƯƠNG6:CHƯƠNGTRÌNHCONVÀLẬPTRÌNHCÓCẤUTRÚC HS2: Type AA=array[1 4,1 5] of Integer; Procedure cau2(Var a:AA); Var I,j : byte; Begin For I:=1 to For j:=1 to Begin Write(‘ Nhap’);readln(A[I,j]); End; End; Giáo viên: Kiên Nhiên Trang:56 Lop11.com (7) TRƯỜNG PTTH ĐẠI AN CHƯƠNG6:CHƯƠNGTRÌNHCONVÀLẬPTRÌNHCÓCẤUTRÚC Đặt vấn đề: Củng cố lại kiến thức đã học phần hàm và thủ tục học sinh nắm chức hai thủ tục catdan() và canhgiua() Biết ý nghĩa các tham số chương trình Hoạt động thầy Hoạt động trò Néi dung cña bµi  Giúp cho HS hiểu HS: Theo dõi hướng dẫn Câu a: các hàm và thủ tục GV nhà viết các hàm và thủ Type diem=record dùng chương trình tục SGK X,y:real;  Gọi HS đọc câu a và HS: Tìm hiểu các hàm và thủ End; viết các hàm và thủ tục tục thực tính độ dài các Tamgiac=record sách giáo khoa trang cạnh, chu vi, diện tích, kiểm tra A,B,C:diem; 105 các tính chất đều, cân, vuông End;  Ta xây dựng các hàm tam giác trình bày và thủ tục sau: đây  Thủ tục nhận liệu Procedure daicanh ( Var Procedure daicanh ( Var vào là biến mô tả tam giác r:Tamgiac; var a,b,c: real); r:Tamgiac; var a,b,c: real); R và liệu là độ dài Begin Begin cạnh a,b,c A:=kh_canh(R.B,R.C); A:=kh_canh(R.B,R.C); Procedure daicanh(var r: B:=kh_canh(R.A,R.C); B:=kh_canh(R.A,R.C); Tamgiac; var a,b,c: real); C:=kh_canh(R.B,R.A); C:=kh_canh(R.B,R.A); End; End;  Hàm tính chu vi Function Chuvi( Var R: Function Chuvi( Var R: tam giác R tamgiac):Real; tamgiac):Real; Function Chuvi ( Var R: Var a,b,c: real; Var a,b,c: real; tamgiac) : Real; Begin Begin Daicanh(R,a,b,c); Daicanh(R,a,b,c); Chuvi:=a+b+c; Chuvi:=a+b+c; End; End;  Hàm tính diện tích Function dientich ( Var R : Function dientich ( Var R : tam giác R tamgiac) : Real; tamgiac) : Real; Function dientich ( Var R: Var a,b,c,p: real; Var a,b,c,p: real; tamgiac) : Real; Begin Begin Daicanh(R,a,b,c); Daicanh(R,a,b,c); P:=(a+b+c)/2; P:=(a+b+c)/2; Dientich:=sqrt(p*(p-a)*(pDientich:=sqrt(p*(p-a)*(pb)*(p*c)); b)*(p*c)); End; End;  Thủ tục nhận đầu vào Procedure tinhchat( var R: Procedure tinhchat( var R: là biến mô tả tam giác R và tamgiac; var tamgiac; var đầu tính chất tam deu,can,vuong:boolean); deu,can,vuong:boolean); giác (deu hay can hay Var a,b,c:real; Var a,b,c:real; Begin Begin vuong); Procedure tinhchat( var R: Deu:=false;can:=false; Deu:=false;can:=false; Vuong:=false; tamgiac ;var Vuong:=false; deu,can,vuong:boolean); Daicanh(R,a,b,c); Daicanh(R,a,b,c); If (abs(a-b)<eps) and (abs(a-c) If (abs(a-b)<eps) and (abs(a-c) <eps) then deu:=true <eps) then deu:=true Else Else If (abs(a-b)<eps) or (abs(a-c) If (abs(a-b)<eps) or (abs(a-c) <eps) or (abs(b-c)<eps) then <eps) or (abs(b-c)<eps) then can:=true; can:=true; If (abs(a*a+b*b-c*c)<eps) or If (abs(a*a+b*b-c*c)<eps) or (abs(a*a+c*c-b*b)<eps) or (abs(a*a+c*c-b*b)<eps) or Giáo viên: Kiên Nhiên Trang:57 Lop11.com (8) TRƯỜNG PTTH ĐẠI AN Thủ tục thị toạ độ đỉnh tam giác lên màn hình Procedure hienthi ( var : R:tamgiac);  Hàm tích khoảng cách điểm p,q Function Kh_cach(p,q:diem):real;  GV: Tìm hiểu chương trình nhập vào độ dài cạnh tam giác và sử dụng các hàm và thủ tục xây dựng trên để khảo sát tính chất tam giác GV: Gọi HS giải thích nhiệm vụ chương trình và cho biết chức CHƯƠNG6:CHƯƠNGTRÌNHCONVÀLẬPTRÌNHCÓCẤUTRÚC (abs(b*b+c*c-a*a)<eps) then (abs(b*b+c*c-a*a)<eps) then vuong:=true; vuong:=true; End; End; End; End; Procedure hienthi(var: Procedure hienthi(var: R:tamgiac); R:tamgiac); Begin Begin Writeln(‘toa dinh’); Writeln(‘toa dinh’); Writeln(‘A’,R.A.X,R.A.Y); Writeln(‘A’,R.A.X,R.A.Y); Writeln(‘B’,R.B.X,R.B.Y); Writeln(‘B’,R.B.X,R.B.Y); Writeln(‘C’,R.C.X,R.C.Y); Writeln(‘C’,R.C.X,R.C.Y); End; End; Function Function Kh_cach(p,q:diem):real; Kh_cach(p,q:diem):real; Begin Begin Kh_cach:=sqrt((p.x+q.x)*((p.y+ Kh_cach:=sqrt((p.x+q.x)*((p.y+ q.y)*((p.c+q.c)); q.y)*((p.c+q.c)); End; End; Câu b Uses crt; Const eps=1.0E-6; Type diem=record X,y:real; End; Tamgiac=record A,B,C:diem; End; Var T: tamgiac; Cau,deu,vuong:boolean; Function Kh_cach(p,q:diem):real; Begin Kh_cach:=sqrt((p.x+q.x)*((p.y+ q.y)*((p.c+q.c)); End; HS: Theo dõi hướng dẫn Procedure daicanh ( Var GV r:Tamgiac; var a,b,c: real); Begin A:=kh_canh(R.B,R.C); B:=kh_canh(R.A,R.C); C:=kh_canh(R.B,R.A); End; Function Chuvi( Var R: tamgiac):Real; Var a,b,c: real; Begin Daicanh(R,a,b,c); Chuvi:=a+b+c; End; Function dientich ( Var R : tamgiac) : Real; Var a,b,c,p: real; Begin Giáo viên: Kiên Nhiên Trang:58 Lop11.com (9) TRƯỜNG PTTH ĐẠI AN CHƯƠNG6:CHƯƠNGTRÌNHCONVÀLẬPTRÌNHCÓCẤUTRÚC Daicanh(R,a,b,c); P:=(a+b+c)/2; Dientich:=sqrt(p*(p-a)*(pb)*(p*c)); End; Procedure hienthi(var: R:tamgiac); Begin Writeln(‘toa dinh’); Writeln(‘A’,R.A.X,R.A.Y); Writeln(‘B’,R.B.X,R.B.Y); Writeln(‘C’,R.C.X,R.C.Y); End; Procedure tinhchat( var R: tamgiac; var deu,can,vuong:boolean); Var a,b,c:real; Begin Deu:=false;can:=false; Vuong:=false; Daicanh(R,a,b,c); If (abs(a-b)<eps) and (abs(a-c) <eps) then deu:=true Else If (abs(a-b)<eps) or (abs(a-c) <eps) or (abs(b-c)<eps) then can:=true; If (abs(a*a+b*b-c*c)<eps) or (abs(a*a+c*c-b*b)<eps) or (abs(b*b+c*c-a*a)<eps) then vuong:=true; End; End; BEGIN Writeln(‘ nhap tam giac’); Writeln(‘A’);readln(T.A.X,T.A Y); Writeln(‘B’);readln(T.B.X,T.B Y); Writeln(‘C’);readln(T.C.X,T.C Y); Writeln(‘============’); Hienthi(t); Writeln(‘DienTich’,dientich(T); Writeln(‘Chu vi’,chuvi(T); Tinhchat(T,deu,cau,vuong); Writeln(‘ Tam giac co tinh ’); If deu then writeln(‘deu’) Else If can then writeln(‘Can’); If vuong then writeln(‘vuong’); Readln; End Giáo viên: Kiên Nhiên Trang:59 Lop11.com (10) TRƯỜNG PTTH ĐẠI AN CHƯƠNG6:CHƯƠNGTRÌNHCONVÀLẬPTRÌNHCÓCẤUTRÚC Mở rộng cho học sinh nhà chuẩn hoá chương trình với nội dung sau: Cho tệp liệu TAMGIAC.DAT có cấu trúc sau: -Dòng đầu tiên chứa số N -N dòng dòng chứa các số thực Xa,Ya,Xb,Yb,Xc,Yc là độ dài đỉnh tam giác A(Xa,Ya),B(Xb,Yb), HS: Theo dõi hướng dẫn C(Xc,Yc) tam giác GV suy nghĩ nhà làm bài tập ABC Hãy nhập liệu từ tệp đã cho và số N tam giác đó, đưa tệp TAMGIAC.OUT gồm dòng -Dòng đầu tiên là số lượng tam giác -Dòng thứ hai là số lượng tam giác cân -Dòng thứ ba là số lượng tam giác Vuông CỦNG CỐ  Củng cố kiến thức đã học chương trình (hàm và thủ tục)  Rèn luyện kĩ lập trình học sinh  Củng cố lại vai trò chức hàm và thủ tục Cách gọi chương trình  Nâng cao kĩ viết và sử dụng chương trình giải bài tập DẶN DÒ:  Về nhà học bài và làm các bài tập sau: Cho tệp liệu TAMGIAC.DAT có cấu trúc sau: -Dòng đầu tiên chứa số N -N dòng dòng chứa các số thực Xa,Ya,Xb,Yb,Xc,Yc là độ dài đỉnh tam giác A(Xa,Ya),B(Xb,Yb), C(Xc,Yc) tam giác ABC Hãy nhập liệu từ tệp đã cho và số N tam giác đó, đưa tệp TAMGIAC.OUT gồm dòng -Dòng đầu tiên là số lượng tam giác -Dòng thứ hai là số lượng tam giác cân -Dòng thứ ba là số lượng tam giác Vuông Viết hàm tính giá trị đa thức f(x)=x10+x9+…….x2+x+1 Với x là số thực Cho dãy 100 số thực Hãy viết hàm tìm số lớn (số nhỏ nhất) dãy  Xem trước bài THƯ VIỆN CHƯƠNG TRÌNH CON CHUẨN ============================ Giáo viên: Kiên Nhiên Trang:60 Lop11.com (11)

Ngày đăng: 01/04/2021, 23:48

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w