1. Trang chủ
  2. » Giáo án - Bài giảng

Giáo án Tin học 11

71 770 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 71
Dung lượng 553,5 KB

Nội dung

rat hay va soan cong phu

Trang 1

Năm 2012-2013 Giáo án Tin Học 11

- Bổ sung thêm cho HS kiểu dữ liệu mới ngoài các kiểu dữ liệu đơn giản đã học

- Cung cấp cho HS công cụ để giải quyết các bài toán đặt ra trong thực tế một cách tối ưu nhất

- HS nắm được cách khai báo mảng 1 chiều và cách truy xuất đến các phần tử của mảng

- Bước đầu có thể vận dụng để giải các bài toán đơn giản

B PHƯƠNG PHÁP:

- Đặt vấn đề kết hợp với diễn giải

- Dùng phương pháp giải quyết vấn đề

C NỘI DUNG BÀI GIẢNG:

1 Ổn định lớp :

2 Kiểm tra bài cũ :

3 Bài mới :

Đặt vấn đề: Từ trước đến nay ta đã học các kiểu dữ liệu đơn giản như: kiểu số nguyên, kiểu

số thực, kiểu kí tự Từ các kiểu dữ liệu cơ bản này ta có thể xây dựng các kiểu dữ liệu phức tạp hơn đó là kiểu dữ kiệu có cấu trúc Hôm nya chúng ta đi vào sang chương mới đó

là kiểu dữ liệu có cấu trúc mà cụ thể là kiểu mảng.

Trong ví dụ của Sgk ta thấy

để tính nhiệt độ một tuần

người ta phải sử dụng 7 biến

để lưu trữ nhiệt độ của 7

nhiêu ngày thì ta phải dùng

bấy nhiêu câu lệnh if để

kiểm tra ngày đó có nhiệt độ

lớn hơn nhiệt độ trung bình

hay không

Trong bài toán này nếu

chúng ta tổ chức dữ liệu

dưới dạng mảng 1 chiều thì

việc giải quyết bài toán này

có phần đơn giản hơn

Ví dụ 2: Viết chương trình nhập vào

một dãy số nguyên bao gồm n phần tử và

in ra màn hình tổng các số có trong dãy

số đó.

2 Khai báo mảng 1 chiều:

a) Khai báo gián tiếp:

TYPE Tênkiểumảng=ARRAY[kiểu chữ số]

OF Kiểu phần tử;

Var tênbiến : tên kiểu mảng;

Trang 2

Năm 2012-2013 Giáo án Tin Học 11

H: Trong ví dụ trên có bao

nhiêu phần tử từ bao nhiêu

cách khai báo gián tiếp?

TL: Tên kiểu được lặp lại 2

lần

Giả sử ta bỏ tên kiểu đi và ta

có thể khai báo trực tiếp vào

tên biến như sau:

Trong khai báo trực tiếp

Kiểu chỉ số và kiểu phần tử

tương tự như khai báo gián

tiếp

H: Từ cách khai báo gián

tiếp ở ví dụ trên em nào có

thể viết lại bằìng cách khai

báo trực tiếp (Cho HS lên

được đánh chỉ số bởi các giá

trị liên tục trong một miền

con nên việc thực hiện các

thao tác trên dãy thường gắn

liền với câu lệnh FOR DO

Cho Hs lên bảng viết nếu

còn thời gian

Trong đó:

- Kiểu chỉ số: là kiểu dữ liệu miền con mà

thông thường là biểu thứ nguyên xác định chỉ số đầu và chỉ số cuối Có dạng:

chỉ số đầu chỉ số cuối

- Kiểu phần tử là kiểu phần tử của mảng.

Ví dụ: Khai báo cho ví dụ 2 ở trênTYPE day=ARRAY[1 n] OF Integer;

Var A: day;

b) Khai báo trực tiếp:

VAR tênbiến : ARRAY[kiểu chữ số] OF Kiểu phần tử;

Ví dụ:

Var A: ARRAY[1 n] OF Integer;

3 Tham chiếu đến các phần tử của

mảng 1 chiều: TP không cho phép truy

xuất dữ liệu trực tiếp trên biến mảng mà chỉ có thể truy xuất đến các phần tử của mảng thông qua tên biến mảng và chỉ số của nó

a) Nhập giá trị cho mảng 1 chiều: Giả sử

mảng A đã được khai báo như ở trên hãy nhập giá trị cho mọi phần

tử của mảng.

FOR i:=1 TO n DO Begin

Write(‘Nhap vao cac phan tu thu’, i); Readln(A[i]);

Write(‘Nhap vao cac phan tu thu’, i); Readln(A[i]);

End;

S:=0;

FOR i:=1 TO n DO S:= S + A[i];

Writeln(‘Tong la’, S);

Readln;

End

Trang 3

Năm 2012-2013 Giáo án Tin Học 11

D CỦNG CỐ:

Qua bài học, cần nắm vững cách sử dụng đối với kiểu dữ liệu này Chú ý đến cách khai báo mảng hoặc là gián tiếp hoặc là trực tiếp khi viết chương trình Nắm được cách nhập mảng, xuất giá trị của mảng ra màn hình Với mọi bài toán dùng mảng, khi cần tạo mảng hay thực hiện thao tác nào trên mảng, ta đều phải dựa vào chỉ số của nó

E Bài tập về nhà: Bài số 1 đến 8 trang 83 Sgk

- Bổ sung thêm cho HS kiểu dữ liệu mới ngoài các kiểu dữ liệu đơn giản đã học

- Cung cấp cho HS công cụ để giải quyết các bài toán đặt ra trong thực tế một cách tối ưu nhất

- HS nắm được cách khai báo mảng hai chiều và cách truy xuất đến các phần tử của mảng

- Bước đầu có thể vận dụng để giải các bài toán

E PHƯƠNG PHÁP:

- Đặt vấn đề kết hợûp với diễn giải

- Dùng phương pháp giải quyết vấn đề

F NỘI DUNG BÀI GIẢNG:

1 Ổn định lớp :

2 Kiểm tra bài cũ :

1 Trình bày cách khai báo mảng 1 chiều gián tiếp và vận dụng để viết chương trình đếm các số dương có trong dãy số có 10 phần tử nguyên

2 Trình bày cách khai báo mảng 1 chiều trực tiếp và vận dụng để viết chương trình tính tổng các số có trong dãy số có 10 phần tử nguyên

lấy một phần tử nào đó trong

bảng số thì ta phải dựa vào chỉ

II Kiểu mảng hai chiều:

1 Khai báo : a) Khai báo gián tiếp:

TYPE Tênkiểumảng=ARRAY[kiểu chỉ số dòng, kiểu chỉ số cột] OF Kiểu phần tử;

Var tênbiến : tên kiểu mảng;

Trong đó:

- Kiểu chỉ số dòng, kiểu chỉ số cột:: là kiểu dữ

liệu miền con mà thông thường là biểu thứ nguyên xác định chỉ số đầu dòng và chỉ số cuối dòng; chỉ số đầu cột và chỉ số cuối cột

- Kiểu phần tử là kiểu phần tử của mảng.

Ví dụ: Khai báo cho mảng A có n dòng, m cột, các phân tử có kiểu nguyên

Trang 4

Năm 2012-2013 Giáo án Tin Học 11

Tương tự như khai báo mảng 1

chiều, mảng 2 chiều cũng được

khai báo tương tự như vậy

- Chỉ số của mảng được biểu

diễn theo chỉ số dòng và chỉ số

cột Các chỉ số của mảng phải là

các số nguyên

TP không cho phép truy xuất dữ

liệu trực tiếp trên biến mảng mà

vào chỉ số của từng phần tử, vậy

ta cần có hai biến để lưu chỉ số

dòng, chỉ số cột của mảng

+ Quá trình nhập ta đi từng

dòng, tại mỗi dòng ta sẽ lần lượt

nhập tại các cột Vậy quá trình

nhập được lặp lại theo từ dòng

Var A: mang2;

b) Khai báo trực tiếp:

VAR tênbiến : ARRAY[kiểu chữ số dòng,kiểu chỉ số cột] OF Kiểu phần tử;

Ví dụ:

Var A: ARRAY[1 n,1 m] OF Integer;

2 Tham chiếu đến các phần tử của mảng:

Tên biến mảng[chỉ số dòng, chỉ số cột]

c) Nhập giá trị cho mảng 2 chiều: Giả sử

mảng A đã được khai báo như ở trên hãy nhập giá trị cho mọi phần tử của mảng.

FOR i:=1 TO n DO FOR j:=1 TO m DO Begin

Write(‘Nhap vao cac phan tu thu’, i);

Readln(A[i,j]);

End;

FOR i:=1 TO 5 DO FOR j:=1 TO 3 DO Begin

IF a[i,j] >0 THEN Write( A[i,j], ‘ ‘);

End;

ReadlnEnd

D CỦNG CỐ:

Qua bài học, cần nắm vững cách sử dụng đối với kiểu dữ liệu này Chú ý học thuộc cách nhập mảng, với mọi bài toán dùng mảng, khi cần tạo mảng hay thực hiện thao tác nào trên mảng, ta đều phải dựa vào chỉ số của nó

E.HƯỚNG DẪN HỌC Ở NHÀ:

Trang 5

Năm 2012-2013 Giáo án Tin Học 11

1 Cho mảng A có 4 dòng 5 cột, các phần tử có kiểu nguyên Hãy viết chương trình:

1 Giúp học sinh ôn tập kiến thức cũ đã học

2 Giúp học sinh hiểu rõ lý thuyết, nắm được mối liên hệ giữa các phần đã học

3 Hệ thống lại các nội dung đã học và vận dụng vào từng bài cụ thể

4 Học sinh nắm vững cú pháp, cách hoạt động của từng câu lệnh, vận dụng trong từng trường hợp cụ thể để giải bài tập

5 Học sinh vận dụng được lý thuyết vào việc giải bài tập

B Phương pháp:

- Dự kiến sử dụng phương pháp diễn giảng và đàm thoại

( thông qua hệ thống câu hỏi để đàm thoại trực tiếp với học sinh nhằm mục đích kiểm tra bài cũ và củng cố lại kiến thức đã học.)

- Gọi học sinh lên bảng làm bài tập

Hoạt động GV Hoạt động HS Nội dung

H: Khai báo mảng mấy

Var tênbiến : tên kiểu mảng;

a) Khai báo trực tiếp:

VAR tênbiến : ARRAY[kiểu chữ số] OF Kiểu phần tử;

II Bài tập:

Bài 1: Cho mảng A bao gồm n số nguyên (n

nhập từ bàn phím) rồi thực hiện các công việc sau:

a) Nhập giá trị cho từng phần tử của mảng b) In ra màn hình tổng các số dương và số lượng các số dương có trong mảng

c) In ra màn hình các số chia hết cho 5

Trang 6

Năm 2012-2013 Giáo án Tin Học 11

Hoạt động GV Hoạt động HS Nội dung

nhất, giả sử dùng biến Min thì

biến min có kiểu gì?

Tl: Số thực

H: Để đếm số lượng các số

âm và số lượng các số dương

thì các biến có kiểu gi?

II Tl: Số nguyên

H: Muốn tìm số nhỏ nhất

trong 1 dãy số ta làm thế nào?

Tl: Đầu tiền gán giá trị đầu

làm giá trị nhỏ nhất sau đó so

sánh với các phaâ ftử còn lại,

nếu thấy có phần tử có giá trị

nhỏ hơn phần tử min thì gán

lại giá trị nhỉ nhất Làm như

vậy cho đến phần tử cuối

Write(‘Nhap vao cac phan tu thu’, i);

Readln(A[i]);

End;

S:=0; S1:=0; d:= 0;

FOR i:=1 TO n DOBegin

IF A[i]>0 then Begin S:= S + A[i];

Writeln(‘Tong so chia het cho 5, S1);

Writeln(‘So luong so duong, d);

Readln;

End

Bài 2: Cho mảng A bao gồm 20 số thực rồi

thực hiện các công việc sau:

a) Nhập giá trị cho từng phần tử của mảng b) In ra màn hình số lượng số dương và số lượng các số âm có trong mảng

Write(‘Nhap vao cac phan tu thu’, i);

Readln(A[i]);

End;

d1:= 0; d2:=0; Min:=A[i];

FOR i:=1 TO n DOBegin

IF A[i]<0 then d1:=d1+1 Else d2:=d2+1;

IF A[i] <Min then Min:=A[i];

End;

Writeln(‘So luong so duong’, d2);

Writeln(‘So luong so am, d1);

Writeln(‘So nho nhat la, min);

Trang 7

Năm 2012-2013 Giáo án Tin Học 11

Hoạt động GV Hoạt động HS Nội dung

- Biết giải quyết trên máy tính một số bài toán về tính toán và tìm kiếm

- Tất cả học sinh phải nắm vững lý thuyết, phải chuẩn bị bài tốt

- Tất cả học sinh phải tận dụng tối đa thời gian thực hành

B Phương pháp: Thực hành đồng loạt tại phòng máy,cuối giờ có đánh giá kết quả

C Tiến trình thực hành:

1 Tổ chức:

lớp chia làm 20 nhóm: thực hành tại phòng máy

- khi đi thực hành phải đem theo bài đã chuẩn bị sẵn trên giấy kẻ ngang có ghi họ tên, lớp và nộp cho giáo viên khi vào phòng máy

- 2 3 học sinh /1máy

2 Tiến trình thực hiện:

A) Một số lỗi thường gặp :

“ ; “ expected : thiếu dấu ;

“ : “ expected : thiếu dấu :

“, “ expected : thiếu dấu,

“ ( “expected : thiếu dấu (

“ ) “ expected : thiếu dấu )

“ =” expected : thiếu dấu =

“ := “ expected : toán tử gán không xuất hiện ở nơi cần

error in statement: ký hiệu này không thể bắt đầu một câu lệnh

3 Nội dung thực hành:

Bài 1: Sgk trang 77

Các câu hỏi dự kiến:

1 Mở file mới, đặt tên file là BAI3.PAS

Bài 1a- Trong bài thực hành từ dòng 7 đến dòng 10 dùng để tạo số ngẫu nhiên

Câu hỏi 1: Nhập chương trình của bài 1a và ghi kết quả thu được khi chạy chương trình, Sau đó

thay dòng 7 đến dòng 10 bằng đoạn nhập giá trị cho từng phần tử của mảng như sau:

FOR i:=1 TO n DO

Write(‘Nhap vao cac phan tu thu’, i);

Trang 8

Năm 2012-2013 Giáo án Tin Học 11

Câu hỏi 2: Chạy lại chương trình xem cách thực hiện có thay đổi hay không và kết quả như thế

nào?

- Viết tất cả kết quả thu được ở hai câu trên lên giấy và nộp lại cho giáo viên

Bài 1b: Nhập câu b) vào chương trình và ghi kết quả thu được vào giấy.

* Sau khi thực hiện xong thì ấn F2 để lưu lại kết quả

Bài 2:Cho mảng A gồm 10 phần tử có kiểu số nguyên Hãy viết chương trình:

Day vua nhap la: 4 2 5 3 9 67 45 52 12 14

So luong phan tu duong: 6

So luong phan tu am: 4

* Mở file mới, đặt tên file là BAI2.PAS

* Sau khi thực hiện xong thì ấn F2 để lưu lại kết quả

D CỦNG CỐ:

- Nắm được cách nhập giá trị cho mảng và tạo giá trị ngẫu nhiên của hàm Random

E DẶN DÒ: Tiết sau ôn tập để thi học kỳ.

- Biết giải quyết trên máy tính một số bài toán về tính toán và tìm kiếm

- Tất cả học sinh phải nắm vững lý thuyết, phải chuẩn bị bài tốt

- Tất cả học sinh phải tận dụng tối đa thời gian thực hành

B Phương pháp: Thực hành đồng loạt tại phòng máy, cuối giờ có đánh giá kết quả

C Tiến trình thực hành:

1 Tổ chức:

lớp chia làm 20 nhóm: thực hành tại phòng máy

- khi đi thực hành phải đem theo bài đã chuẩn bị sẵn trên giấy kẻ ngang có ghi họ tên, lớp và nộp cho giáo viên khi vào phòng máy

- 2 3 học sinh /1máy

2 Tiến trình thực hiện:

Trang 9

Năm 2012-2013 Giâo ân Tin Học 11

* Một số lỗi thường gặp :

“ ; “ expected : thiếu dấu ;

“ : “ expected : thiếu dấu :

“, “ expected : thiếu dấu,

“ ( “expected : thiếu dấu (

“ ) “ expected : thiếu dấu )

“ =” expected : thiếu dấu =

“ := “ expected : toân tử gân không xuất hiện ở nơi cần

error in statement: ký hiệu năy không thể bắt đầu một cđu lệnh

- lặp lại cho đến khi mọi cặp phần tử liền kề trong dãy không còn bị nghịch thế nữa.

Víí dụ: Em nào có thể viết cách sắp xếp dãy trên theo chièu tăng dần?

Trang 10

Năm 2012-2013 Giáo án Tin Học 11

KIỂU DỮ LIỆU XÂU

H MỤC ĐÍCH, YÊU CẦU:

- Giới thiệu kiểu dữ liệu có cấu trúc, kiểu xâu Những ứng dụng của kiểu xâu trong việc giải các bài toán

I PHƯƠNG PHÁP:

- Dùng phương pháp giải quyết vấn đề

- Truyền thụ các kiến thức về câu lệnh đến HS

J NỘI DUNG BÀI GIẢNG:

1 Ổn định lớp :

2 Kiểm tra bài cũ : không.

3 Bài mới : Hôm trước ta đã học kiểu dữ liệu có cấu trúc mảng, kiểu dữ liệu mảng có thể dùng

giái các bài toán quán lý điểm của HS Chẳng hạn, ta có thể lưu một danh sách lớp vào một mảng, trong đó, mỗi thành viên có một chỉ số Như vậy, nêu cần nhập họ tên của HS thì ta thấy họ tên

gồm nhiều ký tự, vậy ta dùng kiểu dữ liệu nào ?

- Kiểu dữ liệu nào liên quan đến ký tự mà ta đã học ?

- Liệu ta có dùng kiểu dữ liệu Char được không ?

Kiểu dữ liệu Char chỉ có thể dùng khi thao tác trên từng ký tự, nếu muốn dùng nhiều ký tự ta dùng kiểu dữ liệu xâu

- Cách khai báo

- Độ dài của xâu được

quy định gồm tối đa

1 Khai báo kiểu dữ liệu xâu :

VAR <Tên biến> : STRING[Độ dài lớn nhất của xâu];

- Độ dài của xâu được quy định gồm tối đa 255

ký tự

Ví dụ

Var Name : string[26];

Var Chugiai : String;

- Biểu diễn 1 ký tự trong xâu

TÊN XÂU[chỉ số của ký tự]

2 Các thao tác xử lí xâu:

a) Phép ghép xâu và phép toán quan hệ:

-Phép ghép xâu, kí hiệu là +, được sử dụng để

ghép nhiều xâu thành một xâu

Ví dụ: Phép ghép xâu :

Trang 11

Năm 2012-2013 Giáo án Tin Học 11

noi, -, viet nam” thành

“ha noi – viet nam”

GV: Gọi hs trả lời:

Theo các em thì trong

hai xâu “My Computer”

và ”My Computer is

halt”, xâu nào nhỏ hơn

- GV: Hai xâu được coi

là bằng nhau nếu như

'Ha'+ ' noi' +' - '+'Viet nam' cho xâu kết

quả : 'Ha noi - Viet nam'

Ví dụ: Delete(‘mon tin hoc’, 1, 4) = ‘tin hoc’

- Thủ tục Insert(S1, S2, vt) chèn xâu S1 vào S2, bắt đầu ở vị trí vt.

Ví dụ: 1)Insert(‘A’, ‘Hinh 2.1’, 6) = ‘Hinh 2A.1’

2) Cho s1=’ văn hoa’; s2=’dao duc’ Kết quả của thủ tục insert(s1, s2, 8) là xâu ‘dao duc van hoa’

- Hàm Copy(S, vt, N) tạo xâu gồm N kí tự liên tiếp bắt đầu từ vị trí vt của xâu S

Ví dụ: Cho s='Bai hoc thu 9' Hàm Copy(S, 9, 5)

cho kết quả là 'thu 9'

- Hàm Length(S) cho giá trị là độ dài xâu S

Trang 12

Năm 2012-2013 Giáo án Tin Học 11

E HDVN : - Chuẩn bị các ví dụ trong sgk cho tiết học tiếp theo

- Học tốt lý thuyết của bài cũ.

F RÚT KINH NGHIỆM:

Trang 13

-Năm 2012-2013 Giáo án Tin Học 11

Tiết 28

Ngày soạn:

KIỂU DỮ LIỆU XÂU (tt)

K MỤC ĐÍCH, YÊU CẦU:

- Củng cố kiến thức lý thuyết về kiểu dữ liệu xâu đã học ở tiết trước

- Rèn luyện kỹ năng giải bài tập cho HS

L PHƯƠNG PHÁP:

- Dùng phương pháp HS chủ động.

- GV nhận xét, gợi mở những vấn đề khó.

- Có khuyến khích điểm cộng điểm thưởng cho HS làm bài tập tốt

M NỘI DUNG BÀI GIẢNG:

1 Ổn định lớp :

2 Kiểm tra bài cũ :

- Nêu cách khai báo và truy xuất đến một phần tử của xâu?

- Nêu cú pháp và công dụng của các hàm xử lý xâu?

3 Bài mới : Tiết học này sẽ sử dụng một số hàm và thủ tục đã học về kiểu dữ liệu xâu vào từng bài

toán cụ thể

- GV: hướng dẫn theo đề bào

yêu cầu:

+ Khai báo hai biến xâu có độ

dài tùy ý

+ Nhập 2 họ tên của hai người

và lưu vào 2 biến xâu này

+ Dùng lệnh If để kiểm tra độ

dài hai xâu Độ dài hai xâu

được xác định bởi hàm length

-GV: Chương trình như sau

- GV: Tương tự như ví dụ 1,

các em hãy cho biết:

+ Khai báo bao nhiêu biến,

vào hai xâu họ tên của hai người

và đưa ra màn hình xâu dài hơn, nếu bằng nhau thì đưa ra xâu nhập sau

Var a,b:String;

Begin Write('Nhap xau ho ten thu nhat : '); Readln(a);

Write('Nhap xau ho ten thu hai : '); Readln(b);

If length(a)>length(b) then write(a) else write(b);

Readln End.

Ví dụ 2 : Nhập vào hai xâu từ bàn

phím và kiểm tra kí tự đầu tiên của xâu thứ nhất trùng với kí tự cuối cùng của xâu thứ hai không

Var x,y : byte;

a,b : string;

begin write('Nhap xau thu nhat : '); readln(a);

Trang 14

Năm 2012-2013 Giáo án Tin Học 11

đầu tiên của một xâu như thế

nào?

HS: Câu lệnh If Kí tự đầu

tiên của xâu được viết là a[1]

và kí tự cuối cùng là

a[length(a)]

- GV: Chương trình như sau

- GV: Đối với bài toán này, ta

lưu ý các điểm sau:

+ khai báo 2 biến xâu, biến

xâu thứ 1 để nhập xâu ban đầu

từ bàn phím, biến xâu thứ 2 để

lưu xâu sau khi loại bỏ các

dấu cách của xâu ban đầu

+ Như vậy biến xâu thứ 2 ban

đầu chưa có kí tự phải được

+ Duyệt từng kí tự của xâu

ban đầu, nếu kí tự nào khác

dấu cách thì cộng vào biến

xâu thứ 2 Thao tác duyệt

Write hoặc Writeln

GV: Chương trình được viết

như sau

GV: Gợi ý thêm một cách

khác: Vì đề bài không yêu cầu

giữ đúng nguyên xâu đã nhập

nên ta có thể chỉ cần khai báo

Ví dụ 3: Viết chương trình nhập

một xâu vào từ bàn phím và đưa ra màn hình xâu thu được từ nó bởi việc loại bỏ các dấu cách

Cách 1:

Var i,k : byte;

a, b : string;

begin write('Nhap xau :');

Cách 2:

Var i,k : byte; a : string;

begin write('Nhap xau :'); readln(a);

Trang 15

Năm 2012-2013 Giáo án Tin Học 11

+ Đối với bài này, ta có duyệt

từng kí tự của xâu s1 không?

HS: Có bằng lệnh For do như

các bài trước

+ Việc kiểm tra kí tự có phải

là số không nhờ vào lệnh nào

và biểu thức điều kiện ra sao?

HS: Lệnh if và biểu thức là

(S1[i]>='0') and (S1[i]<= '9')

-GV: Chương trình như sau

- GV: Ở ví dụ 3 và ví dụ 4

chúng ta thấy có sự giống

nhau nào không?

HS: Có Đó là cả hai bài toán

đều nhập vào một xâu và đều

có các thao tác lại bỏ các kí tự

thỏa một điều kiện cụ thể nào

đó ra khỏi xâu

Tuy nhiên đối với ví dụ 4 thì

ta phải khai báo 2 biến xâu,

không đuợc khai báo một biến

như ở cách 2 của ví dụ 3 vì đó

là yêu cầu của đề bài

-GV: Như vây để loại bỏ một

số kí tự thỏa điều kiện nào đó

trong một xâu, ta chỉ thay đổi

biểu thức điều kiện trong câu

Writeln('Ket qua : ', S2) End

D CỦNG CỐ :

Qua bài học, củng cố lại cách khai báo, cách biểu diễn xâu, các thủ tục và hàm được sử dụng trong kiểu dữ liệu xâu vận dụng vào từng bài toán cụ thể đồng thời nhắc lại cách viết một chương trình

E HDVN : - Chuẩn bị bài thực hành số 5 trong sgk cho tiết học tiếp theo

- giải các bài tập 11, 12/ sgk trang 85

F RÚT KINH NGHIỆM:

Trang 16

Năm 2012-2013 Giáo án Tin Học 11

-Tiết 29, 30, 31

BÀI TẬP VÀ THỰC HÀNH 5 & BÀI TẬP

BÀI TẬP KIỂU DỮ LIỆU XÂU

N MỤC ĐÍCH, YÊU CẦU:

Hướng dẫn cách giải bài tập về xâu, giúp HS hiểu rõ hơn về kiểu dữ liệu xâu và ứng dụng thực

tế của nó

O PHƯƠNG PHÁP:

- Dùng phương pháp giải quyết vấn đề

- Truyền thụ các kiến thức về câu lệnh đến HS

P NỘI DUNG BÀI GIẢNG:

1 Ổn định lớp :

2 Kiểm tra bài cũ :

- Nêu cách khai báo 1 xâu, các hàm và thủ tục xử lý xâu?

-Viết chương trình nhập vào một xâu và cho biếy độ dài của xâu đó?

3 Bài mới :

GV: Hướng dẫn : Theo đề bài

yêu cầu :

- In ra màn hình câu hỏi

- Nhập câu trả lời vào

- So sánh xem câu trả lời có

phải là Tokyo không, nếu đúng

HS: Write hay writeln

GV: Nhập câu trả lời vào thì ta

dùng thủ tục hay lệnh nào ?

HS: Read hay Readln

GV: Để kiểm tra xem câu trả

lời có phải là Tokyo không thì

ta dùng câu lệnh gì ?

HS: IF

HS: lên bảng viết chương

trình

Chú ý : Nêu ta giải bài toán

như trên thì có gì thiếu không?

Giả sử người ta nhập vào câu

trả lời là TOKYO thì máy sẽ

báo như thế nào ? Các em về

nhà xem và tìm hiểu cách khắc

phục

GV: Phân tích yêu cầu bài

toán:

Bài 1: Đưa ra màn hình câu hỏi “Thu do

Nhat Ban la gi?”, nhập câu trả lời, nếu đúng thì đưa ra màn hình câu “Dung roi! Hoan ho!”, nếu sai thì đưa ra màn hình câu “Sai roi! Thu do Nhat Ban la Tokyo”Program Dovui;

Var s: String[10];

BeginWrite(‘ Thu do Nhat Ban la gi?”);

Chú ý : Nêu ta giải bài toán như trên thì

có gì thiếu không? Giả sử người ta nhập vào câu trả lời là TOKYO thì máy sẽ báo như thế nào ? Các em về nhà xem và tìm hiểu cách khắc phục

Bài 2: a) Nhập vào từ bàn phím một xâu

Kiểm tra xem nó có phải là một palindrome hay không? (Xâu được gọi là palindrome nếu như đọc nó từ phải sang trái cũng như đọc nó từ trái sang phải).sau :

Var i,x : byte;

a,p : string;

Trang 17

Năm 2012-2013 Giáo án Tin Học 11

-Khai báo 2 biến xâu: biến xâu

a để nhập vào một xâu, biến

xâu p là xâu đảo ngược của a

+ duyệt từng kí tự của a theo

chiều từ cuối xâu về đầu xâu

và cộng mỗi kí tự đó vào xâu p

- kiểm tra p có bằng a không

bằng lệnh if, nếu có thì thông

báo 'Xau la palindrome',

ngược lại thì thông báo 'Xau

khong la palindrome'

-GV : Goi HS lên bảng giải

bài này

GV : giải thích :

+ khai báo 1 biến xâu a và

nhập xâu như các bài trước

+ Trong xâu a có thể có nhiều

từ ‘anh’ nên việc thay thế có

thể lặp lai nhiều lần nên ta

‘anh’ trong xâu a bởi hàm pos

* Xóa bỏ từ ‘anh’ trong xâu a

p:='';

for i:=x downto 1 do p:=a[i]+p;

if a=p then write('Xau la palindrome') else write('Xau khong la palindrome'); readln

end.

Bài tập nhà: b) Hãy viết lại chương trình trong đó không cần có biến xâu p

Bài 3 Nhập vào từ bàn phím một xâu

Thay thế tất cả các từ 'anh' trong nó bằng

từ 'em'

Var vt: byte;

a : string;

begin write('Nhap vao xau : ');

D CỦNG CỐ :

- Qua bài học này các em đã biết cách dùng kiểu dữ liệu xâu, các em xem lại các bài tập đã giải,

có phần nào cần tìm hiểu thêm hay có cách làm khác thì tìm hiểu và nêu ý kiến vào tiết sau

Trang 18

Năm 2012-2013 Giáo án Tin Học 11

- Có thể ứng dụng kiểu dữ liệu này để làm các chương trình cho riêng mình, chẳng hạn chương trình đố vui

E HDVN : - Xem lại bài

-Chuẩn bị bài kiểu bản ghi cho tiết sắp đến

- làm bài tập 2 trang 82; 11, 12 trang 85

F RÚT KINH NGHIỆM:

Trang 19

Năm 2012-2013 Giáo án Tin Học 11

Tiết 32, 33

Ngày soạn :

KIỂU BẢN GHI & BÀI TẬP BẢN GHI

A MỤC ĐÍCH - YÊU CẦU

- Học sinh nắm cú pháp cách khai báokiểu bản ghi

- Biết các đối tượng nào phải khai báo kiểu DL bản ghi

- Áp dụng viết chương trình cho các bài toán

B PHƯƠNG PHÁP

- Dùng bảng phụ để minh hoạ kiểu bản ghi

- Diễn giải, gợi mở để giáo viên & học sinh cùng giải quyết vấn đề

C CÁC BƯỚC LÊN LỚP

1 Ổn định lớp

2 Kiểm tra bài cũ

Em hãy nêu cách khai báo DL xâu và giải thích ý nghĩa các từ trong khai báo đó?

Nêu các hàm và thủ tục xử lý xâu?

Viết CT nhập vào một xâu S từ bàn phím, loại bỏ các dấu cách trong s và đưa ra màn hình?

3 Bài mới:

Trong Pascal, để mô tả các đối

tượng có cùng tập thuộc tính ta

có kiểu dữ liệu bản ghi

GV: Một ví dụ gần gũi với các

em là mô tả đối tượng học sinh

hoặc hoá đơn tập sách trong thư

1 Khái niệm về kiểu bản ghi

- Dùng để mô tả các đối tượng có cùng một số thuộc tính có kiểu dữ liệu khác nhau

- VD: Học sinh : Hđen: Xâu Nsinh: Xâu Gtinh: Lôgic Đia-chi: Xâu Hoadon: Ma-HD: số Ten-kh:Xâu Ten-sp:Xâu So-luong: Số nguyên Don-gia: Số thực Thanh-Tien: Số thực

Trang 20

Năm 2012-2013 Giáo án Tin Học 11

GV: Để khai báo bản ghi, trong

TP quy định như sau:

GV: Nếu muốn khai báo 1, 2

biến bản ghi thì ta khai báo

<Tên biến>: < Tên kiểu bản

ghi> Tuy nhiên trong trường

hợp muốn khai báo nhiều biến,

chẳng hạn khi khai báo một lớp

có 50 học sinh thì ta dùng biến

mảng

GV: Gọi học sinh viết khai báo

cho đối tượng học sinh trong ví

dụ

HS: Trả lời, tên các trường,

kiểu dữ kiệu các trường

GV: Nếu các em muốn gán giá

trị cho từng trường thì ta viết

giá trị cho trường đó

VD:Gán cho Hs thứ 2 trong lớp

ngày sinh là’01/02/1990’

GV: Đối với ví dụ áp dụng này,

các em phải khai báo 1 mảng

gồm 50 học sinh, như vậy để

nhập dữ liệu cho mảng ta phải

2 Khai báo kiểu bản ghi.

TYPE

< Tên kiểu bản ghi> = RECORD

< Tên trường 1>: < Kiểu DL 1>;

< Tên trường k> : < Kiểu DL k>; End;

VAR

< Tên biến>: < Tên kiểu bản ghi>;

< Tên biến mảng>: ARRAY[1… Max] OF < Tên kiểu bản ghi>;

- VD: Khai báo mảng Lop có 50 phần tử, mỗi

phần tử là một bản ghi hocsinh có các thuộc tính ở VD trên

TYPE hocsinh = RECORD

* Chú ý : Nếu X là một trường của bản ghi A

thì được viết là: A.X

3 Gán giá trị

- Dùng lệnh gán : Nếu A& B là hai bíên bản ghi cùng kiểu thì : A:=B(B:A);

- Gán giá trị cho từng trường;

VD: A.Hoten:=’Ng Van A’;

Lop{2} Nsinh=’01/02/1990’;

- Ví dụ áp dụng: Viết chương trình nhập vào 1 danh sách học sinh trong 1 lớp gồm 50

em, có các thuộc tính : hoten, dtoan, dtin( từ bàn phím), DTB(=(Dtoan+Dtin)/2), ketqua (=’Dat’ nếu DTB>=5, =’rot’ neu DTB < 5).Program ket qua_hs;

Trang 21

Năm 2012-2013 Giáo án Tin Học 11

dùng 1 câu lệnh FOR-DO

HS: Lắng nghe và suy nghĩ về

giải thuật viết chương trình

GV: Gọi HS đọc khai báo kiểu

HS: Lắng nghe & hiểu bài

TYPE hocsinh = RECORDHoten: String [20];

i: Byte,BEGINFor i:=1 to 50 DoBegin

Write(‘Nhap ho ten hs thu’,i);

Readln( Lop[i] Hoten);

Write( ‘Lop Dtoan, Dtin hs thu’,i);

Readln( Lop[i] Dtoan, Lop[i].Dtin); Lop[i] DTB: = ( Lop[i].Dtoan + Lop[i]Dtin)/2;

IF Lop[i].DTB>=5 THEN Lop[i].Ketqua:=’Dat’

ELSE Lop[i].Ketqua:=’Rot’;

End;

ReadlnEND

D CỦNG CỐ :

- Các đối tượng nào là khai báo kiểu bản ghi

- Cách khai báo kiểu bản ghi & gán giá trị cho nó

E HƯỚNG DẪN VỀ NHÀ:

1 Xem ví dụ SGK/74

2 Viết công thức nhập vào 100 hoá đơn gồm các thuộc tính: Ma-HĐ,Ten-SP, So-lương,

Don-gia( Từ bàn phím), thanh – tien(=so - luong x Don – gia) Đưa ra màn hìh các tên SP có số lượng

>20

F RÚT KINH NGHIỆM

Trang 22

Năm 2012-2013 Giáo án Tin Học 11

- Học sinh nắm được khái niệm tẹp và phân loại gồm tệp định kiểu & tệp văn bản

- Biết cách khai báo tệp định kiểu & tệp văn bản

- Nắm rõ các thao tác xử lý dữ tệp theo trình tự gán tên tệp, mở tệp, đọc/ghi dữ liệu ( tệp định kiểu) đóng tệp

B PHƯƠNG PHÁP

- Diễn giảng, phân tích, gợi mở vấn đề

- Học sinh trao đổi, giải quyết vấn đề

C CÁC BƯỚC LÊN LỚP

1 Ổn định lớp

2 Kiểm tra bài cũ.

Nêu cách khai báo kiểu bản ghi ? Cho ví dụ các đối tượng cần khai báo

Cho biết các trường hợp gán giá trị cho bản ghi

Viết khai báo cho 1 lớp gồm 50 học sinh? Để nhập giá trị cho học sinh trong lớp, ta dùng câu lệnh gì?

3 Bài mới: Tất cả những kiểu dữ liệu các em đã học, khi được lưu trữ thì nó ở trong bộ nhớ

RAM, sẽ bị mất đi khi tắt máy Để những dữ liệu trên tồn tại lâu dài & có thể lưu lượng lớn, ta nên lưu nó thành một tệp, hay còn gọi là file mà các em hay thao tác trên máy Như vậy tệp chính là 1 kiểu dữ liệu lưu trữ những kiểu dữ liệu khác, nó ở trong bộ nhớ ngoài

Trang 23

Năm 2012-2013 Giáo án Tin Học 11

1 Khái niệm kiểu tệp

- Để lưu trữ dữ liệu lâu dài & lớn, trong

TP có kiểu tệp

- Tệp lưu các phần tử cùng một kiểu là tệp định kiểu Thao tác với tệp định kiểu thực hiện trên từng phần tử của tệp bởi con trỏ tệp

- Tệp lưu các ký tự trên một hoặc nhiều dòng là tệp văn bản

2 Khai báo biến tệp

Trang 24

Năm 2012-2013 Giáo án Tin Học 11

HS: nghe giảng, quan

dung của nó sẽ bị xoá

để chuẩn bị ghi thông

• - SEEK: ( < Tên biến tệp >), < Biến nguyên>) ;đưa con trỏ về vị trí ptử có STT xác định bởi giá trị của biến nguyên ( STT bắt đầu từ 0)

Trang 25

Năm 2012-2013 Giáo án Tin Học 11

dùng với REWRITE

Lúc đó ghi giá trị từ

biến có < Tên biến>

vào tệp gắn với< Tên

biến tệp>

GV: Sau khi làm việc

xong với tệp phải đóng

- Nhắc lại lý thuyết các lệnh tệp định kiểu

- Phân biệt tệp định kiểu & tệp VB ( gọi học sinh)

E HDVN

- Học bài cũ

- Bài 1,2,3,4,5,SGK/99

F RÚT KINH NGHIỆM

Trang 26

Năm 2012-2013 Giáo án Tin Học 11

Tiết 35 Ngày soạn:

§16.VÍ DỤ LÀM VIỆC VỚI TỆP

I Mục đích yêu cầu.

 Kiến thức: củng cố lại kiến thức đã học về tệp trong chương 5 thông qua ví dụ

 Kĩ năng: sử dụng được các hàm và thủ tục liên quan để giải quyết các bài tập

II Phương tiện dạy học

Giáo viên: Máy chiếu Projector để giới thiệu ví dụ, phòng máy vi tính.

Học sinh: Sách giáo khoa.

III Nội dung tiết dạy:

1 Kiểm tra bài cũ:

Câu hỏi: Em hãy nêu các thao tác thực hiện khai báo biến tệp văn

bản, Gán tên tiệp, mở tệp, đóng tệp và thao tác đọc/ ghi tệp văn bản.?

Trả lời: khai báo biến tệp văn bản:

Var <tên_biến_tệp>: Text

Hoạt động của học sinh Hoạt động của giáo viên Nội dung

1 Theo dõi, quan sát đề

bài và chương trình gợi ý.

• Tự tìm hiểu đề

bài trong SGK

• Hàm cho giá trị

true nếu con trỏ tệp định

vị ở vị trí kết thúc tệp

KCAB= x A*x B +y A*y B

• Chiếu chương trình

ví dụ lên bảng và gợi ý để học sinh tìm hiểu chương trình

• Hỏi: Hàm EOF(f) có chức năng gì?

• Có thể sử dụng cấu trúc for thay while được không?

Giúp học sinh nhận biết được việc được công thức tính khoảng cách vào chương

Bài tập ví dụ 1 và ví dụ 2 trang 87 sách giáo khoa

Trang 27

Năm 2012-2013 Giáo án Tin Học 11

• Tính và đưa ra

màn hình khoảng cách từ

trại của thầy hiệu trưởng

đến trại của mỗi giáo

viên

2 Quan sát nội dung đề

bài, quan sát tranh mô phỏng

kết nối các điện trở và các

yêu cầu.

• Dùng để lưu trữ

nội dung tương đương của

3 điện trở theo năm cách

ghép nối như trong sơ đồ

• Tính kết quả

của năm điện trở

tương đương

Kết quả: Công thức tính

điện trở sơ đồ 2:

R= (R1*R2)/(R1+R2)+R3

Công thức tính điện trở sơ

đồ 3:

R= (R1*R3)/(R1+R3)+R2

Công thức tính điện trở

trong sơ đồ 4:R=

R1+R2+R3

• Được sử dụng

để lưu giá trị của điện trở

tương đương trong các sơ

đồ 1, 2, 3, 4, 5

• Quan sát kết

quả của chương trình và

so sánh với kết quả tính

tương đương

• Nhận xét về tính

trình qua đoạn lệnh sau:

…d:=sqrt(x*x+y*y);

…Giới thiệu thêm về hàm sqrt(giá_trị) trong pascal là hàm trả về giá trị căn bậc 2 của giá trị được trong dấu ()

• Chương trình này thực hiện công việc gì?

• Thực hiện chương trình

2 Tìm hiểu chương trình của ví dụ 2.

• Giới thiệu đề bài

• Chiếu tranh mô phỏng kết nối các điện trở, hình 17 trang 8 SGK

• Hỏi công thức tính điện trở của sơ đồ 2,3,4

• Chiếu chương trình

ví dụ lên bảng

• Giúp học sinh nhận biết được việc cài đặt các công thức ở sơ đồ 1, 2, 3, 4 vào chương trình như sau:

Trang 28

Năm 2012-2013 Giáo án Tin Học 11

chính xác và thời gian

thực hiện của chương

trình

• Cho một file dữ liệu vào gồm 2 dòng Yêu cầu học sinh tính kết quả

• Thực hiện chương trình đọc file dữ liệu vào trên để học sinh đối chiếu kết quả

3 Củng cố và khái quát bài học.

• Những nội dung đã học

• Các thao tác xử lí tệp

• Gán tên tệp

• Mở tệp

• Tạo tệp mới

• Đọc/ ghi thông tin của tệp

• Đóng tệp

• Hàm và thủ tục liên quan

• Hàm EOF(Tên_biến_tệp)

4 Dặn dò: Đọc trứơc nội dung bài Chương trình con và phân loại Các viết

và sử dụng thủ tục

Bài tập

Cách khai báo thao tác với tệp văn bản trong Pascal

1 Em hãy cho biết chức năng của hàm Hàm EOF(<biến_tên_tệp>) ?

a Hàm cho giá trị true nếu con trỏ tệp định vị ở vị trí kết thúc tệp

b Trả lại giá trị cho biết con trỏ tệp đã ở vị trí cuối dòng chưa

c Trả về giá trị 0 nếu thực hiện thành công, trái lại nó trả về giá trị khác 0

d Sẽ trả lại giá trị 0 nếu thực hiện rewrite thành công, trái lại cho giá trị khác không

2 Để thực hiện gán tên tệp cho một biến tệp văn bản ta chọn hàm:

a Assign(<tên_biến_tệp>,<tên_tệp>);

b Var <tên_biến_tệp>: Text

c Rewrite(<tên_biến_tệp>);

d EOF(<biến_tên_tệp>)

3 Để thực hiện khai báo biến tệp văn bản ta sử dụng hàm:

a Var <tên_biến_tệp>: Text

Trang 29

Năm 2012-2013 Giáo án Tin Học 11

- Học sinh củng cố kiến thức đã học ở tiết trước

- Rèn luyện kỹ năng thao tác với tệp định kiểu thông qua ví dụ

2 Kiểm tra bài cũ:

Nêu các thủ tục đọc/ ghi tệp vănbản

Neu cách khai bảo tẹp định kiểu? cho ví dụ?

Nêu các thủ tuchj gán tên tệp, mở tệp, đoc.ghi tênđịnh kiểu, đóng tệp?

3 Bài mới:

Tiết học trước các em đã học xong phần tệp & xử lý tệp Hôm nay ta sẽ làm các bài tập về tệp định kiểu để củng cố thêm các bài tập 4,5 SGK/99 & 1 số bài khác

GV: Gọi học sinh nêu

Bài 1: Lệnh Write thao tác với tệp định kiểu khác

lệnh thông tin ra màn hinh như thế nào?

- Không cần dấu cách giữa các biến trong danh sách biến

- Trước danh sách biến phải có biến tệp và dấu phẩy

- Lệnh Write trong tệp định kiểu: Các biến trong ds biến phải cùng kiểu lệnh

- Lệnh Write đưa thông tin ra màn hình, các biến trong ds biến có kiểu có thể khác nhau

Bài 2: Làm việc với tệp dùng để nhập thông tin,

có các lệnh:

Assign(F,fn) Reset(F)

Trang 30

Năm 2012-2013 Giáo án Tin Học 11

GV: Gọi học sinh lên

bảng trả lời

HS: trả lời

GV: GV gọi học sinh

lên bảng trả lời

GV: Yêu cầu học sinh

cho biết ý nghĩa từng

từ khoá USES, Const,

- Tệp văn bản gồm các ký tự tổ chức & quản lý theo dòng Truy nhập tuần tự, có thể truy nhập trực tiếp

Readln (x.hoten);Write (‘nhap tuoi’);Readln (x.tuoi);

Write (‘nhap qh’); Readln (x.qh);

Write (f,x);

Writeln (‘ nhap nua khong?(C/K)’);

While TRUE doBegin

Readln(ch);

Ch:= Upcase (ch);

If ch in {‘C’,’K’} then break;

End;

If ch=’K’ then stop:=true;

End;

Close (F);

* Phần thêm: Yêu cầu viết ra màn hình nội dung

đã có trong tệp Writeln;

Trang 31

Năm 2012-2013 Giáo án Tin Học 11

Read (f,x)Writeln (x.hoten,’ ’,x.tuoi,’ ’,x.qh);

End;

Close(f);

Readln End

Bài 5: Tương tự như bài 4, chỉ khác là : Tên tệp

là’MYBOOK.DAT’, bản ghi tên là ‘sach’( thay

vì là ‘nguoi’ như ở bài 4)

Bài tập thêm

1 Mở tệp ‘QUAN HE.DAT’ở bài 4 & hiển thị những thông tin đã có trong tệp bnày lên màn hình ?

2.Tạo tệp định kiểu ‘MT.DAT ‘ lưu các số nguyen không vượt quá Max = 56536

3 Đọc tệp ‘T.Dat’ Tìm các nguyên chẵn và lưu vào tệp văn bản ‘NT1.TXT’

D CỦNG CỐ: Các phần lý thuyết và bài tập đã cho về tệp Dữ liệu

E HDVN : Bài tập thêm

F RÚT KINH NGHIỆM

Trang 32

Năm 2012-2013 Giáo án Tin Học 11

Tiết 37

Ngày soạn:

CHƯƠNG 6: CHƯƠNG TRÌNH CON

Bài 17: CHƯƠNG TRÌNH CON & PHÂN LOẠI Bài 18: CÁCH VIẾT & SỬ DỤNG CHƯƠNG TRÌNH CON

A MỤC ĐÍCH & YÊU CẦU

- Giới thiệu khái niệm CTC, lợi ích, sự cần thiết sử dụng CTC & sự phân loại chúng: hàm

2 Kiểm tra bài cũ

1, Em hãy nêu cách khai báo 2 kiểu tệp

2, Viết các thủ tục ứng với các thao tác xử lý tệp: gán tên tệp, mở tệp, đọc/ghi DL, đóng tệp

3 Bài mới

Khi viết công thức giải các bài toán lớn, phức tạp, ct thường rất dài, gồmg hàng trăm ngàn lệnh đọc vào rất khó nhận biết ct thực hiện công việc gi Vì vậy người ta phân 1 ct thnàh nhiều khối lệnh, mỗi khối giải quyết một bài toán con cụ thể nào đó Các khối lệnh này được xây dựng dưới dạng gọi là chương trình con

CHƯƠNG TRÌNH CON & PHÂN LOẠI

GV: trong 1 ct chính được

phân thành nhiỀu khối lệnh

Mỗi khối được gọi là CTC

GV: Vậy nếu ta coi CTC là 1

bài toán lớn chức năng của ct

con là gì?

HS: Giải quyết bài toán con để

1 Khái niệm: CTC là một khối các lệnh nhằm

giải quyết mmột bài toán con để góp phần giải quyết một bài toán lớn hơn

2 Ưu điểm khi sử dụng CTC

- Khi viết những chương trình dài, phức tạp,

Trang 33

Năm 2012-2013 Giáo án Tin Học 11

giải bài toán lớn

GV: Từ khái niệm trên ta thấy

CTC có những ưu điểm sau:

GV: vì mỗi CTC giải quyết bài

toán con khác nhau nên ta có

thể giao cho mỗi người viết 1

CTC rồi ghép lại nhanh hơn

- Có thể giao cho nhiều người dùng viết

- Tránh lặp đi lặp lại một nhóm lọênh nào đó

- Thể hiện tư tưởng “ chia để trị “ nhằm đạt hiệu quả cao trong giải quyết vấn đề( vấn đề phức tạp thành các vấn đề đơn giản)

GV: Các em hãy cho biết để vẽ

được 1 hcn như vậy thì ta sử

1 hcn sẽ được vẽ bởi câu lệnh

trên Vậy 3 hcn sẽ được vẽ bơỉ

9 câu lệnh trong đó có 3 lần

lặp lại

Trong trường hợp ta vẽ N hcn

thì phải viết gấp N lần 3 câu

lệnh trên Như vậy chương

trình trở nên dài & khó hiểu

Writeln (‘* *’);

Writeln (‘**********’);

END;

BEGINVe-hcn;

Trang 34

Năm 2012-2013 Giáo án Tin Học 11

HS: Viết CTC tương ứng cho 1

1 CTC giải quyết 1 bài toán

con nên nó có cấu trúc giống 1

CT chính, chỉ khác ở tên từ

khoá & end

GV: Minh hoạ trên ví dụ cho

học sinh thấy và từ đó gọi học

sinh đọc cách viết cấu trúc thủ

tục

HS : Suy nghĩ & trả lời

GV: Lưu ý hs là vẽ HCN

không cần khai báo cũng như

tham số nên trong ví dụ không

GV: Chỉ trên ví dụ cho hs thấy

HS: Quan sát & hiểu bài

END;

b Chú ý:

- Danh sách tham số : Có thể có hoặc không

- Phần khai báo: Xác định các hằng, kiểu, biến, khai báo thủ tục& hàm khác được sử dụng trong thủ tục

- Thủ tục được khai báo trong phần khai báo của CT, Sau khai báo biến

- Lời gọi thủ tục: < Tên thư mục>

D, CỦNG CỐ

- Nhắc lại khá niệm & ưu điểm, phân loại CTC

- Cách viết cấu trúc thủ tục & vị trí khai báo

Trang 35

Năm 2012-2013 Giáo án Tin Học 11

E, HDVN

- So sánh giống và khác của CT & thủ tục Mối quan hệ giữa chúng

- Nếu muốn vẽ 3 HCN với 3 kích thước khác nhau thì ta làm như thế nào?

GV: Ta không thể dùng thủ tục Ve-hcn như trước nữa mà phải sửa đổi thủ tục sao cho khi thực

hiện thì có tthể quy định kích thuớc dai, rộng của hcn Các em tham khảo thêm phần 2

F RÚT KINH NGHIỆM

Ngày đăng: 01/03/2014, 21:08

HÌNH ẢNH LIÊN QUAN

Bảng viết) - Giáo án Tin học 11
Bảng vi ết) (Trang 2)
Hình câu hỏi “ Thủ đô của Nhật - Giáo án Tin học 11
Hình c âu hỏi “ Thủ đô của Nhật (Trang 16)
Bảng trả lời - Giáo án Tin học 11
Bảng tr ả lời (Trang 30)

TỪ KHÓA LIÊN QUAN

w