Một số bài tập lập trình Pascal tin 8 nâng cao

Chia sẻ bởi Đỗ Thị Quỳnh Như | Ngày 14/10/2018 | 47

Chia sẻ tài liệu: Một số bài tập lập trình Pascal tin 8 nâng cao thuộc Tin học 8

Nội dung tài liệu:

MỘT SỐ BÀI TẬP LẬP TRÌNH PASCAL TIN 8 NÂNG CAO
Bài tập 1:
Viết chương trình giải phương trình bậc hai với yêu cầu sử dụng các chương trình con để giải quyết các trường hợp xãy ra của delta.
a. Hướng dẫn:
b. Mã chương trình:
Program Giai_PT_bac_hai;
uses crt;
var a,b,c,delta:real;
{----------------------}
Procedure delta_duong;
begin
write(`Phuong trinh co hai nghiem x1=`,(-b+sqrt(delta))/(2*a),`x2=`,(-b+sqrt(delta))/(2*a));
end;
{---------------------}
Procedure delta_khong;
begin
write(`Phuong trinh co nghiem kep x=`,-b/(2*a):3:1);
end;
{--------------------}
Procedure delta_am;
begin
writeln(`Phuong trinh vo nghiem`);
end;
{Chuong trinh chinh}
Begin
clrscr;
write(`Nhap a: `);readln(a);
write(`Nhap b: `);readln(b);
write(`Nhap c: `);readln(c);
delta:=b*b-4*a*c;
if delta>0 then delta_duong
else if delta = 0 then delta_khong
else delta_am;
readln
end.

c. Nhận xét: Chương trình con cho phép chia nhỏ công việc nhằm đơn giản hoá. Ngoài ra một công việc nào đó lặp lại nhiều lần trong chương trình nên dùng CTC vì khi đó mã chương trình sẽ gọn, dễ theo dõi, gỡ rối hơn.

Bài tập 2:
Viết chương trình cho phép nhập hai số vào hai biến, thực hiện đổi giá trị của hai biến cho nhau. Yêu cầu dùng chương trình con để thực hiện chức năng đổi giá trị.
a. Hướng dẫn:
b. Mã chương trình:
Program CTC_1;
uses crt;
var a,b: real;
{----CTC doi gia tri----}
Procedure swap(var x,y:real);
var tam:real;
begin
tam:=x; x:=y; y:=tam;
end;
{-----Ket thuc CTC-----}
begin
clrscr;
write(`Nhap so a: `);readln(a);
write(`Nhap so b: `);readln(b);
swap(a,b);
write(`Sau khi doi a =`,a:3:1);
write(`Sau khi doi b =`,b:3:1);
readln
end.


b. Nhận xét:
- Nếu bỏ từ var ở khai báo var x,y:real thì chương trình vẫn không báo lỗi nhưng chức năng đổi giá trị của hai biến không thực hiện được.

Bài tập 3:
Tìm số lớn thứ nhì trong n số được nhập từ bàn phím.
Ví dụ: Nhập các sô 10; 10; 9; 9; 8 thì được số lớn nhì là 9.
Giải thuật:
- Nhập 2 số, Xác định giá trị cho hai biến Max, Nhi.
- Lần lượt nhâp các số. Với mỗi số được nhập xét:
- Nếu So > Max thì gán Nhi = Max, Max = So.
- Nếu Nhi < So < Max thì gán Nhi = So.

Program So_lon_nhi;
Var n,i,so, nhi,max,tam:integer;
Procedure swap(var x,y:real);
var tam:real;
begin
tam:=x;
x:=y;
y:=tam;
end;
Begin
Write(`Nhap n: `);Readln(n);
Write(`nhap so:`);Readln(max);
Write(`nhap so: `);Readln(nhi);
if nhi > Max then swap(Max,nhi)
For i:= 3 to n do
Begin
Write(`Nhap so: `);Readln(so);
if (so>nhi) and (so if so>max then
Begin
nhi:=max;
Max:=so;
End;
End;
Write(`So thu nhi la: `,nhi);
Readln
End.



Bài tập 4:
Viết chương trình tính giai thừa của số n (Viết là n!). Với yêu cầu:
- Nếu người dùng nhập số n < 0 thì yêu cầu nhập lại.
- Sử dụng chương trình con để tính giai thừa của một số.
n! = 1 nếu n = 0;
n! = 1.2.3.4.5...n (Tích của n thừa số).
a. Hướng dẫn:
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...

Người chia sẻ: Đỗ Thị Quỳnh Như
Dung lượng: 82,00KB| Lượt tài: 1
Loại file: doc
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)