Bài 25:
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.
17 trang |
Chia sẻ: maiphuongdc | Lượt xem: 81633 | Lượt tải: 1
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
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ừ 0N
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 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 n<2 then writeln(n,' khong la so nguyen to')
else
begin
i:=2;
while ((i0)) 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:
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 ((j0)) 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: 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 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 (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(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 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à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 (n<=1000);
for i:=1 to n do
begin
write('Nhap A[',i,']: ');
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]<min then min:=a[i];
end;
writeln('Max cua day so la: ',max);
writeln('Min cua day so la: ',min);
readln
END.
Bài 27:
Nhập số nguyên dương n và dãy số a1,a2,…,an. Hãy sắp xếp dãy đó tăng dần và in dãy
đã
được sắp xếp ra màn hình.
Lời giải:
uses crt;
var n,i,j,tg:integer;
a:array[1..1000]of integer;
BEGIN
clrscr;
repeat
write('Nhap so nguyen duong n: ');
readln(n);
until (n>0) and (n<1000);
for i:=1 to n do
begin
write('Nhap A[',i,']: ');readln(a[i]);
end;
for i:=1 to n-1 do
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 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 <i) Do
Begin
If (i Mod j)=0 Then
nguyento:=False;
j:=j+1;
End;
If nguyento Then
Write(i:4);
End;
Writeln;
Writeln(' Bam phim de ket thuc');
Readln
End.
Viết chương trình Pascal tìm USCLN, BSCNN
Program Uoc_so_Boi_so_chung;
Var
a,b:Word;
p:LongInt;
Begin
Writeln('UOC SO CHUNG LON NHAT, BOI SO CHUNG NHO NHAT');
Writeln('--------------------------------------------');
Write('-Nhap so thu nhat a= ');
Readln(a);
Write('-Nhap so thu hai b= ');
Readln(b);
p:=a * b;
Write('+Uoc so chung lon nhat cua ',a,' va ',b,' la: ');
While a b Do
Begin
If a > 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 < so Then
solon:=so;
End;
Writeln;
Writeln('+So lon nhat trong ',n,' so vua nhap la so: ',solon);
Writeln(' Bam phim de ket thuc');
Readln
End.
34Viết chương trình Pascal kiểm tra tính nguyên tố của 1 số nguyên
Program So_nguyen_to;
Var
n,i:Integer;
Begin
Writeln('SO VUA NHAP CO PHAI LA SO NGUYEN TO ?');
Writeln('-------------------------------------');
Write('-Nhap mot so : ');
Readln(n);
While n > 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 < 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 tính diện tích tam giác
Program Dien_tich_tam_giac;
Var
a,b,c:Integer;
p,s:Real;
Begin
Writeln('DIEN TICH TAM GIAC');
Writeln('------------------');
Write('-Nhap so thu nhat: ');
Readln(a);
Write('-Nhap so thu hai : ');
Readln(b);
Write('-Nhap so thu ba : ');
Readln(c);
If (a+b>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.
Các file đính kèm theo tài liệu này:
- ai_tap_pascal_co_ban_danh_cho_hs_co_ban_7315.pdf