Thể hiện bằng ngôn ngữ lập trình pascal câu nói: nếu a lớn hơn b thì in ra màn hình giá trị của a.

1.1. Hoạt động phụ thuộc vào điều kiện

– Mỗi 1 điều kiện được mô tả dưới dạng 1 phát biểu. 

– Hoạt động tiếp theo phụ thuộc vào kết quả kiểm tra phát biểu đó đúng hoặc sai 

– Khi kết quả kiểm tra là đúng, ta nói điều kiện được thoả mãn. 

– Khi kết quả kiểm tra là sai, ta nói điều kiện không thoả mãn. 

 Ví dụ 1: Ta muốn chương trình in ra màn hình giá trị lớn hơn trong số hai giá trị của các biến a và b.

Khi đó giá trị của biến a hoặc b được in ra phụ thuộc vào phép so sánh a > b là đúng hay sai:

“Nếu a > b, in giá trị của biến a ra màn hình, Ngược lại, in giá trị của biến b ra màn hình.” 

→ Điều kiện được biểu diễn bằng phép so sánh a > b

– Các phép so sánh thường được sử dụng để biểu diễn các điều kiện.

Phép so sánh cho kết quả đúng → điều kiện được thoả mãn, ngược lại điều kiện không được thoả mãn

1.3. Cấu trúc rẽ nhánh

– Là cấu trúc khi một điều kiện cụ thể nào đó được thỏa mãn thì chương trình sẽ thực hiện 1 lệnh; ngược lại, nếu điều kiện không thỏa mãn thì câu lệnh bị bỏ qua.

– Cấu trúc rẽ nhánh cho phép thay đổi thứ tự thực hiện tuần tự các bước của thuật toán.

– Gồm 2 loại:

+ Cấu trúc rẽ nhánh dạng thiếu

+ Cấu trúc rẽ nhánh dạng đủ.

1.4. Câu lệnh điều kiện

a. Câu lệnh điều kiện dạng thiếu

– Cấu trúc: If then ;

Trong đó If , then là các từ khoá

– Ví dụ 1: Giả sử cần in số a ra màn hình nếu a > b

If a>b then write [a];

– Ví dụ 2: Viết câu lệnh nhập số a 5 thì thông báo “số đã nhập không hợp lệ” 

readln[a] If a>5 then write [‘So da nhap khong hop le’];

b. Câu lệnh điều kiện dạng đủ

– Cấu trúc: If then else ;

Trong đó:  If , then , else là các từ khoá 

– Ví dụ 3: Viết câu lệnh kiểm tra nếu b khác 0 thì tính kết quả a/b; Ngược lại thì thông báo lỗi

If b0 then x:=a/b else write [‘Mau so bang 0, khong chia duoc’];

2. Bài tập minh họa

Bài 1: Giả sử cần viết chương trình nhập một số tự nhiên vào máy tính và ghi ra màn hình kết quả số đã nhập là số chẵn hay lẻ, chẳng hạn “5 là số lẻ”, “8 là số chẵn”. Hãy mô tả các bước của thuật toán để giải quyết bài toán trên và viết chương trình Pascal để thực hiện thuật toán đó.

Hướng dẫn giải

Xác định bài toán:

– INPUT: Số tự nhiên n

– OUTPUT: n là số chẵn hoặc n là số lẻ

Mô tả thuật toán:

– Bước 1. Nhập số n

– Bước 2. Nếu n chia hết cho 2, ghi ra màn hình “n là số chẵn”; ngược lại, ghi ra màn hình “n là số lẻ”

– Bước 3. Kết thúc thuật toán

Bài 2: Hãy mô tả thuật toán nhập ba số thực A, B và C từ bàn phím vào máy tính, sau đó kiểm tra ba số đó có thể là các cạnh của tam giác đều, tam giác cân hoặc tam giác vuông hay không và ghi kết quả ra màn hình.

Hướng dẫn giải

Xác định bài toán:

– INPUT: Số thực A, B và C

– OUTPUT: A, B và C là ba cạnh của một tam giác vuông hoặc A, B và C là ba cạnh của một tam giác đều hoặc A, B và C là ba cạnh của một tam giác cân

Mô tả thuật toán:

– Bước 1: Nhập ba số A, B và C

– Bước 2: Nếu A + B

– Bước 3: Nếu A2 + B2 = C hoặc B2 + C2 = A2 hoặc C2 + A2 = B, thông báo A, B và C là ba cạnh của một tam giác vuông và chuyển tới bước 5

– Bước 4: Nếu A = B và B = C, thông báo A, B và C là ba cạnh của một tam giác đều; ngược lại, nếu A = B hoặc B = C hoặc A = C, thông báo A, B và C là ba cạnh của một tam giác cân

– Bước 5: Kết thúc thuật toán

3. Luyện tập

3.1. Bài tập tự luận

Câu 1: Hãy cho biết giá trị của biến X bằng bao nhiêu sau khi thực hiện câu lệnh:

if [45 mod 3 ] = 0 then X :=X+2;

[Biết rằng trước đó giá trị của biến X = 5]

Câu 2: Ta có 2 lệnh sau:

x:= 8;

If x>5 then x := x +1;

Giá trị của x là bao nhiêu?

Câu 3: IF a>8 THEN b:=3 ELSE b:=5;

Khi a nhận giá trị là 0 thì b nhận giá trị nào?

Câu 4: Hãy cho biết giá trị của biến X bằng bao nhiêu sau khi thực hiện câu lệnh:

X:= 10;

IF [91 mod 3 ] = 0 then X :=X+20;

3.2. Bài tập trắc nghiệm

Câu 1: Phát biểu nào sau đây có thể lấy làm biểu thức điều kiện trong cấu trúc rẽ nhánh ?

A. A:= B

B. A > B

C. N mod 100

D. “A nho hon B”

Câu 2: Chọn câu lệnh Pascal hợp lệ trong các câu sau:

A. If x : = a + b then x : = x + 1;

B. If a > b then max = a;

C. If a > b then max : = a else max : = b;

D. If 5 := 6 then x : = 100;

Câu 3: Câu lệnh điều kiện dạng đầy đủ là:

A. If then ; Else ;

B. If then ;

C. If then , ;

D. If then Else ;

Câu 4: Các câu lệnh Pascal nào sau đây được viết đúng:

A. If x:= 5 then a = b;

B. If x > 4; then a:= b;

C. If x > 4 then a:=b else m:=n;

D. If x > 4 then a:=b; else m:=n;

Câu 5: Để tìm giá trị lớn nhất của 2 số a, b thì ta viết:

A. Max:=a; If b>Max then Max:=b;

B. If a>b then Max:=a else Max:=b;

C. Max:=b; If a>Max then Max:=a;

D. Cả 3 câu đều đúng.

Câu 6: Hãy chọn cách dùng sai . Muốn dùng biến X lưu giá trị nhỏ nhất trong các giá trị của hai biến A, B có thể dùng cấu trúc rẽ nhánh như sau :

A. if A

B. if A

C. X := B; if A

D. if A

4. Kết luận

Sau khi học xong bài 6 môn Tin học 8 các em học sinh cần nắm được những nội dung cơ bản sau đây:

  • Biết sự cần thiết của cấu trúc rẽ nhánh trong lập trình.
  • Biết cấu trúc rẽ nhánh được sử dụng để chỉ dẫn cho máy tính thực hiện các thao tác phụ thuộc vào điều kiện.
  • Hiểu cấu trúc rẽ nhánh có hai dạng: dạng thiếu và dạng đủ.
  • Biết mọi ngôn ngữ lập trình đều có câu lệnh để thực hiện cấu trúc rẽ nhánh.
  • Hiểu cú pháp, hoạt động của các câu lệnh điều kiện dạng thiếu và dạng đủ trong một ngôn ngữ lập trình cụ thể.
  • Bước đầu viết được câu lệnh điều kiện trong một ngôn ngữ lập trình cụ thể.

Trắc nghiệm Tin học lớp 11 chương 3 Online

Cấu trúc rẽ nhánh và lặp

16 29.863

Tải về Bài viết đã được lưu

Trắc nghiệm Tin học lớp 11 chương 3 có đáp án

Trắc nghiệm Tin học lớp 11 chương 3 gồm các câu hỏi trắc nghiệm Tin 11 khác nhau do VnDoc biên soạn và đăng tải, giúp học sinh nắm vững kiến thức cả chương, ôn luyện cho bài thi học kì 1 lớp 11 môn Tin học đạt kết quả cao.

  • Trắc nghiệm Tin học lớp 11 chương 2 - Phần 3
  • Trắc nghiệm Tin học lớp 11 chương 3 - Phần 2

Mời các bạn tham gia nhóm Tài liệu học tập lớp 11 để nhận thêm những tài liệu hay: Nhóm Tài liệu học tập lớp 11

Trắc nghiệm Tin học 11 chương 3 có đáp án được giáo viên VnDoc biên soạn bám sát nội dung SGK môn Tin học 11, giúp học sinh làm quen cấu trúc bài trắc nghiệm môn Tin lớp 11 cũng như ôn luyện kiến thức chuẩn bị cho bài kiểm tra, bài thi học kì 1 đạt kết quả cao

  • Câu 1: Chọn phát biểu sai trong các phát biểu sau đây:

    • A. Để mô tả việc lặp đi lặp lại một số thao tác [hoặc câu lệnh] trong một thuật toán ta có thể dùng cấu trúc lặp.
    • B. Không thể mô tả được mọi thuật toán bằng ngôn ngữ lập trình bậc cao nếu không dùng cấu trúc lặp.
    • C. Có thể dùng cấu trúc lặp để thay cho cấu trúc rẽ nhánh trong mô tả thuật toán
    • D. Tùy từng trường hợp cụ thể [khi mô tả một thuật toán], khi thì ta biết trước số lần lặp, khi thì ta không cần hoặc không xác định được trước số lần lặp các thao tác nào đó.

  • Câu 2: Cho hai dạng lặp FOR – DO trong PASCAL như sau:

    Dạng lặp tiến:
    FOR := TO DO ;

    Dạng lặp lùi:
    FOR := DOWNTO DO ;

    Chọn phát biểu đúng trong các phát biểu sau đây:

    • A. Ở dạng lặp lùi câu lệnh sau DO được thực hiện tuần tự, với biến đếm lần lượt nhận giá trị từ giá trị đầu đến giá trị cuối.
    • B. Ở dạng lặp tiến câu lệnh sau DO luôn được thực hiện ít nhất một lần.
    • C. Ở dạng lặp lùi câu lệnh sau DO có thể không được thực hiện lần nào, đó là trường hợp giá trị cuối nhỏ hơn giá trị đầu.
    • D. Biểu thức giá trị đầu và biểu thức giá trị cuối có thể thuộc kiểu số thực.

  • Câu 3: Hãy chọn cách dùng sai . Muốn dùng biến X lưu giá trị nhỏ nhất trong các giá trị của hai biến A, B có thể dùng cấu trúc rẽ nhánh như sau:

    • A. if A < B then X := A
    • B. X := B; if A < B then X := A;
    • C. if A 5 do a := a – 1 ;
    • B. While a>5 do a := a – 1 ;
    • C. While a>5 do ; a := a – 1
    • D. While a>5 ; do a := a – 1 ;

  • Câu 7. Trong ngôn ngữ lập trình Pascal, muốn kiểm tra đồng thời cả ba giá trị của A, B, C có cùng lớn hơn 0 hay không ta viết câu lệnh If thế nào cho đúng?

    • A. If A, B, C > 0 then ……
    • B. If A>0 and B>0 and C>0 then ……
    • C. If [A > 0] and [B > 0] and [C > 0] then ……
    • D. If [A>0] or [B>0] or [C>0] then……

  • Câu 8. Hãy chọn phương án ghép đúng. Với cấu trúc rẽ nhánh IF THEN , câu lệnh đứng sau THEN được thực hiện khi

    • A. điều kiện được tính toán xong
    • B. điều kiện được tính toán và cho giá trị đúng;
    • C. điều kiện không tính được
    • D. điều kiện được tính toán và cho giá trị sai;

  • Câu 9. Trong ngôn ngữ lập trình Pascal, đoạn chương trình sau thực hiện công việc gì?

    i := 0 ; while i 0 do write[i, ‘ ’] ;

    • A. Đưa ra màn hình 10 chữ số 0 ;
    • B. Đưa ra màn hình một chữ số 0 ;
    • C. Không đưa ra thông tin gì;
    • D. Lặp vô hạn việc đưa ra màn hình số 0 ;

  • Câu 10. Trong ngôn ngữ lập trình Pascal, hãy cho biết đoạn chương trình sau làm công việc gì?

    I := 0 ; T := 0 ;
    While I < 10000 do
    Begin
    T := T + I ;
    I := I + 2 ;
    End ;

    • A. Tính tổng các số tự nhiên nhỏ hơn hoặc bằng 10000 ;
    • B. Tính tổng các số tự nhiên chẵn nhỏ hơn hoặc bằng 10000 ;
    • C. Tính tổng các số tự nhiên nhỏ hơn hoặc 10000 ;
    • D. Tính tổng các số tự nhiên chẵn nhỏ hơn 10000 ;

  • Câu 11. Trong ngôn ngữ lập trình Pascal, câu lệnh nào sau đây là đúng?

    • A. If then .
    • B. If then ;
    • C. If ; then ;
    • D. If ; then

  • Câu 12. Trong ngôn ngữ lập trình Pascal, đoạn chương trình sau cho kết quả trên màn hình là gì với i là biến số nguyên?

    For i := 1 to 100 do if i mod 9 = 0 then write[i, ‘ ’];

    • A. 9 18 27 36 45 54 63 72 81 90 99;
    • B. 1 2 3 4 5 6 … 100 ;
    • C. 9 9 9 9 9 9 9 9 9 9
    • D. 91827364554637281;

  • Câu 13. Trong ngôn ngữ lập trình Pascal, câu lệnh nào sau đây là đúng?

    • A. If ; then ; else ;
    • B. If then ; else ;
    • C. If then else ;
    • D. If ; then else ;

  • Câu 14. Chọn phát biểu đúng trong các phát biểu sau đây:

    • A. Câu lệnh rẽ nhánh không được xuất hiện trong của một cấu trúc lặp.
    • B. Một cấu trúc lặp có thể xuất hiện trong của một cấu trúc lặp khác
    • C. Có thể dùng câu lệnh FOR – DO để thay thế cho câu lệnh lặp WHILE – DO.
    • D. Câu lệnh lặp không được xuất hiện trong đứng sau từ khóa THEN của cấu trúc rẽ nhánh.

  • Câu 15. Trong ngôn ngữ lập trình Pascal, đoạn chương trình sau đưa ra màn hình kết quả gì?

    For i := 10 to 1 do write[i, ‘ ’];

    • A. Đưa ra 10 dấu cách
    • B. 10 9 8 7 6 5 4 3 2 1
    • C. 1 2 3 4 5 6 7 8 9 10
    • D. Không đưa ra kết quả gì

  • Câu 16. Phát biểu nào sau đây có thể lấy làm biểu thức điều kiện trong cấu trúc rẽ nhánh?

    • A. A > B
    • B. A + B
    • C. N mod 100
    • D. “A nho hon B”

  • Câu 17. Trong ngôn ngữ lập trình Pascal, phát biểu nào sau đây là đúng với câu lệnh rẽ nhánh if…then…else…?

    • A. Nếu sau then muốn thực hiện nhiều câu lệnh thì các câu lệnh phải đặt giữa hai cặp dấu ngoặc nhọn;
    • B. Nếu sau then muốn thực hiện nhiều câu lệnh thì các câu lệnh phải đặt giữa Begin và End ;
    • C. Nếu sau then muốn thực hiện nhiều câu lệnh thì các câu lệnh phải đặt giữa hai dấu ngoặc đơn;
    • D. Nếu sau then muốn thực hiện nhiều câu lệnh thì các câu lệnh phải đặt giữa Begin và End .

  • Câu 18. Cho chương trình viết bằng ngôn ngữ PASCAL sau đây:

    PROGRAM Inso;

    Uses crt;

    Var M, N, I : integer;

    BEGIN

    clrscr;

    M := 0 ;

    N := 0 ;

    For I := 1 TO 10000 do

    Begin

    if [ [I mod 3] = 0 ] then M := M + 1 ;

    if [ [I mod 3] = 0 ] and [ [I mod 5] = 0 ] then N := N + 1 ;

    End;

    writeln[ M,‘ ’, N ];

    readln

    END.

    Phát biểu nào dưới đây về chương trình trên là đúng?

    • A. Đây là chương trình đếm số các số nguyên trong khoảng từ 1 đến 10000 là bội số của 3 và 5;
    • B. Đây là chương trình đếm số các số nguyên trong khoảng từ 1 đến 10000 là bội số của 3;
    • C. Đây là chương trình đếm và thông báo ra màn hình rằng trong khoảng từ 1 đến 10000 có bao nhiêu số nguyên là bội số của 3 và có bao nhiêu số là bội số chung của 3 và 5;
    • D. Đây là chương trình đếm số các số nguyên nhỏ hơn 10000 và chia hết cho 3;

  • Câu 19. Hãy chọn phương án ghép đúng. Với cấu trúc rẽ nhánh IF THEN ELSE , câu lệnh 2 được thực hiện khi

    • A. biểu thức điều kiện sai;
    • B. biểu thức điều kiện đúng và câu lệnh 1 thực hiện xong;
    • C. câu lệnh 1 được thực hiện;
    • D. biểu thức điều kiện đúng;

  • Câu 20. Cho chương trình viết bằng PASCAL sau đây:

    PROGRAM GiaiPTBac2;

    uses crt;

    var A, B, C : real;

    DELTA, X1, X2 : real;

    BEGIN

    write[‘ Nhap cac he so A, B, C : ’];

    readln[A, B, C];

    DELTA := B*B – 4*A*C ;

    if DELTA < 0 then writeln[‘ Phuong trinh vo nghiem.’];

    X1 := [ – B – SQRT[DELTA] ] / [2 *A] ;

    X2 := – B / A – X1 ;

    writeln[‘ X1 = ’, X1];

    writeln[‘ X2 = ’, X2];

    readln

    END.

    Hãy chọn phát biểu đúng trong các phát biểu sau đây:

    • A. Đây là chương trình giải phương trình bậc hai sai vì không thông báo nghiệm trong trường hợp có nghiệm kép;
    • B. Đây là chương trình giải phương trình bậc hai hoàn chỉnh;
    • C. Đây là chương trình giải phương trình bậc hai sai vì chỉ xét trường hợp DELTA < 0 mà thôi.
    • D. Đây là chương trình giải phương trình bậc hai sai vì với trường hợp phương trình vô nghiệm, chương trình vẫn thực hiện tính nghiệm thực;

  • Câu 21. Trong ngôn ngữ lập trình Pascal, phát biểu nào sau đây là đúng với câu lệnh rẽ nhánh if…then…?

    • A. Nếu sau then muốn thực hiện nhiều câu lệnh thì các câu lệnh phải đặt giữa hai dấu ngoặc đơn;
    • B. Nếu sau then muốn thực hiện nhiều câu lệnh thì các câu lệnh phải đặt giữa Begin và End;
    • C. Nếu sau then muốn thực hiện nhiều câu lệnh thì các câu lệnh phải đặt giữa Begin và End.
    • D. Nếu sau then muốn thực hiện nhiều câu lệnh thì các câu lệnh phải đặt giữa hai cặp dấu ngoặc nhọn;

  • Câu 22. Trong ngôn ngữ lập trình Pascal, hãy cho biết giá trị của M sau khi thực hiện đoạn chương trình sau với a=19 và b=12?

    M := a ;
    If a

Chủ Đề