Các Câu Lệnh Trong Pascal

     
Giới thiệu và hướng dẫn học Pascal

Pascal là tên gọi của một trong số ngôn ngữ lập trình cấp cao thông dụng. Ngôn từ lập trình Pascal được giáo sư Niklaus Wirth nghỉ ngơi trường Ðại học tập Kỹ thuật Zurich (Thụy sĩ) kiến tạo và chào làng vào năm 1970. Niklaus Wirth đặt tên cho ngôn ngữ này là Pascal để tưởng niệm đến bên Toán học và Triết học tập Pháp ở chũm kỷ 17 là Blaise Pascal, người đã phát minh ra một máy tính xách tay cơ khí đối kháng giản trước tiên của nhỏ người.

Ngôn ngữ Pascal được dùng hiện giờ có nhiều điểm khác hoàn toàn với chuẩn Pascal nguyên thủy của gs Wirth. Tùy theo giang sơn hoặc doanh nghiệp đã phạt triển cho ra đời các chương trình biên dịch ngôn ngữ Pascal như:

·ISO PASCAL (International Standards Organization) của Châu Âu

·ANSI PASCAL (A1art.vnrican National Standards Institute) của Mỹ

·TURBO PASCAL của hãng sản xuất BORLAND (Mỹ)

·IBM PASCAL của hãng sản xuất Microsoft (Mỹ)

·v.v...

Ðến nay, ngôn ngữ Pascal đã trở nên tân tiến đến phiên phiên bản Turbo Pascal Version 7. Các diễn giải với ví dụ trong giáo trình này đa phần sử dụng lịch trình Turbo Pascal 5.5 - 7.0, hiện đang rất đượ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. Cỗ ký trường đoản cú

- cỗ 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

- cam kết tự gạch 1art.vnn nối dưới:_

- những ký hiệu toán học:+, -, *, /, =, , (, ), <, }

2. Từkhóa

Là những từ riêng của Pascal, gồm ngữ nghĩa đã làm được xác định, không được sử dụng nó vào các việc không giống hoặc để tên mới trùng với những từ khóa.

- từ bỏ khóa chung:

PROGRAM, BEGIN, END, PROCEDURE, FUNCTION

- trường đoản cú khóa để khai báo:

CONST, VAR, TYPE, ARRAY, STRING, RECORD, SET, FILE, LABEL

- từ bỏ khóa của lệnh lựa chọn:

IF ... THEN ... ELSE,CASE ... OF

- từ 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

Tên chuẩn là tên sẽ được định nghĩa sẵn vào Pascal, nhưng tín đồ ta rất có thể định nghĩa lại nếu như muốn. Trong Pascal ta có những tên chuẩn 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. Danh hiệu tự đặt

Trong Pascal để đặt tên cho các biến, hằng, kiểu, chương trình nhỏ ta dùng các danh hiệu (identifier). Danh hiệu của Pascal được bắt đầu bằng một chữ cái, sau đó có thể là các chữ cái, chữ số tuyệt là lốt nối, không được có tầm khoảng trắng với độ dài tối đa có thể chấp nhận được là 127.

Ví dụ 6.1:Sau đấy là các danh hiệu: x;S1;Delta;PT_bac_2

Pascal không phân biệt chữ thường với chữ hoa trong một danh hiệu.

Bạn đang xem: Các câu lệnh trong pascal

Ví dụ 6.2:aa và AA là một;XyZ_aBcvàxyZ_AbC là 1

Khi viết công tác ta đề xuất đặt những danh hiệu làm sao để cho chúng thể hiện các chân thành và ý nghĩa của đối tượ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ễ ợt và người khác cũng dễ dàng 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ơ đồ kết cấu chương trình Pascal

Ví dụ 6.3:

PROGRAM Hello; loại tiêu đề

USESCrt; Lời điện thoại tư vấn sử dụng các đơn vị lịch trình

VARNa1art.vn : string; Khai báo trở thành

PROCEDUREInput; tất cả thể có tương đối nhiều Procedure cùng Function

Begin

ClrScr; Lệnh xóa màn hình

Write(" ‘Hello ! What is your na1art.vn ?... ‘");Readln(Na1art.vn);

End;

BEGIN Thân chương trình chủ yếu

Input;

Writeln(" ‘Welco1art.vn khổng lồ you,‘, Na1art.vn") ;

Writeln(" ‘Today, we study PASCAL PROGRAMMING ... ‘");

Readln;

End.

Một chương trình Pascal có các phần:

* Phần tiêu đề:

Phần này ban đầu bằng từ khóa Program rồi sau đó là thương hiệu của công tác và xong bằng lốt chấm phẩy (;)

Tên chương trình buộc phải được đặt theo như đúng qui giải pháp của thương hiệu tự đặt. Phần tiêu đề có hay là không cũng được.

* Phần khai báo dữ liệu:

Trước khi thực hiện biến nào đề nghị khai báo biến đó, nghĩa là xác minh rõ xem biến đổi đó trực thuộc kiểu dữ liệu nào. Một công tác Pascal có thể có một số hoặc tất cả các khai báo tài liệu sau:

CONST: khai báo hằng

...

TYPE: định nghĩakiểu dữliệu bắt đầu

...

VAR: khai báo các biến

...

* Phần khai báo chương trình con:

Phần này tế bào tả một đội nhóm lệnh được đặt tên chung là một chương trình con để lúc thân chương trình chủ yếu gọi đến thì cả đội lệnh đó được thi hành.

Phần này hoàn toàn có thể có hoặc không tùy theo nhu cầu.

*Phần thân chương trình:

Phần thân lịch trình là phần đặc biệt nhất và cần phải có, phần này luôn nằm thân 2 keyword là BEGIN và END. Ở thân là lệnh mà những chương trình chủ yếu cần thực hiện. Sau trường đoản cú khóa over là lốt chấm (.) nhằm báo hoàn thành chương trình.

*Dấu chấm phẩy (;):

Dấu ;dùng để chống cách những câu lệnh của Pascal và không thể không có được.

Xem thêm: Cách Trị Hóc Xương Cá Ở Cổ, Mẹo Chữa Hóc Xương Cá Tại Nhà Cực Dễ Cực Nhanh

*Lời chú thích:

Lời chú thích dùng làm chú giải cho người sử dụng chương trình nhớ nhằm mục tiêu trao đổi thông tin giữa người và người, máy vi tính sẽ không lưu ý đến 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à máy vi tính 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 dữ liệu (data type) là 1 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 trình diễn và giải 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 và dễ dàng (Simple type): bao hàm kiểu số nguyên (Integer), đẳng cấp số thực (Real), kiểu xúc tích và ngắn gọn (Boolean), kiểu ký kết tự (Char).

- đẳng cấp có kết cấu (Structure type): bao gồm mảng (Array), chuỗi (String), bản ghi (Record), tập phù hợp (Set), tập tin (File).

- mẫu mã chỉ điểm (pointer):

Trong chương này, bọn họ chỉ xét các kiểu dữ liệu đơn giản.

2. Hình dáng số nguyên (Integer type)

a. Kiểu số nguyên ở trong Z đựng trong Turbo Pascal

Ðược quan niệm với các 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. Những phép toán số học đối với số nguyên

KÝ HIỆU

Ý NGHĨA

+

Cộng

-

Trừ

*

Nhân

/

Chia cho công dụng là số thực

DIV

Chia mang phần nguyên

MOD

Chia rước phần dư

SUCC (n)

n + 1

PRED (n)

n - 1

ODD (n)

TRUE giả dụ n lẻ

và FALSE trường hợp n chẵn

3. Phong cách số thực (Real type)

Ở Turbo Pascal, hình trạng số thực nằm trong tập phù hợp R chứa trong 6 bytes, được khái niệm với từ khóa REAL:R =(<2.9 x 10-39 , 1.7 x 1038 >

Hay viết theo phương thức số khoa học: R = ( <2.9E-39, 1.7E38>

Số thực có thể viết theo phong cách có lốt chấm thập phân thông thường hoặc viết theo kiểu thập phân gồm phần mũ cùng phần định trị.

Các phép toán số học cơ phiên bản +, -, * , /dĩ nhiên được thực hiện trong kiểu dáng real.

Bảng dưới đây là các hàm số học đến kiểu số thực:

KÝ HIỆU

Ý NGHĨA

ABS (x)

|x| : đem giá trị tuyệt đối của số x

SQR (x)

x2 : đem bình phương trị số x

SQRT(x)

*
: láúy càn báûc 2 cuía trë säú x

SIN(x)

sin (x) : rước sin của x

COS (x)

cos (x) : đem cos của x

ARCTAN (x)

arctang (x)

LN (x)

ln x : mang 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 thừa trị số x

ROUND (x)

làm tròn quý giá của x, rước số nguyên ngay gần x tốt nhất

4. Kiểu súc tích (Boolean)

Một dữ liệu thuộc kiểu BOOLEAN là 1 đại lượng được chứa trong 1 byte sống Turbo Pascal với chỉ có thể nhận được một trong hai gía trị xúc tích là TRUE (đúng) với FALSE (sai).

Qui ước:TRUE > FALSE

Các phép toán trên vẻ bên ngoài Boolean:

A

B

NOT A

A and 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 and (và) chỉ cho tác dụng là TRUE khi cả hai toán hạng là TRUE

·Phép OR (hoặc) chỉ cho công 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 hiệu quả 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 hiệu quả kiểu Boolean:

KÝ HIỆU

Ý NGHĨA

khác nhau

=

bằng nhau

>

lớn rộng

nhỏ rộng

> =

lớn rộng hoặc bằng

nhỏ hơn hoặc bằng

5. Kiểu cam 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 cam kết tự được viết vào hai lốt nháy đơn ( ). Ðể tiện thảo luận thông tin rất cần phải sắp xếp, tiến công số các ký tự, từng cách bố trí như vậy gọi là bảng mã. Bảng mã thông dụng bây giờ là bảng mã ASCII (xem lại chương 3).

Ðể thực hiện các phép toán số học cùng so sánh, ta nhờ vào giá trị số thiết bị 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 1 byte.

Các hàm chuẩn liên quan mang đến kiểu ký kết tự:

KÝ HIỆU

Ý NGHĨA

ORD(x)

Cho số sản phẩm công nghệ tự của cam kết tự x trong bảng mã

CHR(n) hay #n

Cho cam kết tự gồm số trang bị tự là n

PRED(x)

Cho ký tự đứng trước x

SUCC(x)

Cho ký tự lép vế 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 thay đổi trong quy trình chạy chương trình. Ta sử dụng tên hằng để chương trình được cụ thể và dễ dàng sửa đổi.

b. Phương pháp khai báo

CONST

= ;

Ví dụ 6.4:CONST

Siso = 100;

X = ‘xxx ‘;

2. Thay đổi (variable)

a. Ðịnh nghĩa

Biến là một cấu trúc ghi nhớ có tên (đó là tên gọi biến hay danh hiệu của biến).

Biến ghi lưu giữ một dữ liệu nào đó gọi là quý giá (value) của biến. Quý hiếm của biến có thể được biến hóa trong thời gian sử dụng biến.

Sự truy vấn xuất của trở thành nghĩa là đọc giá trị hay thay đổi giá trị của biến đổi được triển khai thông qua thương hiệu biến.

Ví dụ 6.5: Readln (x) ;

Writeln (x) ;

x := 9 ;

Biến là một kết cấu ghi nhớ dữ liệu vì vậy nó buộc phải tuân theo nguyên tắc của kiểu dữ liệu : một biến nên thuộc một kiểu dữ liệu nhất định.

b. Phương pháp 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 những biến trước khi sử dụng bọn chúng trong chương trình. Khai báo một trở thành là khai báo sự vĩnh cửu của phát triển thành đó và cho thấy thêm nó thuộc đẳng cấp gì.

3. Hình dáng (Type)

a. Ðịnh nghĩa

Ngoài các kiểu đã định sẵn, Pascal còn chất nhận được ta định nghĩa các kiểu tài liệu khác từ những kiểu căn phiên bản theo qui tắc xây cất của Pascal.

b. Cách 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 đã khai báo mẫu mã gì thì ta tất cả quyền áp dụng để khai báo vươn lên là như làm việc 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à một 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 & B) OR C

b. Máy tự ưu tiên

Khi tính quý giá của một biểu thức, ngôn ngữ Pascal qui mong thứ trường đoản cú ưu tiên của những phép toán tự cao mang lại thấp như sau:

Mức ưu tiên:Các phép toán:

1. Biểu thức vào ngoặc đối chọi ()

2.Phép điện thoại tư vấn hàm

3. Not,-

4. *, /, DIV, MOD, &

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 cầu tính đồ vật tự ưu tiên

Khi tính một biểu thức có 3 qui tắc về sản phẩm công nghệ tự ưu tiên như sau:

Qui tắc 1 : các phép toán nào tất cả ưu tiên cao hơn sẽ được tính trước.

Qui tắc 2 : trong các phép toán gồm cùng thiết bị tự ưu tiên thì sự đo lường và thống kê sẽ được thực hiện từ trái lịch sự phải.

Qui tắc 3 :Phần trong ngoặc tự trong ra phía bên ngoài được đo lường để trở thành một quý giá đơn.

d. Dạng hình của biểu thức

Là loại của hiệu quả sau khi 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ó mức giá trị TRUE

VI. CÁC THỦ TỤC XUẤT/NHẬP

1. Câu lệnh (state1art.vnnt)

a. Vào một lịch trình Pascal, sau phần tế bào tả dữ liệu là phần mô tả những câu lệnh. Những câu lệnh tất cả nhiệm vụ xác minh các công việc mà máy tính phải tiến hành để xử lý các dữ liệu đã được diễn tả và khai báo.

b. Câu lệnh được phân thành câu lệnh đơn giản và câu lệnh gồm cấu trúc.

(xem phần bài bác đọc thêm)

- Câu lệnh đơn giản

+ Vào tài liệu :Read, Readln

+ Ra dữ liệu:Write, Writeln

+ Lệnh gán ::=

+ Lời điện thoại tư vấn chương trình con(gọi trực tiếp tên của lịch 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 .. Lớn .. Vày

REPEAT .. UNTIL

WHILE .. Bởi

c. Các câu lệnh buộc phải được ngăn cách với nhau vì chưng dấu chấm phẩy ( ; ) và các câu lệnh có thể viết trên một cái hay các dòng.

2. Kết cấu tuần trường đoản cú

a. Lệnh gán (Assign1art.vnnt state1art.vnnt)

Một trong những lệnh đơn giản và dễ dàng và cơ phiên bản nhất của Pascal là lệnh gán. Mục tiêu của lệnh này là gán đến một biến đã khai báo một quý hiếm nào đó cùng kiểu với biến.

* biện pháp viết:

:=;

Ví dụ 6.12:Khi sẽ khai báo

VAR

c : Char ;

i,j : Integer ;

x, y : Real ;

p, q : Boolean ;

thì ta rất có thể có những phép gán sau :

c := ‘A’ ;

c := Chr(90) ;

i := (35+7)*2 mod 4 ;

i := i div 7 ;

x := 0.5 ;

x := i + 1 ;

q := i > 2*j +1 ;

q := not p ;

* Ý nghĩa:

Biến và các phát biểu gán là các khái niệm đặc biệt của một họ những ngôn ngữ lập trình nhưng mà Pascal là một đại diện tiêu biểu. Bọn chúng phản ánh biện pháp thức hoạt động của máy tính hiện nay nay, kia là:

- lưu giữ trữ những 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ớ làm sao đó, cho tới khi có được giá trị đề nghị tìm.

b. Lệnh ghép (Compound state1art.vnnt)

Một team câu lệnh đối kháng được đặt giữa 2 chữ BEGIN với END sẽ tạo thành một câu lệnh ghép.

Trong Pascal ta hoàn toàn có thể đặt các lệnh ghép con trong những lệnh ghép lớn hơn bao ko kể của nó và hoàn toàn có thể hiểu tựa như như kết cấu ngoặc đối chọi ( ) trong số biểu thức toán học.

* Sơ đồ:

*

Hình 6.2: Sơ đồ kết cấu BEGIN .. END;

Ở hình minh họa bên 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 bước đầu bằng BEGIN và xong xuôi ở END; . Vào một khối lệnh cũng có thể có các khối lệnh bé nằm trong nó. Một khối lịch trình thường được dùng làm nhóm tự 2 lệnh trở lên để tạo thành một của các lệnh bao gồm cấu trúc, ta bao gồm thể chạm chán khái niệm này trong tương đối nhiều ví dụ ở những phần sau.

3. Cấu tạo rẽ nhánh

a. Lệnh IF .. THEN .. Cùng Lệnh IF .. THEN .. ELSE..

Xem thêm: Nồi Chiên Không Dầu Nắp Kính, Nồi Chiên Không Dầu 8L Phome Pl

*Lưu đồ biểu đạt các lệ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à 1 biểu thức Boolean.

- nếu sau THEN hoặc ELSE có nhiều hơn một lệnh thì taphải góilại vào BEGIN .. END;

- tổng thể lệnh IF .. THEN .. ELSE xem như một lệnh đơn.

Ví dụ 6.13:Tính căn bậc 2 của một vài

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 mang căn được !!! ")

ELSE

Writeln (" số mệnh bậc 2 của , a : 2 : 2 , la , SQRT(a) :10 : 3 ");

Writeln (" thừa nhận ENTER để né ... ") ;

Readln; Dừng screen để xem kết quả

END.

Ghi chú:

Trong chương trình trên, a ta thấy gồm dạng a :m :n với ý nghĩa m là số định khoảng mà phần nguyên của a sẽ chiếm chỗ với 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 thứ biểu diễn:

*

Hình 6.5:Lưu thiết bị lệnh CASE .. OF

* cách viết, ý nghĩa:

Cách viếtÝ nghĩa

CASE OFXét cực hiếm của biểu thức chọn

GT1 : quá trình 1 ;Nếu có giá trị 1 (GT1) thì thi hành quá trình 1

..........................................................

GTi: quá trình i ;Nếu có mức giá trị i(GT i) thì thi hành công việc i

...........................................................

ELSECông câu hỏi 0 ;Nếu không có giá trị như thế nào thỏa thì thực hiệnCông việc 0

END;

Ghi chú:

- Lệnh CASE .. OF có thể không tất cả ELSE

- Biểu thức chọn là thứ hạng rời rốc như Integer, Char, không chọn kiểu Real

- nếu còn muốn ứng với rất nhiều giá trị khác biệt của biểu thức lựa chọn vẫn thực hành một lệnh thì quý hiếm đó rất có thể viết trên cùng một hàng giải pháp nhau vì chưng dấu phẩy (,) : quý hiếm k1, k2, ..., kp: Lệnh k ;

Ví dụ 6.14:PROGRAM Chon_mau ;

VARcolor : char ;

BEGIN

write (" lựa chọn màu theo 1 trong 3 ký tự đầu là R / W / B ") ;

readln ( color) ;

CASEcolorOF

"R" ,"r":write (" RED = red color ") ;

"W", "w" :write (" white = white color ") ;

"B" , "b":write (" xanh = màu xanh da trời dương ") ;

END ;

Readln;

END.

4. Cấu tạo lặp

a. Lệnh FOR

Cấu trúc FOR có thể chấp nhận được lặp lại các lần một hàng lệnh. Số lần tái diễn dãy lệnh đang biết trước. Phát biểu FOR tất cả 2 dạng:

FOR .. Lớn .. DOđếm lên

FOR .. DOWNTO ..DOđếm xuống

* Cú pháp bao quát là:

FOR := TO/DOWNTO bởi ;

* giữ đồ:

*
*

Hình 6. 6:Lưu thiết bị phát biểu FOR .. To lớn .. Vị

Chú ý:Trị đầu, trị cuối là các biến hoặc hằng và thay đổi đếm nên là hình dạng rời rạc.

Ví dụ 6.15:Chương trình in một hàng 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ì

* Lưu thiết bị của lệnh

*

Hình 6. 7:Lưu đồ kết cấu WHILE .. Bởi

* Ý nghĩa lưu lại đồ:

Trong lúc mà đk còn đúng thì cứ tiến hành 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ị

*

Hình 6.8:Sơ đồ cú pháplệnh WHILE .. Vì chưng

Ghi chú:

·Ðiều khiếu nại trong cấu trúc lặp WHILE .. DO là 1 trong biểu thức xúc tích và ngắn gọn kiểu Boolean chỉ gồm 2 quý giá là Ðúng (True) hoặc không nên (False)

·Nếu đk Ðúng thì lịch trình sẽ chạy trong kết cấu WHILE .. DO.

·Sau mỗi lần lặp, chương trình trở lại kiểm tra điều kiện. Tùy theo biểu thức ngắn gọn xúc tích của đk là Ðúng giỏi Sai thì công tác sẽ thực hiện công việc tương ứng.

·Nếu không đúng thì chuyển xuống dưới kết cấu WHILE .. Vì chưng

Ví dụ 6.16:Chương trình tính vừa đủ 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 (" trung bình là =", average : 10 : 3 ) ;

Writeln (" dìm Enter để né ..." ) ;

Readln ;

END.

c. Lệnh REPEAT .. UNTIL

Câu lệnh REPEAT .. UNTIL dùng trong những trường thích hợp khi biến đổi điều khiển không có kiểu rời rốc và đặc biệt quan trọng trong những trường hợp mốc giới hạn lặp lưỡng lự trước.

*

Hình 6.9:Lưu đồ cấu trúc của REPEAT .. UNTIL

* Ý nghĩa câu lệnh:

Nếu điều kiện xúc tích là sai (False)thì tái diễn lệnh cho tới khi đk Ðúngthì new thoát ra khỏi cấu trúc REPEAT .. UNTIL.

Nếu có khá nhiều câu lệnh thì mỗi lệnh phân làn nhau bởi dấu chấm phẩy (;)Công câu hỏi của REPEAT và UNTIL không tuyệt nhất thiết yêu cầu 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ơ trang bị cú pháp REPEAT .. UNTIL

Ví dụ 6.17:Với bài toán trung bình cộng một dãy số nghỉ ngơi ví dụ trước rất có thể viết theo cấu trúc 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 (" mức độ vừa phải là =" , sum/n : 8 :2 ) ;

Readln ;

END.

Ghi chú:

So sánh 2 bí quyết viết WHILE .. Vày và REPEAT .. UNTIL ta thấy bao gồm sự khác biệt:

-Trong kết cấu WHILE .. Vị thì được khám nghiệm trước, ví như thỏa thì mới triển khai .

- Ngược lại, trong cấu tạo REPEAT .. UNTIL thì sẽ tiến hành thực thi trước tiếp nối mới bình chọn , nếu không thỏa thì tiếp tục thi hành cho tới khi là đúng.

Lệnh REPEAT .. UNTIL hay được thực hiện trong lập trình, tốt nhất là lúc người sử dụng muốn tiếp tục bài toán sinh hoạt trường hợp đổi khác biến mà không hẳn trở về lịch trình và nhấn tổ hợp phím Ctrl + F9 lại.

Ví dụ 6.18:Nhân 2 số a và 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 (" thường xuyên tính nữa ko (CK) ? ");

Readln (CK) ;

UNTIL upcase(CK) = K; hàm biến đổi ký tự trong biếnCK thành cam kết tự in hoa

Hướng dẫn thiết kế Pascal