BULTHE TAM GIAO TRINH TURBO PASCAL 7.0 » Lập trình Pascal cơ bản Kỹ thuật lập trình Pascal nâng cao » Cấu trúc dữ liệu và giải thuật thể hiện trên Pascal Bài tập và lời giải mẫu Dùng
Trang 1PGS PTS BUI THE TAM GIAO TRINH
NHA XUAT BAN GIAO THONG VAN TAI HÀ NỘI 2004
Trang 2T.S BULTHE TAM
GIAO TRINH TURBO PASCAL 7.0
» Lập trình Pascal cơ bản
Kỹ thuật lập trình Pascal nâng cao
» Cấu trúc dữ liệu và giải thuật thể hiện trên Pascal Bài tập và lời giải mẫu
Dùng cho :
s Sinh viên các ngành khoa học tự nhiên và kỹ thuật
«Học sinh phổ thông chuyên tin
NHÀ XUẤT BẢN GIAO THÔNG VẬN TẢI
HÀ NỘI
Trang 3xe 2
Lời mở đầu
Turbo Pascal là một ngôn ngữ lập trình có cấu trúc nó được dùng phổ biến ở nước ta hiện nay trong công tác giảng dạy lap trình tính toán, dé hoa Turbo Pascal duce ding trong chuong trinh gidng day Tin hoc 6 hau hết các trường dat hoc, cao
đẳng trung học phổ thông
Cuốn sách này là các bài giảng của Tác giả về ngôn ngữ lập trình Pascal (cơ bản
và nâng cao) cho sinh viên một số trường đại học và các lớp chuyên tin phỏ thông Giáo trình chia thành ba phần:
~ Phần Pascal cơ bản (chương 1-4): trình bày các khái niệm cơ bản, lệnh rẽ nhánh
và lặp, đữ liệu kiểu mảng kiểu xâu ký tự và kiểu tập hợp hàm và thủ tục
- Phần Pascal nâng cao (chương 5-7, 9-11): dữ liệu kiểu bản phi và kiểu tép, unit Crt unit Graph, unit DOS, unit ur tao
- Phần cấu trúc đữ liều và giải thuật thể hiện trên Pascal (chương 8, 12-13): con tro, danh sách liên kết đơn và kép, ngăn xếp, hàng đợi, cây tìm kiếm nhị phân các bài toán tổ hợp, các bài toán trên đở thị
Cuốn sách này là sự kết hợp, có chính lý và bổ sung của hai cuốn sách đã có nam nay của tác giả: Giáo trình Turbo Pasacl 7.0, Bài tập lập trình Turba
ai 7.0 Cuối mỗi chương đều có các bài tap chon loc để luyện tập phản lý thuyết, hấu hết các bài tập đều có lời giải cho ở cuối sách,
Đối tượng của cuốn sách là các bạn sinh viên, học sinh phố thông, học sinh cdc lớp chuyên 1in, học viên các lớp cao học thuộc các ngành khoa học kỹ thuật đang học các môn : ngôn ngữ lập trình Pascal cơ bản và nâng cao, cấu trúc dữ liệu và giải thuật Cuốn sách cũng là tài liệu tham khảo cho giáo viên dạy các môn này, cho các bạn tự học không có điều kiện tới lớp
Tác giả rất mong nhận được sự đóng góp ý kiến của các thay giáo sinh viên và các chuyên gia vẻ Tin học để cho cuốn sách được hoàn thiện hơn Ý Kiến đóng góp xin
gửi vẻ: Bùi Thế Tâm Viện Toán học, I8 Hoàng Quốc Việt, 10307 Hà nội, E-mail bttam@math.ac.vn
Tac gia
T.S Bùi Thế Tâm
Trang 4TS Bui Thé Tam 3 Giáo trình Turbo Pácal 7.0
Chương 1
Cac khai niém co ban
Pascal là một loại ngôn ngữ lập trình bac cao, hiện đang được dùng phố biến ở nước tả trong công tác giáng dạy, lập trình tính toán xử lý văn bản đồ hoa và ám thanh Ngôn ngữ Pascal do NiKlaus Winh, giáo sư điện toán trường đại học ký thuật Zurich (Thuy si), dé xuat vào năm 1970 với tên gọi Pascal để kỷ niệm nhà toán học và triết học nỏi tiếng người Pháp Blaise Pascal
Ngôn ngữ Pascal có nhiều ưu điểm: ngữ pháp, ngữ nghĩa đơn giản rõ ràng: cấu
trúc chương trình chật chẽ, dễ hiểu: chương trình để sửa, cải tiến Lúc đầu Pascal được
sáng tạo ra để piảng day lap trình Trong qué tinh phat wien Pascal đã tỏ ra hon han nhiều ngôn ngữ bậc cao khác và đến nay nó đã trở thành một ngôn ngữ mạnh được ding rong rai ong rất nhiều lĩnh vực khác nhau Dựa trên Pascal chuàn nhiều tổ chức
va cong ty máy tính đã phát triển và tạo ra các sản phẩm phần mềm Pascal với nhiều phần thêm bớt khác nhau, trong đó hệ Turbo Paseal (1P) cha hang Borland tỏ ra có nhiều ưu điểm hơn cả và hiện nay nó đã trở thành phổ biến nhất trên thế giới TP đã được cải tiến qua nhiều phiên bản 1.0 3, 4.0, 5.5 (1989), 6.0 (1990) 7.0 (1992)
“Turbo Paseal 7.0 chứa trên bai đĩa mẻm 1.44 MB Tuy nhiên nếu chỉ sử dụng chức năng tính toán thì chỉ cần hai tệp chính: Turbo.exe và Turbo.tpl Muốn dùng đồ họa cần thêm các tép: Graph.tpu, EgaVga.bgi cdc tép phong chit * chr (Bold.chr, Goth.chr, Litt.chr Suns.chir, Trip.chr ) Tat ca cde tếp này chiếm khoảng 600 KB
1 Khởi động Turbo Pascal và cách chạy một chương trình
Giả sử các tệp của TP lưu trong thư mục €:\7P7 và tạ đang ở Windows 98, Để khởi động TP ta dùng Iénh Start / Program / MS-DOS Prompt, xuat hign dau nhắc DOS dùng lệnh €: \?P7\BTN>TUREO, Xuất hiện màn hình lam việc của TP
Phía trong của màn hình làm việc là cửa số soạn thảo với tên tệp mặc định là Noname00.pas trên đính màn hình là menu chính với các mục:
File Edit Search Run Compile Debug Tools Options Window Help
Dưới đáy màn hình phi các phím chức nãng thường dùng nhất Khi làm việc với TP Để chọn một mục trong menu chính ta ấn Alt + chữ cái đầu tiên của mục xuất hiện menu dọc ứng mục vừa chọn Để chọn một chức nâng của menu dọc ta dùng các phím mũi tên để di chuyển hộp sáng và ấn Enter nếu không muốn chọn mục nao thi an ESC
để thoát khỏi menu dọc Nhiều mục của menu đọc có các phím gõ tất tương ứng, khi
đó ta có thể gõ cdc phim nay ma khong can vào hệ thống menu Ví dụ khi đang soạn thảo chương trình đẻ phi tệp vào đĩa ta chỉ cần an E2 thay cho việc vào hệ thống menu : File / Save
Các lệnh thường dùng khi làm việc với Turbo Pascal 7.0
- File/ New: soạn một tệp mới, tên tệp mặc dịnh là NONAMExx.PAS (x thay cho một số từ 00 đến 99) Khi ghi tệp Noname lèn đĩa máy sẽ nhắc đặt tên cho tệp này
- File/ Open (hay ấn F3): mở tập đã có trên đĩa để lầm việc
- File/ Save (hay an F2): ghi tệp đang soạn thảo lên đĩa
Trang 5
Ts Bui Thể Tâm _- Giáo trình Turbo Pácal 7.0
- File? Save as ; phí tếp lea dia voi ten Khắc, vào tên ep mot
~ Run! Run thay an Cirle 9): tha hiện việc dịch, liền kết và chạy tệp chương trình dang sean thao tong ett so hoạt dòng, Kết quả biên dịch năm trong bo nhớ hay trên đĩa (uy theo muc chon Destination dong menu Compile quyết định,
+ AIt+EŠ: xem lại màn hình kết quả chạy chương trình, ấn phím bất kỳ để trở về mãn hình lim việc của TP,
- Edit? Copy (hay an Ctrl+Insi: chép khởi vận bản vào vùng đệm, Cách đánh dấu khỏi: dựa con trỏ vào đâu Khoi, an phim Shift va dùng các phím mũi tến để mở rộng vệt sáng đánh dit khôi: hoặc an Cul+K Bo dau khoi va Cul+K K ở cuối khối,
- Edit Cụt (hay ấn Shift+Del: xoá khỏi và chép nó vào vùng đệm
- EdiU Paste thay ấn ShiftzIns): chép khối từ vùng đệm vào chỏ con trỏ
- Ctrl + Y: xoá dòng có con trỏ
- Search! Replace (hay an Ctrl+Q A): tim mot diy ky ty va thay thể bang day
ký tự khác
- Compile’ Compile (an AlI+E9): chỉ tiến hành dịch chương trình mà không chay NCu khi dich Destination IA Memory thi tép ket qua dich chỉ lưu trong bộ nhớ, néu Destination 1A Disk thi tep ket qua dich lưu trên đĩa với phần mở rộng là EXE Để thấy đổi hướng kết quả dịch đùng lệnh Compie/ Destination
- Alt + sở hiệu cửa số: chuyển về của số có sở hiệu đã ấn F§: phóng to cưa xổ hiện hành ra toàn màn hình AI+E3: đồng cửa số hiện hành
- File! DOS Shell: tam thời thoát khỏi môi tung TP vé dau nhac cua DOS dé thuc hien cae lénh cla DOS (vi du chay mot tep chương tình có đuôi EXE) "Trở lại môi trường TP: pố EXTTI tại dau nhac cba DOS
- File’ Exit (hay an Alt+X): thoát khỏi TP,
Các bước để chạy một chương trình
“Trong mới trường TP dùng lệnh Eite/ New mở một tệp mới, soạn thảo văn bản chương trình, ví dụ chương trinh InDong.pas in một dòng chữ len màn hình:
Began
Writeln('Ha Noi la thu do cua Cong hoa Xa hoi Chu nghia Viet Nam‘); End
Soạn xong phí tép vào địa: ấn F2 vào tẻn tếp neu ghi lan dau Dịch chương trình xem
có lỏi không: AlL+F9, nếu có lỏi thì sửa (con tro dừng lại ở chỗ có lỗi dòng màu đỏ trên đỉnh màn hình thống báo nguyễn nhân lỏi) và dịch lại Chạy chương trình:
Cul+F9
2 Cú pháp và ngữ nghĩa
Một ngón ngữ bại kỳ, từ ngôn ngữ của con người đến ngôn ngữ của máy tính, đều được xây dụng dựa trên một bộ các ký tự, Các Ký tự ghép lại thành các từ, tập hợp các từ phép theo những quY tác cú pháp nhất định tạo thành những câu để diễn tả một
nào đó, nội dung ay là ngữ nghĩa của cầu,
nar dung
Bộ ký tự Ngôn ngũ Pascal sự dụng các ký tự sau: 32 chữ cái in họa va in
thudne (ALZ a7) LO chit s6 (0.9) và các kÝtự+ -*/ =<> nh (C) L1 } vi? 16 #$§9$%^ & và dâu nội chan (
Trang 6
TS Bùi Thế Tâm 5 _ Giáa trình Turbo Pácal 7.0
Từ khoá (key word) là những từ dành riêng được TP dùng với ý nghĩa nhất
định Các từ khoá thường ding: and, array, begin, case, const, div, do,
downto, else, end, file, for, forward, function, goto, if, in,
label, mod, not, of, or, procedure, program, record, repeat, set, string, then, to, type, unit, until, uses, var, while,
with, Từ khoá cần được viết đúng (chữ thường hay chữ họa đều được) và viết tách
khỏi các ký tự khác
Tén (indentifier) 1A mot đây Kỷ tự được tạo thành từ các chữ cái, chữ số và dâu noi chan (_) dùng để đật tên cho các đại lượng trong chương trình như tên biến, tên hãng tên kiểu đữ liệu, tên mang, ten hàm, ten bản ghi, tên chương trình, tên côn Trà,
Ký tự đầu tiên của tên không được là chữ số, \ không được có đấu cách và khong được trùng với từ khoá Tên có thể có độ dài tuỳ ý nhưng chí có 63 Ky tự dau tiên là có
nghĩa Ví dụ tên dúng: Alpha, X1, _z, pt bac 2 Tên sai: pt bac2, 4abc,
£(x), in, x+y
Tén chuan là tên đã dược TP định nghĩa ước dùng dé chi cde hin hang
biến thủ tục, thư viện của TP như Boolean, Byte, Char, Integer, Real,
False, True, Text, Abs, Arctan, Chr, Cos, Sin, Eof, Eoln, Exp,
Ln, Odd, Read, Readln, Sqr, Sqrt, Write, Writeln Sự Khác nhau giữa
tên chuẩn và từ khoá là ở chỗ người lập trình có thé định nghĩa lại tên chuẩn để dùng
vào việc khác nếu muốn, còn tù khoá phải dùng đúng quy dịnh của TP TP khong phan biệt ký tự viết thường hay viết họa trong các từ khoá, tên hay ten chuẩn
3 Các kiểu dữ liệu, hằng, biến a epee os `
a) Các kiêu dữ liệu Các dữ liệu (bạn đầu và trang gian) dùng trong chương tinh đều phải thuộc một kiêu nhất định, khong thể dùng lần TP vó các Miêu dữ liệu chuan sau:
« Kiểu số nguyên Kiểu số nguyên tường dùng là Integer, nó biểu diện các số
từ -3276§8 đến 32767 chiêm 2 byte bộ nhớ Ngoài ra còn có các kiểu: Byte (Q den 255, chiếm 1] byte), Shortint (128 den 27, chien | byte) Word (0 dén 65535, chiem 3 byte), Longint (-214783648 dén 214783647 chim 4 dy te)
+ Kiéu số thực thường dùng: Real va Double Kicu Real biểu điều các số thục
có trị tuyệt đối từ 2.9# L0 ” dey 1.7810" kidu Real chiếm 6 by bộ nhớ Riều Double biểu điển các số thực có trị tuyệt đôi từ Š 0:-324 đến 1.7E+30§ kiểu Double chiếm § byte bộ nhớ Cúc sỡ thực được viết dưới hai dạng: dạng dấu phẩy tinh (1 du 123.45678) dang dau phẩy động Qi du 1.23456F+2)
« Kiểu Boolean tu này chỉ có hai giá tị là True (đúng) và False (sai) và chiếm 1 byte bộ nhớ Giá tri Faise được xem là nhỏ hơn True
« Kiểu char Mỗi giá tri kiểu Chár (ký tự) chien 1 byte và biểu diễn một ky tự
trong bảng mã ASCM Mỗi ký tự (7 du chit À, mã là 65) có thể dùng một trong bà
cách để biểu diễn: 'Á' chr(65), #65
s Kiểu String (xâu ký tự) là một dãy ký tự bat ky dat trong hài dâu nhảy đơn, số
ký tự không quá 255 Xâu rồng ” là xâu Khôi ;ó ký tự nào Mót biến sữIine được cập
Trang 7TS Bui Thé Tam 6 Giáo trinh Turbo Pacal 7.0
một số byte bằng độ đài của nó cộng thêm 1: byte đầu tiên dùng để ghỉ số ký tự đang được lưu trữ, mỗi bytc còn lại chứa một ký tự
b) Hằng Hằng là một đại lượng có giá trị xác định và không thay đổi ưong
toàn bộ chương trình Hằng cũng có các kiểu như kiểu dữ liệu đã mô tả ở trên: hằng số nguyên, hằng số thực, hằng ky tu, hang xâu ký tự và hằng boolcan Để khai báo hằng
ta đùng lệnh:
const tén_hang = gia tri cua hàng hoặc biểu thức hãng
Viduconst A=3; B=(9*3)/4; C='T'; D=True; Ho='Le Van';
c) Biến Biến là đại lượng có giá trị thay đổi trong chương trình Biến là tên một
vùng nhớ lưu trữ đữ liệu, Tên biến đặt theo quy tắc đặt tên ở Mục 2 Mọi biến đều phải khai báo trước khi dùng Cách khai báo biến:
Var đây tên biến: kiểu dữ liệu;
Ví dụ: var m,n:integer; a,b,c:real; tt:boolean; ten:string[20];
4 Câu lệnh
Một chương trình bao gồm nhiều câu lệnh, mỗi câu lệnh thực hiện một công việc
nào đó Trên một dòng có thể viết một hay nhiều câu lệnh Các câu lệnh được ngăn cách nhau bởi dấu chấm phẩy (:)
Cau lệnh được chia thanh hai loại: câu lệnh đơn giản và câu lệnh có cấu trúc lệnh đơn giản chỉ gồm một lệnh duy nhất như lệnh gan, lệnh nhập hay xuất dữ liệu lệnh gọi thủ tục hay hàm, lệnh goto Câu lệnh có cấu trúc có thể là lệnh phép gồm một nhóm các lệnh dat gida begin va end, if, case for, repeat, while Chương trình hoạt động theo cấu trúc tuần tự, nghĩa là thực hiện lần lượt từng lệnh một từ lệnh đầu đến lệnh cuối theo thứ tự các lệnh đã liệt kê trong chương trình
5 Cấu trúc của một chương trình Pascal
Nói chung một chương trình Pascal gồm ba phần như sau:
- Phần đầu đẻ giới thiệu tên của chương trình: Progr:ưn Tên chương_ trình;
- Phần khai báo mô tả các đối tượng các kiểu đữ liệu đùng trong chương trình:
Uses khai báo các Unit
Label khai báo các nhãn
Const khai báo các hàng
Type khai báo các kiểu dữ liệu mới
Var khai bio cdc bién
Function khai báo các hàm
Procedure khai báo các thủ tục
- Phần thân chương trình chứa các lệnh của máy tính thực hiện Phần này được viết kẹp giữa hai từ khoá Begin và End (sau chit End có dấu chấm } và thường go nội đụng sau: các lệnh in quảng cáo về chương trình các lệnh nhập dữ liệu ban đầu các lệnh tính toán để giải quyết bài toán, các lệnh in kết quả tính toán
Trang 8
TS Bui Thé Tam 7 Gido trinh Turbo Pacal 7.0
Phần đầu để và phản khai báo có thể không có nhưng phần thân chương trình nhất thiết phải có trong một chương trình Lời giải thích trong chương trình được đật giữa hai dấu {_ } hoặc (* *)
6 Biểu thức, các phép toán số học, lệnh gán
Biểu thức dùng để thế hiện một công thức toán học Mỗi biểu thức gồm các
phép toán và các toán hang Toán hạng có thể là hằng, biến, phần tử mảng hay hàm Các phép toán có thể là phép toán số học, phép toán số sánh hay phép toán logic, Có
thể dùng các đấu ngoặc tròn để diễn đạt thứ tự thực hiện các phép toán khi viết biểu
thức
Giá trị của biểu thức thu được khi thực hiện các phép toán trong biểu thức cũng thuộc một kiểu dữ liệu nào đó, Kiểu này do các phép toán trong biểu thức quyết định
Ví dụ, cộng trừ nhân chia hai số thực cho kết quả là một xố thực; phép toán logic hay
phép toán so sánh cho kết quả kiểu boolean Biểu thức số học là biểu thức có giá trị
kiểu byte, word, integer hoac real
Các phép toán số học : cộng, trừ, nhân chia được ký hiệu là + - */ Ngoài
ra còn có phép chia nguyên DIV và phép lấy phần dư MOD Giả sử m n là hai số nguyên, khi đó m div n là phần nguyên của m chia cho n, còn m mod n là phần dư
của phép chia m cho n Ví dụ 9 div 2 = 4, 9 mod 2 = 1
Ví dụ x=(a+b)*c/d; x1=(-b+sqgrt (delta) ) /(2*a)
Các hàm số học thường dung
abs (x) gid tri tuyệt doi cla x
exp (x) hame*
1n (œ) hàm loga cơ số tự nhiên của X
sqr (%) hàm bình phương của x
sqrt (x) ham can bac hai của x
sin(x) va ces (x): ham sin va cos của x với x tinh bang radian
int (x) cho giá trị thực bằng phần ngu của X
Erac (x) cho gid tri thực bằng phần lẻ của x
round (x) cho gia ti nguyen bằng cách quy tron x
trune (x) cho giá trị nguyên bằng phần nguyễn của X
odd(n) cho giá trị True nếu n lẻ, False nếu n chấn
Trong Pascal không có ham tính log,(x) va a’ Khi cần tính các hàm này ta ấp dụng các công thức: log,(X}= In(x) / In(a) (a khác 1) va aS = cxp(x*ln(4))
Lệnh gán Lệnh gán dùng để pán giá trị của một biểu thức một hàng cho
một biến, một phần tử của máng hay một hàm Lệnh gan có dạng:
tên biến := biểu thức ;
Vế trái của lệnh gán chỉ có thể là tên biến, tên hàm hay tên phần từ của mảng Khi dùng lệnh gán thì kiểu của biến và kiểu của biểu thức phái trùng nhau, trừ trường hợp biến thực (vế trái) có thể nhận giá trị nguyên (vế phải)
Ví dụ sau khi khai bio var a,b: char; m,n: integer; x,y: real; ta
có thể thực hiện các phép gan sau:
Trang 9TS Bui Thé Tam 8 Giáo trình Turbo Pácal 7.0
a:='H'; b:=chr(36); m:=(15-7)div3; n:=trunc(10/3); x:=5.6; yi= 2.3;
7 Nhập xuất dữ liệu
Lệnh Readln(al, a2, an), trong đó al a2, an là các biến kiểu integer, real, char hay string, ding dé dua dữ liệu số bay ký tự từ bàn phím vào các biến at a2, -„ an, Khí thực hiện lệnh này máy tính sẽ dừng lại, chờ người sử dụng đưa vào từ bàn phim đủ n dữ liệu phù hợp với kiêu của n biến tương ứng Các đữ liệu cách nhau ít nhất một dấu cách, nhập xong ta ấn phím Enter để báo cho máy tính thực hiện lệnh Thực hiện xong, lệnh ReadIn sẽ chuyển con trỏ xuống đầu đồng sau
Lệnh Read(al, a2, an) cũng tương tự như lệnh ReadIn, nhưng khí nhập xong dữ liệu cho các biến lệnh Read không chuyển con trỏ xuống đầu dong sau
Lénh ReadIn(khong kém theo tên biến) có tác dụng tạm dừng chương trình để người sử dụng xem các thông báo do chương trình đưa ra trên màn hình, muốn chương trình chạy tiếp ta ấn phím Enter
Lệnh Writeln(b(1, b12,
màn hình bất đầu từ vị trí hiệ
theo
» bin) sé in gid tri cde bit, bt2, bin trên một dòng
tai của con trỏ, sau đó đưa con trỏ về đầu dòng tiếp
Lénh Write(btl, bt2, ., btn) tương tự lệnh writeln nhưng con trỏ không về
đầu dòng tiếp theo mà vẫn đặt ở dong hiện tại ngay sau giá trị của biểu thức cuối cùng Một lệnh nhập dữ liệu ReadIn thường dùng kèm với lệnh Writc để thông báo biến cần nhận
Lệnh Writeln (không có tham số) ding dé dua con trỏ về đầu đồng tiếp theo (xuống dòng) Có thế đùng nhiều lệnh Write để ín giá trị của nhiều biến trên mot dong cuối cùng dùng lệnh Writeln để xuống dòng
Có hai đạng viết trong các lệnh Write va Writetn là viết không định dạng và viết
có định đạng Trong cách viết không định dạng: số nguyên và các ký tự được viết ra một cách bình thường riêng số thực được viết ra ở dạng dấu phẩy động (ví dụ
1.23456E+02)
Trong cách viết có định dạng: mỗi số hoặc ký tự đều có qui dịnh trước khoảng
trống dành để in nó Giá sử n là một số nguyên hay biến ký tự (char) khi đó lệnh
write('n = ",n:3} sẽ đành 3 khoảng trống trên màn hình để in n Giá sứ x là biến
thực, lệnh write('x= ',x:13:5) sẽ dành 13 khoảng trống trên màn hình để ín
biển x dưới dạng dấu phẩy tĩnh với 5 số lẻ Các số 3, 13 5 ở trên được thay đổi tuỳ theo yêu cau in Lénh write ("x= *,x:1:5) sẽ in biến x dưới dạng đấu phẩy tĩnh
với 5 số lẻ, máy sẽ dành số ký tự vừa đủ để in toàn bộ số x
Chương trình TLUuong.pas (tính lương) mính hoa cách nhập và in dữ liệu kiểu integer, real, char, string và boolean
program Tinh luong;
uses crt;
var hoten: string[30]; ngaycong: integer; luongngay: real;
leai,ch: char; giadinh: boolean;
begin clrser;
write('Vao ho ten nhan vien : '); readln (hoten) ;
wzite('Vao so ngay cong trong thang va luong not ngay: ');
xead1n (ngaycong, luongngay) ;
Trang 10TS Bui Thé Tam 9 Giao trinh Turbo Pacal 7.0
write('Vao loai lao dong la A, B hay C : °); readln(loai) ;
write('Co gia dinh chua C/K ? '); readln(ch);
if (ch='C') or (ch='c'} then giadinh := true else giadinh := false;
writeln; writeln('=
writeln('Ho va ten nhan vien
write('So ngay cong : ',ngaycong:2)};
write(', Luong mot ngay : ',luongngay:6:2,' do la');
writeln(', Luong thang : ',ngaycong*luongngay:7:2,' do la’);
writeln('Loai lao dong ¡ *,loai);
write('Co gia dinh chua : ');
1£ giadinh then writeln('co') else writeln('khong');
readin;
end
Màn hình nhập dữ liệu khi chạy chương trình:
Vào họ và tên nhân viên : Bui The Tam'.!
Vào số ngày công trong tháng và lương một ngày: 26 9.75 J
Vào loại lao động là A B hay C: C.J
Có gia đình chưa C/K ? C
Bài tập
1, Tính chu vi và diện tích tam giác với toa độ ba đỉnh nhập vào từ bàn phím là
(x1, yl), (x2, y2) va (x3, y3)
Hướng dẫn: công thức tính diện tích tam giác S = sgrt( p(p-a)-bX(p-e)), p = {a+b+e)/2 trong đó a, b, c là độ đài 3 cạnh tam giác Đệ dài nối 2 định đầu tiên là a = sqrt( (xt- x2) * (x1- x2) + (y1 - y2) * (y1 - y2)
2 Một người có a đồng, lãi suất gửi ngân hàng là s % một tháng Hỏi sau t tháng người đó được cả vốn và lãi là bao nhiều công thức tính: exp(ln(a)+t*lIn(E+s/ 100)) Chạy chương trình với a = 150 triệu đồng, s = 0,69 %, t= 24 tháng
3
3 Hãy in lên màn hình tất cá các ký tự của bảng mã ASCII (mã từ 0 dến 255)
bằng lệnh dạng: wziteln('65.',#65," 219 ',#219), Kết thúc chương trình tạo
50 tiếng bíp (có mã là 7)
4 Trong môi trường Turbo Pascal dé tao ky tu Mi chi cain an Alt + 2 L9 (các chữ
số gõ ở khu vực phía phải bàn phím) Lập chương trình dùng 8 lệnh writeln in lên màn hình chữ HA NÓI cỡ to bằng cách dùng ký tự trên
Š, Viết chương trình in ra giá trị các hàm lượng giác (sin, cos tang, cotang) cua một góc từ 0 đến 360 độ được nhập từ bàn phím ( póc có số đo theo số độ, số phút, số
giây)
6 Viết chương trình tính tổng các chữ số của một số có 5 chữ số Ví dụ nếu số là
73645 thi tong 1a 25