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

Bai on tap HSG tin học THCS

33 545 1

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 33
Dung lượng 328,5 KB

Nội dung

BÀI ƠN TẬP TIN HỌC Bài 1: Viết chương trình nhập vào số tự nhiên N (N số lẻ), sau điền số từ đến n vào vng cho tổng hàng ngang, hàng dộc hai đường chéo (bảng gọi Ma phương) Ví dụ: - Nhập N = -> Xuất Bắc - Nhập N = -> Xuất 22 15 20 25 21 Đơng 19 Cách giải: Xuất phát từ bên phải nằm Đi theo hướng đơng bắc để điền số 1,2,3… Khi điền số, cần ý ngun tắc sau: + Nếu vượt phía ngồi bên phải bảng quay trở lại cột + Nếu vượt phía ngồi bên bảng quay trở lại dòng cuối + Nếu số điền k chia hết cho N số viết hàng với k cách 01 phía bên phải Bài 2: Nhập dãy số thực a Tính tổng a1-a2+a3- … Cách giải: Nhập n dãy số thực n Dùng biến d lấy giá trị +1 hay -1 (ứng với dấu + hay – tổng) Khởi đầu tổng s = 0, d=+1 Dùng vòng lặp FOR, cho I chạy từ đến n s:=s+a[i]*d; d:=-d; Bài 3: Cấp số cộng (Đề thi cấp Quận Thốt Nốt NH 2014-2015) Một dãy số gọi cấp số cộng từ số hạng thứ hai trở số hạng số hạng đứng trước cộng với số khơng đổi Ví dụ: 1,4,7,10 * u cầu: Nhập dãy số ngun a gồm n số số k>=3 Xét xem: + Trong dãy có k số đứng cạnh lập thành cấp số cộng? + Cả dãy cấp số cộng * Ví dụ: Dữ liệu nhập từ bàn phím Kết xuất hình n=6 Co k=3 Day so khong la cap so cong 15 * Cách giải: - Nhập n dãy a gồm n số ngun Nhập k + Dùng biến d để điếm k số đứng cạnh lập thành cấp số cộng + Dùng biến d1 để đếm phần tử vừa đọc đứng cạnh có tính chất: với hai số đứng kề sau lập thành cấp số cộng + Dùng biến d2 để điếm riêng số đứng cạnh lập thành cấp số cộng - Khởi đầu d=0, d1=0, d2=0 - Dùng vòng lặp FOR cho I chạy từ đến n – + Nếu a[i] + a[i+2] = 2*a[i+1] tăng d1 tăng d2 ngược lại cho d1=0; + Nếu d1+2>=k tăng d - Ra khỏi vòng lặp, d > có k số đứng cạnh lập thành cấp số cộng ngược lại khơng có - Nếu d2 = n – dãy cấp số cộng ngược lại khơng phải Bài 4: Nhập dãy số thực a Hãy thực cơng việc sau: Các phần tử trùng giữ lại Cách giải: Nhập n dãy số thực n Ký hiệu k số phần tử có mảng Dùng thủ tục THEM(x) để bổ sung phần tử vào mảng a: Dùng vòng lặp FOR, cho i chạy từ đến k Nếu a[i] = x thủ tục Ra khỏi vòng lặp tăng k, cho a[k]:= x Trong chương trình chính: Dùng vòng lặp FOR, cho i chạy từ đến n Nhập x; gọi thủ tục THEM(x) Ra khỏi vòng lặp in lại dãy a với k phần tử Bài 5: Nhập dãy số thực a Nhập số x - Sắp xếp dãy a thành dãy giảm - Có phần tử = x cho trước khơng? Nếu khơng có, bổ sung x vào dãy cho khơng phá vỡ tính chất giảm dãy Cách giải: Nhập n dãy số thực a Nhập số x - Dùng vòng lặp FOR lồng Cho i chạy từ đến n – Cho j chạy từ i+1 đến n Nếu a[i]=n[j]) and (n[j]>=n[k])) or ((n[i][...]... code:integer; begin tong:=0; str(so,s); for i:=1 to k do begin val(s[i],tam,code); tong:=tong+luythua(tam,k); end; if tong=so then writeln(so); end; procedure xuli; var i,x:longint; begin for i:=n to m do begin x:=i; ams(x); end; end; begin nhap; xuli; readln; end Bài 18: Program Phan_thuong; Type mmc=Array[0 101] of Longint; 23 Var N:Longint; b,A:mmc; k,i,j,t,d:integer; Function UCLN(x,y:Longint):Longint; Begin... begin tam:=a[i]; a[i]:=a[k]; a[k]:=tam; end; end; begin {chuong trinh chinh} nhapmang; sapxep; if ktcs then begin writeln('La cap so cong'); writeln('Cong sai la ',d:0:2); 14 end else writeln('Khong lap thanh cap so cong'); writeln(‘Da xu ly xong’); readln; end Bài 7: Xâu chuẩn Program Bai1 ; Var s:string; i,n,k:integer; tam:boolean; Begin{Chuong trinh chinh} Write('Nhap xau ky tu: ');readln(s); tam:=true;... Write('Nhap so phan tu cua day con: m= '); Readln(m); k:=1; {V? trí ph?n t? d?u tiên c?a dãy con} {Gi? s? m ph?n t? d?u tiên c?a m?ng A là dãy con có t?ng l?n nh?t} Max:=0; For i:=1 To m Do Max:=Max+A[i]; {Tìm các dãy con khác} For i:=2 To n-m+1 Do Begin {Tính t?ng c?a dãy con th? i} S:=0; For j:=i To i+m-1 Do S:=S+A[j]; If S>Max Then {N?u dãy con tìm du?c có t?ng l?n hon dãy con tru?c} Begin Max:=S; {Thay... program Amstrong; var k,n,m:longint; procedure nhap; var i:longint; begin write('Nhap so co bao nhieu chu so: ');readln(k); 22 n:=1; m:=1; for i:=1 to k-1 do begin n:=n*10; m:=m*10; end; m:=m*10-1; end; function Luythua (a:integer; b:integer):integer; var i,r : integer; begin r := 1; if b >= 1 then for i := 1 to b do r := r*a; Luythua := r; end; procedure ams(var so:longint); var i,tong,tam:longint; s:string;... writeln('Da xu ly xong'); Readln; End Bài 31: Program Bai3 1; var s1,s2,s3:string; k:integer; ch:char; begin write('Nhap s1: ');readln(s1); 31 write('Nhap s2: ');readln(s2); k:=pos(s2,s1); if k=0 then writeln('Xau s2 khong co xuat hien trong xau s1') else begin writeln('Xau s2 co xuat hien trong xau s1'); writeln('O vi tri: ',k); end; write('Co muon thay the xau s2 bang xau s3 khong? Bam "C" hoac "K":... writeln('Xau sau khi chinh sua la:'); writeln(s) ; Readln; End 15 Bài 8: Số nhỏ nhất program Bai3 ; var s,s1:string; i,n,k,k1:integer; function chon(i:integer):integer; var j,c:integer; min:char; begin min:=s[k1]; c:=k1; for j:=k1+1 to n-k+i do if min>s[j] then begin min:=s[j]; c:=j; end; s1:=s1+s[c]; chon:=c; end; begin {chuong trinh chinh} write('Nhap vao mot so: ');readln(s); write('Nhap so chu so can xoa:... a[i,j]:=chr(ord(a[i-1,j])+1-n); 16 for i:=1 to n do begin for j:=1 to n do write(a[i,j]:3); writeln; end; readln; end Bài 10: program Bai1 0; const fi= 'bai. inp'; fo= 'bai. out'; var n:byte; f:text; procedure nhap; begin assign(f,fi); reset(f); read(f,n); close(f); end; function kt(x:integer):boolean; var a,b,c:byte; begin kt:=true; a:=x div 100; b:=x mod 100 div 10; c:=x mod 10; if a+b+c=n then exit; kt:=false;... End; Begin {Chuong trinh chinh} nhapmang; repeat write('Nhap so k >=3: ');readln(k); until k >=3; d:=0; d1:=0; d2:=0; for i:=1 to n - 2 do begin if a[i] + a[i+2] = 2*a[i+1] then begin d1:=d1+1; d2:=d2+1; end else d1:=0; if d1+2>= k then d:=d+1; end; if d>0 then writeln('Co') else writeln('Khong co'); if d2=n-2 then writeln('Day so la cap so cong') else writeln('Day so khong la cap so cong'); Readln;... ');readln(s); write('Nhap so chu so can xoa: ');readln(k); n:=length(s); if (k=n) then begin writeln('So ',k,' nhap vao khong hop le'); readln; exit; end; s1:=''; k:=n-k; k1:=1; for i:=1 to k do k1:=chon(i)+1; writeln('So con lai sau khi xoa la: ',s1); readln; end Bài 9: Program Bai9 ; type arr=array[1 26,1 26] of char; var a: arr; i,j,n,m: integer; begin write('Nhap n: ');readln(n); for i:=1 to n do... 2: Tính tổng Program Bai2 ; Var a:array[1 100] of integer; i,n,s,d:integer; Procedure nhapmang; Begin Write('Nhap so phan tu cua day n = ');readln(n); For i:=1 to n do Begin Write('a[',i,']: ');readln(a[i]); End; End; Begin {Chuong trinh chinh} nhapmang; s:=0; d:=1; for i:=1 to n do begin s:=s+a[i]*d; 11 d:=-d; end; writeln(‘Tong la s = ‘,s); readln; end Bài 3: Cấp số cộng Program Bai3 ; Var a:array[1

Ngày đăng: 16/09/2016, 13:25

TỪ KHÓA LIÊN QUAN

w