Phương pháp viết chương trình bằng thủ tục Cách chạy chương trình bằng thủ tục

Một phần của tài liệu giao an tin hoc 11 (Trang 112 - 122)

Ngày soạn: 20-04-2017 Tiết PPCT: 48

BÀI TẬP (Tiết 1) I. MỤC TIÊU

1. Kiến thức:

- Rèn luyện kỹ năng các thao tác mảng và xử lí xâu.

2. Kĩ năng:

- Nhận biết và bước đầu sử dụng được một số hàm và thủ tục để giải quyết một số bài tốn đơn giản liên quan

3. Thái độ

- Ham thích mơn học, cĩ tính kỷ luật cao.

II. PHƯƠNG TIỆN

- Giáo viên: Giáo án, sách giáo khoa, bảng, phấn, tài liệu,... - Học sinh: Vở ghi, sách giáo khoa tin học 11, bút, ...

III. TIẾN TRÌNH TIẾT DẠY1. Kiểm tra bài cũ: 1. Kiểm tra bài cũ:

Câu hỏi: Nêu cú pháp khai báo biến kiểu mảng một chiều (bằng cả 2 cách)? Trả lời:

- Kiểu dữ liệu cĩ cấu trúc là kiểu dữ liệu do người lập trình xây dựng dựa trên các kiểu dữ liệu đã cĩ.

- Mảng 1 chiều là một dãy hữu hạn các phần tử cĩ cùng kiểu dữ liệu, số phần tử của mảng được xác định khi khai báo.

- Cú pháp khai báo biến mảng một chiều:

+ Cách 1: Khai báo trực tiếp mảng một chiều:

Var <Tên biến mảng>:array[kiểu chỉ số] of <kiểu PT>;

+ Cách 2: Khai báo gián tiếp biến mảng qua kiểu mảng một chiều:

Type <tên kiểu mảng>= array[kiểu chỉ số] of <Kiểu PT>; Var <Tên biến mảng>:<tên kiểu mảng>;

2. Kết nối

Hoạt động của GV và HS Nội dung

GV: Khái quát lại chương mảng bằng các bài tập tổng quát

HS: Lên bảng làm bài

Bài 1: Viết chương trình nhập từ bàn phím dãy số nguyên a1, a2,. . .. .. . .. .., an . Tìm giá trị lớn nhất của dãy số.

Chương trình Program max;

Var A: Array[1..100] of integer; max, i, n:Integer;

Begin

Wrtie(‘nhap so luong phan tu mang n:=’); Readln(n); For i:=1 to n do Begin Write(‘phan tu thu’,i,’:=’); Readln(A[i]); End; Max:=A[1];

GV: Em hãy nêu quy tắc khai báo và các thao tác xử lý xâu HS: Lên bảng làm bài For i:=2 to n do If A[i]>Max then Max:=A[i]; Write(‘Max la :=’,Max); Readln End. 2. Kiểu xâu Bài tập:

Nhập vào từ bàn phím một xâu. Thay thế tất cả các cụm từ ‘anh’ bằng cụm ký tự ‘em’ Chương trình Program xau; Var a, s: String; I,k: byte; Begin

Write(‘Nhap xau a:=’); Readln(a); While pos(‘anh’,a)<>0 do Begin I:=pos(‘anh’,a); Delete(a,i,3); Insert(‘em’,a,i); End; For k:=1 to length(a) do Write(a); Readln End. 3. Củng cố: Cấu trúc mảng và xâu. 4. Bài tập về nhà:

Ngày soạn: 26-04-2017 Tiết PPCT: 49

BÀI TẬP (Tiết 2) I. MỤC TIÊU

1. Kiến thức:

- Rèn luyện kỹ năng các thao tác xử lí tệp.

2. Kĩ năng:

- Thực hiện được thao tác xử lí tệp: Gán tên tệp, mở/đĩng tệp, đọc/ghi tệp - Sử dụng được các thủ tục để đọc/ghi dữ liệu của tệp.

3. Thái độ

- Ham thích mơn học, cĩ tính kỷ luật cao.

II. PHƯƠNG TIỆN

- Giáo viên: Giáo án, sách giáo khoa, bảng, phấn, tài liệu,... - Học sinh: Vở ghi, sách giáo khoa tin học 11, bút, ...

III. TIẾN TRÌNH TIẾT DẠY

1. Kiểm tra bài cũ: Kết hợp trong bài mới

2. Kết nối

Hoạt động của GV và HS Nội dung

GV: Em hãy nêu quy tắc khai báo và các thao tác với tệp?

HS: Trả lời câu hỏi

GV: Giới thiệu bài tập để HS về tệp cho HS thực hiện

HS: Trả lời câu hỏi

1. Khai báo

Var<Tên biến tệp>: Text; 2. thao tác - Gán tên tệp Assign(<Biến tệp>,<Tên tệp>); - Mở tệp + Mở tệp để ghi dữ liệu Rewrite(<Biến tệp>); + Mở tệp để lấy dữ liệu Reset(<Biến tệp>); - Đọc ghi tệp văn bản + Đọc tệp văn bản - Read(<Biến tệp>,<Danh sáchbiến>); - Readln(<Biến tệp>,<Danh sáchbiến>); + Ghi tệp văn bản - Write(<Biến tệp>,<Danh sáchbiến>); - Write(<Biến tệp>,<Danh sáchbiến>); - Đĩng tệp Close(<Biến tệp>); Bài 1

Viết chương trình đọc vào tệp F1 gồm dãy số nguyên a1, a2,. . .. .. . .. .., an từ bàn phím. Tính tổng và đưa tổng vào tệp F2;

Chương trình Program Tep;

Var A: Array[1..100] of Integer; f1,f2:Text;

I, n: Integer; Begin

Write(‘Nhap so luong phan tu mang n:=’); Readln(n); For i:=1 to n do Begin Write(‘A’,i,’:=’); Readln(A[i]); End; Assign(f1,’Tep1.txt’); Rewrite(f1); For i:=1 to n do Write(f1,A[i]); Reset(f1); For i:=1 to n do While not eof(f) do Begin Read(f1,A[i]); S:=0; For i:=1 to n do S:=S+A[i]; Rewrite(f2); Write(f2,S); Close(f1); Close(f2); Readln End.

3. Củng cố: Cấu trúc tệp, các thao tác làm việc với tệp. 4. Bài tập về nhà:

Ngày soạn: 02-05-2017 Tiết PPCT: 50

ƠN TẬP HỌC KỲ II (Tiết 1) I. MỤC TIÊU

1. Kiến thức:

- Rèn luyện kỹ năng tồn bộ kiến thức đã được học từ học kì 2

2. Kĩ năng:

- Vận dụng được các lệnh và kiểu dữ liệu được học để lập trình giải các bài tốn một cách trọn vẹn.

3. Thái độ

- Ham thích mơn học, cĩ tính kỷ luật cao.

II. PHƯƠNG TIỆN

- Giáo viên: Giáo án, sách giáo khoa, bảng, phấn, tài liệu,... - Học sinh: Vở ghi, sách giáo khoa tin học 11, bút, ...

III. TIẾN TRÌNH TIẾT DẠY

1. Kiểm tra bài cũ: kết hợp trong bài mới

2. Kết nối

Hoạt động của GV và HS Nội dung

Giáo viên nêu bài tốn Hs ghi bài

Gv: xác định Input, Output của bài tốn?

Hs: trả lời câu hỏi

Gv: nêu cú pháp khai báo mảng 1 chiều?

Hs: trả lời câu hỏi

Gv yêu cầu hs khai báo mảng A gồm N (n ≤ 100) số nguyên

Gv gọi 1 hs lên bảng khai báo Hs lên bảng khai báo mảng A

Gv: Phép tốn kiểm tra tính lẻ của 1 số?

Hs: trả lời câu hỏi

Gv yêu cầu 1 hs lên bảng viết chương trình.

Hs lên bảng viết chương trình

Gv yêu cầu hs khác nhận xét Gv sửa bài, đánh giá và cho điểm. Gv nêu bài tốn

Hs ghi bài

Gv: xác định Input, Output của bài

Bài tốn 1: Viết chương trình tạo mảng A

gồm N (n ≤ 100) số nguyên, in ra màn hình các số nguyên lẻ.

Program Bt1; Uses crt;

Var A: array[1..10] of byte;

i, n: byte;

BEGIN

Write(‘Moi nhap so phan tu cua mang:’); readln(n); for i:=1 to n do BEGIN write(‘A[‘,i,’]=’); readln(A[i]); end; for i:=1 to n do

if A[i] mod 2 = 1 then write(A[i]:3); readln;

End.

Bài tốn 2 : (bài 8_trang 80) Viết chương trình

nhập từ bàn phím xâu kí tự S cĩ độ dài khơng quá 100. Cho biết cĩ bao nhiêu chữ số xuất hiện trong xâu. Đưa kết quả ra màn hình.

Program Baitoan1; Var S: string[100];

i, dem: byte;

BEGIN

tốn?

Hs: trả lời câu hỏi

Gv: tính giá trị trung bình của n phần tử?

Hs: trả lời câu hỏi

Gv yêu cầu 1 hs lên bảng viết chương trình.

Hs lên bảng viết chương trình

Gv yêu cầu hs khác nhận xét Gv sửa bài, đánh giá và cho điểm.

readln(S); dem:=0;

for i:=1 to length(S) do

if (‘0’ <= S[i]) and (S[i] <= ‘9’) then dem:=dem + 1;

writeln(‘trong xau S co’, dem, ‘chu so’); readln;

end.

3. Củng cố: Cấu trúc mảng và xâu. 4. Bài tập về nhà:

Ngày soạn: 04-05-2017 Tiết PPCT: 51

ƠN TẬP HỌC KỲ II (Tiết 2) I. MỤC TIÊU

1. Kiến thức:

- Rèn luyện kỹ năng tồn bộ kiến thức đã được học từ học kì 2

2. Kĩ năng:

- Vận dụng được các lệnh và kiểu dữ liệu được học để lập trình giải các bài tốn một cách trọn vẹn.

3. Thái độ

- Ham thích mơn học, cĩ tính kỷ luật cao.

II. PHƯƠNG TIỆN

- Giáo viên: Giáo án, sách giáo khoa, bảng, phấn, tài liệu,... - Học sinh: Vở ghi, sách giáo khoa tin học 11, bút, ...

III. TIẾN TRÌNH TIẾT DẠY1. Kiểm tra bài cũ: 1. Kiểm tra bài cũ:

2. Kết nối

Hoạt động của GV và HS Nội dung

GV: Cơng thức tính diện tích hình thang là gi?

-HS. S=(a+b)*h/2

GV Bài tốn này cần khai báo những biến nào

-HS. A1, b1, h1, a2,b2,h2,s:real -GV cùng HS xây dựng Control panel

.

GV: Bài tốn này cĩ thể chia thành những bài tốn con nào?

-HS. Tìm a

Bài tập 1: Lập hàm tính diện tích hình thang. Nhập Dl của 2 thửa ruộng hình thang và tính tổng diện tích.

Program hinh_thang;

Var a1, b1, h1, a2, b2, h2, s: Real; Function Hthang(a,b,h:real): real; Begin

Hthang:=(a+b)*h/2; End;

Begin

Write(‘ Nhap hinh thang1:’); Readln(a1,b1,h1);

Write(‘Nhap hinh thang 2:’); Readln(a2,b,2,h2); S:=Hthang(a1,b1,h1) + Hthang(a2,b2,h2); Write(‘s=’,s;8:2); Readln; End.

Bài 2: Lập chương trình viết PT đường thẳng là 3 cạnh của tam giác. Khi nhập vào từ bàn phím toạ độ 3 đỉnh.

Program PT;

Var x1,y1,x2,y2,x3,y3: real;

Tìm b

Thơng báo PT đường thẳng -GV. Lưu ý

b>0 thì viết: ‘+’ b

b<0 thi khơng viết gì cả

GV: Khi A(h1,t1) và B(h2,t2) thì a=?, b=?

-HS.

A:=(t2-t1)/(h2-h1) B:=t1- a*h1

GV. Trong bài tốn này ta sử dụng 3 CTC: CTC tìm a, CTC tìm b, 1 CTC thơng qua PT đường thẳng

Begin HS:=(t2-t1)/(h2-h1); End; Function TD(h1,t1,h2,t2:Real):Real; Begin TD:=t1-HS(h1,t1,h2,t2)*h1; End; Procedure PT(h1,t1,h2,t2:Real); Begin

Write(‘Pt duong thang di qua 2 diem:’); Write(‘y=’,HS(h1,t1,h2,t2):8:2,’*x’); If TD(h1,t1,h2,t2)>0 then Writeln(‘+’,TD(h1,t1,h2,t2):8:2) Else writeln(TD(h1,t1,h2,t2:8:2)); End; Begin

Wtire(‘Nhap toa do 3 dinh:’); Readln(x1,y1,x2,y2,x3,y3); PT(x1,y1,x2,y2); PT(x1,y1,x3,y3); PT(x2,y2,x3,y3); Readln; End.

3. Củng cố: Cấu trúc về chương trình con. 4. Bài tập về nhà:

Ngày soạn: 07-05-2017

Tiết 52: KIỂM TRA HỌC KỲ II I. MỤC TIÊU:

Đánh giá lại khả năng tiếp thu kiến thức của học snh.

II. MA TRẬN ĐỀ III. ĐỀ RA III. ĐỀ RA

TẬP CUỐI NĂM

I. MỤC TIU:

1/ Kiến thức: Nắm được tồn bộ kiến thức đ được học từ học kì 2

2/ Kĩ năng: Vận dụng được các lệnh và kiểu dữ liệu đ học để lập trình giải cc bi tốn một cch trọn vẹn

Một phần của tài liệu giao an tin hoc 11 (Trang 112 - 122)

Tải bản đầy đủ (DOCX)

(155 trang)
w