Bài t
ậ
p
v
ề
nhà
:
S
ử
d
ụ
ng m
ả
ng 1
chiều, viết chương trình nhập vào
m
ả
ng g
ồ
m n ph
ầ
n t
ử
. In ra k
ế
t qu
ả
:
s
ố
Bài t
ậ
p
:
S
ử
d
ụ
ng m
ả
ng 1 chi
ề
u, vi
ế
t chương trình nh
ậ
p vào m
ả
ng g
ồ
m n ph
ầ
n t
ử
. In ra k
ế
t qu
ả
:
s
ố
phần tử vừa nhập, tổng các phần tử chẵn, lẻ, đếm có bao nhiêu phần tử chẵn, lẻ.
{
code
}
{Khai báo tên chương trình}
program vd1;
{Sử dụng thư viện thao tác với màn hình, bàn phím}
uses crt;
{khai báo biến mảng}
var a:array[1 100] of integer;
{Khai báo biến dữ liệu vô hướng}
i,n,sum_even,count_odd,sum_odd,count_even:integer;
begin
{Lệnh xóa màn hình – thư viện CRT cung cấp}
clrscr;
write('Nhap so phan tu cua mang: ');
readln(n);
{Nhập phần tử mảng}
for i:=1 to n do
begin
write('a[',i,'] = ');
readln(a[i]);
end;
writeln('So phan tu cua mang vua nhap: ');
{Xuất phần tử mảng}
for i:=1 to n do
write(a[i]:4);
writeln;
{Khởi tạo giá trị cho các biến}
sum_even := 0;
sum_odd := 0;
count_even := 0;
count_odd := 0;
{Duyệt số phần tử trong mảng dùng vòng lặp for do}
for i:=1 to n do
{Đếm và tính tổng chẵn}
if a[i] mod 2 = 0 then
{Câu lệnh ghép}
begin
{Tổng chẵn}
sum_even := a[i] + sum_even;
{Đếm số chẵn}
count_even := count_even + 1;
end
{kết thúc câu lệnh ghép}
{Đếm và tính tổng lẻ}
else
{Câu lệnh ghép}
begin
{Tổng lẻ}
sum_odd := a[i] + sum_odd;
{Đếm số lẻ}
count_odd := count_odd + 1;
end;
{kết thúc câu lệnh ghép}
{In ra màn hình k
ế
t qu
ả
theo
yêu c
ầ
u bài toán}
{Xóa màn hình đưa về vị trí ban đầu}
clrscr;
writeln('Day so vua nhap:');
{Duyệt từng phần tử trong mảng}
{để in ra các giá trị vừa nhập}
for i:=1 to n do
write(a[i]:8);
writeln;
writeln('Tong cac so chan = ',sum_even);
writeln('Tong cac so le = ',sum_odd);
writeln('Co ',count_even,' so chan');
writeln('Co ',count_odd,' so le');
readln;
end.
……………………………………………………….
Bài tập thêm : Cho mảng 1 chiều A gồm n phần tử
(nhập từ bàn phím).
a> Tính tổng các phần tử vừa nhập.
b> Tính tổng các phần tử lẻ, chẵn.
c> Xuất ra các phần tử chẵn, lẻ.
d> Nhập vào một số B, cho biết B xuất hiện trong
mảng A bao nhiêu lần.
e> Xuất ra phần tử lớn nhất, nhỏ nhất trong
mảng.
f> Sắp xếp dãy A thành dãy không giảm, không
tăng.
g> Đổi chỗ phần tử đầu và phần tử cuối mảng
cho nhau.
Thắc mắc các em liên hệ
0122 819 8191