CẤU TRÚC LẶP
CÂU LỆNH LẶP LẠI CÁC CÂU LỆNH KHÁC BIẾT TRƯỚC SỐ LẦN LẶP LẠI
Khi dùng câu lệnh While… do(ở bài trước) thì ta không biết trước được các lệnh(giữa begin .. end; ) lặp lại bao nhiêu lần( chỉ biết nó sẽ lặp lại khi điều kiện còn đúng). Vậy khi ta muốn lặp lại với số lần xác định(biết trước) thì sao ? vẫn dùng được lệnh while nhưng phải dùng 1 biến để đếm số lần lặp lại, và đặt điều kiện sao cho khi biến đếm này bằng với số lần lặp lại thì dừng thực hiện các lệnh giữa begin và end;
Để đơn giản hơn, ta sẽ dùng câu lệnh lặp FOR… sẽ lặp lại lệnh khác với số lần lặp biết trước.
Cú pháp câu lệnh
For biến đếm:= giá trị đầu to giá trị cuối do
Begin
Các câu lệnh sẽ được lặp lại ;
End;
- Biến đếm : là 1 biến kiểu số nguyên đã được khai báo
- Giá trị đầu, giá trị cuối là 2 số nguyên. Giá trị đầu phải nhỏ hơn giá trị cuối. Lấy giá trị cuối trừ giá trị đầu cộng 1 ta sẽ biết được số lần lặp lại. Ở lần lặp đầu tiên biến đếm i sẽ lấy giá trị bằng với giá trị đầu, sau đó mỗi lần lặp lại thì biến đếm i sẽ tự động tăng thêm 1 đơn vị. Vậy ở lần lặp lại cuối cùng, biến đếm i có giá trị là bao nhiêu? Học sinh tự trả lời trong phần trắc nghiệm nhé.
- Giữa begin và end ;(chấm phẩy) là các lệnh pascal sẽ được lặp lại
Công dụng của câu lệnh FOR là lặp lại các lệnh giữa begin và end; với số lần lặp lại biết trước, được tính theo cách nêu trên.
Hãy xét 1 ví dụ nhé . Yêu cầu: viết chương trình viết ra bảng nhân của số 6.
Trả lời các câu hỏi sau trước khi viết lệnh
Cần khai báo 1 biến đếm kiểu số nguyên(thường sử dụng biến có tên là i)
Số lần lặp lại là bao nhiêu? 10 lần(bảng nhân có 10 dòng)
Lệnh cần lặp lại là lệnh nào ? writeln(‘6 x ’ , i , ‘ = ‘ , 6*i );
Lệnh For sẽ viết như sau:
Khai báo 1 biến kiểu số nguyên i để làm biến đếm của lệnh FOR.
….VAR i: integer ;
……For i:= 1 to 10 do
Begin
writeln(‘6 x ’ , i , ‘ = ‘ , 6*i );
End ;
Số lần lặp lại sẽ là : 10 -1 + 1 = 10 và mỗi lần lặp lại giá trị của i sẽ thay đổi từ 1 đến 10. Ta sẽ viết ra được 10 dòng của bảng nhân 6
Sau bài này chúng ta sẽ có phần trả lời trắc nghiệm tính điểm nhé( điểm sẽ được cộng vào điểm thực hành khi học lại nha). Các em chọn vào phần trả lời trắc nghiệm để làm bài.
Bài tập vận dụng: các em suy nghĩ và tự viết đoạn chương trình để thực hiện yêu cầu sau: Viết ra 50 số nguyên kể từ số 19 số viết sau lớn hơn số viết trước 1 đơn vị(dùng lệnh FOR và không xuống dòng ở mỗi số).
Hướng dẫn: các em điền vào các chỗ trống (có tô màu)trong các câu lệnh sau để có câu lệnh thực hiện yêu cầu nhé
…… Var …….: integer ;
…….For i:= 19 to ……. Do
Begin
write(……);
end ;
Bạn nào điền vào được đoạn lệnh trên thì vào mục thắc mắc ghi lại cho thầy xem, nhớ ghi thêm họ tên và lớp.
Nhấn chuột vào chỗ có chữ nhỏ để làm bài trắc nghiệm có điểm(HS đọc kỹ câu hỏi trước khi chọn đáp án đúng). Nhấn vào chữ xem điểm để xem kết quả làm bài của mình
Bài tập thực hành – Mỗi bài viết 2 chương trình, 1 bằng lệnh for và 1 bằng lệnh while
1) Viết chương trình nhập vào 1 số nguyên n. Viết ra 20 lần các số chẳn lớn hơn số n.
2) Viết chương trình nhập vào 1 số nguyên n, và viết ra n lần họ tên của mình, có đếm số thứ tự mối lần viết ra.
Bạn nào viết được chương trình thì viết vào phần bình luận phía dưới nhé, nhớ ghi tên(nếu viết chính xác sẽ có điểm)