bai tâp pascal thcs lớp 9

55 6.2K 6
bai tâp pascal thcs lớp 9

Đ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

Bài tập Pascal 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 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. Sưu tầm và biên soạn: Nguyễn Minh Đức 1 Bài tập Pascal 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,' '); 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. Sưu tầm và biên soạn: Nguyễn Minh Đức 2 Bài tập Pascal 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. 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. Sưu tầm và biên soạn: Nguyễn Minh Đức 3 Bài tập Pascal 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 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); Sưu tầm và biên soạn: Nguyễn Minh Đức 4 Bài tập Pascal If a mod 2 = 0 then writeln(a,’la so chan’) Else Writeln(a,’la so le’); 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); readln; End. Bài 16: Tính lãi suất 15% tháng Const LS = 0,015 Var X, Y, XX : real; Sưu tầm và biên soạn: Nguyễn Minh Đức 5 Bài tập Pascal 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; 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 Sưu tầm và biên soạn: Nguyễn Minh Đức 6 0001,0 )12( .)1( 12 < + − + n x n n Bài tập Pascal 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; 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); Sưu tầm và biên soạn: Nguyễn Minh Đức 7 Bài tập Pascal 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; 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; Sưu tầm và biên soạn: Nguyễn Minh Đức 8 )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 Bài tập Pascal 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; until (t='x') or(t='X'); End. Bài 23.Lập trình đưa ra màn hình các số nguyên tố từ 1 đến 100. uses crt; var i,k:integer; Function snt(var a:integer):integer; var i,d:integer; begin d:=0; for i:=2 to round(sqrt(a)) do if (a mod i)=0 then d:=d+1; if d=0 then snt:=1 else snt:=0; end; Begin clrscr; writeln('CHUONG TRINH IN CAC SO NGUYEN TO TU 1 DEN 100'); writeln; k:=0; for i:=1 to 100 do if snt(i)<>0 then begin write(i:5); k:=k+1; if k=13 then begin writeln; k:=0; end; end; writeln; writeln('An Phim Bat ky de THOAT! '); repeat until keypressed; end. Bài 24.Tính biểu thức sau với x là số thực cho trước (x ≠ 0), yêu cầu kiểm tra điều kiện x nhập vào từ bàn phím: uses crt; var i:integer; Sưu tầm và biên soạn: Nguyễn Minh Đức 9 Bài tập Pascal x:real; Function tinh(i:integer):real; var r: real; begin if i<256 then r:=x*x+i/tinh(i*2) else r:=x*x+i/(x*x); tinh:=r; end; Begin clrscr; Repeat Write('Ban hay nhap so thuc x:');Readln(x); if x=0 then Writeln('Ban phai nhap x khac 0.'); Until x<>0; Write('Ket qua la:',tinh(2):0:2); Readln; End. Bài 25. Số hoàn hảo Nhập từ bàn phím một số tự nhiên N. Lập chương trình tìm tất cả các số hoàn hảo có giá trị từ 1 đến N (nếu có). Nếu không có hãy đưa ra thông báo “Không có”. (Số hoàn hảo là một số tự nhiên thoả mãn điều kiện: giá trị số đó bằng tổng các ước số thực sự của nó mà không kể chính số đó). uses crt; var i,k,m,n,s:integer; Begin clrscr; Repeat Write('Ban hay nhap so n:');Readln(n); Until n>=0; For i:=2 to n do if i mod 2=0 then begin m:=1; For k:=2 to i-1 do if i mod k=0 then m:=m+k; if m=i then begin s:=s+1; Writeln(i); end; end; Writeln('Co ',s,' so hoan hao co gia tri tu 1 den ',n,'.'); Readln; End. 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 còn nếu không nhuận thì có 28 ngày. Bốn năm có một năm nhuận, biết rằng năm 2000 thì năm nhuận. Sưu tầm và biên soạn: Nguyễn Minh Đức 10 [...]... d>s then s:=d; inc(j); until j>=i; end; writeln(s); readln; end Bài 25 Program baitap; Uses crt; Var i,j,us: Integer; a:array[1 10] of integer; Begin Randomize; For i:= 1 to 10 do a[i]:=random (99 )+1; For i:= 1 to 10 do Write('Phan tu thu ',i,' =',a[i]; For i:= 1 to 10 do Begin Sưu tầm và biên soạn: Nguyễn Minh Đức 31 Bài tập Pascal Us:=0; For j:=2 to (i-1) do If (a[i] mod j)0 then us:=us+1; If Us...Bài tập Pascal uses crt; var i, k, m, n, nd, td, yd, nc, tc,yc : integer; Function ng(t,n:integer):integer; Var a:integer; begin Case t of 4,6 ,9, 11:a:=30; 1,3,5,7,8,10,12:a:=31; 2:if n mod 40 then a:=28 else a:= 29; end; ng:=a; end; Begin clrscr; Writeln('Ban hay nhap ngay thang nam bat dau:'); Write('Ngay:');Readln(nd);... cho 10} Ok:= false; I := 1; While (not ok) and (I . ra màn hình các số lẻ Program bai2 ; var a:array [1 10,1 10] of longint; i,j,m,n:byte; Sh, tbphc, L : integer; Sưu tầm và biên soạn: Nguyễn Minh Đức 13 Bài tập Pascal Tccl : real; {khai bao. else writeln('Khong la so nguyen to; End. Sưu tầm và biên soạn: Nguyễn Minh Đức 1 Bài tập Pascal 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ố. writeln('tich la: ',tich); Readln; End. Sưu tầm và biên soạn: Nguyễn Minh Đức 2 Bài tập Pascal 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

Ngày đăng: 02/11/2014, 21:35

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