Mảng một chiều Ví dụ2: cho mảng a gồm n phần tử, in ra màn hình giá trị của các phần tử trong mảng... in ra màn hình giá trị của các phần tử trong mảng?[r]
(1)ÔN TẬP (2) Câu lệnh if – then a.Dạng thiếu Cú pháp: if <điều kiện> then <câu lệnh>; Sơ đồ khối Điều kiện Đúng Câu lệnh Sai Ý nghĩa: Tính và kiểm tra điều kiện, điều kiện đúng, câu lệnh thực hiện, điều kiện sai câu lệnh bị bỏ qua (3) b Dạng đủ Cú pháp if <điều kiện> then <câu lệnh 1> else <câu lệnh 2>; Sơ đồ khối Câu lệnh Sai Điều kiện Đúng Câu lệnh Ý nghĩa: Tính và kiểm tra điều kiện, điều kiện đúng, câu lệnh thực hiện, ngược lại câu lệnh thực (4) Ví dụ 1: nhập a từ bàn phím, kiểm tra xem a có chia hết cho không? Thông báo màn hình kết If a mod = then writeln(‘ a chia het cho 5’) else writeln(‘ a khong chia het cho 5’); Ví dụ 2: Tìm giá trị nhỏ hai số nguyên a và b với a, b nhập từ bàn phím -C1: dùng if – then dạng thiếu min:=a; if b < a then min:=b; -C2: dùng if – then dạng đủ if a < b then := a else := b; (5) Cú pháp: Lặp dạng tiến For <biến đếm>:=<giá trị đầu> to <giá trị cuối> <câu lệnh>; Lặp dạng lùi For <biến đếm>:=<giá trị cuối> downto <giá trị đầu> <câu lệnh>; (6) Trong đó: Biến đếm là biến đơn, thường có kiểu nguyên Giá trị đầu, giá trị cuối là các biểu thức cùng kiểu với biến đếm, và giá trị đầu phải nhỏ giá trị cuối (7) Cú pháp: While <điều kiện> <câu lệnh>; Trong đó: + Điều kiện là biểu thức loogic + Câu lệnh là câu lệnh đơn ghép (8) Hoạt động vòng lặp while - Điều kiện Đúng Câu lệnh Sai (9) (10) Ví dụ: tính điểm trung bình các học sinh bàn Nếu bàn ngồi học sinh thì cần nhập điểm học sinh đó tính điểm trung bình Thuật toán B1: nhập điểm học sinh B2: tính điểm trung bình B3: đưa kết màn hình (11) Vậy muốn tính điểm trung bình tổ (giả sử tổ có 12 người) Vậy ta cần nhập điểm 12 người (tương đương viết 12 câu lệnh nhập) Nếu muốn tính điểm trung bình lớp (lớp có 36 người) Vậy ta cần nhập điểm 36 người (tương đương viết 36 câu lệnh nhập) Khối lượng khai báo lớn Số lượng câu lệnh nhiều (12) Mảng chiều Khái niệm: mảng chiều là dãy hữu hạn các phần tử cùng kiểu Mảng đặt tên và phần tử nó có số Ví dụ: cho dãy A gồm các phần tử: A= số {1 6} (13) Mảng chiều a/ khai báo: Khai báo trực tiếp: var <tên biến mảng> : array [kiểu số] of <kiểu phần tử> ; Trong đó: Kiểu số: là đoạn số nguyên liên tục có dạng n1 n2 n1 là số đầu, n2 là số cuối và n1<=n2 Kiểu phần tử: là kiểu các phần tử mảng Ví dụ: Var a:array [1 20] of integer; b:array [1 max] of byte; c:array [-n n] of char; (14) Mảng chiều Cách tham chiếu tới các phần tử mảng xác định tên mảng cùng với số, số viết cặp ngoặc [ và ] Ví dụ: cho dãy A gồm các phần tử: A= số {1 6} Để tham chiếu tới phần tử thứ mảng ta viết là A[5] Chỉ số là :5 Giá trị là: (A[5] = 1) (15) Mảng chiều b/ Ví dụ1: tính điểm thi trung bình môn tin học lớp 11a Thuật toán: B1: nhập số học sinh lớp và điểm tất các học sinh (n, và A1, A2, …, An) B2: tính điểm trung bình B3: đưa kết màn hình (16) Program diemtb; Var a:array[1 50] of real; n,i: byte; tb:real; Begin write('nhap so hoc sinh lop: '); readln(n); for i:=1 to n begin write('nhap diem cua nguoi thu ',i,': '); readln(a[i]); end; tb:=0; for i:=1 to n tb:=tb+a[i]; tb:=tb/n; writeln('diem tb mon tin cua lop la: ',tb:8:1); Readln end (17) Mảng chiều Ví dụ2: cho mảng a gồm n phần tử, in màn hình giá trị các phần tử mảng Thuật toán: B1: nhập số phần tử và giá trị các phần tử mảng (n, và A1, A2, …, An) B2: xuất màn hình giá trị các phần tử mảng (18) Program vidu2; Var a:array[1 50] of integer; n,i: byte; Begin write('nhap so phan tu mang: '); readln(n); for i:=1 to n begin write(‘phan tu a[',i,'] = '); readln(a[i]); end; writeln(‘cac phan tu vua nhap la: ’); for i:=1 to n write(a[i]:5); Readln end (19) Mảng chiều Ví dụ3: cho mảng a gồm n phần tử, a in màn hình giá trị các phần tử mảng? b tính tổng các phần tử mảng? Thuật toán: B1: nhập n, và a1, a2, …, an B2: xuất màn hình giá trị các phần tử mảng B3: tính tổng các phần tử mảng (20)