hess_cross

New Member

Download miễn phí Bài tập pascal cơ bản cho học sinh và sinh viên





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.



Để tải bản Đầy Đủ của tài liệu, xin Trả lời bài viết này, Mods sẽ gửi Link download cho bạn sớm nhất qua hòm tin nhắn.
Ai cần download tài liệu gì mà không tìm thấy ở đây, thì đăng yêu cầu down tại đây nhé:
Nhận download tài liệu miễn phí

Tóm tắt nội dung 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 hay 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 hay 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 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 <1000 cho biết có bao nhiêu số nguyên tố từ 0n
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...
 

Các chủ đề có liên quan khác

Top