Giáo trình ngôn ngữ lập trình pascal

89 62 0
Giáo trình ngôn ngữ lập trình 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

Khoa Cơng nghệ thơng tin GIÁO TRÌNH NGƠN NGỮ LẬP TRèNH PASCAL Phần mở đầu ĐBài khởi động, cấu trúc bản, kiểu liệu Khái niệm: Ngôn ngữ lập trình PASCAL ngôn ngữ lập trình bậc cao: Quản lý, kỹ thuật, hệ thống (cho phép giải toán thực tế) * Tính lôgic cao thuận tiện cho mô tả thuật toán I Khởi động soạn thảo ch-ơng trình Ch-ơng trình File PASCAL có phần mở rộng PAS - Ta có sử dụng TURBO PASCAL B-ớc 1: Khởi động PASCAL Giả sử PASCAL l-u th- mục: C:\TP\BIN Để khởi động yêu cầu tối thiểu File: TURBO.EXE TURBO.TPL TURBO.TP Từ môi tr-ờng MSDOS vào th- mục TB\BIN gõ TURBO  C:>CD TB\BIN  C:\ TB\BIN> TURBO  Sau gõ TURBO xuất hình soạn thảo ch-ơng trình B-ớc 2: Soạn thảo ch-ơng trình: Nh- soạn thảo băn B-ớc 3: L-u ch-ơng trình vào đĩa: ấn phím F2 Máy yêu cầu cho biết tên File: Enter File Name VD: :\NAM\Gpt B-ớc 4: Kiểm tra lỗi cú pháp: ấn phím F9 (Nếu ch-ơng trình có lỗi thông báo hình đ-a trỏ đến dòng có lỗi) B-ớc 5: Chạy ch-ơng trình: ấn Ctrl + F9 Nếu lỗi lại dừng dòng có lỗi Để gọi ch-ơng trình có đĩa: ấn F3 Sau cho tên File (cả đ-ờng dẫn) không nhớ tên ấn phím Trên hình xuất File (PAS) th- thoại mục, dùng phím để chọ nh- NC Khoa Cơng nghệ thơng tin GIÁO TRÌNH NGƠN NG LP TRèNH PASCAL B-ớc 6: Dịch ch-ơng trình File cã phÇn më réng EXE + Gäi Menu Compiler (Alt + C) Ban đầu Memory, đ-a vệt sáng ®Õn Distination Ên  {Distination: Memory (DISK)} + Sau ®ã ấn Alt + F9 ch-ơng trình dịch lên EXE B-íc 7: Ra khái m«i tr-êng PASCAL Ên Alt + x (Nếu quên ch-a ghi, máy hỏi có ghi không) II Cấu trúc ch-ơng trình PASCAL Program Tên ch-ơng trình Uses Khai báo Unit Const Khai b¸o c¸c h»ng Label Khai b¸o c¸c nh·n Var Khai b¸o c¸c biÕn BEGIN Các lệnh quảng cáo Các lệnh nhâp liệu Các lệnh tính toán Các lệnh in kết END * Tên ch-ơng trình: Không phải tên File, đặt không đặt đ-ợc, đặt tên ch-ơng trình xâu ký tự bắt đầu chữ dài tuỳ ý, dấu cách * Các Unit: Là đơn vị ch-ơng trình có sẵn phần mềm TURBO PASCAL mà ng-ời lập trình đ-ợc phép sử dụng Unit CRT: Chứa tất ch-ơng trình giao diện với hình xoá, di chuyển trỏ * Các biến: + Hằng: giá trị cố định suốt trình tính toán, PI có sẵn PASCAL Tất khác dùng phải khai báo Ví dô: Const C = 2; S: = * PI * R; S: = C * PI * R; Khoa Cơng nghệ thơng tin GIÁO TRÌNH NGƠN NGỮ LẬP TRèNH PASCAL + Biến: Dùng để l-u giữ tạm thời giá trị trình tính toán Tất biến dùng ch-ơng trình phải khai báo đầu ch-ơng trình * Khai báo tên biến hằng: A Z, - Bắt đầu chữ dài tuỳ ý, ví dụ: CHUVI - Không đ-ợc dùng từ khoá làm tên biến - Tên biến không đ-ợc trùng với tên ch-ơng trình - Cách khai báo: Var Tên biến: Tên kiểu liệu; Ví dụ: Var n: Integer (n biÕn nguyªn) n: = n (n: míi, vÕ ph¶i n cò)  n: = n + n * Quy định lệnh: - lệnh chứa nhiều dòng dòng chứa nhiều lƯnh - KÕt thóc lƯnh ph¶i cã dÊu (;) - Cấu giải (chú thích) đ-ợc viết dÊu {}, hc (* *) viÕt b»ng tiÕng viƯt - Cấu trúc liệu - Thuật toán - Cấu trúc điều khiển III Kiểu liệu a) Kiểu liệu đôi (M, P) M tập giá trị; P tập phép toán M b) Kiểu số nguyên Kiểu Phạm vi Số Byte cần thiết - 32768  32767 Short Int - 128  127 Long Int - 2141483648  214143647 Byte  255 Vord  65535 Integer Khoa Cơng nghệ thơng tin GIÁO TRÌNH NGƠN NGỮ LẬP TRÌNH PASCAL Khai b¸o Var n, i Integer; n = 40.000 (+) Phép cộng : Cộng số nguyên đ-ợc sè nguyªn (-) PhÐp trõ : Trõ sè nguyªn đ-ợc số nguyên (*) Phép nhân : Nhân số nguyên đ-ợc số nguyên (Div) VD: : Chia nguyên 10 div kết quả: div kết quả: (Mod) : Phép toán lấy phần dVD: 10 mod = mod = Var n, i : Integer; i: = 10 n: = i div (kÕt qu¶ n = 5) c) KiĨu sè thùc Khai b¸o Var a: Real; - - 2.9 * 1039  1.8 * 1037 cÇn Byte - Cã d¹ng biĨn diƠn: + D¹ng dÊu phÈy tÜnh: Dùng dấu chấm để ngăn cách phần nguyên phần thập phân VD: 326.53 402.69 + Dạng dấu phẩy động: - 3.2653E + ~ - 3.2653.102 - 4.0269E + ~ - 4.0269.102 0.00325 ~ 3.25E - ~ 3.25 * 10-3 + C¸c phÐp to¸n: +, -, *, / * Cả số thực số nguyên đ-ợc trang bị hàm số PASCAL Giải tích SQRT (x) (x: số thực không âm) SQR (x) ABS (x) x x2 x Sin (x) Cos(x) Ln(x) ex Sin(x) Cos (x) Ln(x) EXP (x) Khoa Công nghệ thông tin x3 x2 VD1: ~ SQRT((x+3)/(x-2)) x 3 VD2: GIÁO TRÌNH NGƠN NGỮ LẬP TRÌNH PASCAL ~ SQRT(ABS(x-3)) b VD3: log a  Lnb Lna Ln b /Ln a  ~ VD4: a x  e Lna  e x.Lna ~ EXP x * Ln a  b Lna  eb.Lna VD5: a  e ~ x b EXP b * Lna  d) KiĨu d÷ liƯu BOOLEAN Var b: Boolean; - Khai báo Biến Boolean biến lôgic nhận giá trị sai M True False Các phép toán với giá trị Boolean: P: AND, OR, NOT, XOR A B A and B A or B Not A A xor B True True True True False False True False False True False True False True False True True True False False False False True False Var A,B :Boolean; B:= A or (Not A) ~ B = True e) Các hàm số nguyên * TRUNC: Hàm cho giá trị phần nguyên x VD: x: = 3.68 TRUNC(x) =3 * ROUND(x) = (Làm tròn) * ODD(n) = True (đúng) n số lẻ VD: = False (sai) n số chẵn y x -5  x2  2 y  e ln2  e y * Ln 2  y  sin x   =SQRT(ABS(x-5)+x*x+2)/(EXP(y*ln(2))+sin(x+7)) Khoa Công nghệ thụng tin GIO TRèNH NGễN NG LP TRèNH PASCAL ĐBài Các lệnh in, nhập liệu, xoá hình, lệnh gán Lệnh in liệu WRITE, WRITELN *Cú ph¸p: Write(gt1, gt2, ., gtn); Gt: - BiĨu thøc - Cã thĨ lµ biÕn - Cã thĨ lµ Tác dụng: In giá trị lên hình trỏ không chuyển xuống dòng Biến, biểu thức mà giá trị số thực để in dạng dấu phẩy tĩnh ta phải số ký tự cần thiết chữ số sau dÊu phÈy Write(a:n:m) sè sau dÊu phÈy VD: nghÜa in biến số thực a với n ký tự có m chữ a:=82.156 Write(a:8:2) kết quả: 82.16 L-u ý: m LN then LN: = X [i, k]; Max: = LN; End; { -} BEGIN CLRSCR; Write ('n ='); readln (n); Write ('m = '); readln (m); For i:= to n For j:=1 to m Begin Write ('A[',i, ',' ,j, '] ='); Readln (A[i,j]); End; For i:= to n For j:=1 to m Begin Write('B[' ,i ,',' ,j ,']='); Readln (B[i,j]); End; T: = 0; For i:= to n If i mod = then T: = T + Max (i, A) * Min( i, B) Else T: = T + Min(i, A) * Max (i, B); Writeln (' T = ', T : : 2); Readln; END Chó ý: Khi truyền giá trị vào đối cho hàm ch-ơng trình phải tuân theo trật tự kiểu liệu đối nh- lúc khai báo hàm ch-ơng trình có hai hàm, hàm có hai ®èi 75 Khoa Cơng nghệ thơng tin GIÁO TRÌNH NGƠN NGỮ LẬP TRÌNH PASCAL VD4: Cho ma trËn thùc A (n x m) cã hay kh«ng cét cđa ma trËn gièng i,j BN Boolean Program VD6; Use CRT; Label KT; Var A: Array [1 50, 50] of Real; i, j, n, m: Integer; { } Function BN (i, j: Integer): Boolean; {Hµm kiĨm tra xem hai cét i, j cã gièng nhau?} Var k: Integer; B: Boolean; Begin B:= True; k: = 1; While (k B gọi đ-ợc A Vì B chứa C D => B gọi đ-ợc C D, D gọi đ-ợc C Vì B gọi đ-ợc A => C D gọi đ-ợc A 2) Các biến Các biến toàn cục(ở ch-ơng trình ch-ơng trình con) điều kiện biến cục Các tham biến tham trị không trùng tên * Các biến cục CT A: BiÕn côc bé ë CT A chØ cã t¸c dơng ë CT A *BiÕn cơc bé ë CT B: ChØ cã t¸c dơng ë CT B vµ ë C vµ D nÕu nh- C D biến trùng tên *Biến cục bé ë CT C: ChØ cã t¸c dơng ë C *BiÕn côc bé ë CT D: ChØ cã t¸c dơng ë D 82 Khoa Cơng nghệ thơng tin GIÁO TRÌNH NGƠN NGỮ LẬP TRÌNH PASCAL Bµi tËp: Cho ma trËn nguyªn A (n x n) cho biÕt a) Ma trËn cã ®èi xøng víi qua ®-êng chÐo không? b) Ma trận có đối xứng với qua đ-ờng chéo phụ không? Program Ma_tran_doi_xung_Qua_duong_cheo_chinh; Uses crt; Var A:array[1 50,1 50] of integer; i,j,n:integer; b1:Boolean; { } BEGIN CLRSCR; Write('n= ');readln(n); For i:=1 to n For j:=1 to n Begin Write('A[',i,',',j,']='); Readln(A[i,j]); End; b1:=true; For i:=1 to n For j:=1 to i-1 b1:=b1 and (A[i,j]=A[j,i]); If b1=true then Writeln('Ma tran doi xung qua duong cheo chinh') Else Writeln('Ma tran khong doi xung qua duong cheo chinh'); For i:=1 to n Begin For j:=1 to n Write(A[i,j],' '); Writeln; End; Readln; END 83 Khoa Công nghệ thông tin GIÁO TRÌNH NGƠN NGỮ LẬP TRÌNH PASCAL b) §èi xøng qua ®-êng chÐo phơ Program Ma_tran_doi_xung_Qua_duong_cheo_phu; Uses crt; Var A:array[1 50,1 50] of integfer; i,j,n:integer; b1:Boolean; { } BEGIN CLRSCR; Write('n= ');readln(n); For i:=1 to n For j:=1 to n Begin Write('A[',i,',',j,']='); Readln(A[i,j]); End; b1:=true; For i:=1 to n-1 For j:=1 to n-i b1:=b1 and (A[i,j]=A[nj,ni]); If b1=true then Writeln('Ma tran doi xung qua duong cheo phu') Else Writeln('Ma tran khong doi xung qua duong cheo phu'); For i:=1 to n Begin For j:=1 to n Write(A[i,j],' '); Writeln; End; Readln; END 84 Khoa Công nghệ thông tin GIÁO TRèNH NGễN NG LP TRèNH PASCAL ĐBài 9: Dữ liệu kiểu xâu ký tự Xâu ký tự PASCAL dòng văn dài tối đa 255 ký tự 1) Khai b¸o c¸ch: - C¸ch 1: Var ST: String; ST biến xâu ký tự dài tối đa 255 ký tù - C¸ch 2: Var ST: String [K]; VD: Var St: String [80]; Nghĩa ST xâu ký tự dài tối đa 90 ký tự , biến kiểu xâu ký tự loại liệu có cấu trúc nên khai báo kiểu liệu đối hàm tham số thủ tục phải khai báo thông qua đinh nghĩa Type Sai: Function H (S: String [80])” Boolean; §óng: Type St 80 = String [80]; Function H (S: St 80): Boolean; Function H (S: String) : Boolean; 2) L-u gi÷ bé nhí VD: Var A: Array [1 10] of char; ST: String [10]; ST: = Việt Nam Những giá trị x ký tù n»m ‘ ‘ A [1]: = ‘v’; A [2]: = ‘i’; A [3]: = ‘e’; A [4]: = ‘t’; A [j]: = ‘ ’; A [6]: = ‘N’; A [t]: = a; A [8]: = m; Hình ảnh bé nhí 10 A V I E T N a m ST 10 V i e t N a m độ dài thực xâu: ô đầu 3) Các phép toán xâu ký tự Đ-ợc phép gán ký tự xâu ký tự cho biÕn kiĨu x©u ký tù A: = ‘ ViƯt Nam; Sai ST: = Việt Nam; Được phép 85 Khoa Cơng nghệ thơng tin GIÁO TRÌNH NGƠN NGỮ LẬP TRÌNH PASCAL Giả sử: Var ch: Char; Ch: = A; Đ-ợc phÐp ST: = ch; St: = ‘A’; Sai Ch: = St; 2) Truy nhËp tíi tõng ký tù x©u theo chØ sè ch: = ‘C’; ch: = A [3]; ch: = ST [3]; 3) Céng (ghÐp) x©u ký tù VD: st1: = ‘Em’; St2: = ‘yeu’; St1 + St2 = ‘Em yeu’; St2 + St1 = ‘Yeu em’; * Phép cộng tính chất giao hoán 4) Các hàm thủ tục chuẩn xâu ký tù * Hµm Length (S: String): Byte; Length (St) = Hàm trả (Return) độ dài thực xâu * Hàm Copy (S: String; n1, n2: Byte): String; Hàm trả xâu xâu S gồm n2 ky tù kĨ tõ vÞ trÝ n1 Copy (S, 3, 4) = ‘et N’ * Hµm Pos (S1, S: String): Byte; Hàm trả vị trí xuất xâu S1 xâu S, S không chứa S1 hàm trả giá trị VD: Pos (‘t’, St) = S = ‘a b c b a c b c e’ Pos (‘cb’, S) = Pos (‘ad’, S) = * Thđ tơc Delete (var S: String; n1, n2: Byte); Xo¸ n2 ký tự Xoá n2 ký tự từ vị trí n1 x©u S 86 Khoa Cơng nghệ thơng tin GIÁO TRÌNH NGễN NG LP TRèNH PASCAL ĐBài 10: Dữ liệu kiểu tập hợp 1) Khai báo Var tên biến: Set of kiểu phần tử Kiểu phần tử - kiểu liệu phần tử tập hợp kiểu liệu đơn: Integer, Real, Boolean; Char VD: Var T1, T2: Set of char T1, T2 tập hợp ký tự - Tập hợp rỗng [ ]; - Các giá trị kiểu tập hợp T1: = [a, b, c] T2: = [b, d] Các phép toán tập hợp a) Hỵp cđa hai tËp hỵp (ký hiƯu +) T1 + T2 = [‘a’, ‘b’, ‘c’, ‘d’] b) Giao cña hai tËp hỵp (ký hiƯu *) T1 * T2 = [‘b’] c) HiƯu cđa hai tËp hỵp T1 - T2 = [‘a’, ‘c’] d) ch in T1 ®óng ch  T1 e) T1 y? (tất phần tử mảng phải kiểu liÖu) 89 ... nghiệm lớn, x2 nghiệm bé ph-ơng trình: x2 - 3x - cd = Lập trình: Giải ph-ơng trình: x1 cd 11 , x2  -  cd Khoa Cơng nghệ thơng tin GIÁO TRÌNH NGƠN NGỮ LẬP TRÌNH PASCAL Program Tinh; Uses crt;... Khoa Công nghệ thơng tin GIÁO TRÌNH NGƠN NGỮ LẬP TRÌNH PASCAL + Biến: Dùng để l-u giữ tạm thời giá trị trình tính toán Tất biến dùng ch-ơng trình phải khai báo đầu ch-ơng trình * Khai báo tên biến... NÕu a  ph-ơng trình có nghiệm x = -b/a * NÕu a = vµ b 0 ph-ơng trình vô nghiệm * Nếu a = b = ph-ơng trình vô số nghiệm 16 Khoa Cơng nghệ thơng tin GIÁO TRÌNH NGƠN NGỮ LẬP TRÌNH PASCAL Program

Ngày đăng: 13/09/2019, 10:24

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

Tài liệu liên quan