De thi học sinh giỏi Tin học lớp 8

Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.

De thi học sinh giỏi Tin học lớp 8

Toán - Lớp 8/Thi Học Sinh Giỏi

[Codona.vn] 200 đề Thi Học Sinh Giỏi Toán Lớp 8


Page 2

Toán - Lớp 8/Thi Học Sinh Giỏi

[Codona.vn] 200 đề Thi Học Sinh Giỏi Toán Lớp 8


Page 3

Toán - Lớp 8/Thi Học Sinh Giỏi

[Codona.vn] 200 đề Thi Học Sinh Giỏi Toán Lớp 8


Page 4

Toán - Lớp 8/Thi Học Sinh Giỏi

[Codona.vn] 200 đề Thi Học Sinh Giỏi Toán Lớp 8


Page 5

Toán - Lớp 8/Thi Học Sinh Giỏi

[Codona.vn] 200 đề Thi Học Sinh Giỏi Toán Lớp 8


Page 6

Toán - Lớp 8/Thi Học Sinh Giỏi

[Codona.vn] 200 đề Thi Học Sinh Giỏi Toán Lớp 8

ĐỀ THI CHỌN HỌC SINH GIỎI VÒNG HUYỆN

NĂM HỌC 2018 – 2019

MÔN: TIN HỌC – LỚP 8

THỜI GIAN LÀM BÀI: 150 PHÚT (Không kể thời gian phát đề)

Bài 1. (6.0 điểm)

            Cho hai số AB là hai số nguyên dương và A phải nhỏ hơn B (0 < A, B < 100).

Yêu cầu: Viết chương trình cho phép nhập hai số A B đó từ bàn phím.

Hãy thực hiện:

a)      Tìm các số nguyên tố từ A đến B.

b)     Tìm ước chung lớn nhất của A B.

Ví dụ:

Nhập từ bàn phím

Kết quả

-Nhap A: 10

-Nhap B: 25

-Cac so nguyen to:

11     13     17     19     23

-Uoc chung lon nhat la: 5

Lưu tên: D:\HSG8TIN\SBD_Bai1.pas

Bài 2. (6.0 điểm)

Việc bảo vệ máy tính để hạn chế người khác thâm nhập là một vấn đề đặt ra cho mọi nguời sử dụng máy tính. Để tăng tính an toàn trong lưu trữ, một nguời đã quyết định giấu mật khẩu truy cập máy tính của mình vào một xâu S với một qui ước sao cho khi cần anh ta có thể lấy lại được mật khẩu từ S. Là một người yêu thích số học anh ta chọn mật khẩu P là một số tự nhiên và mã hóa P = P1 + P2 + … +Pi với (Pi là số nguyên, 0<=Pi<=9, 0<i<200) đem dấu các số Pi vào một xâu ký tự S.

Chẳng hạn xâu S=’mat #223 ma 678 @’ chứa mật khẩu là 28 vì P=2+2+3+6+7+8

Yêu cầu: Cho một xâu ký tự S chiều dài không quá 255 ký tự. Viết chương trình tìm mật khẩu P đã dấu trong xâu S biết P có giá trị nhỏ hơn 10­00.

Ví dụ:

Nhập từ bàn phím

Kết quả

Nhap xau S: thihoc5sinhgioi3huyen65

P = 19

Lưu tên: D:\HSG8TIN\SBD_Bai2.pas

Bài 3. (8.0 điểm)

            Tại một văn phòng của Ủy ban nhân dân tỉnh có M người nộp hồ sơ, theo thứ tự bắt số từ 1 đến M. Tùy theo loại hồ sơ mà người ta xử lí trong thời gian nào đó của người thứ iti (i=1..M).

            Yêu cầu: Viết chương trình nhập vào số nguyên dương M (0<M<=100) và dãy số nguyên dương t1, t2, …, tn (1<=ti<=10; i=1..M) theo thứ tự là số người nộp hồ sơ và thời gian xử lí hồ sơ. Hãy tính thời gian (phút) chờ của người thứ K (K=1..M) và chở bao nhiêu người để đến lượt mình.

Ví dụ:

Nhập từ bàn phím

Kết quả

-Nhap so nguoi nop ho so M = 5

-Nhap thoi gian tung nguoi cho:

2 3 2 5 6

-Nhap nguoi thu k = 4

-Nguoi thu 4 phai cho 3 nguoi nua

-Thoi gian cho la 7 phut

Lưu tên: D:\HSG8TIN\SBD_Bai3.pas

HẾT./.

HƯỚNG DẪN CHẤM ĐỀ THI CHỌN HỌC SINH GIỎI VÒNG HUYỆN

NĂM HỌC 2018 – 2019

MÔN: TIN HỌC – LỚP 8

Bài 1. (6.0 điểm)

            Cho hai số AB là hai số nguyên dương và A phải nhỏ hơn B (0 < A, B < 100).

Yêu cầu: Viết chương trình cho phép nhập hai số A B đó từ bàn phím.

Hãy thực hiện:

a)      Tìm các số nguyên tố từ A đến B.

b)     Tìm ước chung lớn nhất của A B.

Chương trình:

Program Bai1;

Uses crt;

Var A,B,i,r: integer;

0,5 điểm

Function ngto(n: integer): boolean;

Var i: integer;

Begin

            Ngto:=false;

            If n<2 then exit;

            For i:=2 to trunc(sqrt(n)) do

                        If n mod i = 0 then exit;

            Ngto:=true;

End;

1,5 điểm

Begin

Clrscr;

            Write(‘Nhap A = ‘); Readln(A);

            Write(‘Nhap B = ‘); Readln(B);

0,5 điểm

            Writeln(‘-Cac so nguyen to: ‘);

            For i:=A to B do

                        If ngto(i) then write(i,’ ‘);

1,0 điểm

            While B<>0 do

                        Begin

                                    r:=A mod B;

                                    A:=B;

                                    B:=r;

                        End;

            Writeln(‘Uoc chung lon nhat la: ‘,A);

End.

1,5 điểm

Bộ test thử đúng: 1,0 điểm

Nhập từ bàn phím

Kết quả

-Nhap A: 48

-Nhap B: 72

-Cac so nguyen to:

53 59 61 67 71

-Uoc chung lon nhat la: 24

Bài 2. (6.0 điểm)

Việc bảo vệ máy tính để hạn chế người khác thâm nhập là một vấn đề đặt ra cho mọi nguời sử dụng máy tính. Để tăng tính an toàn trong lưu trữ, một nguời đã quyết định giấu mật khẩu truy cập máy tính của mình vào một xâu S với một qui ước sao cho khi cần anh ta có thể lấy lại được mật khẩu từ S. Là một người yêu thích số học anh ta chọn mật khẩu P là một số tự nhiên và mã hóa P = P1 + P2 + … +Pi với (Pi là số nguyên, 0<=Pi<=9, 0<i<200) đem dấu các số Pi vào một xâu ký tự S.

Chẳng hạn xâu S=’mat #223 ma 678 @’ chứa mật khẩu là 28 vì P=2+2+3+6+7+8

Yêu cầu: Cho một xâu ký tự S chiều dài không quá 255 ký tự. Viết chương trình tìm mật khẩu P đã dấu trong xâu S biết P có giá trị nhỏ hơn 10­00.

Chương trình:

Program Bai2;

Uses crt;

Var S: string;

i, j, P: integer;

0,5 điểm

Begin

Clrscr;

            Write(‘Nhap xau S: ‘); Readln(S);

0,5 điểm

            i:=1;

            P:=0;

            While i<=length(S) do

                        If S[i] in [‘0’..’9’] then

                                    Begin

                                                Val(s[i],j);

                                                P:=P+j;

                                    End;

2,5 điểm

            Writeln(‘P = ‘,P);

End.

0,5 điểm

Bộ test thử đúng mỗi bộ: 1,0 điểm

Nhập từ bàn phím

Kết quả

Nhap xau S: ki2thichon5hoc5sinhgioi3cap61huyen65

P = 33

Nhap xau S: tinhoc5that65thu1vi5

P = 22

Bài 3. (8.0 điểm)

            Tại một văn phòng của Ủy ban nhân dân tỉnh có M người nộp hồ sơ, theo thứ tự bắt số từ 1 đến M. Tùy theo loại hồ sơ mà người ta xử lí trong thời gian nào đó của người thứ iti (i=1..M).

            Yêu cầu: Viết chương trình nhập vào số nguyên dương M (0<M<=100) và dãy số nguyên dương t1, t2, …, tn (1<=ti<=10; i=1..M) theo thứ tự là số người nộp hồ sơ và thời gian xử lí hồ sơ. Hãy tính thời gian (phút) chờ của người thứ K (K=1..M) và chở bao nhiêu người để đến lượt mình.

Chương trình:

Program Bai3;

Uses crt;

Var M, i, K, t: integer;

A: array[1..1000] of integer ;

1,0 điểm

Begin

Clrscr;

            Write(‘-Nhap so nguoi nop ho so M = ‘); Readln(M);

            Writeln(‘-Nhap thoi gian tung nguoi cho: ‘);

            For i:=1 to M do read(a[i]);

            Write(‘-Nhap nguoi thu K = ‘); Readln(K);

1,0 điểm

            T:=0;

            For i:=1 to K-1 do t:=t+a[i];

2,0 điểm

            Writeln(‘Nguoi thu ‘,K,’ phai cho ‘,K-1,’ nguoi nua’);

            Writeln(‘Thoi gian cho la ‘,t,’ phut);

End;

1,0 điểm

Bộ test thử đúng mỗi bộ: 1,0 điểm

Nhập từ bàn phím

Kết quả

-Nhap so nguoi nop ho so M = 7

-Nhap thoi gian tung nguoi cho:

5 4 3 2 3 1 1

-Nhap nguoi thu k = 3

-Nguoi thu 3 phai cho 2 nguoi nua

-Thoi gian cho la 9 phut

-Nhap so nguoi nop ho so M = 10

-Nhap thoi gian tung nguoi cho:

2 3 2 3 4 1 5 2 2 6

-Nhap nguoi thu k = 8

-Nguoi thu 8 phai cho 7 nguoi nua

-Thoi gian cho la 20 phut

-Nhap so nguoi nop ho so M = 13

-Nhap thoi gian tung nguoi cho:

1 2 4 6 9 10 11 5 7 8 11 13 19

-Nhap nguoi thu k = 11

-Nguoi thu 11 phai cho 10 nguoi nua

-Thoi gian cho la 63 phut

HẾT./.