Giáo viên: Nguyễn Văn Thường ĐỀ THI VÀ ĐÁP ÁN HỌC SINH GIỎI VĂN HÓA LỚP 8 MÔN TIN HỌC Bài 1: Viết chương trình tính giá trị của biểu thức: S = 1 + 1*2 + 1*2*3 + …. +1*2*3*….*n Với n là một số nguyên dương nhập từ bàn phím. Chương trình: PROGRAM BAI_1; VAR N,S,I,T:LONGINT; BEGIN REPEAT WRITE('N='); READLN(N); UNTIL (N>0); T:=1; S:=0; FOR I:=1 TO N DO BEGIN T:=T*I; S:=S+T; END; WRITE('KET QUA LA: ',S); READLN; END. Bài 2: Viết chương trình nhập vào một dãy số từ bàn phím, tìm các số dương in ra màn hình và tính tổng các số dương đó. Chương trình: PROGRAM BAI_2; VAR A:ARRAY[1 100]OF REAL; N,I:BYTE; S:REAL; BEGIN WRITE('NHAP SO LUONG N='); READLN(N); FOR I:=1 TO N DO BEGIN WRITE('A[',I,']='); READLN(A[I]); END; S:=0; FOR I:=1 TO N DO IF(A[I]>0)THEN Môn: Tin học Giáo viên: Nguyễn Văn Thường BEGIN WRITE(A[I]:0:5,' '); S:=S+A[I]; END; WRITELN; WRITE('TONG LA: ',S:0:5); READLN; END. Bài 3: Viết chương trình tính chu vi và diện tích hình tròn (bán kính được nhập từ bàn phím, sử dụng hằng để khai báo số pi). Chương trình: PROGRAM BAI_3; CONST PI=3.14; VAR N,P,S:REAL; BEGIN WRITE('BAN KINH N='); READLN(N); P:=N*2*PI; S:=N*N*PI; WRITELN('CHU VI LA: ',P:0:5); WRITELN('DIEN TICH LA: ',S:0:5); READLN; END. Bài 4: Đọc ngày, tháng, năm sau đó viết ra màn hình đó là ngày thứ mấy trong tuần. Chương trình: PROGRAM BAI_4; VAR THU,NGAY,THANG:BYTE; NAM,LUU:INTEGER; BEGIN WRITELN('NGAY THU MAY TRONG TUAN'); WRITELN(' '); WRITE('NHAP NGAY: '); READLN(NGAY); WRITE('NHAP THANG: '); READLN(THANG); WRITE('NHAP NAM: '); READLN(NAM); LUU:=NAM; NAM:=1900 + (NAM MOD 1900); IF THANG < 3 THEN BEGIN Môn: Tin học Giáo viên: Nguyễn Văn Thường THANG:=THANG + 12; NAM:=NAM - 1; END; THU:=ABS(NGAY + 2*THANG + 3*(THANG+1) DIV 5+NAM+NAM DIV 4) MOD 7; CASE THU OF 0: BEGIN WRITELN('NGAY:',NGAY:3,',THANG:',THANG:3,',NAM:',LUU:5); WRITELN(' LA NGAY CHU NHAT'); END; 1: BEGIN WRITELN('NGAY:',NGAY:3,',THANG:',THANG:3,',NAM:',LUU:5); WRITELN('LA NGAY THU HAI'); END; 2: BEGIN WRITELN('NGAY:',NGAY:3,',THANG:',THANG:3,',NAM:',LUU:5); WRITELN(' LA NGAY THU BA'); END; 3: BEGIN WRITELN('NGAY:',NGAY:3,',THANG:',THANG:3,',NAM:',LUU:5); WRITELN(' LA NGAY THU TU'); END; 4: BEGIN WRITELN('NGAY:',NGAY:3,',THANG:',THANG:3,',NAM:',LUU:5); WRITELN(' LA NGAY THU NAM'); END; 5: BEGIN WRITELN('NGAY:',NGAY:3,',THANG:',THANG:3,',NAM:',LUU:5); WRITELN(' LA NGAY THU SAU'); END; 6: BEGIN WRITELN('NGAY:',NGAY:3,',THANG:',THANG:3,',NAM:',LUU:5); WRITELN(' LA NGAY THU BAY'); END; END; WRITELN; READLN; END. Môn: Tin học . Giáo viên: Nguyễn Văn Thường ĐỀ THI VÀ ĐÁP ÁN HỌC SINH GIỎI VĂN HÓA LỚP 8 MÔN TIN HỌC Bài 1: Viết chương trình tính giá trị của biểu thức: S = 1 + 1*2. WRITE('KET QUA LA: ',S); READLN; END. Bài 2: Viết chương trình nhập vào một dãy số từ bàn phím, tìm các số dương in ra màn hình và tính tổng các số dương đó. Chương trình: PROGRAM BAI_2; VAR . WRITE('A[',I,']='); READLN(A[I]); END; S:=0; FOR I:=1 TO N DO IF(A[I]>0)THEN Môn: Tin học Giáo viên: Nguyễn Văn Thường BEGIN WRITE(A[I]:0:5,' '); S:=S+A[I]; END; WRITELN;