Nếu dung thì đưa ra màn hình “Hiện nay tuổi của con bằng nửa tuổi của bố’ trường hợp ngược lại, hãy tính số năm n trước đó hoặc sau đó tuổi con bằng nửa tuổi bố và đưa ra màn hình thong [r]
Trang 1Đề thi tin học trẻ lần thứ V- 2012 thành phố Bắc Ninh.
Bài 1:
Tuổi của bố hiện nay là x tuổi, tuổi của con là y tuổi (x-y >20 và x, y là các số nguyên dương) Hãy viết chương trình nhập x,y và kiểm tra xem tuổi của con có bằng nửa tuổi của bố không ? Nếu dung thì đưa ra màn hình “Hiện nay tuổi của con bằng nửa tuổi của bố’ trường hợp ngược lại, hãy tính số năm n( trước đó hoặc sau đó) tuổi con bằng nửa tuổi bố và đưa ra màn hình thong báo “n năm trước đây tuổi con bằng nửa tuổi của bố” hay “sau n năm tuổi con bằng nửa tuổi bố”.
Bài 2:
Viết chương trình nhập một dãy số nguyên (=< 100 số) Đưa ra màn hình dãy số vừa nhập: Mỗi hàng có 10 số, mỗi số cách nhau ít nhất 2 kí tự Chỉ ra trong dãy số co bao nhiêu số chẵn, bao nhiêu sô lẻ, bao nhiêu số dương, bao nhiêu số âm và bao nhiêu số
0 ?.
Bài 3:
Để giúp các gia đình có con em đang ôn thi vào lớp 10 THPT năm học 2011-2012 nắm được tình hình qua 2 đợt thi thử gần đây nhất (3 môn Văn,Toán hệ số 2), trường X có n sinh dự thi được tập hợp kết quả và gửi danh sách về các gia đình Hãy lập trình nhập họ tên của các học sinh, điểm thi thử lần 1, điểm thi thử lần 2 Đưa ra màn hình danh sách kết quả 2 lần thi gồm các cột: Họ tên, các điểm vừa nhập, tông điểm và ghi chú - tạm chi làm 4 loại, gồm: Nếu tổng 2 lần thi >80 điểm và điểm lần 2>= lần 1 thì ghi chứ" Tốt cần phát huy", điểm lần 2 < điểm lần 1 thì ghi " Cần ổn định khả năng": Từ 60 đến 80 điểm và lần 2 >= lần 1 thì ghi chú " Khá- Cần cố gắng hơn nữa"; Các trường hợp khác thì ghi chú " Còn phải cố gắng nhiều hơn !".
Bài 4:
Lập trình mảng A gồm m x n phần tử.
a Viết ra mảng vừa nhập
b Tính cà viết ra tổng của các phần tử khác 0
c Có mấy phần tử bằng 0, phần tử cuối cùng ở vị trí nào ?
d Chỉ ra phần tử lớn nhất đầu tiên tại vị trí nào và bằng bao nhiêu ?.
Xuống dưới để xem đáp án
Trang 2
Đáp Án:
Bài 1:
PROGRAM bailam;
USES crt;
VAR bo,con,dem,ba,cu:INTEGER;
BEGIN
clrscr;
write('Nhap tuoi bo, tuoi con: '); readln(bo,con);
IF (bo-con>20) AND ((bo>0) AND (con>0)) THEN
IF con*2=bo THEN write('Hien nay tuoi con bang nua tuoi bo!')
ELSE
BEGIN
dem:=0; ba:=bo; cu:=con;
IF con*2>bo THEN
REPEAT
bo:=bo-1;
con:=con-1;
dem:=dem+1;
IF con*2=bo THEN writeln('Cach day ',dem,' nam tuoi con bang nua tuoi bo!');
UNTIL con*2=bo; dem:=0;
IF con*2<bo THEN
REPEAT
ba:=ba+1;
cu:=cu+1;
dem:=dem+1;
IF cu*2=ba THEN writeln('Sau ',dem,' nam tuoi con bang nua tuoi bo!'); UNTIL cu*2=ba;
END
ELSE
begin
IF (bo<0) OR (con<0) THEN Writeln('Tuoi phai lon hon 0 chu! Nhap sai rui! Nhap lai di!')
ELSE Writeln('Theo yeu cau thi tuoi bo - tuoi con phai lon hon 20! Hay nhap lai!');
END;
readln
Trang 3Bài 2:
PROGRAM bai2;
USES crt;
VAR A:ARRAY[1 100] OF INTEGER;
n,am,duong,khong,chan,le,i:BYTE;
BEGIN
clrscr;
write('Nhap so phan tu: '); readln(n);
FOR i:=1 TO n DO
BEGIN
write('A[',i,']='); readln(a[i]);
END;
am:=0; duong:=0; chan:=0; le:=0;
FOR i:=1 TO n DO
BEGIN
write(a[i]:2,' ');
IF a[i]<0 THEN inc(am)
ELSE IF a[i]>0 THEN inc(duong)
ELSE inc(khong);
IF a[i] MOD 2=1 THEN inc(le)
ELSE inc(chan);
IF i MOD 10=0 THEN writeln;
END;
writeln;
writeln('So so chan la: ',chan,' va so so le la: ',le);
writeln('So so am la: ',am,' so so duong la: ',duong,' va so so khong la: ',khong);
readln
END
Bài 4:
PROGRAM bai4;
USES crt;
VAR A: ARRAY[1 100,1 100] OF INTEGER;
n,m,i,j,dem,x,y: BYTE; tong:LONGINT;
BEGIN
clrscr;
write('Nhap so n, m:'); readln(n,m);
FOR i:=1 TO n DO
FOR j:=1 TO m DO
BEGIN
write('A[',i,',',j,']=');
readln(a[i,j]);
IF a[i,j]=0 THEN BEGIN x:=i; y:=j; dem:=dem+1; END
ELSE tong:=tong+a[i,j];
END;
tong:=0; dem:=0;
writeln('So so 0 trong mang la: ',dem,' phan tu = 0 cuoi cung o vi tri A[',x,',',y,']');
writeln('Tong cac so khac 0 la:',tong);
readln
Trang 4Bài 3:
PROGRAM bai3;
USES crt;
VAR hoten,ghichu:ARRAY[1 500] OF STRING;
van,van2,toan,toan2,tong:ARRAY[1 500] OF REAL;
n,i:WORD;
x,y:BYTE;
BEGIN
clrscr;
write('Nhap so thi sinh:'); readln(n);
FOR i:=1 TO n DO
BEGIN
write('Nhap ten thi sinh thu ',i,' :'); readln(hoten[i]);
write('Nhap diem van, toan lan 1:'); readln(van[i],toan[i]);
write('Nhap diem van, toan lan 2:'); readln(van2[i],toan2[i]);
tong[i]:=(van[i]+toan[i]+van2[i]+toan2[i])*2;
IF (tong[i]>80) THEN
IF (toan2[i]+van2[i])>=(toan[i]+van[i]) THEN ghichu[i]:='Tot can phan huy'
ELSE ghichu[i]:='Can on dinh kha nang'
ELSE
IF (tong[i]>=60) AND ((toan2[i]+van2[i])>=(toan[i]+van[i])) THEN ghichu[i]:='Kha - can co gang hon nua'
ELSE ghichu[i]:='Con phai co gang nhieu hon';
END;
writeln('| Ho ten thi sinh | Diem thi | Tong | Ghi chu
|');
writeln('| |Van1 |Toan1|Van2 |Toan2| |
|');
FOR i:=1 TO n DO
BEGIN
x:=wherex; y:=wherey;
writeln('| | | | | | |
|');
x:=x+1; gotoxy(x,y); write(hoten[i]);
x:=x+20; gotoxy(x,y); write(Van[i]:4:2);
x:=x+6; gotoxy(x,y); write(toan[i]:4:2);
x:=x+6; gotoxy(x,y); write(van2[i]:4:2);
x:=x+6; gotoxy(x,y); write(toan2[i]:4:2);
x:=x+6; gotoxy(x,y); write(tong[i]:6:2);
x:=x+7; gotoxy(x,y); write(ghichu[i]);
writeln;
END;
readln