1. Chủ đề 1: Câu lệnh lặp với số lần biết trước For … do: - Cú pháp: For <biến đếm>:=<giá trị đầu> to <giá trị cuối> do <câu lệnh>; - Thành phần: + Biến đếm: biến kiểu nguyên; + Giá trị đầu, giá trị cuối: giá trị nguyên và gtđ<=gtc; + Số lần lặp=gtc-gtđ+1 + Câu lệnh được lặp lại là câu lệnh sau từ khóa do - Hoạt động: Ban đầu <biến đếm> nhận giá trị bằng <giá trị đầu>, sau mỗi vòng lặp biến đếm tự động tăng lên 1 đơn vị cho đến khi bằng <giá trị cuối>. - Ví dụ 1: For i:=1 to 100 do writeln(i); + Biến đếm ? + Giá trị đầu? + Giá trị cuối? + Câu lệnh được lặp lại? + Số lần lặp? - Ví dụ 2: Sau khi thực hiện xong đoạn lệnh sau, giá trị biến S bằng bao nhiêu? a. S:=0; For i:=1 to 5 do S:=S+2; b. S:=1; For i:=2 to 4 do S:=S+i; - Ví dụ 3: Câu lệnh nào đúng? a. for i:=1 to 10; do x:=x+1; b. for i:=1.5 to 10.5 do x:=x+1; c. for i:=10 to 1 do x:=x+1; d. for i:= 1 to 10 do x:=x+1; 2. Chủ đề 2: Câu lệnh lặp với số lần chưa biết trước While … do: - Cú pháp: While <Điều kiện> do <Câu lệnh>; - Thành phần: + Điều kiện: sử dụng phép toán so sánh + Câu lệnh: đơn hoặc ghép - Hoạt động: - Bước 1: Kiểm tra <Điều kiện> - Bước 2: Nếu <Điều kiện> đúng thì thực hiện <Câu lệnh> và quay lại bước 1. Nếu <Điều kiện> sai, kết thúc <Câu lệnh>. - Ví dụ 1: Sau khi thực hiện xong đoạn lệnh sau, giá trị biến S bằng bao nhiêu, thực hiện bao nhiêu vòng lặp ? a. S:=0; While S<10 do S:=S+2; b. S:=0;i:=1; While S<10 do begin S:=S+i;i:=i+1;end; - Ví dụ 2: Câu lệnh nào đúng? a. S:=0; while s<10 do s:=s+1 b. S:=0; while s<10 do s:=s+1; c. S:=0; while s:=10 do s:=s+1; d. S:=0; while s<10 do s=s+1; 3. Chủ đề 3: Làm việc với dãy số - Cú pháp: Var < tên mảng > : array [ < chỉ số cuối > .. < chỉ số đầu >] of < kiểu dữ liệu >; - Thành phần: + Chỉ số đầu và chỉ số cuối: là 2 số nguyên thỏa mãn Chỉ số đầu ≤ chỉ số cuối + Kiểu dữ liệu: kiểu integer hoặc real. - Truy cập mảng: Tên biến mảng[chỉ số] - Nhập giá trị cho biến: Nhập dữ liệu cho 50 phần tử mảng A: For i:=1 to 50 do readln(A[i]); * Xuất giá trị của biến: Xuất ra màn hình các phần tử của mảng C gồm 40 phần tử: For i:=1 to 40 do writeln(C[i]); hoặc For i:=1 to 40 do write(C[i], ‘ ‘); - Ví dụ 1: Khai báo nào đúng? a. Var A : Array [1…5] of real; b. Var A : Array [10..9] of integer; c. var A : Array [5..5] of integer; d. var A : Array [1..100] of real - Ví dụ 2: Viết câu lệnh khai báo mảng Diem gồm 35 phần tử để lưu trữ điểm giữa kì môn Tin của các bạn trong lớp. - Ví dụ 3: Viết câu lệnh để nhập dữ liệu cho mảng Diem ở trên. - Ví dụ 4: Viết câu lệnh để xuất dữ liệu của mảng Diem ở trên. * Viết chương trình: - Tính tổng của dãy số - Tìm số lớn nhất và nhỏ nhất của dãy số ---Hết---