Diễn đàn tin học Văn Lang - Vạn Ninh
Chào mừng bạn đến với Diễn đàn Tin học Văn Lang - Vạn Ninh của chúng tôi !
Hãy đăng nhập hoặc đăng kí tài khoản để trải nghiệm nhiều điều thú vị tại đây !
Thân ái !

Diễn đàn tin học Văn Lang - Vạn Ninh

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
 
Trang ChínhCalendarTrợ giúpTìm kiếmThành viênNhómĐăng kýĐăng Nhập

Share | 
 

 Đề thi tỉnh bình định

Go down 
Tác giảThông điệp
pqtoan



Posts : 72
Danh tiếng : 3
Join date : 10/11/2014

Bài gửiTiêu đề: Đề thi tỉnh bình định   1/2/2015, 14:33

SỞ GIÁO DỤC VÀ ĐÀO TẠO KỲ THI CHỌN HỌC SINH GIỎI CẤP TỈNH LỚP 9 THCS
BÌNH ĐỊNH KHÓA NGÀY 18-03-2014

ĐỀ CHÍNH THỨC Môn thi: TIN HỌC
Thời gian: 150 phút (Không kể thời gian phát đề)
Ngày thi: 18/03/2014
………………………………………..

Chú ý:
- Các file dữ liệu *.INP, *.OUT lưu trong thư mục \TINHOC9\
- Bài làm của thí sinh lưu trong thư mục \TINHOC9\<SBD>\. Ví dụ: D:\TINHOC9\SBD01\
Bài 1. (6.0 điểm) :Tách số: Ten file chương trình: Tachso.Pas
Viết chương trình tách số nguyên dương A (A<200) thành tổng của hai số nguyên dương x và y sao cho ước chung lớn nhất d của x và y là lớn nhất trong các cách phân tích có được.
Yêu cầu:
● Dữ liệu vào: File text Tachso.INP chỉ có 1 dòng chứa số nguyên dương A.
● Dữ liệu ra: File text Tachso.OUT gồm 2 dòng:
- Dòng 1: Ghi số nguyên dương A.
- Dòng 2: Ghi ba số nguyên dương x, y, d; Các số cách nhau ít nhất một khoảng trắng.
Ví dụ:

Tachso.INP
95
Tachso.OUT
95
19 76 1 9

Bài 2. (7.0 điểm) Khai triển Cantor Tên file chương trình: Cantor.PAS
Khai triển Cantor của số tự nhiên N là biểu diễn số N dưới dạng:
N= ak.k! + ak-1.(k-1)! + … + a2.2! + a1.1!
Trong đó: 0 ≤ ak ≤ k và k!= 1.2.3…(k-1).k
Viết chương trình liệt kê các hệ số ak, ak-1,…, a3, a2, a1 trong khai triển Cantor của số tự nhiên N (N<50000) . Các hệ số cách nhau ít nhất một khoảng trắng.
Yêu cầu:
● Dữ liệu vào: File text Cantor.INP chỉ có 1 dòng chứa số nguyên dương N.
● Dữ liệu ra: File text Cantor.OUT gồm 2 dòng:
- Dòng 1: Ghi số nguyên dương N.
- Dòng 2: Liệt kê các hệ số ak, ak-1,…, a3, a2, a1 trong khai triển Cantor của số tự nhiên N. Các hệ số cách nhau ít nhất một khoảng trắng.
Ví dụ:
Cantor.INP
2014
Cantor.OUT
2014
2 4 3 3 2 0

Bài 3. (7.0 điểm) Bi đổi màu: Tên file chương trình: bidoimau.PAS
Trên bàn có ba loại bi màu đỏ, xanh, vàng với số lượng lần lượt là: x, y, z (x, y, z < 400). Mỗi khi cho hai viên bi khác màu chạm vào nhau thì chúng sẽ đổi sang màu còn lại.
Viết chương trình trình bày quy trình chạm bi sao cho sau khi thực hiện thì trên bàn chỉ còn một màu bi nào đó. Nếu không xử lý được thì xuất ra thông báo “Khong thuc hien duoc”.
Yêu cầu:
● Dữ liệu vào: File text Bidoimau.INP chỉ có 1 dòng chứa 3 số nguyên dương x, y, z lần lượt là số bi đỏ, xanh, vàng có trên bàn. Các số cách nhau ít nhất một khoảng trắng
● Dữ liệu ra: File text Bidoimau.OUT gồm một trông hai trường hợp:
Trường hợp 1 (Nếu bài toán giải được): Gồm nhiều dòng, mỗi dòng gồm 3 số tự nhiên là số lượng của từng loại bi sau một bước va chạm .
Trường hợp 2 (Nếu bài toán không giải được): Đưa ra câu không báo “Khong thuc hien duoc”
Ví dụ 1:
Bidoimau.INP
2 3 4
Bidoimau.OUT
Khong thuc hien duoc

Ví du 2:
Bidoimau.INP
3 4 1
Bidoimau.OUT
3 4 1
5 3 0
4 2 2
6 1 1
8 0 0


Về Đầu Trang Go down
Xem lý lịch thành viên
nhathuyvanlang

avatar

Posts : 49
Danh tiếng : 9
Join date : 26/03/2016

Bài gửiTiêu đề: Re: Đề thi tỉnh bình định   8/2/2017, 08:56

Bài 1:
Code:
uses crt;
var ucln,pt:array[1..100] of integer;
    n,i,j,k,t,a,max:integer;
    f:text;
function uoc(a,b:integer):integer;
var i,max:integer;
begin
    max:=0;
    for i:=1 to a or b do
    if (a mod i=0) and (b mod i=0) and (i>max) then max:=i;
    uoc:=max;
end;
{_}
begin
clrscr;
write(uoc(3,6));
assign(f,'tachso.txt');
rewrite(f);
write('nhap so A:');readln(a);
writeln(f,'so A la:',a);
for i:=1 to a do
for j:=a downto 1 do
if (i+j=a) and (uoc(i,j)>max) then max:=uoc(i,j);
for i:=1 to a do
for j:=a downto 1 do
if (uoc(i,j)=max) and (i+j=a) then
  begin
        writeln(f,'so x la:',i);
        writeln(f,'so y la:',j);
        writeln(f,'ucln la:',max);
        close(f);
        readln;
        exit;
  end;
readln;
end.
Về Đầu Trang Go down
Xem lý lịch thành viên
nhathuyvanlang

avatar

Posts : 49
Danh tiếng : 9
Join date : 26/03/2016

Bài gửiTiêu đề: Re: Đề thi tỉnh bình định   8/2/2017, 09:40

Bài 2:
Code:
uses crt;
var a:array[1..100] of integer;
    n,k,i,t:longint;
    f:text;
function gt(a:integer):longint;
var i,tich:longint;
begin
    tich:=1;
    for i:=1 to a do tich:=tich*i;
    gt:=tich;
end;
begin
clrscr;
assign(f,'bai2.txt');
rewrite(f);
write('nhap so :');readln(n);
for i :=1 to 8 do if n>=gt(i) then k:=i;
repeat
      write(f,n div gt(k):3);
      n:=n-(n div gt(k))*gt(k);
      k:=k-1;
      if n=0 then for i:=k downto 1 do write(f,'  0');
until n=0;
close(f);
readln;
end.
Về Đầu Trang Go down
Xem lý lịch thành viên
pqtoan



Posts : 72
Danh tiếng : 3
Join date : 10/11/2014

Bài gửiTiêu đề: Re: Đề thi tỉnh bình định   8/2/2017, 10:24

Code:
uses crt;
var x,y,z:integer;
    a,b,c:integer;
    f:text;
{-}
function w(var x,y,z:integer):boolean;
begin
    repeat
    while (y<>0) and (z<>0) do
    begin
          x:=x+2;y:=y-1;z:=z-1;
    end;
    if (y=0) and (z>1) then
    begin
          x:=x-1;y:=y+2;z:=z-1;
    end;
    if (y>1) and (z=0) then
    begin
          x:=x-1;y:=y-1;z:=z+2;
    end;
    until ((y=0)and(z=0))or((y=0)and(z=1))or((y=1)and(z=0));
    if (y=0)and(z=0) then w:=true;
    if (y=0)and(z=1) then w:=false;
    if (y=1)and(z=0) then w:=false;
end;
{-}
begin
clrscr;
assign(f,'B3');
rewrite(f);
write('Nhap so luong bi ba mau:');readln(a,b,c);
writeln(f,'So luong bi 3 mau:',a,' ; ',b,' ; ',c,'');
x:=a;y:=b;z:=c;
if w(a,b,c)=false then
begin
    write('Ko thuc hien duoc');
    write(f,'ko thuc hien duoc');
end;
if w(a,b,c)=true then
begin
    writeln('',x,' ',y,'  ',z,'');
    writeln(f,'',x,'  ',y,'  ',z,'');
    repeat
    while (y<>0) and (z<>0) do
    begin
          x:=x+2;y:=y-1;z:=z-1;
          writeln('',x,' ',y,' ',z,'');
          writeln(f,'',x,'  ',y,'  ',z,'');
    end;
    if (y=0) and (z>1) then
    begin
          x:=x-1;y:=y+2;z:=z-1;
          writeln('',x,' ',y,' ',z,'');
          writeln(f,'',x,'  ',y,'  ',z,'');
    end;
    if (y>1) and (z=0) then
    begin
          x:=x-1;y:=y-1;z:=z+2;
          writeln('',x,' ',y,' ',z,'');
          writeln(f,'',x,'  ',y,'  ',z,'');
    end;
    until (y=0)and(z=0);
end;
close(f);
readln;
end.
Về Đầu Trang Go down
Xem lý lịch thành viên
thuynganhb



Posts : 10
Danh tiếng : 1
Join date : 09/01/2017

Bài gửiTiêu đề: Re: Đề thi tỉnh bình định   13/2/2017, 11:21

Mọi người giải nốt câu còn lại đi ạ
Về Đầu Trang Go down
Xem lý lịch thành viên
nhathuyvanlang

avatar

Posts : 49
Danh tiếng : 9
Join date : 26/03/2016

Bài gửiTiêu đề: Re: Đề thi tỉnh bình định   19/2/2017, 09:24

thuynganhb đã viết:
Mọi người giải nốt câu còn lại đi ạ
Bài 3: Thuật toán: Chuyển hai số lớn nhất cho cái nhỏ nhất.Nếu có hai loại bằng nhau thì chuyển cho cái còn lại. Nếu trong vòng lặp lặp lại quá nhiều lần thì thoát Smile
Code:
uses crt;
var a,b,c,dem:integer;
begin
clrscr;
write('nhap cac so bi:');readln(a,b,c);
writeln(a:3,b:3,c:3);
repeat
if (a>b) and (c>b) then
   begin
        a:=a-1;b:=b-1;c:=c+2;
   end;
if (b>a) and (c>a) then
   begin
        a:=a+2;b:=b-1;c:=c-1;
   end;
if (a>c) and (b>c) then
   begin
        a:=a-1;b:=b-1;c:=c+2;
   end;
if b=c then begin a:=a+2;b:=b-1;c:=c-1;end;
if A=c then begin b:=a+2;a:=a-1;c:=c-1;end;
if b=a then begin c:=a+2;b:=b-1;a:=c-1;end;
write(a:3,b:3,c:3);
writeln;
if ((a<>0) and (b<>0)) or ((b<>0) and (c<>0)) or ((a<>0) and (c<>0)) then dem:=dem+1;
if dem=15 then begin writeln('khong duoc');readln;exit;end;
until  ((a=0) and (b=0)) or ((b=0) and (c=0)) or ((a=0) and (c=0));
readln;
end.
Về Đầu Trang Go down
Xem lý lịch thành viên
Sponsored content




Bài gửiTiêu đề: Re: Đề thi tỉnh bình định   

Về Đầu Trang Go down
 
Đề thi tỉnh bình định
Về Đầu Trang 
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
Diễn đàn tin học Văn Lang - Vạn Ninh :: Các bộ đề thi-
Chuyển đến