Bài tập pascal cơ bản dành cho hs-sv pps

15 817 16
Bài tập pascal cơ bản dành cho hs-sv pps

Đ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 c b n dành cho hs-svậ ơ ả thi t k b i: Vũ Đ c Quangế ế ở ứ Bài 1: Vi t ch ng trình nh p vào 1 s N nguyên d ng và in ra màn hình các s ch n tế ươ ậ ố ươ ỗ ẵ ừ 0N m i s chi m 4 v trí và 15 s trên 1 dòng.ỗ ố ế ị ố L i gi i:ờ ả uses crt; {khai bao' thu vien crt} var n,i,dem:integer; BEGIN clrscr;{ cau lenh xoa man hinh}; write('Nhap n: ');readln(n); dem:=0; for i:=1 to n do begin if i mod 2=0 then begin write(i:4); dem:=dem+1; end; if dem=15 then begin dem:=0; writeln;{in duoc 15 so thi xuong dong}; end; end; readln END. Bài 2: Nh p vào 2 s nguyên d ng a và b.ậ ố ươ + Tính và in ra màn hình t ng, hi u, tích, th ng và UCLN c a 2 s đóổ ệ ươ ủ ố + Tính t ng các c s d ng c a |a+b|ổ ướ ố ươ ủ L i gi i:ờ ả uses crt; var a,b,tg,i,tong:integer; function tinh(x,y:integer):integer; begin tg:= x mod y; if tg=0 then tinh:=y else tinh:=tinh(y,tg); end; BEGIN clrscr; write('Nhap a: ');readln(a); write('Nhap b: ');readln(b); tong:=1; for i:=2 to abs(a+b) do if (abs(a+b) mod i =0) then tong:=tong+i; writeln('Tong 2 so la: ',a+b); writeln('Hieu 2 so la: ',a-b); writeln('Tich 2 so la: ',a*b); writeln('Thuong 2 so la: ',a/b:0:4); writeln('UCLN 2 so la: ',tinh(a,b)); writeln('Tong cac uoc cua ',a+b,' la: ',tong); readln END. Bài 3: L p ch ng trình nh p vào đ dài các c nh c a tam giác r i th c hi n :ậ ươ ậ ộ ạ ủ ồ ự ệ + Tính chu vi, di n tích, 3 đ ng cao c a tam giác.ệ ườ ủ + Ki m tra xem tam giác đó có là tam giác cân ho c vuông không?ể ặ L i gi i:ờ ả uses crt; var a,b,c,cv,dt,p:real; BEGIN clrscr; write('Nhap do dai canh a: ');readln(a); write('Nhap do dai canh b: ');readln(b); write('Nhap do dai canh c: ');readln(c); cv:=a+b+c; p:=(a+b+c)/2; dt:=sqrt(p*(p-a)*(p-b)*(p-c)); writeln('Chu vi tam giac la: ',cv:0:4); writeln('Dien tich tam giac la: ',dt:0:4); writeln('Duong cao canh thu 1 la: ',dt*2/a:0:4); writeln('Duong cao canh thu 2 la: ',dt*2/b:0:4); writeln('Duong cao canh thu 3 la: ',dt*2/c:0:4); if (a=b) or (a=c) or(b=c) then writeln('Tam giac can'); if (a*a=b*b+c*c) or (b*b=a*a+c*c) or (c*c=b*b+a*a)then writeln('Tam giac vuong'); readln END. Bài 4: L p trình gi i ph ng trình b c 2:ậ ả ươ ậ L i gi i:ờ ả uses crt; var a,b,c,x1,x2,d:real; BEGIN clrscr; write('Nhap a: ');readln(a); write('Nhap b: ');readln(b); write('Nhap c: ');readln(c); d:=b*b-4*a*c; if d>0 then begin x1:=(-b+sqrt(d))/(2*a); x2:=(-b-sqrt(d))/(2*a); writeln('2 nghiem PT la: ',x1:0:2,' va: ',x2:0:2); end else if d=0 then begin x1:=(-b)/(2*a); writeln('PT co nghiem kep la: ',x1:0:2); end else writeln('PT vo nghiem'); readln END. B à i 5: Nhập vào 1 số nguyên gồm 4 chữ số -Kiểm tra tình chắn lể -kiểm tra xem có phải là số nguyên tố không -kiểm tra xem có phải là số hoàn hảo không L i gi i:ờ ả uses crt; var n,i:integer;ok:boolean; BEGIN clrscr; write('Nhap n: ');readln(n); if n mod 2=0 then writeln('So ',n,' la so chan') else writeln('So ',n,' la so le'); if n<2 then write('So ',n,' khong la so nguyen to') else begin ok:=true; for i:=2 to trunc(sqrt(n)) do if n mod i=0 then ok:=false; if ok then writeln('So ',n,' la so nguyen to') else writeln('So ',n,' khong la so nguyen to'); end; readln END. Có th thay câu l nh l p “for i:=2 to trunc(sqrt(n)) do” b ng câu l nh while do khi đóể ệ ặ ằ ệ ta không c n bi n ok n a.ầ ế ữ Bài 6: Nh p n,a hãy tính căn b c n c a a:ậ ậ ủ L i gi i:ờ ả uses crt; var n:integer;a,s:real; BEGIN clrscr; write('Nhap a: ');readln(a); repeat write('Nhap n: ');readln(n); until (n>0); if (n mod 2=0) and (a>=0) then begin s:=exp(1/n*ln(a)); writeln('Ket qua la: ',s:0:4); end else if (n mod 2<>0) then begin s:=exp(1/n*ln(abs(a))); writeln('Ket qua la: ',s:0:4); end else writeln('Khong xac dinh'); readln END. Bài 7: Nh p s có 3 ch s tính t ng các ch s c a nó:ậ ố ữ ố ổ ữ ố ủ L i gi i:ờ ả uses crt; var a:integer;tong:byte; BEGIN clrscr; write('Nhap 1 so co 3 chu so: ');readln(a); tong:= a mod 10; a:=a div 10; tong:=tong+a mod 10; a:=a div 10; tong:=tong+a mod 10; writeln('Tong cac chu so do la: ',tong); readln END. Bài 8: Nh p 2 s nguyên, hoán v 2 s đó khi a>bậ ố ị ố L i gi i:ờ ả uses crt; var a,b,tg:integer; BEGIN clrscr; write('Nhap a: ');readln(a); write('Nhap b: ');readln(b); if a>b then begin tg:=a; a:=b; b:=tg; end; writeln(a,' ',b); readln END. Bài 9: Nh p s nguyên d ng n in ra t ng các s nguyên d ng là b i c a 3 ho c 5 t 1ậ ố ươ ổ ố ươ ộ ủ ặ ừ n L i gi i:ờ ả uses crt; var n,tong,i:integer; BEGIN clrscr; write('Nhap so nguyen duong n: ');readln(n); tong:=0; for i:=1 to n do if (i mod 3=0) or (i mod 5=0) then tong:=tong+i; writeln('Tong cac so chia het cho 3 hoac 5 tu 0 > ',n,' la: ',tong); readln END. Bài 10: Nh p n in ra t ng các ch s c a n:ậ ổ ữ ố ủ L i gi i:ờ ả uses crt; var n,m:longint;tong:byte; BEGIN clrscr; write('Nhap n: ');readln(n); tong:=0;m:=n; while m>0 do begin tong:=tong+m mod 10; m:=m div 10; end; writeln('Tong cac chu so cua ',n,' la: ',tong); readln END. Bài 11: S nguyên t là s nguyên d ng ch chia h t cho 1 và chính nó, ngo i tr 0 và 1.ố ố ố ươ ỉ ế ạ ừ L p trình nh p vào 1 s nguyên d ng n và ki m tra xem nó có ph i là s nguyên tậ ậ ố ươ ể ả ố ố không? L i gi i:ờ ả uses crt; var n,i:integer; BEGIN clrscr; write('Nhap so nguyen duong n: '); readln(n); if n<2 then writeln(n,' khong la so nguyen to') else begin i:=2; while ((i<=trunc(sqrt(n))) and (n mod i<>0)) do i:=i+1; if i>trunc(sqrt(n)) then writeln(n,' la so nguyen to') else writeln(n,' khong la so nguyen to'); end; readln END. Bài 12: S hoàn h o là s mà có t ng các c c a nó không k nó b ng chính nó.ố ả ố ổ ướ ủ ể ằ VD: s 28 có các c là: 1 2 4 7 14ố ướ s 6 có các c là: 1 2 3ố ướ L p trình nh p vào 1 s nguyên d ng n và ki m tra xem s đó có là s hoàn h oậ ậ ố ươ ể ố ố ả không? L i gi i:ờ ả uses crt; var n:longint;tong,i:integer; BEGIN clrscr; write('Nhap so nguyen duong n: ');readln(n); tong:=0; for i:=1 to n div 2 do if n mod i=0 then tong:=tong+i; if tong=n then writeln(n,' la so hoan hao') else writeln(n,'khong la so hoan hao'); readln END. Bài 13: S chính ph ng là s có căn b c 2 là 1 s nguyên.ố ươ ố ậ ố VD s 9 là s chính ph ng vì căn b c 2 c a 9 b ng 3.ố ố ươ ậ ủ ằ L p trình nh p 1 s nguyên d ng n t bàn phím ki m tra xem s đó có là s chínhậ ậ ố ươ ừ ể ố ố ph ng không?ươ L i gi i:ờ ả uses crt; var n:longint; BEGIN clrscr; write('Nhap so nguyen duong n: ');readln(n); if sqrt(n)=trunc(sqrt(n)) then writeln(n,' la so chinh phuong') else writeln(n,' khong la so chinh phuong'); readln END. Bài 14: Nh p vào 1 xâu kí t và cho bi t xâu v a nh p vào có bao nhiêu nguyên âm và baoậ ự ế ừ ậ nhiêu kí t s .ự ố L i gi i:ờ ả uses crt; var s:string;dem1,dem2,i:byte; BEGIN clrscr; write('Nhap 1 xau: ');readln(s); dem1:=0;dem2:=0; for i:=1 to length(s) do begin if s[i] in ['a','e','i','o','u','y','A','E','I','O','U','Y'] then dem1:=dem1+1; if s[i] in ['0','1','2','3','4','5','6','7','8','9'] then dem2:=dem2+1; end; writeln('Trong xau ',s,' co ',dem1,' nguyen am va co ',dem2,' ki tu so'); readln END. Bài 15: L p trình gi i bài toán c sauậ ả ố V a gà v a chóừ ừ Bó l i cho tròn ạ Ba m oi sáu conư M t trăm chân ch nộ ẵ L i gi i:ờ ả uses crt; var cho:byte; BEGIN clrscr; for cho:=1 to 25 do if 4*cho+(36-cho)*2=100 then writeln('So ga la: ',36-cho,' so cho la: ',cho); readln END. Bài 16: Nh p 1 s nguyên d ng n <1000 cho bi t có bao nhiêu s nguyên t t 0ậ ố ươ ế ố ố ừ n L i gi i:ờ ả uses crt; var n,i,j,dem:integer; BEGIN clrscr; write('Nhap so nguyen duong n: ');readln(n); dem:=0; for i:=2 to n do begin j:=2; while ((j<=trunc(sqrt(i))) and (i mod j<>0)) do j:=j+1; if j>trunc(sqrt(i)) then dem:=dem+1; end; writeln('So luong so nguyen to trong khoang tu 0 >',n,' la: ',dem); readln END. Bài 17: Nh p 1 s n ki m tra tính ch n l , xem s đó có chia h t cho 3 không,t ng các ch sậ ố ể ẵ ẻ ố ế ổ ữ ố c a nó có là b i c a 6 khôngủ ộ ủ L i gi i:ờ ả uses crt; var n,m,tong:integer; BEGIN clrscr; write('Nhap n: ');readln(n); if n mod 3=0 then writeln(n,' chia het cho 3') else writeln(n,' khong chia het cho 3'); m:=n;tong:=0; while m>0 do begin tong:=tong+m mod 10; m:=m div 10; end; if tong mod 6=0 then writeln('Tong cac chu so cua ',n,' la ',tong,' chia het cho 6') else writeln('Tong cac chu so cua ',n,' la ',tong,' khong chia het cho 6'); readln END. Bài 18: Tính t ng n s phibonaci: Fổ ố 0 =F 1 =1;F i =F i-1 +F i-2 . (v i m i i>1).ớ ọ L i gi iờ ả uses crt; var f,ft,ftn,tong:longint;n,i:integer; BEGIN clrscr; write('Nhap n: ');readln(n); ft:=1;ftn:=1;tong:=2; for i:=2 to n do begin f:=ft+ftn; tong:=tong+f; ftn:=ft; ft:=f; end; writeln('Tong n so hang dau day fibolaci la: ',tong); readln END. Có th bi n đ i đ bài c a bài toán đi nh : tính s phibonaci th n ho c nh p vào 1 sể ế ổ ề ủ ư ố ứ ặ ậ ố ki m tra xem s đó có ph i là s phibonaci hay không…Các bài đó làm t ng t .ể ố ả ố ươ ự Bài 19: Nh p s nguyên d ng n l p ch ng trình tính:ậ ố ươ ậ ươ S1= 1+3+5+7+…+(2*n+1) L i gi i:ờ ả uses crt; var i,n,s1:integer; BEGIN clrscr; write('Nhap n: ');readln(n); s1:=0; for i:=1 to 2*n+1 do if i mod 2<>0 then s1:=s1+i; writeln('Tong S1 la: ',s1); readln END. Bài 20: Tính S2=1 3 +2 3 +3 3 +…+n 3 trong đó n nh p t bàn phím.ậ ừ L i gi i:ờ ả uses crt; var i,n:integer;s2:longint; BEGIN clrscr; write('Nhap so n: ');readln(n); s2:=0; for i:=1 to n do s2:=s2+i*i*i; writeln('Tong S2 la: ',s2); readln END. Bài 21: Nh p 2 s n,m sao cho m<n l p trình tính S3= Cậ ố ậ n m = (n(n-1)…(n-m+1))/m! (T h pổ ợ ch p m c a n)ậ ủ L i gi i:ờ ả uses crt; var i,m,n,tu,mau:integer; s3:longint; BEGIN clrscr; repeat write('Nhap n: ');readln(n); until n>0; repeat write('Nhap m: ');readln(m); until (m<=n) and (m>0); tu:=1;mau:=1; for i:=n-m+1 to n do tu:=tu*i; for i:=2 to m do [...]... write(a[i]:4); readln END Tương tự với bài sắp xếp với dãy giảm dần Bài 28: Cho 2 dãy số a1, ,an; b1, ,bm đã được sắp xếp theo thứ tự tăng dần Lập trình để từ 2 dãy trên xây dựng 1 dãy mới cũng theo thứ tự tăng dần Lời giải: Bài 29: Nhập số nguyên dương n và dãy số a1,a2,…,an.Hãy tính và in ra màn hình tổng các số lẻ trong dãy Lời giải: Có thể làm với 1 số đề bài tương tự như: tính tổng các số là số... then max:=c[i]; if d[i]>max then max:=d[i]; write(max,' '); if b[i]max then max:=a[i]; if a[i] . cho: =1 to 25 do if 4 *cho+ (36 -cho) *2=100 then writeln('So ga la: ',36 -cho, ' so cho la: ' ,cho) ; readln END. Bài 16: Nh p 1 s nguyên d ng n <1000 cho bi t có bao nhiêu. Bài t p pascal c b n dành cho hs-sv ơ ả thi t k b i: Vũ Đ c Quangế ế ở ứ Bài 1: Vi t ch ng trình nh p vào 1 s N nguyên d ng và in ra. readln END. Bài 15: L p trình gi i bài toán c sauậ ả ố V a gà v a chóừ ừ Bó l i cho tròn ạ Ba m oi sáu conư M t trăm chân ch nộ ẵ L i gi i:ờ ả uses crt; var cho: byte; BEGIN clrscr; for cho: =1 to

Ngày đăng: 21/07/2014, 15:20

Từ khóa liên quan

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

  • Đang cập nhật ...

Tài liệu liên quan