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

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

28 411 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 308,06 KB

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

Nội dung

Chương 1 Giới thiệu chung Pascal lμ một ngôn ngữ lập trình cho máy tính, do Niklaus Wirth, giảng viên trường Đại học Kĩ thuật Zurich, Thuỵ sĩ xây dựng nên vμo năm 1970 với mục đích để g

Trang 1

LơI NOI đầU

Lμ một ngôn ngữ lập trình có cú pháp chặt chẽ, đơn giản vμ

dễ hiểu, Pascal được giảng dạy cho sinh viên tin học ngay năm học

đầu tiên Nó lμ ngôn ngữ cơ sở để giới thiệu cho sinh viên lμm quen với kĩ thuật xây dựng chương trình Ngoμi ra, nó còn được dùng để trình bμy nhiều chuyên đề khác nữa của tin học trong những năm học tiếp theo

Nắm vững các thμnh phần cơ bản, hiểu rõ các yếu tố cú pháp của ngôn ngữ lập trình Pascal, lμ rất quan trọng Nhưng vận dụng nó để xây dựng được các chương trình mới lμ điều quan trọng nhất

Qua kinh nghiệm nhiều lần giảng dạy ngôn ngữ Pascal cho các đối tượng sinh viên khác nhau, có thể nhận thấy rằng sinh viên lúng túng nhất ở khâu vận dụng xây dựng chương trình cụ thể, không biết lμm thế nμo, bắt đầu từ đâu

Giáo trình nμy đặt trọng tâm vμo trình bμy kĩ thuật xây dựng chương trình song song với việc giới thiệu ngôn ngữ lập trình Pascal Các ví dụ ứng dụng tổng hợp ở cuối chương được chọn lọc

để minh hoạ những vấn đề lí thuyết trình bμy trong chương đó Những ví dụ ứng dụng nμy có liên quan chặt chẽ với nhau, được phát triển hoμn thiện dần một cách có hệ thống để sinh viên hiểu

rõ các bước xây dựng chương trình, từ thô sơ, đơn giản đến hoμn thiện, hiệu qủa hơn

Vì đây lμ hệ thống lại các bμi giảng lần đầu tiên nên chắc chắn còn nhiều thiếu sót Rất mong sự đóng góp ý kiến của các thầy, cô đồng nghiệp cũng như của các bạn sinh viên lμ đối tượng phục vụ của giáo trình nμy

Tác giả

Trang 2

NÔI DUNG

Chương 2 - Các kiểu dữ liệu chuẩn, các hμm chuẩn 14

1.2 Phân loại các kiểu dữ liệu trong TurboPascal 14

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

Chương 3 - Các khai báo vμ câu lệnh đơn giản 21

Trang 3

3.5 Lệnh in ra máy in 29

4 Một số hμm, thủ tục trình bμy mμn hình 32 Câu hỏi vμ bμi tập 32

Chương 4- Các cấu trúc điều khiển 35

7.1 Điều khiển vòng lặp bằng giá trị canh chừng 50

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

Chương 5 - Định nghĩa Các kiểu dữ liệu đơn giản 56

Trang 4

1.2 CÊu tróc kiÓu x©u kÝ tù - Truy cËp trùc tiÕp tõng thμnh phÇn 82

2.3 §äc vμo, viÕt ra víi mét biÕn kiÓu b¶n ghi 91

Trang 5

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

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

2 Hμm hay thủ tục, tham biến hay tham trị 120

2.3 Một vμi lưu ý khi xây dựng chương trình con 122

1.4 Lập trình mô đun - Modula programming 131 1.5 Thủ tục hoá - Procedural abstraction 133

2.1 Sơ đồ cấu trúc chương trình - structure chart 133

Trang 6

3 Tính đệ quy vμ thuật giải đệ quy 138

4.4 Sắp xếp kiểu phân đoạn hay sắp xếp nhanh - Quick Sort 145

5 Tự xây dựng thư viện chương trình con - Units 147

5.5 So sánh việc dùng Unit với chèn trực tiếp tệp mã nguồn 150

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

Chương 12 - Con trỏ vμ cấu trúc dữ liệu động 176

Trang 7

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

Chương 13 Danh sách & danh sách móc nối 187

2.1 Định nghía danh sách kiểu ngăn xếp 193

2.3 Các phép toán đối với kiểu ngăn xếp 194

3.1 Định nghĩa danh sách kiểu hμng đợi 195 3.2 Biểu diễn danh sách kiểu hμng đợi bằng mảng 196

5.2 Các phép toán với danh sách nối kép 203

6 Ví dụ ứng dụng của danh sách móc nối 205 6.1 Cải tiến chương trình quản lí hồ sơ 205

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

2.1 Di chuyển, vẽ một điểm, một đoạn thẳng 219

Trang 8

1.3 Th©m nhËp trùc tiÕp qua thanh ghi vμ ng¾t 246

1.5 Sö dông c¸c hμm, thñ tôc cña unit DOS 250

2.4 Th− viÖn c¸c thñ tôc thao t¸c chuét 255

C©u hái vμ bμi tËp 265

Trang 9

Chương 1 Giới thiệu chung

Pascal lμ một ngôn ngữ lập trình cho máy tính, do Niklaus Wirth,

giảng viên trường Đại học Kĩ thuật Zurich, Thuỵ sĩ xây dựng nên vμo năm

1970 với mục đích để giảng dạy

Lμ ngôn ngữ lập trình cấu trúc, trong sáng, dễ hiểu, Pascal đã vượt ra

khỏi nhμ trường, phát triển thμnh một ngôn ngữ mạnh, có thể dùng để phát

triển chương trình chuyên nghiệp

N Wirth đã được giải Turing do công lao sáng tạo vμ phổ biến ngôn

ngữ Pascal

Hiện nay ngôn ngữ lập trình Pascal có nhiều biến thể do các công ty

khác nhau bổ xung hoμn thiện thêm: TURBO PASCAL của Borland,

QUICK PASCAL của Microsoft, ANSI PASCAL

Nói riêng Turbo Pascal cũng đã được cải tiến hoμn thiện qua nhiều

phiên bản, từ bản 1.0 ban đầu cho đến bản 5.5 năm 1989, bản 6.0 năm 1990,

bản 7.0 năm 1992

1 Các khái niệm cơ bản

1.1 Mở đầu

Pascal lμ một ngôn ngữ lập trình cấp cao, nghĩa lμ gần với ngôn ngữ

của con người Khái niệm cấp cao, cấp thấp của một ngôn ngữ lập trình máy

tính để nói nó gần hơn với ngôn ngữ con người hay với ngôn ngữ của máy

tính chứ không phải để nói về khả năng

Tương tự như ngôn ngữ thông thường, Pascal cũng sử dụng các kí tự để

tạo nên các từ, dùng các "từ" vμ các yếu tố cơ bản khác để tạo thμnh các

"câu" có ý nghĩa xác định Các "câu" được phối hợp thμnh một "văn bản"

hoμn chỉnh gọi lμ văn bản chương trình nhằm ra lệnh cho máy tính thực hiện

một số công việc xử lí thông tin nμo đó

Để minh hoạ ta xét một văn bản chương trình Pascal sau đây

Program HinhTron;

Var BanKinh,ChuVi,DienTich: real;

Trang 10

DienTich:= pi * BanKinh * BanKinh ;

Write(' Chu vi la = ' , ChuVi );

Write(' Dien tich la = ' , DienTich);

ViÕt ra: Chu vi lμ = gi¸ trÞ ChuVi (tÝnh ®−îc ë trªn)

ViÕt ra: DiÖn tÝch lμ = gi¸ trÞ DiÖnTÝch (tÝnh ®−îc ë trªn) KÕt thóc

Tr¸i l¹i

ViÕt: B¸n KÝnh ©m, Kh«ng hîp lÖ !

KÕt thóc

1.2 C¸c kÝ tù

Turbo Pascal sö dông c¸c kÝ tù sau ®©y trong b¶ng m· ASCII:

- C¸c ch÷ c¸i th−êng vμ hoa: a z, A Z

Trang 11

1.3 Các từ khoá

Nhìn lại chương trình vμ bản "dịch" trong ví dụ trên ta thấy các từ

Program, Var, Real, Begin, If, Then, Else, End lμ những thμnh phần hết sức

quan trọng Chúng phối hợp với nhau để tạo nên phần khung của các câu

lệnh Đó lμ các từ khoá Các từ khóa lμ các đơn vị từ vựng cơ sở của một

ngôn ngữ lập trình nói chung

Khác với ngôn ngữ thông thường, một từ có thể nhiều nghĩa, một ý có thể viết theo nhiều cách, mỗi từ khoá trong một ngôn ngữ lập trình có một ý nghĩa xác định chính xác, những câu lệnh được xây dựng theo những quy tắc hết sức chặt chẽ

Dưới dây liệt kê những từ khoá của Turbo Pascal Y nghĩa vμ cách sử dụng chúng ta sẽ lμm quen dần sau nμy

If Implementation

In Inline Interface Label Mod

Nil Not Object

Of

Or Packed Procedure Program Record Repeat Set Shl

Shr String Then

To Type Unit Until Uses Var While With Xor

Với các từ khóa, Pascal không phân biệt chữ in hoa hay chữ thường Trong văn bản chương trình Pascal ta có thể tuỳ ý viết một từ khóa bằng các chữ cái dạng in thường hay in hoa hoặc xen kẽ cả hai dạng

1.4 Tên - Identifier

Nhìn lại chương trình trong ví dụ ở trên, ngoμi các từ khoá ta thấy còn

có các thμnh phần khác như BanKinh, ChuVi, DienTich Chúng lμ tên của

các đối tượng mμ ta xử lí trong chương trình

Quy định đặt tên trong Pascal như sau:

- Tên lμ xâu kí tự gồm chữ cái , chữ số, dấu nối dưới ( _ )

- Tên không được chứa dấu cách;

- Tên không được bắt đầu bằng số;

- Tên có thể dμi tuỳ ý nhưng chỉ có 63 kí tự đầu tiên lμ có ý nghĩa;

- Tên không được trùng với từ khoá;

Nên đặt tên phản ánh đúng nội dung của đối tượng, gợi nhớ Tránh

kiểu đặt tên không mang lại thông tin gì bổ ích, ví dụ: prog01, baitap02

Trang 12

Giống như đối với các từ khóa, trong văn bản chương trình Pascal, các

tên cũng được viết bằng các chữ cái dạng in thường hay in hoa, không phân

biệt BanKinh hay bankinh đều chỉ lμ một tên Ta có thể chọn một phong

cách viết thích hợp

Để tách các âm tiết cho dễ đọc có thể dùng dấu nối dưới ( _ ) hoặc

viết hoa chữ cái đầu tiên của mỗi âm tiết, ví dụ: giai_pt_bac_hai, dinh_thuc,

HeSo, BanKinh , DienTich Trong tμi liệu nμy sẽ dùng cách viết hoa chữ cái

đầu của mỗi âm tiết

Khái niện tên (identifier - ID) ở đây chính xác vμ chặt chẽ hơn khái niệm tên gọi thông thường (name) Tên phải đảm bảo đúng quy định, không

trùng lặp, tương ứng một-một giữa tên vμ đối tượng gắn với nó

1.5 Tên chuẩn

Tên chuẩn lμ tên mμ Pascal đã sử dụng, có một ý nghĩa hoμn toμn xác

định trong môi trường Pascal Trong ví dụ trên các thμnh phần Read, Write

lμ các tên chuẩn Đó lμ tên của hai thủ tục có sẵn trong Turbo Pascal

Tên chuẩn khác từ khoá ở chỗ, có thể dùng lại tên nμy vμo việc khác, định nghĩa lại với nghĩa mới khác đi, do người dùng quy định Tuy nhiên không nên lμm thế vì mọi thay đổi khác lệ thường, đều dễ đưa đến nhầm lẫn

Các tên chuẩn bao gồm

- Các kiểu dữ liệu: boolean, char, integer, real, byte, text ;

- Các hằng kiểu lô gic: false, true ;

- Các hμm, thủ tục chuẩn đã lμm sẵn:

chr, odd, abs, sqr, sqrt, exp, ln

arctan, cos, sin,

eof, eoln, read, readln, write, writeln

1.6 Câu lệnh

Sử dụng các từ khoá của ngôn ngữ Pascal, các tên đối tượng, các dấu phép toán vμ các kí hiệu đặc biệt khác, người lập trình viết các câu lệnh Câu lệnh lμ một chỉ thị cho máy tính thực hiện một thao tác tính toán, xử lí nμo đó

Ví dụ,

DienTich:= pi * BanKinh * BanKinh ;

lμ một câu lệnh yêu cầu máy tính bình phương bán kính nhân với số π rồi gán cho diện tích hình tròn

Có thể viết nhiều câu lệnh trên một dòng Phải dùng dấu chấm phẩy

“ ; ” để ngăn cách hai câu lệnh dù lμ trên cùng một dòng hay trên hai dòng khác nhau

Một văn bản chương trình lμ một tập hợp các câu lệnh, điều khiển máy tính hoμn thμnh một công việc nhất định nμo đó Các câu lệnh nμy được viết tuân theo một quy định hết sức chặt chẽ vμ chính xác Mỗi ngôn ngữ lập trình

Trang 13

2 Phát triển một chương trình Pascal

2.1 Cấu trúc một chương trình Turbo Pascal

Để cho dễ hiểu từ đây ta quy ước khi trình bμy các thμnh phần cú pháp của Pascal ta sẽ dùng cách nhấn mạnh bằng chữ in nghiêng để chỉ những

phần mμ người lập trình cần điền vμo tuỳ theo từng trường hợp cụ thể Những

từ khoá, tên chuẩn của ngôn ngữ Pascal lμ phần khung phải giữ nguyên

không được thay đổi sẽ được thể hiện bằng kiểu chữ đứng đậm hơn

2.1.1 Các thμnh phần

Về cấu trúc, một chương trình Pascal gồm 3 phần: phần tên, phần khai

báo, phần thân

Program tên chương trình ; Phần tên

Uses danh sách các unit ;

Const các khai báo hằng ;

Type các khai báo kiểu ;

Var các khai báo biến ;

Procedure ;

Function ;

Phần khai báo

Phần các chương trình con.BEGIN

các câu lệnh của chương trình;

END

Phần thân

Phần tên có thể không có

Phần khai báo phải theo đúng trình tự các mục: uses, const, type,

var,v.v Có thể lặp lại các từ khoá ở trên nhiều lần, trên nhiều dòng nếu như

có nhiều nội dung Phần khai báo có thể không có

Phần thân chương trình bắt buộc phải có ! Lưu ý rằng văn bản chương trình kết thúc với từ khoá END kèm dấu chấm “.”

Phần khai báo có thể phân chia chi tiết hơn Với các chương trình lớn,

sau khai báo danh sách các thư viện hμm, thủ tục lμm sẵn (các unit), khai báo

các hằng, các kiểu dữ liệu, các biến sẽ lμ phần dμnh cho các chương trình con

Trang 14

ở đây có khai báo nguyên mẫu (tức lμ tên, danh sách tham số, kiểu kết quả

trả về) của mỗi chương trình con kèm triển khai chi tiết của chúng Ta sẽ tìm

hiểu kĩ hơn sau nμy trong chương "Chương trình con"

Đoạn chú thích có thể trên một dòng hay nhiều dòng

đây ta chỉ trình bμy những công việc cơ bản nhất của hai bước cuối cùng lμ viết chương trình vμ chạy thử

Viết văn bản chương trình

Sau khi đã có thuật giải, có thể triển khai viết văn bản chương trình Văn bản chương trình lμ một tệp văn bản, nghĩa lμ gồm các kí tự trong bảng

Trang 15

2.2.2

2.2.3

Biên dịch vμ liên kết

Tệp văn bản chương trình gồm các câu lệnh gần với ngôn ngữ thông thường, dễ hiểu với con người, nhưng không phải lμ ngôn ngữ của máy tính

Để máy tính hiểu vμ thực thi được các câu lệnh cần phải biên dịch chương trình từ tệp mã nguồn Pascal thμnh tệp mã máy

Trong quá trình biên dịch có thể máy sẽ phát hiện ra các lỗi cú pháp -

syntax error Ta cần sửa chữa để đảm bảo chương trình hết lỗi cú pháp, được

biên dịch thμnh công vμ liên kết thμnh tệp thi hμnh được

Chạy thử vμ sửa lỗi

Giống như một bμi văn gồm toμn những câu đúng ngữ pháp nhưng vô

lý, không thể hiểu được, một chương trình đã đúng cú pháp có thể vẫn chưa chạy thông được Máy dừng khi chương trình thực hiện nửa chừng Lúc nμy

lμ lỗi khi chạy chương trình - run time error

Ngay khi chương trình đã chạy thông cũng vẫn có thể cho kết quả sai

Đây lμ lỗi nội dung thuật giải Cần phải sửa lại thuật giải để đảm bảo chương

trình cho kết quả đúng như mong muốn

Một bμi toán thường có nhiều trường hợp khác nhau Ví dụ, chương trình giải phương trình bậc hai sẽ có ba trường hợp khác nhau ứng với giá trị của biệt thức (Delta) lμ âm, dương hay bằng không Chương trình đã chạy

đúng với trường hợp nμy có thể vẫn chưa đúng hoặc thậm chí không chạy thông được cho trường hợp khác Cần chạy thử chương trình với nhiều bộ dữ liệu đầu vμo khác nhau để kiểm tra tính đúng đắn của chương trình trong mọi trường hợp có thể xảy ra

3 Môi trường phát triển tích hợp Turbo Pascal

3.1 Các công cụ phát triển

Như đã trình bμy ở trên, việc triển khai một chương trình Pascal cần tiến hμnh nhiều bước, từ soạn thảo văn bản chương trình cho đến biên dịch, liên kết, chạy thử vμ sửa lỗi Mỗi bước như vậy đều cần có một công cụ hỗ trợ tương ứng Để soạn thảo văn bản chương trình cần dùng một bộ soạn thảo

– Editor Để biên dịch chương trình cần có trình biên dịch – Compiler Để

liên kết các đoạn mã sau biên dịch thμnh chương trình cần dùng trình liên kết

– Linker Trình hỗ trợ phát hiện vμ sửa lỗi gọi lμ Debuger Turbo Pascal đã

kết hợp tất cả các công cụ cần thiết thμnh một tổng thể hoμn chỉnh, cho phép

dễ dμng thực hiện mỗi bước vμ chuyển tiếp giữa các bước Đó lμ môi trường

Trang 16

phát triển tích hợp (IDE - Integrated Development Environment) của Turbo

Pascal

Bộ phần mềm Turbo Pascal gồm nhiều tệp Dưới đây lμ một số tệp chính

- Turbo.exe: soạn thảo, biên dịch, liên kết, sửa lỗi, trợ giúp.v.v Đây lμ

tệp chính tạo nên môi trường phát triển tích hợp của Turbo Pascal

- Turbo.tpl : (Turbo Pascal Library) thư viện chuẩn phục vụ cho turbo.exe

- Graph.tpu: (Turbo Pascal Units) thư viện chương trình về đồ hoạ

- *.CHR : các phông chữ trong chế độ đồ hoạ

- *.BGI : (Borland Graphics Interfaces) các trình điều khiển mμn

hình đồ hoạ của Borland

3.2 Các chức năng và cách dùng

Để mở môi trường phát triển Turbo Pascal cần phải cho chạy tệp

Turbo.exe Sau nhiều lần cải tiến, phiên bản phổ biến hiện nay lμ Turbo

Pascal 7.0 Phần trình bμy dưới đây lμ căn cứ trên phiên bản nμy

3.2.1 Mμn hình lμm việc

Sau khi khởi động sẽ hiện ra mμn hình để bắt đầu việc soạn thảo, biên dịch, chạy thử vμ sửa lỗi chương trình Trên đỉnh mμn hình lμ thanh chọn chính Dưới đáy mμn hình lμ dòng nhắc lệnh ở giữa lμ vùng lμm việc

Mỗi mục tên trên thanh chọn chính cho phép mở ra một bảng chọn

buông xuống Mỗi bảng chọn buông xuống chứa nhiều mục chọn thực hiện

các công việc khác nhau Tên các bảng chọn, mục chọn phản ánh khá chính

Trang 17

Gõ Alt + chữ cái được lμm nổi bật để mở các bảng chọn buông

xuống tương ứng Ví dụ, gõ Alt + F để mở bảng chọn File, gõ Alt + E để mở bảng chọn Edit, gõ Alt + S để mở bảng chọn Search, v.v Cũng có thể dùng

các phím mũi tên sang phải, sang trái để di chuyển trên thanh chọn chính vμ

gõ Enter để mở bảng chọn buông xuống tại vị trí đó

Dòng nhắc lệnh gồm nhiều cặp phím gõ tắt - tên lệnh cho biết cách thực hiện nhanh các lệnh hay dùng Cặp F1 Help nghĩa lμ gõ phím F1 để mở phần trợ giúp, cặp Alt+F9 Compile nghĩa lμ gõ tổ hợp phím Alt - F9 để

thực hiện biên dịch,v.v

3.2.2 Các bảng chọn

Sau đây lμ nội dung của các bảng chọn vμ chức năng của các mục chọn chứa trong đó Y nghĩa của các mục chọn sẽ được tìm hiểu kĩ hơn khi gặp vấn đề có liên quan

Mở cửa sổ soạn thảo mới

Mở tệp đã có trên đĩa để sửa chữa, viết tiếp Ghi lưu tệp chương trình đang soạn thảo lên đĩa với tên cũ

Ghi lưu tệp chương trình đang soạn thảo lên đĩa với tên khác

Ghi lưu tất cả các tệp đang mở trong các cửa sổ soạn thảo

Chuyển sang lμm việc ở thư mục khác

In văn bản chương trình ra máy in Thiết đặt các tham số cho thao tác in Tạm về DOS,

Thoát hẳn khỏi môi trường Turbo Pascal trở về DOS

Lưu ý rằng ở bên phải, cạnh một số tên mục chọn hay dùng có ghi kèm các phím gõ tắt ứng với mục chọn đó

- Bảng chọn Edit

Bảng chọn nμy có nhiều chức năng hỗ trợ cho việc soạn thảo văn bản chương trình như sao chép, cắt dán Trước khi thực hiện sao chép, cắt dán,

v.v cần đánh dấu khối văn bản bằng cách nhấn tổ hợp phím Shift + các phím

mũi tên lên, xuống, sang phải, sang trái

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

HÌNH ẢNH LIÊN QUAN

Bảng chọn Run gồm nhiều chức năng để cho thực hiện chương trình  trong các chế độ khác nhau - Lập trình bằng Turbo Pascal part 1 pptx
Bảng ch ọn Run gồm nhiều chức năng để cho thực hiện chương trình trong các chế độ khác nhau (Trang 18)
Bảng chọn Window để thao tác với các cửa sổ khác nhau đang đ−ợc - Lập trình bằng Turbo Pascal part 1 pptx
Bảng ch ọn Window để thao tác với các cửa sổ khác nhau đang đ−ợc (Trang 19)
Sơ đồ dưới dây phân loại các kiểu dữ liệu trong Turbo Pascal như đã - Lập trình bằng Turbo Pascal part 1 pptx
Sơ đồ d ưới dây phân loại các kiểu dữ liệu trong Turbo Pascal như đã (Trang 23)

TỪ KHÓA LIÊN QUAN