Sidebar

Học Pascal

  • Bài 1. Tổng quan về Pascal
  • Bài 2. Các thành phần cơ bản
  • Bài 3. Câu lệnh có cấu trúc
  • Bài 4. Kiểu liệt kê, đoạn con, tập hợp
  • Bài 5. Mảng
  • Bài 6. Chuỗi kí tự
  • Bài 7. Chương trình con
  • Bài 8. Unit
  • Bài 9. Kiểu bản ghi
  • Bài 10. Con trỏ
  • Bài 11. Tệp
Tự Học Tin - Dự án vì cộng đồng của TBit Tự Học Tin - Dự án vì cộng đồng của TBit
  • Văn phòng
    • Bắt đầu với Office 365
    • Microsoft Word 365
    • Microsoft Excel 365
    • Microsoft PowerPoint 365
    • Thủ thuật văn phòng
  • Thiết kế web
    • Kiến thức cơ bản
      • HTML/HTML5
      • CSS/CSS3
      • JavaScript
      • PHP
      • SQL
    • Nâng cao
      • jQuery
      • jQueryMobile
      • Bootstrap
      • XML
      • JSON

    Web Design Tutorials

  • Lập trình
    • Lập trình cơ bản
      • Pascal
      • C/C++
      • C#
      • Java
    • Nâng cao
      • Lập trình Android
      • Lập trình iOS
      • PhoneGap
      • Unity/Unity 3D

    Programming Tutorials

  • Hướng dẫn khác
    • Adobe Photoshop
    • Kiểm thử phần mềm
    • Kỹ thuật SEO

Bài 3. Câu lệnh có cấu trúc

1. Câu lệnh rẽ nhánh

a. Dạng không đầy đủ

Cú pháp:

if <dieu_kien> then <cong_viec>;

Nếu điều kiện là đúng thì thực hiện công việc (ngược lại là điều kiện sai thì không thực hiện công việc).

b. Dạng đầy đủ

Cú pháp:

if <dieu_kien> then <cong_viec_1>
else <cong_viec_2>;

Nếu điều kiện là đúng thì thực hiện công việc 1, ngược lại là điều kiện sai thì thực thi công việc 2.
Chú ý trước ELSE không có dấu ; (chấm phẩy).

* Nếu công việc thực hiện có từ 2 câu lệnh trở lên ta phải đặt chúng trong cặp từ khóa BEGIN và END;


2. Câu lệnh lựa chọn (rẽ nhiều nhánh)

a. Dạng không đầy đủ

Cú pháp:

case <bieu_thuc> of
    Hang_1: <cong_viec_1>;
    Hang_2: <cong_viec_1>;
    ...
    Hang_n: <cong_viec_1>;
end;

Nếu giá trị của biểu thức rơi vào hằng nào thi công việc tương ứng sẽ được thực hiện rồi kết thúc lệnh case of.
Nếu giá trị của biểu thức không bằng một hằng nào thì sẽ kết thúc lệnh case of mà không làm gì.

b. Dạng đầy đủ
Cú pháp:

case <bieu_thuc> of
    Hang_1: <cong_viec_1>;
    Hang_2: <cong_viec_2>;
    ...
    Hang_n: <cong_viec_n>
        else <cong_viec_n+1>;
end;

Nếu giá trị của biểu thức rơi vào hằng nào thi công việc tương ứng sẽ được thực hiện rồi kết thúc lệnh case of.
Nếu giá trị của biểu thức không bằng một hằng nào thì sẽ thực hiện công việc thứ n+1 và thoát.
Lưu ý:
+ Các giá trị hang_1, hang_2,…,hang_n phải là kiểu đếm được (không phải là kiểu số thực).
+ Các giá trị hang_1, hang_2,…,hang_n có thể là kiểu liệt kê hay kiểu đoạn con.

Ví dụ:
Kiểu liệt kê:

  • 1,3,5,7
  • a,c,d

Kiểu đoạn con:

  • 1..10 (2 dấu chấm)
  • a..z

3. Câu lệnh lặp với số lần biết trước (vòng lặp FOR)

a. Dạng 1 (lặp tiến)

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 (lặp lùi)

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.
  • 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:

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:

repeat
   <cong_viec>
until <dieu_kien>;

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;

 

* Một số lệnh khác liên quan

a. Lệnh goto

– Cú pháp: goto nhan;
Trong đó nhan là một nhãn, tên nhãn được đặt theo quy tắc đặt tên {đã biết} hoặc là số nguyên từ 0 đến 9999
– Hoạt động: Khi gặp lệnh goto chương trình nhảy vô điều kiện đến câu lệnh sau nhãn.
– Lưu ý: Lệnh goto cho phép nhảy từ vị trí này đến vị trí khác trong cùng 1 thân hàm, thủ tục, nhảy từ trong vòng lặp ra ngoài, không cho phép nhảy từ ngoài vào trong vòng lặp, hàm, thủ tục, khối lệnh

b. Lệnh break

– Cú pháp: break;
– Hoạt động: lệnh break hoạt động khi được đặt trong thân các vòng lặp for, while, repeat. Khi gặp lệnh break; thì máy sẽ thoát khỏi chu trình của vòng lặp, nếu có nhiều vòng lặp lồng nhau sẽ thoát vòng lặp trong nhất chứa lệnh break;

c. Lệnh exit

– Cú pháp: Exit;
– Hoạt động: Lệnh exit sẽ làm chấm dứt chương trình con nếu nó được đặt trong ctc, làm chấm dứt chương trình chính nếu nó ở chương trình chính

d. Lệnh halt

– Cú pháp: halt;
– Hoạt động: Khi gặp lệnh halt thì máy sẽ dừng ngay chương trình đang chạy. Lệnh này thường dùng khi thuật toán gặp 1 TH không thể tiếp tục được.

Các bài khác …

  1. Bài 4. Kiểu liệt kê, đoạn con, tập hợp
  2. Bài 5. Mảng
  3. Bài 6. Chuỗi kí tự
  4. Bài 7. Chương trình con
Trang 3 / 11
  • Đầu tiên
  • Trước
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • Tiếp tục
  • Cuối cùng

Học Pascal

  • Bài 1. Tổng quan về Pascal
  • Bài 2. Các thành phần cơ bản
  • Bài 3. Câu lệnh có cấu trúc
  • Bài 4. Kiểu liệt kê, đoạn con, tập hợp
  • Bài 5. Mảng
  • Bài 6. Chuỗi kí tự
  • Bài 7. Chương trình con
  • Bài 8. Unit
  • Bài 9. Kiểu bản ghi
  • Bài 10. Con trỏ
  • Bài 11. Tệp
  1. Trang chủ
  2. Lập trình
  3. Lập trình cơ bản
  4. Pascal

© 2015 Tự Học Tin DMCA.com Protection Status

Chuyên trang hướng dẫn tự học công nghệ thông tin. Vui lòng ghi rõ "Nguồn: TuHocTin.Net" khi bạn sao chép nội dung tại đây.

TRANG CHỦ  |  GIỚI THIỆU  |  QUY ĐỊNH  |  LIÊN HỆ  |  TBIT  |  FACEBOOK  |  TWITTER