Professional Documents
Culture Documents
Chú ý :
- Mỗi thí sinh tạo một Folder có tên là: HSG_<Số báo danh của thí sinh> chứa
trong D:\ và lưu các file sau vào đúng Folder vừa tạo.
- Tạo tệp tin tên BAI1.PAS; BAI2.PAS; BAI3.PAS; BAI4.PAS tương ứng với
Bài 1; Bài 2; Bài 3; Bài 4.
* Chú ý: Riêng bài 4 có 02 tệp DAYSO.INP và KETQUA.OUT vẫn lưu vào
thư mục nói trên.
Bài 1: (6 điểm)
Viết chương trình nhập từ bàn phím hai số tự nhiên A, B ( A, B 30 ). Hãy in ra
màn hình
a/ Giá trị tuyệt đối của A3 B 3
b/ Giá trị của biểu thức ( A B) 2 .(2 A 1)
Ví dụ:
INPUT OUTPUT
Nhap so A: 3 Gia tri tuyet doi la: 189
Nhap so B: 6 Gia tri cua bieu thuc la: 405
INPUT OUTPUT
Nhap so N: 20 1 2 4 5 10 20
Nhap so M: -45 1 3 5 9 15 45
1
Bài 3: (4,0 điểm)
Viết chương trình nhập một dãy số nguyên có n phần tử khác nhau (với n là số
tự nhiên được nhập từ bàn phím). Sau đó in ra màn hình
a. Các số vừa nhập trong dãy theo thứ tự tăng dần.
b. Hãy tìm khoảng cách lớn nhất của số m với các số trong dãy số ban đầu và vị
trí của số đó trong dãy (với m là số nguyên được nhập từ bàn phím). Trong trường hợp
khoảng cách của số m đến hai số trong dãy số bằng nhau thì chọn vị trí của số đầu tiên
Ví dụ:
INPUT OUTPUT
Nhap so n: 4
5 -7 11 9 -7 5 9 11
Nhap so n: 6
3 15 9 -20 -5 20 -20 -5 3 9 15 20
Ví dụ:
DAYSO.INP KETQUA.OUT
7
12 8 45 125 47 16 64 8 125 64
Giải thích:
Tệp DAYSO.INP
Dòng 1: là số phần tử của dãy.
Dòng 2: là giá trị của các phần tử.
Tệp KETQUA.OUT
Dòng 1: Các số là lập phương của số tự nhiên.
2
ĐÁP ÁN
Bài 1 (6đ) Điểm chi tiết
program Bai1;
uses crt;
var a,b: integer;
begin
clrscr;
write('Nhap hai so a='); readln(a); 2
write('Nhap hai so b='); readln(b);
{Cau a}
writeln('Gia tri tuyet doi : ',abs((a*a*a) - (b*b*b))); 2
{cau b}
writeln('Gia tri cua bieu thuc: ',((a+b)*(a+b))*(2*a-1));
readln; 2
end.
Bài 2(6đ)
program BAI2;
uses crt;
var n,i :integer;
begin
clrscr; 2
write('nhap so N = '); readln(n);
begin
for i:=1 to n do
begin
write('a[',i,']= '); readln(a[i]);
end;
end;
procedure sapxep; 1
var
3
tam: integer;
begin
for i:= 1 to n do
write(b[i],' ');
writeln;
end;
1
procedure timkhoangcach;
var min, k: integer;
begin
min:= a[1]; k:=1;
for i:=2 to n do
if min>a[i] then
begin
min:= a[i];
k:= i;
end;
writeln('Khoang cach: ',abs(m-a[k]));
writeln('Vi tri trong day: ',k);
end;
begin
clrscr; 1
write('nhap so n: '); readln(n);
nhap;
sapxep;
write('Nhap so m: '); readln(m);
timkhoangcach;
readln;
end.
4
Bài 4(4đ)
program bai4; 1
uses crt;
var f1,f2: text;
a,b: array[1..100] of integer;
j,n: integer;
procedure doctep;
var i: integer;
begin
assign(f1,'E:\DAYSO.INP');
{REWRITE(f1);}
reset(f1);
readln(f1,n);
for i:=1 to n do
read(f1,a[i]);
close(f1);
for i:=1 to n do write(a[i],' ');
end;
procedure xuly;
var i: integer;
begin
j:=0;
for i:= 1 to n do
end;
5
procedure ghitep; 1
var i: integer;
begin
assign(f2,'E:\KETQUA.OUT');
rewrite(f2);
begin
clrscr; 0.5
doctep;
xuly;
ghitep;
readln;
end.