Thao tỏc với tệp 1 Khai bỏo

Một phần của tài liệu giáo án tin 11 đầy đủ (Trang 90 - 94)

1. Khai bỏo

Var <tờnbiếntệp>:TEXT; Trong đú:

- <tờn biến tệp>: phải tuõn thủ theo quy tắc đặt tờn.

VD: var f1,f2: text;

Hoạt động 4: Thao tỏc với tệp

GV: Cỏc thao tỏc với tệp chia thành bốn nhúm :

Gắn tờn tệp; Mở tệp;Vào/Ra dữ liệu; Đúng tệp.

GV: Giới thiệu cấu trỳc chung của từng

thao tỏc và giải thớch. a. Gắn tờn tệp

Để thao tỏc với tệp, trước hết phải gỏn tờn tệp cho biến tệp bằng cõu lệnh :

ASSIGN(< Tờn biến tệp>,<Tờn tệp>); Trong đú Tờn tệp là biến xõu hoặc hằng xõu.

Vớ dụ 1 Giả thiết cú biến xõu MYFILE và cần gỏn biến tệp F2 với tệp cú tờn DULIEU.DAT. Việc gỏn tờn tệp được thực hiện bằng cỏc cõu lệnh ?

Vớ dụ 2 Để chuẩn bị thao tỏc với tệp cú

tờn là INP.DAT trờn thư mục gốc đĩa C: ta dựng cỏc cõu lệnh sau để gắn nú với tệp F3?

b. Mở tệp

Tệp cú thể dựng để chứa kết quả ra hoặc dữ liệu vào. Trước khi mở tệp, biến tệp phải được gỏn tờn tệp bằng thủ tục ASSIGN.

Cõu lệnh mở tệp để ghi kết quả cú dạng :

REWRITE(<Tờn biến tệp>);

Khi thực hiện lệnh REWRITE(F3), nếu trờn thư mục gốc C:\ chưa cú tệp KQ.DAT, thỡ tệp sẽ được tạo với nội dung rỗng. Nếu tệp này đó cú, thỡ nội dung của nú sẽ bị xoỏ để chuẩn bị ghi thụng tin mới. Để chuẩn bị đọc dữ liệu từ tệp đó cú ta mở tệp bằng cõu lệnh : RESET(<Tờn biến tệp>); c. Đọc/ghi tệp văn bản Tệp định kiểu mở bằng thủ tục

REWRITE chỉ cú thể ghi dữ liệu bằng thủ tục WRITE. Cõu lệnh ghi cú dạng :

WRITE(<Tờn biến tệp>,<Tờn Biến >);

Nếu tệp được mở bằng thủ tục RESET thỡ cú thể đọc thụng tin. Cõu lệnh đọc cú dạng:

READ(<Tờn biến tệp>,<Tờn biến >);

Yờu cầu học sinh cho vớ dụ và giải thớch d. Đúng tệp

Sau khi làm việc xong với tệp cần phải đúng tệp. Việc đúng tệp là đặc biệt quan trọng sau khi ghi thụng tin vào tệp. Cõu lệnh đúng tệp cú dạng :

CLOSE(<Tờn biến tệp>);

a. Gắn tờn tệp

ASSIGN(< Tờn biến tệp>,<Tờn tệp>);

Trong đú Tờn tệp là biến xõu hoặc hằng xõu.

b. Mở tệp

Đờ̉ đo ̣c : RESET(<Tờn biờ́n tờ ̣p>); Đờ̉ ghi : REWRITE(<Tờn biờ́n tờ ̣p>); (adsbygoogle = window.adsbygoogle || []).push({});

c. Đọc/ghi tệp văn bản

Đọc :

READ(<Tờn biến tệp>,<danh sỏch

biến>);

Ghi :

WRITE(<Tờn biến tệp>, <danh sỏch kờt

quả>);

d. Đúng tệp

Một tệp, sau khi đúng cú thể mở lại. Khi mở lại tệp, nếu vẫn dựng biến tệp cũ thỡ khụng cần thiết phải dựng thủ tục ASSIGN gỏn lại tờn tệp.

HS: Chỳ ý nghe giảng, ghi bài.

GV: Giới thiệu HS biết hai hàm chuẩn và ý nghĩa của nú.

Một số hàm và thủ tục chuẩn thường dựng trong thao tỏc tệp

Hàm lụ gớc EOF(<Tờn biến tệp>); Cho

giỏ trị True nếu con trỏ tệp đang chỉ tới cuối tệp.

Hàm lụgớc EOFLN(<Tờn biến tệp>)

Cho giỏ trị True nếu con trỏ tệp đang chỉ tới cuối dũng.

V. Củng cố bài

Nờu đặc điểm của kiểu dữ liệu tệp

Hóy cho biết những khỏc biệt giữa tệp định kiểu và tệp văn bản. Cho biết cỏc thao tỏc cơ bản khi làm việc với tệp.

Sơ đồ làm việc với tệp dựng để nhập thụng tin phải cú những lệnh cơ bản nào? Cỏc thao tỏc với tệp được mụ tả trong hỡnh16

Ghi tệp:Gán tên tệp,tạo tệp mới, ghi thông tin, đóng tệp. Đọc tệp: Gán tên tệp,mở tệp, đọc thông tin, đóng tệp.

VI. Bài tập về nhà

- Về nhà xem trước VD bài 16.

VII. Nhận xột rỳt kinh nghiệm:

ASSIGN(<Tên biến tệp>,<Tên tệp>);

REWRITE(<Tên biến tệp>); RESET(<Tên biến tệp>);

WRITE(<Tên biến tệp>,<ds ket qua>);

CLOSE(<Tên biến>); tệp>);

Ghi Đọc

Hỡnh 16. Sơ đồ làm việc với tệp (adsbygoogle = window.adsbygoogle || []).push({});

Ngày soạn: Tuần:

Ngày giảng: Tiết: 37

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

I. Mục đớch, yờu cầu

1.Về kiến thức:

- Củng cố cỏc kiến thức cơ bản làm việc với tệp: Gắn tờn tệp, mở tệp, đọc/ghi dữ liệu, đúng tệp thụng qua cỏc vớ dụ.

2. Kĩ năng:

- Rốn luyện cỏc kỹ năng thao tỏc với tệp.

3. Thỏi độ:

II. Phương phỏp

- Kết hợp pp giảng dạy thuyết trỡnh, vấn đỏp, dựng phương tiện trực quan.

III. Chuẩn bị của giỏo viờn và học sinh

1. Chuẩn bị của giỏo viờn: Soạn giỏo ỏn, SGK, tài liệu tham khảo, mỏy chiếu,mỏy tớnh, bài giảng trờn slide. mỏy tớnh, bài giảng trờn slide.

2. Chuẩn bị của học sinh: Đọc trước bài mới, vở ghi lý thuyết, SGK.

IV. Tiến trỡn lờn lớp, nội dung bài giảng

1. Ổn định lớp

- Ổn định lớp.

- Yờu cầu lớp trưởng bỏo cỏo sĩ số.

2. Kiểm tra bài cũ

- Kiểm tra trong quỏ trỡnh làm vớ dụ.

3. Nội dung bài giảng

Hoạt động của thầy và trũ Nội dung

Hoạt động 1: Vớ dụ 1

GV: Gọi học sinh đọc đề bài

HS: Đọc bài

GV: Túm tắt bài

Một trường tổ chức cắm trại.

+ Trại thầy hiệu trưởng ở gốc toạ độ (0,0)

+ Cỏc trại cú toạ độ (x,y) được lưu trong tệp TRAI.TXT

+ Tớnh khoảng cỏch từ trại thầy hiệu trưởng đến cỏc trại và đưa kết quả đú màn hỡnh. (adsbygoogle = window.adsbygoogle || []).push({});

GV: Phõn tớch lại bài toỏn và gọi học sinh nờu ý tưởng làm bài toỏn.

HS:

- Cần khai bỏo 1 biến tệp để gỏn nú cho tệp TRAI.TXT - Mở tệp TRAI.TXT để đọc cỏc thụng số (x,y) VD1: Chương trỡnh: Program Khoang_cach; Var T: text; D: real; x,y: integer; Begin Assign(T,’TRAI.TXT’); Reset(T);

While not eof(T) do Begin

Read(T,x,y); D:=sqrt(x*x+y*y);

Writeln(‘Khoang cach la: ‘,D); End;

Close(T); End.

- Tớnh khoảng cỏch d

- Cho hiện khoảng cỏch ra màn hỡnh.

GV: Viết (chiếu) chương trỡnh lờn bảng và hướng dẫn. Chỳ thớch cỏc dũng hướng dẫn hs hiểu ý nghĩa cỏc cõu lệnh. Chạy chương trỡnh.

Hoạt động 2: Vớ dụ 2

GV: yờu cầu học sinh túm tắt vớ dụ 2

HS: túm tắt

- Cho 3 điện trở cú cỏc giỏ trị lưu trong tệp RESIST.DAT.

- được mắc như sơ đũ (hỡnh).

- Tớnh điện trở tương đương của cỏc mạch và lưu vào tệp RESIST.EQU.

GV: Treo bảng phụ

Chi học sinh thành 4 nhúm yờu cầu Nhúm 1 +2: Viết cụng thức tớnh điện trỏ tương đương của từng đoạn mạch.

Nhúm 3: nờu ý tưởng làm bài toỏn

HS: Chia nhúm và thực hiện. * Nhúm 1+2: Mạch 1: RI= 3 * 1 3 * 2 2 * 1 3 * 2 * 1 R R R R R R R R R + + Mạch 2: RII=RR11*+RR22+R3 Mạch 3: RIII=RR11+*RR33+R2 Mạch 4: RIV= 2 3 2 * 3 R R R R + +R1 M ạch 5: RV=R1+R2+R3 Nhúm 3: Nờu ý tưởng - Mở tệp RESIST.DAT để đọc các thông số R1, R2, R3

- Tính các điện trở tơng đơng

- Lu các điện trở tơng đơng vừa tính đợc và tệp RESIST.EQU

GV: Chuẩn bị chơng trình trên máy tính. Hớng dẫn học sinh VD2: Chơng trình Program dientro; Var f1,f2: text; R1, R2, R3: Real; i: integer; A:array[1..5] of real; Begin Assign(f1, ‘RESIST.DAT’); Reset(f1); Assign(f2,’RESIST.EQU’); Rewrite(f2);

While not eof(f1) do Begin Readln(f1, R1, R2, R3); A[1]:=R1*R2*R3/(R1*R2+R2*R3+R1*R3); A[2]:=R1*R2/(R1+R2) + R3 A[3]:=R1*R3/(R1+R3) + R2 A[4]:=R3*R2/(R3+R2) + R1 A[5]:=R1+R2+R3;

For i:=1 to 5 do write(f2,A[i]:9:3,’ ‘); Writeln(f2); End; Close(f1); Close(f2); End. V. Củng cố bài VI. Bài tập về nhà

- các em chuẩn bị các câu hỏi từ 1->4 trang 89 SGK.

- Làm các bài tập trong sách bài tập chuẩn bị giờ sau làm bài tập.

Một phần của tài liệu giáo án tin 11 đầy đủ (Trang 90 - 94)