Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 33 trang
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ƠNTẬPTINHỌCBà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