Nhập dữ liệu cho a, biết rằng phần tử đầu tiên và cuối cùng luôn mang giá trị bằng 5. Các phần tử còn lại có giá trị bất kì được nhập từ bàn phím.[r]
Trang 1Bài 9: LÀM VIỆC VỚI DÃY SỐ
1 Dãy số và biến mảng.
Trang 2XÉT VÍ DỤ SAU
- Nhập và lưu điểm cho
một học sinh Write (‘Nhap diem= ‘);Readln(diem_1);
- Nhập và lưu điểm cho
2 học sinh Write (‘Diem hs 1= ‘);Readln(diem_1);
Write (‘Diem hs 2= ‘); Readln(diem_2);
Khai báo 1 biến như sau:
Var diem_1: real;
Khai báo 2 biến như sau:
Var diem_1, diem_2: real;
- Nhập và lưu điểm cho
n học sinh thì sao?
Trang 3Bảng ví dụ dãy số
Tên
biến Diem_1 Diem_2 Diem_3 … Diem_n
Trang 42 Ví dụ về khai báo biến mảng
Var chieucao: array[1 50] of real;
Mảng tên chieucao gồm
50 phần tử với mỗi phần tử thuộc kiểu dữ liệu số thực
Var cannang: array[1 20] of real; Mảng tên cannang gồm
20 phần tử thuộc kiểu dữ liệu số thực
Mảng oto gồm
100 phần tử thuộc kiểu dữ liệu số nguyên
Var oto: array[1 100] of integer;
Tên mảng Từ khóa Chỉ số đầu
đến cuối kiểu dữ liệu Chỉ định
Trang 5a Khai báo biến mảng trong pascal
Var <tên mảng> : array [<chỉ số đầu> <chỉ số
cuối>] of <kiểu dữ liệu>;
- Array, of: là c ác từ khóa của chương trình.
- Tên mảng: do người dùng t ự đặt.
- Chỉ số đầu và chỉ số cuối phải là 2 số nguyên
thoả mãn (chỉ số đầu <= chỉ số cuối)
- Kiểu dữ liệu là kiểu số (integer, real, byte,
longint).
Trang 6b Ví dụ khai báo biến mảng
- Em hãy khai báo mảng diemtin gồm 40 phần
tử thuộc kiểu dữ liệu số thực.
- Em hãy khai báo mảng mubaohiem gồm 200 phần tử, thuộc kiểu dữ liệu số nguyên
Var diemtin: array[1 40] of real;
Var mubaohiem: array[1 200] of integer;
Trang 7c Đưa dữ liệu vào mảng
Ta có thể đưa dữ liệu từ ngoài (bàn phím) vào mảng bằng lệnh Read hoặc Readln như sau:
• Read (tenmang[i]);
• Readln (tenmang[i]);
Trang 8Ví dụ: Cho mảng 10 phần tử và nhập vào mảng
các số nguyên từ bàn phím
Var
a: array [1 10] of integer;
i: integer;
Begin
For i:=1 to 10 do Begin
write(‘nhap phan tu thu ’,i,’ = ‘);
readln(a[i]);
End;
Readln;
End.
Câu lệnh nhập
dữ liệu vào mảng
Trang 9d Đưa dữ liệu từ mảng ra màn hình
Ta có thể đưa dữ liệu từ mảng ra ngoài màn hình bằng lệnh Write hoặc Writeln như sau:
• Write (tenmang[i]);
• Writeln (tenmang[i]);
Trang 10a: array [1 10] of integer;
i: integer;
Begin
For i:=1 to 10 do Begin
write (‘nhap phan tu thu’,i,’=‘);
readln(a[i]);
End;
writeln (‘cac so vua nhap la:’);
For i:=1 to 10 do
write(a[i]:5);
Readln;
End.
Ví dụ: Cho mảng 10 phần tử và nhập vào mảng các
số nguyên từ bàn phím, sau đó cho hiện ra màn hình
Câu lệnh nhập dữ liệu vào mảng
Câu lệnh đưa dữ liệu
từ mảng ra màn hình
Trang 11e Lấy dữ liệu từ mảng để xử lí:
Ví dụ: Viết chương trình nhập 10 số nguyên từ bàn phím và sau đó tính tổng các số đó.
Var
a: array [1 10] of integer;
i,s: integer;
Begin
For i:=1 to 10 do Begin
write (‘nhap phan tu thu’,i,’=‘);
readln(a[i]);
End;
For i:=1 to 10 do s:= s +a[i];
writeln(‘Tong cac so do la:’,s);
Readln;
End.
Câu lệnh nhập dữ liệu vào mảng
Câu lệnh tính tổng các số đã nhập vào mảng
Trang 12- Xét ví dụ: Khai báo mảng a gồm 10 phần tử Nhập dữ liệu cho a, biết rằng phần tử đầu tiên và cuối cùng luôn mang giá trị bằng 5 Các phần tử còn lại có giá trị bất kì được
nhập từ bàn phím Sau đó in ra 10 phần tử
đó, mỗi phần tử nằm trên 1 dòng
Y/c: Viết chương trình khai báo biến và nhập
dữ liệu theo đúng yêu cầu.
(5 phút)
Trang 13Program vidu;
Var
a: array [1 10] of real;
i: integer;
Begin
a[1]:=5; a[10]:=5;
for i:=2 to 9 do
begin write(‘nhap a[‘,i,’]=‘);
readln(a[i]);
end;
for i:=1 to 10 do writeln(a[i]);
Readln;
End.
Khai báo biến
Sử dụng lệnh gán, để gán giá trị
5 cho phần tử đầu và cuối.
Sử dụng lệnh lặp for to do để nhập dữ liệu cho các phần tử
còn lại (2 9).
Xuất nội dung của mảng ra màn hình sau khi nhập dữ liệu.
Trang 14LUYỆN TẬP
Trang 15Bài 1: Viết chương trình nhập 10 số nguyên và
in các số nguyên dương ra màn hình
Var
a: array [1 10] of integer;
i: integer;
Begin
For i:=1 to 10 do Begin
write (‘nhap phan tu thu’,i,’=‘);
readln(a[i]);
End;
For i:=1 to 10 do
if a[i] > 0 then writeln(a[i]);
Readln;
End.
Trang 16Bài 2: Viết chương trình nhập 10 số nguyên và
in các số chẵn ra màn hình
Var
a: array [1 10] of integer;
i: integer;
Begin
For i:=1 to 10 do Begin
write (‘nhap phan tu thu’,i,’=‘);
readln(a[i]);
End;
For i:=1 to 10 do
if a[i] mod 2 = 0 then writeln(a[i]);
Readln;
End.