Tải bản đầy đủ (.doc) (9 trang)

các bài tập đặc trưng trong pascal

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (129.06 KB, 9 trang )

Giảng viên: Cao Ngọc Ánh - Tổ KTMT – Khoa Công nghệ thông tin
Bài tập chương 10
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 yêu cầu người sử dụng nhập một mật mã từ bàn phím và so sánh
mật mã đó với mật mã được lưu trong máy. Nếu mật mã đúng thì in ra dòng chữ
“CHAO MUNG”, nếu sai thì thoát khỏi chương trình
3. 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ố trong phạm
vi từ 1 đến N
4. 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.
5 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ố đó. Sử
dụng thuật giải tìm số lớn nhất trong 2 số làm chương trình con.
6. 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)
(trang 1)
Giảng viên: Cao Ngọc Ánh - Tổ KTMT – Khoa Công nghệ thông tin
Bài tập chương 11
1. Trình bày khái niệm tên trong Pascal. Số ký tự của tên tối đa là bao nhiêu?
2 Đánh dấu vào các tên không hợp lệ trong số các tên dưới đây:
a. BEGIN
b. TrinhCon
c. 3_so
d. Lon-nhat


e. So_Lon_Nhat
3. Trình bày sự khác nhau giữa từ khóa và từ chuẩn, tên chuẩn.
4. Thế nào là tên chương trình (tiêu đề chương trình). Nếu không đặt tên thì có
ảnh hưởng gì đến kết quả chương trình không?
5. Đánh dấu vào kiểu không đếm được trong các kiểu dữ liệu sau:
a. Các số thực nằm giữa 1.0 và 2.0
b. Các số nguyên trong miền 1 200
c. Phạm vi các chữ cái thường từ ‘a’ đến ‘f’
d. Trong phần khai báo TYPE: Weekdays=(Mon, Tue, Wed, Thu, Fri, Sat)
6. Đánh dấu số không khai báo được theo kiểu Word trong các số dưới đây:
a. 12345
b. 716533
c. -72745
d. 34567
7. Đánh dấu vào các số không khai báo được theo kiểu Byte trong các số dưới
đây:
a. -32890
b. 0
c. 0 255
(trang 2)
Giảng viên: Cao Ngọc Ánh - Tổ KTMT – Khoa Công nghệ thông tin
d. 0 65535
8. Biết rằng SUCC(n)=5. Hỏi giá trị của ODD(n) bằng bao nhiêu?
9. Biết rằng round(x)=trunc(x)-1. Hỏi x có phải là số dương không?
10. Tính giá trị của các biểu thức dưới đây:
a. (‘d’>‘g’) and (18 div 4 * 4 >125) =
b. (True<False) or (‘a’ <‘c’) =
c. round(-72.315)=
11. 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;

12. 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?
13. 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
14. 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
15. 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?
16. 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?
17. 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
18. 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?
19. 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)
20. 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?
(trang 3)
Giảng viên: Cao Ngọc Ánh - Tổ KTMT – Khoa Công nghệ thông tin
Bài tập chương 12
1. Kết quả thể hiện trên màn hình như thế nào sau các lệnh sau:
I:=2.00; Writeln(i);
2. Biết rằng biến i được khai báo kiểu integer. Hãy viết kết quả được thể hiện trên
màn hình sau các lệnh:
I:=3; Write (i); Readln; Write(i+3);
3. Biết rằng biến i được khai báo kiểu real và i:=3. Hỏi có bao nhiêu ký tự trắng
được sử dụng trong biểu diễn của i với lệnh Write(i:10:2);
4. Biết rằng i:=3.4. Hỏi lệnh Writeln(i:5) sẽ thể hiện giá trị của biến i trên màn
hình như thế nào?

5. Biết rằng i:=FALSE. Hỏi có bao nhiêu ký tự trắng được sử dụng trong biểu
diễn của i với lệnh Write(i:8);
6. Kết quả thể hiện trên màn hình như thế nào sau các lệnh:
Write(‘18+12’); Write(18+12);
7. Kết quả thể hiện trên màn hình như thế nào sau lệnh:
Write(4/2);
8. Toạ độ con trỏ là bao nhiêu khi thực hiện xong các lệnh sau:
Gotoxy(12,10); Write(‘123’); Readln; Writeln(‘123’);
9. Toạ độ con trỏ là bao nhiêu khi thực hiện xong các lệnh sau:
Gotoxy(5,5); Write(‘123’); ClrScr;Readln; Writeln(‘123’);
10. Viết chương trình tính lương của một nhân viên.
Yêu cầu: Nhập vào mức lương cơ bản của nhân viên, số ngày nghỉ làm việc trong
tháng. In ra tiền lương của nhân viên đó, biết rằng:
Tiền lương = Lương + Phụ cấp
Lương = (Lương hệ số+Phụ cấp)*(26-số ngày nghỉ)
Lương hệ số = Mức lương cơ bản * 22500
Phụ cấp = Lương hệ số * 10%
(trang 4)
Giảng viên: Cao Ngọc Ánh - Tổ KTMT – Khoa Công nghệ thông tin
11. Khi gửi tiền ở ngân hàng, người gửi được hưởng lãi suất lũy tiến nếu không
lấy lãi từng tháng. Viết chương trình để tìm số tiền được lĩnh sau N tháng gửi với T
đồng gửi lúc đầu và lãi suất là h% một tháng
12. Viết chương trình đọc vào tên mặt hàng, đơn vị tính, đơn giá, số lượng. Tính
thành tiền theo công thức: thành tiền = đơn giá * số lượng.
Sau đó đưa dữ liệu ra màn hình theo bảng sau:
=========================================================
! Ten hang ! Don vi ! Don gia ! So luong ! Thanh tien !
! ! ! ! ! !
! ! ! ! ! !
! ! ! ! ! !

=========================================================

(trang 5)
Giảng viên: Cao Ngọc Ánh - Tổ KTMT – Khoa Công nghệ thông tin
Bài tập chương 13
1. Viết chương trình nhập họ tên, chỉ số điện tiêu thụ và tính tiền điện cho khách
hàng theo qui định sau:
- Định mức tiêu thụ 80KW/tháng
- Trong phạm vi định mức thì lấy giá 200 đ/KW
- Số KW vượt định mức thì tính 350đ/KW
2. Viết chương trình nhập vào 3 số. In ra số lớn nhất và số nhỏ nhất trong 3 số
này.
3. Viết chương trình nhập 3 số a, b, c. Giải phương trình ax+b=c
4. Viết chương trình giải phương trình bậc hai: ax
2
+ bx + c=0
5. Viết chương trình nhập vào một số tiền Việt và tỷ giá quy đổi ra USD. In ra
màn hình số lượng USD tương ứng với số tiền đã nhập.
6. Viết chương trình nhập điểm cho một sinh viên gồm 3 môn Toán, Lý, Hóa.
Tính điểm trung bình (TB) của sinh viên này và in ra:
- " Xuất sắc" nếu điểm TB>=9
- " Giỏi" nếu 8<=TB<9
-"Khá" nếu 6.5<=TB<8
-"Trung bình" nếu 5<=TB<6.5
-"yếu" nếu điểm TB<5
7. Biết rằng S1 là một biến được khai báo như sau:
Var S1: (Chủ nhật, Hai, Ba, Tư, Năm, Sáu, Bảy);
Hỏi S1 thuộc kiểu gì?
8. Cho kiểu liệt kê Week=(Sun, Mon,Tue, Wed, Thu, Fri, Sat).
a. Tính giá trị của biểu thức (ORD(Mon)=2)

b. Tính giá trị của biểu thức Pred(Mon)
c. Tính giá trị của biểu thức Succ(Wed)
9. Biết rằng trong chương trình có sử dụng hàm Pred(n). Hãy xác định tất cả các
kiểu có thể khai báo cho n.
10. 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
11. Viết chương trình nhập vào một số nguyên dương n và in ra màn hình tất cả
các ước số của nó.
12. Viết chương trình nhập một số nguyên dương h và in ra 3 hình tam giác cân
có chiều cao h như sau:
* * *
*** *** * *
***** * * * * *
******* * * * *******
(trang 6)
Giảng viên: Cao Ngọc Ánh - Tổ KTMT – Khoa Công nghệ thông tin
13. Viết chương trình nhập vào một số nguyên dương N và in ra tất cả các số
chính phương trong phạm vi N, các số lẻ trong phạm vi N, các số chẵn trong phạm vi
N
14. Viết chương trình in ra màn hình các số từ 0 đến 99 theo qui cách mỗi số
chiếm 2 chỗ, giữa các số có dấu cách và in ra theo mẫu sau:
0 1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16 17 18 19
20 21 22 23 24 25 26 27 28 29
30 31 32 33 34 35 36 37 38 39

90 91 92 93 94 95 96 97 98 99
15. Viết chương trình nhập vào các số thực cho đến khi số 0 được nhập vào và
cho biết:
a. Số phần tử đã nhập

b. Tổng của các phần tử đã nhập
c. Giá trị lớn nhất
d. Giá trị nhỏ nhất
16. Viết chương trình tính tổ hợp chập j của n phần tử:
C
n
j n j
n
j
=
× −
!
! ( )!
17. Viết chương trình tính các biểu thức sau:
a. S=1+3+5+ +2n-1
b. S=2+4+6+ +2n
c. S=1+1/2+1/3+ +1/n
18. Viết chương trình in ra màn hình tất cả các số có 4 chữ số abcd thỏa mãn
a+b=c+d
19. Viết chương trình tìm tất cả các phương án trả tiền cho một số tiền cho trước
(số tiền này nhập từ bàn phím). Biết rằng trong kho hiện đang có các loại giấy bạc
5000, 2000, 1000, 10000, 20000.
(trang 7)
Giảng viên: Cao Ngọc Ánh - Tổ KTMT – Khoa Công nghệ thông tin
Bài tập chương 14
1. Viết chương trình nhập một dãy gồm N ký tự. In ra màn hình theo thứ tự
ngược lại với thứ tự nhập.
2. Cho mảng A có n phần tử nguyên (n: hằng số). Viết chương trình xây dựng lại
mảng A theo yêu cầu sau:
A(1) = Min A(i) i=1, ,n

A(2) = Max A(i)
A(3) >=A(4) >=A(5)>= >=A(n)
3. Cho mảng A có n phần tử là những giá trị nguyên (n: hằng số). Viết chương
trình để
- Tính trung bình cộng các phần tử dương trong mảng
- Sắp xếp mảng theo thứ tự giảm dần
4. Viết chương trình nhập vào một dãy gồm n số nguyên. In ra màn hình:
- Một dòng gồm các số lẻ của dãy
- Một dòng gồm các số chẵn của dãy
- Một dòng gồm các số >=100 của dãy
- Một dòng gồm các số <100 của dãy.
5. Viết chương trình nhập một dãy n số nguyên (n: hằng số). In ra màn hình các
giá trị khác nhau của dãy số này.
Ví dụ: - Nhập vào 5 20 15 5 20 17
In ra: 5 20 15 17
6. Viết chương trình để chèn một số nguyên nhập từ bàn phím vào một dãy các số
nguyên đã sắp xếp theo thứ tự tăng dần sao cho vẫn giữ nguyên thứ tự sắp xếp của
chúng.
7. Cho một dãy gồm n số nguyên dương có 3 chữ số, hãy sắp xếp dãy theo thứ tự
tăng dần của chữ số hàng đơn vị; hàng đơn vị bằng nhau thì sắp xếp theo thứ tự tăng
dần của hàng chục; hàng đơn vị và hàng chục bằng nhau thì sắp theo thứ tự tăng dần
của hàng trăm.
8. Cho 2 mảng A, B đã được sắp xếp theo thứ tự tăng dần. Hãy trộn hai mảng đó lại với
nhau để có mảng thứ 3 là mảng C với điều kiện mảng C cũng được sắp xếp theo thứ tự tăng
dần ngay sau khi đã sắp xếp
(trang 8)
Giảng viên: Cao Ngọc Ánh - Tổ KTMT – Khoa Công nghệ thông tin
Bài tập chương 15
1. Biết rằng các biến St1, St2, St3 được khai báo như sau
Var St1, St2, St3:String[12]

Tính giá trị của ST3 sau khi thực hiện các lệnh sau:
St1:=‘KIEM TRA’; St2:=‘PASCAL’; St3:=St1+St2 ;
2. Tính giá trị của S (với S có kiểu String) sau khi thực hiện các lệnh dưới đây:
S:=‘F la mot so nguyen to’;
Delete(S,3,5);
3. Viết chương trình nhập vào 10 chuỗi ký tự. In ra chuỗi có chiều dài dài nhất,
chuỗi có chiều dài ngắn nhất
4. Viết chương trình nhập vào một chuỗi và in ra màn hình chuỗi đó theo từng
dạng sau:
Ví dụ: Nhập vào chuỗi 'Toi di hoc'
a. In ra dạng b. In ra dạng c. In ra dạng
T T T
TO TO TO
TOI TOI TOI

TOI DI HOC TOI DI HOC TOI DI HOC
5. Viết chương trình nhập vào một chuỗi gồm nhiều từ cách nhau bởi dấu cách.
In ra từng từ một của chuỗi đó, mỗi từ in trên một dòng.
Ví dụ: Nhập vào TOI DI HOC
In ra màn hình: TOI
DI
HOC
6. Viết chương trình nhập vào một chuỗi sau đó in ra chuỗi đó theo chiều ngược
lại.
Ví dụ: Nhập: 123 456 789
In ra 987 654 321
7. Viết chương trình nhập vào một câu gồm nhiều từ cách nhau bởi khoảng trắng.
In ra số từ trong câu đó
8. Viết chương trình nhập vào một câu và đếm số lần xuất hiện của từng ký tự
trong câu đó

Ví dụ: Nhập vào 'Troi mua to'
In ra: Số lần xuất hiện của ký tự T là 1
Số lần xuất hiện của ký tự r là 1
Số lần xuất hiện của ký tự o là 2
(trang 9)

×