Hãy nhập câu hỏi của bạn vào đây, nếu là tài khoản VIP, bạn sẽ được ưu tiên trả lời.
Tham khảo
Sự khác nhau giữa từ khóa và tên: - Từ khóa do ngôn ngữ lập trình quy định. - Tên do con người đặt dùng để phân biệt các đại lượng khác nhau trong chương trình.
Cách đặt tên: - Tên khác nhau tương ứng với những đại lượng khác nhau. - Tên không được trùng với từ khóa - Tên không được bắt đầu bằng chữ số và không được chứa kí tự trống - Tên phải ngắn gọn, dễ nhớ và dễ hiểu.
Tham khảo
- Từ khóa: là những từ dành riêng, không được dùng các từ khóa này cho bất kì mục đích nào khác ngoài mục đích sử dụng do ngôn ngữ lập trình quy định.
- Tên: Do người lập trình đặt ra cho các đối tượng, đại lượng trong chương trình, nhưng phải tuân thủ theo các quy tắc của ngôn ngữ lập trình cũng như của chương trình dịch. Tuy có thể đặt tùy ý tên, nhưng để dễ sử dụng người ta thường đặt sao cho ngắn gọn nhất, dễ nhớ và dễ hiểu nhất.
- Cách đặt tên trong chương trình: Tên do người lập trình đặt phải tuân thủ theo các quy tắc của ngôn ngữ lập trình cũng như của chương trình dịch và thỏa mãn:
1. Tên khác nhau tương ứng với những đại lượng khác nhau.
2. Tên không được trùng với các từ khóa.
Câu lệnh lặp với số lần chưa biết trước được gọi là vòng lặp không xác định (unbounded loop), trong khi đó câu lệnh lặp với số lần chưa biết trước được gọi là vòng lặp xác định (bounded loop).
Cụ thể, sự khác biệt giữa hai loại vòng lặp này như sau:
Vòng lặp không xác định: Không biết trước số lần lặp cụ thể, mà chỉ dừng lại khi thỏa mãn điều kiện nào đó trong quá trình lặp. Vòng lặp này thường sử dụng khi chưa biết trước số lần cần lặp hoặc khi số lần lặp phụ thuộc vào một điều kiện nào đó. Ví dụ: vòng lặp while hoặc do-while.
Vòng lặp xác định: Biết trước số lần lặp cụ thể, vòng lặp sẽ lặp lại một số lần đã được xác định trước. Vòng lặp này thường sử dụng khi biết trước số lần cần lặp. Ví dụ: vòng lặp for.
Ví dụ về vòng lặp không xác định:
i := 0;
while i < 10 do
begin
i := i + 1;
WriteLn('i = ', i);
end;
Vòng lặp này sẽ lặp lại cho đến khi i đạt giá trị 10. Số lần lặp không biết trước, mà phụ thuộc vào giá trị của i.
Ví dụ về vòng lặp xác định:
for i := 1 to 10 do
begin
WriteLn('i = ', i);
end;
Vòng lặp này sẽ lặp lại 10 lần, từ i bắt đầu từ 1 và tăng lên 1 đơn vị cho đến khi đạt giá trị 10. Số lần lặp là xác định, và đã được xác định trước bởi vòng lặp for.
c1: while <điều kiện> do <câu lệnh>;
c3: var <tên biến>:array[<chỉ số đầu>..<chỉ số cuối>]of <kiểu dữ liệu>;
c4: for i:=1 to n do readln(a[i]);
Câu lệnh lặp với số lần biết trước :
– Chỉ thị cho máy tính thực hiện 1 lệnh hay 1 nhóm lệnh với số lần đã được xác định từ trước.
– Điều kiện là 1 giá trị của 1 biến đếm có giá trị nguyên
Câu lệnh lặp với số lần chưa biết trước :
– Chỉ thị cho máy tính thực hiện 1 lệnh hay 1 nhóm lệnh với số lần lặp chưa biết trước.
– Điều kiện tổng quát hơn, có thể là kiểm tra của 1 giá trị có thực, cũng có thể là 1 điều kiện tổng quát khác.
Lời giải :
Câu lệnh lặp với số lần biết trước :
– Chỉ thị cho máy tính thực hiện 1 lệnh hay 1 nhóm lệnh với số lần đã được xác định từ trước.
– Điều kiện là 1 giá trị của 1 biến đếm có giá trị nguyên
Câu lệnh lặp với số lần chưa biết trước :
– Chỉ thị cho máy tính thực hiện 1 lệnh hay 1 nhóm lệnh với số lần lặp chưa biết trước.
– Điều kiện tổng quát hơn, có thể là kiểm tra của 1 giá trị có thực, cũng có thể là 1 điều kiện tổng quát khác.
Sửa đề: For do và While
-Giống nhau: Đều là câu lệnh lặp
-Khác nhau:
For do:
- Là câu lệnh lặp với số lần biết trước
- Từ khóa: for, to, do
- Cú pháp: for <biến đếm>:=<giá trị đầu> to <giá trị cuối> do <câu lệnh>;
- Câu lệnh trong vòng lặp ko làm thay đổi giá trị của biến đếm
- Cách hoạt động
While do:
- Là câu lệnh lặp với số lần chưa biết trước
- Từ khóa: while, do
- Cú pháp: while <điều kiện> do <câu lệnh>;
- Câu lệnh có thể là câu lệnh đơn hay câu lệnh ghép
- Cách hoạt động
"For..to..do.." hay "For..downto..do.." được hiểu như là cấu trúc lặp với số lần lặp được báo trước và thường sẽ có kết thúc (hay còn gọi là "thoát" khỏi vòng lặp).
Tuy nhiên, cấu trúc "While..do.." hay "Repeat..Until.." nói chung được hiểu như cấu trúc lặp với số lần lặp không biết trước (hoặc chưa biết trước) và có một số trường hợp sẽ "treo" máy vì cấu trúc lặp vô tận xãy ra do lỗi cài đặt hoặc xử lý câu lệnh của người viết chương trình
Câu lệnh lặp với số lần biết trước
a. Dạng 1:
1 2 | for <bien>:=<gia_tri_dau> to <gia_tri_cuoi> do <cong_viec>; |
– Bước 1: Kiểm tra giá trị đầu có <= (nhỏ hơn hoặc bằng) giá trị cuối hay không. Nếu đúng thì gán giá trị đầu cho biến và thực thi công việc.
– Bước 2: Kiểm tra giá trị biến <> (khác) giá trị cuối hay không. Nếu đúng thì tăng thêm biến một đơn vị (bien:=SUCC(bien)) rồi thực hiện công việc.
– Lập lại bước 2, cho đến khi giá trị biến bằng giá trị cuối thì kết thúc câu lệnh.
Lưu ý:Biến sau từ khoá for phải là biến đếm được và giá trị đầu phải <= giá trị cuối.
b. Dạng 2:
1 2 | for <bien>:=<gia_tri_dau> downto <gia_tri_cuoi> do <cong_viec>; |
– Bước 1: Kiểm tra giá trị đầu có >= (nhỏ hơn hoặc bằng) giá trị cuối hay không. Nếu đúng thì gán giá trị đầu cho biến và thực thi công việc.
– Bước 2: Kiểm tra giá trị biến <> (khác) giá trị cuối hay không. Nếu đúng thì giảm biến xuống một đơn vị(bien:=PRED(bien)) rồi thực hiện công việc.
– Lập lại bước 2, cho đến khi giá trị biến bằng giá trị cuối thì kết thúc câu lệnh.
Lưu ý:Biến sau từ khoá for phải là biến đếm được và giá trị đầu phải >= giá trị cuối.
Lưu ý: Không giống với các ngôn ngữ khác, Pascal không kiểm tra (biến>cuối) trong câu lệnh FOR … TO … DO để kết thúc vòng lặp mà là kiểm tra (biến=cuối) để thực hiện lần lặp cuối cùng. Vì lẽ đó việc can thiệp vào biến đếm có thể gây ra sự cố “vòng lặp vô tận”. Ngay cả khi bien đã duyệt qua hết phạm vi của kiểu dữ liệu (tức giá trị 255) thì bien quay lai giá trị 0 … và mọi thứ lại tiếp tục …trừ khi gõ Ctrl – Break.
4. Câu lệnh lặp với số lần chưa biết trước
a. Vòng lặp WHILE
Cú pháp:
1 2 | while <dieu_kien> do <cong_viec>; |
Khi gặp vòng lặp chương trình sẽ kiểm tra điều kiện, nếu điều kiện đúng thì thực thi công việc, sau đó quay lại kiểm tra điều kiện. Cứ tiếp tục như thế cho tới khi nào điều kiện sai thì kết thúc.
{Trong khi điều kiện đúng thì làm công việc}.
b. Vòng lặp REPEAT
Cú pháp:
1 2 3 4 | repeat writeln('i =',i); i:=i+1; until i>10; |
Khi gặp vòng lặp chương trình sẽ thực thi công việc, sau đó kiểm tra điều kiện, nếu điều kiện sai thì tiếp tục thực hiện công việc sau đó kiểm tra điều kiện. Cứ tiếp tục như thế cho tới khi nào điều kiện đúng thì kết thúc. {Làm công việc cho đến khi điều kiện đúng}.
Lưu ý:
+ Không giống với vòng lặp for Cả hai vòng lặp While và Repeat đều là vòng lặp không xác định trước số lần lặp. Cần phải có câu lệnh thay đổi giá trị biến điều khiển vòng lặp để có thể thoát ra khỏi vòng lặp.
+ Trong vòng lệnh while thì điều kiện sẽ được kiểm tra trước, nếu điều kiện đúng thì thực hiện công việc. Còn trong lệnh repeat thì ngược lại, công việc được làm trước rồi mới kiểm tra điều kiện, nếu điều kiện đúng thì vòng lặp kết thúc. Như vậy đối với vòng lặp repeat bao giờ thân vòng lặp cũng được thực hiện ít nhất một lần, trong khi thân vòng lặp while có thể không được thực hiện lần nào.
+ Nếu dùng 2 lệnh này để giải cùng một bài toán, cùng một giải thuật như nhau thì điều kiện sau while và điều kiện sau until là phủ định nhau.
+ Các câu lệnh trong vòng lặp repeat không cần phải đặt trong cặp từ khóa BEGIN và END;
Bạn gõ đầy đủ đề nhé