Trong pascal để tính số lần lặp của câu trúc for do làm như thế nào

1.1. Mục đích, yêu cầu

  • Viết được chương trình có sử dụng vòng lặp for...do;
  • Sử dụng được câu lệnh ghép;
  • Rèn luyện kĩ năng đọc hiểu chương trình có sử dụng vòng lặp for...do.

1.2. Nội dung

Cú pháp:

For < biến đếm >:= < giá trị đầu > to < giá trị cuối > do

       < câu lệnh >;

Trong đó:

  • FOR, TO, DO: là từ khóa.
  • Biến đếm: thuộc kiểu dữ liệu số nguyên.
  • Giá trị đầu, giá trị cuối: là giá trị nguyên.
  • Câu lệnh: có thể là câu lệnh đơn hay câu lệnh ghép.

Ý nghĩa:

Khi thực hiện, biến đếm sẽ nhận giá trị là giá trị đầu, sau mỗi vòng lặp, biến đếm sẽ tự động tăng thêm một đơn vị cho đến khi bằng giá trị cuối thì dừng lại.

b. Thực hành

Bài 1. Viết chương trình in ra màn hình bảng nhân của một số từ 1 đến 9, số được nhập từ bàn phím và dừng màn hình để có thể quan sát kết quả.

a. Khởi động Pascal. Gõ chương trình sau và tìm hiểu ý nghĩa của từng câu lệnh trong chương trình;

uses crt;

var N,i:integer;

begin

     clrscr;

     write('Nhap so N=');

     readln(N);

     writeln;

     writeln('Bang nhan ',N);

     writeln;

     for i:=1 to 10 do

            writeln(N,' x ', i:2,' = ',N*i:3);

     readln;

end.

b. Lưu chương trình với tên BANGNHAN.PAS;

c. Dịch và chỉnh sửa các lỗi gõ, nếu có;

d. Chạy chương trình với các giá trị nhập vào lần lượt bằng 1, 2, …,10. Quan sát kết quả nhận được trên màn hình.

Gợi ý làm bài:

Kết quả in ra màn hình:

Trong pascal để tính số lần lặp của câu trúc for do làm như thế nào

Hình 1. Kết quả in ra màn hình bảng nhân 6

Nhận xét kết quả trên: 

  • Các hàng kết quả sát nhau khó đọc;
  • Các hàng kết quả không được cân đối với hàng tiêu đề.
Bài 2. Chỉnh sửa chương trình để làm đẹp kết quả trên màn hình như hình dưới đây:

Trong pascal để tính số lần lặp của câu trúc for do làm như thế nào

Hình 2. Kết quả in ra màn hình bảng nhân 7

Gợi ý làm bài:

Chương trình:

uses crt;

var N,i:integer;

begin

  clrscr;

  write('Nhap so N='); readln(N);

  writeln;

  writeln('Bang nhan ',N);

  writeln;

  for i:=1 to 10 do

  begin

  GotoXY(5,WhereY);

  writeln(N,' x ',i:2,' = ',N*i:3);

  writeln;

  end; 

  readln

end.

Các câu lệnh được thêm vào:

  • Writeln; => Tạo một hàng trống tại vị trí con trỏ.
  • GotoXY(a,b); => Đưa con trỏ về cột a hàng b.
  • Lệnh GotoXY(5, whereY); => Đưa con trỏ về vị trí cột 5 của hàng hiện tại.
  • WhereY =>  Cho biết thứ tự của hàng đang có con trỏ.

Lưu ý: Chỉ sử dụng được các lệnh GotoXY(a,b), WhereX, WhereY sau khi đã khai báo thư viện crt; của Pascal.

Bài 3. Cũng như câu lệnh if, có thể dùng câu lệnh for lồng trong một câu lệnh for khác khi thực hiện lặp. Sử dụng các câu lệnh for…do lồng nhau để in ra màn hình các số từ 0 đến 99 theo dạng bảng như hình sau:

Trong pascal để tính số lần lặp của câu trúc for do làm như thế nào

Hình 3. Kết quả in ra màn hình các số từ 0 đến 99

Gợi ý làm bài:

Chương trình:

Program Tao_bang;

Uses Crt;

Var

  i: byte;  {chi so cua hang}

  j: byte;  {chi so cua cot}

Begin

  Clrscr; {xoa man hinh}

  For i:=0 to 9 do  {viet theo tung hang}

  begin

  For j:=0 to 9 do   {viet theo tung cot tren moi hang}

  write(10*i+j:4); {viet cac so ij ra man hinh}

  writeln;  {xuong hang moi}

  end;  {xong hang thu i}

  readln;  {dung chuong trinh de xem ket qua}

end. 

Trong câu lệnh lặp for….do…, các từ while, do được gọi là gì? A. Tên B. Từ khóa C. Hằng D. Biến Đáp án của bạn: Câu 27: Trong các cú pháp sau đâu là cú pháp của cấu trúc lặp với lần chưa biết trước: A. for:=todo; B. While <điều kiện> do ; C. If <điều kiện> then Else ; D. If <điều kiện> then ; Đáp án của bạn: Câu 28: Trong câu lệnh lặp for i:= 2 to 10 do write(i); thì số lần lặp là: A. 9 B. 3 C. 8 D. 10 Đáp án của bạn: Câu 29: Sau khi thực hiện đoạn chương trình j:= 0; for i:= 1 to 3 do j:=j+2; giá trị của j in ra là? A. 6 B. 10 C. 7 D. 4 Đáp án của bạn: Câu 30: Mỗi buổi tối, Ngọc thường học bài cho đến khi thuộc, đây là dạng: A. câu lệnh lặp với số lần chưa biết trước. B. không phải câu lệnh lặp. C. câu lệnh lặp với số lần biết trước. D. câu lệnh. Đáp án của bạn: Câu 31: Khi thực hiện câu lệnh lặp, chương trình kiểm tra một điều kiện. Với lệnh lặp for := to do ; của Pascal, điều kiện cần phải kiểm tra là gì?. A. Điều kiện cần phải kiểm tra chính là biến đếm, giá trị đầu, giá trị cuối. B. Điều kiện cần phải kiểm tra chính là giá trị của biến đếm lớn hơn giá trị cuối. C. Điều kiện cần phải kiểm tra chính là giá trị của biến đếm nhỏ hơn giá trị cuối. D. Điều kiện cần phải kiểm tra chính là giá trị đầu nhỏ hơn giá trị cuối. Đáp án của bạn: Câu 32: Câu lệnh pascal nào sau đây là hợp lệ? A. For i:=1.5 to 10.5 do writeln(‘A’); B. For i:=100 to 1 do writeln(‘A’); C. For i= 1 to 10 do writeln(‘A’); D. For i:= 1 to 10 do writeln(‘A’); Đáp án của bạn: Câu 33: Trong ngôn ngữ Pascal, đoạn chương trình sau đưa ra màn hình kết quả gì? For i:=1 to 10 do write (i,’ ’); A. 10 9 8 7 6 5 4 3 2 1 B. Đưa ra 10 dấu cách C. Không đưa ra kết quả gì D. 1 2 3 4 5 6 7 8 9 10 Đáp án của bạn: Câu 34: Hãy cho biết tác dụng của câu lệnh lặp? A. Câu lệnh lặp có tác dụng làm giảm nhẹ việc viết chương trình. B. Câu lệnh lặp có tác dụng làm đơn giản công việc của người viết chương trình. C. Câu lệnh lặp có tác dụng làm đơn giản và giảm nhẹ công sức của người viết chương trình. D. Câu lệnh lặp có tác dụng làm đơn giản việc viết chương trình. Đáp án của bạn: Câu 35: Điều kiện trong cấu trúc lặp với lần chưa biết trước thường là phép toán: A. phép nhân B. phép trừ C. phép cộng D. phép so sánh Đáp án của bạn: Câu 36: Hoạt động sau thuộc dạng cấu trúc lặp nào? “ Rôbót nhổ củ cải, mỗi bước đi rôbót nhổ 1 củ cải, rôbót nhổ đủ 100 củ cải thì dừng” A. Lặp đi lặp lại 10 lần B. Lặp vô hạn lần C. Lặp với số lần chưa biết trước D. Lặp với số lần biết trước Đáp án của bạn: Câu 37: Câu lệnh lặp for i:= 1 to 10 do writeln (i); có ý nghĩa là A. in ra màn hình các kí tự từ a đến z. B. in ra màn hình 10 lần số 10. C. in ra màn hình các số từ 1 đến 10. D. in ra màn hình tổng từ 1 đến 10. Đáp án của bạn: Câu 38: Trong pascal, để tính số lần lăp của cấu trúc For …do làm như thế nào? A. Số lần lặp = Gtc – Gtđ + 1 B. Số lần lặp = Gtđ - Gtc C. Số lần lặp = Gtđ – Gtc – 1 D. Số lần lặp = Gtđ + Gtc + 1 Đáp án của bạn:

Hay nhất

Đáp án :
A. Giá trị đầu – giá trị cuối

  • lý thuyết
  • trắc nghiệm
  • hỏi đáp
  • bài tập sgk

số vòng lặp của câu lệnh for do được tính như thế nào

Các câu hỏi tương tự

1. Khái niệm

-Đánh răng mỗi ngày 2 lần, học Tin học 2 lần một tuần, tắm 1 lần một ngày,...

-Rửa bát cho đến khi nào sạch, học bài cho đến khi nào thuộc,...

Trong cuộc sống, những việc như trên lặp đi lặp lại nhiều lần. Trong Pascal, cách mô tả những công việc (hoạt động) được lặp đi lặp lại nhiều lần được gọi là cấu trúc lặp. Có 3 cấu trúc lặp chính: Vòng lặp for, vòng lặp repeat_until, vòng lặp while_do

2. Vòng lặp for

-Đây là vòng lặp căn bản và được sử dụng nhiều nhất trong kiến thức phổ thông. Vòng lặp for dùng để lặp với số lần đã định trước, có cấu trúc như sau:

    +Dạng tăng dần của biến đếm: For := to do ;

    +Dạng giảm dần của biến đếm: For := downto do ;

Vd: Tính tổng các số từ 1 đến 100

Program Tong;

uses crt;

var i,tong:integer;

begin

    tong:=0;

    for i:=1 to 100 do

        tong:=tong+i;

    write(tong);

    readln;

end.    

3. Vòng lặp Repeat

Cấu trúc chung:

Repeat

   

Until <điều kiện>;

- Câu lệnh giữa repeat và until sẽ được lặp lại nhiều lần khi nào điều kiện sai, nếu điều kiện đúng thì ngưng. Đối với lệnh này điều kiện sẽ được kiểm tra sau khi thực hiện các lệnh giữa repeat và until nên ít nhất các lệnh sẽ được thực hiện trước 1 lần rồi mới kiểm tra điều kiện đúng hay sai (nếu sai thì thực hiện tiếp vòng lặp, đúng thì ngưng).

Vd: Tính tổng các số từ 1 đến 100

var i,n,tong: integer;

        S:=S+i; 

        i:=i+1;    until i>100;    write(tong);    readln;

end.

4. Vòng lặp While

Cú pháp:  

while <điều kiện> do

- Câu lệnh sẽ được lặp lại nhiều lần cho đến khi nào điều kiện còn đúng, nếu điều kiện sai thì các lệnh này sẽ không thực hiện nữa (trái với vòng lặp repeat). Đối với lệnh này điều kiện sẽ được kiểm tra trước khi thực hiện lệnh nên nên điều kiện sai thì không có lệnh nào được thực hiện.

Vd: Tính tổng các số liên tiếp từ 1 đến 100

var s,i: longint;begin    S:= 0;    i:= 1;    while i <= 100 do         begin              S:= S + i;              i:= i +1;         end;    write(s);    readln;

end.