Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (262.3 KB, 16 trang )
<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1></div>
<span class='text_page_counter'>(2)</span><div class='page_container' data-page=2>
<b>Ví dụ:</b>
- 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
<b>Khai báo 1 biến như sau:</b>
Var diem_1: real;
<b>Khai báo 2 biến như sau:</b>
Var diem_1, diem_2: real;
<b>- Nhập và lưu điểm cho 50 học sinh thì sao?</b>
Write (‘Diem hs 1= ‘);
Readln(diem_1);
Write (‘Diem hs 2= ‘);
Readln(diem_2);
Những hạn chế:
<sub> Phải khai báo quá nhiều biến.</sub>
<sub> Chương trình phải viết khá dài</sub>
Write (‘Diem hs 1= ‘); Readln(diem_1);
Write (‘Diem hs 2= ‘); Readln(diem_2);
Write (‘Diem hs 3= ‘); Readln(diem_3);
Write (‘Diem hs 4= ‘); Readln(diem_4);
……
……
Write (‘Diem hs 50 = ‘);
Readln(diem_50);
- Nhập và lưu điểm cho 50 học sinh thì sao?
<b>Khai báo n biến như sau:</b>
<b>Var diem_1, diem_2, diem_3, </b>
<b>diem_4, .. , diem_50: real</b>;
Khắc phục những hạn chế:
<sub> Lưu các dữ liệu liên quan bằng một biến duy nhất.</sub>
<sub> Gán cho mỗi biến một chỉ số</sub><sub>.</sub>
<b>Var </b>
<b> diem: array[1..50] of real;</b>
<b>……</b>
For i:=1 to 50 do
Begin
write(‘diem hs’,i,’:’);
readln(diem[i]);
End;
:
<b>Dữ liệu kiểu mảng: Là một </b><i><b>tập hợp hữu hạn các phần </b></i>
<i><b>tử</b></i> <i><b>có thứ tự</b></i><b>, mọi phần tử đều </b> <i><b>có cùng một kiểu dữ </b></i>
<i><b>liệu.</b></i>
<b>Biến mảng</b> <b>là biến được khai báo kiểu dữ liệu </b>
<b>là kiểu mảng.</b>
<b>2. VÍ DỤ VỀ BIẾN MẢNG:</b>
<i><b>Khi khai báo biến mảng </b></i>
<i><b>cần chỉ rõ những yếu tố </b></i>
<i><b>nào?</b></i>
<b>Khai báo mảng cần chỉ rõ:</b>
<b> + Tên biến mảng.</b>
<b> + Số lượng phần tử.</b>
<b> + Kiểu dữ liệu chung của các phần tử.</b>
1 2 3 4 5 6 7
Trong đó
<b><sub>Khi tham chiếu đến phần tử thứ i</sub></b>
<b>Ta</b> <b>viết A[i]</b>
<b><sub>Tên mảng</sub></b> <sub>: </sub>
<b><sub>Số phần tử của mảng</sub></b><sub>:</sub>
<b><sub>Kiểu dữ liệu của các phần tử:</sub></b>
<b>A</b>
<b>7</b>
<b>Kiểu nguyên</b>
<b>A[6] =22</b>
<b>Var </b><i><b><</b><b>tên biến mảng</b></i><b>>: array[<</b><i><b>chỉ số đầu</b></i><b>>..<</b><i><b>chỉ </b></i>
<i><b>số cuối</b></i><b>>] of <</b><i><b>kiểu dữ liệu</b></i>>;
<b>Cú pháp khai báo mảng:</b>
<b>Trong đó: </b>
- <b><sub>Array, of</sub><sub> là từ khóa của chương trình.</sub></b>
- <b><sub><Tên biến mảng> do người dùng đặt.</sub></b>
- <b><sub><Chỉ số đầu> <= <chỉ số cuối> (Số nguyên)</sub></b>
- <b><sub>Kiểu dữ liệu có thể là </sub></b> <b><sub>số nguyên hoặc số </sub></b>
<b>thực</b>.
<b>Sử dụng khai báo mảng để khai báo cân nặng </b>
<b>Bài làm:</b>
<b>Số lượng học sinh trong </b>
<b>lớp là bao nhiêu</b>?
<b>Cân nặng và chiều cao </b>
<b>thuộc những kiểu dữ </b>
<b>liệu nào?</b>
<b>Đúng</b>
<b>Sai</b>
<b>Sai</b>
<b>Sai</b>
<b>Sai</b>
Cách khai báo biến nào sau đây trong pascal đúng
hay sai? Giải thích?
a) <b>Var </b>X: Array[10, 13] <b>of</b> integer;
b) <b>Var </b>X: Array[5..10.5] <b>of</b> real;
c) <b>Var </b>X: Array[3.4..4.8] <b>of</b> integer;
<b>3. TÌM GIÁ TRỊ LỚN NHẤT VÀ NHỎ NHẤT CỦA DÃY SỐ</b>
Bước 1. MAX a[1]; i 1.
Bước 2. i i + 1.
Bước 3. Nếu i > n, chuyển đến bước 5.
Bước 4. Nếu a[i] > MAX, MAXa[i]; Trong
trường hợp ngược lại (MAX <= a[i]), giữ
nguyên MAX . Quay lại bước 2.
Bước 5. Kết thúc thuật toán
INPUT: Dãy A các số a[1], a[2], ..., a[n] (n 1).
<b>3. TÌM GIÁ TRỊ LỚN NHẤT VÀ NHỎ NHẤT CỦA DÃY SỐ</b>
Bước 1. MIN a[1]; i 1.
Bước 2. i i + 1.
Bước 3. Nếu i > n, chuyển đến bước 5.
Bước 4. Nếu a[i] < MIN, MINa[i]. Trong
trường hợp ngược lại (MIN >= a[i]), giữ
nguyên MIN . Quay lại bước 2.
Bước 5. Kết thúc thuật toán
INPUT: Dãy A các số a[1], a[2], ..., a[n] (n 1).
-<sub> Về học bài này.</sub>