Tải bản đầy đủ (.docx) (4 trang)

De Thi tin hoc tre lan thu 5 va dap an

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 (88.29 KB, 4 trang )

<span class='text_page_counter'>(1)</span>Đề 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.

<span class='text_page_counter'>(2)</span> Đá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 END..

<span class='text_page_counter'>(3)</span> Bà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 END..

<span class='text_page_counter'>(4)</span> Bà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 END..

<span class='text_page_counter'>(5)</span>

×