1. Trang chủ
  2. » Giáo án - Bài giảng

Lap trinh tren maple

8 14 0

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

THÔNG TIN TÀI LIỆU

Nội dung

Trong lóc vßng lÆp while/for ®ang ®îc thùc hiÖn, nÕu lÖnh break ®îc gäi th× ch¬ng tr×nh sÏ tho¸t ngay lËp tøc ra khái vßng lÆp while/for tËn trong cïng nhÊt mµ cã chøa lÖnh break [r]

(1)

Lập trình maple

Các lệnh lập trình

1.1 Vòng lặp While Cấu trúc cú pháp:

While <điều kiện> <dÃy lệnh> od; Chức năng:

Vũng lặp while cho phép lặp chuỗi câu lệnh do od mà điều kiện condition (tức biểu thức điều kiện cho giá trị true) Điều kiện condition đợc kiểm tra đầu vịng lặp, thỏa mãn (giá trị đúng) câu lệnh bên đợc thực hiện, sau lại tiếp tục kiểm tra điều kiện condition điều kiện khơng cịn thỏa mãn nữa.Vòng lặp while thờng đợc sử dụng số lần lặp hay chuỗi biểu thức không xác định rõ, đồng thời ta muốn biểu thức cần đợc lặp điều kiện cịn đợc thỏa mãn

Điều kiện condition vòng lặp phải biểu thức boolean, tức giá trị sai, khơng sinh lỗi

Trong trờng hợp muốn thoát khỏi vòng lặp từ vòng lặp, ta thực cách dùng câu lệnh RETURN, break quit

Chú ý vòng lặp while- do- od; khơng bắt buộc phải nằm nhiều dịng lệnh nhng ngời ta thờng viết nhiều dòng để câu lệnh dễ đọc dễ hiểu Vòng lặp While cho phép lặp chuỗi câu lệnh nằm od mà điều kiện

1.2 Vòng lặp for Cấu trúc cú pháp:

for name from start by change to finish do

statement sequence od;

Hoặc dạng phát biểu khác:

(2)

do

statement sequence od;

Chức năng:

Vòng lặp for đợc dùng để lặp chuỗi biểu thức đợc đặt od, lần lặp tng ứng với giá trị phân biệt biến số name đứng sau từ khoá for Ban đầu, giá trị start đợc gán cho biến số Nếu giá trị biến name nhỏ hay giá trị finish chuỗi lệnh nằm od đợc thực hiện, sau biến name đợc gán giá trị cách cộng thêm vào giá trị change (name:=name+change) Sau đó, biến name đợc so sánh với finish để định xem việc thực chuỗi lệnh có đợc tiếp tục khơng. Q trình so sánh biến số name thực chuỗi lệnh đợc lặp liên tiếp giá trị biến name lớn giá trị finish Giá trị cuối biến name giá trị vợt finish

Chú ý Nếu từ khóa from start by change bị bỏ qua mặc định from 1 by đợc dùng.

Vòng lặp for- in- do- od thực việc lặp với giá trị mà biến số name lấy từ biểu thức expression cho Chẳng hạn vòng lặp đợc sử dụng hiệu mà giá trị biến name phần tử tập hợp danh sách

Trong trờng hợp muốn thoát khỏi từ vòng lặp, ta dùng câu lệnh break, quit, RETURN giống nh vòng lặp while

1.3 Lệnh điều kiện if Cấu trúc cú pháp: if condition then statement sequence

| elif condition then statement sequence | | else statement sequence |

fi;

(Ghi chú: Các câu lệnh cặp dấu ngoặc đứng lệnh tuỳ chọn Thí dụ: biểu thức | statement | cho biết statement cõu lnh tu chn).

Chức năng:

(3)

sau từ khoá elif đợc kiểm tra, chuỗi lệnh tơng ứng sau then đợc thực hiện, tiếp tục điều kiện condition khơng thỏa mãn, biểu thức sau lệnh else đợc thực

Lu ý cấu trúc lệnh (tuỳ chọn) elif then đợc lặp lại với số lần tuỳ ý Từ khoá elif dạng viết tắt else if

Các biểu thức điều kiện condition đợc sử dụng câu lệnh if phải đợc tạo thành từ bất đẳng thức, đẳng thức (các phép toán quan hệ), biến số, phép tốn logic, hàm có giá trị trả lại giá trị logic Nếu trái lại gây lỗi

1.4 LƯnh break

Cấu trúc cú pháp: break Chức năng:

Trong lúc vòng lặp while/for đợc thực hiện, lệnh break đợc gọi chơng trình khỏi vòng lặp while/for tận mà có chứa lệnh break (vì có nhiều vịng lặp while/for đợc lồng nhau) Một ví dụ điển hình việc sử dụng lệnh break trình tìm kiếm search, rõ ràng bạn muốn dừng trình quét lại bạn tìm thấy đối tợng cần tìm Khi đó, thời điểm tìm thấy, bạn dùng lệnh break để nhảy khỏi vịng lặp tìm kiếm Trớc lệnh break thờng có câu lệnh điều kiện if then

Nếu lệnh break dùng vòng lặp while/for sinh lỗi

Chú ý: break từ khoá (từ dành riêng cho Maple), ta gán giá trị cho biến có tên break mà không sinh lỗi (mặc dù điều là không nên)

1.5 Lệnh next

Cấu trúc cú pháp: next Chức năng:

Cũng giống nh câu lệnh break, lệnh next đợc thực vòng lặp while/for với mục đích bỏ qua số lệnh bên vịng lặp để nhảy qua lần lặp Khi gặp lệnh next vịng lặp, chơng trình bỏ qua lệnh vòng lặp tận chứa next gặp từ khoá xác định kết thúc vòng lặp (ở lệnh od) Đến vòng lặp tiếp tục nhảy qua lần lặp (nếu có thể) cách tăng số kiểm tra điều kiện để định xem có nên thực vịng lặp

(4)

mét gi¸ trị (xem nh next biến) Ngay trớc lệnh next thờng câu lệnh điều kiện if then

1.6 Sử dụng hàm RETURN, ERROR

Hàm RETURN đợc sử dụng giá trị hàm trớc khỏi chu trình Nếu khơng có lệnh RETURN, chu trình tự động cho kết phép tính cuối chu trình

Hàm ERROR đợc sử dụng để đa thông điệp lỗi hình từ bên chu trình

(5)

2.1 Giíi thiƯu

Maple ngơn ngữ lập trình hớng chu trình (procedure) Chúng ta làm việc với Maple hai chế độ khác nhau: Chế độ tơng tác trực tiếp thông qua việc nhập lệnh đơn lẻ dấu nhắc lệnh Maple nhận đợc kết lệnh Chế độ chu trình đợc thực cách đóng gói dãy lệnh xử lí cơng việc vào chu trình (procedure) nhất, sau ta cần gọi chu trình Maple tự động thực lệnh có chu trình cách sau trả lại kết cuối Maple chứa lợng lớn hàm tạo sẵn đáp ứng cho u cầu tính tốn khác nhiều lĩnh vực Các hàm đợc lu trữ gói chu trình (package) ngời sử dụng dễ dàng gọi đến cần thiết Tuy nhiên, ngời dùng Maple tự tạo cho riêng gói chu trình nh trao đổi dùng chung gói chu trình đấy, phục vụ cho cơng việc mang tính đặc thù riêng

Các khái niệm cần phải nắm vững để tạo chu trình (procedure) là:

CÊu tróc proc() end; cïng víi c¸c khai b¸o cấu trúc (global, local,

option, ).

Các cấu trúc liệu hàm có liên quan (dÃy-sequence, tập hợp-set, danh sách-list, mảng-array, bảng-table)

Cỏc hm lập trình (đã nêu trên) hàm liên quan đến việc xử lí liệu (eval, evalf, subs, map, convert, ).

2.2 Khai b¸o chu trình

Lời gọi khai báo chu trình:

procedure_name:=proc(parameter_sequence) [local local_sequence]

[global global_sequence] [options options_sequence]

statements_sequence; end;

Giải thích khai báo:

parameter_name: Là dÃy kí hiệu, ngăn cách dấu phẩy, chứa tên tham biến truyền cho chu tr×nh

(6)

global_sequen: D·y tên biến toàn cục có giá trị sử dụng bên chu trình

options_sequence: DÃy tuỳ chọn cho chu trình

statements_sequence: DÃy câu lệnh ngời lập trình đa vào 2.3 Tham biÕn

Tham biến (parameter) biến đợc đặt hai dấu ngoặc biểu thức proc( ) Tham biến đợc dùng để nhận liệu truyền cho chu trình gọi chu trình Ví dụ ta khai báo chu trình tính tổng số [tong:=proc(x,y) x+y; end.] gọi chu trình để tính tổng hai số 10 ta phải truyền liệu cho tham biến (cho x nhận giá trị 10, y nhận giá trị 5), tức dấu nhắc lệnh ta phải viết tong(10, 5); sau thực chu trình trả lại kết 15

Tham biến có tính cục bộ: chúng đợc sử dụng bên chu trình đợc khai báo, bên ngồi chu trình chúng khơng mang ý nghĩa

Kiểu tham biến đợc khai báo trực tiếp

2.4 Ph¹m vi biến (biến toàn cục, biến cục tham biÕn) BiÕn toµn cơc:

Biến tồn cục đợc khai báo sau từ khoá global khai báo chu trình

Biến tồn cục đợc khai báo bên chu trình, nhng có phạm vi giá trị tồn chơng trình, tức bên ngồi phạm vi chu trình mà đợc khai báo

BiÕn cơc bé:

Biến cục đợc khai báo sau từ khoá local khai báo chu trình

Biến cục có giá trị bên chu trình mà đợc khai báo Ngồi chu trình khơng mang ý nghĩa

Tham biÕn:

Cũng giống nh biến cục bộ, tham biến có giá trị bên phạm vi chu trình mà đợc khai báo Sau chu trình kết thúc, chúng khơng cũn giỏ tr

(7)

2.5 Định giá biến Định giá tên hàm tham biÕn:

Nh đề cập trớc đây, tên biến biểu thức đợc Maple định giá trớc thực phép tính chúng Đối với việc thực hàm tơng tự nh Trớc tiên tên chu trình đợc định giá Sau lần lợt đến đối số danh sách đối số truyền cho chu trình (đợc định giá từ trái sang phải) Nếu tên chu trình đợc định giá trỏ đến chu trình, chu trình đợc thực thi đối số đợc định giá Tuy nhiên có số chu trình ngoại lệ: hàm eval, assigned, seq

Định giá biến cục biến toàn cục:

Các biến cục tham biến truyền cho chu trình đợc định giá cấp (định giá lần), cịn biến tồn cục đợc định giá hoàn toàn (full evaluation) Hàm eval( ) đợc dùng để ép định giá hoàn toàn cho biến cục tham biến, định giá mức cho bin ton cc

2.6 Các chức khác

Muốn in hình "vịng lệnh ẩn" ta sử dụng biến printlevel Đây cách đơn giản để xem xét trình thực lệnh Khi printlevel đợc gán giá trị âm khơng cả, đợc gán giá trị có kết câu lệnh đợc

Dò lệnh chu trình: trace(f)

trace(f, g, h, )

Tham số: Các hàm f, g, h, hàm cần chạy bớc

Lnh trace cho in cách thức lệnh chu trình hình Lệnh dị trace() hoạt động tơng tự nh ta gán cho biến printlevel số đủ lớn để hình tất câu lệnh nh điểm vào điểm

ra của hàm mà ta thực

Trong suốt trình thực hiện, điểm vào, kết câu lệnh, điểm hàm cần dị đợc hình Các tham biến đợc điểm vào chu trình, giá trị trả lại hàm đợc điểm cuối chu trình Chú ý: Khơng thể dị bớc số hàm có quy tắc định giá đặc biệt, bao gồm: assigned, eval, evalhf, evalf, evaln, traperror, seq, userinfo

(8)

showstat(procName)

showstat(procName, statRange)

Tham số: procName: Tên chu trình cần hiển thÞ m· nguån

StatRange: Phạm vi dòng lệnh cần đợc hiển thị (từ dòng đến dòng nào)

Phần lớn lệnh Maple đợc viết ngơn ngữ Maple, đọc đợc mã nguồn lệnh Maple cung cấp hàm showstat() để đoạn chơng trình mã nguồn lệnh Nhờ có hàm mà ngời học lập trình Maple dễ dàng học đợc cách thức nh đặc trng ngôn ngữ cách nghiên cứu phơng thức mà lệnh Maple thực (thông qua việc xem mã nguồn chúng) Ta hiển thị phần mã nguồn chu trình cách định rõ phạm vi dòng cần thể

Chúng ta sử dụng hàm print() interface() để đọc mã

nguồn hàm Maple Thơng thờng Maple khơng hiển thị phần thân chu trình ta cho hiển thị chúng Muốn làm điều này, ta phải gọi lệnh interface() với tham số verbosepro =2 trớc, sau dùng lệnh print ta xem c thõn ca chu trỡnh

Chặn bắt lỗi:

traperror(expr1, expr2, )

Tham sè: expr1, expr2, biểu thức

Maple s dụng biến lasterror để lu thông báo lỗi lỗi xảy q trình tính tốn Ta sử dụng biến giống nh biến khác Maple, cụ thể ta gán giá trị cho nó, tính tốn biến ghi giá trị lu trữ hình Tuy nhiên xảy lỗi, Maple tự động gán cho biến xâu kí tự thơng báo lỗi mà hàm ERROR() hiển thị hình

Ngày đăng: 04/03/2021, 15:19

TỪ KHÓA LIÊN QUAN

w