1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Lập trình bằng Turbo Pascal part 5 pptx

28 381 1
Tài liệu đã được kiểm tra trùng lặp

Đ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 28
Dung lượng 322,43 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Về bản chất, mμn Các thủ tục Read quen biết có thể đọc từ tệp văn bản rồi gán cho các biến không những các kí tự mμ cả các kiểu dữ liệu khác nữa: số nguyên, thực, logic ..... Tác dụng:

Trang 1

Ví dụ: Assign (F, 'Nguyen Dat');

Seek( biến tệp , FileSize( biến tệp )) ;

Write( biến tệp, biểu thức 1, , biểu thức n );

- FilePos ( biến tệp ): LongInt;

Hμm cho biết vị trí hiện tại của cửa sổ tệp Phần tử đầu tiên ở vị trí 0

Ví dụ: Assign(F, 'Nguyen.Dat')

- Rename ( biến tệp , tên mới ) ;

Thủ tục đổi tên tệp thμnh tên mới Tên mới nμy phải không được trùng với tên các tệp đã có trong cùng thư mục

Ví dụ: Assign(F, 'Nguyen Dat')

Rename( F, ' So1_100 Int' ) ;

3.2 Bẫy lỗi khi mở tệp

3.2.1 Đặt vấn đề

Khi thực hiện thao tác mở tệp để đọc / ghi có thể bị lỗi nếu:

- mở tệp chưa tồn tại trên đĩa, tên sai

- hết chỗ trên đĩa để ghi thêm vμo tệp

TurboPascal cung cấp chỉ thị để trình biên dịch thêm các mã lệnh thực hiện kiểm tra lỗi trong quá trình thực hiện đọc / ghi tệp mμ dưới đây sẽ gọi ngắn gọn lμ chỉ thị kiểm tra I/O

{ $ I + }: bật (mở) việc kiểm tra I/O Nếu gặp lỗi I/O chương trình sẽ báo lỗi vμ dừng lại Đây lμ chế độ mặc định

Trang 2

{ $ I - }: tắt việc kiểm tra I/O Chương trình không dừng dù có lỗi I/O Tuy nhiên nó sẽ bỏ qua (treo, tạm dừng) tất cả các thủ tục vμo/ra sau đó cho

đến khi gặp lời gọi hμm IOResult IOResult lμ hμm trả về mã lỗi khi thực

hiện các thao tác đọc ghi ra đĩa Nếu công việc thμnh công thì mã lỗi lμ 0 Trái lại, mã lỗi lμ một số khác không

Sử dụng cơ chế kiểm tra I/O có thể thực hiện việc bẫy lỗi khi mở tệp,

nhất lμ tiến hμnh mở tệp mới an toμn, tránh việc vô tình xoá mất tệp cùng tên khi mở tệp mới để viết vμo bằng thủ tục Rewrite

Nếu IOResult bằng 0, nghĩa lμ mở tệp thμnh công tức lμ đã có tệp

cùng tên Cần thông báo cho người dùng biết để xử lí, nhập lại tên khác

Writeln(' Ban muon tao tep moi ? Enter=Yes ');

if ReadKey = #13 then Rewrite( biến tệp )

Việc tắt chế độ kiểm tra I/O bằng chỉ thị {$I-} trước câu lệnh Reset lμ

để tránh báo lỗi vμ dừng chương trình theo mặc định khi mở tệp chưa có trên

đĩa

Trang 3

4 Tệp văn bản

4.1 Định nghĩa và cấu trúc

Tệp văn bản lμ một kiểu tệp phổ biến, đã được định nghĩa sẵn, để lưu trữ xử lí các "văn bản" Khái niệm “văn bản” ở đây khác với khái niệm văn bản thông thường trong các phần mềm xử lí văn bản “Văn bản” ở đây chỉ gồm các kí tự ASCII vμ được phân thμnh các dòng Ngoμi ra, không có bất

cứ định dạng nμo khác về trình bμy như cỡ chữ, kiểu chữ, mμu sắc, v.v

4.1.1

4.1.2

Cú pháp

Kiểu tệp văn bản đã được định nghĩa sẵn với tên chuẩn lμ Text Ta

không cần phải khai báo kiểu

Cú pháp khai báo biến tệp văn bản:

Var biến tệp: Text ;

Ví dụ

VAR F1, F2 : Text ;

Cấu trúc

Thμnh phần chính của tệp văn bản lμ các kí tự ASCII Tuy nhiên, tệp

văn bản được chia thμnh các dòng Đánh dấu hết dòng bằng dấu Eoln (end

of line) Đó lμ cặp kí tự CR (cariage return) - nhảy về đầu dòng, mã ascii

lμ 13 - vμ LF (line feed) - nhảy xuống dòng dưới, mã ascii lμ 10

Dấu hết tệp Eof đối với tệp văn bản lμ Ctrl-Z có mã ascii lμ 26 Trong môi trường DOS có thể dùng lệnh Type để hiển thị nội dung

Nội dung của tệp lμ dãy kí tự liên tiếp như sau

Trang 4

Write ( biến tệp , biểu thức 1, biểu thức 2 , , biểu thức n ) ;

Writeln ( biến tệp , biểu thức 1, biểu thức 2 , , biểu thức n );

Writeln ( biến tệp );

Sau các biểu thức có thể kèm phần định dạng (quy cách) in ra

Tác dụng của các câu lệnh trên hoμn toμn tương tự như trong trường hợp xuất ra mμn hình đã trình bμy ở Chương 3 Chỉ khác lμ ở đây không phải

in ra mμn hình mμ lμ viết ra tệp văn bản ứng với biến tệp Về bản chất, mμn

Các thủ tục Read quen biết có thể đọc từ tệp văn bản rồi gán cho các

biến không những các kí tự mμ cả các kiểu dữ liệu khác nữa: số nguyên, thực,

logic Thủ tục Read sẽ tự động chuyển đổi các xâu kí tự biểu diễn dữ liệu

thμnh giá trị có kiểu tương ứng của biến sẽ được gán

Read ( biến tệp , biến 1 , biến 2 , , biến n );

Readln ( biến tệp , biến 1 , biến 2 , , biến n ) ;

Readln ( biến tệp );

Trang 5

Tác dụng: hoμn toμn giống như các lệnh đọc dữ liệu từ bμn phím đã quen biết, chỉ khác lμ ở đây không phải nhập dữ liệu từ bμn phím mμ các mục

dữ liệu đã viết sẵn trong tệp văn bản ứng với biến tệp

Tuỳ theo kiểu của biến i mμ lệnh Read thực hiện đọc một dãy kí tự từ tệp văn bản, chuyển đổi nó thμnh một giá trị trực tiếp thuộc kiểu dữ liệu của

biến i vμ gán cho biến nμy

Quy định về phân cách các mục dữ liệu kiểu số, kiểu kí tự, kiểu xâu kí

tự đã được trình bμy chi tiết trong Chương 3

4.3.2 Ví dụ

Dưới đây lμ đoạn chương trình minh hoạ quy cách đọc vμo từ tệp văn

bản Kết quả thực hiện các thủ tục Read được viết trong phần chú thích sau mỗi câu lệnh Đầu vμo của chương trình lμ tệp vanban.txt có nội dung như

hình sau

abcdefg hiklm -3.2

4.4 Các hàm, thủ tục chuẩn khác cho tệp văn bản

Các thủ tục Seek, FileSize, FilePos không áp dụng được cho tệp văn

bản vì tệp văn bản có cấu trúc lμ dãy các dòng kích thước (độ dμi) khác nhau

Dưới đây lμ các hμm thủ tục áp dụng cho tệp Text

Trang 6

- Eof( biến tệp ): boolean ;

Kiểm tra đã ở cuối tệp chưa

- Eoln ( biến tệp ): boolean ;

Kiểm tra đã ở cuối dòng chưa

- Append ( biến tệp );

Mở tệp văn bản để viết vμo, của sổ tệp đặt tại cuối tệp

- SeekEoln( biến tệp ): boolean ;

Tương tự như Eoln nhưng trước khi kiểm tra nó nhảy qua các dấu cách vμ dấu Tab SeekEoln cho kết quả True nếu trên phần còn lại của dòng,

kể từ vị trí hiện tại, không còn mục dữ liệu nμo nữa

- SeekEof( biến tệp ): boolean ;

Tương tự như Eof nhưng trước khi kiểm tra nó nhảy qua các dấu cách,

dấu Tab vμ dấu xuống dòng SeekEof cho kết quả True nếu từ vị trí hiện tại

đến cuối tệp không còn mục dữ liệu nμo nữa

- Flush( biến tệp );

Xả hết nội dung bộ đệm của một tệp kiểu văn bản đang được mở để viết vμo

F lμ một biến kiểu tệp văn bản Text, được mở bằng Rewrite hoặc

Append để viết ra Khi đó lời gọi Flush sẽ xả hết phần nội dung còn đọng

trong bộ đệm, viết nốt ra tệp F Thủ tục nμy được dùng để đảm bảo rằng mọi lệnh viết ra tệp F đều được thực hiện trọn vẹn, không bỏ sót dữ liệu

Flush không có tác dụng nếu tệp F đựơc mở để đọc

- SetTextBuf( biến tệp, vùng đệm, kích thước );

Gán một vùng đệm I/O cho tệp văn bản Tham biến Vùng đệm lμ một

vùng trong bộ nhớ dùng lμm trung gian, tạm chứa dữ liệu trong các thao tác

truy cập đọc ra hoặc viết vμo tệp trên ổ đĩa Tham trị kích thước lμ tuỳ chọn,

có thể không có mặt

Thủ tục nμy thường dùng để tăng kích thước vùng đệm nhằm đẩy

nhanh tốc độ trao đổi dữ liệu với ổ đĩa Ta đã biết tốc độ truy cập đĩa chậm hơn nhiều so với truy cập bộ nhớ trong Nếu có một vùng đệm thì các thao tác xử lí đọc / viết tạm ra đây Khi đầy vùng đệm mới tiến hμnh thao tác đọc / viết thực sự ra đĩa, không lμm lắt nhắt nhiều lần

SetTextBuf không nên gọi cho tệp đang mở vμ đã có thao tác trao đổi

dữ liệu Nó có thể được gọi ngay sau Reset, Rewrite, hay Append Nếu gọi

SetTextBuf cho tệp đang mở thì khi có thao tác I/O , có thể bị mất dữ liệu do

kích thước của vùng đệm thay đổi

Ví dụ

Minh hoạ cách dùng SetTextBuf

Trang 7

{Đưa toμn bộ nội dung tệp văn bản ra mμn hình}

while not Eof(f) do

4.5 Các thiết bị vào ra chuẩn

Bμn phím vμ mμn hình lμ các thiết bị vμo / ra chuẩn như được coi như tệp văn bản, có thể sử dụng mμ không cần khai báo

OUTPUT

Lμ tệp xuất chuẩn, được tự động gắn cho mμn hình

Nếu trong các câu lệnh Write không chỉ rõ biến tệp thì có nghĩa lμ

sử dụng tệp xuất chuẩn Output Đó lμ lí do tại sao khi in ra mμn hình có thể

bỏ qua thμnh phần biến tệp Câu lệnh có dạng

Write ( biểu thức 1, biểu thức 2 , , biẻu thức n ) ;

INPUT

Lμ tệp vμo chuẩn, được tự động gắn cho bμn phím

Tương tự như với lệnh xuất ra, nếu trong các câu lệnh Read không chỉ

rõ biến tệp thì có nghĩa lμ sử dụng tệp vμo chuẩn

LST lμ tệp xuất gắn với máy in

Để in ra máy in từ trong một chương trình Pascal cần chỉ rõ biến tệp

bây giờ lμ máy in

Write (LST, biểu thức 1, biểu thức 2 , , biẻu thức n ) ;

Trang 8

5 Tệp không định kiểu

5.1 Định nghĩa và cấu trúc

Tệp không định kiểu - Untyped File - lμ tệp không định rõ kiểu của

phần tử khi khai báo, coi dữ liệu chính lμ các mã nhị phân 0,1 không cần biết nó biểu thị cái gì Đơn vị xử lí lμ từng khối bít, có kích thước do ta quy

định, gọi lμ các Record Lưu ý rằng record ở đây không phải lμ kiểu bản ghi như đã biết

Tệp không định kiểu chủ yếu dùng để tăng tốc độ thao tác vμo ra dữ liệu

Cú pháp

Khai báo: dùng từ khoá FILE

Var biến tệp : File ;

Truy cập: Các thủ tục Reset, Rewrite đối với tệp không định kiểu cần

có thêm tham trị kich thước Rec Tham trị kích thước Rec lμ một số nguyên (kiểu Word) để ấn định kích thước của khối dữ liệu đơn vị (record) trong các

thao tác tệp Kích thước nμy tính theo byte

Reset ( biến tệp , kích thước Rec );

Rewrite ( biến tệp , kích thước Rec );

Ví dụ

Reset(F,4); đọc ra từng khối 4 byte một

Rewrite(F,2); viết vμo từng khối 2 byte một

Nếu tham số nμy không có mặt thì record có kích thước mặc định lμ

128 byte

5.2 Các hàm, thủ tục khác

Ngoμi ra, để tăng nhanh tốc độ xuất nhập dữ liệu, còn có hai thủ tục

dμnh riêng cho tệp không định kiểu lμ BlockRead vμ BlockWrite

BlockRead( biến tệp , vùng đệm , số Rec , kết quả );

Vùng đệm: vùng đệm trong bộ nhớ, lμ một tham biến, nơi chứa dữ liệu

đọc vμo

Sô Rec : tham trị kiểu Word, lμ số khối dự định đọc

Trang 9

Kết quả : tham biến kiểu Word, lμ số khối thực đọc được

Tác dụng

BlockRead đọc một lượng số Rec khối bit từ tệp ứng với biến tệp rồi

ghi vμo bộ nhớ, bắt đầu từ byte thứ nhất của Vùng đệm Số khối bit thực sự

đọc được được trả về trong biến kết qủa Lưu ý rằng số khối bít thực sự đọc

được có thể bé hơn sô Rec dự định đọc nếu đã đến cuối tệp

Nếu không có tham biến kết qủa thì khi số khối thực sự đọc được không bằng số Rec sẽ có lỗi I/O xảy ra

Số byte đọc được nhiều nhất lμ số Rec * kích thước Rec, ở đây kích

thước Rec lμ kích thước của khối Kích thước khối lμ số lượng byte trong một

khối, được ấn định khi mở tệp như đã trình bμy ở trên

Nếu số Rec * kích thước Rec > 65,535 (64K) thì sẽ có lỗi

BlockWrite( biến tệp , vùng đệm , số Rec , kết quả );

Vùng đệm: vùng đệm trong bộ nhớ, lμ một tham biến, nơi chứa dữ liệu

để xuất ra

Sô Rec : tham trị kiểu Word, lμ số khối dự định xuất ra

Kết quả : tham biến kiểu Word, lμ số khối thực sự xuất ra được

Y nghĩa của các tham số vμ công dụng của BlockWrite cũng tương tự như BlockRead ở trên Chỉ có thao tác truy cập ở đây lμ viết từ bộ nhớ ra tệp

Ví dụ

Chương trình dưới đây minh hoạ cách dùng BlockRead, BlockWrite

Nó thực hiện sao chép tệp nhanh, đơn giản không kiểm tra lỗi

program CopyFile;

var

FromF, ToF: file;

NumRead, NumWritten: Word;

Buf: array[1 2048] of Char;

begin

Assign(FromF, ParamStr(1)); { Mo tep du lieu vao}

Assign(ToF, ParamStr(2)); { Mo tep du lieu ra}

Writeln('Copying ', FileSize(FromF), ' bytes ');

repeat

BlockRead(FromF, Buf, SizeOf(Buf), NumRead);

BlockWrite(ToF, Buf, NumRead, NumWritten);

until (NumRead = 0) or (NumWritten <> NumRead);

Close(FromF);

Close(ToF);

end

Trang 10

Câu hỏi vμ bμi tập

1 Tệp văn bản có thể dùng để đọc/viết các kiểu dữ liệu nμo Tệp đinh kiểu có thể dùng để đọc/viết các kiểu dữ liệu nμo Khi chỉ có môt kiểu dữ liệu thì tệp kiểu nμo sẽ được thao tác nhanh hơn

2 Những hμm, thủ tục nμo chỉ áp dụng cho tệp định kiểu mμ không áp dụng được cho tệp văn bản vμ ngược lại

3 Khi nμo thì trong phần khai báo bién không có biến tệp Khi nμo thì trong phần khai báo kiểu không có kiểu tệp

4 Khi nμo tệp có thể lμ một tham trị trong danh sách tham số của chương trình con

5 Số lớn nhất các bản ghi có thể viết vμo một tệp lμ bao nhiêu

6 Tệp không định kiểu đặt ra nhằm mục đích gì

Thực hμnh

1 Viết chương trình tạo tệp Ran100.int chứa 100 số nguyên dương i được

sinh ngẫu nhiên (0 < i <= 50) In nội dung tệp nay ra mμn hình thμnh

10 dòng b) Lấy tệp nμy lμm đầu vμo để nhập ma trận Hai số đầu tiên lấy lμm số hμng, số cột của ma trận, tiép theo lμ các phần tử ma trận, nếu thiếu thì gán giá trị bằng không

2 Viết chương trình nhân hai ma trận với dữ liệu đọc từ tệp vμ kết quả in

ra tệp a) Dùng tệp số nguyên vμ ma trận nguyên b) Dùng tệp số thực với ma trận thực c) Dùng tệp văn bản

3 Thực hiện sắp xếp hoμ nhập hai đường: đầu vμo lμ 2 tệp số thực có thứ

tự tăng dần Tẹp kết quả lμ trộn của hai tệp, cũng có thư tự tăng dần

4 Viết chương trình thống kê số lần xuất hiện của 26 chữ cái trong một tệp văn bản

5 Viết chương trình thống kê số lần xuất hiện của một từ cho trước trong tệp văn bản

6 viết chương trình đếm số từ trong tệp văn bản chuẩn hoá lại tệp để các

từ cách nhau không quá một khoảng trắng (từ lμ một cụm kí tự không chứa các dấu cách như khoảng trắng, tab, xuống dòng) nằm giữa hai dấu cách

7 Giả thiết đã có tệp các bản ghi kết quả học tập của học sinh Xây dựng chương trình xử lí có các chức năng: in danh sách học sinh được lên lớp, theo thứ tự điểm giảm dần, in danh sach học sinh phải thi lại, sắp theo tên, lμm thông kê tần xuất các mức điểm

Trang 11

Chương 10 Chương trình con

1 Chương trình con - Hàm và thủ tục

1.1 Tại sao cần sử dụng chương trình con

- Trong một chương trình có thể có những phần công việc phải lặp đi

lặp lại nhiều lần, với các dữ liệu đầu vμo lμ khác nhau Để tránh viết lại các

đoạn chương trình dùng nhiều lần, ta cần tổ chức thμnh các chương trình con

- Có một số chương trình hay dùng, đã dược xây dựng hoμn chỉnh

thμnh các chương trình mẫu Cần tổ chức thμnh thư viện các chương trình con

để sử dụng lại sau nμy Ví dụ, Turbo Pascal đã có thư viện các hμm mẫu: sin,

cos, tan, sqrt Người lập trình có thể xây dựng thêm các chương trình con

khác, ví dụ để tính các biểu thức hay gặp, tạo bảng chọn, vẽ đồ thị

- Khi phát triển một phần mền cỡ lớn vμ phức tạp thì tất yếu lμ phải

chia lμm nhiều mô đun nhỏ độc lập nhau, giao cho các nhóm phát triển độc

lập Một chương trình lớn lμ cấu trúc phối hợp nhiều chương trình con

- Ngay cả khi chương trình không phải lμ quá dμi thì việc tổ chức

thμnh các chương trình con còn có tác dụng hỗ trợ, lμm cho việc quản lý, gỡ

rối, bảo trì tiện lợi vμ dễ dμng hơn

1.2 Khai báo chương trình con

Trong Pascal các chương trình con cần phải được khai báo vμ triển

khai đầy đủ trước khi có thể sử dụng Trong khung cấu trúc một chương

trình Pascal, phần dμnh cho khai báo vμ xây dựng các chương trình con lμ ở

sau phần khai báo nhãn, hằng, kiểu, biến vμ ở ngay trước phần thân chương

trình chính

Program Tên chương trình;

Uses ;

Trang 12

Các khai báo hằng, kiểu, biến của riêng hμm nμy;

Các khai báo hằng, kiểu, biến của riêng thủ tục nμy;

Begin

Các câu lệnh của thủ tục;

End;

Phân tích chi tiết từng thμnh phần như sau

Dòng đầu tiên gọi lμ nguyên mẫu của chương trình con gồm: từ khoá chỉ rõ loại chương trình con lμ hμm - Function hay thủ tục – Procedure, tên

hμm hay thủ tục, danh sách các tham số hình thức nằm trong dấu ngoặc đơn Nếu chương trình con lμ một hμm thì còn phải chỉ rõ kiểu của giá trị trả về viết sau dấu hai chấm

Trang 13

Danh sách các tham số hình thức lμ một dãy các khai báo dạng tên

tham số: kiểu dữ liệu cách nhau dấu chấm phẩy “ ; ” Trước tên tham số có

thể có từ khoá VAR để chỉ thị cách truyền theo tham biến (ý nghĩa của nó sẽ giải thích sau) Nếu có vμi tham số cùng kiểu dữ liệu thì có thể khai báo

chung Nếu danh sách tham số lμ rỗng thì có thể bỏ cả hai dấu ngoặc đơn

Tóm lại, với mỗi chương trình con, dòng đầu tiên nhằm mục đích khai

báo tên vμ "kiểu" của chương trình con Kiểu của chương trình con ở đây bao

gồm: chương trình con loại gì, hμm hay thủ tục; có bao nhiêu tham số dữ liệu

đầu vμo, đầu ra vμ kiểu của các tham số ấy

Ví dụ về dòng khai báo nguyên mẫu của chương trình con:

Sau dòng khai báo nguyên mẫu (tên vμ kiểu) lμ phần triển khai chi tiết

chương trình con Phần nμy có cấu trúc hoμn toμn tương tự như của một

chương trình Pascal bình thường Bắt đầu cũng lμ các khai báo (units, hằng, kiểu, biến, ) của riêng chương trình con Sau đó lμ phần thân chương trình

con gồm các câu lệnh nằm giữa hai từ khoá Begin, End Chú ý rằng trước khi

bắt đầu phần thân chương trình con lại có thể có các chương trình con của

chính chương trình con nμy Khái niệm chương trình con có tính đệ quy

Các chương trình con kết thúc bằng End với dấu chấm phẩy chứ không

phải dấu chấm như chương trình chính

Nếu chương trình con lμ một hμm thì trong phần thân, trước khi kết thúc phải có câu lệnh dạng

tên hμm:= giá trị trả về ;

1.4 Lời gọi chương trình con

Để cho thực hiện một chương trình con, ta cần viết một lời gọi Lời gọi hμm, thủ tục có dạng chung như sau

Tên hμm ( Danh sách các tham số thực sự );

Tên thủ tục ( Danh sách các tham số thực sự );

Trang 14

Trong lời gọi hμm, thủ tục thì danh sách các tham số thực sự phải

tương ứng một - một với danh sách tham số hình thức: đúng số lượng, thứ tự

vμ kiểu dữ liệu

Tại một điểm trong chương trình chính, khi gặp lời gọi chương trình con thì chương trình chính tạm dừng Các tham số hình thức sẽ được gán các giá trị hiện tại của tham số thực sự vμ các lệnh xử lí trong thân chương trình con được tiến hμnh Khi kết thúc chương trình con, điều khiển sẽ được trả về cho chương trình chính vμ công việc của chương trình chính tiếp tục lại từ chỗ tạm dừng để nhảy vμo chương trình con

Dưới đây lμ ví dụ lời gọi các chương trình con được khai báo như nêu trên

NhapSoLieu;

Lời gọi thủ tục nμy sẽ cho thực hiện lần lượt các lệnh trong thân thủ

tục NhapSoLieu giống như ta chèn toμn bộ các câu lệnh đó vμo đúng chỗ mμ

lời gọi có mặt

TuoiCaoNhat:= MaxDay( 50, Tuoi );

Khi thực hiện lời gọi hμm như trên, tham số SoPhanTu sẽ được gán trị 50, Tuoi phải lμ mảng số nguyên có 50 phần tử Chương trình con sẽ tìm giá trị cực đại của mảng Tuoi vμ gán cho biến TuoiCaoNhat

GiaiPTBacHai( 2.3, -0.5, 1.0, x1, x2);

Lời gọi thủ tục nμy sẽ có tác dụng gán a:=2.3; b:=-0.5, c:=1.0 Sau

đó giải phương trình bậc hai với ba hệ sô a,b,c có giá trị như trên vμ đặt kết quả vμo x1, x2 lμ các biến thực đã được khai báo trước đó

1.5 Ví dụ minh hoạ

Hãy viết một chương trình nhập vμo hai dãy số liệu lμ nhiệt độ cao nhất vμ nhiệt độ thấp nhất của từng ngμy trong một tuần Tìm vμ in ra nhiệt

độ cao nhất, thấp nhất trong tuần

Nếu không sử dụng chương trình con ta sẽ viết một chương trình đại loại như sau

const kt_mang = 7;

type MangSoThuc = array [1 kt_mang] of real;

var NhietDoCao, NhietDoThap: MangSoThuc;

m,max,min: real;

i: integer;

BEGIN

Ngày đăng: 23/07/2014, 21:20

HÌNH ẢNH LIÊN QUAN

Hình 10.1:  Các ch−ơng trình con lồng nhau. - Lập trình bằng Turbo Pascal part 5 pptx
Hình 10.1 Các ch−ơng trình con lồng nhau (Trang 23)

TỪ KHÓA LIÊN QUAN