| Nơi trao đổi thông tin Văn Lang Nơi trao đổi thông tin, tăng cường hợp tác, giải đáp những vướng mắc khi học lập trình Pascal |
| | đề thi hsg | |
| | Tác giả | Thông điệp |
---|
pqtoan Admin
Posts : 76 Danh tiếng : 3 Join date : 10/11/2014
| Tiêu đề: đề thi hsg 25/1/2015, 14:46 | |
| ĐỀ THI CHÍNH THỨC KỲ THI CHỌN HỌC SINH GIỎI LỚP 9 CẤP TỈNH MÔN: TIN HỌC THỜI GIAN: 150 PHÚT (Không kể thời gian phát đề)
Lưu ý: Thí sinh tạo thư mục là SBD của mình, làm bài và lưu với tên tập tin là bai1.pas, bai2.pas, bai3.pas vào thư mục SBD vừa tạo.
Câu 1: (7 điểm) Số nguyên dương n gọi là song tố khi n là số nguyên tố và tổng chữ số của nó cũng là số nguyên tố. Yêu cầu: Viết chưong trình thực hiện công việc sau: a) Nhập vào số nguyên n. Hãy cho biết n có là số song tố hay không? b) In ra các số song tố bé hơn hoặc bằng n. c) In ra các cặp số nguyên tố lẻ liên tiếp nhỏ hơn hoặc bằng n. Ví dụ: Nhập Câu a Câu b Câu c n=11 So n la so song to 2 3 5 7 11 (3,5); (5,7)
Câu 2: (7.0 điểm) Cho một chuỗi gồm n2 ký tự. Người ta cắt chuỗi từ trái sang phải thành n chuỗi con, mỗi chuỗi con có đúng n ký tự. Viết mỗi chuỗi con thành một cột, ta có một bảng gồm n hàng và n cột ký tự. Yêu cầu: Viết chương trình nhập vào một chuỗi gồm n2 ký tự (4 n2 255). a) In ra màn hình các hàng có tổng mã ASCII của các ký tự là lớn nhất. b) In giá trị tổng ở câu a ra màn hình. Ví dụ: Nhập chuỗi abcdefghi Bảng a d g b e h c f i Kết quả a) c f i b) 306
Câu 3: (6.0 điểm) Khi đào hầm Thủ Thiêm người ta dùng một Robot để đào, ban đầu người ta đào đường hầm 1 đơn vị độ dài sau đó đặt Robot xuống. Robot này được điều khiển bởi 2 lệnh là: C1 và N2. - Lệnh C1 là đào thêm 1 đơn vị độ dài thì tốn 2 đơn vị năng lượng. - Lệnh N2 là đào thêm một đoạn đường hầm bằng độ dài đang có thì tốn 4 đơn vị năng lượng. Hãy viết chương trình ra lệnh cho Robot đào một đường hầm có độ dài k đơn vị độ dài với các lệnh là ít nhất và sự tiêu tốn năng lượng là thấp nhất. Biết ban đầu đường hầm dài 1 đơn vị độ dài. Yêu cầu: - Dữ liệu vào trong tập tin Robot.inp gồm một số k là độ dài đường hầm cần đào. - Dữ liệu ra trong tập tin Robot.out gồm hai dòng: + Dòng đầu là số năng lượng ít nhất đã tiêu tốn cho Robot đào hầm. + Dòng tiếp theo chứa các lệnh C1 hoặc N2, mỗi lệnh cách nhau 1 khoảng trắng. Ví dụ: Robot.inp 10 Robot.out 12 C1 N2 C1 N2
(Giám thị coi thi không giải thích gì thêm) --- Hết--- | |
| | | Admin Admin
Posts : 121 Danh tiếng : 6 Join date : 10/11/2014 Age : 22
| Tiêu đề: Re: đề thi hsg 25/1/2015, 15:59 | |
| Đáp án bài 3: uses crt; var q:array[1..100] of integer; l,d,i,t: word; begin clrscr; write(' Nhap do dai duong ham: '); readln(l); d:= 0; repeat inc(d); if l mod 2 = 1 then begin q[d]:= 2; dec(l) end else begin q[d]:= 4; l:= l div 2 end; until l=2; inc(d); q[d]:= 2; t:= 0; for i:= 1 to d do t:= t+q[i]; writeln(' Tong nang luong: ',t); for i:= 1 to d do if d=2 then write(' C1') else write(' N2'); readln end. | |
| | | Admin Admin
Posts : 121 Danh tiếng : 6 Join date : 10/11/2014 Age : 22
| Tiêu đề: Re: đề thi hsg 25/1/2015, 16:01 | |
| Đáp án bài 1: uses crt; var n,i: word; function snt(n: word): boolean; var i: word; d: byte; begin d:= 0; for i:= 1 to n do if n mod i = 0 then inc(d); if d=2 then snt:= true else snt:= false; end; function tcs(n: word): byte; var s,t: word; begin s:= n; t:= 0; repeat t:= t+(s mod 10); s:= s div 10; until s=0; tcs:= t; end; begin clrscr; write('Nhap vao mot so: '); readln(n); if snt(n) and snt(tcs(n)) then writeln(n,' la so song to.') else writeln(n,' khong phai la so song to.'); writeln('Cac so song to ko lon hon ',n,': '); for i:= 1 to n do if snt(i) and snt(tcs(i)) then write(i:5); writeln; writeln('Cac cap so nguyen to sinh doi khong lon hon ',n,': '); for i:= 3 to n-2 do if snt(i) and snt(i+2) then writeln(i,' ; ',i+2); readln end. | |
| | | Admin Admin
Posts : 121 Danh tiếng : 6 Join date : 10/11/2014 Age : 22
| Tiêu đề: Re: đề thi hsg 25/1/2015, 16:02 | |
| Đáp án bài 2: uses crt; var a:array[1..16] of word; c:string; i,j,n: byte; max: word; begin clrscr; write(' Nhap chuoi: '); readln(c); n:= trunc(sqrt(length(c))); writeln(' Bang la: '); for i:= 1 to n do begin for j:= 1 to n do begin write(' ',c[n*(j-1)+i]); a[i]:= a[i]+ ord(c[n*(j-1)+i]); end; writeln; end; max:= a[1]; j:= i; for i:= 2 to n do if a[i]>max then max:= a[i]; writeln(' Ket qua: '); writeln(' a/'); for i:= 1 to n do if a[i]=max then begin for j:= 1 to n do write(' ',c[n*(j-1)+i]); writeln end; writeln; writeln(' b/ Tong ma ASCII cua cac ki tu: ',max); readln end. | |
| | | Nhọn Sky M-tp(Anh Vũ)
Posts : 11 Danh tiếng : 0 Join date : 16/11/2014 Age : 23
| Tiêu đề: Re: đề thi hsg 5/2/2015, 16:30 | |
| uses crt; var n,i,m,tong:integer; begin clrscr; write('nhap so n=');readln(n); if n<=1 then write('ko co so nguyen to nao nho hon ',n) else writeln('cac so nguyen to nho hon ',n,' la '); tong:=0; for i:=2 to n do begin m:=2; while i mod m<>0 do inc(m); if m=i then begin writeln(m:3); tong:=tong+m; end; end; writeln('tong cac so nguyen to nho hon ',n,' la ',tong); readln; end.
| |
| | | anhtruong35
Posts : 6 Danh tiếng : 0 Join date : 16/11/2014
| Tiêu đề: Re: đề thi hsg 5/2/2015, 16:30 | |
| uses crt; type mang=array[1..100]of integer; var a,b,c:mang; n,m,l:integer; {******nhap******} procedure nhap(var a:mang;n:integer); var i:integer; begin for i:=1 to n do begin write('a[',i,']:=');readln(a[i]); end; end; {******xuat******} procedure xuat(var a:mang;m:integer); var i:integer; begin for i:=1 to n do write(a[i]:5); writeln; end; {****************} procedure sapxep(var a:mang;n:integer); var i,j,t:integer; begin for i:=1 to n-1 do for j:=i+1 to n do if a[i]>a[j] then begin t:=a[i]; a[i]:=a[j]; a[j]:=t; end; end; {*****************} procedure tronmang(a,b:mang;var c:mang;n,m:integer;var l:integer); var i,j,t:integer; begin i:=1;j:=1;t:=1; while (i<=n) and (j<=m) do if a[i]<=b[j] then begin c[t]:=a[i]; t:=t+1; i:=i+1; end else begin c[t]:=b[j]; t:=t+1; j:=j+1; end; while i<=n do begin c[t]:=a[i]; t:=t+1; i:=i+1; end; while j<=m do begin c[t]:=b[j]; t:=t+1; j:=j+1; end; l:=t-1; end; {***************} begin clrscr; writeln('chuong trinh tron hai mang'); writeln('nhap du lieu cho day a:'); write('nhap so phan tu cua day a:');readln(n); nhap(a,n); writeln('nhap du lieu cho day b:'); write('nhap so phan tu cua day b:');readln(m); nhap(b,m); readln; writeln('day a sau khi duoc sap xep tang dan la:'); sapxep(a,n); xuat(a,n); readln; writeln('day b sau khi duoc sap xep tang dan la:'); sapxep(b,m); xuat(b,m); readln; writeln('tron day a va day b la:'); tronmang(a,b,c,n,m,l); xuat(c,l); readln; end.
| |
| | | Sponsored content
| Tiêu đề: Re: đề thi hsg | |
| |
| | | | đề thi hsg | |
|
Trang 1 trong tổng số 1 trang | |
| Permissions in this forum: | Bạn không có quyền trả lời bài viết
| |
| |
| |
|