1. Trang chủ
  2. » Giáo án - Bài giảng

Đáp án tin HSG 2010-2011 NH

8 174 1
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Đáp án Bài 1
Thể loại Đáp án
Năm xuất bản 2010-2011
Định dạng
Số trang 8
Dung lượng 50,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bài 2 viết chương trình vẽ hình 2.5điểm a Chữ nhật đặc 0.5đ b Chữ nhật rỗng 0.5đ c Tam giác cân đặc 0.5d d Tam giác cân rỗng 1đ Nhiệm vụ chương trình: Tên tập tin vehinh.pas -Cho hiện m

Trang 1

ĐÁP ÁN Bài1 (2.5đ)

Viết chương trình trò chơi đánh tù tì giữa người và máy tính

Nhiệm vụ của chương trình

-Tên tập tin Tuti.pas

- Cho hiện mê nu hướng dẫn người chơi máy cho ra kết quả

Ví dụ : búa =B , bao = P , kéo =K

- Máy cho ra kết quả thắng , hòa hay thua

Cho nhập và khởi động được ran domize (1đ)

viết được chương trình chạy cho ra kết quả (1.5đ)

program tuti;

uses crt;

var so,i,j,k,n,m,dem:integer;

kt:boolean;

s1,s2:string;

nguoi:char;

t1,t2:set of 'a' 'z';

begin

clrscr;

writeln('tro choi oanh tu ti bat dau');

writeln('tro choi oanh tu bat dau ban ra gi bua=b bao =p keo=

k ');

read(nguoi);

randomize ;

so:=random(3);

case so of

0: case nguoi of

'p' : writeln('chuc mung ban thang may = '); 'k': writeln('chia buon ban thua may ');

'b' : writeln(' ban hue may ');

end;

1: case nguoi of

'b': writeln('chuc mung ban thang may = ');

'p': writeln('chia buon ban thua may ');

'k' : writeln(' ban hue may ');

end;

2: case nguoi of 'k':writeln('chuc mung ban thang may = '); 'b': writeln('chia buon ban thua may ');

'p' : writeln(' ban hue may ');

end;

Trang 2

end;

readln;

readln;

end.

Bài 2 viết chương trình vẽ hình (2.5điểm)

a) Chữ nhật đặc 0.5đ

b) Chữ nhật rỗng 0.5đ

c) Tam giác cân đặc 0.5d

d) Tam giác cân rỗng 1đ

Nhiệm vụ chương trình:

Tên tập tin vehinh.pas

-Cho hiện mê nu để người sử dụng lựa chọn vẽ hình nào?

- Cho chọn kí tự để vẽ

- Hình chữ nhật cho phép nhập vào chiều dài ,chiều rộng -Tam giác cho nhập chiều cao

program vehinh;

uses crt;

var c,h,n,d,r,luachon:integer;

ch: char;

begin

clrscr;

writeln('ve hinh chu nhat dat nhap: 1');

writeln('ve hinh chu nhat rong nhap: 2');

writeln('ve tam giac can dac nhap: 3');

writeln('ve tam giac can rong nhap: 4');

writeln;

repeat

write('moi ban nhap so de chon ');readln(luachon);

until(0<luachon)and (luachon<5);

write('moi ban nhap ki tu de ve ');readln(ch);

case luachon of

1: begin

write('Nhap chieu dai hinh chu nhat dac');read(d);

write('Nhap chieu rong hinh chu nhat dac');read(r);

clrscr;

for c:=1 to d do

begin

for h:=1 to r do write(ch);

writeln;

end;

Trang 3

2: begin

write('Nhap chieu dai hinh chu nhat rong');read(d);

write('Nhap chieu rong hinh chu nhat rong');read(r);

clrscr;

for c:=1 to d do

begin

for h:=1 to r do

if (c=1) or (h=1)or (c=d) or(h=r) then write(ch)else write(' '); writeln;

end;

end;

3: begin

write('Nhap chieu cao tam giac dac');read(n);

clrscr;

for c:=1 to n do

begin

for h:=n-c+1 to n+c-1 do

begin

gotoxy(h,c);write(ch);

end;

writeln;

end;

end;

4: begin

write('Nhap chieu cao tam giac rong');read(n);

for h:=1 to n do

begin

for c:=1 to 2*n-1 do

if(c=n-h+1)or(c=n+h-1)or (h=n) then write(ch) else write(' '); writeln;

end;

end;

end;

readln;

readln;

end.

Trang 4

Bài3: (2.5đ)

viết chưowng trình cho phép nhập hồ sơ tối đa 50

cán bộ gồn họ và tên,năm sinh,quê quán ,tiềnlương

Nhiệm vụ chương trình:

tên tập tin hoso.pas

- Mỗi lần nhập xong một hồ sơ đều có hỏi nhập nữa không (1đ)

- sau khi nhập cho hiện ra màn hình theo thứ tự đã nhập (0.5đ)

- Cho hiện ra màn hình theo thứ tự đã được sắp xếp theo tuổi (1đ)

program li_lich_can_bo;

uses crt;

const n=50;

type hoso = record

ht,qq:string;

ns,l:integer;

end;

var cb: array[1 n] of hoso;

socb,i,j:integer;

tl:char;

tam:hoso;

begin

clrscr;

writeln('chuong trinh nhap ho so');

i:=1;

socb:=0;

repeat

write('ho ten ',i,': '); readln(cb[i].ht);

write('que quan ',i,': '); readln(cb[i].qq);

write('nam sinh ',i,': '); readln(cb[i].ns);

write('luong ',i,': '); readln(cb[i].l);

i:=i+1;

socb:=socb+1;

writeln('co nhap nua khong C/K ');readln (tl);

until tl ='k';

writeln(socb, ' li lich can bo');

for i:=1 to socb do

begin

write(' ho ten can bo : ',cb[i].ht);

write(' que quan can bo: ',cb[i].qq);

write(' nam sinh can bo: ',cb[i].ns);

write(' luong can bo: ',cb[i].l);

Trang 5

writeln;

end;

writeln('ho so sap xep theo tuoi');

for i:=1 to socb do

for j:=i+1 to socb do if cb[j].ns < cb[i].ns then

begin

tam.ht:= cb[i].ht;

tam.qq:= cb[i].qq;

tam.ns:= cb[i].ns;

tam.l:= cb[i].l;

cb[i].ht:= cb[j].ht;

cb[i].qq := cb[j].qq;

cb[i].ns:= cb[j].ns;

cb[i].l:= cb[j].l;

cb[j].ht := tam.ht;

cb[j].qq := tam.qq;

cb[j].ns := tam.ns;

cb[j].l := tam.l;

end;

for i:=1 to socb do

begin

write(' ho ten can bo :',cb[i].ht);

write(' que quan can bo: ',cb[i].qq);

write(' nam sinh can bo : ',cb[i].ns);

write(' luong can bo : ',cb[i].l);

writeln;

end;

readln;

end.

Bài 4 (2.5điểm)

Viết chương trình nhập một mảng hai chiều 3 cột 3 dòng và sắp xếp

Nhiệm vụ

tên tập tin xepmang.pas

- dữ liệu vào là mảng hai chiều 3 cột 3 dòng các số nguyên (0.5đ)

- dữ liệu ra mảng hai chiều 3 cột 3 dòng các số theo thứ tự đã nhập (0.5đ)

Trang 6

- dữ liệu ra dãy theo mảng một chiều được sắp xếp (0.5đ)

- dữ liệu ra dãy đã theo mảng hai chiều được sắp xếp (1đ)

Ví dụ:

Dữ liêu ra 2

0 1 2 3 3 4 5 7 9

Dữ liêu ra 3

program nhapsapxepmanghaichieu;

uses crt;

const n =100;

var a:array[1 n,1 n] of integer;

b:array[1 n] of integer;

tam,k,min,i,j,z,tong:integer;

tl:char;

begin

repeat {vong lap cho bien tra loi}

clrscr;

{ bat dau nhap mang}

writeln('moi ban nhap tri cho mang hai chieu');

for i:=1 to 3 do

for j:=1 to 3 do

begin

write('a[',i,',',j,'] = ');

readln (a[i,j]);

end;

{bat dau viet mang}

writeln(' mang hai chieu da nhap la');

for i:=1 to 3 do

begin

Trang 7

for j:=1 to 3 do write(a[i,j]:5);

writeln;

end;

{gan tri mang hai chieu cho mang 1 chieu}

k:=1;

for i:=1 to 3 do

for j:=1 to 3 do

begin

b[k]:= a[i,j];

k:=k+1;

end;

writeln;

{mang mot chieu la}

Writeln('mang mot chieu ');

for k:=1 to 9 do write(b[k]:5);

writeln;

{bat dau sap xep hinh xoan}

for i:=1 to 9 do

for j:=i+1 to 9 do if b[i]> b[j]then

begin

tam:=b[i];

b[i]:=b[j];

b[j]:=tam;

end;

writeln;

{mang mot chieu da sap xepla}

Writeln('mang mot chieu da sap xep ');

writeln;

for k:=1 to 9 do write(b[k]:5);

writeln;

{gan tri mang 1 chieu cho mang 2 chieu}

k:=1 ;

for i:=1 to 3 do

for j:=1 to 3 do

begin

a[i,j]:=b[k] ;

k:=k+1;

end;

writeln;

writeln(' mang hai chieu da sap xep theo hinh xoan la');

Trang 8

for i:=1 to 3 do

begin

for j:=1 to 3 do write(a[i,j]:5);

writeln;

end;

writeln('ban co lam nua khong C/K ') ;readln(tl); until upcase (tl)='K'; {ket thuc vong lap repeat} end.

Ngày đăng: 06/11/2013, 20:11

TỪ KHÓA LIÊN QUAN

w