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

Chia sẻ: quangquac91

Bài tập pascal cơ bản dành cho học sinh - sinh viên tham khảo, được thiết kế bởi Vũ Đức Quang

Bạn đang xem 7 trang mẫu tài liệu này, vui lòng download file gốc để xem toàn bộ.

Nội dung Text: Bài tập pascal cơ bả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ừ
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 n0 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(emax then max:=c[i];
if d[i]>max then max:=d[i];
write(max,' ');
if b[i]0) and (nmax then max:=a[i];
if a[i]0) and (na[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.
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ố nguyên tố trong dãy
hoặc tổng các số là số chính phương trong dãy
Bài 30:
Lập trình nhập 1 mảng 2 chiều kích thước n*n phần tử, Hãy in ra màn hình mảng
được sắp xếp theo hình ziczắc.
VD 1 2 2 4
5 5 6 8
9 10 10 11
Lời giải:
Đề thi vào lớp 10 môn Toán |  Đáp án đề thi tốt nghiệp |  Đề thi Đại học |  Đề thi thử đại học môn Hóa |  Mẫu đơn xin việc |  Bài tiểu luận mẫu |  Ôn thi cao học 2014 |  Nghiên cứu khoa học |  Lập kế hoạch kinh doanh |  Bảng cân đối kế toán |  Đề thi chứng chỉ Tin học |  Tư tưởng Hồ Chí Minh |  Đề thi chứng chỉ Tiếng anh
Theo dõi chúng tôi
Đồng bộ tài khoản