4.6.1. Cấu trúc lặp điều kiện trước
While <Điều kiện> Do < danh sách các câu lệnh> od;
Vòng lặp While sẽ thực hiện lặp đi lặp lại các câu lệnh giữa do và od nếu điều kiện sau từ khoá While còn đúng. Nếu muốn thoát sớm khỏi vòng lặp cần phải sử dụng các lệnh
Return, Break, Quit.
Ví dụ 1 : Thuật toán Ơclit tìm ước số chung lớn nhất của hai số tự nhiên: [> restart; ↵
[> a:=126:b:=34: # khai bao hai so tu nhien a=126, b=34 [> while b <> 0 do
d:=irem(a,b); a:=b;
b:=d; od;
print(' USCLN cua hai so la:'); value(a); ↵ Ví dụ 2: Viết ra màn hình n số hạng đầu của dãy Fibonacci [>restart; f(0):=1; f(1):=1 ; n:=2; while n <= 20 do f(n):=f(n-1)+f(n-2), n:=n+1 ;
od;
seq(f(i),i=3..2); ↵
4.6.2. Cấu trúc lặp biết trước số lần
For <biến> from <cận đầu> by <bước thay đổi> to <cận cuối>
Do <d/s các câu lệnh>; od; Hoặc
For < tên biến> in <danh sách giá trị>
Do <d/s các lệnh>; od; Ví dụ: Tính tổng bình phương các số chẵn trong mảng: [> restart, mang:=[2,5,7,8,9,23,45,67,89,24,36,42]; tong:=0; for i in mang do
if irem(i,2)=0 then tong:=tong+i^2; fi;
od;
print(' tong can tim la:',tong); ↵
Khi thực hiện ta được kết quả:
mang := [2, 5, 7, 8, 9,23, 45, 67, 89, 24, 36, 42]
tong :=0
tong can tinh la:, 3704
4.6.3. Cấu trúc rẽ nhánh
if <điều kiện l> then < d/s các câu lệnh l>;
elif < điều kiện 2> then < d/s các câu lệnh 2>;
else < d/s các câu lệnh 3>; fi;
Ví dụ: giải phương trình bậc 2, trước tiên ta khai báo một proc() : [> ptb2::proc(a,b,c)
local delta,x1,x2; delta:=b*b-4*a*c; if delta < 0 then
elif delta = 0 then x1 :=-b/(2*a);
pint(' phuong trinh co nghiem kép:x1=',x1); else
x1:=(-b-sqrt(delta))/(2*a); x2:=(-b+sqrt(delta))/(2*a);
print(' phuong trinh da cho co 2 nghiem phan biet :'); print(x1);
print(x2):
Để giải phương trình bậc hai, ta chỉ cần gọi tên proc() với các hệ số thực sự, ví dụ: [> ptb2(1, 2, 1 ); phuong trinh co nghiem kep: x1= - 1
[> ptb2(1,2,-1); phuong trinh da cho co 2 nghiem phan biet:
[> ptb2(1,2,3); ↵phuong trinh da cho vo nghiem
4.6.4. Bài tập:
Bài 1 : Lập trình giải phương trình trùng phương. Bài 2: Lập trình giải hệ phương trình bậc nhất hai ẩn
Bài 3: Lập trình kiểm tra một số có là số nguyên tố hay không?
Bài 4: Lập trình phân tích một số nguyên dương thành tích các thừa số nguyên tố. Lưu ý: bốn bài tập trên chỉ có ý nghĩa cho các bạn làm quyên với việc lập trình với Maple.
Để tìm hiểu về lập trình với Maple, bạn đọc sẽ tìm thấy những hướng dẫn chi tiết chuyên sâu trong các tài liệu [l],[2],[3],[4].