1 / 48

LẬP TRÌNH PASCAL

LẬP TRÌNH PASCAL. LỚP: CĐ CK 2011. Chương 1: Thuật giải và chương trình. Khái niệm. 1.Thuật giải (algorithm)

Download Presentation

LẬP TRÌNH PASCAL

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. LẬP TRÌNH PASCAL LỚP: CĐ CK 2011

  2. Chương 1: Thuật giải và chương trình Kháiniệm 1.Thuật giải(algorithm) Là một tập hữu hạn các thao tác (các công việc, các phép toán) có thể đặt tên được và được thực hiện theo một trình tự thích hợp trên một số đối tượng để đạt được mục đích mong muốn. • "Hữu hạn" ở đây được hiểu cả về mặt thời gian thực hiện lẫn công cụ thực hiện.

  3. II. CÁC ĐẶC TRƯNG CỦA THUẬT TOÁN +Tính dừng: Thuật toán phải kết thúc sau một số hữu hạn bước. + Tính xác định: Các thao tác ở mỗi bước phải hết sức rõ ràng và chỉ được hiểu theo một nghĩa duy nhất. Trong cùng một điều kiện hai máy khác nhau hoặc hai lần thao tác khác nhau phải cho cùng một kết quả khi thực hiện cùng một thuật toán. + Tính hàng loạt: Thuật toán có hiệu lực như nhau đối với các bài toán cùng loại (có cùng miền áp dụng thuật toán). + Tính khả thi: Thuật toán phải bao gồm các thao tác mà máy có thể thực hiện được (chỉ bao gồm những phép toán số học, các phép so sánh, các phép logic, các phép nhập xuất thông tin tiêu chuẩn). + Tính đầy đủ: Thuật toán phải vét được hết các tình huống, các khả năng có thể xảy ra, không bỏ sót bất kỳ một trường hợp nào.

  4. III. CÁC DẠNG DIỄN TẢ THUẬT TOÁN 1. Diễn đạt bằng văn bản (ngôn ngữ tự nhiên) -Khá đơn giản;gần gũi với tư duy của con người nhưng phụ thuộc rất nhiều vào cách diễn đạt của người sử dụng. Vì vậy nó không tránh khỏi có những chỗ rườm rà khiến cho người đọc không có được một cái nhìn khái quát với toàn bộ thuật toán. 2. Diễn đạt bằng ngôn ngữ lập trình Ngôn ngữ lập trình (language program) là ngôn ngữ do các chuyên gia tin học tạo ra chuyên dùng để viết chương trình cho máy tính. Nó được xây dựng khá đơn giản về chính tả và ngữ pháp khá gần gũi với ngôn ngữ khoa học kỹ thuật, quản lý.

  5. III. CÁC DẠNG DIỄN TẢ THUẬT TOÁN 3. Diễn đạt bằng lưu đồ • Điểm bắt đầu và chấm dứt thuật toán • Thaotácnhập hay xuấtdữliệu • Khốixửlýcôngviệc • Khối quyết định lựa chọn • Điểmnối • Chuẩnbị • Khối chương trình con • Đường đi của chương trình

  6. III. CÁC DẠNG DIỄN TẢ THUẬT TOÁN Ví dụ 2: Thuật toán giải phương trình bậc nhất ax + b = 0 Bước 1: Nhập vào 2 hệ số a và b. Bước 2: Xét điều kiện a = 0 ? Nếu đúng là a = 0, thì đi đến bước 3. Nếu không, nghĩa là a ≠ 0, thì đi đến bước 4. Bước 3: Xét điều kiện b = 0 ? Nếu b = 0, thì báo phương trình có vô số nghiệm. Chuyển đến bước 5. Nếu b  0, thông báo phương trình vô nghiệm. Chuyển đến bước 5. Bước 4: PT có một nghiệm duy nhất là x = - b/a. Bước 5: Kết thúc thuật toán Bằngvănbản

  7. BằngLưuĐồ

  8. Ví dụ 3 : Tính tổng S của n số nguyên đầu tiên, ta tiến hành theo hai thuật giải sau

  9. Ví dụ 4: Thuật giải đổi chỗ Viết thuật giải để nhập vào 2 số A, B từ bàn phím sau đó đổi giá trị của biến A cho biến B và ngược lại.

  10. Vídụ 5: Thuậtgiảitìmsốlớnnhấttrong 2 số

  11. BÀI TẬP 1. Viết thuật giải nhập 1 số từ bàn phím và in ra bình phương của số đó nếu số đó là số dương. 2.Viết thuật giải nhập từ bàn phím một số tự nhiên N và in ra các số nguyên trong phạm vi từ 1 đến N 3. Viết thuật giải nhập từ bàn phím 2 số tự nhiên m, n (m<n) và in ra màn hình các số chia hết cho m trong khoảng từ 1 đến n Hướng dẫn: Để kiểm tra xem một số x có chia hết cho m không ta dùng biểu thức kiểm tra X MOD M=0. Nếu biểu thức này là đúng thì x chia hết cho m. 4 Viết thuật giải nhập 3 số từ bàn phím và in ra số lớn nhất trong ba số đó. 5. Viết thuật giải nhập 2 số từ bàn phím và in ra UCLN, BCNN của hai số đó. Hướng dẫn: UCLN của 2 số m và n (UCLN(m,n)) được tính như sau: UCLN(m,m)=m UCLN(m,n) = UCLN(m-n,n) với m>n UCLn(m,n-m) với n>m BCNN(m,n)=m*n/UCLN(m,n)

  12. CHƯƠNG 2: CÁC KHÁI NIỆM CƠ BẢN CỦA NGÔN NGỮ LẬP TRÌNH PASCAL  I. GIỚI THIỆU Pascal là ngôn ngữ lập trình cấp cao do giáo sư Niklaus Writh (trường ĐH kỹ thuật Zurich, Thuỵ sỹ) sáng tác và công bố vào đầu những năm 1970. Nó giúp cho sinh viên cũng như người mới học lập trình có được thói quen viết một chương trình có cấu trúc sáng sủa, rõ ràng dễ đọc vàdễ hiểu.

  13. Ưu điểm của Pascal • Pascal là một ngôn ngữ có định kiểu mạnh mẽ. Có nghĩa một biến và một hằng của một kiểu dữ liệu không thể tự do đem trộn lẫn với biến và hằng của một kiểu dữ liệu khác. Khi sử dụng phải khai báo rõ kiểu của chúng. • Các kiểu dữ liệu trong Pascal hết sức phong phú thể hiện được nhiều kiểu dữ liệu từ đơn giản đến phức tạp. • Pascal là một ngôn ngữ có cấu trúc. Một ngôn ngữ có cấu trúc khối là một ngôn ngữ mà ta có thể tách các thông tin dữ liệu (biến, hằng,..) và các lệnh cần dùng cho một nhiệm vụ xác định thành những khối riêng để người lập trình có thể giải quyết dần dần từng khối một hoặc cho nhiều người cùng tham gia lập trình.

  14. Ưu điểm của Pascal • Tính cấu trúc của Pascal được thể hiện trên 3 mặt: • Cấu trúc về mặt dữ liệu: từ các dữ liệu kiểu đơn giản hoặc lệnh có cấu trúc ta có thể xây dựng các dữ liệu có cấu trúc phức tạp hơn • Cấu trúc về mặt lệnh: từ các lệnh đơn giản hoặc lệnh có cấu trúc ta có thể xây dựng các lệnh phức tạp hơn. • Cấu trúc về mặt chương trình: một chương trình có thể chia thành những đơn thể (modul) tương đối độc lập và những chương trình con.

  15. II. CÁC PHẦN TỬ CƠ BẢN CỦA NGÔN NGỮ PASCAL 2.1. Bộkýtự • Ngôn ngữ Pascal được xây dựng từ bộ ký hiệu cơ bản sau: • Bộ 26 chữ cái La tinh: 26 chữ cái thường a, b, c, ... , z 26 chữ cái hoa: A,B,C,... Z Bộ10 chữsốthậpphân: 0, 1, ... , 9 • Bộdấucácphéptoán: cộng+ trừ- nhân * chia / luỹthừa ^ bằng = lớn hơn > nhỏ hơn < khác <> mở ngoặc ( đóng ngoặc ) • Bộ các ký hiệu đặc biệt: dấu gạch dưới _ dấu chấm . dấu chấm phẩy ; dấu nháy đơn ' các ký hiệu khác như [] $ ... • Dấu cách (space) được dùng để ngăn cách các từ.

  16. 2.2. Từkhoá • Là các từ riêng của Pascal, có ngữ nghĩa đã được xác định, không được dùng nó vào các việc khác hoặc đặt tên mới trùng với các từ khóa. • Từkhóachung: PROGRAM, BEGIN, END, PROCEDURE, FUNCTION  • Từ khóa để khai báo: CONST, VAR, TYPE, ARRAY, STRING, RECORD, SET, FILE, LABEL • Từkhóacủalệnhlựachọn: IF ... THEN ... ELSE, CASE ... OF  • Từkhóacủalệnhlặp: FOR... TO... DO, FOR... DOWNTO... DO, WHILE... DO, REPEAT... UNTIL  • Từ khóa điều khiển: WITH, GOTO, EXIT, HALT  • Từkhóatoántử: AND, OR, NOT, IN, DIV, MOD

  17. 2.3. Tênchuẩn • Tên chuẩn là tên đã được định nghĩa sẵn trong Pascal, nhưng người ta có thể định nghĩa lại nếu muốn. Trong Pascal ta có các tên chuẩn sau đây:  Boolean, Char, Integer, Word, Byte, Real, Text False, True, MaxInt Abs, Chr, Cos, Sin, Eof, Eoln Exp, Ln, Odd, Ord Round, Trunc, Sqr, Pred, Succ Dispose, New, Get, Put, Read, Readln, Write, Writeln, Reset, Rewrite

  18. 2.4. Tên hay định danh Là một dãy ký tự do người sử dụng tự đặt cho các hằng, biến, hàm, thủ tục, tên chương trình, tên kiểu dữ liệu mới. Tên hay định danh trong Pascal phải tuân thủ các qui định sau: • Tên phải được bắt đầu bằng một chữ cái hoặc chữ số. • Trongtênkhôngchứadấucách • Tên không được trùng với một từ khoá của Pascal • Sốkýtựcủatênbịhạnchếlà 8 (Pascal chuẩn), 127 (Turbo Pascal) Ví dụ: Các tên viết như sau: #DLTA sai vì tên bắt đầu bằng một ký tự đặc biệt ARRAY saivìtêntrùngvớitừkhoá VI DU saivìtêncódấucách • Chú ý: Để làm cho tên được sáng sủa người ta cho phép dùng dấu gạch dưới (_) khi viết tên. Ví dụ: GIAI_PHUONG_TRINH • Các từ trong Pascal có thể viết hoa hoặc viết thường mà giá trị và ý nghĩa của chúng không thay đổi.

  19. CẤU TRÚC CỦA MỘT CHƯƠNG TRÌNH PASCAL Program Tên_Chương_Trình; {Phầnkhaibáo} Uses … Label … Const … Type … Var … {Phầnchươngtrình con} Procedure Function {Chươngtrìnhchính} Begin {Cáclệnhcủachươngtrìnhchính} End.

  20. CẤU TRÚC CỦA MỘT CHƯƠNG TRÌNH PASCAL Một chương trình Pascal có các phần: * Phần tiêu đề: Phần này bắt đầu bằng từ khóa Program rồi tiếp đến là tên của chương trình và chấm dứt bằng dấu chấm phẩy (;) Tên chương trình phải được đặt theo đúng qui cách của danh hiệu tự đặt. Phần tiêu đề có hoặc không.  * Phần khai báo dữ liệu: Một chương trình Pascal có thể có một số hoặc tất cả các khai báo dữ liệu sau: USES : khai báo các thư viện chương trình CONST : khaibáohằng TYPE : định nghĩa kiểu dữ liệu mới VAR : khaibáocácbiến Phần khai báo CT con (có thể có hoặc không tùy theo nhu cầu). • * Phần thân chương trình: Phần thân chương trình là phần quan trọng nhất và bắt buộc phải có, phần này luôn nằm giữa 2 từ khoá là BEGIN và END. ở giữa là lệnh mà các chương trình chính cần thực hiện. Sau từ khóa END là dấu chấm (.) để báo kết thúc chương trình. 

  21. CẤU TRÚC CỦA MỘT CHƯƠNG TRÌNH PASCAL * Dấuchấmphẩy (;): Dấu ; dùng để ngăn cách các câu lệnh của Pascal và không thể thiếu được.  * Lờichúthích: Lời chú thích dùng để chú giải cho người sử dụng chương trình nhớ nhằm trao đổi thông tin giữa người và người, máy tính sẽ không để ý đến lời chú thích này. Lời chú thích nằm giữa ký hiệu: { } hoặc (* *) 

  22. CẤU TRÚC CỦA MỘT CHƯƠNG TRÌNH PASCAL Ví dụ: Viết chương trình tính diện tích hình tròn biết bán kính là R , tính diện tích hình vuông biết cạnh là a. PROGRAM VI_DU; (* Dòng tiêu đề *) VARR, A, Dientich: Real; (* Khai báo ba biến thực *) BEGIN Write ('Ban kinh : R= '); Readln (R); Dientich:=3.14*R*R; (* Tínhdiệntíchhìnhtròn *) Writeln (‘Dien tich hinh tron la:', Dientich:10:3); Write ('Do daicanhhinhvuong: A= '); Readln (A); Dientich:=A*A; Writeln (‘Dien tich hinh vuong la’, Dientich:10:3); Readln; END.

  23. V. CÁC KIỂU DỮ LIỆU CƠ SỞ 5.1. Kháiniệm • Dữ liệu (DATA) được định nghĩa là tất cả những gì được máy tính xử lý. Các kiểu dữ liệu cần tới máy tính xử lý có rất nhiều, tồn tại dưới nhiều dạng khác nhau về bản chất, ý nghĩa, không chỉ là số liệu mà còn là các kí tự, các mệnh đề logic thể hiện qua các đối tượng cụ thể cần xử lý như tiền lương, địa chỉ, tên, tuổi, văn bản, tín hiệu. • Về phương diện ngôn ngữ bậc cao thì dữ liệu đã được khái quát hoá với các kiểu dữ liệu. Một kiểu dữ liệu (Data Type) được định nghĩa với hai điểm chính như sau: • - Một tập hợp các giá trị mà một biến thuộc kiểu đó có thể nhận được • - Trên đó xác định một số phép toán.

  24. Một biến phải gắn liền với một kiểu dữ liệu. Cáckiểu DL trong Pascal

  25. Kiểudữliệuđơngiản Kiểusốnguyên(Integer) Kiểusốthực(Real) Kiểukýtự(Char) Kiểu logic(Boolean) Kiểudữliệucócấutrúc Kiểumảng(Array) Kiểuchuỗi(String) Kiểutậphợp(Set) Kiểubảnghi(Record) Kiểutập tin(File,Text)

  26. V. CÁC KIỂU DỮ LIỆU CƠ SỞ 5.2. Kiểusốnguyên (Integer type) a. Kiểusốnguyêntrong Turbo Pascal : Được định nghĩa với các từ khóa sau: 

  27. b. Các phép toán số học đối với số nguyên 

  28. 5.3. Kiểusốthực (Real type) Có năm kiểu số thực được tổng kết qua bảng sau:

  29. 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. • Dạng dấu phẩy tĩnh: viết dạng thập phân bình thường. Ví dụ: 2.14, +5.0, -25.345678, 0.0006 • 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ểudiễnsố 0.0123456 0.15E+5: biểudiễnsố 15000.0 5E8: biểudiễn 500000000.0 -55.3e2: biểudiễn -5530.0 • Cáckýtựbiểudiễnmộtsốthựcphảiviếtliềnnhau.

  30. Các phép toán số học cơ bản +, -, * , / được sử dụng trong kiểu real. • Chú ý: Riêng phép toán DIV và MOD không thực hiện đối với kiểu số thực

  31. 5.4. Kiểu logic (Boolean) • Một dữ liệu thuộc kiểu BOOLEAN là một đại lượng được chứa trong 1 byte ở Turbo Pascal và chỉ có thể nhận được một trong hai giá trị logic là TRUE (đúng) và FALSE (sai). • Qui ước: TRUE > FALSE  • Cácphéptoántrênkiểu Boolean: 

  32. Cácphéptoánquanhệchokếtquảkiểu Boolean: 

  33. 5.5. Kiểukýtự (Char type) • Tất cả các dữ liệu viết ở dạng chữ ký tự được khai báo bởi từ khóa CHAR.  • Một ký tự được viết trong hai dấu nháy đơn ‘ ‘. Để tiện trao đổi thông tin cần phải sắp xếp, đánh số các ký tự, mỗi cách sắp xếp như vậy gọi là bảng mã. Bảng mã thông dụng hiện nay là bảng mã ASCII . • Để thực hiện các phép toán số học và so sánh, ta dựa vào giá trị số thứ tự mã ASCII của từng ký tự, chẳng hạn: 'A' < 'a' vì số thứ tự mã ASCII tương ứng là 65 và 97. • Trong Turbo Pascal mỗi ký tự được chứa trong 1 byte. Các hàm chuẩn liên quan đến kiểu ký tự: 

  34. VI. KHAI BÁO BIẾN, HẰNG, KIỂU VÀ BIỂU THỨC 6.1. Hằng (constant) a. Địnhnghĩa Hằng là một đại lượng có giá trị không đổi trong quá trình chạy chương trình. Ta dùng tên hằng để chương trình được rõ ràng và dễ sửa đổi.  b. Cáchkhaibáo CONST <Tênhằng> = <giátrịcủahằng> ;  Vídụ CONST Siso = 100; X = ‘xxx ‘; 

  35. VI. KHAI BÁO BIẾN, HẰNG, KIỂU VÀ BIỂU THỨC • 6.2. Biến (variable) a. Địnhnghĩa Biến là một đại lượng mà giá trị của nó có thể thay đổi nhiều lần trong chương trình. Tên biến là tên của ô nhớ cất giữ dữ liệu  Vídụ : Readln (x) ; Writeln (x) ; x := 9 ;  Biến là một cấu trúc ghi nhớ dữ liệu vì vậy nó phải tuân theo qui định của kiểu dữ liệu : một biến phải thuộc một kiểu dữ liệu nhất định.  b. Cáchkhaibáo VAR <Tênbiến> : <Kiểubiến> ;   Vídụ : VAR a : Real ; b, c : Integer ; TEN : String [20]; X : Boolean ; Chon : Char ;  Cần khai báo các biến trước khi sử dụng chúng trong chương trình. Khai báo một biến là khai báo sự tồn tại của biến đó và cho biết nó thuộc kiểu gì.

  36. VI. KHAI BÁO BIẾN, HẰNG, KIỂU VÀ BIỂU THỨC 6.3. Kiểu (Type) a. Địnhnghĩa Ngoài các kiểu đã định sẵn, Pascal còn cho phép ta định nghĩa các kiểu dữ liệu khác từ các kiểu căn bản theo qui tắc xây dựng của Pascal.   b. Cáchkhaibáo TYPE <Tênkiểu> = <Môtảxâydựngkiểu>;  Ví dụ : TYPE SoNguyen = Integer ; Diem = Real; Tuoi = 1 .. 100 ; Color = (Red, Blue, Green) ; Thu = (Sun, Mon, Tue, Wed, Thu, Fri, Sat) ; khi đã khai báo kiểu gì thì ta có quyền sử dụng để khai báo biến như ở ví dụ sau:  Vídụ : VAR i, j : SoNguyen ; Dtb : Diem ; T : tuoi ; Mau : Color ; Ngay_hoc : Thu; 

  37. VI. KHAI BÁO BIẾN, HẰNG, KIỂU VÀ BIỂU THỨC 6.4. Biểuthức (Expression) a. Địnhnghĩa Mộtbiểuthứclàmộtcôngthứctínhtoánbaogồmcácphéptoán, hằng, biến, hàmvàcácdấungoặc.  Vídụ : 5 + A * SQRT(B) / SIN(X) (A AND B) OR C b. Thứ tự ưu tiên Khi tính giá trị của một biểu thức, ngôn ngữ Pascal qui ước thứ tự ưu tiên của các phép toán từ cao đến thấp như sau:  Mức ưu tiên: Các phép toán: 1. Biểu thức trong ngoặc đơn ( ) 2. Phépgọihàm 3. Not, - 4. *, /, DIV, MOD, AND 5. +, -, OR, XOR 6. =, <>, <=, >=, <, >, IN  VD: (4+5)/3 + 6 - (sin((/2)+3)*2 = (9)/3 + 6 - (1+3)*2 = 3 + 6 - 8 = 1 

  38. VI. KHAI BÁO BIẾN, HẰNG, KIỂU VÀ BIỂU THỨC 6.4. Biểuthức (Expression) c. Qui ước tính thứ tự ưu tiên Khi tính một biểu thức có 3 qui tắc về thứ tự ưu tiên như sau:  Qui tắc 1 : Các phép toán nào có ưu tiên cao hơn sẽ được tính trước. Qui tắc 2 : Trong các phép toán có cùng thứ tự ưu tiên thì sự tính toán sẽ được thực hiện từ trái sang phải. Qui tắc 3 : Phần trong ngoặc từ trong ra ngoài được tính toán để trở thành một giá trị đơn. d. Kiểucủabiểuthức Làkiểucủakếtquảsaukhitínhbiểuthức.  Ví dụ : Biểu thức sau được gọi là biểu thức Boolean: not (('a'>'c') and ('c'>'C')) or ('B'='b') cógiátrị TRUE

  39. VII. CÁC THỦ TỤC NHẬP/XUẤT 7.1.Câu lệnh (statement) + Trong một chương trình Pascal, sau phần mô tả dữ liệu là phần mô tả các câu lệnh. Các câu lệnh có nhiệm vụ xác định các công việc mà máy tính phải thực hiện để xử lý các dữ liệu đã được mô tả và khai báo.  + Câu lệnh được chia thành câu lệnh đơn giản và câu lệnh có cấu trúc. - Câu lệnh đơn giản + Vàodữliệu : Read, Readln + Ra dữliệu : Write, Writeln + Lệnhgán : := + Lời gọi chương trình con (gọi trực tiếp tên của chương trình con) + Xửlýtập tin : RESET, REWRITE, ASSIGN ...

  40. VII. CÁC THỦ TỤC NHẬP/XUẤT 7.1.Câu lệnh (statement) + - Câulệnhcócấutrúc + Lệnhghép : BEGIN .. END + Lệnhchọn : IF .. THEN .. ELSE CASE .. OF . + Lệnhlặp : FOR .. TO .. DO REPEAT .. UNTIL WHILE .. DO + Các câu lệnh phải được ngăn cách với nhau bởi dấu chấm phẩy ( ; ) và các câu lệnh có thể viết trên một dòng hay nhiều dòng.

  41. 4. Khai báo, biểu thức, câu lệnh 4.5 Câulệnhghép Cáccâulệnhđơnđượcđặtgiữa BEGIN và END sẽtạothànhmộtcâulệnhghép. Cáchsửdụng Begin <Câulệnh 1> <Câulệnh 2> … End; If (a <> 0) then Begin write(‘nghiệm=’ ); write(-b/a); End;

  42. 5. Các thủ tục nhập xuất dữ liệu 5.1 Nhập dữ liệu từ bàn phím Begin readln(s); read(a,b); readln; End.

  43. 5. Các thủ tục nhập xuất dữ liệu 5.2 Xuất dữ liệu ra màn hình • Vídụ • Write(‘diem’,diem,‘hocbong’,200); • Writeln; • Writeln(‘chu vi=’,(dai+rong)*2); • Writeln(‘ketthucchuongtrinh’);

  44. VII. CÁC THỦ TỤC NHẬP/XUẤT 7.2. Cấutrúctuầntự a. Lệnhgán (Assignment statement) Một trong các lệnh đơn giản và cơ bản nhất của Pascal là lệnh gán. Mục đích của lệnh này là gán cho một biến đã khai báo một giá trị nào đó cùng kiểu với biến.  Cáchviết: <Tên_biến> := <biểuthức> ;  Ví dụ : VAR c : Char ; i,j : Integer ; x, y : Real ; p, q : Boolean ;  thì ta cóthểcócácphépgánsau : c := ‘A’ ; c := Chr(90) ; i := (35+7)*2 mod 4 ; i := i div 7 ; x := 0.5 ; q := i > 2*j +1 ; q := not p ; 

  45. BÀI TẬP 1. Tính giá trị của các biểu thức dưới đây: (‘d’>‘g’) and (18 div 4 * 4 >125) = (True<False) or (‘a’ <‘c’) = round(-72.315)= 2. Cho biết S thuộc kiểu gì biết rằng n là một biến kiểu Shortint và trong chương trình có lệnh gán: S:=n(n-1)/2; 3. Biết rằng trong chương trình có một lệnh gán: i:=n mod 4 Hỏi n có thể khai báo kiểu real được không? 4. Biết rằng trong chương trình có sử dụng một lệnh gán i:=ORD(n). Hãy xác định các kiểu có thể sử dụng được trong khai báo của n 5. Biết rằng S1 và S2 là hai biến kiểu Byte và trong chương trình có lệnh gán S:=S1+S2. Xác định kiểu khai báo đúng nhất của S 6. Biết rằng n là một biến kiểu Byte và trong chương trình có lệnh gán S:=n*(n+1). Hỏi S có thể nhận các kiểu khai báo nào?

  46. 7.Biết rằng trong chương trình có một lệnh gán: i:=ORD(n). Hỏi kiểu của i có thể là kiểu số thực được không? 8. Biết rằng trong chương trình có sử dụng lệnh gán i:=n MOD 4. Hỏi kiểu của n có thể là real được không 9.Biết rằng n là một biến kiểu Integer và trong chương trình có sử dụng lệnh gán S:=n*(n+1)/2. Hỏi kiểu của S có thể trùng với kiểu của n được hay không? 10. Biết n là một biến kiểu Integer và S:=n*n. Hỏi biến i có thể khai báo kiểu Integer được không nếu gán i:=SQRT(S) 11. Biết rằng n là một biến kiểu integer và S:=n*(n div (trunc (n/2))). Hỏi S có thể nhận giá trị kiểu Integer được không?

More Related