Lập trình pascal cơ bản
Pascal là tên gọi của một trong các ngôn ngữ lập trình v.i.p thông dụng. Ngôn từ lập trình Pascal được gs Niklaus Wirth sinh hoạt trường Ðại học Kỹ thuật Zurich (Thụy sĩ) xây đắp và chào làng vào năm 1970. Niklaus Wirth viết tên cho ngôn ngữ này là Pascal để tưởng niệm đến bên Toán học với Triết học tập Pháp ở nuốm kỷ 17 là Blaise Pascal, người đã phát minh sáng tạo ra một máy tính cơ khí solo giản trước tiên của con người.
Ngôn ngữ Pascal được dùng bây giờ có nhiều điểm khác hoàn toàn với chuẩn chỉnh Pascal nguyên thủy của giáo sư Wirth. Tùy theo giang sơn hoặc công ty đã vạc triển cho ra đời các lịch trình biên dịch ngôn ngữ Pascal như:
·ISO PASCAL (International Standards Organization) của Châu Âu
·ANSI PASCAL (Akasynoonlinemy.comrican National Standards Institute) của Mỹ
·TURBO PASCAL của hãng sản xuất BORLAND (Mỹ)
·IBM PASCAL của hãng Microsoft (Mỹ)
·v.v...
Ðến nay, ngôn từ Pascal đã cải tiến và phát triển đến phiên phiên bản Turbo Pascal Version 7. Những diễn giải cùng ví dụ trong giáo trình này hầu hết sử dụng lịch trình Turbo Pascal 5.5 - 7.0, hiện đang được sử dụng thoáng rộng ở Việt Nam.
II. CÁC PHẦN TỬ CƠ BẢN CỦA NGÔN NGỮ PASCAL
1. Bộ ký từ bỏ
- bộ 26 chữ Latin:
Chữ in: A, B, C, ..., X, Y, Z
Chữ thường:a, b, c, ..., x, y, z
- cỗ chữ số thập phân: 0, 1, 2, 3, ..., 8, 9
- ký tự gạch ốp nối dưới:_
- những ký hiệu toán học:+, -, *, /, =, , (, ), <, }
2. Từkhóa |
|
Là những từ riêng biệt của Pascal, bao gồm ngữ nghĩa đã có xác định, không được dùng nó vào các việc không giống hoặc đặt tên new trùng với các từ khóa.
- tự khóa chung:
PROGRAM, BEGIN, END, PROCEDURE, FUNCTION
- từ khóa để khai báo:
CONST, VAR, TYPE, ARRAY, STRING, RECORD, SET, FILE, LABEL
- tự khóa của lệnh lựa chọn:
IF ... THEN ... ELSE,CASE ... OF
- trường đoản cú khóa của lệnh lặp:
FOR... TO... DO,FOR... DOWNTO... DO,WHILE... DO,REPEAT... UNTIL
- từ khóa điều khiển:
WITH,GOTO,EXIT, HALT
- tự khóa toán tử:
AND, OR, NOT, IN, DIV, MOD
3. Tên chuẩn chỉnh |
|
Tên chuẩn là tên vẫn được quan niệm sẵn vào Pascal, nhưng bạn ta có thể định nghĩa lại ví như muốn. Trong Pascal ta có các tên chuẩn chỉnh sau đây:
Boolean, Char, Integer, Word, Byte, Real, Text
False, True, MaxInt
Abs, Arctan, Chr, Cos, Sin, Eof, Eoln
Exp, Ln, Odd, Ord
Round, Trunc, Sqr, Pred, Succ
Dispose, New, Get, Put, Read, Readln,
Write, Writeln
Reset, Rewrite
4. Thương hiệu tự đặt
Trong Pascal để tại vị tên cho các biến, hằng, kiểu, chương trình nhỏ ta dùng những danh hiệu (identifier). Thương hiệu của Pascal được ban đầu bằng một chữ cái, sau đó có thể là các chữ cái, chữ số xuất xắc là vết nối, ko được có tầm khoảng trắng và độ dài buổi tối đa được cho phép là 127.
Ví dụ 6.1:Sau đó là các danh hiệu: x;S1;Delta;PT_bac_2
Pascal không khác nhau chữ thường cùng chữ hoa trong một danh hiệu.
Bạn đang xem: Lập trình pascal cơ bản
Ví dụ 6.2:aa với AA là một;XyZ_aBcvàxyZ_AbC là 1 trong những
Khi viết lịch trình ta nên đặt những danh hiệu làm sao cho chúng thể hiện các ý nghĩa của đối tượng người dùng mà bọn chúng biểu thị. Ðiều này giúp chúng ta viết chương trình dễ dãi và người khác cũng dễ nắm bắt nội dung chương trình.
III. CẤU TRÚC MỘT CHƯƠNG TRÌNH PASCAL |
|

Hình 6.1:Sơ đồ cấu trúc chương trình Pascal
Ví dụ 6.3:
PROGRAM Hello; chiếc tiêu đề
USESCrt; Lời hotline sử dụng những đơn vị công tác
VARNakasynoonlinemy.com : string; Khai báo đổi thay
PROCEDUREInput; gồm thể có tương đối nhiều Procedure với Function
Begin
ClrScr; Lệnh xóa màn hình hiển thị
Write(" ‘Hello ! What is your nakasynoonlinemy.com ?... ‘");Readln(Nakasynoonlinemy.com);
End;
BEGIN Thân chương trình thiết yếu
Input;
Writeln(" ‘Welcokasynoonlinemy.com khổng lồ you,‘, Nakasynoonlinemy.com") ;
Writeln(" ‘Today, we study PASCAL PROGRAMMING ... ‘");
Readln;
End.
Một lịch trình Pascal có những phần:
* Phần tiêu đề:
Phần này bước đầu bằng trường đoản cú khóa Program rồi sau đó là thương hiệu của chương trình và kết thúc bằng dấu chấm phẩy (;)
Tên chương trình bắt buộc được đặt theo như đúng qui cách của danh hiệu tự đặt. Phần tiêu đề có hay không cũng được.
* Phần khai báo dữ liệu:
Trước khi sử dụng biến nào đề nghị khai báo biến đó, nghĩa là khẳng định rõ xem đổi thay đó trực thuộc kiểu dữ liệu nào. Một chương trình Pascal rất có thể có một số hoặc tất cả các khai báo dữ liệu sau:
CONST: khai báo hằng
...
TYPE: định nghĩakiểu dữliệu bắt đầu
...
VAR: khai báo những biến
...
* Phần khai báo công tác con:
Phần này mô tả một đội nhóm lệnh được lấy tên chung là một chương trình con để khi thân chương trình chính gọi mang đến thì cả đội lệnh này được thi hành.
Phần này có thể có hoặc không phụ thuộc vào nhu cầu.
*Phần thân chương trình:
Phần thân chương trình là phần quan trọng đặc biệt nhất và bắt buộc phải có, phần này luôn nằm giữa 2 từ khoá là BEGIN cùng END. Ở thân là lệnh mà các chương trình chính cần thực hiện. Sau trường đoản cú khóa kết thúc là lốt chấm (.) nhằm báo xong xuôi chương trình.
*Dấu chấm phẩy (;):
Dấu ;dùng để chống cách các câu lệnh của Pascal và không thể thiếu được.
Xem thêm: Các Thẻ Bài Ma Sói - Cách Chơi Bài Ma Sói, Luật Chơi Cơ Bản
*Lời chú thích:
Lời chú thích dùng làm chú giải cho người sử dụng công tác nhớ nhằm mục đích trao đổi thông tin giữa tín đồ và người, máy tính sẽ không cân nhắc lời ghi chú này. Lời chú thích nằm trong lòng ký hiệu: hoặc (**)
IV. CÁC KIỂU DỮ LIỆU CƠ SỞ: INTEGER, REAL, BOOLEAN, CHAR
1. Khái niệm |
|
Dữ liệu (data) là toàn bộ những gì mà laptop phải xử lý.
Theo Niklaus Wirth:
CHƯƠNG TRÌNH = THUẬT TOÁN + CẤU TRÚC DỮ LIỆU
Một kiểu tài liệu (data type) là một trong qui định về hình dạng, cấu tạo và cực hiếm của dữ liệu cũng như cách màn trình diễn và phương pháp xử lý dữ liệu.
Trong Pascal các kiểu tài liệu gồm những loại sau:
- Kiểu đơn giản (Simple type): bao hàm kiểu số nguyên (Integer), hình dạng số thực (Real), kiểu lô ghích (Boolean), kiểu cam kết tự (Char).
- phong cách có cấu trúc (Structure type): bao hàm mảng (Array), chuỗi (String), phiên bản ghi (Record), tập hòa hợp (Set), tập tin (File).
- giao diện chỉ điểm (pointer):
Trong chương này, họ chỉ xét những kiểu dữ liệu đơn giản.
2. Hình dáng số nguyên (Integer type) |
|
a. Hình dạng số nguyên trực thuộc Z cất trong Turbo Pascal
Ðược có mang với những từ khóa sau:
TỪ KHÓA | SỐ BYTE | PHẠM VI |
BYTE | 1 | 0 .. 255 |
SHORTINT | 1 | - 128 .. 127 |
INTEGER | 2 | - 32768 .. + 32767 |
WORD | 2 | 0 .. 65535 |
LONGINT | 4 | - 2147483648 .. 2147483647 |
b. Các phép toán số học so với số nguyên
KÝ HIỆU | Ý NGHĨA |
+ | Cộng |
- | Trừ |
* | Nhân |
/ | Chia cho tác dụng là số thực |
DIV | Chia mang phần nguyên |
MOD | Chia mang phần dư |
SUCC (n) | n + 1 |
PRED (n) | n - 1 |
ODD (n) | TRUE trường hợp n lẻ và FALSE ví như n chẵn |
3. Dạng hình số thực (Real type) |
|
Ở Turbo Pascal, giao diện số thực nằm trong tập phù hợp R cất trong 6 bytes, được quan niệm với tự khóa REAL:R =(<2.9 x 10-39 , 1.7 x 1038 >
Hay viết theo dạng số khoa học: R = ( <2.9E-39, 1.7E38>
Số thực rất có thể viết theo phong cách có vết chấm thập phân thông thường hoặc viết theo phong cách thập phân tất cả phần mũ và phần định trị.
Các phép toán số học cơ phiên bản +, -, * , /dĩ nhiên được áp dụng trong mẫu mã real.
Bảng dưới đấy là các hàm số học cho kiểu số thực:
KÝ HIỆU | Ý NGHĨA |
ABS (x) | |x| : lấy giá trị tuyệt đối của số x |
SQR (x) | x2 : mang bình phương trị số x |
SQRT(x) |
![]() |
SIN(x) | sin (x) : rước sin của x |
COS (x) | cos (x) : lấy cos của x |
ARCTAN (x) | arctang (x) |
LN (x) | ln x : rước logarit nepe của trị x (e ( 2.71828) |
EXP (x) | ex |
TRUNC (x) | lấy phần nguyên lớn nhất không vượt quá trị số x |
ROUND (x) | làm tròn quý giá của x, đem số nguyên ngay sát x nhất |
4. Kiểu logic (Boolean) |
|
Một tài liệu thuộc thứ hạng BOOLEAN là 1 đại lượng được chứa trong 1 byte sống Turbo Pascal và chỉ có thể nhận được 1 trong những hai gía trị ngắn gọn xúc tích là TRUE (đúng) và FALSE (sai).
Qui ước:TRUE > FALSE
Các phép toán trên kiểu dáng Boolean:
A | B | NOT A | A và B | A OR B | A XOR B |
TRUE | TRUE | FALSE | TRUE | TRUE | FALSE |
TRUE | FALSE | FALSE | FALSE | TRUE | TRUE |
FALSE | TRUE | TRUE | FALSE | TRUE | TRUE |
FALSE | FALSE | TRUE | FALSE | FALSE | FALSE |
Nhận xét:
·Phép và (và) chỉ cho kết quả là TRUE khi cả hai toán hạng là TRUE
·Phép OR (hoặc) chỉ cho tác dụng là FALSE khi cả 2 toán hạng là FALSE
·Phép XOR (hoặc triệt tiêu) luôn cho công dụng là TRUE khi cả hai toán hạng là khác biệt và ngược lại.
Các phép toán dục tình cho công dụng kiểu Boolean:
KÝ HIỆU | Ý NGHĨA |
| khác nhau |
= | bằng nhau |
> | lớn hơn |
nhỏ rộng | |
> = | lớn rộng hoặc bằng |
nhỏ rộng hoặc bằng |
5. Kiểu ký kết tự (Char type) |
|
Tất cả các dữ liệu viết làm việc dạng chữ cam kết tự được khai báo vị từ khóa CHAR.
Một ký tự được viết trong hai lốt nháy 1-1 ( ). Ðể tiện điều đình thông tin cần phải sắp xếp, tiến công số những ký tự, mỗi cách thu xếp như vậy điện thoại tư vấn là bảng mã. Bảng mã thông dụng hiện thời là bảng mã ASCII (xem lại chương 3).
Ðể tiến hành các phép toán số học và so sánh, ta dựa vào giá trị số sản phẩm tự mã ASCII của từng cam kết tự, chẳng hạn: "A"
Trong Turbo Pascal mỗi ký kết tự được chứa trong một byte.
Các hàm chuẩn liên quan cho kiểu ký kết tự:
KÝ HIỆU | Ý NGHĨA |
ORD(x) | Cho số thiết bị tự của ký tự x vào bảng mã |
CHR(n) hay #n | Cho ký kết tự bao gồm số trang bị tự là n |
PRED(x) | Cho ký kết tự đứng trước x |
SUCC(x) | Cho ký kết tự đứng sau x |
V. CÁC KHAI BÁO HẰNG, BIẾN, KIỂU, BIỂU THỨC, ...
1. Hằng (constant) |
|
a. Ðịnh nghĩa
Hằng là một trong những đại lượng có mức giá trị không đổi trong quy trình chạy chương trình. Ta cần sử dụng tên hằng để lịch trình được ví dụ và dễ sửa đổi.
b. Cách khai báo
CONST
= ;
Ví dụ 6.4:CONST
Siso = 100;
X = ‘xxx ‘;
2. Trở thành (variable) |
|
a. Ðịnh nghĩa
Biến là một kết cấu ghi nhớ có tên (đó là tên gọi biến hay thương hiệu của biến).
Biến ghi nhớ một dữ liệu nào đó hotline là quý giá (value) của biến. Cực hiếm của biến rất có thể được chuyển đổi trong thời gian sử dụng biến.
Sự truy hỏi xuất của đổi mới nghĩa là đọc giá trị hay đổi khác giá trị của đổi thay được tiến hành thông qua tên biến.
Ví dụ 6.5: Readln (x) ;
Writeln (x) ;
x := 9 ;
Biến là một cấu tạo ghi nhớ tài liệu vì vậy nó bắt buộc tuân theo phép tắc của kiểu dữ liệu : một biến yêu cầu thuộc một kiểu tài liệu nhất định.
b. Bí quyết khai báo
VAR
: ;
Ví dụ 6.6:VAR
a : Real ;
b, c : Integer ;
TEN : String <20>
X : Boolean ;
Chon : Char ;
Cần khai báo các biến trước lúc sử dụng chúng trong chương trình. Khai báo một phát triển thành là khai báo sự mãi mãi của biến chuyển đó và cho biết thêm nó thuộc hình dáng gì.
3. Vẻ bên ngoài (Type) |
|
a. Ðịnh nghĩa
Ngoài những kiểu vẫn định sẵn, Pascal còn cho phép ta định nghĩa các kiểu tài liệu khác từ những kiểu căn bản theo qui tắc tạo ra của Pascal.
b. Phương pháp khai báo
TYPE
= ;
Ví dụ 6.7:
TYPE
SoNguyen = Integer ;
Diem = Real;
Tuoi = 1 .. 100 ;
Color = (Red, Blue, Green) ;
Thu = (Sun, Mon, Tue, Wed, Thu, Fri, Sat) ;
và khi sẽ khai báo kiểu gì thì ta bao gồm quyền áp dụng để khai báo trở thành như ở ví dụ sau:
Ví dụ 6.8:VAR
i, j : SoNguyen ;
Dtb : Diem ;
T : tuoi ;
Mau : màu sắc ;
Ngay_hoc : Thu;
4. Biểu thức (Expression) |
|
a. Ðịnh nghĩa
Một biểu thức là 1 trong công thức tính toán bao gồm các phép toán, hằng, biến, hàm và các dấu ngoặc.
Ví dụ 6.9: 5 + A * SQRT(B) / SIN(X)
(A và B) OR C
b. Vật dụng tự ưu tiên
Khi tính quý hiếm của một biểu thức, ngôn ngữ Pascal qui mong thứ tự ưu tiên của các phép toán từ bỏ cao mang đến thấp như sau:
Mức ưu tiên:Các phép toán:
1. Biểu thức trong ngoặc đơn ()
2.Phép điện thoại tư vấn hàm
3. Not,-
4. *, /, DIV, MOD, and
5. +, -, OR, XOR
6. =, , =, , IN
Ví dụ 6.10:(4+5)/3 + 6 - (sin((/2)+3)*2= (9)/3 + 6 - (1+3)*2 = 3 + 6 - 8 = 1
c. Qui mong tính sản phẩm tự ưu tiên
Khi tính một biểu thức có 3 qui tắc về lắp thêm tự ưu tiên như sau:
Qui tắc 1 : các phép toán nào có ưu tiên cao hơn sẽ tiến hành tính trước.
Qui tắc 2 : trong những phép toán tất cả cùng thứ tự ưu tiên thì sự đo lường và tính toán sẽ được triển khai từ trái sang trọng phải.
Qui tắc 3 :Phần trong ngoặc tự trong ra phía bên ngoài được đo lường và tính toán để trở thành một cực hiếm đơn.
d. Giao diện của biểu thức
Là hình trạng của hiệu quả sau lúc tính biểu thức.
Ví dụ 6.11:Biểu thức sau được call là biểu thức Boolean:
not (("a">"c") & ("c">"C")) or ("B"="b") có giá trị TRUE
VI. CÁC THỦ TỤC XUẤT/NHẬP
1. Câu lệnh (statekasynoonlinemy.comnt) |
|
a. Trong một công tác Pascal, sau phần tế bào tả tài liệu là phần tế bào tả các câu lệnh. Những câu lệnh bao gồm nhiệm vụ khẳng định các các bước mà laptop phải thực hiện để xử lý những dữ liệu đang được bộc lộ và khai báo.
b. Câu lệnh được phân thành câu lệnh đơn giản dễ dàng và câu lệnh có cấu trúc.
(xem phần bài xích đọc thêm)
- Câu lệnh solo giản
+ Vào dữ liệu :Read, Readln
+ Ra dữ liệu:Write, Writeln
+ Lệnh gán ::=
+ Lời hotline chương trình con(gọi trực tiếp thương hiệu của chương trình con)
+ cách xử lý tập tin :RESET, REWRITE, ASSIGN ...
- Câu lệnh có cấu trúc
+ Lệnh ghép :BEGIN .. Kết thúc
+ Lệnh chọn:IF .. THEN .. ELSE
CASE .. OF .
+ Lệnh lặp:FOR .. To lớn .. Vày
REPEAT .. UNTIL
WHILE .. Bởi vì
c. Những câu lệnh đề nghị được chia cách với nhau do dấu chấm phẩy ( ; ) và những câu lệnh hoàn toàn có thể viết bên trên một cái hay nhiều dòng.
2. Kết cấu tuần tự |
|
a. Lệnh gán (Assignkasynoonlinemy.comnt statekasynoonlinemy.comnt)
Một trong số lệnh đơn giản dễ dàng và cơ bản nhất của Pascal là lệnh gán. Mục đích của lệnh này là gán cho một đổi thay đã khai báo một quý hiếm nào đó thuộc kiểu với biến.
* biện pháp viết:
:=;
Ví dụ 6.12:Khi đang khai báo
VAR
c : Char ;
i,j : Integer ;
x, y : Real ;
p, q : Boolean ;
thì ta hoàn toàn có thể có các phép gán sau :
c := ‘A’ ;
c := Chr(90) ;
i := (35+7)*2 hack 4 ;
i := i div 7 ;
x := 0.5 ;
x := i + 1 ;
q := i > 2*j +1 ;
q := not p. ;
* Ý nghĩa:
Biến và những phát biểu gán là những khái niệm đặc biệt quan trọng của một họ các ngôn ngữ lập trình mà Pascal là một thay mặt tiêu biểu. Bọn chúng phản ánh cách thức buổi giao lưu của máy tính hiện tại nay, kia là:
- lưu lại trữ các giá trị khác biệt vào một ô nhớ tại những thời điểm khác nhau.
- Một quá trình tính toán có thể coi như là một quá trình làm thay đổi giá trị của một (hay một số) ô nhớ như thế nào đó, cho tới khi đạt được giá trị yêu cầu tìm.
b. Lệnh ghép (Compound statekasynoonlinemy.comnt)
Một team câu lệnh 1-1 được để giữa 2 chữ BEGIN cùng END sẽ tạo thành một câu lệnh ghép.
Trong Pascal ta rất có thể đặt những lệnh ghép con trong các lệnh ghép to hơn bao bên cạnh của nó và rất có thể hiểu tương tự như kết cấu ngoặc solo ( ) trong những biểu thức toán học.
* Sơ đồ:

Hình 6.2: Sơ đồ cấu tạo BEGIN .. END;
Ở hình minh họa trên ta dễ thấy các nhóm lệnh thành từng khối (block). Một khối lệnh ban đầu bằng BEGIN và xong ở END; . Trong một khối lệnh cũng rất có thể có các khối lệnh bé nằm vào nó. Một khối chương trình thường được dùng làm nhóm từ 2 lệnh trở lên để sản xuất thành một của các lệnh gồm cấu trúc, ta gồm thể chạm chán khái niệm này trong không ít ví dụ ở những phần sau.
3. Cấu trúc rẽ nhánh |
|
a. Lệnh IF .. THEN .. Và Lệnh IF .. THEN .. ELSE..
*Lưu đồ biểu đạt các lệnh và chân thành và ý nghĩa cách viết:


Hình 6. 3: Lệnh IF THEN ;


Hình 6. 4:Lệnh IF .. THEN .. ELSE ..;
Chú ý:
- Ðiều kiện là một biểu thức Boolean.
- nếu như sau THEN hoặc ELSE có nhiều hơn một lệnh thì taphải góilại vào BEGIN .. END;
- toàn thể lệnh IF .. THEN .. ELSE xem như 1 lệnh đơn.
Ví dụ 6.13:Tính căn bậc 2 của một số
PROGRAM Tinh_can_bac_hai ;
VAR
a : Real ;
BEGIN
Write ( Nhập số a =) ;
Readln(a) ;
IF a
Write (" a : 10 : 2 , là số âm nên không đem căn được !!! ")
ELSE
Writeln (" số mệnh bậc 2 của , a : 2 : 2 , la , SQRT(a) :10 : 3 ");
Writeln (" dìm ENTER để tránh ... ") ;
Readln; Dừng màn hình để coi kết quả
END.
Ghi chú:
Trong lịch trình trên, a ta thấy gồm dạng a :m :n với chân thành và ý nghĩa m là số định khoảng tầm mà phần nguyên của a sẽ chỉ chiếm chỗ và n là khoảng chừng cho số trị phần thập phân của a.
b. Lệnh CASE .. OF
* Lưu đồ dùng biểu diễn:

Hình 6.5:Lưu đồ gia dụng lệnh CASE .. OF
* bí quyết viết, ý nghĩa:
Cách viếtÝ nghĩa
CASE OFXét giá trị của biểu thức lựa chọn
GT1 : công việc 1 ;Nếu có giá trị 1 (GT1) thì thi hành các bước 1
..........................................................
GTi: các bước i ;Nếu có mức giá trị i(GT i) thì thi hành công việc i
...........................................................
ELSECông vấn đề 0 ;Nếu không tồn tại giá trị như thế nào thỏa thì thực hiệnCông vấn đề 0
END;
Ghi chú:
- Lệnh CASE .. OF rất có thể không có ELSE
- Biểu thức chọn là vẻ bên ngoài rời rốc như Integer, Char, không lựa chọn kiểu Real
- nếu muốn ứng với nhiều giá trị không giống nhau của biểu thức lựa chọn vẫn thực hiện một lệnh thì quý hiếm đó có thể viết trên cùng một hàng cách nhau vày dấu phẩy (,) : quý hiếm k1, k2, ..., kp: Lệnh k ;
Ví dụ 6.14:PROGRAM Chon_mau ;
VARcolor : char ;
BEGIN
write (" chọn màu theo một trong 3 ký kết tự đầu là R / W / B ") ;
readln ( color) ;
CASEcolorOF
"R" ,"r":write (" RED = màu đỏ ") ;
"W", "w" :write (" white = màu trắng ") ;
"B" , "b":write (" xanh = màu xanh dương ") ;
END ;
Readln;
END.
4. Kết cấu lặp |
|
a. Lệnh FOR
Cấu trúc FOR chất nhận được lặp lại các lần một hàng lệnh. Số lần lặp lại dãy lệnh đang biết trước. Phát biểu FOR tất cả 2 dạng:
FOR .. Khổng lồ .. DOđếm lên
FOR .. DOWNTO ..DOđếm xuống
* Cú pháp tổng quát là:
FOR := TO/DOWNTO do ;
* lưu lại đồ:


Hình 6. 6:Lưu đồ phát biểu FOR .. Lớn .. Bởi
Chú ý:Trị đầu, trị cuối là những biến hoặc hằng và vươn lên là đếm cần là đẳng cấp rời rạc.
Ví dụ 6.15:Chương trình in một dãy số từ0 mang lại 9
Program Day_So ;
VAR
i : Integer ;
BEGIN
FORi := 0 to 9DOWrite (i) ;
Readln ;
END.
b. Lệnh WHILE .. Vì chưng
* Lưu thiết bị của lệnh

Hình 6. 7:Lưu đồ cấu tạo WHILE .. Do
* Ý nghĩa giữ đồ:
Trong lúc mà điều kiện còn đúng thì cứ thực hiện Công việc, rồi tảo trở về kiểm tra điều kiện lại. Vòng lặp được tiếp tục, đến lúc điều kiện đưa ra không còn đúng nữa thì đi tới tiến hành lệnh tiếp theo
* Cú pháp
WHILE vì chưng

Hình 6.8:Sơ thứ cú pháplệnh WHILE .. Vày
Ghi chú:
·Ðiều khiếu nại trong cấu tạo lặp WHILE .. DO là một trong biểu thức súc tích kiểu Boolean chỉ bao gồm 2 quý hiếm là Ðúng (True) hoặc sai (False)
·Nếu đk Ðúng thì lịch trình sẽ chạy trong cấu trúc WHILE .. DO.
·Sau mỗi lần lặp, chương trình trở về kiểm tra điều kiện. Tùy thuộc vào biểu thức ngắn gọn xúc tích của điều kiện là Ðúng hay Sai thì lịch trình sẽ thực hiện công việc tương ứng.
·Nếu không đúng thì gửi xuống dưới cấu trúc WHILE .. Vị
Ví dụ 6.16:Chương trình tính trung bình n số:x1 + x2 + x3 + ... + xn
Program Trung_binh_Day_So ;
VAR
n, count : Integer ;
x, sum, average : real ;
BEGIN
count := 1 ;
sum:= 0 ;
Write (" Nhập n = ") ;
readln (n) ;
WHILEcount
BEGIN
Write (" Nhập giá trị thứ" , count," của x = " ) ;
readln (x) ;
sum:= sum + x ;
count := count + 1 ;
END ;
average:=sum/n ;
Writeln (" vừa đủ là =", average : 10 : 3 ) ;
Writeln (" dìm Enter để tránh ..." ) ;
Readln ;
END.
c. Lệnh REPEAT .. UNTIL
Câu lệnh REPEAT .. UNTIL dùng trong số trường hợp khi phát triển thành điều khiển không tồn tại kiểu rời rộc và đặc biệt trong các trường hợp chu kỳ lặp lần chần trước.

Hình 6.9:Lưu đồ kết cấu của REPEAT .. UNTIL
* Ý nghĩa câu lệnh:
Nếu điều kiện lô ghích là không đúng (False)thì tái diễn lệnh cho đến khi điều kiện Ðúngthì bắt đầu thoát ra khỏi cấu tạo REPEAT .. UNTIL.
Nếu có khá nhiều câu lệnh thì mỗi lệnh phân cách nhau bằng dấu chấm phẩy (;)Công bài toán của REPEAT và UNTIL không nhất thiết đề nghị dùng lệnh ghép để nhóm từ bỏ 2 lệnh đối chọi trở lên thành công xuất sắc việc.

Hình 6.10:Sơ đồ dùng cú pháp REPEAT .. UNTIL
Ví dụ 6.17:Với vấn đề trung bình cùng một dãy số làm việc ví dụ trước hoàn toàn có thể viết theo cấu tạo REPEAT .. UNTIL nhưsau:
Program Trung_binh_Day_So ;
VARn, count : Integer ;
x, sum : real ;
BEGIN
count := 1 ;
sum:= 0 ;
Write := (" Nhập n = ") ;readln (n) ;
REPEAT
Write (" Nhập giá trị thứ" , count, "của x = ") ;
readln(x) ;
sum := sum + x ;
count := count + 1 ;
UNTIL count > n ;
Writeln (" vừa phải là =" , sum/n : 8 :2 ) ;
Readln ;
END.
Ghi chú:
So sánh 2 giải pháp viết WHILE .. Vì chưng và REPEAT .. UNTIL ta thấy bao gồm sự không giống biệt:
-Trong kết cấu WHILE .. Vì thì được đánh giá trước, giả dụ thỏa thì mới triển khai .
- Ngược lại, trong cấu trúc REPEAT .. UNTIL thì sẽ được thực thi trước sau đó mới khám nghiệm , còn nếu không thỏa thì tiếp tục thi hành cho đến khi là đúng.
Lệnh REPEAT .. UNTIL hay được sử dụng trong lập trình, nhất là lúc người tiêu dùng muốn thường xuyên bài toán làm việc trường hợp chuyển đổi biến mà chưa hẳn trở về công tác và nhấn tổ hợp phím Ctrl + F9 lại.
Ví dụ 6.18:Nhân 2 số a cùng b
Program Tich;
VARa, b : integer ;
CK : char ;
BEGIN
REPEAT
Write (" Nhập số a = "); Readln (a) ;
Write (" Nhập số b = "); Readln (b) ;
Writeln (" Tích số của a x b là :" , a*b : 10 ) ;
Writeln (" liên tiếp tính nữa ko (CK) ? ");
Readln (CK) ;
UNTIL upcase(CK) = K; hàm chuyển đổi ký tự vào biếnCK thành ký kết tự in hoaHướng dẫn lập trình sẵn Pascal