1. Trang chủ
  2. » Công Nghệ Thông Tin

21 bt pascal cơ bản

9 1 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề 21 Bài tập Pascal cơ bản
Chuyên ngành Pascal
Thể loại Bài tập
Định dạng
Số trang 9
Dung lượng 102 KB

Nội dung

Theo khung chương trình của Bộ Giáo Dục và Đào Tạo, Ngôn ngữ Lập trình Pascal là một phần quan trọng trong học phần Tin học Đại cương thuộc các khối ngành Khoa học Tự nhiên, đặc biệt là ngành Công nghệ Thông tin. Nhằm đáp ứng yêu cầu học tập của học sinh, sinh viên bước đầu làm quen với công việc lập trình, chúng tôi đã biên soạn bộ Giáo Trình Bài tập Pascal nhằm giúp cho sinh viên có một tài liệu học tập, rèn luyện tốt khả năng lập trình, tạo nền tảng vững chắc cho các môn học tiếp theo trong chương trình đào tạo Cử nhân Công nghệ Thông tin . Giáo trình bai gồm rất nhiều bài tập từ đơn giản đến phức tạp. Các bài tập này được biên soạn dựa trên khung chương trình giảng dạy môn Tin học Đại cương. Bên cạch đó, chúng tôi cũng bổ sung một số bài tập dựa trên cơ sở một số thuật toán chuẩn với các cấu trúc dữ liệu được mở rộng nhằm nâng cao kỹ năng, phương pháp lập trình cho sinh viên. Nội dung của giáo trình được chia thành 10 chương. Trong mỗi chương đều có phần tóm tắt lý thuyết, phần bài tập mẫu và cuối cùng là phần bài tập tự giải để bạn đọc tự mình kiểm tra những kiến thức và kinh nghiệm đã học. Trong phần bài tập mẫu, đối với những bài tập khó hoặc có thuật toán phức tạp, chúng tôi thường nêu ra ý tưởng và giải thuật trước khi viết chương trình cài đặt. Xin chân thành cảm ơn các đồng nghiệp ở Khoa Công nghệ Thông tin Trường Đại học Khoa học Huế đã giúp đỡ, đóng góp ý kiến để hoàn chỉnh nội dung giáo trình này. Chúng tôi hy vọng sớm nhận được những ý kiến đóng góp, phê bình của bạn đọc về nội dung, chất lượng và hình thức trình bày để giáo trình này ngày một hoàn thiện hơn.

Trang 1

Bài 1: Nhập vào 2 cạnh của một hình chữ nhật In ra màn hình diện tích và chu vi của nó.

Program hcn;

Uses crt;

Var a,b,s,c:real;

Begin

Clrscr;

Writeln(‘Tinh chu vi va dien tich hcn’);

Write(‘nhap chieu dai:’); Readln(a);

Write(‘nhap chieu rong:’); Readln(b);

S:=a*b;

C:=(a+b)*2;

Writeln(‘Dien tich hinh chu nhat la:’,S);

Writeln(‘Chu vi hinh chu nhat la:’,C);

Readln;

End

Bài 2:Nhập vào bán kính của hình tròn.In ra màn hình diện tích và chu vi của nó.

Program hinh_tron;

Uses crt;

Var R, S, P: real;

Const pi=3.14;

Begin

Clrscr;

Writeln(‘Dien tich va chu vi hinh tron:’);

Write(‘nhap ban kinh:’); Readln(R);

S:=pi*R*R;

P:=2*pi*R;

Writeln(‘dien tich cua hinh tron la:’,S);

Writeln(‘chu vi cua hinh tron la:’,P);

Readln;

End

B

à i 3 : Tính tam giác: Nhập vào ba số a,b,c bất kì Kiểm tra xem nó

có thể là độ dài ba cạnh hay không, nếu không thì in ra màn hình ' Khong la ba canh cua mot tam giac' Ngược lại, thì in diện tích, chu vi của tam giác ra màn hình.

Program Tam_giac;

Uses crt;

Var a,b,c,s,p:real;

Begin

Clrscr;

Writeln(‘bai toan tam giac’);

Write(‘nhap a=’); Readln(a);

Write(‘nhap b=’); Readln(b);

Trang 2

Write(‘nhap c=’); Readln(c);

If ((a+b)>c) and ((b+c)>a) and ((a+c)>b) then

Begin

p:=(a+b+c)/2;

s:=sqrt(p*(p-a)*(p-b)*(p-c));

Writeln(‘chu vi tam giac:’,2*p);

Writeln(‘dien tich hinh tam giac:’,s);

End;

Else

Writeln(a,b,c khong phai la 3 canh cua tam giac’);

Readln;

End

B

à i 4 : Viết chương trình giải phương trình bậc 1 (ax + b = 0)

Program GIAI_PHUONG_TRINH_BAC_NHAT;

Uses crt;

Var a,b,x:real;

Begin

Clrscr;

Writeln(‘giai phuong trinh bac nhat:ax+b=0’);

Write(‘nhap a=’); Readln(a);

Write(‘nhap b=’); Readln(b);

If (a=0)then

If (b=0) then

Writeln(‘phuong trinh co vo so nghiem’);

Else

Writeln(‘phuong trinh vo nghiem’);

Else

Writeln(‘phuong trinh co nghiem x=’,-b/a);

Readln;

End

B

à i 5 : Viết chương trình giải bất phương trình bậc 1 (ax + b >= 0)

Program BAT_PHUONG_TRINH_BACI;

Uses crt;

Var a,b:real;

Begin

Clrscr;

Writeln(‘giai bat Phuong trinh bac nhat’);

Write(‘nhap a=’); Readln(a);

Write(‘nhapb=’); Readln(b);

If a<>0 then

If a>0 then writeln(‘bat phuong trinh co nghiem:x>=’,-b/a);

Else writeln(‘bat phuong trinh co nghiem:x<=’-b/a);

Else

If b>=0 then

Writeln(‘bat phuong trinh co vo so nghiem’);

Else writeln(‘bat phuong trinh vo nghiem’);

Readln;

End

B

à i 6: Viết chương trình nhập sử dụng 2 biến X và Y để lưu 2 số nhập từ bàn phím,sau đó hoán đổi giá trị của 2 biến cho nhau(x, y có giá trị tăng dần)

Cách 1:

Trang 3

Program hoan_doi;

uses crt;

var X,Y,Z: real;

begin

clrscr;

write('Nhap so X = '); readln(Y);

write('Nhap so Y = '); readln(Y);

if X>Y then

begin

Z:=X;

X:=Y;

Y:=Z;

End;

writeln(X,’ ’,Y);

readln

end

Bài7:Viết chương trình nhập 3 số thực a,b,c từ bàn phím vào máy tính,sau đó kiểm tra 3 số đó có thể là 3 cạnh của tam giác đều,tam giác cân hoặc tam giác vuông hay không và ghi kết quả ra màn hình.

program Sap_xep;

uses crt;

var A, B, C, X: integer;

begin

clrscr;

write('Nhap so A: '); readln(A);

write('Nhap so B: '); readln(B);

write('Nhap so C: '); readln(C);

if (A+B<C) or (B+C<A) or (A+C<B)

then writeln('Day khong la ba canh cua mot tam giac') else

if (A*A=B*B+C*C) or (B*B=A*A+C*C) or (C*C=A*A+B*B)

then writeln('Day la ba canh cua tam giac vuong') else

if (A=B) and(B=C) and (A=C)

then writeln('Day la ba canh cua tam giac deu') else

if (A=B) or (B=C) or (C=A)

then writeln('Day la ba canh cua tam giac can') else

writeln('Day chi la ba canh cua tam giac thuong');

readln;

end

Bài8: Viết chưong trình nhập 1 số tự nhiên vào máy tính và ghi ra màn hình kết quả số đã nhập là 1 số chẳn hay lẽ.

Program chan_le;

Uses crt;

Var n:real;

Begin

Clrscr;

Write(‘nhap so n=’); readln(n);

If (n mod 2)= 0 then write(‘n la so chan’)

Else write(‘n la so le);

Trang 4

End

Bài 9: Tìm giá trị lớn nhất trong 4 số a,b,c,d(a,b,c,d được nhập từ bàn phím)

Program Tim_so_lon_nhat;

Uses crt;

Var a,b,c,d,max:real;

Begin

Clrscr;

Writeln(‘Tim so lon nhat trong 4 so a,b,c,d’);

Write(‘nhap so a=’);readln(a);

Write(‘nhap so b=’);readln(b);

Wtite(‘nhap so c=’);readln(c);

Write(‘nhap so d=’);readln(d);

Max:=a;

If b>max then max:=b;

If c>max then max:=c;

If d>max then max:=d;

Writeln(‘so lon nhat la’:,max:4:2);

Readln;

End

Bài 10:Viết chương trình giải phương trình tuyến tính:

ax  by  m

cx  dy  n Program giai_he_hai_an;

Uses crt;

Var a,b,c,d,m,n:real;

dx,dy,dd:real;

begin

clrscr;

Writeln(‘giai he hai an:’);

Write('Nhap a=');readln(a);

Write('Nhap b=');readln(b);

Write('Nhap c=');readln(c);

Write('Nhap m=');readln(m);

Write('Nhap n=');readln(n);

dd:=a*d-b*c;

dx:=m*d-b*n;

dy:=a*n-c*m;

if dd=0 then

if(dx=0) and(dy=0) then

writeln(‘he vo so nghiem hoac vo nghiem’) else

writeln(‘he vo nghiem’) else

Begin

Write(‘he co nghiem:’);

Trang 5

Writeln(‘x=’,dx/dd,’va y=’,dy/dd);

End;

Readln;

End

Bài 11: Nhập vào tâm và bán kính của 1 đường tròn.Sau đó nhập vào một điểm A(x,y) bất kì và kiểm tra xem nó có thuộc đường tròn hay không?

Program KIEMTRADIEMTHUOCDUONGTRON;

Uses crt;

Var x0,y0,xa,ya,d,r:real;

Begin

Writeln(‘kiem tra diem thuoc duong tron:’);

Write(‘nhap ban kinh r=’);readln(r);

Write(‘nhap toa do tam duong tron=’);readln(x0,y0);

Write(‘nhap toa do diem A=’);readln(xa,ya);

d:=sqrt(sqr(xa-x0)+sqr(ya-y0));

if r=d then

writeln(‘diem A nam tren duong tron’) else

if d>r then writeln(‘diem A nam ngoai duong tron’) else writeln(‘diem A nam trong duong tron);

Readln;

End

Bài 12: Viết chương trình tính xy (với x,y là số thực)

Proram XluyY;

Uses crt;

Var x,y,z:real;

Begin

Writeln(tinh x luy thua y);

Write(‘nhap x=’);readln(x);

Write(‘nhap y=’);readln(y);

If x>0 then

Begin

Z:=exp(y*ln(x));

Writeln(‘x^y=’,z);

End;

Else

Writeln(‘khong tinh duoc vi x la so am’);

Readln;

End

Bài 13: Viết chương trình tính xn

Program tinh_x_luy_thua_n;

Uses crt;

Var I,n,x:integer;

Lt:real;

Begin

Clrscr;

Writeln(‘tinh x luy thua n);

Write(‘nhap x=’); readln(x);

Trang 6

Write(‘nhap n=’); readln(n);

Lt:=1;

For i:=1 to n do

Lt:=lt*x;

Writeln(x,’^’,n,’=’,lt:4:2);

Readln;

End

Bài 14: Vieát chöông trình tính n!

Program tinh_n_luy_thua;

Uses crt;

Var I,n,gt:integer;

Begin

Clrscr;

Writeln(‘tinh n giai thua:’);

Writeln(‘nhap n=’);readln(n);

Gt:=1;

For i:=1 to n do

Gt:=gt*i;

Writeln(n,’!=’,gt);

Readln;

End

Bài 15: Vieát chöông trình nhập vào 1 số nguyên dương x Hãy xác định số x có chia hết cho 3 hay không?

Program Chia_het_3;

Uses crt;

Var x:integer;

Begin

Clrscr;

Write(‘nhap x=’); readln(x);

If (x mod 3)= 0 then

Writeln(‘x chia het cho 3:’) Else writeln(‘x khong chia het cho 3:’);

Readln;

End

Bài 16: Vieát chöông trình nhập chiều dài,chiều rộng hình chữ nhật,bán kính hình tròn So sánh diện tích của hình chữ nhật và hình tròn

Program so_sánh;

Uses crt;

Var a,b,r,s1,s2:real;

Const pi=3.14;

Begin

Clrscr;

Writeln(‘so sánh dien tich hcn & hinh tron’);

Write(‘nhap chieu dai=’);readln(a);

Write(‘nhap chieu rong=’);readln(b);

Write(‘nhap ban kinh hinh tron=’); readln(r);

Trang 7

S2:=r*r*3.14;

If s1>s2 then writeln(‘dien tich hinh chu nhat lon hon hinh tron’)

Else writeln(‘dien tich hinh tron lon hon hinh chu nhat’);

Readln;

End

Bài 17: Viết chương trình tính điểm trung bình của 1 học sinh ,dữ liệu nhập vào là ĐTBHKI,ĐTBHKII In ra màn hình ĐTBCN của học sinh đĩ với

ĐTBCN=(ĐTBHKI+ĐTBHKII*2)/3,và xếp loại học lực biết:

+ ĐTBCN <5 ,xếp loại: Yếu.

+ 5=< ĐTBCN<6.5,xếp loại: Tbình.

+ 6.5=<ĐTBCN<8,xếp loại: Khá.

+ ĐTBCN>=8,xếp loại: Giỏi.

Program xep_loai;

Uses crt;

Var ĐTBHKI,ĐTBHKII,ĐTBCN:real;

Begin

Clrscr;

Write(‘nhap ĐTBHKI =’); readln(ĐTBHKI);

Write(‘nhap ĐTBHKII=’); readln(ĐTBHKII);

ĐTBCN:=(ĐTBHKI+ĐTBHKII*2)/3;

If ĐTBCN < 5 then writeln(‘xep loai=’Yeu’);

If 5=<ĐTBCN<6.5 then writeln(‘xep loai=’Tbinh’);

If 6.5=<ĐTBCN<8 then wrtieln(‘xep loai=’Kha’)

Else writeln(‘xep loai=’Gioi’);

Readln;

End

Bài 18: Viết chương trình nhập vào bán kính r1 và r2 của 2 đường trịn và khoảng cách giữa 2 tâm đường trịn là d(với r1,r2,d>0) Xác định vị trí tương đối giữa 2 đường trịn(cắt nhau, tiếp xúc nhau hay khơng cắt nhau)

Program bai18;

Uses crt;

Var r1,r2,d:real;

Begin

Clrscr;

Writeln(‘vi tri tuong doi giua 2 duong tron’);

Write(‘nhap ban kinh duong tron 1,r1=’); readln(r1);

Write(‘nhap ban kinh duong tron 2,r2=’); readln(r2);

Write(‘nhap khoang cach giua 2 tam duong tron d=’); readln(d);

If r1+r2=d then writeln(‘hai duong tron tiep xuc ngoai’);

If r1+r2>d then writeln(‘hai duong tron cat nhau’);

If r1+r2<d then writeln(‘hai duong tron khong cat nhau’);

Readln;

End

Bài 19: Viết chương trình nhập n số nguyên Đếm các số vừa chia hết cho 2 vừa chia hết

3 Xuất kết quả ra màn hình

Trang 8

Program bai19;

Uses crt;

Var i,n,dem:integer;

X;real;

Begin

Clrscr;

Write(‘nhap so luong so’); readln(n);

Dem:=0;

For i:=1 to n do

Begin

Write(‘nhap so thu tu’,i);readln(x);

If (x mod 2=0) and(x mod 3=0) then Dem:=dem+1;

End;

Writeln(‘so luong cac so chia het cho 2 va 3 la:’dem);

Readln;

End

Bài 20: Viết chương trình tính tích của 10 số tự nhiên đầu tiên { Dùng while do… }

Program tich;

Uses crt;

Const n=10;

Var i, tich:integer;

Begin

Clrscr;

Tich:=1;

i:=1;

while i<=n do

begin

tich:=tich*i;

i:=i+1;

end;

writeln(‘tich cua 10 so tu nhien dau tien la=’,tich);

readln;

End

{ Dùng For do… }

Program tich;

Uses crt;

Var i,n:integer;

Begin

Clrscr;

Tich:=1;

For i:=1 to 10 do

begin

tich:=tich*i;

i:=i+1;

Trang 9

writeln(‘tich cua 10 so tu nhien dau tien la=’,tich);

readln;

End

Bài 21: Viết chương trình tính tổng của 100 số tự nhiên đầu tiên { Dùng while do… }

Program tong;

Uses crt;

Const n=100;

Var i, tong:integer;

Begin

Clrscr;

Tong:=0;

i:=1;

while i<=n do

begin

tong:=tong+i;

i:=i+1;

end;

writeln(‘tong cua 100 so tu nhien dau tien la=’,tong);

readln;

End

{ Dùng For do… }

Program tong;

Uses crt;

Var i,n:integer;

Begin

Clrscr;

Tong:=0;

For i:=1 to 100 do

begin

tong:=tong+i;

i:=i+1;

End;

Writeln(‘tong cua 100 so tu nhien dau tien la=’,tong);

Readln;

End

Ngày đăng: 06/06/2024, 16:52

w