TỔNG HỢP, PHÂN LOẠI BÀI TẬP PASCAL CÓ LỜI GIẢI

156 7.2K 18
TỔNG HỢP, PHÂN LOẠI BÀI TẬP PASCAL CÓ LỜI GIẢI

Đ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

TỔNG HỢP, PHÂN LOẠI BÀI TẬP PASCAL CÓ LỜI GIẢI 2015 A. BÀI TẬP VỀ CÂU LỆNH CÓ CẤU TRÚC Bài 1. Kiểm tra số nguyên tố Var n,I : integer; ok : boolean; Begin Vrite (‘nhập:’); Readln(n); If n <= 1 then ok:= False Else If n = 2 then ok:= True Else Begin I:= 2; While (n mod I <> 0) and ( i<= sqrt(n)); If i > sqrt(n) then ok:= true Else ok:= false; End; If ok then write (‘ Đó là số nguyên tố’) Else write (‘ Đó không à số nguyên tố’); Readln; End. Var n,I,k : integer; Begin Vrite (‘nhập:’); Readln(n); I:= 2; K:= trunc(sqrt(n)); Repeat Inc(i); Until (i>k) or (n mod I = 0) ; If i > k then write (‘ Đó là số nguyên tố’) Else write (‘ Đó không à số nguyên tố’); Readln; End. Program Ktra_sngto; Var n: word; Funtion Ngto(k:word): Boolean; Var i,dem:Word; begin dem:=0; Ngto:=false; for i:=2 to n do if n mod i = 0 them dem:=dem+1; if dem = 2 then Ngto:= true; end; BEGIN Page 1 TỔNG HỢP, PHÂN LOẠI BÀI TẬP PASCAL CÓ LỜI GIẢI 2015 Writeln('Nhap n '); readln(n); while n <2 do begin writeln('nhap lai'); readln(n); end; if Ngto(n) then writeln(' So nguyen to') else writeln('Khong la so nguyen to; End. Bài 2: Nhập 1 số tự nhiên n.Liệt kê các số nguyên tố nhỏ hơn n. VD: n=13 Các số nguyên tố nhỏ hơn n: 2 ,3 ,5 , 7, 11 Program bt; Var i,n,j : integer; Begin Write ('Nhap n:');Readln(n); Write ('Cac so nguyen to nho hon ',n,' la:'); For i:=2 to n-1 do Begin j:=2; While i mod j <>0 then j:=j+1; if i=j then write (i,','); end; readln; End. Bài 3: Var n:longint; { } Function ngto(n:longint):boolean; Var i:word; Begin ngto:=false; for i:=2 to trunc(sqrt(n)) do if n mod i=0 then exit; ngto:=true; end; { } BEGIN write('nhap n: '); readln(n); for i:=2 to n do if ngto(i) then write(i,' '); Page 2 TỔNG HỢP, PHÂN LOẠI BÀI TẬP PASCAL CÓ LỜI GIẢI 2015 Readln; END. Bài 4: tinh tổng và tích Var i,tong,tich,n,m:longint; Begin write('nhap so n,m: '); readln(n,m); tong:=0; tich:=1; for i:=1 to m do begin tong:=tong+(n mod 10); tich:=tich*(n mod 10); n:=n div 10; end; writeln('tong la: ',tong); writeln('tich la: ',tich); Readln; End. Bài 5 : Nhập 1 số đếm các chứ số của số nhập vào. Var a,i,j,n:longint; Begin write('Nhap so n: ');readln(n); i:=0; j:=10; repeat a:=n mod j; j:=j*10; i:=i+1; until a=n; write('So chu so cua n la: ',i); readln; End Bài 6. Đổi kí tự thành chữ hoa Program DoiChu; Var St:String; i: integer; Begin Write('Hãy nhập tên của bạn : '); Readln(St); FOR i:= 1 TO Length(St) DO St[i] := Upcase(St[i]); (*Hàm Upcase đổi ký tự thành chữ in hoa*) Writeln; Writeln(St); Readln; End. Page 3 TỔNG HỢP, PHÂN LOẠI BÀI TẬP PASCAL CÓ LỜI GIẢI 2015 Bài 7 : VCT tính số tiền điện trong 1 thắng. Var kw, SoTien:LongInt; Begin Write('Nhap so KW dien da su dung trong thang: '); Readln(kw); Case kw of 1 100: SoTien := kw*650; 101 200: SoTien :=100*650+(kw-100)*1100; 201 300: SoTien :=100*650+100*1100+(kw-200)*2000; Else SoTien :=100*650+100*1100+100*2000+(kw-300)*3000; End; Writeln('So Tien phai tra trong thang la: ',SoTien); Readln; End Bài 8 :Viết chương trình kiểm tra trong 3 số a,b,c nhập từ bàn phím số nào là lớn nhất. uses crt; var a, b, c, max: integer; Begin clrscr; write ('Nhap so a:= '); readln (a); write ('Nhap so b:= '); readln (b); write ('Nhap so c:= '); readln (c); max:=a; {cái này dạng như chúng ta giả sử a là số lớn nhất :D } if max<b then max:=b; if max<c then max:=c; write ('so lon nhat max:= ',max); readln; End. Bài 9 : Nhập 3 số bất kì kiểm tra xem nó có phải là 3 cạnh của tam giác ko uses crt; var a,b,c,p,s: real; Begin clrscr; {X&#243;a màn hình} write ('Nhap a:= ');readln (a); write ('Nhap b:= ');readln (b); write ('Nhap c:= ');readln (c); if (a>0) and (b>0) and (c>0) and (a+b>c) and (b+c>a) and (a+c>b) then begin write ('3 cạnh tren tao thanh 1 tam giac'); if (a=b) and (b=c) then write ('Day la tam giac deu'); if (a=b) or (b=c) or (a=c) then Page 4 TỔNG HỢP, PHÂN LOẠI BÀI TẬP PASCAL CÓ LỜI GIẢI 2015 weite ('Day la tam giac can'); p:= (a+b+c)/2; s:= SQRT(p*(p-a)*(p-b)*(p-c)); write ('chu vi: ',2*p:0:5,' Dien tich: ',s:0:5); end else write ('3 so nay khong tao thanh 1 tam giac'); readln; End. Bài 10: đếm số chữ số tạo thành 1 số nguyên Var m, n, dem : longint; Begin Write (;nhap n:’); readln(n); Dem:= 0; m:= n; Repeat n:= n div 10; inc (dem); Until n=0; Writeln(‘n,’co tat ca la’,dem,’chu so’); Readln; End. Bài 11 : Thông báo ra màn hình các sô k<=n bằng tổng các ước số của nó và nhỏ hơn nó. Var n, I, j, s : integer; Begin Write(‘nhap n’); readln(n); Repeat For I = 1 to n do Begin S:= 0; For j :=1 to I div 2 do If I mod j = 0 then s := s + j; If s := I then write (i:j,’ ‘); End; Until n <= 1000 ; Readln; End. Bài 12: Nhập vào một số, máy sẻ báo: chẳng hay lẻ, chính phương hay ko? Var a: integer; Begin Write(‘nhap a:’); readln(a); If a mod 2 = 0 then writeln(a,’la so chan’) Else Writeln(a,’la so le’); Page 5 TỔNG HỢP, PHÂN LOẠI BÀI TẬP PASCAL CÓ LỜI GIẢI 2015 If sqrt(a) = int(sqrt(a)) then writeln(a,’la so chinh phuong’) Else writeln(a,’khong la so chinh phuong’); readln; End. Bài 13: Tính 1 – 2 2 + 3 2 – 4 2 + … +n 2 Var Write(‘nhap n’); readln(n); S:= 0; For i:= 1 to n do If I mod 2 <> 0 then S:= S + sqr(i) Else S:= S – sqr(i); Writeln(‘tong la :=’,S); Readln; End. Bài 14: Chuyển số thập phân thành dãy số nhị phân. Var n, m, I : integer; chuso : byte; {chữ số chỉ nhận 2 giá trị: 0, 1} Begin Write(‘nhập n =’); readln(n); m := 16384 = 2 14 ; write(0); {chu so dau tien la 0} for i := 1 to n do begin chuso := n div m ; {chu so nhi phan dau tien} write(chuso); if (i+1) mod 4 = 0 then write (‘ ‘); n := n – m*chuso; m :=mdiv 2; end; readln; End. Bài 15: Nhập 1 số nguyên dương in ra màn hình UCLN Var n, m, I : integer; Begin Write(‘nhap n:’); readln(n); m := 0; for i := 1 to n do Begin m := n div I; if (m mod 2 <> 0) and (m > max) them max := m; end; writeln(‘UCLN;,max); Page 6 TỔNG HỢP, PHÂN LOẠI BÀI TẬP PASCAL CÓ LỜI GIẢI 2015 readln; End. Bài 16: Tính lãi suất 15% tháng Const LS = 0,015 Var X, Y, XX : real; Begin Write(‘nhap X, Y: ‘); readln(X,Y); XX := X; Month := 0; Repeat Month := month + 1; XY := XX+ XX*LS; Until XY = Y; Writeln(‘ Tong so tien lai :’,Y – X); Writeln(‘so thang gui:’,month); Readln; End. Bài 17: VCT xác định số ngày của 1 tháng N. Var M: 1990 2010; N: 1 12; Begin Write(‘nhap nam hien tai:’); readln(M); Write(‘nhap thang hien tai:’); readln(N); Case N of 1,3,5,7,8,10,12: writeln(‘co 31 ngay’); 4,6,9,11 : writeln(‘co 30 ngay’); 2 : writeln(cos 29 ngay’) Else Writeln(‘co 28 ngay’); Readln; End. Bài 18. Lập trình tìm các số có ba chữ số với điều kiện giá trị của số đó bằng tổng lập phương các chữ số của nó. uses crt; Var a,b,c,i:integer; Begin clrscr; For i:=100 to 999 do begin a:=i div 100; b:=(i div 10) mod 10; c:=i mod 10; Page 7 TỔNG HỢP, PHÂN LOẠI BÀI TẬP PASCAL CÓ LỜI GIẢI 2015 if a*a*a+b*b*b+c*c*c=i then begin Writeln('So ',i,' co gia tri bang tong lap phuong cac chu so cua no.'); end; end; Readln; End. Bài 19. Tính tổng sau (với x thực nhập từ bàn phím): Chương trình dừng khi uses crt; Var i:integer; a,b,c,x,t:real; Procedure tinh; begin a:=x;b:=0;t:=x;c:=1; While abs(c*a/(2*b+1))>=0.0001 do begin a:=a*x;b:=b+1;c:=c*-1; t:=t+c*a/(2*b+1); end; end; Begin clrscr; Write('Ban hay nhap so x:');Readln(x); tinh; Writeln('Ket qua la:',t:0:10); Readln; End. Bài 20: Nhập vào một số tự nhiên n.Lập trình trả lời các câu hỏisau: - n có bao nhiêu chữ số? - Tổng các chữ số của n bằng bao nhiêu? - Tìm chữ số đầu tiên của n. - Giả sử trong cách biểu diễn thập phân của n có dạng sau: akak - 1 a 2 a 1 a 0 . Hãy tính tổng S = ak - ak - 1 + ak - 2 - + (-1) k +1 .a 0 - Nhập vào số m (m ≤ số chữ số của n). Hãy tính tổng m chữ số cuối cùng của n. uses crt; Page 8 0001,0 )12( .)1( 12 < + − + n x n n TỔNG HỢP, PHÂN LOẠI BÀI TẬP PASCAL CÓ LỜI GIẢI 2015 var i,k,m,n:longint; s:string; Begin clrscr; Repeat Write('Ban hay nhap so thu nhien n:');Readln(n); if n<0 then Writeln('n phai la so tu nhien.'); Until n>=0; Str(n,s); Writeln('So ',n,' co ',length(s),' chu so.'); k:=0;m:=0; For i:=1 to length(s) do begin k:=k+(ord(s[i])-48); if i mod 2=1 then m:=m+(ord(s[i])-48) else m:=m-(ord(s[i])-48); end; Writeln('Tong cac chu so cua ',n,' la:',k,'.'); Writeln('Chu so dau tien cua ',n,' la:',s[1],'.'); Writeln('Tong S la:',m); Repeat Write('Ban hay nhap so m(m<=so chu so cua n):'); Readln(m); if m>length(s) then Writeln('m phai <=',length(s), '.' ); Until m<=length(s); Delete(s,1,length(s)-m); k:=0; For i:=1 to length(s) do k:=k+(ord(s[i])-48); Writeln('Tong ',m,' chu so cuoi cung cua ',n,' la:',k,'.'); Readln; End. Bài 21.Với giá trị x nhập từ bàn phím, hãy tính tổng sau: cho đến khi uses crt; var i:integer; a,b,x,t: real; Procedure tinh; begin i:=1; Page 9 )1(.)12( )1( )1(.5 )1( )1(.3 )1( )1( )1( 12 12 5 5 3 3 + ++ − ++ + − + + − + + − + + n n xn x x x x x x x 0001,0 )1(.)12( )1( 12 12 < ++ − + + n n xn x TỔNG HỢP, PHÂN LOẠI BÀI TẬP PASCAL CÓ LỜI GIẢI 2015 a:=x-1;b:=x+1;t:=a/(i*b); While a/(i*b)>=0.0001 do begin i:=i+2; a:=a*(x-1)*(x-1); b:=b*(x+1)*(x+1); t:=t+a/(i*b); end; end; Begin clrscr; Write('Ban hay nhap so x:');Readln(x); if x<>-1 then begin if x=1 then Writeln('Ket qua la:0') else begin tinh; Writeln('Ket qua la:',t:0:10); end; end else Writeln('Cac phan tu co mau la 0 nen the chia duoc.'); Readln; End. Bài 22.Lập trình tính tổng các số nguyên. uses crt; var n,i:integer; tong:real; t:char; Begin repeat clrscr; writeln(' CHUONG TRINH TINH TONG N SO'); writeln('S = 1 + 1/2 + 1/3 + + 1/n'); writeln; write('Nhap so gioi han can tinh, n=');readln(n); tong:=1; for i:=2 to n do tong:=tong+1/i; writeln('Ket qua, S =',tong:7:4); writeln; writeln('An Phim BAT KY de TIEP TUC, X de THOAT! '); t:=readkey; Page 10 [...]... End Page 12 TỔNG HỢP, PHÂN LOẠI BÀI TẬP PASCAL CÓ LỜI GIẢI 2015 Bài 26: Tính số ngày giữa 2 mốc thời gian bất kỳ: Yêu cầu nhập vào 6 số: nd , td , yd , nc , tc , yc là ngày tháng năm bắt đầu và ngày tháng năm cuối ( 2000 < yd < yc ) Hãy tính xem giữa hai mốc thời gian đó có bao nhiêu ngày Biết rằng: Tháng 4, 6, 9, 11 có 30 ngày.Tháng 1, 3, 5, 7, 8, 10, 12 có 31 ngày.Tháng 2 nếu năm nhuận có 29 ngày... gia tri tuyet doi lon hon so dung sau.'); Writeln('Co ',kq[3],' cap phan tu ke nhau ma ca hai so trai dau nhau.'); Page 27 TỔNG HỢP, PHÂN LOẠI BÀI TẬP PASCAL CÓ LỜI GIẢI 2015 Readln; End Bài 17:Tam giác Pascal Hãy in ra màn hình tam giác Pascal có n dòng và tính xem ở hàng thứ i có bao nhiêu số j (với n, i, j nhập từ bàn phím) uses crt; var a:array [1 100,1 100] of longint; i,j,k,m,n,p:longint; c:char;... hienthi(a,h,c); writeln; writeln('Cach 2:'); in2(a,h,c); Page 25 bằng hai cách 2015 TỔNG HỢP, PHÂN LOẠI BÀI TẬP PASCAL CÓ LỜI GIẢI hienthi(a,h,c); writeln; write('An Phim Bat ky de THOAT! '); repeat until keypressed; End Bài 15: Nhập vào hai số tự nhiên n và m Hãy in ra chu kỳ của phân số n/m Ví dụ: 1/7 có chu kỳ là (142857) Còn các phân số hữu hạn thì chu kỳ bằng 0 uses crt; var a:array [1 1000,1 2] of longint;... Writeln('Giua hai moc thoi gian do co ',n,' ngay.'); Readln; End Bài 27: Trên một bàn cờ có n x n ô, hãy lập trình xếp 2n quân cờ lên bàn cờ sao cho không có quá 2 quân cờ trên 1 hàng và trên 1 cột Chỉ cần in ra một cách xếp lên màn hình (dùng dấu ‘*’làm ký hiệu quân cờ ) var i,k,n:integer; Page 13 TỔNG HỢP, PHÂN LOẠI BÀI TẬP PASCAL CÓ LỜI GIẢI 2015 Begin clrscr; Write('Ban hay nhap so n:');Readln(n);... end; c4:=c4-1; For i:=c4 downto c2 do begin m:=m+1; a[c1,i]:=m; Gotoxy(c1*3,i);Write(a[c1,i]); end; c1:=c1+1; Until m>=n*n; Readln; End Bài 14.Lập trình đưa ra màn hình bảng cửu chương có dạng: 1 2 3 9 2 18 Page 24 2015 TỔNG HỢP, PHÂN LOẠI BÀI TẬP PASCAL CÓ LỜI GIẢI 9 18 81 uses crt; type m = array [1 20,1 20] of integer; var a,b:m; h,c:integer; procedure in1(var b:m;u:integer;v:integer); var i,j:integer;... trí các hàng ra màn hình} readln; end Bài 6: VCT đổi 1 số nguyên hệ 10 sang hệ 2 Var NP: array[1 16] of byte; n, i, j : integer; Begin Write(‘nhao n:’); readln(n); For i := 1 to 16 do NP[i] := 0; i := 1; while n 0 do begin NP[i] = n mod 2; n := n div 2; end; for j := I downto 1 do write (NP[j]; readln; End Page 18 TỔNG HỢP, PHÂN LOẠI BÀI TẬP PASCAL CÓ LỜI GIẢI Bài 7: Var A: array[1 100] of real; I,... begin m:=0; For k:=1 to i-1 do if a[i]=a[k] then begin m:=1;break;end; if m=0 then Write(a[i],' '); end; Readln; End Page 21 TỔNG HỢP, PHÂN LOẠI BÀI TẬP PASCAL CÓ LỜI GIẢI 2015 Bài 11.Viết chương trình nhập vào một ma trận vuông k hàng, k cột Sau đó sắp xếp lại sao cho phần tử có trị tuyệt đối lớn nhất trong mỗi hàng sẽ nằm trên đường chéo chính uses crt; var a:array [1 100,1 100] of integer; i,k,m,n:longint;... timmax:=max; end; Page 35 TỔNG HỢP, PHÂN LOẠI BÀI TẬP PASCAL CÓ LỜI GIẢI 2015 Begin clrscr; write('Nhap so hang hay cot cua ma tran:'); readln(n); nhapmatran(A,n,n); clrscr; xuatmatran(A,n,n); write('Cac max tren cac duong cheo can tim: '); for i:=1 to n do write(' ',timmax(i,1)); readln; End Bài 23:Cho ma trận nguyên An x n và 2 số a, b Hãy xây dựng ma trận mới cấp An từ ma trận trên bằng cách loại bỏ dòng a... thu tu tang dan.'); Page 20 TỔNG HỢP, PHÂN LOẠI BÀI TẬP PASCAL CÓ LỜI GIẢI 2015 2:Writeln('Day duoc sap xep theo thu tu giam dan.'); 3:begin Writeln('Day chua duoc sap xep.'); Writeln('Sap xep lai theo thu tu tang dan:'); For k:=1 to n-1 do For i:=1 to n do if a[k] . TỔNG HỢP, PHÂN LOẠI BÀI TẬP PASCAL CÓ LỜI GIẢI 2015 A. BÀI TẬP VỀ CÂU LỆNH CÓ CẤU TRÚC Bài 1. Kiểm tra số nguyên tố Var n,I : integer; ok :. i:=2 to n do if ngto(i) then write(i,' '); Page 2 TỔNG HỢP, PHÂN LOẠI BÀI TẬP PASCAL CÓ LỜI GIẢI 2015 Readln; END. Bài 4: tinh tổng và tích Var i,tong,tich,n,m:longint; Begin write('nhap. tự thành chữ in hoa*) Writeln; Writeln(St); Readln; End. Page 3 TỔNG HỢP, PHÂN LOẠI BÀI TẬP PASCAL CÓ LỜI GIẢI 2015 Bài 7 : VCT tính số tiền điện trong 1 thắng. Var kw, SoTien:LongInt; Begin

Ngày đăng: 05/02/2015, 09:22

Từ khóa liên quan

Mục lục

  • Bài 18. Bài toán số nguyên tố tương đương

    • Bài 8. Trò chơi

    • Bài 9. Xếp khách

    • Bài 11. Hình vuông

    • Yêu cầu kĩ thuật

Tài liệu cùng người dùng

Tài liệu liên quan