Nhập n la số nguyên dương hay in ra màn hình số đảo ngược của n vị dụ n 123 in ra màn hình 3 2 1

Cho các số tự nhiên n (khai bảo longint), và cho biết: n có 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 có 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ạn đang xem: Viết chương trình in ra số đảo ngược pascal

Nhập n la số nguyên dương hay in ra màn hình số đảo ngược của n vị dụ n 123 in ra màn hình 3 2 1

Nhập n la số nguyên dương hay in ra màn hình số đảo ngược của n vị dụ n 123 in ra màn hình 3 2 1


Xem thêm: Hướng Dẫn Sử Dụng Phần Mềm Sweet Home 3D Bạn Nên Biết, Các Tính Năng

Bạn đang xem nội dung tài liệu Bài tập pascal cơ bản cho học sinh và sinh viên, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên

Xem thêm: 35 Wallpapers Themes For Your Desktop Themes To Download, 63 Desktop Themes Ideas

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 n0); 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 20) 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 ntrunc(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 in <"a","e","i","o","u","y","a","e","i","o","u","y"> then dem1:=dem1+1; if s 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 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: 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. 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 20 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 m0; repeat write("Nhap m: ");readln(m); until (m0); 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(e0) and (ee 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(e0) and (ee 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); write("Nhap B<",i,">: "); readln(b); write("Nhap C<",i,">: "); readln(c); write("Nhap D<",i,">: "); readln(d); end; for i:=1 to n do begin write(a," ",b," ",c," ",d," "); max:=a;min:=a; if b>max then max:=b; if c>max then max:=c; if d>max then max:=d; write(max," "); if b0 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: Nhập số nguyên dương n và dãy số a1,a2,…,an hãy in ra max, min dãy đó Lời giải: uses crt; var n,i,max,min:integer; a:array<1..1000> of integer; BEGIN clrscr; repeat write("Nhap so nguyen duong n: "); readln(n); until (n>0) and (nmax then max:=a; if a0) and (na then begin tg:=a; a:=a; a:=tg; end; writeln("Day sau khi duoc sap xep la: "); for i:=1 to n do write(a: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 NHO NHAT"); Writeln(" Su dung vong lap Repeat... Until"); Writeln("-------------------------------------------------"); Repeat Writeln; Write("-Nhap so thu nhat: "); Readln(so1); Write("-Nhap so thu hai : "); Readln(so2); p:=so1 * so2; Write("+Uoc so chung lon nhat cua ",so1," va ",so2," la: "); Repeat if so1 > so2 Then so1:=so1 - so2 Else so2:=so2 - so1; Until so1=so2; Writeln(so1); Writeln; Writeln("+Boi so chung nho nhat: ",P Div so1); Writeln; Write("-Co tiep tuc nua khong ? (C/K) "); Readln(tiep); Until Upcase(tiep)="K"; Writeln; Writeln(" Bam phim de ket thuc "); Readln End. 29.Viết chương trình Pascal tìm các số nguyên tố từ 2 đến N Program Tim_so_nguyen_to; Var n,i,j:Integer; nguyento:Boolean; Begin Writeln("TIM CAC SO NGUYEN TO TU 2 DEN N"); Writeln("-------------------------------"); Write("-Nhap so N= "); Readln(n); For i:=2 To n Do Begin nguyento:=True; j:=2; While nguyento And (j b Then a:=a - b Else b:=b-a End; Writeln(a); Writeln; Writeln("+Boi so chung nho nhat cua chung la: ",p Div a); writeln; Writeln(" Bam phim de ket thuc"); Readln End. 30. Viết chương 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 tính tổng nghịch đảo N số nguyê đầu tiên Program Tong_nghich_dao; Var n,i:Integer; s:Real; Begin Writeln("TINH TONG NGHICH DAO N SO NGUYEN DAU TIEN"); Writeln("-----------------------------------------"); Write("-Nhap so N= "); Readln(n); S:=0; For i:= 1 To N Do S:=S+(1/i); Writeln; Writeln("+Tong nghich dao cua ",n," so nguyen dau tien= ",S:0:2); Writeln; Writeln(" Bam phim de ket thuc"); Readln End. 32. Viết chương trình Pascal tính tổng bình phương các số lẻ Program Tong_binh_phuong; Var i,n,tong:Integer; Begin Writeln("TINH TONG BINH PHUONG CAC SO LE"); Writeln(" Tu 1 den N"); Writeln("-------------------------------"); Write("-Nhap N= "); Readln(n); tong:=0; For i:=1 To N Do If odd(i) Then tong:=tong+sqr(i); Writeln; Writeln("+Tong binh phuong cac so le cua ",n," so nguyen= ",tong); Writeln; Writeln(" Bam phim de ket thuc"); Readln End. 33. Viết chương trình Pascal tìm số lớn nhất trong N số nguyên Program Cuc_dai; Var i,n:Byte; so,solon:Integer; Begin Writeln("TIM SO LON NHAT TRONG N SO NGUYEN"); Writeln("---------------------------------"); Write("-Muon nhap bao nhieu so: "); Readln(n); i:=1; Write("-So thu ",i," = "); Readln(so); solon:=so; For i:=2 To N Do Begin Write("-So thu ",i," = "); Readln(so); If solon 1 Do Begin i:=2; While (n Mod i 0) Do i:=i+1; if i=n Then Writeln("-So ",n," la so nguyen to") Else Writeln("-So ",n," khong phai la so nguyen to"); Write("-Nhap mot so (so 0 de ngung): "); Readln(n); End; Writeln; Writeln(" Bam phim de ket thuc"); Readln End. 35. Viết chương 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 c) And (b+c>a) And (c+a>b) Then Begin Writeln("+Dung la Tam giac"); p:=0.5*(a+b+c); s:=Sqrt(p*(p-a)*(p-b)*(p-c)); Writeln("+Dien tich= ",s:10:2); End Else Writeln("+Khong phai la Tam giac"); Writeln; Writeln(" Bam phim de ket thuc"); Readln End. 37. Viết chương trình Pascal kiểm tra đây là tam giác gì Program Tam_giac; Var a,b,c:Integer; tamgiac,deu,can:Boolean; Begin Writeln("BA CANH CUA TAM GIAC ?"); Writeln("----------------------"); Write("-Nhap so thu nhat= "); Readln(a); Write("-Nhap so thu hai = "); Readln(b); Write("-Nhap so thu ba = "); Readln(c); tamgiac:=False; deu:=False; can:=False; If (a+b>c) And (b+c>a) And (c+a>b) Then Begin tamgiac:=True; If (a=b) And (b=c) Then deu:=True; If (a=b) Or (b=c) Or (c=a) Then can:=True; End; Writeln; Writeln(" 3 so vua nhap la:"); Writeln("+Tam giac: ",tamgiac); Writeln("+Tam giac deu: ",deu); Writeln("+Tam giac can: ",can); Writeln; Writeln(" Bam phim de ket thuc"); Readln End. 38. Viết 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 của N số nguyên Program Tinh_tong; Var n,tong:Integer; Begin Writeln("TINH TONG CUA N SO NGUYEN"); Writeln("-------------------"); Writeln; Write("-Nhap so nguyen N: "); Readln(n); tong:=(n * (n + 1) DIV 2); Writeln("*Tong tu 1 den N = ",tong); Writeln(" Bam phim de ket thuc"); Readln End.

Nhập n la số nguyên dương hay in ra màn hình số đảo ngược của n vị dụ n 123 in ra màn hình 3 2 1

Nhập n la số nguyên dương hay in ra màn hình số đảo ngược của n vị dụ n 123 in ra màn hình 3 2 1

Nhập n la số nguyên dương hay in ra màn hình số đảo ngược của n vị dụ n 123 in ra màn hình 3 2 1

Nhập n la số nguyên dương hay in ra màn hình số đảo ngược của n vị dụ n 123 in ra màn hình 3 2 1

Nhập n la số nguyên dương hay in ra màn hình số đảo ngược của n vị dụ n 123 in ra màn hình 3 2 1

Nhập n la số nguyên dương hay in ra màn hình số đảo ngược của n vị dụ n 123 in ra màn hình 3 2 1