Bài giảng Maple - Bài 8 Lập trình trong Maple (2)

Bài tập Viết proc trả về danh sách các số nguyên tố trong khoảng cho trước. Không dùng hàm isprime, hãy viết hàm kiểm tra xem một số có là số nguyên tố hay không?

ppt19 trang | Chia sẻ: truongthinh92 | Lượt xem: 5173 | Lượt tải: 2download
Bạn đang xem nội dung tài liệu Bài giảng Maple - Bài 8 Lập trình trong Maple (2), để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
LậP TRÌNH TRONG MAPLENgười soạn: LêMinh TrungVòng lặp WhileCú pháp:while điều_kiệndo công_việc od;Trong khi điều_kiện đúng , thực thi công việc.Dùng các câu lệnh như RETURN,break,quit để thoát ra giữa vòng lặp.Phải là kiểuBooleanTìm USCLN và BSCNN cuả x,yDùng thuật toán Euclide:Nhập x,yY0r := x mod yx:=yy:=rIn ra xMinh hoạ thuật toánxyr3012While y 0 dor = x mod yx:= yy := r 6126060In ra x=6Chương trình> x:=30; y:=12; m:=x; n:=y; while y0 do r:=irem(x,y); x:=y; y:=r; od: USCLN:=x; BSCNN := (m*n)/x; print(`USCLN la:`); value(USCLN); print(`BSCNN la:`); value(BSCNN);Ví dụ khácIn ra các phần tử từ 1020 cuả dãy FibonacciViết proc trả về list chứa dãy n số fibonacci đầu tiên, không dùng đệ quyF(0):=1:F(1):=1: n:=2: while n | | from | | by | | to | | while | do end do; OR | for | | in | | while | do end do; Ví dụ1) Print even numbers from 6 to 100. > for i from 6 by 2 to 100 do print(i) end do;2) Find the sum of all two-digit odd numbers. > tot := 0; for i from 11 by 2 while i tot := 1; for z in 1, x, y, q^2, 3 do tot := tot*z; end do;Ví dụViết chương trình để tính tổng các phần tử dương trong một list.> restart;> myList:=[1,4,8,-3,-5,7,3,-2,-3]; tong:=0: for number in myList do if number > 0 then tong:=tong +number; end if end do; print(`Tong cac phan tu duong trong list la`); tong;Lệnh rẽ nhánh ifCú pháp: if then | elif then | | else | end ifVí dụTạo một mảng ngẫu nhiên gồm 15 phần tử và sắp xếp mảng theo thứ tự tăng dần. mang:=array[1..15]: for i from 1 to 15 do mang[i]:=rand(1..100)(): end do; print(`Mang truoc khi sap xep`); seq(mang[i],i=1..15); for i from 2 to 15 do x:=mang[i]: j:=i; while (mang[j-1]>x) and (j>1) do mang[j]:=mang[j-1]: j:=j-1: end do; mang[j]:=x: end do; print(`Mang sau khi sap xep`); seq(mang[i],i=1..15);Ví dụTìm phần tử nhỏ nhất trong một danh sáchaList:=[2,-4,6,-45,23,100,0,0,4,-7]:m:=op(1,aList): for k from 2 to nops(aList) do if op(k,aList) a := 3; b := 5; a := 3 b := 5> if (a > b) then a else b end if; 5> 5*(Pi + `if`(a > b,a,b)); 5 Pi + 25> x := `if`(a if FAIL then 3 else 5 end if; 5Ví dụ> restart;> gptbh:=proc(a,b,c) local delta,x1,x2; delta:=b^2-4*a*c; if delta gptbh(1,2,1);Break;Dùng để thoát ra ngay lập tức vòng lặp for/while.Break không đặt trong vòng lặp nào sẽ gây ra lỗi.Ví dụ> L := [1, 2, "abc", "a", 7.0, infinity]: for x in L do if type(x, 'string') then print(x); break; end if; end do;Next;Next nằm trong vòng lăp for/while dùng để bỏ qua một số lệnh cuả vòng lặp.Khi lệnh next thực thi các lệnh sau next sẽ bị bỏ qua và ngay lập tức nhảy tới vòng lặp kế tiếp.Ví dụ> for n from 1 to 3 do if n=2 then next; end if; print(n); end do;Bài tậpViết proc trả về danh sách các số nguyên tố trong khoảng cho trước.Không dùng hàm isprime, hãy viết hàm kiểm tra xem một số có là số nguyên tố hay không?

Các file đính kèm theo tài liệu này:

  • pptmaple_baiso8_laptrinhtrongmaple2_5171.ppt