Cộng đồng chia sẻ tri thức Lib24.vn

Đề thi chọn HSG Tin 9

64406fa3806e5d729ac6a9b0b68ed704
Gửi bởi: Nguyễn Minh Lệ 25 tháng 7 2021 lúc 18:58:10 | Được cập nhật: 2 giờ trước (1:28:03) bởi: pascaltinhoc8 | IP: 113.165.74.10 Kiểu file: DOC | Lượt xem: 207 | Lượt Download: 1 | File size: 0.037888 Mb

Nội dung tài liệu

Tải xuống
Link tài liệu:
Tải xuống

Các tài liệu liên quan


Có thể bạn quan tâm


Thông tin tài liệu

Bài 1: (6 điểm) Cho một dãy số nguyên có số phần tử âm bằng số phần tử dương lấy ra từ tệp ‘SN.dat’ hãy viết chương trình tạo thành dãy số âm và số dương lồng nhau ( số âm, số dương, số âm, số dương…) Sao cho dãy số dương không giảm, dãy số âm không tăng . VD: -1 2 -3 5 -5 6 -5 6 -6 9 Bài 2: (5 điểm)Viết chương trình in ra màn hình tam giác số sau: 1 21 321 4321 54321 654321 7654321 87654321 987654321 Bài 3: (5 điểm) a, Viết chương trình kiểm tra xem k có phải là số “tương lai” hay không (số “tương lai” là số có các ước (khác 1) là các số nguyên tố). VD: số 10 có ước là 2 và 5 là các số nguyên tố nên 10 là số “tương lai”. b, Cho một dãy số nguyên dương lấy ra từ tệp ‘SND.dat’ hãy viết chương trình in tất cảc các số “tương lai” có trong dãy ra màn hình. Bài 4(4 điểm) Cho một dãy số nguyên lấy ra từ tệp ‘DSN.dat’ hãy viết chương trình tìm đoạn dài nhất các phần tử liên tiếp có giá trị chẵn. VD cho dãy: 1 2 4 2 8 10 1 7 8 6 42 6 8 4 28 1 8 9 6 2 3 8 đoạn dài nhất là: 8 6 42 6 8 4 28 Đáp án Bài 1 program bai1; var A:array [1..40] of integer; n,i,j,k: byte; f:text; procedure traodoi(var x,y:integer); var tam:integer; begin tam:=x; x:=y; y:=tam; end; BEGIN i:=0; assign(f, 'SN.dat'); reset(f); readln(f,k); while not eof(f) do begin i:=i+1; read(f,a[i]); end; close(f); n:=i; for i:=1 to n do for j:=1 to n-1 do if a[j]>a[j+1] then traodoi(a[j],a[j+1]); writeln(' Day da sap xep la:'); for i:=1 to n do write(a[i],' '); j:=1; if a[1]>=k then begin for i:=n+1 downto 2 do a[i]:=a[i-1]; a[1]:=k; end else if a[n]<=k then a[n+1]:=k else begin while (j5 then begin snt:=true; for u:=2 to x div 2 do if x mod u=0 then snt:=false; end; end; BEGIN i:=0; assign(f, 'SND.dat'); reset(f); while not eof(f) do begin i:=i+1; read(f,a[i]); end; close(f); n:=i; writeln('Day vua lay ra tu tep la:'); for i:=1 to n do write(a[i],' '); assign(f,'DSNT.dat'); rewrite(f); for i:=1 to n do if snt(a[i])=true then write(f,a[i],' '); readln; end. Bài 3 program bai3; var a:array[1..30] of byte; k,i,j:integer; begin write(' Nhap so nguyen duong:'); readln(k); while k
0 do begin i:=i+1; a[i]:=k mod 2; k:=k div 2; end; writeln('So nhi phan la:'); for j:=i downto 1 do write(a[j]); readln end. Bài 4 program doan_dai_nhat; var f:text; a:array[1..50] of integer; i,n,vt,d,dd:byte; begin assign(f,'sn.dat'); reset(f); i:=0; while not eof(f) do {doc tep} begin i:=i+1; read(f,a[i]); end; close(f); n:=i; for i:=1 to n do write(a[i],' '); {in day vua doc ra man hinh} writeln; writeln; i:=1; vt:=1;d:=1;dd:=1; while i