- Cú pháp câu lệnh
for(bt1;btđk;bt2)
Công_việc;
Trong đó:
- for là từ khoá
- bt1,bt2 là các biểu gán, btđk là một biểu thức cho giá trị logic
- Công_việc có thể là một lệnh đơn , một cấu trúc điều khiển nào đó hay một khối lệnh
- Sơ đồ cú pháp
- Sự hoạt động của câu lệnh for được tiến hành theo các bước sau:
Bước 1: Xác định giá trị của bt1
Bước 2: Xác định giá trị của btđk
Bước 3: Tuỳ thuộc vào tính đúng, sai của biểu thúc btđk máy sẽ tiến hành lựa chọn một trong hai nhánh sau:
Nếu btđk có giá trị False, máy sẽ ra khỏi vòng lặp for và chuyển tới câu lệnh sau cấu trúc for
Nếu btđk có giá trị True, máy sẽ tiến hành thực hiện các câu lệnh trong thân for . Khi thực hiện xong Công_việc hay gặp câu lệnh continue trong thân for máy sẽ chuyển sang buớc 4(khởi đầu lại).
Bước 4: Tính bt2 sau đó quay lại bước 2 để bắt đầu lại vòng lặp mới của chu trình.
Chú ý:
+) Các bt1,bt2,btđk có thể vắng mặt nhưng phải để lại dấu chấm phẩy.
+) Nếu btđk vắng mặt thì máy coi luôn đúng. Khi đó muốn thoát khỏi vòng lặp thì phải dùng câu lệnh return, break hay goto.
+) Các bt1,bt2 có thể gồm nhiều biểu thức cách nhau bởi dấu phẩy
+) Thông thường bt1 dùng để khởi gán giá trị cho các biến trong vòng lặp, bt2 dùng để thay đổi giá trị của các biến điều khiển khong vòng lặp sao cho lúc đầu btđk cho giá trị True nhưng sau một số hữu hạn bước thực hiện thì btđk cho giá trị False
Ví dụ 1: Nhập vào một số nguyên dương n sau đó tính n!
-----------------------------------------------------------------------------------------------
using System;
class VD6
{
static void Main()
{
int n, i,s;
Console.Write("Nhap vao so nguyen n=");
n = int.Parse(Console.ReadLine());
for (s = 1, i = 1; i <= n;++i)
s = s * i;
Console.Write("{0}!={1}", n, s);
Console.ReadKey();
}
}
-----------------------------------------------------------------------------------------------
Ví dụ 2: Tính S=Sin(Sin(......Sin(x))...)
-----------------------------------------------------------------------------------------------
using System;
class VD6
{
static void Main()
{
double x, s;
int i, n;
Console.Write("Nhap vao so nguyen n="); n = int.Parse(Console.ReadLine());
Console.Write("Nhap x theo don vi do="); x = double.Parse(Console.ReadLine());
x = Math.PI * x / 180;
for (s=x,i=n; i>=1;--i)
s = Math.Sin(s);
Console.Write("S={0:N3}",s);
Console.ReadKey();
}
}
-----------------------------------------------------------------------------------------------
Ví dụ 3: Lập chương trình tìm số có ba chữ số sao cho số đó bằng tổng lập phương các chữ số của nó
-----------------------------------------------------------------------------------------------
using System;
class VD8
{
static void Main()
{
int n, a, b, c;
Console.WriteLine("Cac so thoa man yeu cau bai toan la:");
for (a = 1; a <= 9; ++a)
for (b = 0; b <= 9; ++b)
for (c = 0; c <= 9; ++c)
if (a * 100 + b * 10 + c == a * a * a + b * b * b + c * c * c)
Console.Write("{0}\t", a * 100 + b * 10 + c);
Console.ReadKey();
}
}
-----------------------------------------------------------------------------------------------