Ngôn ngữ lập trình pascal

42 490 0
Ngôn ngữ lập trình pascal

Đ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

Ngôn ngữ lập trình pascal

bài tập ngôn ngữ lập trình pascal phần I: các bài tập làm quen cấu trúc điều khiển, cấu trúc lặp phần II: các bài tập mảng phần III: các bài tập xâu phần IV: các bài tập bản ghi phần V: các bài tập tệp Trang 1 Phần I: Các bài tập làm quen cấu trúc điều khiển, cấu trúc lặp Bài tập: Tìm số lớn nhất trong 3 số a,b,c. program BT; var a,b,c,max:real; begin write('nhap a,b,c='); readln(a,b,c); max:=a; if max<b then max:=b; if max<c then max:=c; writeln('gia tri lon nhat=',max); readln; end. Bài tập: Tìm giá trị tuyệt đối của số x. program BT; var x,gttd:real; begin write('nhap x='); readln(x); if x<0 then gttd:=-x else gttd:=x; writeln('gia tri tuyet doi cua x=',gttd); readln; end. Bài tập: Nhập vào số đo 3 đoạn thẳng. Kiểm tra xem 3 đoạn thẳng đó có lập thành một tam giác hay không. program BT; var a,b,c:real; begin repeat write('nhap a,b,c la so duong='); readln(a,b,c); until (a>0) and (b>0) and (c>0); if (a+b>c) and (a+c>b) and (b+c>a) then writeln('a,b,c la 3 canh cua mot tam giac') else writeln('a,b,c khong la 3 canh cua mot tam giac'); readln; end. Trang 2 Bµi tËp: NhËp vµo mét sè nguyªn d¬ng, kiÓm tra xem sè ®ã cã ph¶i lµ sè nguyªn tè hay kh«ng. program BT; var n:integer; function snt(n:integer):boolean; var i:integer; begin snt:=true; for i:=2 to trunc(sqrt(n)) do if n mod i = 0 then begin snt:=false; exit; end; end; begin repeat write('nhap n la so nguyen duong='); readln(n); until n>0; if snt(n) then writeln(n,' la so nguyen to') else writeln(n,' khong phai la so nguyen to'); readln; end. Bµi tËp: NhËp vµo mét sè nguyªn d¬ng, kiÓm tra xem sè ®ã cã ph¶i lµ sè chÝnh ph¬ng hay kh«ng. program BT; var x:integer; y:real; begin repeat write('nhap x la so nguyen duong='); readln(x); until x>0; y:=sqrt(x); if(trunc(y)-y=0) then writeln('day la so chinh phuong') else writeln('day khong phai la so chinh phuong'); readln; end. Trang 3 Bài tập: Tìm tất cả các số nguyên tố nhỏ hơn n ( n là một số nguyên dơng đợc nhập vào từ bàn phím ). program BT; var i,n:integer; function snt(x:integer):boolean; var i:integer; begin snt:=true; for i:=2 to trunc(sqrt(x)) do if x mod i = 0 then begin snt:=false; exit; end; end; begin repeat write('nhap n la so nguyen duong='); readln(n); until n>0; for i:=2 to n do if snt(i) then write(i:8); readln; end. Bài tập: Tìm tổng s=1- 3 1 + 5 1 - vi ai = i 1 sao cho ai Epsilon cho trớc. program BT; var i,ai:integer; s,e:real; begin write('nhap epsilon='); readln(e); s:=1; ai:=1; i:=2; while ai<e do begin ai:=2*i-1; if i mod 2=1 then s:=s+1/ai else s:=s-1/ai; inc(i); end; writeln('tong s= ',s:2:2); readln; end. Trang 4 Bài tập:Viết ra màn hình n số hạng đầu tiên trong dãy số Fibonaxi. Dãy Fibonaxi là dãy thoả mãn: F i = 1 <=> i = 1, 2 F i-2 + F i-1 <=> i 3 program BT; var t,s,i,n:integer; begin repeat write('nhap n la so nguyen duong='); readln(n); until n>0; t:=1; s:=1; write(t:8); write(s:8); for i:=3 to n do begin s:=s+t; t:=s-t; write(s:8); end; readln; end. Bài tập: Tìm số tự nhiên nhỏ nhất có đúng n ớc số. program BT; var n,i,d,so:integer; begin repeat write('nhap n la so nguyen duong='); readln(n); until n>0; so:=n-1; d:=0; while d<>n do begin d:=0; so:=so+1; for i:=1 to so do if so mod i=0 then d:=d+1; end; writeln('so co ',n,' uoc so nho nhat la ',so); readln; end. Trang 5 Bµi tËp: NhËp vµo mét sè nguyªn d¬ng, kiÓm tra xem sè ®ã cã bao nhiªu íc. program BT; var n,i,d:integer; begin repeat write('nhap n la so nguyen duong='); readln(n); until n>0; i:=1; d:=0; for i:=1 to n do if n mod i=0 then d:=d+1; writeln('so ',n,' co so uoc la ',d); readln; end. Bµi tËp: Gi¶i vµ biÖn luËn ph¬ng tr×nh bËc nhÊt 2 Èn: ax + by = c dx + ey = f program BT; var a,b,c,d,e,f,M,Dx,Dy,x,y:real; begin write('nhap a,b,c,d,e,f='); readln(a,b,c,d,e,f); M:=a*e-b*d; Dx:=c*e-b*f; Dy:=a*f-c*d; if (Dx<>0) and (Dy<>0) then begin x:=Dx/M; y:=Dy/M; writeln('x=',x); writeln('y=',y); end else if (Dx=0) and (Dy=0) then writeln('he pt co vo so nghiem') else writeln('he pt vo nghiem'); readln; end. Trang 6 Bµi tËp: Gi¶i vµ biÖn luËn ph¬ng tr×nh bËc nhÊt 1 Èn: ax + b = 0 program BT; var a,b,x:real; begin write('nhap a,b='); readln(a,b); if a=0 then if b=0 then writeln('pt vo so nghiem') else writeln(' pt vo nghiem') else begin x:=-b/a; writeln('x=',x); end; readln; end. Bµi tËp: Gi¶i vµ biÖn luËn ph¬ng tr×nh bËc 2: ax 2 + bx + c = 0 program BT; var a,b,c,d,x1,x2:real; begin write('nhap a,b,c='); readln(a,b,c); d:=b*b-4*a*c; if d<0 then writeln('pt vo nghiem') else if d=0 then writeln('pt co nghiem kep=',-b/2*a) else begin writeln('pt co 2 nghiem'); x1:=((-b+sqrt(d))/(2*a)); x2:=((-b-sqrt(d))/(2*a)); writeln('x1=',x1:5:2); writeln('x2=',x2:5:2); end; readln; end. Trang 7 Bài tập: Tìm ớc số chung lớn nhất của 2 số nguyên dơng a,b. program BT; var a,b:integer; begin repeat write('nhap a,b la so nguyen duong='); readln(a,b); until (a>0) and (b>0); while a<>b do if a>b then a:=a-b else b:=b-a; writeln('uscln=',a); readln; end. Bài tập: Tìm bội số chung nhỏ nhất của 2 số nguyên dơng a,b. program BT; var a,b,m,n:integer; begin repeat write('nhap a,b la so nguyen duong='); readln(a,b); until (a>0) and (b>0); m:=a; n:=b; while a<>b do if a>b then a:=a-b else b:=b-a; writeln('bscnn=',(m*n)/a); readln; end. Bài tập: Tính giá trị luỹ thừa với cơ số x và số mũ y ( x 0 ). program BT; var x,y,z:real; begin write('nhap x,y='); readln(x,y); if x>0 then begin z:=exp(y*ln(x)); writeln('gia tri can tim la ',z:10:10); end else if x=0 then writeln('gia tri can tim la 0') else begin writeln('ko tinh dc gia tri do x khong thoa man'); readln; end; readln; end. Trang 8 Bài tập: "Nhân ấn độ": Để nhân hai số nguyên dơng x và y, ngời ta thực hiện đồng thời (số lần thực hiện nh nhau) hai thao tác: - Lấy x chia cho 2 lấy phần nguyên. - Lấy y nhân với 2. Quá trình trên sẽ dừng lại khi x=1. Trong quá trình thực hiện ngời ta ghi nhớ x là lẻ. Tổng của các số y trong các lần x lẻ trong quá trình thực hiện chính là kết quả của phép nhân ấn độ x ì y. Hãy cài đặt thuật toán trên dới dạng một hàm để tính tích của hai số x và y. program BT; var S,a,b:integer; begin repeat write('nhap a,b la so nguyen duong='); readln(a,b); until (a>0) and (b>0); S:=0; while a<>1 do begin if a mod 2=1 then S:=S+b; a:=a div 2; b:=b*2; end; S:=S+b; writeln('tich cua a va b=',S); readln; end. Bài tập: Tìm S = = n i i 1 program BT; var i,n,S:integer; begin repeat write('nhap n la so nguyen duong='); readln(n); until n>0; S:=0; for i:=1 to n do S:=S+i; writeln('tong S= ',S); readln; end. Trang 9 Bµi tËp: TÝnh P! program BT; var i,n,P:longint; begin repeat write('nhap n la so duong='); readln(n); until n>=0; P:=1; for i:=1 to n do P:=P*i; writeln('P = ',P); readln; end. Bµi tËp: ViÕt ra mµn h×nh d·y sè sau: 12;34;56;78;100; program BT; var i,n,s:integer; begin repeat write('nhap n la so nguyen duong='); readln(n); until n>0; s:=12; write(s:8); for i:=2 to n do begin s:=s+22; write(s:8); end; readln; end. Trang 10 [...]... ******* ***** *** * program BT; var i,j,t:integer; begin t:=9; for i:=5 downto 1 do begin write('':6-i); for j:=t downto 1 do write('*'); t:=t-2; writeln; end; readln; end Trang 14 Bài tập: Viết chơng trình in ra màn hình bảng cửu chơng dạng 1 nh sau: 1* 1 =1 1* 2 =2 1* 3 =3 1* 4 =4 1* 5 =5 1* 6 =6 1* 7 =7 1* 8 =8 1* 9 =9 2* 1 =2 3* 1 =3 4* 1 =4 5* 1 =5 6* 1 =6 7* 1 =7 8* 1 =8 9* 1 =9 2* 2 =4 3* 2 =6... =36 5* 9 =45 6* 9 =54 7* 9 =63 8* 9 =72 9* 9 =81 program BT; var i,j:integer; begin for j:=1 to 9 do begin for i:=1 to 9 do write(i:2,'*',j:2,'=',(i*j):2); writeln; end; readln; end Bài tập: Viết chơng trình in ra màn hình bảng cửu chơng dạng 2 nh sau: 1* 1 =1 1* 2 =2 1* 3 =3 1* 4 =4 1* 5 =5 1* 6 =6 1* 7 =7 1* 8 =8 1* 9 =9 2* 2 =4 2* 3 =6 3* 3 =9 2* 4 =8 3* 4 =12 4* 4 =16 2* 5 =10 3* 5 =15 4* 5 =20 5*... for j:=1 to p do B[i,j]:=A[j,i]; end; begin write('nhap m,n='); readln(m,n); nhap(A,m,n); viet(A,m,n); chuyenvi(A,B,m,n); viet(B,n,m); readln; end Trang 28 Phần III: Các bài tập xâu Bài tập: Viết chơng trình đảo lộn một xâu program BT; type xau=string; var ST1,ST2:xau; function daoxau(X:xau):xau; var Y:xau;i:integer; begin Y:=''; for i:=length(X) downto 1 do Y:=Y+X[i]; daoxau:=Y; end; begin write('nhap . bài tập ngôn ngữ lập trình pascal phần I: các bài tập làm quen cấu trúc điều khiển, cấu trúc lặp phần II: các bài. nguyên. - Lấy y nhân với 2. Quá trình trên sẽ dừng lại khi x=1. Trong quá trình thực hiện ngời ta ghi nhớ x là lẻ. Tổng của các số y trong các lần x lẻ trong quá trình thực hiện chính là kết quả. x=',gttd); readln; end. Bài tập: Nhập vào số đo 3 đoạn thẳng. Kiểm tra xem 3 đoạn thẳng đó có lập thành một tam giác hay không. program BT; var a,b,c:real; begin repeat write('nhap a,b,c

Ngày đăng: 19/05/2014, 13:33

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

Tài liệu liên quan