Ví dụ 1: Để giải phương trình bậc hai: ax2 +bx +c = 0 (a \(\neq\) 0 ) ta phải: tính delta = b* b – 4*a*c

  • Nếu tăng <;0 thì phương trình vô nghiệm.
  • Nếu delta >= 0 thì phương trình có nghiệm.
  • Hay ta có thể nói: nếu delta < 0 thì phương trình vô nghiệm, ngược lại phương trình có nghiệm.

    Ta có các mệnh đề sau:

    • Nếu…thì… (dạng bị thiếu)
    • Nếu…thì…khác…(dạng đầy đủ)
    • Cấu trúc này được gọi là cấu trúc rẽ nhánh thiếu và đủ.

      Để mô tả cấu trúc rẽ nhánh, Pascal sử dụng câu lệnh if-then. Tương ứng với hai loại mệnh đề thiếu và mệnh đề đủ nêu trên, Pascal có hai loại câu lệnh if-then:

      A. Thiếu biểu mẫu

      Cú pháp: nếu <điều kiện> thì lệnh >;

      Vị trí:

      • Điều kiện: là một quan hệ hoặc biểu thức logic.
      • command: là một câu lệnh pascal.
      • Biểu đồ:

        Hình 1. Sơ đồ cấu trúc nhánh bị thiếu

        Ý nghĩa: Điều kiện sẽ được đánh giá và kiểm tra. Nếu điều kiện là đúng thì câu lệnh sẽ được thực hiện và nếu điều kiện là sai thì câu lệnh sẽ bị bỏ qua mạnh >.

        Ví dụ 2:

        nếu gia số <; 0 thì writeln('thủ tục không hợp lệ.');

        b. dạng đầy đủ

        Cú pháp:

        Nếu

        Điều kiện> Thì Câu 1 >

        Nếu không<;Câu 2 >;

        Vị trí:

        • Điều kiện: là một quan hệ hoặc biểu thức logic.
        • Câu lệnh 1, Câu lệnh 2: Đó là câu lệnh pascal.
        • Biểu đồ:

          Hình 2.Sơ đồ cấu trúc nhánh đầy đủ

          Ý nghĩa: Điều kiện sẽ được đánh giá và kiểm tra. Nếu điều kiện là đúng thì thực hiện câu lệnh 1, nếu không thì thực hiện câu lệnh 2.

          Lưu ý 1: Không có dấu chấm phẩy (;) trước từ khóa else .

          Ví dụ 3:

          Nếu mod 3 = 0 thì viết (‘a chia het cho 3’)

          else write(‘a khong chia het cho 3’);

          Trong pascal, câu lệnh ghép có dạng:

          Bắt đầu

          <Khai báo >;

          Kết thúc;

          Lưu ý 2: Sau end

          phải có dấu chấm phẩy (;)

          Ví dụ 4:

          if d <; 0 then writeln('xong quy trinh.')

          Khác

          Bắt đầu

          x1:= (-b – sqrt(b*b – 4*a*c))/(2*a);

          x2:= -b/a-x1

          Kết thúc;

          Ví dụ 5. Tìm nghiệm thực của phương trình bậc hai:

          ax2 + bx + c = 0 với \(\neq\) 0.

          Xây dựng ý tưởng:

          • Nhập 3 số a, b, c.
          • Tính toán: delta:=b*b-4*a*c.
          • Nếu delta<0 thì pt không nghiêm ngặt, ngược lại phương trình có nghiệm.
          • Sử dụng câu lệnh if-then đầy đủ.

            Xác định vấn đề:

            • Đầu vào: Các hệ số a, b, c được nhập từ bàn phím.
            • Đầu ra: Hiển thị nghiệm thực hoặc thông báo “Phương trình tiệm cận”.
            • Thời gian thủ tục_ptb2;

              sử dụng crt;

              var a,b,c: true;

              d, x1, x2: đúng;

              Bắt đầu

              clrscr;

              ghi(‘ a, b, c: ‘);

              readln(a, b, c);

              d:= b*b – 4*a*c;

              if d <; 0 then writeln('xong quy trinh.')

              Khác

              Bắt đầu

              x1:= (-b – sqrt(d))/(2*a);

              x2:= -b/a-x1;

              writeln(‘ x1 = ‘, x1: 8:3,’ x2 = ‘, x2:8:3);

              Kết thúc;

              Đọc

              Kết thúc.

              Ví dụ 5:

              Tìm số ngày trong n năm, biết rằng năm nhuận là năm chia hết cho 400 hoặc chia hết cho 4 nhưng không chia hết cho 100. Ví dụ, năm 2000 và 2004 là năm nhuận có 366 ngày, trong khi năm 1900 và 1945 không phải là năm nhuận và có 365 ngày.

              Mô tả:

              • Trong các biểu thức điều kiện, chúng ta sử dụng các phép toán logic như or, and để kết hợp các điều kiện.
              • Sử dụng đủ cấu trúc để viết các câu hỏi trên.
              • Biểu thức điều kiện: ((n mod 400 = 0) or (n mod 4 = 0) and (n mod 1000))

                Xác định vấn đề:

                • Đầu vào: n Nhập từ bàn phím.
                • Đầu ra: Hiển thị số ngày trong năm thứ n.
                • Chương trình nam_nhuan;

                  sử dụng crt;

                  var n, sn: số nguyên;

                  Bắt đầu

                  clrscr;

                  ghi(‘tên:’);đọc(n);

                  if (n mod 400 = 0) hoặc ((n mod 4 = 0) và (n mod 100 0))

                  then sn:= 366 other sn:= 365;

                  writeln(‘ vs nam ‘, n,’ la ‘, sn);

                  Đọc

                  Kết thúc.

Kiểm tra tiếng Anh trực tuyến

Bạn đã biết trình độ tiếng Anh hiện tại của mình chưa?
Bắt đầu làm bài kiểm tra

Nhận tư vấn lộ trình từ ACET

Hãy để lại thông tin, tư vấn viên của ACET sẽ liên lạc với bạn trong thời gian sớm nhất.