1. Trang chủ
  2. » Công Nghệ Thông Tin

Lý thuyết và bài tập pascal nâng cao

436 2,2K 14
Tài liệu được quét OCR, nội dung có thể không chính xác
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

Tiêu đề Lý thuyết và bài tập pascal nâng cao
Trường học University of Science
Chuyên ngành Mathematics
Thể loại Bài tập
Thành phố Hanoi
Định dạng
Số trang 436
Dung lượng 12,86 MB

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

Nội dung

Tài liệu " Lý thuyết và bài tập Pascal nâng cao " được biên soạn nhằm phục vụ cho học sinh trung học và sinh viên. Do đó, phần bài tập cơ bản được trình bày ngắn gọn hơn, phần lớn trình bày và giới thiệu kỹ thuật lập trình nâng cao. Trước bài giải khó đều có phần phân tích tỉ mỉ giúp các đọc giả nắm bắt được hướng giải, sau đó mới dụng ngôn ngữ pascal xây dựng các chương trình

Trang 1

DÀNH CHO HỌC SINH PHỔ THÔNG

TRUNG HỌC (CẤP tu) và SINH VIÊN

LÝ THUYẾT ĐẨY ĐỦ, TRÌNH BÀY NGẮN GỌN, DỄ HIỂU

PHU HOP CHO HQC SINH TRUNG HQC VA SINH VIÊN

BAI TAP CO HUONG DAN TUNG BUGC VA BAI TAP TY LUYỆN THEO SÁT THỰC TẾ PHAN ON TAP GỒM : CÂU HỎI LÝ THUYẾT

CÂU HỎI TRẮC NGHIỆM

BAI TAP THYC HANH

NHA XUAT BAN THONG

Trang 2

Lý thuyết và Bài tập

PASCAL nang cao

Trang 4

LỜI GIỚI THIỆU

Pascal duge xem là ngôn ngữ lập trừt cơ bản đâu tiên trong các chương trình giảng day tin học ở trường đại học 0à phổ thông trung hoc hién nay, vi tinh don gidn va dé hoc cia

né Tuy nhién, dé viét chương trình giải một bài toán bằng ngôn ngữ Pascdl, lập trình uiên không phải biết rõ ngõn ngữ nàu, mà một uêu câu không kém phần quan trọng là phải nắm được hướng giải bài toán đó

Cuốn LỤ thuyết nà Bài tập Pascal nâng cao, là một giáo trình kế tiếp cuốn Lg thuyét vd Bai tap Pascal dành cho học sinh phổ thông, nhằm phục oụ cho học sinh trung hoc va sinh uiên Do đó, phần bài tập cơ bẩn được trình bàu ngắn gọn hơn Sách dành phần lớn số trang giới thiệu kũ thuật lập trình nâng cao Cóc bài tập trình bay trong sách rất quen thuộc trong chương trình học của các em học sinh trung học va sinh uiên Trước những bài giải khó đều cô phẩn giải thích tỉ mũ, giúp các em dễ đàng nắm bắt được hưởng giải, làm quen cách phan tích bài toán, sau đó mới uận dụng ngôn ngữ Pascal xâu dựng các chương trình giải

Trang 5

Sách gỗm 10 chương Cấu trúc mỗi chương như sau:

« - Phần tóm tắt lý thuyết của chương uới nội đụng trình bàu ngắn gọn nhung đâu đủ

« _ Câu hỏi trắc nghiệm (có trả tời va giải thích}

« _ Ví dụ nà bài tập mẫu (có hướng dẫn uà giải thích

cho cdc em hoc sinh va sinh uiên bao điều mới lạ, hữu ich

Chao than di

VN-GUIDE

Trang 6

Chương 1

PHẦN CĂN BẢN

Cuốn sách này xem như bạn đọc đã xem qua cuốn Lý thuyết và Bài tập Pascal đành cho học sinh phố thông Chương trình chỉ giúp bạn ôn lại một số kiến thức cơ bản nhất, điều đó giúp bạn để đàng hơn trong việc tham khảo phần lý thuyết và bài tập nâng cao trong tập sách này

I LÝ THUYẾT

1 Những điều cần nhớ

¢ Pascal duge xây dựng với bộ ký tự gồm 26 chữ cái,

ký tự gạch nối, các chữ số, kỹ hiệu toán học, khoảng trống và một số ký hiệu đặc biệt

« Không được đặt tên biến, tên hằng, tên kiểu, tên

thủ tục trùng với các từ khóa

« Tén trong Pascal la mot day ky ty gồm chữ cái, chữ

số và gạch nối, tên phải bắt đâu bằng chữ cái, dải tối đa 127 ký tự, không được có khoắng trống

e Các chú thích trong Pascal phải được đặt giữa hai

dấu móc | } hoặc giữa (“ *)

` TH

và chỉ mgt ma thôi.

Trang 7

8 Lý thuyết và Bài tập Pascal

longint), cdc kiéu sé thue (real, single, double, extended),

kiểu kú tự (Char)

© - Trong một biểu thức, độ ưu tiên thực hiện các phép

toán được tính như sau:

Dấu ngoặc (` ) ưu tiên cao nhất NOT, - (dấu âm) tu tiên 2

*, /, DIV, MOD, AND ưu tiên 3 +, -, OR, XOR ưu tiên 4

Program Tên_ Chương trình;

Uses Crt, Graph ; { Khai báo sử dụng các unit }

{ Phân khai báo và chương trình con }

tabel ; _ { Khai báo nhãn }

Type ; 1 Định nghĩa kiểu dữ liệu mới }

Const ; { Khai báo các hằng } Vâr ; | Khai báo các biến } Procedure | Khai báo các chương trình con, thử tục và hàm ] Function

{ Phần thân chương trình }

Begin Các lệnh chương trình

END

Tuy theo chương trình, mã các phản khai báo có thể

có hay không ‘

a

Trang 8

Chương †: Phần căn bản 9

Để dịch chương trình dùng lệnh: Compile/Compile

hay nhấn tổ hợp phim Alt_F9

Để chạy chương trình, chọn lệnh Run/Run hay

nhấn tổ hợp phím Ctrl F9

Có hai chế độ hiển thị màn hình trong Pascal: chế

độ văn bản và chế độ đô họa Man hình văn bản thường có 80 cột và 25 dòng Số cột được đếm tử trái sang phải bắt đâu là 1 đến 80 Số dòng được đếm từ trên xuống dưới, bắt đầu là 1 đến 25

TRUNC{x}: Lay phan nguyên cia x

INC(X): Tang bién nguyén X lén 1 don vj.

Trang 9

10 Lý thuyết và Bài tap Pascal

Phép gán

Write( } Xuất dữ liệu ra màn hình, khơng xuống dong

Writeird } Xuất đữ liệu ra màn hình, cĩ xuống dịng

Read( ): Gán dữ liệu cho các biến

Readln

để kết thúc

Gán dữ liệu cho các biến, nhấn Enter

Delay(Time): Tạo ra thời gian trễ Time (tính bằng ms) Time là một số nguyên Delay thường được dùng để làm chậm chương trình lại cho ta xem xét, khảo sát

Sound(F): Tao ra dao động âm thanh với tản số F (F: số nguyên) cho đến khi ta gọi Nosound

InsLine: Chèn một dịng trống vão màn hình từ vị trí con trỏ

DelLine: Xĩa tồn bộ địng màn hình chứa con tr, sau đĩ dễn các đơng ở dưới lên

Exit: Nhảy vơ điều kiện ra khỏi chương trình con HaÏt: Dừng hẳn chương trình

Break: Thốt khỏi vịng lặp chứa lệnh Break

KeyPressed: Cho giá trị True khi ta nhấn một phím nào đĩ trên bản phím, và ký tự đĩ cịn năm chở trong bộ nhớ đệm của bàn phím, chưa được lấy

ra để xử lý

Int(X): Lấy phần nguyên của số thực X

Frac(X): Cho giá trị phan thập phan của số thực X

Trang 10

« Random(Number): Cho giá trị số nguyên Random, Random là một số ngẫu nhiên nằm trong khoảng 0

va Number: 0 <= Random < Number Number phải

là một số nguyên

* Upease(ch): Déi ky ty ch thanh chữ hoa

* SizeOfX): Cho biết kích thước của biến hoặc kiểu

cô tên là X (tính theo đơn vị Byte)

3 Hằng và biến

Khai báo hằng: CONST tên hằng = giá trị của hằng;

Khai bao biến: VAR tên biến : kiểu dữ liệu;

Khai báo kiểu đữ liệu mới:

TYPE = (các thành phần thuộc kiểu dữ liệu mới }›

Const phai = TRUE; ( Hing kiều Boolean {|

So = 10; { Hằng kiểu số nguyên |

Pi = 3.14; ( Hing kiéu sé thyc }

Ten ='U; { Hằng kiểu ký tự ]

Vor whet inteser: t Cie bién a & ©cdé cing kiéu integer}

Trang 11

12 Lý thuyết và Bài tập Pascat

4 Các thủ tục trong Unit Crt

Để sử dụng những thủ tục nảy, cản khai báo UNIT crt

ở đâu chương trình, với lệnh: Uses crt;

Cirscr;: Xóa toàn bộ màn hình và đưa con trỏ về góc trái trên

CtrEol: Xóa các ký tự nằm bên phải con trồ

Gotoxu();: Đặt con trổ tới tọa độ x, y của màn hình (x: tọa độ cột từ 1 — 80, y: tọa độ hàng từ 1 > 25)

.TextColor(Color);: Định màu cho văn bản (với Color

có giá trị từ O 15)

TextBackGround(Color):: Đặt màu nền của văn ban NormVideo;: Định độ sáng bình thường

LowVideo;: Dinh độ sáng yếu di

WhereX;: Tọa độ cột con trồ màn hình hiện hành

WhereY:: Tọa độ hàng con trồ màn hình hiện hành Readikeu:: Đọc một ký tự từ bàn phím vào biến KeuPressed:: Cho giá trị True nếu bân phím cớ chứa

ky tự gô vào mà chưa được lấy ra xử lý False nếu không có ký tự gõ vào

Mách nước

Color + Blink : ta được màu chữ nhấp nháy

Trang 12

Chương 1: Phần căn bản 18

Vi dụ:

ORD(a) = 97, ORD(9) = 57, CHR68) = 'A',

CHR(49) = 1, PRED(c) = 'B, SUCC(c) = 'đ, #65 = 'A,

ABS(-9) = 9, SQR(3) = 9, SQRT(16) = 4 ROUND(5.78) = 6, ROUND(5.48) = 5, ROUND(-5.78) = -6 , TRUNG(3.9) = 3

Trang 13

14 Lý thuyết và Bài tập Pascal

Trang 14

Chương 1: Phần căn bản 15

Uses crt; { Sử dụng Unit crt }

Label vitri1; { Khai báo nhân }

Var x : integer ; { Khai bdo bién x }

Lập trình viên nên tránh dùng GOTO, đặc biệt không được

dùng GOTO để nhảy vào chương trình con, mặc dù có thể

dung GOTO từ chương trình con để nhảy ra ngoài

6 Các kiểu dữ liệu có cấu trúc

a Kiểu mảng

© Khai báo biến kiểu mắng một chiều:

Cách 1: Định nghĩa kiểu mắng trước khi khai báo biến Type <tén kiểu mảng» = ARRAY[chi số đầu chỉ số cuối] of <kiểu phần tử»;

Var <bién mang> : <tén kiéu mang>;

Trang 15

18 Lý thuyết và Bài tập Pascal

Vi du:

Type mang = ARRAY{1 5] of Integer;

Var A: mang: { Khai báo biến mảng A gồm 5 phần tử ]

Cách 2: Khai báo trực tiếp biến mang

Var <bién mang> : ARRAY {chi sé dau chi sé cuối] of

<kiểu phần tử»;

Var A: ARRAY[1 5] of Integer;

¢ Khai bdo bién mang hai chiều vả nhiều chiêu:

Var biến : ARRAYT' 1 hàng,1 cột] of kiểu;

Var bién: ARRAY{[1 k1,1 K , 1 Kn] of kiểu;

b Kiểu record

Khai báo kiểu Record:

Type <Tén kiéu> = Record

«<T6n truéng 1> : <Kiéu 1>;

<Tên trưởng 2> : <Kiéu 2>;

Case <Tên trường N» : <Kiéu> Of

<Trường hợp 1» : (<Tên trường» : «Kiẩu»J;

<Trường hợp k> : (<Tên trường» : <Kiéu>);

End;

Trang 16

Chương 1: Phần căn bản 17

Ví dụ: Tạo Record mô tả thông tin nhân viên gồm họ tên, địa chỉ, ngày sinh giới tính, nghề nghiệp Trong đó:

« Nếu là kỹ sư thì ghi rõ ngành và trình độ học vấn

« - Nếu là công nhãn thì ghi rõ ngành va bậc thợ

« - Nếu là nhan viên quản lý thì ghi rõ chức vụ

Type Nghe = (Kysu, Quanly, Congnhan);

Bactho : 1 7); End;

Var nguõi : nhanvien;

« - Để truy xuất giá trị một trường của Record, ta phai đùng tên biển kiểu Record, sau đó là đấu chấm và tên trường của Record hoặc dùng lệnh With Do:

Cú pháp: <Tên biến record>.<Tên trưởng>

Hay With <Tên biển record> Do

Begin

<Tén trudng>

End;

Trang 17

18 Lý thuyết và Bài tập Pascal

c Kiểu File

Trong Pascal định nghĩa sản ba kiểu File: File văn bản

(Text) File record (File of record) va File vat ly (File)

Khai báo các biến File kiểu văn bản:

Var <Tén bién> : Text;

Khai báo các biến File kiểu Record:

Var <Tén bién> : File of «Kiểu record»;

Khai bao bién File vat ly:

Var <Tén bién> : File;

Hay Var <Tén bién> : File of «Kiểu phần tử»;

Type Date = Record

Ngay: 1 31;

Thang : 1 12;

Nam : integer;

End;

Var FT : File Oí Date;

Var F1 : File of Integer; ( Khai báo biến File kiéu Integer }

Var F2 : File of Real; { Khai báo biến File kiểu Real}

Var F3 : File of Boolean; { Khai báo biến File kiểu Boolean }

Var F4 : File of Char; { Khai báo biến File kiểu Char }

Var F5 : File of ARRAY([1 501 of Byte;

{ Khai báo biến File kiểu mang 50 phần tử kiểu Byte }

Var F : File; { Khai báo biến File không định kiểu }

Trang 18

Chương 1: Phần căn bản 19

Các lệnh xử lý File (với F1 là biến kiểu File):

Assign(F1, <Tên tập tin>);: Gán tên File vào biến Reurite(F1);: Mỡ File mới để ghi vào

'WriteLn(F1,<danh sách biến»); Ghi dữ liệu từ biến

vào File, xong có thẽếm dấu hết dòng vào File

Close(F1);: Đóng File

Flush{F1);: Cập nhật lên File

EOF(F1); Có giá trị TRUE khi con trỏ ở cuối File EOLn{F1);: C6 gid tri TRUE khi con tré ở sau ký tự cuối cùng của một đông (File văn bản)

SeekEOƒffL);: Kiểm tra EOF, có bỏ qua các dấu cach Space, Tab va đấu cách đông (File văn bản) SeekEOLn(FU:;: Kiếm tra EOLn, có bỏ qua các dấu

cach Space va Tab (File van ban)

FileSize(F1);; Cho biét sé Record trong tap tin kiéu Record

Trang 19

20 Lý thuyết và Bài tập Pascal

»© - FflePos(FU;: Cho biết vị trí hiện hành của con trỏ

File đang ở Record nào (tính từ O, nghĩa là nếu con trỏ File đang ở Record đầu tiên, FilePos(F1) sẽ trả

vẽ giá trị 0)

»© Seek(F1,n);: Đưa con trỏ File đến cuối Record thứ n

* ErasefF1);: Xéa file, khong duge x6a mot file dang md

» Rename(F1,ten mới: Đổi tên file F1 thành tên

mới, không được đổi tên file đang mở

7 Các kiểu dữ liệu do người dùng định nghĩa

a Kiểu liệt kê

Khai báo kiểu, biến và phép gan:

Type <Ténkiéu> = (Hằng 1, Hằng 2, Hằng n); Var «Tên biến> : (Hằng 1, Hang 2, , Hang n);

b Kiểu miễn con

Khai báo kiểu, biến và phép gan:

Type <Tén kiéu> = Giá trị đầu Giá trị cuối;

Var <Tên biến» : Giá trị đầu Giá trị cuối;

`

e Kiểu tập hợp

Khai báo kiểu, biến và phép gân:

Type <Ténkiéu> = Set Of <Kiểu thứ tự»;

Var <Tên biến> : Set OF «Kiểu thứ tự»;

Trang 20

Chương 1: Phần căn bản 21

8 Kiểu chuỗi

Khai báo biến chuỗi:

Var <iên biến> : String[độ dài cực đại];

Ví dụ: Var s : String|20|;

{ Khai báo biến chuỗi s chứa 20 ký tự là nhiều nhất }

Các hàm xử lý chuỗi:

1ength(s} Độ dài thực tế của chuỗi s

Conedt(s1,s2, ,sn): Nối các chuỗi sl, s2, , sn thành một chuỗi mới

Pos(chuỗi con, chuỗi cha}: Cho biết vị trí đầu tiên tìm thấy chuỗi con trong chuỗi cha nếu không tìm thấy trả lại giá trị 0

Copy(s,pos,size): Lấy size kỹ tự trong chuỗi s từ vị trí Pos

Val(s,so,code} Đối chuỗi s thành một số nguyên

va gan cho biến so, nếu phép biến đổi là đúng thì code có giá trị là O, ngược lại code sẽ có giá trị bằng vị trí của ký tự sai trong chuỗi s

Str(Vatue, s} Đối giá trị số nguyên Value thành chuỗi số s

Delete(s,pos,numj: Xóa num ký tự kể từ vị trí pos

trong chuỗi s

Inserts2,s,pos} Chèn vào chuỗi s nội dung chuỗi s2 kể từ vị trí pos

Trang 21

22 Ly thuyét va Bai tap Pascal

« Khi so sánh hai chuỗi, các ký tự của hai chuỗi được

So sánh từng cặp một từ trái qua phải theo giá trị thứ tự trong bảng mã ASCII,

Vi du: ‘A’ <'B', nén ‘LAMA’ < ‘LAMB’

9 Chương trình con

Trong Pascal có hai loại chương trình con, đó là

Procedure {thi tue) vA Function (ham)

« Thủ tục là các chương trình con không có trị trả vẻ

* Ham là một đoạn chương trình con sau khi thực hiện xong, trả lại chương trình gọi một trị,

« Khai báo thủ tục:

Procedure Tên _thủ_tục(Khai báo các tham số);

{ Khải báo Label, Const, Type, Var của riéng chương trình con } Begin

{ Các lệnh trong thân chương trình con }

End;

«© - Gọi một thủ tục: Tên _thủ tục(biến 1, ., biến n);

* Khai bao ham:

Function Tén_ham(Khai báo các tham số): Kiểu dữ liệu trả về; { Khai báo Label, Const, Type, Var của riêng chương trình con } Begin “

{ Các lệnh trong thân chương trình con }

Tén_ham := Giá trị muốn trả về;

End;

¢ Goi mot ham: Bién := Tên hàm(biến 1, , biến n)

Trang 22

Chương 1: Phần căn bản 23

e Bién toan cục là biến được khai báo trong chương trình chính Các biến này có thể được dùng ở mọi nơi trong chương trình

« Biến cục bộ là biến được khai báo trong chương

trình con Các biến cục bộ chỉ có tác dụng trong phạm vi chương trình con đó mà thôi Khi chương

trình con kết thúc thì những biển này cũng mất tác dụng theo

* C6 hai cách chuyển tham số cho chương trình con: tham trị và tham biến

— Với tham biến: Khai báo tham số phải được

đặt sau tử khóa Var

- Với tham trị: Khai báo tham số không có từ khóa Var

e Chương trình con đệ qui: Là chương trình con gọi lại chính nó Một chương trình con đệ qui phải có điểm dừng Vì vậy, khi viết nó cân chú ý đến điều kiện kết thúc chương trình con

Trang 23

24 Ly thuyét va Bai tap Pascal

Ta viết chương trình đệ qui sau:

Function giaithua(n:integer) : integer;

Begin

If n=O then Giaithua :=1 Else giaithua : = giaithua(n-1) * n;

End;

»® Unit: Nơi chứa một số đoạn chương trình được lặp

đi lặp lại trong nhiễu chương trình khác nhau

Uses <Tén cdc Unit khac can ding trong Unit nay>;

Type { Khai bao kiéu }

{ Khai báo hang }

Vật ¡ { Khai báo biến J

{ Khai báo tên các Procedure }

Trang 24

<Tên Unit> nên đặt chung với tên File, Sau khi dich, Pascal

sẽ tạo File cùng tên, nhưng có phần mở rộng là TPU Ví dụ nếu bạn muốn tạo Unit EXAM, thì đặt tên File soạn thảo các lệnh Unit cũng là EXAM.PAS và File Unit sau khi dịch là

1 a, ARRAY b ABS c STRING STR

2.a VAR b VALUE c.VAL d WITH

3 a BEGIN b END c UF d GOTO

4 a SUB b FUNCTION ec VAR d PROCEDURE

5 a DIV b INTEGER c INT d, REAL Bài 1.2 Khi cân đếm 1 số từ 1 đến 10 đùng kiểu dữ liệu

nào là tốt nhất:

a BOOLEAN b.CHAR c.INTEGER d BYTE

Trang 25

26 Ly thuyét va Bai tap Pascal

b : byte;

C: real;

Hãy cho biết các câu lệnh gán sau, câu lệnh nào

là không hợp lệ? Tại sao?

Trang 26

* Số ngày công - BHXH

Với BHXH là số tiền phải đóng báo hiểm bằng

2% lương thực lãnh Tỉ giá bằng 14600

Viết chương trình tìm các số nguyên dương a b,

e, đ (trong khoảng từ 1 đến 30) sao cho:

1 1 1 1 + + >=

l+a 1+b l+c 3

In tích của các số đó (A x B x C x D)

Trang 27

28 Lý thuyết và Bài tập Pascal

Bài 1.8 Viết chương trình cho biết biểu thức

11 1

favpeof tots >=9

a be luôn đúng với mọi giá trị a, b, c trong khoảng [1, 40]

Bài 1.9 Viết chương trình cho biết biểu thức (a + b + of

<= 9bc luôn đúng với mọi giá trị a, b, c trong

khoảng [1, 30] và a <= b <= c

Bài 1.10, Viết chương trình nhập một tam thức bậc hai có

dang: P(x) = AX? + BX + C Dimg menu dé cho

phép chọn một trong hai công việc sau:

a Xem nghiệm của bất phương trình: AX?+ BX + C > 0

b Xem bảng xét dấu của tam thức đó

Bài 1.11 Viết chương trình tìm giả trị lớn nhất và bé nhất

của hảm số:

X'+X-2

Y= TT

2X" -X+3

Với x là các số kiểu integer

Bài 1.12 Viết chương trình tim x, y, z dé trị tuyệt đối của

X+Y+2+4 xy + xz + yz C6 giá trị cực đại Với x,

y z là các số nguyên trong khoảng -50 đến 50 Bài 1.13 Viết chương trình nhập vào hai dây số thực n

phan tt Tinh va in ra day tổng của hai dãy số

‹ đã nhập

Bài 1.14 Viết chương trình có menu cho phép chọn để

thực hiện một trong những công việc sau:

Trang 28

Chương 1: Phan căn bản 29

1 Nhận một phím rồi thông báo lên màn hình

số thứ tự trong bảng mã ASCII của ky ty ứng với phím đó và biểu diễn của nó trong bộ nhớ

Ví dụ: A mã 65, biểu diễn trong bộ nhớ là

01000001 (8 ký số 0 1 - hệ nhị phân)

9 Yêu cầu nhập một số nguyên từ bàn phím (có

giá trị từ 31 đến 255), thông báo lên mản

Bài 1.15 Viết chương trình nhập vào một số nguyên n

(0 <n < 10), xuất ra kết quả tam giác Pascal:

Bài 1.16 chương trình có menu cho phép chọn để

thực hiện một trong những công việc sau:

a Nhập hai đãy ký tự a và b, mỗi dãy nhận tối

đa 9 ký tự

b Nếu cả hai đãy đêu cho tương ứng với hai giá trị là số nguyên thi xuất ra màn hình kết quả của phép so sánh hai số a < b, đồng thời ghi

Trang 29

30 Lý thuyết và Bài tập Pascal

ra kết quả của các phép cộng và trữ hai số đó Ngược lại thì xuất ra màản hình kết quả của phép so sánh a < b và một chuỗi ký tự là ghép nối của hai chuỗi ký tự đó

Bài 1.17 Viết chương trình tính gản đúng giá trị của Ln(x),

Ø<x<2 Với sai số ss = 0.001, bằng cách bỏ ởi

Bài 1.18 Viết chương trình nhập một dãy số thực n phan

tứ, In ra các trị khác nhau trong đây số đã nhập

Vidu: n= 5, all} = 1.5, af2] = 4.5, al3] = 5.6,

al4] = 4.5, al5} = 6.7 thi in ra 1.5 4.5 5.6 6.7 Bài 1.19 Viết chương trình nhập một ma trận vuông NxÑ

các số nguyên Sau đó ín ra các đường chếo có phương của đường chéo chính

Ví dụ; N = 3 và ma trận nhập lả:

1 2 3

4 5 6

7 8 9 thiin ra: 3 a[1,3]

a[1,2| a[2,31

1 5 9 a[1,1] a{2.2] a[3,3]

a{2,1] al3,2]

Trang 30

Chương †: Phần căn bản 31

Bài 1.20 Viết chương trình quản lý nhân viên của một cơ

quan, thong tin can nhập cho mỗi nhân viên gồm tên, tuổi và tỉnh trạng gia đình (cho biết đã có gia đình hay chưa) Sau đó in ra đanh sách các nhân viên đã có gia đình trong cơ quan Biết rằng số nhân viên trong cơ quan tối đa là 100

người

Bài 1.21 Viết chương trình quản lý sinh viên Thông

thường sau mỗi học kỳ, kết quả học tập của sinh viên được phân thành năm hạng: giỏi, khá trung bình khả, trung bình và kém Thông tin cân lưu

vẻ mỗi sinh viên gồm: tên, năm sinh, điểm trung bình Ngoài ra:

« Sinh viên xếp loại giỏi và khá thì lưu thêm

hình thức khen thưởng và mức học bổng sẽ được lãnh trong học kỳ tới Trong đó, sinh viên loại giỏi được học bổng 100000, loại khá 50000

« Binh viên xếp loại trung bình khá sẽ không thêm thông tin gì cả,

« - Sinh viên xếp loại trung bình thì lưu thêm mức học phí phải đóng trong học kỳ tới là 200000

e - Sinh viên xếp loại kém sẽ lưu lời phê bình và cho biết sinh viên đó phải ở lại lớp (nếu điểm trung bình >= 2) hoặc nghỉ học luôn (điểm

Trang 31

32 Lý thuyết và Bài tập Pascal

Bài 1.22

Bài 1.23

Nếu 1O >= điểm trung binh>= 8 : Giỏi

Nếu 8 > điểm trung bình >=7 : Kha

Nếu 7 > điểm trung bình >= 6.5 : Trưng bình kha Nếu 6.5 > điểm trung bình »=5_ : Trung bình Nếu 5 > điểm trung bình »z0 : Kém

Viết chương trình quần lý học viên ở các lớp dao tạo tin học ngắn hạn của một trường đại học Mỗi học viên đăng ký cẩn lưu tên, số điện thoại, lớp ngắn hạn đã đăng ký, học phí qui định Riêng đối với những học viên là sinh viên của trường sẽ được giảm học phí như sau:

e Với sinh viên học hệ chỉnh qui: Nếu kết quả học tập của học kỳ gân nhất đạt loại giỏi sẽ được giảm 50% học phí Ngược lại được giảm

10% học phi

« Với sinh viên học hệ tại chức: Nếu là sinh viên năm 3 trở đi chỉ được giảm 5% học phí, ngược lại sẻ được giảm 10% hoc phi

Sau khi nhập xong, ín ra danh sách các học viên

lâ sinh viên của trường đã theo học những lớp ngắn hạn

Viết chương trình cho phép nhập họ tên và điểm bốn môn thi tốt nghiệp phổ thông trung học gồm

Toán, Anh Văn, Lý, Văn của tối đa 50 học sinh

Tính tổng điểm bốn môn của từng học sinh Sau

đô in kết quả ra màn hình Thể hiện chương trình nhập và ín hỗ sơ học sinh dưới dạng menu ngay giữa màn hình như sau:

Trang 32

Bài 1.24

Bài 1.25

Chương 1: Phần căn bản 33

Quan Ly Diem hoc sinh

1 Nhap ket qua thi

2 In danh sach hoc sinh

3 Thoat

Chon :

Khi người dùng nhập 1, chương trình sẽ thực hiện việc nhập họ tên, điểm Toán, Anh Van, Ly, Văn và tự tính tổng điểm bốn môn cho học sinh vừa được nhập Kết quả lưu vào phản tử thứ n, của biến mảng sohs gồm 50 phan tit, méi phan

tử mảng có kiểu record hocsinh

Viết chương trình quản lý sách tại một thư viện, thông tin mỗi cuốn sách cản nhập gồm tên sách, tên tác giả, năm xuất bản và tên người đang mượn sách Sách nhập được lưu vào tap tin sach.dat Chương trình có menu như sau:

Chuong trinh quan ly sach thu vien

1 Nhap sach moi

2 Sach chua co nguoi muon

3 Theat

Khi chọn 2, chương trình sẽ in ra danh sách các

cuốn sách đã nhập nhưng chưa có người muợn Viết chương trình có menu như sau:

Chương trình quản lý File

1 Nhập dãy số nguyên (nhập vào n số nguyên và

`

Trang 33

3 +ỷ:thuýết và'Bài tập Paseal

2 Chèn một số vào dãy (thêm số mới vào cuối day)

3 Tìm và xóa số trong day (tim cdc phan ti trong đây có giá trị bằng với số được nhập thì loại bổ những phản tử đó khôi day}

4 In dãy số (đọc lại và xuất ra màn hình các số

đã lưu trong DAYSO.DAT)

5 Thoát

- Viết chương trình quản lý học viên ở các lớp đào

¡ tạo tin học ngắn hạn của một trường đại học Mỗi học viên đăng ký cần lưu tên, số điện thoại, lớp ngắn hạn đã đăng ký, học phí qui định

(90D! Riêng đổi với những học viên là sình viên của

Bare ' trường sẽ được giảm học phí như sau:

¢ Với sinh viên học hệ chính qui: Nếu kết quả học tập của học kỳ gần nhất đạt loại giỏi sẽ được giảm 50% học phí Ngược lại được giảm 10% hoc phi:

¢ Với sinh viên học hệ tại chức: Nếu là sinh viên năm 3 trở đi chỉ được giầm 5% học phí,

ngược lại sẽ được giảm ]0% học phí

Trang 34

Bai 1.27

Bai 1.28

Bài 1.28

Bai 1.30

Chương 1: Phần căn ban 35

Chương trình quản lý học viên các lớp ngắn hạn

Viết chương trình khai triển nhị thức Newton (a+b)? = Xa 0C,*A"*BÈ, trong đó: Cạt = n! / (lín-k))

Hãy viết chương trình nhập hai ma trận vuông A,

B cấp nxn (n >= 2) có các số hạng là những số nguyên (với n >= 2 và được nhập từ ban phim)

In ra man hình:

+ Ma tran téng C = A+B

+ Ma trận tich D= Ax B

Viết chương trình có menu thực hiện các việc sau:

a Nhập vào một dây các số nguyên, sắp xếp và

in ra day tang dan

b Nhập vào một số nguyên và chén vào dãy da sắp xếp sao cho vẫn bảo đảm tính thứ tự

e Nhập vào một số nguyên tìm kiếm nếu thấy trong dãy thì loại bổ khỏi đãy

Trang 35

38 {ý thuyết và Bài tập Pascal

II BÀI GIẢI

8 Sai vi MOD không áp dụng với số thực

h Sai vì DIV không áp dụng với số thực

Trang 36

Chương 1: Phan căn bản 37

a Đúng vì 255 nằm trong vùng số nguyên kiểu Byte

Sai vì 46000 vượt ra ngoài giới hạn số Integer

Sai vi 256 không nằm trong vùng số nguyên kiểu Byte

Sai vì kết quả biểu thức b + c (giá trị nguyên + giá trị

thực) là một số thực không thể gân cho biến nguyên a Đúng vi mọi giá trị của b + 100 đều nằm trong phạm

vi kiểu Integer

Đúng vi tổng hai số nguyên a + b là một số nguyên, có thể gán được cho biến thực

„Đúng vì Round(3.14)=3 là một giá trị nguyên

Đúng vì Trunc(9.5)=9 là một giá trị nguyên

Sai vì Trunc(314.3)=314 vượt ra ngoài phạm vi kiểu

Byte, nên không thể gán cho biến b

Sai vì kết quả 8/5 =1.6 là một số thực, không thể gán

cho một biến nguyên kiểu Byte.

Trang 37

38 Ly thuyét va Bal tap Pascal

số thực

Công thức tỉnh lương, thay vì ghi:

luong = ({bI"*tigia+phucap) “ngaycong/26} —(((bI*tigia+phucap) * ngaycong/26)*2/100)

write(‘Nhap so ngay cong : ');

readln(ngaycong); { Chờ nhập số ngày công } write(‘Nhap tien phu cap : '};

readIn(phucap); { Chờ nhập số tiền phụ cấp } luong := ((bl*tigiarphucap)*ngaycong/26)*0.98;_ { Tính lương }

Trang 38

+ Gương 1+ Phần căn bản 39

writelnf'Ket qua luong : !,luong:8:0); “

1n lương, cắt bỗ phần lẻ thập'phân ) readIn; { Đợi phím bất kỳ để kết thúc chương trình }

Trang 39

40 Lý thuyết và Bài tập Pascal

Trang 40

Dấu của tam thức bậc hai được xét như sau (a <> 0):

- Delta < 0 : aF{x) >0 véi mọi x

- Delta = 0 : aF(x) >=0 với mọi x

— Delta > 0 va a> 0, F(x) > 0 với x < xl và x > x2, và

F(x) < 0 với x1 < x < x2, trong đó x1 < x2

Ngày đăng: 03/12/2013, 09:55

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w