- Ví dụ: k[5] phần tử cĩ chỉ số 5 trong mảng.
d) Một số ví dụ:
BÀI TẬP I MỤC TIÊU
I. MỤC TIÊU
1. Kiến thức
- Học sinh sử dụng được biến kiểu mảng một chiều để giải quyết một số bài tốn đơn giản.
- Thực hiện được khai báo, truy cập, tính tốn các phần tử của mảng 1 chiều.
2. Kỹ năng
- Tạo được kiểu mảng một chiều và sử dụng biến mảng một chiều trong ngơn ngữ lập trình pascal để giải quyết một số bài tốn cụ thể.
3. Thái độ
- Ham thích mơn học, cĩ tính kỷ luật cao.
II. PHƯƠNG TIỆN
- Giáo viên: Giáo án, sách giáo khoa, bảng, phấn, tài liệu,... - Học sinh: Vở ghi, sách giáo khoa tin học 11, bút, ...
III. TIẾN TRÌNH TIẾT DẠY1. Kiểm tra bài cũ 1. Kiểm tra bài cũ
KIỂM TRA 15 PHÚT (lần 2) Đề:
Câu 1: Tại sao mảng là kiểu dữ liệu cĩ cấu trúc? Câu 2: Tại sao phải khai báo kích thước của mảng? Câu 3: Các phần tử của mảng cĩ thể cĩ những kiểu gì? Đáp án:
Câu 1: Mảng là kiểu dữ liệu do người lập trình xây dựng nên.
Câu 2: Phải khai báo kích thước mảng để máy tính dành số ơ nhớ cần thiết để lưu trữ
các giá trị trong mảng.
Câu 3: Các phần tử mảng cĩ thể cĩ các kiểu dữ liệu chuẩn và các kiểu dữ liệu cĩ cấu
trúc đã được xây dựng trước đĩ.
2. Kết nối
HOẠT ĐỘNG CỦA GV VÀ HS NỘI DUNG
GV: Ghi đề bài 5-trang 79 lên bảng.
Yêu cầu học sinh cho biết dữ liệu vào và dữ liệu ra?
HS: Trả lời câu hỏi.
GV: Hãy cho biết cách tính cơng bội
của cấp số cộng?
HS: d=a[2]-a[1];
GV: Day số thỏa mãn điều kiện gì thi
được gọi là dãy số cấp số cộng.
HS: Dãy A=A1,A2,…,AN là cấp số cộng nếu d) Một số ví dụ: Bài 5: (trang 79-SGK) Program Bai5_trang79; Uses Crt;
Var a:array[1..100] of byte; i,n,d:byte; BEGIN Clrscr; Write('Nhap N='); Readln(N); For i:=1 to N do BEGIN
Write('Nhap phan tu thu',i,':'); Readln(a[i]);
End;
d=Ai-Ai-1 với mọi i=2..N.
GV: Gọi một học sinh lên bảng viết
chương trình.
HS: Viết chương trình.
GV: Ghi đề bài ví dụ 2 lên bảng. Yêu
cầu HS cho biết dữ liệu vào và dữ liệu ra?
HS: Lên bảng xác định dữ liệu vào và
dữ liệu ra.
GV: Cho biết input và Output của bài
tốn.
HS:
- Input:
Số nguyên N và dãy N số nguyên A1,A2,…,AN.
- Output:
Số lượng số lẻ, số lượng số chẵn, số lượng số nguyên tố.
GV: Số như thế nào thì được gọi là số
chẵn, số lẻ, làm thế nào để kiểm tra.
HS: Số chẵn là số chia hết cho 2, số lẻ
khơng chia hết cho 2. Ta kiểm tra bằng cách lấy số đĩ mod 2, nếu =0 thì là chẵn, nếu <>0 thì là lẻ.
GV: Làm thế nào để đếm được slsl và
slsc?
HS: Kiểm tra lần lượt từ số đầu tiên cho đến số cuối cùng, nếu cĩ số mod 2=0 thì tăng số lượng số chẵn lên 1, ngược lại thì tăng số lượng số lẻ lên 1.
GV: Số như thế nào gọi là số nguyên
tố?
HS: Số nguyên tố là số chỉ chia hết cho
1 và chính nĩ.
GV: Làm thế nào để đếm số lượng số
nguyên tố trong dãy.
HS: Lần lượt kiểm tra ước số của các
phần tử trong dãy từ phần tử A1 tới AN, số nào cĩ 2 ước số thì ta tăng số lượng số nguyên tố lên 1.
i:=2;
While ((i<=N) and (a[i]=a[i-1]+d)) do i:=i+1;
if i>N then write('cac so vua nhap la cap so cong')
Else Write('cac so vua nhap khong la cap so cong'); Readln; END. Bài 6: (trang 79-SGK) program bai6_79; uses crt;
var a:array[1..100] of byte; i,j,N,slsc,slsl,slnt,slch:byte;
BEGIN
Clrscr;
Write('Nhap so phan tu cua day:'); Readln(N);
For i:=1 to N do BEGIN
Write('Nhap phan tu thu ',i,':'); Readln(a[i]);
End; Slsc:=0;
For i:=1 to N do
if a[i] mod 2=0 then slsc:=slsc+1; Slsl:=N-slsc;
Writeln('-So luong so chan=',slsc,'-So luong so le=',slsl); slnt:=0; For i:=1 to N do Begin slch:=0; For j:=1 to a[i] do
if a[i] mod j=0 then slch:=slch+1; if slch=2 then slnt:=slnt+1;
end;
write('-So luong so nguyen to=',slnt); readln;
3. Củng cố:
Khi viết chương trình cần mơ tả thuật tốn trước.