Sắp xếp các phần tử của mảng h theo thứ tự giảm dần.[r]
Trang 1Tin học 9
Bài 9: LÀM VIỆC VỚI DÃY SỐ 9
Tiết 2 – Tuần 28
3/ Tính toán với các phần tử của mảng
Các ví dụ sau đây giúp em có thể sử dụng các phần tử của mảng để tính toán, tìm giá trị lớn nhất, nhỏ nhất, sắp xếp mảng 1 chiều theo thứ tự tăng hoặc giảm
Ví dụ 1:
Viết chương trình nhập mảng a có n phần tử là số nguyên, tính tổng các phần tử đó
Hướng dẫn:
- Nhập mảng a có n phần tử từ bàn phím
- Tong= 0
- Dùng câu lệnh lặp for to do để tính tổng các phần tử của mảng
Code
Program tinh_tongmang;
Uses crt;
Var a: array[1 100] of integer;
n, i, tong: integer;
Begin
Clrscr;
Write(‘Cho biet so phan tu cua mang,nhap n=’);
Readln(n);
for i:=1 to n do
begin
Write(‘a[’,i,‘]=’);
Readln(a[i]);
end;
tong:=0;
for i:=1 to n do tong:=tong+a[i];
writeln(‘Tong cac phan tu=’,tong);
Readln;
Trang 2Ví dụ 2:
Nhập mảng b có n phần tử là số nguyên Tìm phần tử lớn nhất trong mảng.
Hướng dẫn:
- Nhập mảng b có n phần tử
- Gán phần tử nào đó trong mảng là max (max:=b[i])
- So sánh phần tử max với các phần tử còn lại, nếu phần tử nào lớn hơn max thì gán
nó là max
- Tiếp tục như thế đến phần tử cuối cùng (dùng câu lệnh lặp for to do)
Code
Program tim_ptmax;
Uses crt;
Var b:array[1 100] of integer;
n, i, max: integer;
Begin
Clrscr;
Write(‘Cho biet so phan tu cua mang,nhap n=:’);
Readln(n);
for i:=1 to n do
begin
Write(‘b[’,i,’]=’);
Readln(b[i]);
end;
max:=b[1];
for i:=2 to n do
if b[i]>max then max:=b[i];
Writeln(‘Phan tu lon nhat trong mang la:’,max);
Readln;
End.
Bài tập
Nhập mảng b có n phần tử là số nguyên Tìm phần tử nhỏ nhất trong mảng.
Trang 3Ví dụ 3:
Nhập mảng h có n phần tử Sắp xếp các phần tử của mảng h theo thứ tự tăng dần.
Hướng dẫn:
- Nhập mảng h
- Dùng 2 câu lệnh lặp for to do lồng nhau và câu lệnh if then để so sánh:
Nếu h[i]<h[j] thì đổi chổ cho nhau, lặp cho đến phần tử cuối
Code
Program sapxep_mang;
Uses crt;
Var h: array[1 100] of integer;
n, i, j, tam:integer;
Begin
Clrscr;
Write(‘Cho biet so phan tu cua mang:’);
Readln(n);
for i:=1 to n do
begin
Write(‘h[’,i,‘]=’);
Readln(h[i]);
end;
Writeln(‘mang h la:’);
for i:=1 to n do write(h[i]:8);
Writeln(‘mang h sau khi sap xep:’);
for i:=1 to n-1 do
for j:=i+1 to n do
if h[i]<h[j] then
begin tam:=h[i];
h[i]:=h[j];
h[j]:=tam;
end;
Trang 4for i:=1 to n do write(h[i]:8);
Readln;
End.
Bài tập
Nhập mảng h có n phần tử Sắp xếp các phần tử của mảng h theo thứ tự giảm dần.
Dặn dò:
- Học sinh ghi nội dung bài học vào tập.
- Học sinh thực hành lại các ví dụ trên vào máy tính (ở nhà).
- Giáo viên sẽ kiểm tra tập và kỹ năng, thao tác thực hành ngay khi đi học lại.
GHI CHÚ
- Nội dung bài mới: màu xanh dương
- Bài giảng : màu đỏ
- Bài tập : màu đen
- Dặn dò : màu nâu