1. Trang chủ
  2. » Trung học cơ sở - phổ thông

Đề 3 ôn thi học sinh giỏi môn Tin học 9 cấp tỉnh

8 48 1

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 8
Dung lượng 20,02 KB
File đính kèm De 3.rar (18 KB)

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

Nội dung

Tuyển tập đề ôn thi học sinh giỏi môn tin 9 cấp tỉnh, Đề thi học sinh giỏi tin 9, đề thi môn tin 9 cấp tỉnh, ôn thi học sinh giỏi môn tin 9, Tổng hợp đề thi môn tin 9 cấp tỉnh, tài liệu ôn thi môn tin 9 cấp tỉnh, đề thi có đáp án môn tin 9.

Trang 1

ĐỀ THI THỬ SỐ 3 Bài 1 (5 điểm) Viết chương trình in ra dãy số nhị phân có n chữ số (n<=10) + N là số nguyên dương

+ Số N là số lượng kí số nhị phân được in ra.

Bài toán liệt kê các dãy nhị phân độ dài n là bài toán cổ điển dùng để minh họa cho phương pháp sinh và thuật toán quay lui Trong bài này, mình sẽ viết về thuật toán sinh các dãy nhị phân độ dài n hay nói cách khác là liệt kê các dãy nhị phân có độ dài n bằng phương pháp sinh

Yêu cầu: Viết chương trình in ra các chuỗi nhị phân có độ dài n (chuỗi nhị phân

có độ dài n là chuỗi số có số chữ số bằng n và các chữ số trong chuỗi chỉ gồm 0

và 1.)

Input: Độ dài của chuỗi nhị phân cần in ra

Output: In ra tất cả chuỗi nhị phân có độ dài ở đầu vào

Ví dụ:

Input: 3

Out put: 000 001 010 011 100 101 110 111

Bài 2 (7 điểm) Dãy số tăng

Một dãy số a1, a2, …, an được gọi là dãy tăng nếu như nó thỏa điều kiện: a1< a2< … < an

- Yêu cầu: Cho dãy số nguyên a1, a2, …, an Hãy cho biết dãy số này có phải là

dãy tăng hay không?

Nếu không phải dãy tăng thì hãy cho biết chỉ số k nhỏ nhất của phần tử làm cho dãy không có tính chất của dãy tăng

- Dữ liệu vào:

· Dòng đầu tiên ghi số nguyên n(1<n≤1000)

· Dòng thứ hai ghi dãy n số nguyên a1, a2, …, an (-1000 ≤ ai≤ 1000, i=1 n)

- Kết quả: Ghi ra màn hình một số nguyên duy nhất k Trường hợp dãy đã cho là

dãy tăng thì ghi số 1

Bài 3 (8 điểm) Phần thưởng (PT.PAS)

Trong cuộc thi giải toán qua mạng internet mỗi học sinh đều có số điểm tích lũy riêng của mình Số điểm tích lũy của mỗi học sinh là một số nguyên dương K (0 < K ≤ 2×109) Đội tuyển của trường THCS Tài Năng có N học sinh tham gia dự thi (2 ≤ N ≤ 100) Tại buổi gặp mặt trước kỳ thi cấp tỉnh, thầy hiệu trưởng quyết định thưởng cho các học sinh trong đội tuyển Q triệu đồng, biết rằng điểm tích lũy của mỗi học sinh đều chia hết cho Q

Yêu cầu: Hãy tìm số nguyên dương Q lớn nhất.

Dữ liệu vào:

- Dòng 1: Ghi số nguyên dương N là số lượng học sinh.

Trang 2

- Dòng 2: Ghi N số nguyên dương lần lượt là điểm tích lũy của N học sinh, các số

được ghi cách nhau ít nhất một dấu cách

Dữ liệu ra: Ghi ra màn hình như sau:

- Dòng 1: Ghi số nguyên dương Q tìm được.

Ví dụ:

5

HƯỚNG DẪN ĐỀ THI THỬ SỐ 3

Bai 1.

program tim_DNP;

const

nmax=9;

type

data = byte;

var

n:data;

DNP: array [1 nmax]of data;

procedure xuat;

var i:data;

begin

for i:=1 to n do

write (DNP[i]);

writeln;

Trang 3

procedure In_DNP(i:data);

var j:data;

begin

if i>n then

xuat

else

for j:=0 to 1 do

begin

DNP[i]:=j; In_DNP(i+1); end;

end;

begin

writeln ('nhap do dai DNP'); readln(n);

In_DNP(1);

readln

end

Bài 2.

Program day_tang;

uses crt;

Var A: Array [0 1000] of Longint;

Trang 4

Begin

clrscr;

write ('nhap so n = ');readln(n);

For i:=1 To n Do

Begin

Write('Phan tu A[',i,']= '); Readln(a[i]); End;

For i:=1 To n Do Write(a[i],' ');

writeln;

i:=1;

While (i<=n-1) and (a[i]<a[i+1]) do i:=i+1;

If i<=n-1 then Write(i+1)

Else Write(0);

readln

End

Bài 3

Code 1

Program Phan_thuong;

Type mang=Array[0 101] of Longint; Var N,i,ucln,usc,sodu,x,y:Longint;

TS:mang;

Trang 5

writeln ('nhap so thi sinh'); readln(n);

for i:=1 to n do

begin

write('nhap diem tich luy cho thi sinh TS[',i,']');readln(TS[i]); end;

for i:=1 to n do

begin

writeln (TS[i]);

end;

{tim USCLN}

sodu:=x mod y;

While sodu<>0 do

Begin

x:=y;

y:=sodu;

sodu:=x mod y;

End;

UCLN:=y;

{tim USC}

USC:=UCLN(TS[1],TS[2]);

for i:= 3 to N do

begin

Trang 6

USC:=UCLN(USC,A[i]);

USC:=USC;

End;

Readln

End

Code 2

program phanthuong1;

var uoc,i,n: longint;

a: array[1 100] of longint; function uc(a,b: longint): longint; var r: longint;

begin

r:=a mod b;

while r<>0 do

begin

a:=b;

b:=r;

r:=a mod b;

end;

uc:=b;

end;

begin

Trang 7

write('Nhap so hoc sinh ');

readln(n);

while (n<2) or (n>10) do

begin

write('Nhap la n: ');

readln(n);

end;

for i:=1 to n do

begin

write('Phan tu thu ',i,' la: ');

readln(a[i]);

while (a[i]<0) or (a[i]>1000000000) do

begin

write('Nhap lai diem tich luy cua hoc sinh thu ',i,': '); readln(a[i]);

end;

end;

uoc:=0;

for i:=1 to n do

uoc:=uc(a[1],a[2]);

uoc:=uc(uoc,a[i]);

write('Uoc chung lon nhat cua day la: ',uoc);

readln

Trang 8

end.

Ngày đăng: 26/02/2021, 09:43

TỪ KHÓA LIÊN QUAN

w