BÀI TẬP PASCAL TIN HỌC 8.
I.
XỬ LÝ SỐ.
Bài 1: Hãy xuất câu ‘chao cac ban’ ra màn hình.
Bài 2: Lập trình theo thứ tự: chú ý đến khoảng cách các chữ chèn
vào.
-
Xuất: ‘Ban ten
gi’. Write(‘Ban ten gi? ’);
-
Nhập: <tên của
mình> Readln(ten);
-
Xuất: ‘Pascal xin chao ban ‘ ,<tên>. Writeln(‘Pascal
xin chao ban ‘,ten);
Bài 3: Viết chương trình nhập vào số a
và số b, xuất ra màn hình tổng của hai số đó. (làm tương tự đối với hiệu, tích
thương).
-
Nhập: số a, số b.
- Xử lý:
tong := a+b;
- Xuất
kết quả: ‘Tong cua hai so vua nhap la: ‘, tong
Bài 4: Viết chương trình nhập năm sinh
và năm hiện tại, xuất ra màn hình số tuổi của bạn.
- Nhập:
năm sinh, năm hiện tại.
- Xử lý:
tuoi := năm hiện tại - năm sinh
- Xuất
kết quả: ‘So tuoi cua ban la: ‘, tuoi.
Bài 5: Hãy nhập vào bán kính r, viết chương trình tính chu vi và
diện tích hình tròn.
- Chu vi đường tròn: 2*π*r.
- Diện tích hình tròn: π*r*r.
Chương trình mẩu:
program BT3;
uses crt;
var s,r,c:real;
begin
clrscr;
write('Moi ban nhap ban kinh r= ');
readln(r);
c:= 2*r*3.14;
s:= r*r*3.14;
writeln('Dien tich hinh tron la: ',s:2:1);
write('Chu vi hinh tron la: ',c:2:1);
readln;
end.
Bài 6: Hãy nhập vào chiều dài d và chiều rộng r, viết chương trình
tính chu vi và diện tích hình chữ nhật.
- Chu vi hình chữ nhật: (dài + rộng)*2.
- Diện tích hình chữ nhật: dài *
rộng.
Bài 7: Hãy nhập vào chiều cao h và cạnh đáy a, viết chương trình
tính diện tích hình tam giác.
( s=cạnh
đáy* chiều cao/2)
Bài 8: Hãy nhập vào một cạnh a, tính chu vi và diện tích hình
vuông.
- chu vi: cạnh *4. Diện tích: cạnh * cạnh.
Bài 9: Một của hàng bán nước ngọt với giá sỉ là 7000đ/chai nếu mua
chẳn chục, giá 7500đ/chai nếu mua lẻ. Nhập vào số chai cần mua và viết chương
trình tính tiền cho khách theo giá trên.
- Nhập n (số chai cần mua).
- Số chai lẻ = n mod 10; Số chai chẳn = n div 10
Bài 10:Tách số. Nhập vào một chữ số có ba số, viết chương trình
tách ra số hàng trăm hàng chục và hàng đơn vị.
Ví dụ: nhập vào số n = : 352.
Kết quả: Số 352 có:
II. CẤU TRÚC RẼ NHÁNH.
Bài 11: Nhập vào chiều cao của bạn
a và bạn b, in ra màn hình thông báo bạn nào cao hơn.
If a>b then writeln(‘Ban a cao hon’)
Else writeln(‘Ban b cao hon);
Bài 12: Viết chương trình nhập vào một số a, in kết quả thông báo
số a là số chẳn hay số lẻ.
Bài
13: Viết chương trình nhập vào một số a, in kết quả thông báo số a là số âm
hay số dương.
Bài 14: Nhập vào chiều dài 3 cạnh a, b,
c của một tam giác. Viết chương trình cho biết đây có phải là một tam giác đều
không?
-
Nếu (a=b) and (b=c) và thì là tam giác đều, ngược lại không là tam giác đều.
Bài
15: Nhập vào 3 cạnh a, b, c của một tam giác. Viết chương trình cho biết
đây có phải là một tam giác cân không?
-
Nếu (a=b) or (b=c) or (a=c) và thì là tam giác cân, ngược lại không là tam giác
cân.
III. CẤU TRÚC
LẶP VỚI SỐ LẦN XÁC ĐỊNH.
Bài 16: Viết chương trình in ra
màn hình n dòng chữ (giả sử nhập n=10) như sau:
Day la dong thu 1.
Day la dong thu 2.
Day
la dong thu 3.
Day la dong thu 4.
Day
la dong thu 5.
Day la dong thu 6.
Day
la dong thu 7.
Day la dong thu 8.
Day
la dong thu 9.
Day la dong thu 10.
Bài
17: Nhập vào số nguyên dương n, viết chương trình in ra các số tự nhiên nhỏ
hơn hoặc bằng n.
- Nhập n;
- For i:= 1 to n do write(i, ‘ ‘);
Bài
18: Tính tổng của n số tự nhiên đầu tiên, với n là số nguyên dương và được
nhập từ bàn phím.
- Nhập n;
- tong:=0;
For i:=1 to n do tong:=tong+i;
- In kết quả là, tong.
Bài
19: Nhập vào số nguyên n, viết chương trình tính tích n số tự nhiên đầu tiên.
(còn gọi là tính giai thừa n).
n! được biết như sau:
n!= 1
với n=0.
n!=
1.2.3…n (tích của n số từ 1 đến n).
- Nhập n;
- gt:=1;
for i:=1 to n do gt:=gt*i;
- in
gt.
Bài 20: Nhập vào số nguyên dương n,
viết chương trình tính tổng các số lẻ nhỏ hơn hoặc bằng n.
- Nhập n;
- TL:= 0;
for i:= 1 to n do
If i mod 2 = 1 do TL:= TL +i; (Nếu
tính tổng chẳn thì điều kiện: i mod 2 = 0)
- In kết quả (TL).
Ghi
chú: Bài này có thể đổi lại là tính tổng các số chẳn…
Bài
21: Nhập vào số nguyên dương n, viết chương trình in ra tất cả các số ước
của n.
- Nhập n;
- for i:= 1 to n do
If n mod i = 0 then write(i, ‘ ‘);
Bài
22: Nhập vào số nguyên n, viết chương trình xem số n có phải là số nguyên
tố không?
Cách
1: dùng câu lệnh while … do
- nhập n;
- i:=2;
while n mod i <>0 do
i:= i+1;
if i=n then writeln(n, ' la
so nguyen to')
else writeln(n, '
khong la so nguyen to');
Cách 2:
KT:= true;
for i:=2 to
n-1 do if (n mod i)= 0 then KT := false;
Bài tập phụ không gợi ý:
Các bài toán cổ:
23.Trâu đứng ăn năm
Trâu nằm ăn ba
Lụ khụ trâu già
Ba con một bó
Trăm con ăn cỏ
Trăm bó no nê.
Hỏi có bao nhiêu trâu đứng , trâu nằm , trâu già ?
Trâu nằm ăn ba
Lụ khụ trâu già
Ba con một bó
Trăm con ăn cỏ
Trăm bó no nê.
Hỏi có bao nhiêu trâu đứng , trâu nằm , trâu già ?
24.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ó bảo nhiêu chó gà?
IV. LẶP VỚI SỐ LẦN CHƯA BIẾT
TRƯỚC.
Bài 25: Viết chương trình: Cần cộng bao nhiêu số tự nhiên đầu tiên
để tổng nhỏ hơn hoặc bằng1000. In ra màn
hình số tự nhiên và số tổng đó.
Bài 26: VCT, Tính tổng của bao nhiêu số số tự nhiên đầu tiên để
tổng của nó nhỏ hơn hoặc bằng n. Với n
là số nguyên dương và được nhập từ bàn phím.
- Nhập n;
- tong:=0; i:=0;
While
tong<= n do
Begin
i:= i+1;
tong:=tong+i;
end;
-
In kết quả là, i.(tổng của i số tự nhiên đầu tiên để tổng nhỏ hơn hoặc bằng n.
Bài 27: Viết chương trình để tính trung bình của n số thực x1,
x2,x3,x4…xn. Biết các số n và x1, x2,x3,x4…xn được nhập từ bàn phím.
V. LÀM VIỆC VỚI DÃY SỐ - BÀI TẬP
MẢNG.
Bài 28: Viết chương trình nhập dãy số gồm n số nguyên nhập từ bàn phím, thực hiện:
- In dãy số đã nhập ra màn hình.
- In dãy số đó theo thứ tự ngược lại.
- Phần tử thứ x có giá trị là bao nhiêu? (x<n và được
nhập từ bàn phím).
Bài
29: Nhập vào n số nguyên dương, viết chương trình tính tổng các số vừa
nhập. Với n được nhập từ bàn phím.
- Nhập n, nhập giá
trị từng phần tử.
- tong:= 0;
For i:=1 to n do tong:= tong + a[i];
- in kết quả là tong.
Bài
30: Nhập vào n số nguyên dương, viết chương trình tìm số lớn nhất, số nhỏ
nhất trong n số đó.
- Nhập n, nhập giá
trị từng phần tử.
- max:=a[1];
for i:=2 to n do
if max<=a[i] then
max:=a[i];
min:=a[1];
for i:=2 to n do
if min>=a[i] then
min:=a[i];
- In kết quả, min max.
Bài 31: Viết chương trình nhập dãy n số
và in ra tổng các số chẳn, tổng các số lẽ trong dãy vừa nhập.
- Nhập n, nhập giá
trị từng phần tử.
- TC:=0;
TL:=0;
for i:=1 to n do
if a[i] mod 2= 0 then TC:=TC+a[i]
else TL:=TL+a[i];
- In kết quả, TC, Tl.
Bài 32: Viết chương trình nhập n số và
cho biết số nhỏ nhất trong các số vừa nhập là số thứ mấy.
- Nhập n, nhập giá
trị từng phần tử.
- min:=a[1];
for i:=2 to n do
if min>=a[i] then
Begin
min:=a[i];
k:=i;
end;
- In kết quả, số thứ k.
Ghi chú: sửa lại đề đối với trường hợp
số lớn nhất.
Bài 33: Viết chương trình nhập n số,
sắp xếp và in ra các số đã nhập theo thứ tự:
a. Tăng dần.
b.
Giảm dần.
a. - Nhập n, nhập
giá trị từng phần tử.
- for i:=1 to n-1 do
for j:=i+1 to n do
if a[i]>a[j] then
begin
tam:=a[i];
a[i]:=a[j];
a[j]:=tam;
end;
- In kết quả, dãy số đã sắp xếp tăng dần: for i:=1 to n do
write(a[i],' ');
Không có nhận xét nào:
Đăng nhận xét