Cách viết chương trình pascal

     
Giới thiệu và khuyên bảo học Pascal

Pascal là tên gọi của một trong các ngôn ngữ lập trình cao cấp thông dụng. Ngôn từ lập trình Pascal được giáo sư Niklaus Wirth sinh sống trường Ðại học tập Kỹ thuật Zurich (Thụy sĩ) xây cất và chào làng vào năm 1970. Niklaus Wirth viết tên cho ngôn từ này là Pascal để tưởng nhớ đến bên Toán học với Triết học Pháp ở vắt kỷ 17 là Blaise Pascal, fan đã sáng tạo ra một laptop cơ khí solo giản đầu tiên của bé người.

Ngôn ngữ Pascal được dùng bây giờ có nhiều điểm biệt lập với chuẩn Pascal nguyên thủy của gs Wirth. Tùy theo nước nhà hoặc công ty đã phân phát triển phát hành các công tác biên dịch ngôn từ Pascal như:

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

·ANSI PASCAL (Atinhdaudua.com.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 Microsoft (Mỹ)

·v.v...

Ðến nay, ngôn từ Pascal đã cải cách và phát triển đến phiên bản Turbo Pascal Version 7. Các diễn giải cùng ví dụ trong giáo trình này chủ yếu sử dụng lịch trình Turbo Pascal 5.5 - 7.0, hiện đang rất được sử dụng rộng rãi ở 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

- bộ chữ số thập phân: 0, 1, 2, 3, ..., 8, 9

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

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

2. Từkhóa

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

- tự khóa chung:

PROGRAM, BEGIN, END, PROCEDURE, FUNCTION

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

- từ bỏ khóa của lệnh lặp:

FOR... TO... DO,FOR... DOWNTO... DO,WHILE... DO,REPEAT... UNTIL

- trường đoản cú khóa điều khiển:

WITH,GOTO,EXIT, HALT

- trường đoản cú khóa toán tử:

AND, OR, NOT, IN, DIV, MOD

3. Tên chuẩn chỉnh

Tên chuẩn chỉnh là tên đã được quan niệm sẵn vào Pascal, nhưng người ta hoàn toàn có thể định nghĩa lại ví như muốn. Trong Pascal ta có những 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. Danh hiệu tự để

Trong Pascal để đặt tên cho những biến, hằng, kiểu, chương trình con ta dùng những danh hiệu (identifier). Danh hiệu của Pascal được bắt đầu bằng một chữ cái, sau đó hoàn toàn có thể là những chữ cái, chữ số xuất xắc là vết nối, ko được có 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 phân biệt chữ thường và chữ hoa trong một danh hiệu.

Bạn đang xem: Cách viết chương trình pascal

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

Khi viết công tác ta cần đặt các danh hiệu làm sao cho chúng tạo nên các ý nghĩa sâu sắc của đối tượng người sử dụng mà chúng biểu thị. Ðiều này giúp chúng ta viết chương trình thuận lợ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ơ đồ 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ị công tác

VARNatinhdaudua.com.vn : string; Khai báo biến đổi

PROCEDUREInput; có thể có khá nhiều Procedure cùng Function

Begin

ClrScr; Lệnh xóa screen

Write(" ‘Hello ! What is your natinhdaudua.com.vn ?... ‘");Readln(Natinhdaudua.com.vn);

End;

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

Input;

Writeln(" ‘Welcotinhdaudua.com.vn khổng lồ you,‘, Natinhdaudua.com.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 tiếp nối là thương hiệu của lịch trình và dứt bằng lốt chấm phẩy (;)

Tên chương trình cần được đặt theo như đúng qui bí quyết của thương hiệu tự đặt. Phần title có hay là không cũng được.

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

Trước khi áp dụng biến nào yêu cầu khai báo thay đổi đó, nghĩa là xác định rõ xem đổi thay đó trực thuộc kiểu dữ liệu nào. Một chương trình Pascal có thể có một vài hoặc toàn bộ các khai báo dữ liệu sau:

CONST: khai báo hằng

...

TYPE: định nghĩakiểu dữliệu mới

...

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

...

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

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

Phần này có thể có hoặc không tùy thuộc vào nhu cầu.

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

Phần thân lịch trình là phần quan trọng đặc biệt nhất và sẽ phải có, phần này luôn luôn nằm thân 2 từ khoá là BEGIN cùng END. Ở thân là lệnh mà các chương trình chủ yếu cần thực hiện. Sau từ khóa kết thúc là vệt chấm (.) nhằm báo dứt chương trình.

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

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

Xem thêm: Soạn Bài Liên Kết Trong Văn Bản Lớp 7 ), Soạn Bài Liên Kết Trong Văn Bản (Trang 17)

*Lời chú thích:

Lời chú thích dùng để làm chú giải cho tất cả những người sử dụng lịch trình nhớ nhằm mục đích trao đổi thông tin giữa fan và người, máy tính sẽ không suy nghĩ lời chú thích này. Lời chú thích nằm giữa 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 tính xách tay 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 qui định về hình dạng, cấu tạo và cực hiếm của dữ liệu cũng giống như cách trình diễn và giải pháp xử lý dữ liệu.

Trong Pascal những kiểu dữ liệu gồm những loại sau:

- Kiểu đơn giản và dễ dàng (Simple type): bao gồm kiểu số nguyên (Integer), hình trạng số thực (Real), kiểu ngắn gọn xúc tích (Boolean), kiểu ký tự (Char).

- hình dáng có cấu tạo (Structure type): bao gồm mảng (Array), chuỗi (String), phiên bản ghi (Record), tập vừa lòng (Set), tập tin (File).

- hình dạng chỉ điểm (pointer):

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

2. đẳng cấp số nguyên (Integer type)

a. Dạng hình số nguyên ở trong Z chứa trong Turbo Pascal

Ðược định nghĩa 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 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 lấy phần dư

SUCC (n)

n + 1

PRED (n)

n - 1

ODD (n)

TRUE ví như n lẻ

và FALSE giả dụ n chẵn

3. Mẫu mã số thực (Real type)

Ở Turbo Pascal, hình dạng số thực trực thuộc tập phù hợp R cất trong 6 bytes, được có mang với tự khóa REAL:R =(<2.9 x 10-39 , 1.7 x 1038 >

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

Số thực có thể viết theo kiểu có dấu chấm thập phân bình thường hoặc viết theo kiểu thập phân gồm phần mũ với phần định trị.

Các phép toán số học tập cơ bản +, -, * , /dĩ nhiên được áp dụng trong hình trạng real.

Bảng dưới đó là các hàm số học cho kiểu số thực:

KÝ HIỆU

Ý NGHĨA

ABS (x)

|x| : rước giá trị tuyệt vời và hoàn hảo nhất của số x

SQR (x)

x2 : mang 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) : 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 số 1 không vượt quá trị số x

ROUND (x)

làm tròn giá trị của x, mang số nguyên ngay gần x nhất

4. Kiểu xúc tích và ngắn gọn (Boolean)

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

Qui ước:TRUE > FALSE

Các phép toán trên hình 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 công dụng là TRUE khi cả 2 toán hạng là TRUE

·Phép OR (hoặc) chỉ cho công dụng là FALSE khi cả hai 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 quan hệ giới tính cho hiệu quả kiểu Boolean:

KÝ HIỆU

Ý NGHĨA

khác nhau

=

bằng nhau

>

lớn hơn

nhỏ hơn

> =

lớn rộng hoặc bởi

nhỏ hơn hoặc bởi

5. Kiểu ký tự (Char type)

Tất cả các dữ liệu viết nghỉ ngơi dạng chữ ký tự được khai báo vị từ khóa CHAR.

Một cam kết tự được viết trong hai lốt nháy đơn ( ). Ðể tiện hội đàm thông tin cần được sắp xếp, tiến công số các ký tự, mỗi cách sắp xếp như vậy điện thoại tư vấn 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).

Ðể 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ố máy 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 mang lại kiểu ký tự:

KÝ HIỆU

Ý NGHĨA

ORD(x)

Cho số sản phẩm tự của cam kết tự x vào bảng mã

CHR(n) giỏi #n

Cho ký tự có số sản phẩm tự là n

PRED(x)

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

SUCC(x)

Cho ký tự thua cuộc 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à 1 trong đại lượng có giá trị không đổi trong quá trình chạy chương trình. Ta dùng tên hằng để chương trình được ví dụ và dễ sửa đổi.

b. Giải pháp 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 cấu tạo ghi nhớ có tên (đó là tên biến hay thương hiệu của biến).

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

Sự truy nã xuất của phát triển thành nghĩa là đọc giá trị hay chuyển đổi giá trị của vươn lên là đượ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 kết cấu ghi nhớ dữ liệu vì vậy nó đề nghị tuân theo cơ chế của kiểu dữ liệu : một biến buộc phải 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 những biến trước khi sử dụng bọn chúng trong chương trình. Khai báo một biến là khai báo sự lâu dài của vươn lên là đó và cho biết nó thuộc phong cách gì.

3. Loại (Type)

a. Ðịnh nghĩa

Ngoài các 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ừ các kiểu căn phiên bản theo qui tắc chế tạo của Pascal.

b. Biện 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 đang khai báo loại gì thì ta gồm quyền áp dụng để khai báo biến 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à một trong công thức tính toán bao hàm các phép toán, hằng, biến, hàm và những dấu ngoặc.

Ví dụ 6.9: 5 + A * SQRT(B) / SIN(X)

(A và B) OR C

b. Sản phẩm công nghệ tự ưu tiên

Khi tính cực hiếm của một biểu thức, ngữ điệu Pascal qui ước thứ từ ưu tiên của những phép toán trường đoản cú cao đến thấp như sau:

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

1. Biểu thức vào ngoặc 1-1 ()

2.Phép gọi hàm

3. Not,-

4. *, /, DIV, MOD, và

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

Khi tính một biểu thức bao gồm 3 qui tắc về vật dụng tự ưu tiên như sau:

Qui tắc 1 : những phép toán nào bao gồm ưu tiên cao hơn sẽ được tính trước.

Qui tắc 2 : trong những phép toán gồm cùng trang bị tự ưu tiên thì sự tính toán sẽ được thực hiện từ trái thanh lịch phải.

Qui tắc 3 :Phần vào ngoặc trường đoản cú trong ra ngoài được đo lường và tính toán để trở thành một giá trị đơn.

d. Thứ hạng của biểu thức

Là hình trạng của kết quả sau lúc tính biểu thức.

Ví dụ 6.11:Biểu thức sau được điện thoại tư vấn là biểu thức Boolean:

not (("a">"c") và ("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 (statetinhdaudua.com.vnnt)

a. Trong một lịch trình Pascal, sau phần tế bào tả tài liệu là phần tế bào tả những câu lệnh. Những câu lệnh tất cả nhiệm vụ xác định các các bước mà laptop phải thực hiện để xử lý các dữ liệu đã được trình bày và khai báo.

b. Câu lệnh được tạo thành câu lệnh đơn giản và dễ dàng và câu lệnh gồm cấu trúc.

(xem phần bài xích đọc thêm)

- Câu lệnh 1-1 giản

+ Vào dữ liệu :Read, Readln

+ Ra dữ liệu:Write, Writeln

+ Lệnh gán ::=

+ Lời gọi chương trình con(gọi trực tiếp tên của công tác con)

+ giải pháp xử lý tập tin :RESET, REWRITE, ASSIGN ...

- Câu lệnh có cấu trúc

+ Lệnh ghép :BEGIN .. Over

+ Lệnh chọn:IF .. THEN .. ELSE

CASE .. OF .

+ Lệnh lặp:FOR .. To lớn .. Bởi

REPEAT .. UNTIL

WHILE .. Vày

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

2. Cấu trúc tuần từ bỏ

a. Lệnh gán (Assigntinhdaudua.com.vnnt statetinhdaudua.com.vnnt)

Một trong những lệnh 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 mang đến một đổi mới đã khai báo một giá trị nào đó thuộc kiểu với biến.

* cách 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 thủ thuật 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à những khái niệm đặc biệt của một họ các ngôn ngữ lập trình mà lại Pascal là một thay mặt đại diện tiêu biểu. Chúng phản ánh bí quyết thức hoạt động vui chơi của máy tính hiện nay, đó là:

- giữ trữ những giá trị khác biệt vào một ô lưu giữ tại những thời điểm khác nhau.

- Một quá trình tính toán hoàn toàn có thể coi như thể một quá trình làm biến hóa giá trị của một (hay một số) ô nhớ như thế nào đó, cho đến khi đã có được giá trị đề xuất tìm.

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

Một nhóm câu lệnh đơn được đặt giữa 2 chữ BEGIN cùng END sẽ khởi tạo thành một câu lệnh ghép.

Trong Pascal ta hoàn toàn có thể đặt những lệnh ghép con trong những lệnh ghép to hơn bao quanh đó của nó và có thể hiểu tương tự như kết cấu ngoặc solo ( ) trong số 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ễ dàng thấy những nhóm lệnh thành từng khối (block). Một khối lệnh bước đầu bằng BEGIN và ngừng ở END; . Vào một khối lệnh cũng hoàn toàn có thể có các khối lệnh nhỏ nằm trong nó. Một khối công tác thường được dùng làm nhóm tự 2 lệnh trở lên để sinh sản thành một của các lệnh gồm cấu trúc, ta gồm thể gặp gỡ khái niệm này trong tương đối nhiều 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..

Xem thêm: Giải Bài Tập Giải Tích 2 : Lý Thuyết Và Bài Tập (Đại Học Bách Khoa Hà Nội)

*Lưu đồ mô 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.

- giả dụ sau THEN hoặc ELSE có tương đối nhiều hơn một lệnh thì taphải góilại trong BEGIN .. END;

- cục bộ 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 cần không rước căn được !!! ")

ELSE

Writeln (" căn số 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 hiển thị để xem kết quả

END.

Ghi chú:

Trong công tác trên, a ta thấy tất cả 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ỗ cùng n là khoảng cho số trị phần thập phân của a.

b. Lệnh CASE .. OF

* Lưu vật dụng biểu diễn:

*

Hình 6.5:Lưu vật dụng lệnh CASE .. OF

* phương pháp 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ác bước 1 ;Nếu có giá trị 1 (GT1) thì thi hành các bước 1

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

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

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

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

END;

Ghi chú:

- Lệnh CASE .. OF rất có thể không bao gồm ELSE

- Biểu thức chọn là giao diện rời rạc như Integer, Char, không lựa chọn kiểu Real

- nếu như muốn ứng với khá nhiều giá trị khác nhau của biểu thức chọn vẫn thi hành một lệnh thì giá trị đó rất có thể viết trên và một hàng phương pháp nhau do 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 cam 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 (" blue = blue color dương ") ;

END ;

Readln;

END.

4. Cấu trúc 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 lặp lại dãy lệnh vẫn biết trước. Tuyên bố FOR gồm 2 dạng:

FOR .. To .. DOđếm lên

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

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

FOR := TO/DOWNTO bởi vì ;

* lưu giữ đồ:

*
*

Hình 6. 6:Lưu thiết bị phát biểu FOR .. To .. Bởi

Chú ý:Trị đầu, trị cuối là các biến hoặc hằng và trở nên đếm yêu cầu 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 đến 9

Program Day_So ;

VAR

i : Integer ;

BEGIN

FORi := 0 to 9DOWrite (i) ;

Readln ;

END.

b. Lệnh WHILE .. Vày

* Lưu thứ của lệnh

*

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

* Ý nghĩa lưu giữ đồ:

Trong khi mà điều kiện còn đúng thì cứ thực hiện Công việc, rồi cù trở về kiểm tra điều kiện lại. Vòng lặp được tiếp tục, đến khi điều kiện đề ra không còn đúng nữa thì đi tới thực hiện lệnh tiếp theo

* Cú pháp

WHILE vì

*

Hình 6.8:Sơ vật cú pháplệnh WHILE .. Bởi vì

Ghi chú:

·Ðiều kiện trong kết cấu lặp WHILE .. DO là 1 trong biểu thức lô ghích kiểu Boolean chỉ bao gồm 2 quý giá là Ðúng (True) hoặc sai (False)

·Nếu điều kiện Ðúng thì chương trình sẽ chạy trong cấu tạo WHILE .. DO.

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

·Nếu không nên thì chuyển xuống dưới kết cấu 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 (" trung bình là =", average : 10 : 3 ) ;

Writeln (" thừa nhận Enter để thoát ..." ) ;

Readln ;

END.

c. Lệnh REPEAT .. UNTIL

Câu lệnh REPEAT .. UNTIL dùng trong số trường vừa lòng khi trở thành điều khiển không tồn tại kiểu rời rộc rạc và quan trọng đặc biệt trong những trường hợp chu kỳ lặp băn khoăn trước.

*

Hình 6.9:Lưu đồ cấu tạo của REPEAT .. UNTIL

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

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

Nếu có rất nhiều câu lệnh thì mỗi lệnh ngăn cách nhau bằng dấu chấm phẩy (;)Công bài toán của REPEAT cùng UNTIL không độc nhất thiết bắt buộc dùng lệnh ghép nhằm nhóm tự 2 lệnh 1-1 trở lên thành công 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ố làm việc ví dụ trước 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 quý hiếm 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 cách viết WHILE .. Bởi vì và REPEAT .. UNTIL ta thấy bao gồm sự không giống biệt:

-Trong cấu trúc WHILE .. Vì thì được soát sổ trước, giả dụ 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 mới soát sổ , còn nếu không thỏa thì liên tục thi hành cho tới khi là đúng.

Lệnh REPEAT .. UNTIL thường được thực hiện trong lập trình, độc nhất vô nhị là lúc người sử dụng muốn tiếp tục bài toán nghỉ ngơi trường hợp thay đổi biến mà chưa phải 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 (" liên tiếp tính nữa ko (CK) ? ");

Readln (CK) ;

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

Hướng dẫn lập trình Pascal