Giáo trình Turbo Pascal

51 1.6K 23
Giáo trình Turbo Pascal

Đ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

Giáo trình Turbo pascal chơng I Những kiến thức cơ bản 1. Ngôn ngữ lập trình a. Lập trình là gì ? Lập trình là các thao tác đa ý nghĩ của con ngời theo một trình tự có hệ thống vào máy tính, yêu cầu máy tính thực hiện. b. Ngôn ngữ lập trình Là các phần mềm mà nhờ đó các kỹ thuật viên mô phỏng lại các thao tác trên ngôn ngữ đó thông qua các qui tắc qui ớc mà ngôn ngữ đề ra. Ngôn ngữ lập trình có chức năng chuyển toàn bộ chơng trình sang mã máy để máy tính có thể thực hiện và đa ra kết quả. 2. Bài toán tin học và cách giải quyết a. Bài toán tin học là gì? Bài toán trong Tin học không dùng để chỉ một bài toán cụ thể, mà chỉ một lớp các bài toán cụ thể thuộc cùng một loại. Một bài toán tin học đợc cấu tạo bởi hai yếu tố sau: + Thông tin vào (Input): Là các thông tin ta có. + Thông tin ra (Output): Là các thông tin cần tìm hoặc câu trả lời cần thiết Ví dụ: Để giải bài toán tính diện tích tam giác bằng công thức S=a*h/2. + Thông tin vào: Là cạnh đáy a và đờng cao h + Thông tin ra : Là diện tích tam giác S hoặc là dòng thông báo dữ liệu không hợp lệ. b. Thuật toán (algorithm) Thuật toán là một quá trình gồm một dãy hữu hạn các thao tác đơn giản đợc sắp xếp theo một trình tự xác định sao cho theo đó từ Input của bài toán ta sẽ tìm đợc Output hoặc khẳng định không có Output nh bài toán đòi hỏi. Chỉ những quá trình nh vậy mới có khả năng chuyển giao máy tính thực hiện đợc. Ví dụ: Trở lại bài toán tính diện tích tam giác, thuật toán nh sau: + Bớc 1: Cho giá trị của cạnh đáy a và đờng cao h + Bớc 2: Kiểm tra - Nếu a>0 và h>0 thì đi tính diện tích theo công thức S=a*h/2 và xuống bớc 3 - Ngợc lại thông báo dữ liệu không hợp lệ và quay về bớc 1 + Bớc 3: In diện tích S. c. Mô tả thuật toán qua sơ đồ __16__ Giáo trình Turbo pascal Để mô tả một cách trực quan hơn về thuật toán ngời ta dùng sơ đồ khối. Qua sơ đồ khối ngời lập trình có thể quan sát các bớc của thuật toán cũng nh dòng thông tin hình thành và biến đổi trong quá trình thuật toán làm việc. Việc thể hiện thuật toán ngời ta qui ớc dùng các khối sau để thể hiện. - Thể hiện sự bắt đầu và kết thc chơng trình - Thể hiện việc nhập, xuất dữ liệu. - Chứa các công thức,câu lệnh tính toán - Chứa các biểu thức điều kiện, và để rẽ nhánh chơng trình. - Dùng để gọi chơng trình con Dẫn hớng chơng trình và nối các khối trong thuật toán với nhau 3. Cấu trúc của một chơng trình pascal Một chơng trình Pascal bao gồm các thành phần sau: Phần 1: Tên chơng trình Luôn bắt đầu bởi từ khoá Program PROGRAM Tên_chơng_trinh; Phần 2: Khai báo USES Tên_các_Unit; {Khai báo th viện dùng trong chơng trình} CONST Các hằng;{Khai báo hằng sử dụng trong chơng trình} TYPE Các_kiểu_dữ_liêu_mới;{Khai báo kiểu dữ liệu mới} VAR Các_biến;{Dùng để khai báo biến sử dụng trong chơng trình} PROCEDURE Các_thủ_tục;{Khai báo các thủ tục} FUNCTION Các_hàm; {Khai báo các hàm} __17__ Giáo trình Turbo pascal Phần 3: Thân chơng trình BEGIN {Bắt đầu chơng trình} { Các câu lệnh } END. {Kết thúc chơng trình} 4. Các bớc soạn thảo và chạy một chơng trình Pascal cơ bản Bớc 1: Khởi động Pascal Tệp để chạy chơng trình Pascal là tệp TURBO.EXE. Muốn khởi động Pascal ta phải chạy tệp này. Giả sử trong ổ C: có th mục TP trong th mục TP có tệp Turbo.exe. Khởi động chơng trình Pascal ta gõ lệnh nh sau: C:\TP\TURBO Bớc 2: Soạn thảo chơng trình Sau khi chơng trình Pascal khởi động, ta tiến hành soạn thảo chơng trình theo cấu trúc nh phần 3. Sau khi soạn thảo xong ta ấn phím F2 để ghi văn bản chơng trình vào máy. Nếu muốn mở chơng trình đã có trong máy ta dùng phím F3. Bớc 3: Biên dịch và chạy chơng trình Khi hoàn tất chơng trình ta ấn phím F9 để dịch chơng trình, Pascal sẽ thông báo cho ta những lỗi cú pháp nếu trong chơng trình có, tiến hành sửa chữa các lỗi cho chơng trình hoàn chỉnh. Khi chơng trình đã đợc biên dịch xong ta ấn tổ hợp phím CTRL + F9 để chạy chơng trình. Bớc 4: Thoát khỏi Pascal Để thoát khỏi Pascal ta ấn tổ hợp phím ALT + X __18__ Giáo trình Turbo pascal chơng II các khái niệm cơ bản I. Một số qui ớc trong ngôn ngữ 1. Bộ kí tự Turbo Pascal đợc xây dựng với bộ kí tự sau: - Các chữ cái: 26 chữ cái hoa (A,B, ,Z) 26 chữ thờng (a,b, z) - Các chữ số thập phân: 0,1,2,3,4,5,6,7,8,9 - Các dấu toán học thông dụng: + - * / > >= < <= = ( ) - Dấu gạch nối _ - Các kí hiệu đặc biệt: ; . {} [ ] : % & @ $ # ^ ! ? 2. Từ khoá (Key word) Từ khoá là các từ dành riêng cho Turbo Pascal, mỗi từ có một chức năng nhất định. Khi sử dụng phải dùng đúng với cú pháp. Một số từ khoá: BEGIN END PROCEDURE FUNCTION PROGRAM CONST VAR TYPE IF THEN FOR vvv 3. Tên hay danh hiệu (Indentifier) Tên là một dãy kí tự đợc tạo thành từ các chữ cái, chữ số và dấu gạch nối. Tên thờng dùng để đặt tên cho các đại lợng trong chơng trình nh tên biến, hằng, tên kiểu dữ liệu mới vv Kí tự đầu tiên của tên không đợc là chữ số.Tên có độ dài tuỳ ý nhng chỉ có 63 kí tự đầu tiên là có ý nghĩa, tên không đợc trùng với tên của từ khoá. * Tên chuẩn: là tên do Turbo Pascal định nghĩa trớc dùng chỉ các hàm, hằng, biến, thủ tục th viện của turbo Pascal. * Tên do ngời lập trình đặt: Đặt tuỳ ý nhng phải tuân thủ theo nguyên tắc của Pascal nh tên biến, tên chơng trình, tên kiểu dữ liệu mới . 4. Dòng chú thích Trong quá trình soạn thảo chơng trình để làm sáng tỏ những đoạn chơng trình, những dòng lệnh cụ thể hoặc một công việc nào đó, ngời lập trình thờng đa thêm vào chơng trình dòng chú thích, lời giải thích để là sáng tỏ vấn đề cần nêu. Dòng chú thích đợc đặt trong hai dấu ngoặc sau {} Ví dụ: PROGRAM TG; {Khai báo tên chơng trình tính diện tích tam giác} 5. Dấu chấm phẩy __19__ Giáo trình Turbo pascal Dấu chấm phẩy ; thờng nằm sau các câu lệnh nhằm ngăn cách giữa các câu lệnh với nhau, không lên hiểu dấu ; dùng để kết thúc một câu lệnh. II. Các kiểu dữ liệu 1. Kiểu logic (Boolean) - Chỉ có hai giá trị: TRUE (đúng), FALSE (sai). - Quy ớc: FALS < TRUE. - Các phép toán: AND, OR, XOR, NOT. - Tác dụng của các phép toán thể hiện qua bảng: P Q NOT P P AND Q P OR Q P XOR Q TRUE TRUE FALSE TRUE TRUE FALSE TRUE FALSE FALSE FALSE TRUE TRUE FALSE TRUE TRUE FALSE TRUE TRUE FALSE FALSE TRUE FALSE FALSE FALSE Trong đó P và Q là hai giá trị kiểu Boolean. 2. Kiểu số nguyên - Có năm kiểu số nguyên đợc tổng kết qua bảng sau: Tên Miền giá trị Yêu cầu bộ nhớ Shortint -128 đến 127 1 bytes Integer -32768 đến 32767 2 bytes Longint - 2147483648 đến 2147483647 4 bytes Byte 0 đến 255 1 byte Word 0 đến 65535 2 bytes - Các phép tính: + cộng / chia - trừ DIV chia lấy phần nguyên * nhân MOD chia lấy số d của hai số nguyên Ví dụ: 5/2=2.50 5 DIV 2=2 5 MOD 2=1 __20__ Giáo trình Turbo pascal Chú ý: - Khi viết các số nguyên phải tuân theo các quy định: không có khoảng trống giữa các số, dấu + hay - (nếu có) phải đặt ngay trớcchữ số đầu tiên, không đợc sử dụng dấu chấm thập phân. - Khi thực hiện các phép tính trên số nguyên, phải hết sức thận trọng xem các phép toán đó có cho kết quả vợt quá phạm vi biểu diễn của số nguyên hay không. Ví dụ khai báo a, b là dữ liệu kiểu Integer. Khi đó hai câu lệnh sau: a:=80; b:=(a*1245)Div 200; cho kết quả sai vì a*1245 = 99600 vợt quá phạm vi của Integer. 3. Kiểu số thực - Có năm kiểu số thực, đợc tổng kết qua bảng sau: Tên Phạm vi biểu diễn Yêu cầu bộ nhớ Single 1.5*10 -45 đến 3.4*10 38 4 bytes Real 2.9*10 -39 đến 1.7*10 38 6 bytes Double 5.0*10 -324 đến 1.7*10 308 8 bytes Extended 3.4*10 -4932 đến 1.1*10 4932 10 bytes Comp -9.2*10 18 đến 9.2*10 18 8 bytes Giải thích: Phạm vi biểu diễn của bốn kiểu đầu đợc hiểu nh sau: máy có thể lu trữ đợc một số kiểu Single có giá trị tuyệt đối trong khoảng từ 1.5*10 -45 đến 3.4*10 38 . Số có trị tuyệt đối <1.5*10 -45 đợc xem bằng 0, số có trị tuyệt đối > 3.4*10 38 không biểu diễn đợc. Phạm vi biểu diễn của các kiểu còn lại đợc hiểu tơng tự. Các giá trị thực đợc biểu diễn theo hai cách: dạng dấu phẩy tĩnh và dạng dấu phẩy động. - Cách viết số thực theo dạng dấu phẩy tĩnh: viết dạng thập phân bình thờng. Ví dụ: 2.25, 5.0, -25.56812, 0.0256 - Cách viết số thực theo dạng dấu phẩy động: số đợc tách thành hai phần là định trị và bậc. Phần định trị là một số nguyên hay số thực viết dới dạng dấu phẩy tĩnh. Phần bậc là một số nguyên. Hai phần cách nhau bởi chữ E hay e. Ví dụ: 123.456E-4 : biểu diễn số 0.0123456 0.12E+5 : biểu diễn số 12000.0 -52.4e2 : biểu diễn số 5240.0 Các ký tự biểu diễn một số thực phải viết liền nhau. - Các phép toán đối với số thực: + (cộng), - (trừ), * (nhân), / (chia). Không tồn tại các phép toán DIV, MOD cho kiểu số thực. __21__ Giáo trình Turbo pascal Chú ý: Trong mode thông thờng, Turbo Pascal chỉ làm việc với kiểu Real, khi đó nếu sử dụng các kiểu thực khác máy sẽ báo lỗi. Ví dụ: Var R: Double; Begin R:=12.12; Write(R); End. Khi biên dịch máy sẽ báo lỗi: Error 116: Must be in 8087 Mode to compile this. Muốn dùng các kiểu Single, Double, Extended, Comp có thể chọn một trong hai cách sau: Cách 1: Dùng bộ coprocessor làm toán có số hiệu 80x87 (8087, 80287, 80387) Cách 2: Dùng th viện của Turbo Pascal để xử lý các số thực và bật phần mềm giả lập 80x87. Rõ ràng cách làm này sẽ chậm và hiệu quả thấp hơn so với cách dùng coprocessor nhng có u điểm là ta có thể dùng cách này trên tất cả các may PC mà phần lớn chúng đều không có 80x87. 4. Kiểu kí tự (Char) - Một giá trị kiểu Char chiếm 1 byte và biểu diễn đợc một ký tự thông qua bảng mã ASCII. Mã của một ký tự chính là số ký tự của nó trong bảng mã. ví dụ: mã (hay số thứ tự) của A là 65. Có tất cả 256 ký tự đánh số từ 0ữ255. Vậy có 256 giá trị kiểu Char. Trong bảng mã ASCII các ký tự từ 0ữ31 là các ký tự điều khiển không in ra đợc và dùng để điều khiển quá trình vào ra trên ácc thiết bị ngoại vi. Ví dụ: Khi máy nhận đợc ký tự có mã là 7 (Beep) nó sẽ phát ra 1 tiếng chuông. - Để biểu diễn 1 ký tự có thể dùng 1 trong 3 cách: Đặt ký tự trong 2 dấu nháy đơn, dùng hàm Chr(n), dùng #n( trong đó n là mã của ký tự cần biểu diễn). Ví dụ: Để biểu diễn ký tự A ta có thể dùng 3 cách: A, Chr(65), #65. - Kiểu ký tự chỉ có phép toán so sánh, sự so sánh dựa vào mã của ký tự. Ví dụ: A < a (vì 65 < 97) - Hàm Upcase(ch): cho ra ký tự hoa tơng ứng với ký tự ch. Ví dụ: Upcase(a) = A và Upcase(B)= B 5. Kiểu xâu kí tự (String) Một giá trị kiểu String là một ký tự bất kỳ đặt trong 2 dầu nháy đơn. Số ký tự của dãy không quá 255 ký tự. Xâu không có ký tự nào gọi là xâu rỗng. Ví dụ: Ho va Ten là xâu gồm 9 ký tự. đây là xâu rỗng III. Khai báo hằng, biến, biểu thức câu lệnh 1. Khai báo hằng __22__ Giáo trình Turbo pascal Hằng là đại lợng có giá trị xác định và không thay đổi trong suốt quá trình chơng trình thực hiện. Hằng đợc khai báo bằng từ khoá CONST nh sau: CONST Tên hằng = giá trị hằng; Hay CONST Tên hằng = biểu thức hằng; Ví dụ: CONST Max = 150; {hằng nguyên} L = False; {hằng logic} A = (5*4)/3; {hằng thực } Ch = Y; {hằng ký tự} Chúng ta sử dụng các hằng để chơng trình đợc rõ ràng và dễ sửa đổi. 2. Khai báo biến Biến (variable) là đại lợng mà trị của nó có thể thay đổi khi thực hiện chơng trình. Biến là tên của một vùng bộ nhớ lu trữ dữ liệu, mỗi biến phải thuộc về một kiểu dữ liệu nhất định. Vùng bộ nhớ của biến kiểu Integer chỉ chứa đợc các giá trị Integer. Biến đợc khai báo bằng từ khoá VAR nh sau: VAR Tên biến: Kiểu dữ liệu của biến; Nhiều biến có cùng kiểu có thể đợc khai báo cùng nhau bằng cách viết tên các biến đặt cách nhau dấu phẩy. Ví dụ: VAR x,y,z:Real; chọn:Char;Thoat:Boolean; i,j:integer; ten:String[7]; Chú ý: - Biến String khai báo tối đa là: String[255]. Một biến String đợc cấp một số byte bằng độ dài của nó cộng thêm 1. Byte đầu tiên dùng để ghi số ký tự đang đợc lu trữ, mỗi byte còn lại chứa một ký tự. - Có thể vừa khai báo vừa khởi đầu (gán giá trị) cho các biến theo cách sau: Const x = 25.0; __23__ Giáo trình Turbo pascal Y:Real = -5.26; Ho_ten:String[25]=Lê Hung; Trong ví dụ trên chú ý phân biệt x và y: x là hằng thực, y là biến thực. Trong chơng trình có thể thay đổi giá trị của y mà không thay đổi giá trị của x. 3. Biểu thức Một biểu thức đợc tạo bởi các phép toán và các toán hạng dùng để thể hiện một công thức toán học. Toán hạng có thể là hằng, hàm, biến. Ví dụ: Sau khi có khai báo: Const Max = 120; Var x: Integer; Ta có thể viết biểu thức sau: 5+ Max * Exp(x); trong đó + và * là hai phép toán, các hằng số 5, Max, Exp(x) là các toán hạng. Chú ý: Một hằng, một biến, một hàm cũng đợc xem là biểu thức, đó là biểu thức đơn giản. Các phép toán trong biểu thức đợc sắp xếp theo thứ tự u tiên sau: - Các phép toán một ngôi đợc u tiên thứ nhất: dấu dơng (+), dấu âm (-), phép phủ định (not). - Các phép toán nhân chia: phép nhân (*), phép chia (/), lấy phần nguyên (div), lấy phần d (mod), phép và (and). - Các phép cộng trừ: cộng (+), trừ (-), phép hoặc (or) . - Các phép so sánh: <, <=, >, >=, =, <>. Chú ý: - Biểu thức trong ngoặc nếu có sẽ đợc thực hiện trớc khi xét đến các phép toán ở cạnh dấu ngoặc. - Nếu cùng một thứ tự u tiên thì toán tử đợc thực hiện từ trái qua phải. Ví dụ: a) 3+5*3=18, (3+5)*3=24, 5/2*3=7.5 b) (5+2>4) and not (true or (5-3=8)) c) (-b+sqrt(d))/2*a có nghĩa là a db 2 + 4. Câu lệnh Dới phần khai báo dữ liệu là phần lệnh của chơng trình. Phần này xác định các công việc mà ch- ơng trình phải thực hiện để xử lý các dữ liệu đã đợc khai báo. Câu lệnh đợc chia ra làm hai loại: - Câu lệnh đơn giản: __24__ Giáo trình Turbo pascal Lệnh gán ( := ) Lệnh Nhập Xuất ( READ, WRITE ) Gọi Thủ tục Lệnh nhảy ( GOTO) - Câu lệnh có cấu trúc: Lệnh ghép ( BEGIN END ) Lệnh lựa chọn (IF, CASE) Lệnh lặp (FOR, REPEAT, WHILE) 5. Câu lệnh gán Lệnh gán dùng để gán giá trị của một biểu thức cho mộ biến. Lệnh gán có dạng: Biến:= biểu thức; Sự thực hiện: đầu tiên máy tính trị của biểu thức vế phải sau đó nó gán giá trị tính đợc cho biến ở vế trái. Chú ý: - Vế trái của phép gán chỉ và chỉ có thể là biến mà thôi. Ví dụ viết x+y:=7 là sai vì vế trái phép gán là một biểu thức chứ không phải là biến. - Kiểu của biểu thức phải trùng với kiểu của biến, trừ trờng hợp một biến thực có thể nhận giá trị nguyên. Ví dụ: Sau khi đã khai báo: Var c1, c2: char; i,j: integer; x,y: real; thì có thể thực hiện các phép gán sau: c1:= B; c2:=chr(7); i:= (23+6)*2 mod 3; j:= round(20/3); x:=0.5; y:=1; 6. Lệnh in dữ liệu ra màn hình Lệnh này cho phép chơng trình in lên màn hình các dữ liệu, kết quả hay các thông báo cần thiết. Cú pháp: WRITE ( Biểu thức 1, , Biểu thức thứ n ); (1) WRITELN( Biểu thức 1, , Biểu thức thứ n); (2) __25__ [...]... Lập trình nhập vào từ bàn phím 3 số, tìm số lớn nhất trong 3 số đó Bài 2: Lập trình giải phơng trình bậc hai ax2 + bx +c = 0 với a, b, c nhập từ bàn phím 34 Giáo trình Turbo pascal Bài 3: Cho 3 số thực dơng Kiểm tra xem chúng có tạo nên 3 cạnh của một tam giác hay không? Nếu đúng, hãy tính diện tích tam giác Bài 4: Lập trình nhập vào từ bàn phím 4 số, tìm số lớn nhất trong 4 số đó Bài 5: Lập trình. .. hình 39 Giáo trình Turbo pascal Thuật toán và sơ đồ - Bắt đầu - Nhập số nguyên n - Trong vòng lặp với i chạy từ 1 đến n, kiểm tra nếu n mod i=0 thì in i ra màn hình - Kết thúc BEGIN Nhập n i:=1 i:=i+1 Đ ib thì thay a=a-b Ngợc lại b:=b-a Quá trình đợc lặp lại cho đến khi a= b thì dừng lại Bạn đọc tự vẽ sơ đồ Chơng trình Program USCLN; Var a,b:integer; Begin Write('... không có ELSE thì chơng trình thoát khỏi cấu trúc này và đi thực hiện các công việc tiếp theo sau cấu trúc c Một số ví dụ: Ví dụ 1: Nhập vào một số từ 1 đến 5 in ra màn hình số đó bằng chữ, ví dụ nhập vào số 2 in ra màn hình số hai * Chơng trình Program Vidu; Var a: integer; Begin Write('Nhap vao so a=');readln(a); CASE a OF 1:Writeln('so do la so mot'); 33 Giáo trình Turbo pascal 2:Writeln('so do... số ví dụ Ví dụ 1: Viết chơng trình giải và biện luận phơng trình bậc nhất ax+b=0 Bớc 1: Phân tích bài toán Để giả đợc phơng trinh bậc nhất một ẩn trớc hết ta cần những thông tin sau: - Biết đợc hệ số a và b - Sau đó kiểm tra điều kiện của phơng trình + Nếu a= 0 Nếu b=0 thì phơng trình vô số nghiệm Ngợc lại nếu b0 thì phơng trình vô nghiệm + Ngợc lại nếu a0 thì phơng trình có nghiệm x=-b/a Bớc 2: . Giáo trình Turbo pascal chơng I Những kiến thức cơ bản 1. Ngôn ngữ lập trình a. Lập trình là gì ? Lập trình là các thao tác đa. chơng trình Pascal ta gõ lệnh nh sau: C:TP TURBO Bớc 2: Soạn thảo chơng trình Sau khi chơng trình Pascal khởi động, ta tiến hành soạn thảo chơng trình

Ngày đăng: 22/07/2013, 01:28

Hình ảnh liên quan

- Tác dụng của các phép toán thể hiện qua bảng: - Giáo trình Turbo Pascal

c.

dụng của các phép toán thể hiện qua bảng: Xem tại trang 5 của tài liệu.
- Trong vòng lặp với i chạy từ 1 đến n, kiểm tra nế un mod i=0 thì i ni ra màn hình - Kết thúc - Giáo trình Turbo Pascal

rong.

vòng lặp với i chạy từ 1 đến n, kiểm tra nế un mod i=0 thì i ni ra màn hình - Kết thúc Xem tại trang 25 của tài liệu.
Muốn in một xâu ký tự ST ra ngoài màn hình ta dùng lệnh Write(st) hoặc Writeln(st). - Giáo trình Turbo Pascal

u.

ốn in một xâu ký tự ST ra ngoài màn hình ta dùng lệnh Write(st) hoặc Writeln(st) Xem tại trang 50 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan