1. Trang chủ
  2. » Cao đẳng - Đại học

Giao trinh Pascal Ninh Hoa

32 6 0

Đ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 32
Dung lượng 1,53 MB

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

Nội dung

Trong thủ tục, các tham số giá trị thường là các biến để chứa dữ liệu đưa vào thủ tục; các tham số biến là các biến mà kết quả tính toán của thủ tục sẽ chứa vào đó khi ra khỏi thủ tục, t[r]

Trang 1

NHỮNG ĐIỀU LƯU Ý

1 Cần ý thức được điều này: Máy tính làm tính toán rất nhanh, nhưng chỉ

làm được một số phép toán đơn giản Con người tính toán chậm hơn nhiều

so với máy tính nhưng biết cách giải một bài toán phức tạp bằng cách kết hợp nhiều bài toán đơn giản Vậy, muốn lập trình giải được một bài toán phức tạp được nhanh con người phải suy nghĩ để hướng dẫn cho máy tính giải một chuổi các bài toán đơn giản

Ví dụ: Máy tính biết phép tính cộng, phép chia và làm rất nhanh, nhưng

không biết tính trung bình cộng 3 số là làm thế nào Để làm được điều này con người phải hướng dẫn cho máy tính là lấy tổng 3 số chia cho 3 Và để cho máy tính hiểu con người không phải nói “lấy tổng 3 số chia cho 3” mà phải viết bằng chương trình được qui định sẵn Ngôn ngữ lập trình pascal qui định viết chương trình như thế nào? khi học em sẽ biết điều này

Mỗi chương trình mà em viết được có thể xem là một phần mềm tí hon.

2 Khi viết chương trình cần đi theo các bước sau:

1 Phân tích bài toán: Dữ liệu vào là gì? Dữ liệu ra là gì? Dữ liệu

nhập vào có kiểm tra hay không?

2 Tính toán như thế nào? Dùng thuật toán gì?

3 Viết sơ đồ thuật toán, các bước đi, phép toán ra giấy nháp

4 Có cách làm nào khác tối ưu hơn hay không?

5 Viết chương trình vào máy tính

6 Kiểm tra lại chính tả, duyệt lại chương trình bằng suy nghĩ của

mình.

7 Chạy chương trình, thử nghiệm với dữ liệu nhỏ sau đó là các dữ

liệu có giá trị đặc biệt, rồi đến bộ dữ liệu lớn hơn.

8 Cải tiến lại chương trình Chú ý lưu giữ chương trình cũ trước

khi cải tiến.

9 Lưu giữ chương trình đúng qui cách, bảo đảm sau này chương

trình có thể chạy lại như lần đã thử nghiệm thành công nhất Những chi tiết cuối cùng vừa cải tiến nhưng không thành công, phải loại bỏ khỏi chương trình.

Học thuộc lòng tất cả nội dung trên!

Trang 2

CHƯƠNG I NHỮNG KIẾN THỨC CƠ BẢN

Là các phần mềm mà nhờ đó các kỹ thuật viên mô phỏng lại các thao tác trên ngôn ngữ

đó thông qua các qui tắc qui ước mà ngôn ngữ đề ra Ngôn ngữ lập trình có chức năng chuyểntoàn bộ chương trình sang mã máy để máy tính có thể thực hiện và đưa ra kết quả

2 Bài toán tin học và cách giải quyết

a Bài toán tin học là gì?

Bài toán trong Tin học không dùng để chỉ một bài toán cụ thể, mà chỉ một lớp các bàitoán cụ thể thuộc cùng một loại Một bài toán tin học được cấu tạo bởi hai yếu tố sau:

+ Thông tin vào (Input): Là các thông tin ta có

+ Thông tin ra (Output): Là các thông tin cần tìm hoặc câu trả lời cần thiết

Ví dụ: Để giải bài toán tính diện tích tam giác bằng công thức S=a*h/2.

+ Thông tin vào: Là cạnh đáy a và đường cao h

+ Thông tin ra : Là diện tích tam giác S hoặc là dòng thông báo dữ liệu không hợp lệ

b Thuật toán (algorithm)

Thuật toán là một quá trình gồm một dãy hữu hạn các thao tác đơn giản được sắp xếptheo một trình tự xác định sao cho theo đó từ Input của bài toán ta sẽ tìm được Output hoặckhẳng định không có Output như bài toán đòi hỏi Chỉ những quá trình như vậy mới có khả năngchuyển giao máy tính thực hiện được

Ví dụ: Trở lại bài toán tính diện tích tam giác, thuật toán như sau:

+ Bước 1: Cho giá trị của cạnh đáy a và đường cao h

+ Bước 2: Kiểm tra

- Nếu a>0 và h>0 thì đi tính diện tích theo công thức S=a*h/2 và xuống bước 3

- Ngược lại thông báo dữ liệu không hợp lệ và quay về bước 1 + Bước 3: In diện tích S

c Mô tả thuật toán qua sơ đồ

Để mô tả một cách trực quan hơn về thuật toán người ta dùng sơ đồ khối Qua sơ đồ khốingười lập trình có thể quan sát các bước của thuật toán cũng như dòng thông tin hình thành vàbiến đổi trong quá trình thuật toán làm việc

Việc thể hiện thuật toán người ta qui ước dùng các khối sau để thể hiện.

- Thể hiện sự bắt đầu và kết thúc chương trình

- Thể hiện việc nhập, xuất dữ liệu

- Chứa các công thức, câu lệnh tính toán

- Chứa các biểu thức điều kiện, và để rẽ nhánh chươngtrình

- Dùng để gọi chương trình conDẫn hướng chương trình và nối các khối trong thuậttoán với nhau

3 Cấu trúc của một chương trình pascal

Một chương trình Pascal bao gồm các thành phần sau:

Trang 3

Phần 1: Tên chương trình

Luôn bắt đầu bởi từ khoá Program

PROGRAM Tên_chương_trinh;

Phần 2: Khai báo

USES Tên_các_Unit; {Khai báo thư viện dùng trong chương trình}

CONST Các hằng;{Khai báo hằng sử dụng trong chương trình}

TYPE Các_kiểu_dữ_liêu_mới;{Khai báo kiểu dữ liệu mới}

VAR Các_biến;{Dùng để khai báo biến sử dụng trong chương trình}

PROCEDURE Các_thủ_tục;{Khai báo các thủ tục}

FUNCTION Các_hàm; {Khai báo các hàm}

Phần 3: Thân chương trình

BEGIN {Bắt đầu chương trình}

{ Các câu lệnh }END {Kết thúc chương trình}

Ví dụ: Trở lại bài toán tính diện tích tam giác, chương trình được viết như sau:

Write(‘Nhap canh day:’);Readln(a);

Write(‘Nhap chieu cao:’);Readln(h);

4 Các bước soạn thảo và chạy một chương trình Pascal cơ bản

Bước 1: Khởi động Pascal

Tệp để chạy chương trình Pascal là tệp TURBO.EXE Muốn khởi động Pascal ta phảichạy tệp này

Bước 2: Soạn thảo chương trình

Sau khi chương trình Pascal khởi động, ta tiến hành soạn thảo chương trình theo cấu trúcnhư phần 3 Sau khi soạn thảo xong ta ấn phím F2 để ghi văn bản chương trình vào máy

Nếu muốn mở chương trình đã có trong máy ta dùng phím F3

Bước 3: Biên dịch và chạy chương trình

Khi hoàn tất chương trình ta ấn phím F9 để dịch chương trình, Pascal sẽ thông báo cho tanhững lỗi cú pháp nếu trong chương trình có, tiến hành sửa chữa các lỗi cho chương trình hoànchỉnh

Khi chương trình đã được biên dịch xong ta ấn tổ hợp phím CTRL + F9 để chạy chươngtrình

Bước 4: Thoát khỏi Pascal

Để thoát khỏi Pascal ta ấn tổ hợp phím ALT + X

Kiến thức cần nắm vững: (học thuộc lòng và vận dụng được)

- c Mô tả thuật toán qua sơ đồ

- 3 Cấu trúc của một chương trình pascal

- 4 Các bước soạn thảo và chạy một chương trình Pascal cơ bản

Bài tập:

Trang 4

CHƯƠNG II CÁC KHÁI NIỆM CƠ BẢN

I Một số qui ước trong ngôn ngữ

1 Bộ kí tự

Turbo Pascal được xây dựng với bộ kí tự sau:

- Các chữ cái: 26 chữ cái hoa (A,B, ,Z)

26 chữ thường (a,b, z)

- Các chữ số thập phân: 0,1,2,3,4,5,6,7,8,9

- Các dấu toán học thông dụng: + - * / > >= < <= = ( )

- Dấu gạch nối _

- Các kí hiệu đặc biệt: ; {} [ ] : % & @ $ # ^ ! ‘ “ ?

2 Từ khoá (Key word)

Từ khoá là các từ dành riêng cho Turbo Pascal, mỗi từ có một chức năng nhất định Khi

sử dụng phải dùng đúng với cú pháp

Một số từ khoá:

3 Tên hay danh hiệu (Indentifier)

Tên là một dãy kí tự được tạo thành từ các chữ cái, chữ số và dấu gạch nối Tên thườngdùng để đặt tên cho các đại lượng trong chương trình như tên biến, hằng, tên kiểu dữ liệu mớivv

Kí tự đầu tiên của tên không được là chữ số.Tên có độ dài tuỳ ý nhưng chỉ có 63 kí tự đầutiên là có ý nghĩa, tên không được trùng với tên của từ khoá

* Tên chuẩn: là tên do Turbo Pascal định nghĩa trước dùng chỉ các hàm, hằng, biến, thủtục thư viện của turbo Pascal

* Tên do người lập trình đặt: Đặt tuỳ ý nhưng phải tuân thủ theo nguyên tắc của Pascalnhư tên biến, tên chương trình, tên kiểu dữ liệu mới

4 Dòng chú thích

Trong quá trình soạn thảo chương trình để làm sáng tỏ những đoạn chương trình, nhữngdòng lệnh cụ thể hoặc một công việc nào đó, người lập trình thường đưa thêm vào chương trìnhdòng chú thích, lời giải thích để là sáng tỏ vấn đề cần nêu Dòng chú thích được đặt trong hai dấungoặc sau {}

Ví dụ: PROGRAM TG; {Khai báo tên chương trình tính diện tích tam giác}

5 Dấu chấm phẩy

Dấu chấm phẩy “ ; ” thường nằm sau các câu lệnh nhằm ngăn cách giữa các câu lệnh vớinhau, không nên hiểu dấu “ ; ” dùng để kết thúc một câu lệnh

II Các kiểu dữ liệu

1 Kiểu logic (Boolean)

- Chỉ có hai giá trị: TRUE (đúng), FALSE (sai)

- Quy ước: FALSE < TRUE

- Các phép toán: AND, OR, XOR, NOT

- Tác dụng của các phép toán thể hiện qua bảng:

Trong đó P và Q là hai giá trị kiểu Boolean

2 Kiểu số nguyên

- Có năm kiểu số nguyên được tổng kết qua bảng sau:

Trang 5

Tên Miền giá trị Yêu cầu bộ nhớ

Ví dụ: 5/2=2.50

5 DIV 2=2

5 MOD 2=1

Chú ý:

- Khi viết các số nguyên phải tuân theo các quy định: không có khoảng trống giữa các

số, dấu + hay - (nếu có) phải đặt ngay trướcchữ số đầu tiên, không được sử dụng dấu chấm thậpphân

- Khi thực hiện các phép tính trên số nguyên, phải hết sức thận trọng xem các phép toán

đó có cho kết quả vượt quá phạm vi biểu diễn của số nguyên hay không Ví dụ khai báo a, b là

dữ liệu kiểu Integer Khi đó hai câu lệnh sau:

a:=80;

b:=(a*1245)Div 200;

cho kết quả sai vì a*1245 = 99600 vượt quá phạm vi của Integer

3 Kiểu số thực

- Có năm kiểu số thực, được tổng kết qua bảng sau:

Các giá trị thực được biểu diễn theo hai cách: dạng dấu phẩy tĩnh và dạng dấu phẩy động

- Cách viết số thực theo dạng dấu phẩy tĩnh: viết dạng thập phân bình thường

Ví dụ: 2.25, 5.0, -25.56812, 0.0256

- Cách viết số thực theo dạng dấu phẩy động: số được tách thành hai phần là định trị vàbậc Phần định trị là một số nguyên hay số thực viết dưới dạng dấu phẩy tĩnh Phần bậc là một sốnguyên Hai phần cách nhau bởi chữ E hay e

Ví dụ:

123.456E-4 : biểu diễn số 0.01234560.12E+5 : biểu diễn số 12000.0-52.4e2 : biểu diễn số –5240.0Các ký tự biểu diễn một số thực phải viết liền nhau

- Các phép toán đối với số thực: + (cộng), - (trừ), * (nhân), / (chia) Không tồn tại các

phép toán DIV, MOD cho kiểu số thực.

Trang 6

- Để biểu diễn 1 ký tự có thể dùng 1 trong 3 cách: Đặt ký tự trong 2 dấu nháy đơn, dùnghàm Chr(n), dùng #n( trong đó n là mã của ký tự cần biểu diễn).

Ví dụ: Để biểu diễn ký tự A ta có thể dùng 3 cách: ‘A’, Chr(65), #65

- Kiểu ký tự chỉ có phép toán so sánh, sự so sánh dựa vào mã của ký tự

Ví dụ: ‘A’ < ’a’ (vì 65 < 97)

- Hàm Upcase(ch): cho ra ký tự hoa tương ứng với ký tự ch.

Ví dụ: Upcase(‘a’) = ‘A’ và Upcase(‘B’)= ‘B’

5 Kiểu xâu kí tự (String)

Một giá trị kiểu String là một ký tự bất kỳ đặt trong 2 dầu nháy đơn Số ký tự của dãykhông quá 255 ký tự Xâu không có ký tự nào gọi là xâu rỗng

Ví dụ: ‘Ho va Ten’ là xâu gồm 9 ký tự

Chúng ta sử dụng các hằng để chương trình được rõ ràng và dễ sửa đổi

2 Khai báo biến

Biến (variable) là đại lượng mà trị của nó có thể thay đổi khi thực hiện chương trình.Biến là tên của một vùng bộ nhớ lưu trữ dữ liệu, mỗi biến phải thuộc về một kiểu dữ liệu nhấtđịnh Vùng bộ nhớ của biến kiểu Integer chỉ chứa được các giá trị Integer

Biến được khai báo bằng từ khoá VAR như sau:

VAR

Tên biến: Kiểu dữ liệu của biến;

Nhiều biến có cùng kiểu có thể được khai báo cùng nhau bằng cách viết tên các biến đặtcách nhau dấu phẩy

- Biến String khai báo tối đa là: String[255] Một biến String được cấp một số byte bằng

độ dài của nó cộng thêm 1 Byte đầu tiên dùng để ghi số ký tự đang được lưu trữ, mỗi byte cònlại chứa một ký tự

- Có thể vừa khai báo vừa khởi đầu (gán giá trị) cho các biến theo cách sau:

Trang 7

Một biểu thức được tạo bởi các phép toán và các toán hạng dùng để thể hiện một côngthức toán học Toán hạng có thể là hằng, hàm, biến.

Ví dụ: Sau khi có khai báo:

Const Max = 120;

Var x: Integer;

Ta có thể viết biểu thức sau: 5+ Max * Exp(x);

trong đó + và * là hai phép toán, các hằng số 5, Max, Exp(x) là các toán hạng

Chú ý: Một hằng, một biến, một hàm cũng được xem là biểu thức, đó là biểu thức đơn

giản

Các phép toán trong biểu thức được sắp xếp theo thứ tự ưu tiên sau:

- Các phép toán một ngôi được ưu tiên thứ nhất: dấu dương (+), dấu âm (-), phép phủ định(not)

- Các phép toán nhân chia: phép nhân (*), phép chia (/), lấy phần nguyên (div), lấy phần

dư (mod), phép và (and)

4 Câu lệnh

Dưới phần khai báo dữ liệu là phần lệnh của chương trình Phần này xác định các công việc

mà chương trình phải thực hiện để xử lý các dữ liệu đã được khai báo Câu lệnh được chia ra làm hailoại:

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

Lệnh gán ( := )Lệnh Nhập – Xuất ( READ, WRITE )

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

Lệnh ghép ( BEGIN… END )Lệnh lựa chọn (IF, CASE)Lệnh lặp (FOR, REPEAT, WHILE)

5 Câu lệnh gán

Lệnh gán dùng để gán giá trị của một biểu thức cho một biến Lệnh gán có dạng:

Biến:= biểu thức;

Sự thực hiện: đầu tiên máy tính trị của biểu thức vế phải sau đó nó gán giá trị tính

được cho biến ở vế trái.

Trang 8

Kết quả trên màn hình sau khi chạy chương trình:

Day la ket qua cua phep nhan A voi B: 8 ******

Cách viết không quy cách sẽ căn lề theo bên trái

- Số nguyên được viết ra với số chỗ đúng bằng số chữ số gán vào, kể từ vị trí bên trái.Lệnh {1} in ra: 123

- Số thực được viết ra với trình tự sau: một dấu cách, một số phần nguyên, dấu chấm, 10chỗ phần thập phân, chữ E, dấu của phần mũ, hai số biểu diễn giá trị phần mũ Các lệnh {2},{3},{4} in ra các số 1.2345600000E+02, 3.1400000000E+00, 5.0000000000E+01

- Kiểu ký tự in bình thường, một ký tự chiếm một chỗ Lệnh {5} in ra: D

- Kiểu Boolean được viết ra từ TRUE hay FALSE Lệnh {6} in ra: TRUE

- Lệnh {7}: chuông kêu

b) Ví dụ về dạng viết có quy cách

Trang 9

- Trong lệnh in một số thực Write(Z:m:n) nếu m<n thì số thực Z được in với n số lẻ, còn

số chỗ trên màn hình thì tuỳ vào độ dài của số Z, máy sẽ dành đủ chỗ để in số Z Lệnh {9} sẽ inra: 543621.34 Trong trường hợp m > n , nếu độ dài của số lớn hơn m thì số bị cắt

Chú ý: Vì dấu ‘ được dùng để đánh dấu ký tự, do đó khi muốn viết nó ta viết hai lần dấu

‘ Ví dụ: Write(‘ Dung quen toi!’);

Sẽ cho kết qua trên màn hình:

Dung quen toi!

- Dữ liệu gõ vào từ bàn phím tương ứng với biến 1, biến 2,…., biến thứ n và được táchriêng bằng một hay vài dấu cách Sau khi dữ liệu được vào ta ấn phím Enter để máy thực hiệnlệnh Các dữ liệu vào phải phù hợp với kiểu tương ứng

8 Một số hàm cơ bản trong Turbo Pascal

SQRT(x): Hàm căn bậc hai của x

SQR(x): Hàm bình phương của một số nguyên hay thực

ABS(x): Hàm trị tuyệt đối của x

TRUNC(x): Cắt bỏ phần lẻ thập phân của x nếu có

Trang 11

CHƯƠNG III CẤU TRÚC ĐIỀU KIỆN

I Câu lệnh ghép

Lệnh ghép là một nhóm lệnh được đặt giữa hai từ khoá BEGIN và END; nhằm thực hiệnmột công việc cơ bản nào đó Lệnh ghép thường xuất hiện trong các cấu trúc chương trình nhưcâu lệnh điều kiện, cấu trúc lặp Khi thực hiện kệnh ghép thực hiện tuần tự từng câu lệnh mộttheo thứ tự từ trên xuống

II Câu lệnh điều kiện IF THEN

a Câu lệnh điều kiện có hai dạng như sau:

Câu lệnh điều kiện thiếu:

IF <Điều kiện logic> THEN

<Công việc>;

Câu lệnh điều kiện đủ:

IF <Điều kiện logic> THEN

<Công việc1>

ELSE <Công việc 2>;

b Hoạt động:

Khi gặp lệnh này chương trình sẽ đi kiểm tra điều kiện logic, nếu điều kiện logic là đúng sẽ

đi thực hiện <công việc 1> và bỏ qua <công việc 2>, nếu sai sẽ đi thực hiện <công việc 2> và bỏqua <công việc 1> Trong đó <công việc1>, <công việc 2> có thể là một câu lệnh ghép

c Sơ đồ thuật toán cho câu lệnh điều kiện đủ:

d Một số ví dụ

Ví dụ 1: Viết chương trình giải và biện luận phương trình bậc nhất ax+b=0

Bước 1: Phân tích bài toán

Để giả được phương trinh bậc nhất một ẩn trước hết ta cần những thông tin sau:

Trang 12

+ Ngược lại nếu a<>0 thì phương trình có nghiệm x=-b/aBước 2: Sơ đồ thuật toán

Write('Nhap vao he so a=');Readln(a);

Write('Nhap vao he so b=');Readln(b);

IF a=0 THEN

IF b=0 THEN

Writeln('Phuong trinh vo so nghiem')

ELSE Writeln('Phuong trinh vo nghiem)

ELSE Writeln('Phuong trinh co nghiem x=',-b/a:6:2);

IF Max<b then max:=b;

IF Max<c then max:=c;

Writeln('So lon nhat trong ba so la:',max:6:2);

PT có nghiệm -b/a

S

S Đ

Đ

PT vô số nghiệm

Trang 13

<công việc n+1>, trong trường hợp không có ELSE thì chương trình thoát khỏi cấu trúc này và

đi thực hiện các công việc tiếp theo sau cấu trúc

Ví dụ 2: Viết chương trình nhập vào một điểm kiểm tra của một học sinh từ bàn phím

(điểm là số nguyên từ 0 đến 10), in ra màn hình kết quả xếp loại của học sinh đó

5,6:Writeln('Ban xep loai trung binh');

7,8:Writeln('Ban xep loai kha');

9,10:Writeln('Ban xep loai gioi');

end;

Readln;

End

Trang 14

BÀI TẬP 11- Lập trình giải phương trình bậc hai ax2 + bx +c = 0 với a, b, c nhập từ bàn phím

12- Tính số ngày của tháng, năm bất kỳ cho trước theo thuật giải :

- Nếu là tháng 4,6,9,11 thì số ngày là 30

- Nếu là tháng 1,3,5,7,8,10,12 thì số ngày là 31

- Nếu là tháng 2

+ Nếu số năm chia hết cho 4 thì tháng 2 có 29 ngày, còn lại tháng 2 có 28 ngày

13: Cho ba số thực a,b,c Kiểm tra xem bất đẳng thức sau xem có đúng không ?

a < b <c

Trang 15

14: Cho ba số thực x, y, z hãy thay tất cả các số âm bằng bình phương của nó.

15: Với 4 số thực a,b,c,d Nếu a  b  c  d thì thay mọi số bằng d; Nếu a >b>c>d thì các số

không thay đổi , ngược lại thay mỗi số bằng bình phương của nó

16: Cho hai số thực x và y nếu x và y đều âm thì thay mỗ số bằng trị tuyệt đối của chúng Nếu

chỉ một trong hai số âm thì tăng mỗi số lên 0.5 Nếu cả hai số đều không âm và không có

số nào thuộc khoảng [1,2] thì thay mỗi số bằng 10 lần chính nó các trường hợp ngượclại hai số không thay đổi

17: Cho số tự nhiên n (n <= 1000).

a/ Số tự nhiên n có bao nhiêu chữ số

b/ Tìm tổng các chữ số của n

c/ Tìm chữ số cuối cùng của n

d/ Tìm chữ số đầu tiên của n

e/ Với n>=10 Hãy tìm chữ số hàng chục của n

Trang 16

CHƯƠNG IV CẤU TRÚC LẶP

Trong thực tế khi lập trình có một số bài toán dùng các cấu trúc thông thường sẽ rất dài Ví

dụ bài toán in ra màn hình các số nguyên từ 1 cho đến 100 thì người lập trình sẽ phải dùng đến

100 câu lệnh Write (Writeln) tức là thực hiện lại câu lệnh đó 99 lần hoặc khi tính tổng của n sốnguyên ta thường phải thực hiện phép cộng hai số nguyên n-1 lần

Vậy hiện tượng một công việc nào đó được thực hiện đi thực hiện lại nhiều lần trong mộtchương trình thì người ta gọi là lặp

Nếu trong trường hợp số lần thực hiện công việc biết trước là bao nhiều lần người ta gọi làlặp xác định (hay lặp có số lần xác định)

Nếu trong trường hợp số lần thực hiện công việc không biết trước mà chỉ dừng công việckhi gặp một điều kiện nào đó, gọi là lặp không xác định

Để giải quyết các bài toán về lặp Pascal đưa ra cho chúng ta một số cấu trúc lặp như sau:

Dạng hai: (FOR dạng lùi)

FOR <biến điều khiển>:=giá trị cuối DOWNTO <giá trị đầu> DO

<Công việc>;

Chú ý: Kiểu của <biến điều khiển>, giá trị đầu, giá trị cuối phải có cùng kiểu giá trị và phải

là kiểu vô hướng đếm được

Người ta thường đặt tên cho biến điều khiển là i, j, k

b Hoạt động

* Hoạt động của vòng FOR dạng tiến:

Ban đầu biến điều khiển nhận giá trị đầu sau đó kiểm tra giá trị của biến điều khiển với giátrị cuối Nếu giá trị của biến điều khiển <= giá trị cuối thì đi thực hiện công việc sau DO, sau khithực hiện công việc xong, quay trở về đầu vòng lặp tăng giá trị của biến điều khiển lên một đơn

vị và tiếp tục so sánh với giá trị cuối, quá trình tiếp tục cho đến khi giá trị của biến điều khiểnlớn hơn giá trị cuối thì thoát khỏi vòng lặp

* Hoạt động của vòng FOR dạng lùi:

Ban đầu biến điều khiển nhận giá trị cuối sau đó kiểm tra giá trị của biến điều khiển với giátrị đầu Nếu giá trị của biến điều khiển >= giá trị đầu thì đi thực hiện công việc sau DO, sau khithực hiện công việc xong, quay trở về đầu vòng lặp tăng giá trị của biến điều khiển lên một đơn

vị và tiếp tục so sánh với giá trị đầu, quá trình tiếp tục cho đến khi giá trị của biến điều khiển nhỏhơn giá trị đầu thì thoát khỏi vòng lặp

c Sơ đồ thuật toán

Giả sử biến điều khiển là i

* Sơ đổ thuật toán của vòng FOR dạng tiến

* Sơ đổ thuật toán của vòng FOR dạng lùi

i:=giá trị đầu

S

i >=giá trị đầui:=giá trị cuối

Đ S

Ngày đăng: 10/09/2021, 15:02

TỪ KHÓA LIÊN QUAN

w