Tải bản đầy đủ (.doc) (13 trang)

bai tap pascl cơ bản

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (101.59 KB, 13 trang )

BỒI DƯỠNG NỘI DUNG KIẾN THỨC CHUYÊN SÂU CHỦ ĐỀ : LẬP TRÌNH
PASCAL
MỘT SỐ DẠNG BÀI TẬP PASCAL CƠ BẢN
program demmang;
uses crt;
const max=100;
var a:array[1..max] of integer;
i,n,demchan,demle,d,j,t:integer;
begin
clrscr;
writeln('nhap vao so luong phan tu day:');
readln(n);
randomize;
for i:=1 to n do a[i]:=random(1000)-random(1000);
for i:=1 to n do write(a[i]:5);
writeln;
begin
demchan:=0; demle:=0;
for i:=1 to n do
if a[i] mod 2=0 then demchan:=demchan+1
else demle:=demle+1;
write( 'so chan la:',demchan:4,',so le la:',demle:4);
end;
for i:=1 to n do
d:=0; t:=0;
for j:= 1 to n do
if a[i] mod j = 0 then d:=d+1;
if d=2 then t:=t+1;
writeln(' so nguyen to trong mang la:',t);
readln
end.


=========================================================
program bptb1;
uses crt;
var a,b:real;
begin
clrscr;
writeln(' nhap vao cac he so:');
readln(a,b);
if a<>0 then
if a>0 then writeln('bat phuong trinh co nghiem x>=',-b/a:4:2)
else
writeln(' bat phuong trinh co nghiem: x<=',-b/a:4:2)


else
if b>=0 then
writeln(' bat phuong trinh co vo so nghiem')
else
writeln(' bat phuong trinh vo nghiem');
readln
end.
program giaihpt;
uses crt;
var a,b,c,m,d,n,dd,dx,dy:real;
begin
clrscr;
writeln('nhap vao cac he so: ');
readln(a,b,m,c,d,n);
dd:=a*d-c*b;
dx:= d*m-b*n;

dy:= a*n-c*m;
if dd=0 then
begin
if (dx=0) and (dy=0) then
writeln('he phuong trinh vo so nghiem');
if (dx<>0) or (dy<>0) then
writeln('he phuong trinh vo nghiem');
end
else
writeln(' he co nghiem x=', dx/dd:4:2,'; y=',dy/dd:4:2);
readln
end.
===========================================
program demptmang;
uses crt;
const nmax=100;
var A: array[1..nmax] of integer;
s,i,n,k :integer;
begin
clrscr;
randomize;
write('nhap n=');
readln(n);
for i:=1 to n do A[i]:= random(300);
writeln('mang A =');


for i:=1 to n do write(A[i]:5); writeln;
writeln('nhap k= ');
readln(k);

s:=0;
for i:=1 to n do
if A[i] mod k= 0 then s:= s+ A[i];
writeln(' tong la= ',s);
readln
end.
======================================
program luythua;
uses crt;
var x,y,lt: real;
begin
clrscr;
writeln('nhap x= ');
readln(x);
writeln('nhap y= ');
readln(y);
if x>=0 then
begin
lt:=exp(y*ln(x));
writeln(x,'^',y,'=',lt:5);
end
else
writeln('khong tinh duoc do x la so am');
readln
end.
======================================
Program sosanhxau;
uses crt;
var a,b:string[30];
begin

clrscr;
writeln('nhap vao ho ten nguoi thu 1:');
readln(a);
writeln('nhap vao ho ten nguoi thu 2:');
readln(b);
if length(a)>length(b) then write(a) else write(b);
readln
end.
program giaithua;
uses crt;


var n,i,gt:integer;
begin
clrscr;
writeln('nhap vao giai thua can tinh:');
readln(n);
gt:=1;
for i:=1 to n do
gt:=gt*i;
writeln(n,'!=',gt:4:2);
readln
end.
================================================

BỒI DƯỠNG NỘI DUNG KIẾN THỨC CHUYÊN SÂU
CHỦ ĐỂ: CẤU TRÚC RẼ NHÁNH
Cấu trúc rẽ nhánh có 2 dạng dạng thiếu và dạng đủ:
Dạng thiếu: If <điều kiện> then ;
Dạng đủ: If <điều kiện> then else ;

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.
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 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ố 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 ((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à 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
Bài tập 1: Gọi dtb là điểm trung bình cả năm của một học sinh được nhập từ bàn
phím, em hãy viết chương trình để thông báo ra màn hình xếp loại học lực của hs
đó. Nếu dtb dưới 5.0 thì xếp loại yếu, dtb từ 5.0 đến 6.4 thì xếp loại trung bình, dtb
từ 6.5 đến 7.9 thì xếp loại khá, dtb trên 8 thì xếp loại giỏi.
Xác định bài toán:
Input:
Output:
Ý tưởng:
Các em hãy thảo luận theo nhóm để viết chương trình cho bài tập trên vào phiếu
học tập.
đtb cả năm của một học sinh.
xếp loại học lực của hs đó.
ta dùng câu lệnh if - then
để xét từng điều kiện của đtb.

chương trình:
Program xep_loai;
Uses crt;
Var dtb: real;
Begin
clrscr;
write(‘Nhap dtb cua ban vao: ’); readln(dtb);
if dtb<5 then writeln(‘Ban xep loai YEU’)
else if dtb<6.5 then writeln(‘Ban xep loai TB’)
else if dtb<8 then writeln(‘Ban xloai KHA’)
else writeln(‘Ban xep loai GIOI’);
readln
End.
Bài 2:
Lập trình để giải bài toán cổ sau:
Vừa gà
vừa chó.
Bó lại cho tròn.
Ba mươi sáu con,
Một trăm chân chẵn.
Hỏi có bao nhiêu con mỗi loại?
Program ga_cho;


Uses crt;
Var ga, cho: byte;
Begin
Clrscr;
For ga:=1 to 22 do
Cho:=36-ga;

Writeln(‘so cho = ‘,cho,’ so ga = ‘,ga);
Readln
End.



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×