1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tìm hiểu về ngôn ngữ lập trình Pascal

78 934 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 78
Dung lượng 392,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Ban đầu, Pascal là một ngụn ngữ được hướng để dựng trong giảng dạy về lậptrỡnh cú cấu trỳc, và nhiều thế hệ sinh viờn đó "vào đời" thụng qua việc học Pascalnhư ngụn ngữ vỡ lũng trong cỏc

Trang 1

Là một ngụn ngữ lập trỡnh cú cỳ phỏp chặt chẽ, đơn giản và dễ hiểu, Pascal được giảng dạy cho sinh viờn tin học ngay năm học đầu tiờn Nú là ngụn ngữ cơ sở

để giới thiệu cho sinh viờn làm quen với kĩ thuật xõy dựng chương trỡnh Ngoài ra,

nú cũn được dựng để trỡnh bày nhiều chuyờn đề khỏc nữa của tin học trong những năm học tiếp theo

Nắm vững cỏc thành phần cơ bản, hiểu rừ cỏc yếu tố cỳ phỏp của ngụn ngữ lập trỡnh Pascal, là rất quan trọng Những vận dụng nú để xõy dựng được cỏc chương trỡnh mới là điều quan trọng nhất Qua kinh nghiệm nhiều lần giảng dạy ngụn ngữ Pascal cho cỏc đối tượng sinh viờn khỏc nhau, cú thể nhận thấy rằng sinh viờn lỳng tỳng nhất ở khõu vận dụng xõy dựng chương trỡnh cụ thể, khụng biết làm thế nào, bắt đầu từ đõu

Xuất phát từ nhu cầu thực tế nh vậy cùng với sự hớng dẫn của thầy Lê Hoàng

Anh em đã nghiên cứu và chọn đề tài “ Tìm hiểu về ngôn ngữ lập trình Pascal ”

làm đề tài trong chuyên đề báo cáo của mình

Giỏo trỡnh này đặt trọng tõm vào trỡnh bày kĩ thuật xõy dựng chương trỡnh song song với việc giới thiệu ngụn ngữ lập trỡnh Pascal Cỏc vớ dụ ứng dụng tổng hợp ở cuối chương được chọn lọc để minh hoạ những vấn đề lớ thuyết trỡnh bày trong chương đú Những vớ dụ ứng dụng này cú liờn quan chặt chẽ với nhau, được phỏt triển hoàn thiện dần một cách cú hệ thống để sinh viờn hiểu rừ cỏc bước xõy dựng chương trỡnh, từ thụ sơ, đơn giản đến hoàn thiện, hiệu quả hơn

Trang 2

Đây là một đề tài mang tính thực tế nhng do thời gian thực tập và kiến thức bảnthân còn hạn chế nên không tránh khỏi những thiếu sót, em mong nhận đợc những ýkiến đóng góp của quý thầy cô và các bạn để báo cáo này đợc hoàn thiện hơn.

Em xin chân thành cảm ơn !

Sinh Viờn Thực Hiện

Nguyễn Thu Lan

b nội dung của đề tài

CHƯƠNG I GiớI THIệU Về NGÔN NGữ PASCAL

i ngôn ngữ pascal

Vào những năm đầu 1970 do nhu cầu học tập của sinh viên và sự phát triển của công nghệ thông tin giáo s Niklaus Writh đã sáng tác một ngôn ngữ lập trình cấp cao cho công tác giảng dạy sinh viên và lấy tên là Pascal để kỷ niệm nhà triết học nổi tiếng Blaise Pascal (ngời Pháp)

Trang 3

Ban đầu, Pascal là một ngụn ngữ được hướng để dựng trong giảng dạy về lậptrỡnh cú cấu trỳc, và nhiều thế hệ sinh viờn đó "vào đời" thụng qua việc học Pascalnhư ngụn ngữ vỡ lũng trong cỏc chương trỡnh học đại cương Nhiều biến thể củaPascal ngày nay vẫn cũn được sử dụng khỏ phổ biến, cả trong giảng dạy lẫn trongcụng nghiệp phỏt triển phần mềm.

Pascal là ngôn ngữ lập trình có những đặc điểm u thế nh: ngữ pháp và ngữ nghĩa

đơn giản, tính logic cao, cấu trúc chơng trình rõ ràng, dẽ hiểu, dễ sửa chữa và cảitiến, cùng với sự phát triển của phần mềm tin học ngời ta nhanh chóng nhận ra sứcmạnh của Pascal trong việc xử lý cho các vấn đề hiện đại của tin học Pascal khônggắn với bất kỳ một hệ điều hành hay máy nào, nó đợc gọi là ngôn ngữ lập trình hệthống vì nó đợc dùng cho viết hệ điều hành, nó cũng tiện lợi cho việc viết các chơngtrình xử lý số, văn bản và các cơ sở dữ liệu,…

Hiện nay các công ty các tổ chức dựa trên chơng trình Pascal chuẩn đã phát triểnthêm và tạo ra các chơng trình dịch Pascal với nhiều bổ sung và giảm thiểu khácnhau nh: TURBO PASCAL, QUICK PASCAL, ANSI PASCAl,…Và TURBOPASCAL là ngôn ngữ có nhiều u thế nhất và trở thành ngôn ngữ lập trình phổ biếnnhất trên thế giới trong lĩnh vực giảng dạy và lập trình chuyên nghiệp, phù hợp vớiyêu cầu ngời dùng trong khoảng thời gian ngắn nó đã phát triển qua nhiều phiênbản 1.0 ; 2.0 ; 3.0; 4.0; 5.0; 5.5; 6.0; 7.0

Các tập tin chính của ngôn ngữ Turbo Pascal gồm:

- Turbo.exe: chơng trình soạn thảo, dịch và liên kết chơng trình

- Turbo.tpl (.tpl - Turbo Pascal Library): tập tin th viện lu các đơn vị chuẩn đểchạy với Turbo.exe

Muốn sử dụng các lệnh đồ họa, phải có các tập tin sau:

- Graph.tpu: Đơn vị chứa các lẹnh đồ họa

- Các tập tin có phần mở rộng CHR (SANS.CHR, TRIP.CHR

GOTH.CHR,.v.v.): Chứa các kiểu chữ trong chế độ đồ họa:

- Các tập tin có phần mở rộng BGI (EGAVGA.BGI, HERC.BGI,CGA.BGI, ) để điều khiển các loại màn hình tơng ứng khi dùng đồ họa

ii sử dụng ngôn ngữ Turbo Pascal 7.0

Trang 4

1 khởi động Turbo Pascal

Ta có thể khởi động ngôn ngữ Pascal từ Windows hoặc MS – DOS chuyển đến

th mục BP hoặc TP và chạy tập tin BP.EXE Hia cách khởi động trên thực hiện

nh sau:

- Khởi động từ dấu nhắc của MS – DOS chuyển đến th mục BP hoặc TP nơichứa tập tin BP.EXE hoặc TURBO.EXE gõ BP hoặc TURBO và nhấn <Enter>

- Khởi động từ Windows: chọn menu Start / Program / Borland Pascal Nếu

ch-ơng trình Pascal cha đợc cài vào menu Start bạn có thể dùng Windows Explorerchuyển đến tập tin BP.EXE hoặc TURBO.EXE và khởi động Pascal bằng cáchchạy tập tin này

2 Các thao tác thờng sử dụng trên Turbo Pascal

Khi ta muốn mở một tập tin đã có hoặc một tập tin mới sử dụng F3, Sau đó

đ-a vào tên và vị trí củđ-a tập tin, nếu tập tin đã tồn tại thì Turbo Pđ-ascđ-al sẽ mở rđ-a, nếucha có thì sẽ mở một tập tin mới

Khi muốn lu tập tin dùng phím F2 Trớc khi thoát nên lu tập tin lại, nếu cha

l-u chơng trình sẽ hỏi nếl-u ta chọn Yes thì chơng trình sẽ ll-u lại và No là thoát màkhông lu

Một số phím thông dụng của Turbo Pascal:

Enter Đa con trỏ xuống dòng

ố Left Đa con trỏ qua trái một kí tự

Right Đa con trỏ qua phải một kí tự

Pg Down Pg Down Xuống một trang màn hình

Del Delete Xóa ký tự tại vị trí con trỏ

Back BackSpace Xóa ký tự trớc con trỏ

Insert Insert Thay đổi chế độ viết xen hay viết chồng

F4 F4 Thực thi chơng trình đến dòng chứa con trỏ

Trang 5

Tæ hîp Ctrl + Y Xãa mét dßng t¹i con trá

Tæ hîp Ctrl + K + B §¸nh dÊu ®Çu khèi

Tæ hîp Ctrl + K + K §¸nh dÊu cuèi khèi

ModNilNot

ShrStringThen

Trang 6

ObjectOfOrPackedProcedureProgramRecordRepeatSetShl

ToTypeUnitUntilUsesVarVirtualWhileWithXor

- 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

Trang 7

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

3 Danh hiệu tự đặt

Trong Pascal để đặt tên cho các biến, hằng, kiểu, chương trình con 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ố hay là dấu nối, không được có khoảng trắng và

độ dài tối đa cho phép là 127

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

Trang 8

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

Ví dụ : aa và AA là một; XyZ_aBc và xyZ_AbC là một Khi viết chương trình ta nên đặt các danh hiệu sao cho chúng nói lên các ý nghĩa của đối tượng mà chúng biểu thị Điều này giúp chúng ta viết chương trình

dễ dàng và người khác cũng dễ hiểu nội dung chương trình

IV CÁC KIỂU DỮ LIỆU CƠ SỞ: INTEGER, REAL, BOOLEAN, CHAR

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

- Kiểu đơn giản (Simple type): bao gồm kiểu số nguyên (Integer), kiểu số

thực (Real), kiểu logic (Boolean), kiểu ký tự (Char).

- Kiểu có cấu trúc (Structure type): bao gồm mảng (Array), chuỗi (String),

bản ghi (Record), tập hợp (Set), tập tin (File).

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

chúng ta chỉ xét các kiểu dữ liệu đơn giản

1 Kiểu số nguyên (Integer type)

a Kiểu số nguyên thuộc Z chứa trong Turbo Pascal

Được định nghĩa với các từ khóa sau:

Trang 9

ODD (n) TRUE nếu n lẻ

và FALSE nếu n chẵn

Trang 10

2 Kiểu số thực (Real type)

Ở Turbo Pascal, kiểu số thực thuộc tập hợp R chứa trong 6 bytes, được định nghĩa 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 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 có phần mũ và phần định trị

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

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

ABS (x) |x| : lấy giá trị tuyệt đối của số x

SQR (x) x2 : lấy bình phương trị số x

SQRT(x) : lấy căn bậc 2 của trị số x

SIN(x) sin (x) : lấy sin của x

COS (x) cos (x) : lấy cos của x

LN (x) ln x : lấy logarit nepe của trị x (e » 2.71828)

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 giá trị của x, lấy số nguyên gần x nhất

3 Kiểu logic (Boolean)

Một dữ liệu thuộc kiểu BOOLEAN là một đại lượng được chứa trong 1 byte

ở Turbo Pascal và chỉ có thể nhận được một trong hai gía trị logic là TRUE (đúng) và FALSE (sai)

Trang 11

Qui ước: TRUE > FALSE

Các phép toán trên kiểu Boolean:

FALSE FALSE TRUE FALSE FALSE FALSE

Nhận xét:

· Phép AND (và) chỉ cho kết quả là TRUE khi cả 2 toán hạng là TRUE

· Phép OR (hoặc) chỉ cho kết quả là FALSE khi cả 2 toán hạng là FALSE

· Phép XOR (hoặc triệt tiêu) luôn cho kết quả là TRUE khi cả 2 toán hạng là khác nhau và ngược lại

Các phép toán quan hệ cho kết quả kiểu Boolean:

< > khác nhau

Trang 12

4 Kiểu ký tự (Char type)

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

Một ký tự được viết trong hai dấu nháy đơn ( ‘ ‘ ) Để tiện trao đổi thông tin cần phải sắp xếp, đánh số các ký tự, mỗi cách sắp xếp như vậy gọi là bảng mã Bảng

mã thông dụng hiện nay là bảng mã ASCII (xem lại chương 3)

Để thực hiện các phép toán số học và so sánh, ta dựa vào giá trị số thứ tự mã ASCIIcủa từng ký tự, chẳng hạn: 'A' < 'a' vì số thứ tự mã ASCII tương ứng là 65 và 97.Trong Turbo Pascal mỗi ký tự được chứa trong 1 byte

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

Trang 13

KÝ HIỆU Ý NGHĨA

ORD(x) Cho số thứ tự của ký tự x trong bảng mã

CHR(n) hay #n Cho ký tự có số thứ tự là n

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

SUCC(x) Cho ký tự đứng sau x

V CẤU TRÚC MỘT CHƯƠNG TRÌNH PASCAL

CÊu tróc mét ch¬ng tr×nh Pascal nh sau:

PROGRAM Tên_Chương_Trình; ® (*Tiêu đề*)

USES ® (*Phần khai báo: đơn vị chương

Trang 14

END ® (*Kết thúc chương trình*)

Ví dụ :

PROGRAM Xin chµo; { Dòng tiêu đề }

USES Crt; { Lời gọi sử dụng các đơn vị chương trình } VAR Name : string; { Khai báo biến }

PROCEDURE Input; { Có thể có nhiều Procedure và Function

Writeln ( ‘Welcome to you, ‘, Name) ;

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

Readln;

END

Trang 15

Một chương trỡnh Pascal cú cỏc phần:

+ Phần tiờu đề:

Phần này bắt đầu bằng từ khúa Program rồi tiếp đến là tờn của

chương trỡnh và chấm dứt bằng dấu chấm phẩy (;)

Tờn chương trỡnh phải được đặt theo đỳ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 phải khai bỏo biến đú, nghĩa là xỏc định

rừ xem biến đú thuộc kiểu dữ liệu nào Một chương trỡnh Pascal 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ĩa kiể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 nhúm lệnh được đặt tờn chung là một chương trỡnh con

để khi thõn chương trỡnh chớnh gọi đến thỡ cả nhúm lệnh đú được thi hành.Phần này cú thể cú hoặc khụng tựy theo nhu cầu

Trang 16

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

Phần thân chương trình là phần quan trọng 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 và END Ở giữa là lệnh mà các chương trình chính cần thực hiện Sau từ khóa END là dấu chấm (.) để báo kết thúc chương trình

VI CÁC KHAI BÁO HẰNG, BIẾN, KIỂU, BIỂU THỨC,

Trang 17

Sự truy xuất của biến nghĩa là đọc giá trị hay thay đổi giá trị của biếnđược thực hiện thông qua tên biến.

Trang 19

Diem = Real;

Tuoi = 1 100 ;

Color = (Red, Blue, Green) ;

Thu = (Sun, Mon, Tue, Wed, Thu, Fri, Sat) ;

và khi đã khai báo kiểu gì thì ta có quyền sử dụng để khai báo biến như ở ví

Trang 20

b Thứ tự ưu tiên

Khi tính giá trị của một biểu thức, ngôn ngữ Pascal qui ước thứ tự ưu tiên của các phép toán từ cao đế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 ( )

c Qui ước tính thứ tự ưu tiên

Khi tính một biểu thức có 3 qui tắc về thứ 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ẽ được tính trước.

Qui tắc 2 : Trong các phép toán có cùng thứ tự ưu tiên thì sự tính toán sẽ được

thực hiện từ trái sang phải

Qui tắc 3 : Phần trong ngoặc từ trong ra ngoài được tính toán để trở thành một

giá trị đơn

Trang 21

d Kiểu của biểu thức

Là kiểu của kết quả sau khi tính biểu thức

Ví dụ : Biểu thức sau được gọi là biểu thức Boolean:

not ( ( 'a'>'c' ) and ( 'c'>'C' ) ) or ( 'B'='b' ) có giá trị TRUE

Trang 22

ch¬ng ii C©u lÖnh vµ c¸c thñ tôc xuÊt nhËp

i c©u lÖnh

Trong một chương trình Pascal, sau phần mô tả dữ liệu là phần mô tả các câulệnh Các câu lệnh có nhiệm vụ xác định các công việc mà máy tính phải thực hiện để xử lý các dữ liệu đã được mô tả và khai báo

Câu lệnh được chia thành câu lệnh đơn giản và câu lệnh có cấu trúc

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

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

+ Ra dữ liệu : Write, Writeln

Trang 24

- Lưu trữ các giá trị khác nhau 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ớ nào đó, cho đến khi đạt được giá trị cần tìm

2 Lệnh ghép (Compound statement)

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

Trang 25

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

<Công việc> của các lệnh có cấu trúc , ta có thể gặp khái niệm này trong

nhiều ví dụ ở các phần sau

3 Cấu trúc rẽ nhánh

a Lệnh IF THEN và Lệnh IF THEN ELSE

Trang 26

* Lưu đồ diễn tả các lệnh và ý nghĩa cáchviết:

IF <Điều kiện> THEN <Công việc> ;

Nếu điều kiện này đúng, thì máy sẽ thực hiện Công việc rồi tiếp tục thực hiện lệnh tiếp theo

Hình : Lệnh IF <Điều kiện> THEN <Công việc>;

Trang 27

Nếu điều kiện này đúng, thì máy sẽ thực hiện Công việc rồi tiếp tục thực hiện lệnhtiếp theo.

Ngược lại, nếu điều kiện này sai, máy sẽ bỏ qua công việc và đi đến thực hiện lệnh tiếp theo

IF < Điều kiện > THEN <Công việc 1> ELSE <Công việc 2>;

Nếu điều kiện này đúng, máy thực hiện Công việc 1 (không thực hiện công việc 2) rồi đến lệnh tiếp theo

Ngược lại, nếu điều kiện sai, máy sẽ thực hiện Công việc 2 (không thực hiệncông việc 1) rồi đến lệnh tiếp theo

Chú ý:

- Điều kiện là một biểu thức Boolean

- Nếu <Công việc>sau THEN hoặc ELSE có nhiều hơn một lệnh thì

ta phải gói lại trong BEGIN END;

- Toàn bộ lệnh IF THEN ELSE xem như 1 lệnh đơn

Trang 28

Trong chương trình trên, a ta thấy 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ỗ và n là khoảng cho số trị phần thập phân của a

Ví dụ: Giải và biện luận hệ phương trình:

q ny mx

Với x,y là ẩn số; m,n,o,p,q,s: nhập từ bàn phím

Gợi ý:

{khai báo các biến}

Trang 29

CASE <Biểu thức > OF Xét giá trị của biểu thức chọn

GT1 : Công việc 1 ; Nếu có giá trị 1 (GT1) thì thi hành Công việc 1

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

Trang 30

ELSE Công việc 0 ; Nếu không có giá trị nào thỏa thì thực hiện

Công việc 0

END;

Ghi chú:

- Lệnh CASE OF có thể không có ELSE

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

- Nếu muốn ứng với 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ị đó có thể viết trên cùng một hàng cách nhau bởi dấu phẩy (,) : Giá trị k1, k2, , kp : Lệnh k ;

‘R' , ‘r' : write ( ‘ RED = màu đỏ ‘) ;

‘W', ‘w' : write ( ‘ WHITE = màu trắng ‘) ;

Trang 31

‘B' , ‘b' : write ( ‘ BLUE = màu xanh dương ‘) ; END ;

Trang 32

* Ý nghĩa lưu đồ:

Đầu tiên kiểm tra trị đầu nhỏ hơn hoặc bằng trị cuối không? Nếu:

+ Sai, kết thúc lệnh

+ Đúng, thì thực hiện công việc, sau đó kiểm tra biến đếm có còn nhỏ hơn

trị cuối không? Nếu đúng, thì tăng biến đếm lên 1 và cứ lặp cho đến khi biến đếm

không còn nhỏ hơn hoặc bằng trị cuối nữa thì thoát khỏi vòng lặp và kết thúc lệnh

Chú ý: Trị đầu, trị cuối là các biến hoặc hằng và biến đếm phải là kiểu rời rạc

Ví dụ : Chương trình in một dãy số từ 0 đến 9

PROGRAM Day_So ;

Trang 33

Trong khi mà điều kiện còn đúng thì cứ thực hiện Công việc, rồi quay 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 đặt ra không còn đúng nữa thì đi tới thực hiện lệnh tiếp theo

WHILE <điều kiện> DO <Công việc>

Ghi chú:

· Điều kiện trong cấu trúc lặp WHILE DO là một biểu thức logic kiểu

Boolean chỉ có 2 giá trị 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 trúc 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 logic của điều kiện là Đúng hay Sai thì chương trình sẽ thực hiện Công việc tương ứng

· Nếu Sai thì chuyển xuống dưới cấu trúc WHILE DO

Trang 35

average := sum/n ;

Writeln ( ‘ Trung bình là = ‘ , average : 10 : 3 ) ;

Writeln ( ‘ Nhấn Enter để thoát ‘) ;

UNTIL <Điều kiện thoát>

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

REPEAT

<Công việc>;

Trang 36

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

Nếu điều kiện logic là Sai (False) thì lặp lại lệnh cho đến khi điều kiện Đúng thì

mới thoát ra khỏi cấu trúc REPEAT UNTIL

Nếu có 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 việc của REPEAT và UNTIL không nhất thiết phải dùng lệnh ghép để nhóm từ 2 lệnh đơn trở lên thành công việc

Hình : Sơ đồ cú pháp REPEAT UNTIL

Ví dụ : Với bài toán trung bình cộng một dãy số ở ví dụ trước có thể viết theo cấu trúc REPEAT UNTIL như sau:

Trang 37

Trong cấu trúc WHILE DO thì <Điều kiện> được kiểm tra trước, nếu thỏa

<Điều kiện> thì mới thực hiện <Công việc>

Ngược lại, trong cấu trúc REPEAT UNTIL thì <Công việc> sẽ được thực thi trước sau đó mới kiểm tra <Điều kiện>, nếu không thỏa <Điều kiện> thì tiếp tục thihành <Công việc> cho đến khi <Điều kiện> là đúng

Trang 38

Lệnh REPEAT UNTIL thường được sử dụng trong lập trình, nhất là lúc người sử dụng muốn tiếp tục bài toán ở trường hợp thay đổi biến mà không phải trở

Writeln ( ‘ Tích số của a x b là : ‘, a*b : 10 ) ;

Writeln ( ‘ Tiếp tục tính nữa không (CK) ? ‘ );

Readln (CK) ;

UNTIL upcase(CK) = ‘K'; {hàm chuyển đổi ký tự trong biến}

{CK thành ký tự in hoa}

END.

Trang 39

iii Ch¬ng tr×nh con hµm vµ thñ tôc

Khi lập trình, có những đoạn chương trình cần dùng nhiều lần Để tránh viết lại đoạn này, ta nên chuyÓn đoạn chương trình này thành một chương trình con và mçi lÇn cÇn thực hiện công việc đó thì ta gọi nó thông qua tên

Chương trình con còn để mẫu hóa một chương trình làm công việc nào đó Người khác dùng chương trình con chỉ cần biết truyền số liệu vào và lấy kết quả ra như thế nào mà không cần phải quan tâm đến thuật toán trong chương trình con như thế nào

Khi viết những chương trình lớn, để dễ dàng quản lý, gỡ rối và hiệu chỉnh chương trình, ta nên phân chương trình thành nhiều công việc độc lập, mỗi công việc là một chương trình con Chương trình con gồm hai loại là Hàm (Function) và Thủ tục (procedure)

Ngày đăng: 14/04/2015, 09:16

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w