Bài tập pascal cơ bản ppt

17 777 4
Bài tập pascal cơ bản ppt

Đ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 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 đó 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 phải là số nguyên tố không -kiểm tra xem 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. 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ố 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ó 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à tổng các ước của nó không kể nó bằng chính nó. VD: số 28 các ước là: 1 2 4 7 14 số 6 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ố đó 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ă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ố đó 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 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: 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 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ố đó chia hết cho 3 không,tổng các chữ số của nó 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: F0=F1=1;Fi=Fi-1+Fi-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. 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ố đó 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=13+23+33+…+n3 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= Cnm = (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 mau:=mau*i; s3:= tu div mau; writeln('to hop chap ',m,' cua ',n,' la: ',s3); readln END. Bài 22: Nhập số thực dương e(e<0.01) rồi tính tổng S4=1+1/22+1/32+…+1/n2 +… (chương trình kết thúc khi 1/n2<e) Lời giải: uses crt; var s4,e:real;i:integer; BEGIN clrscr; repeat write('Nhap so thuc duong e<0.01: '); readln(e); until (e>0) and (e<0.01); s4:=0;i:=1; while 1/(i*i)>e do begin s4:=s4+1/(i*i); i:=i+1; end; writeln('Ket qua la: ',s4:0:4); readln END. Bài 23: Nhập số thực dương e(e<0.01) rồi tính tổng S5= 1- 1/3+1/5-1/7+…+(-1)n/(2*n+1)(dừng khi 1/(2*n+1) <e) Lời giải: uses crt; var s5,e:real;i:integer; BEGIN clrscr; repeat write('Nhap so thuc duong e<0.01: '); readln(e); until (e>0) and (e<0.01); s5:=1;i:=1; while 1/(2*i+1)>e do begin if i mod 2=0 then s5:=s5+1/(2*i+1) else s5:=s5-1/(2*i+1); i:=i+1; end; writeln('ket qua la: ',s5:0:4); readln END. Bài 24: Lập chương trình để nhập vào 4 dãy số a1, ,an;b1,…bn;c1,…,cn;d1,…,dn. Sau đó in ra kết quả n dòng 6 giá trị theo mẫu sau: Ai bi ci di max(ai,bi,ci,di) min(ai,bi,ci,di) Lời giải: uses crt; var a,b,c,d:array[1 1000]of integer; n,max,min,i:integer; BEGIN clrscr; write('Nhap n: ');readln(n); for i:=1 to n do begin write('Nhap A[',i,']: '); readln(a[i]); write('Nhap B[',i,']: '); readln(b[i]); write('Nhap C[',i,']: '); readln(c[i]); write('Nhap D[',i,']: '); readln(d[i]); end; for i:=1 to n do begin write(a[i],' ',b[i],' ',c[i],' ',d[i],' '); max:=a[i];min:=a[i]; if b[i]>max then max:=b[i]; if c[i]>max then max:=c[i]; if d[i]>max then max:=d[i]; write(max,' '); if b[i]<min then min:=b[i]; if c[i]<min then min:=c[i]; if d[i]<min then min:=d[i]; writeln(min); end; readln END. Bài 25: Cho các số tự nhiên n (khai bảo longint), và cho biết: n bao nhiêu chữ số, tổng các chữ số của n và số đảo ngược của n. VD: số 123 3 chữ số, tổng các chữ số bằng 6, số đảo ngược là 321 Lời giải: uses crt; var m,n:longint;tong,dem:byte; BEGIN clrscr; write('Nhap so n: ');readln(n); m:=n;dem:=0;tong:=0; while m>0 do begin tong:=tong+ m mod 10; dem:=dem+1; m:=m div 10; end; writeln(n,' co ',dem,' chu so va tong cac chu so cua ',n,' la: ',tong); write('So dao nguoc cua ',n,' la: '); m:=n; while m>0 do begin write(m mod 10); m:=m div 10; end; readln END. Bài 26: [...]... for j:=i+1 to n do if a[i]>a[j] then begin tg:=a[i]; a[i]:=a[j]; a[j]:=tg; end; writeln('Day sau khi duoc sap xep la: '); for i:=1 to n 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 28 Viết chương trình Pascal tìm USCLN và BSCNN cùa 2 số nguyên dương Program Uoc_so_chung_Boi_so_chung; Var so1,so2:Word; p:LongInt; tiep:Char; Begin Writeln('TINH UOC SO CHUNG LON NHAT, BOI SO CHUNG... trình Pascal tìm các ước của số nguyên N Program uoc_so; Var i,n:Integer; Begin Writeln('TIM CAC UOC SO CUA SO NGUYEN'); Writeln(' '); Write('-Nhap mot so nguyen: '); Readln(n); Writeln; Writeln('+Cac uoc so cua so ',n,' la: '); Writeln; For i:=1 To N Do If (n Mod i) = 0 Then Write(i:6); Writeln; Writeln; Writeln(' Bam phim de ket thuc'); Readln End 31 Viết chương trình Pascal. .. trình Pascal phân tích N thành các thừa số nguyên tố Program thuaso; Var n,i:Integer; Begin Writeln('PHAN TICH N THANH TICH CAC THUA SO NGUYEN TO'); Writeln(' '); Write('-Nhap so N= '); Readln(n); Repeat i:=2; While (n Mod i 0) And (i < n ) Do i:=i + 1; Write(i:4); n:=n Div i; Until n=1; Writeln; Writeln(' Bam phim de ket thuc'); Readln End 36 Viết chương trình Pascal. .. chương trình Pascal đổi chữ thường ra chữ HOA Program Doi_chu_thuong_ra_chu_HOA; Var ch,c1,c2:Char; Begin Writeln('DOI CHU THUONG RA CHU HOA'); Writeln(' -'); Write('-Nhap mot ky tu bat ky: '); Readln(ch); c1:=upcase(ch); c2:=chr(ord(ch)-32); Writeln('+Cach thu nhat, dung ham Upcase: ',c1); Writeln('+Cach thu hai,khong dung ham Upcase: ',c2); Readln End 39 Viết chương trình Pascal tính tổng... readln(a[i]); end; max:=a[1];min:=a[1]; for i:=2 to n do begin if a[i]>max then max:=a[i]; if a[i] . 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. 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. ',s,' co ',dem1,' nguyen am va co ',dem2,' ki tu so'); readln END. Bài 15: 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

Ngày đăng: 19/06/2014, 09:20

Từ khóa liên quan

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

Tài liệu liên quan