Upload
sonnqsp
View
95
Download
2
Embed Size (px)
Citation preview
Củng cố kiến thức kiểu dữ liệu mảng 1 chiều.
Hiểu được chương trình bài tập SGK.
Biết được kết quả chạy chương trình.
Rèn luyện kỹ năng lập trình.
Bài 1:
a. Tạo mảng A có n (n ≤ 100) số nguyên có trị tuyệt đối <
300. Tính tổng các phần tử của mảng là bội số của một số
nguyên dương k cho trước.
Yêu cầu:
1. Khai báo.
2. Tạo và in mảng.
3. Nhập k.
4. Tính và in ra màn hình tổng các phần tử
của mảng là bội số của k.
b. Tìm số các số dương và số các số âm trong mảng.
posi, neg: integer;
posi:=0; neg:=0;
If A[i]>0 then posi :=posi+1
else if A[i]< 0 then neg :=neg+1;
writeln(posi:4, neg:4);
Khai báo
Thân CT
Bài tập. Viết chương trình tạo mảng A ngẫu nhiên gồm
n (n<=100) phần tử số nguyên, mỗi số có giá trị không
quá 200. Đếm và in ra màn hình các số dương và các số
âm trong mảng A
Ví dụ:
15 -18 16 -20 19 -15 18A
1 2 3 4 5 6 7
Mảng A có 4 phần dương
Mảng A có 3 phần tử âm
Bài 2:
a. Viết chương trình tìm phần tử có giá trị lớn nhất của
mảng sau đó đưa ra chỉ số và giá trị của phần tử tìm được.
Nếu có nhiều phần tử có cùng giá trị lớn nhất thì đưa ra
phần tử có chỉ số nhỏ nhất.
Yêu cầu:
1. Khai báo.
2. Nhập n và giá trị các phần tử của mảng.
3. Tìm và xuất ra giá trị và chỉ số của phần tử lớn
nhất.
b. Chỉnh sửa chương trình trên để đưa ra chỉ số của các
phần tử có cùng giá trị lớn nhất.
Gợi ý:Sau khi tìm thấy phần tử lớn nhất (câu 2a)
Ta xét tất cả các phần tử trong mảng nếu A[i] = A[j]
(giá trị lớn nhất) thì ta in ra chỉ số của nó.