Đề thi chọn học sinh giỏi văn hoá cấp huyện môn Tin học Lớp 8 - Năm học 2022-2023 - Nguyễn Thị Tố Lan (Có đáp án)
Bạn đang xem tài liệu "Đề thi chọn học sinh giỏi văn hoá cấp huyện môn Tin học Lớp 8 - Năm học 2022-2023 - Nguyễn Thị Tố Lan (Có đáp án)", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.
File đính kèm:
de_thi_chon_hoc_sinh_gioi_van_hoa_cap_huyen_mon_tin_hoc_lop.doc
Nội dung tài liệu: Đề thi chọn học sinh giỏi văn hoá cấp huyện môn Tin học Lớp 8 - Năm học 2022-2023 - Nguyễn Thị Tố Lan (Có đáp án)
- PHÒNG GD&ĐT ĐỀ THI CHỌN HỌC SINH GIỎI LỚP 8 - THCS CẤP HUYỆN CAM LỘ HUYỆN NĂM HỌC 2022-2023 Môn: Tin học (Thời gian làm bài 120 phút không kể thời gian giao đề ) Yêu cầu chung khi làm bài: - Mỗi thí sinh tạo một thư mục tại thư mục gốc ổ đĩa D: để lưu bài thi. Tên thư mục có dạng SBDxyz. Trong đó xyz là số báo danh của thí sinh. - Bài làm các câu hỏi của mỗi bài thi được lưu trong một file và được đặt tên là BAI1.PAS, BAI2.PAS, BAI3.PAS. - Kết quả được xuất ra màn hình theo như dạng được cho ở ví dụ gồm tên câu hỏi và kết quả. - Đối với câu hỏi có nhiều kết quả thì ghi ra tất cả các kết quả tìm được. Trường hợp không có kết quả thì xuất KHONG. Bài 1. (4 điểm) Kiểm tra số chính phương CPHUONG Số chính phương là bình phương của một số nguyên. Nhập số tự nhiên n. Cho biết n có phải số chính phương hay không? Input Output 9 9 la so chinh phuong 10 10 khong la so chinh phuong Bài 2. (8 điểm) Từ dài nhất WORD Hương có một xâu chứa các kí tự alphabe ‘a’ ’z’ và các kí tự trống, cô ấy muốn tìm trong xâu các từ dài nhất có kí tự bắt đầu trùng với một kí tự bất kỳ nào đó trong xâu. Một từ theo Hương là một xâu chứa các kí tự liên tiếp không có kí tự trống là xâu con của xâu đã cho. Ví dụ, Hương có xâu ‘ toi lo lang cho viêc hoc tap qua’. Kí tự bắt đầu mà Hương muốn tìm là ‘t’, như vậy từ phải tìm là ‘toi’ , ‘tap’ Yêu cầu: Tìm các từ dài nhất theo yêu cầu của Hương Dữ liệu vào: có cấu trúc như sau: • Dòng 1: Chứa một xâu chứa các kí tự thuộc ‘a’ ’z’ và các kí tự trống. Độ dài của xâu không quá 10000 ký tự • Dòng 2: Chứa một kí tự bất kỳ thuộc ‘a’ ’z’ Dữ liệu ra: Mỗi dòng ghi một tìm được Ví dụ: Input Output toi lo lang cho viec hoc tap qua di thoi toi t tap
- Bài 3. (8 điểm) Đếm hình vuông COUNTSQ Cho một lưới ô vuông kích thước M N. Ô nằm trên giao của dòng i và cột j của lưới sẽ được gọi là ô (i, j). Trên ô (i, j) của lưới người ta viết số nguyên không âm aij. Ta gọi hình vuông đồng nhất bậc 2 của lưới là tập gồm 4 ô nằm trên giao của hai dòng liên tiếp và 2 cột liên tiếp của lưới với các số viết trên chúng là như nhau. Yêu cầu: Tính số lớn nhất các hình vuông đồng nhất bậc 2 chứa cùng một số. Dữ liệu: • Dòng đầu tiên chứa các số nguyên dương M, N (M, N ≤ 1000); • Dòng thứ i trong số M dòng tiếp theo chứa các số a i1 ai2 ... aiN, i = 1, 2, ..., M, hai số liên tiếp trên dòng được viết cách nhau một dấu cách. 0 ≤ aij≤ 255, i = 1, 2, ..., M; j = 1, 2, ..., N. Kết quả: số lượng hình vuông tìm được. Ví dụ: Input Output 5 10 3 0 1 1 0 2 2 0 5 5 0 0 1 1 0 2 2 0 5 5 0 0 0 0 1 1 0 0 0 0 0 0 8 0 1 1 1 1 0 9 0 0 0 0 0 0 1 1 0 0 0 Đáp án Bài 1: Chương trình Test const fi='cphuong.inp';fo='cphuong.out'; var n:longint; begin assign(input,fi);reset(input); assign(output,fo);rewrite(output); readln(n); if sqrt(n) = trunc(sqrt(n)) then write(n,' la so chinh phuong') else write(n,' khong la so chinh phuong'); close(input);close(output); end. Bài 2: Chương trình
- const fin='word.inp'; fon='word.out'; procedure xuli; var i,d,n,max:longint; w:array[1..1000] of string; s:string; c:char; begin n:=0; s:=''; while not eoln do begin read(c); if c<>' ' then s:=s+c else begin if s<>'' then begin inc(n); w[n]:=s; s:=''; end; end; end; inc(n); w[n]:=s; readln; read(c); //for i:=1 to n do writeln(w[i]); //writeln(c); max:=0; for i:=1 to n do
- if (w[i][1]=c) and (length(w[i])>max) then max:=length(w[i]); for i:=1 to n do if (w[i][1]=c) and (length(w[i])=max) then writeln(w[i]); end; begin assign(input,fin); reset(input); assign(output,fon); rewrite(output); xuli; close(input); close(output); end. bài 3:Chương trình const fin='countsq.inp'; fon = 'countsq.out'; maxmn=1000; var m,n:longint; a:array[1..maxmn,1..maxmn] of longint; dem:array[0..255] of longint; procedure enter; var i,j:longint; begin readln(m, n); for i:=1 to m do for j:=1 to n do read(a[i,j]); end; procedure solve; var i,j,imax:longint; begin for i:=1 to m-1 do
- for j:=1 to n-1 do if (a[i,j]=a[i,j+1]) and (a[i,j]=a[i+1,j]) and (a[i,j]=a[i+1,j+1]) then inc(dem[a[i,j]]); Imax:=0; for i:=0 to 255 do if dem[i]>dem[imax] then imax:=i; //writeln(imax,' ',dem[imax]); writeln(dem[imax]); end; begin assign(input,fin);reset(input); assign(output,fon);rewrite(output); enter; solve; close(input);close(output); end. Người ra đề: Nguyễn Thị Tố Lan

