Dịch toàn bộ chương trình nguồn thành một chương trình đích có thể thực hiện trên máy và có thể lưu trữ để sử dụng khi cần thiết Kiểm tra tính đúng đắn của câu lệnh tiếp theo trong chươn[r]
Trang 1Trường THPT Cẩm Lý Câu hỏi và bài tập Pascal
GV Nguyễn Thị Uyên Tổ Toán Tin1
Sở Gd - ĐT BắC Giang Cộng hoà xã hội chủ nghĩa việt nam
Trường THPT Cẩm Lý Độc lập – Tự do – Hạnh phúc
Cẩm Lý, Ngày tháng năm 2009
câu hỏi và bài tập ôn tập tin học 11
Họ và tên giáo viên ra đề: Nguyễn Thị Uyên Tổ: Toán - Tin
Câu hỏi:
Chương I Câu 1:
Hãy nêu sự khác biệt giữa 2 loại của trình dịch là biên dịch và thông dịch?
Câu 2:
Trong chế độ biên dịch, một trình đã '+ dịch thông suốt, hệ thống không báo lỗi Có thể khẳng định rằng ta đã có một trình đúng hay $ Tại sao?
Câu 3:
Hãy nêu các thành phần cơ bản của ngôn ngữ lập trình?
Câu 4
Trong một trình còn lỗi cú pháp, thông : trình biên dịch hay trình thông dịch phát hiện ra lỗi nhanh hơn?
Câu 5
Hãy nêu 3 từ khoá, 3 tên chuẩn và ý nghĩa của chúng trong ngôn ngữ lập trình
mà em biết?
Câu 6:
Trong dòng thông tin chú thích có thể chứa các kí tự ngoài bảng chữ cái của ngôn ngữ hay không? Tại sao?
Câu7:
Hãy nêu sự khác biệt giữa hằng và biến trong ngôn ngữ lập trình?
Chương II Câu 8:
Nêu cấu trúc chung của một trình viết bằng ngôn ngữ lập trình bậc cao?
Câu 9:
Khi tìm hiểu một kiểu dữ liệu chuẩn ta cần phải nắm '+ các đặc gì của nó? Cho ví dụ với kiểu char?
Câu 10:
Nếu khai báo thừa biến hoặc hằng, tức là khai báo các biến, hằng không dùng
đến trong phần thân trình, trình dịch có báo sai hay không?
Câu 11:
Nhắc lại quy tắc đặt tên trong ngôn ngữ lập trình Pascal?
Trang 2Trường THPT Cẩm Lý Câu hỏi và bài tập Pascal
GV Nguyễn Thị Uyên Tổ Toán Tin2
Câu 12:
Vì sao cần phải khai báo biến? Khi khai báo biến cần phải chú ý những điều gì?
Câu 13:
1.Chuyển biểu diễn của biểu thức sau từ dạng toán học sang Pascal:
a ax
x x
x x
2
sin
cos sin
2 Chuyển biểu thức sau từ dạng biểu diễn trong Pascal sang dạng biểu thức toán học:
a abs(x-y)/sqrt(sqr(x*y)+sqrt(abs(x)))
b cos(5*PI*x/2)-sin (5*PI*x/2)
Câu 14:
Viết biểu thức logic kiểm tra một số là số nguyên chẵn?
Câu 15:
Hãy chỉ ra các lỗi trong khai báo sau:
Var i, j, n, m: Byte;
C, CC: Char;
I, G: Byte;
P=100;
Câu 16:
/ trình dịch Pascal sẽ cấp phát bao nhiêu byte bộ nhớ cho các biến trong khai báo sau?
Var x,y,z: Byte;
C: Char;
I, G: Real;
P,H: Integer;
Câu 17:
Viết biểu thức logic kiểm tra ba số a, b, c có là độ dài của ba cạnh tam giác không?
Câu 18:
Xét trình Pascal sau:
Program vidu;
Var x,y: byte;
Begin
Write(‘x=’); Readln(x);
y:=(((x+2)*x+5)*x+6)*x+15;
Writeln(‘y=’, y);
Readln;
End.
/ trình trên tính giá trị của biểu thức nào? Với x=2 thì trên màn hình in
ra giá trị bao nhiêu?
Câu 19:
Thắng gọi điện cho Đông để trao đổi bài Cứ mỗi phút dùng điện thoại phải trả
a đồng Cuộc trao đổi kéo dài t phút Hãy lập trình tính và ' ra màn hình số tiền mà
Trang 3Trường THPT Cẩm Lý Câu hỏi và bài tập Pascal
GV Nguyễn Thị Uyên Tổ Toán Tin3
nhà bạn Thắng phải trả cho cuộc trao đổi này Các số a, t nguyên '+ nhập vào từ bàn phím
Câu 20:
Lập trình nhập từ bàn phím hai số thực a, b tính và ' ra màn hình:
a Trung bình tổng các bình 5 của hai số đó;
b trung bình cộng các giá trị tuyệt đối của a và b;
Câu 21:
Lập trình nhập từ bàn phím hai số nguyên khác không a, b (a, b<=32767) Tính tổng, hiệu, tích, (chia nguyên) của hai số đó và ' ra màn hình kết quả dạng
<biểu thức số học>=<Kết quả>
Câu 22:
Lập trình nhập từ bàn phím các số thực (Xa,Ya), (Xb,Yb), (Xc,Yc) là toạ độ các đỉnh A, B, C của tam giác ABC Tính và ' ra màn hình diện tích tam giác theo công thức Hê- rông:
S = p(pa)(pb)(pc) trong đó a, b,c là độ dài các cạnh tam giác và
p=
2
c b
a
Câu 23:
Lập trình nhập từ bàn phím các số thực a, b, c và x Tính và ' ra màn hình giá trị biểu thức ax2+ bx+c
Câu 24:
Lập trình nhập từ bàn phím các số thực a, b, c, d và x Tính và ' ra màn hình giá trị biểu thức ax3+ bx2+cx+d
Câu 25:
Hãy chỉ ra lỗi trong trình Pascal sau:
Var x, y, z= Byte;
Begin
x :=100 ;
y :=150 z=x*x*y ; Readln End
Câu 26 :
Xét trình sau thực hiện việc gì ?
uses crt ;
var x,y :integer ;
begin
clrscr ; Write(‘Nhap x=’) ; Readln(x) ; Write(‘Nhap x=’) ; Readln(x) ; x:=x+y;
y:=x-y;
x:=x-y;
Writeln(‘gia tri moi cua x=’, x);
Trang 4Trường THPT Cẩm Lý Câu hỏi và bài tập Pascal
GV Nguyễn Thị Uyên Tổ Toán Tin4
Writeln(‘gia tri moi cua x=’, x);
Readln End
Câu 27:
Hãy chỉ ra các lỗi trong trình Pascal sau:
Program vidu;
Uses crt;
var i,j,n: byte;
a,b:real;
Begin
i:=10;
a:=12.5;
i:=10.5;
b:=2*a;
j:=900;
k:=100;
End
Câu 28:
Biến x có thể nhận các giá trị 10, 20, 30, 35, 50 và biến y có thể nhận các giá trị 0.5; 1.5; 2.5; 3.5 vậy ta có thể khai báo kiểu dữ liệu nào cho các biến trên sao cho tốn ít bộ nhớ nhất?
Câu 29:
Hãy viết biểu thức logic kiểm tra xem một số N có ba chữ số có nghĩa hay không?
Câu 30:
Theo quy định của nhà :) mỗi : hợp trong sổ ghi đầu bài '+ điểm
10 sẽ '+ cộng 2 điểm thi đua vào điểm thi đua của lớp, '+ 9 cộng 1 điểm, '+
I 2 bị trừ 1 điểm Sổ ghi đầu bài ghi nhận trong tuần có t : hợp '+ điểm 10,
n : hợp '+ điểm 9 và m : hợp '+ điểm I 5
Hãy nhập các dữ liệu này từ bàn phím và ' ra màn hình số điểm thi đua mà lớp '+ cộng và bị trừ trong tuần Và ' ra thông tin lớp '+ cộng điểm nhiều hơn hay bị trừ điểm nhiều hơn?
Chương III Cõu 1:
Hóy cho và khỏc nhau hai cõu ! If- then?
Cõu 2:
Cõu ! ghộp là gỡ? +, sao )- cú cõu ! ghộp ?
Cõu 3:
/ 01 trỡnh 3) 4 bàn phớm 3 nguyờn a, b, c và 96 tra xem ba
; cú là ;< dài ba , tam giỏc hay khụng ? ? )- hóy tớnh =! tớch tam giỏc ; ?
Cõu 4 :
Viết kiểm tra số nhập vào từ bàn phím là số lẻ hay chẵn?
Câu 5:
Trang 5Trường THPT Cẩm Lý Câu hỏi và bài tập Pascal
GV Nguyễn Thị Uyên Tổ Toán Tin5
Viết trình nhập ba số nguyên a, b, c khác 0 Kiểm tra ba số này, theo thứ tự nhập từ bàn phím có tạo thành một cấp số nhân (cấp số cộng) hay không
Câu 6:
Viết đoạn trình chứa các câu lệnh if tính
0 , 1 ,
0 , 1 ,
1 , 1
,
1 , 1
,
y x
y
x
y x
y
x
y x
y
x
y x
y
x
Câu 7:
Viết trình yêu cầu nhập điểm trung bình của một học sinh rồi xuất ra màn hình kết quả học lực của học sinh đó biết
Nếu điểm trung bình <5 thì xếp loại yếu Nếu 5<=điểm trung bình <6.5 thì xếp loại trung bình Nếu 6.5<=điểm trung bình <8 thì xếp loại khá
Nếu 8<=điểm trung bình <9 thì xếp loại giỏi Nếu điểm trung bình >9 thì xếp loại giỏi
Câu 8:
Viết trình tính tổng của N số nguyên liền nhau (1, 2, 3 N)
Câu 9:
Viết trình tính N! với N do : dùng nhập từ bàn phím (N<10)
Câu 10:
So sánh các câu lệnh lặp
Câu 11:
Viết trình thực hiện ra trên màn hình
a
*
**
***
****
*****
******
b
$$$$$$
$$$$$
$$$$
$$$
$$
$
Câu 12:
Giải thích từng dòng lệnh trong trình sau Var a, b, t: byte;
Begin
Writeln(‘Nhap vao a va b’);
Readln(a,b);
t:=a;
a:=b;
b:=t;
Write(‘gia tri a=’, a);
Write(‘gia tri b=’, b);
Readln End
Trang 6Trường THPT Cẩm Lý Câu hỏi và bài tập Pascal
Giỏo viờn Ng Uyờn
,
Nếu nhập bộ dữ liệu 3 và 5 vào thì khi in ra màn hình giá trị của a và b thế nào?
Câu 13:
Loại biểu thức gì nhất thiết phải có mặt trong câu lệnh rẽ nhánh?
Câu 14:
Lập trình nhập từ bàn phím ba số nguyên a,b,c, ' ra màn hình giá trị lớn nhất trong ba số đó
Câu 15:
Cho câu lệnh For i:=1 to n do write(i*(i+1)div2) ;
Hãy thay thế câu lệnh trên bằng đoạn trình dùng While - do
Câu 16:
Lập trình nhập từ bàn phím hai số nguyên khác nhau a và b, thay số nhỏ hơn bằng hiệu của số lớn với số bé, thay số lớn hơn bằng tổng của hai số ban
đầu
Câu 17:
Lập trình giải bài toán sau: nhập hai số nguyên a và b từ bàn phím(a<b) Xác định số + các số nguyên lẻ i trong đoạn a và b j ra màn hình các số
lẻ này mỗi số trên một dòng
Câu 18:
Lập trình giải bài toán sau: nhập vào hai số nguyên a và b j ra màn hình giá trị lớn nhất và nhỏ nhất trong hai số đó
Câu 19:
Lập trình: nhập từ bàn phím số nguyên N Tính và ' ra màn hình giá trị N!
Câu 20:
Viết trình kiểm tra số đã nhập có phải là số nguyên tố hay không
Câu 21:
Viết trình bằng ngôn ngữ lập trình Pascal để giải bài toán sau: Nhập từ bàn phím số nguyên N ( với N<=100), tính và ' ra màn hình tổng các số là số chẵn trong phạm vi từ 1 đến N?
Câu 22:
Viết trình tính tổng các I số của một số nguyên N '+ nhập từ bàn phím (không kể I là chính nó)
GIáO VIÊN ra đề
Nguyễn thị Uyên
Trang 7Trường THPT Cẩm Lý Câu hỏi và bài tập Pascal
Giỏo viờn Ng Uyờn
,
Hướng dẫn giải một số bài tập đơn giản
Câu 1: Viết chương trỡnh nhập từ bàn
phớm 3 số nguyờn a, b, c và kiểm tra
xem ba số đú cú là độ dài ba cạnh của
tam giỏc hay khụng ? Nếu phải hóy
tớnh diện tớch của tam giỏc đú ?
HD:
- Khai báo tên trình
- Khai báo biến
- Nhập a,b,c từ bàn phím
- Nếu a,b,c lớn hơn 0 và tổng hai cạnh
lớn hơn cạnh còn lại thì là độ dài ba
cạnh của tam giác và
Diện tích của tam giác tính theo công
thức Herông
s= p(pa)(pb)(pc)
với p=
2
c b
a
- C+ lại thì thông báo không là độ
dài ba cạnh của tam giác
Cõu 2 : Viết chương kiểm tra 1
sốnguyên nhập vào từ bàn phím là số
lẻ hay chẵn?
- Khai báo tên trình
- Khai báo biến
- Nhập số từ bàn phím
- kiểm tra điều kiện là số chẵn:
nếu số chia hết cho 2 thì thông
báo là số chẵn
Program bai1;
Var a,b,c,s,p: Real;
Begin
Write(‘Nhap ba so a,b,c tu ban phim’);
Readln(a,b,c);
if (a>0) and (b>0) and (c>0) and
(a+b>c) and (b+c>a) and (a+c>b)
then Begin
Writeln(‘la do dai ba canh cua tam giac’);
p:=(a+b+c)/2;
s:=sqrt(p*(p-a)(p-b)(p-c));
Write(‘dien tich tam giac la’, s:5:2);
End else write(‘khong la do dai ba canh
tam giac’);
Readln End.
Program bai2;
Var a:integer;
Begin
Writeln(‘Nhap mot so nguyen tu ban phim’);
Readln(a);
If (a mod 2=0) then writeln(‘la so
chan’)
Trang 8Trường THPT Cẩm Lý Câu hỏi và bài tập Pascal
Giỏo viờn Ng Uyờn
,
- lại thông báo không là số
chẵn
Câu 3: Viết chương trình nhập ba số
nguyên a, b, c khác 0 Kiểm tra ba số
này, theo thứ tự nhập từ bàn phím có
tạo thành một cấp số nhân (cấp số
cộng) hay không
HD:
- Khai báo a,b,c thuộc kiểu
nguyên
- Nhập a,b,c từ bàn phím
- a,b,c tạo thành cấp số nhân
(cộng) nếu thoả mãn b/a=c/b
hoặc a*c=b*b (b-a=c-b hoặc
a+c=2*b)
Câu 4: Viết đoạn chương trình chứa
các câu lệnh if tính
z=
0 , 1 ,
0 , 1 ,
1 , 1 ,
1 , 1 ,
y x
y
x
y x
y
x
y x
y
x
y x
y
x
HD:
- Khai báo các biến x,y và z
- Nếu x>1 và y>1 thì z= x+y
- Nếu x>1 và y<=1 thì z= x-y
- Nếu x<=1 và y> 0 thì z= -x+y
- Nếu x<=1 và y<=0 thì z=-x-y
Câu 5 : Viết chương trình tính tổng
của N số nguyên liền nhau (1, 2,
Else write(‘la so le’);
Readln
End.
Program bai3;
Var a,b,c: Integer;
Begin
Writeln(‘Nhap ba so a,b,c’);
Readln(a,b,c);
if a*c=b*b then write(‘la cap so
nhan’)
else write(‘khong la cap so nhan’);
Readln
End.
Program bai4;
Var x,y,z: Real;
Begin
Writeln(‘Nhap x,y=’);
Readln(x,y);
If x>1 and y>1 then z:=x+y;
If x>1 and y<=1 then z:=x-y;
If x<=1 and y>0 then z:=-x+y;
If x<=1 and y<0 then z:=-x-y;
Readln
End.
Trang 9Trường THPT Cẩm Lý Câu hỏi và bài tập Pascal
Giỏo viờn Ng Uyờn
,
3 N)với N nguyên dương nhập từ bàn
phím.
HD :
- Khai báo N nguyên ) biến
s để tính tổng
- Nhập N từ bàn phím
- Ban đầu gán tổng s=0
- Với mỗi i tăng từ 1 đến N thì
cộng thêm vào s một giá trị
ứng i
- j giá trị tổng s ra màn hình
Câu 6: Viết chương trình in ra màn
hình hình tam giác như sau:
*
**
***
****
*****
******
Hỏi: hãy dùng câu lệnh lặp để ' ra
màn hình trên
Câu 7: Viết chương trình giải phương
trình bậc nhất một ẩn ax+b=0
HD:
- Khai báo các hệ số a,b
- Biến x có kiểu thực để giá trị
nghiệm của pt
- Nhập các hệ số a và b
- Nếu a=0 ta bắt đầu so sánh :
Nếu b=0 thì thông báo pt vô số
nghiệm
+ lại (b<>0) thì thông báo pt vô
Program Bai5;
Var N,s: byte;
Begin
Writeln(‘Nhap so N nguyen duong’);
Readln(N);
s:=0;
For i:=1 to N do
s:=s+i;
Writeln(‘tong can tinh la:’, S);
Readln
End.
Program bai6;
Var i: byte;
Begin
Writeln(‘*’);
Writeln(‘**’);
Writeln(‘***’);
Writeln(‘****’);
Writeln(‘*****’);
Writeln(‘******’);
Readln
End.
program Bai7;
uses crt;
var a,b: integer;
x:real;
begin
clrscr;
writeln('Nhap cac he so');
readln(a,b);
if a=0 then begin
if b=0 then write('pt day
nghiem)
Trang 10Trường THPT Cẩm Lý Câu hỏi và bài tập Pascal
Giỏo viờn Ng Uyờn
,
nghiệm
C+ lại (a<>0) thông báo pt có
nghiệm –b/a
Cách 2:
- Nhập hệ số a và b
- Nếu a khác 0 thì thông báo pt có
nghiệm –b/a
- C+ lại (a bằng 0) thì:
+ Nếu b bằng 0 thì tbáo pt vô số
nghiệm
C+ lại (b bằng 0) thì thông báo
pt vô nghiệm
Câu 8: Viết chương trình giải pt bậc
hai một ẩn ax 2 +bx+c=0 (với a<>0
)trường hợp pt có nghiệm
Câu 9: Viết chương trình giải pt bậc hai
một ẩn ax+bx+c=0 (với a<>0 )
HD:
- Khai báo các biến là các hệ số
a,b,c có kiểu thực
- Khai báo biến d có kiểu thực để
trữ giá trị b*b-4*a*c
else write(‘pt vo nghiem’);
end else write(-b/a:5:2, 'la nghiem cua
pt');
readln
end.
program b1;
var a,b,x:real;
begin
write('nhap a,b: ');
readln(a,b);
if a<>0 then write('phuong trinh co
nghiem’,-b/a:5:2)
else
if b=0 then writeln('phuong trinh
vo so nghiem’)
else writeln('pt vo nghiem’);
readln
end.
program giai_ptb2;
uses crt;
var a,b,c,d,x1,x2:real;
begin
clrscr;
writeln('Nhap cac he so a,b,c:');
readln(a,b,c);
d:=sqrt(b*b-4*a*c);
x1:=(-b-d)/(2*a);
x2:=-b/a-x1;
write('x1=', x1:5:3, ' x2= ', x2:5:3); readln
end.
program Bai9;
uses crt;
var a, b, c, d, x1, x2:Real;
Trang 11Trường THPT Cẩm Lý Câu hỏi và bài tập Pascal
Giỏo viờn Ng Uyờn
,
- Khai báo biến x1, x2 trữ
nghiệm của pt
- Nhập a,b,c
- Tính d=b 2 -4ac
- Nếu d<0 thì tbáo pt vô nghiệm
- C+ lại (d>=0) thì
Bắt đầu tính x1=(-b- d )/2a và
x2=-b/a-x1
j thông báo nghiệm ra màn hình
Kết thúc
Câu 10: Viết chương trình tính tổng
các ước số của một số nguyên dương N
được nhập từ bàn phím (không kể ước
là chính nó)
HD
- Khai báo biến N là số nhập từ bàn
phím
- Khai báo biến s để tính tổng các I
của N
- Biến i là biến chạy thể hiện các I
của N
- Ban đầu s bằng 0
- Cho biến i lần + từ 2 đến phần
nguyên của phép chia N cho 2
Nếu N chia hết cho i thì i là I của N
ta đem cộng vào tổng S
Begin
clrscr;
write('a, b, c:');
readln(a, b, c);
d:=b*b-4*a*c;
if d<0 then writeln('Phuong trinh vo
nghiem’)
else Begin
x1:=(-b-sqrt(d))/(2*a);
x2:=-b/a-x1;
writeln('x1=',x1:8:3,' x2=',x2:8:2);
end;
readln
end.
Var N, i: word; S: longint;
Begin
write(‘Nhap N ’); Readln(N);
S:= 0;
For i:= 1 to N div 2 Do
if N mod i = 0 then S:=S+i;
writeln(‘Tong tinh duoc la: ’, S); Readln
End.
... Lý Câu hỏi tập Pascal
GV Nguyễn Thị Un Tổ Tốn Tin2
Câu 12:
Vì cần phải khai báo biến? Khi khai báo biến cần phải ý điều gì?
Câu. .. Lý Câu hỏi tập Pascal
GV Nguyễn Thị Uyên Tổ Toán Tin3
nhà bạn Thắng phải trả cho trao đổi Các số a, t nguyên ''+ nhập vào từ bàn phím
Câu. ..
Câu 6:
Trong dịng thơng tin thích chứa kí tự ngồi bảng chữ ngơn ngữ hay không? Tại sao?
Câu7 :
Hãy nêu khác biệt biến ngơn ngữ lập trình?
Chương II Câu