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

De thi hsg tin hoc cap huyen 0809-thuchanh so1

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 (58.92 KB, 5 trang )

Đề thi olympic tin học cấp huyện lần thứ nhất
năm học 2008-2009
Môn : Lập trình pascal (Thời gian : 90 phút)
Câu 1(1,5đ):Viết chơng trình tính giá trị của biểu thức sau và in kết quả ra màn hình.

S =
Với a, x đợc nhập từ bàn phím.
Câu 2(2đ): Viết chơng trình nhập số nguyên n có 9 chữ số . Tính xem trong số nguyên
đó chữ số a xuất hiện bao nhiêu lần (với a là số nguyên có một chữ số đợc nhập từ bàn
phím).
Ví dụ: Nhập: N = 13213411
a=1
Kết quả: Số 1 xuất hiện 4 lần.
Câu 3(3,5đ): Cho mảng một chiều gồm n phần tử (n nhập từ bàn phím, n <=100) là số
nguyên. Hãy viết chơng trình nhập giá trị cho các phần tử của mảng và :
a. Tính tổng các phần tử là số nguyên tố của mảng.
b. Tìm phần tử lớn nhất của mảng.
c. Sắp xếp mảng theo chiều tăng dần.
Câu 4(3): Cho trớc một xâu kí tự bất kì. Xâu gồm các phần tử là chữ cái tiếng anh từ 'a'
đến 'z' và dấu cách. Viết chơng trình chuẩn hoá xâu(xâu chuẩn hoá là xâu không có dấu
cách ở đầu và cuối xâu, giữa các từ cách nhau đúng một dấu cách).
Ví dụ: Cho xau= " nguyen tuan anh "
Kết quả in ra : "Nguyen Tuan Anh"
--------------------------------------------Hết--------------------------------------------
e
a + sin
2
(x)-x
C©u 1(1,5®):
const PI=3.14;
var s:real;


a,x:integer;
begin
write('Nhap gia tri cho a=');readln(a);
write('Nhap gia tri cho x=');readln(x);
s:=exp(a+sin((x*PI)/180)*sin((x*PI)/180)-x);
writeln(s:4:2);
readln;
end.
C©u 2(2®):
var n:longint;
k,a,i,j:byte;
begin
write('Nhap gia tri cho a=');readln(n);
write('Nhap gia tri cho x=');readln(a);

j:=0;
repeat
k:=n mod 10;
if k=a then j:=j+1;
n:=n div 10;
until n=0;
writeln('Chu so ',a,'xuat hien ',j,' lan');
readln;
end.
0,5®
0,5®
0,5®
0,25®
0,25®
1,25®

0,25®
C©u 3(3®):
program bt3;
var a:array[1..100] of integer;
kt,s,n,i,j,max,tg:integer;
begin
repeat
write('Nhap so phan tu cho mang n=');readln(n);
until (n>0) and (n<=100);
for i:=1 to n do
begin
write('Nhap gia tri cho phan tu a[',i,']=');
readln(a[i]);
end;
i:=1;
kt:=0;
for i:=1 to n do
begin
for j:=2 to a[i] div 2 do
if a[i] mod j = 0 then kt:=kt+1;
if kt=0 then s:=s+a[i];
kt:=0;
end;
max:=a[1];
for i:=2 to n do
if a[i]>max then max:=a[i];
for i:=1 to n-1 do
for j:=i+1 to n do if a[i]>a[j] then
begin
tg:=a[i];

a[i]:=a[j];
a[j]:=tg;
end;
writeln('Tong cac phan tu duong cua mang s=',s);
writeln('Phan tu lon nhat cua mang la : ',max);
writeln('Mang sau khi sap xep la : ');
for i:=1 to n do write(a[i]);
readln;
0,25®
0,25®
0,25®

0,5®

0,25®
end.
C©u 4(3®):
var st:string;
l,i:integer;
begin
write('Nhap mot xau can chuan hoa: ');readln(st);
while st[1]=' 'do delete(st,1,1);
l:=length(st);
while st[l]=' 'do
begin
delete(st,l,1);
l:=length(st);
end;

l:=length(st);

i:=1;
repeat
if( st[i]=' ') and (st[i+1]=' ') then
begin
delete(st,i,1);
i:=i-1;
l:=length(st);
end;
inc(i);
until i=l;

st[1]:=upcase(st[1]);
for i:=1 to l-1 do
0,25®
0,25®
0,5®
0,5®
0,75®
0,5®
if (st[i]=' ') and (st[i+1]<>' ') then st[i+1]:=upcase(st[i+1]);

writeln('xau sau khi da chuan hoa : ', st);
readln;
end.
0,25®

×