Giáo trình Lập trình căn bản gồm các nội dung chính như: Giới thiệu về cấu trúc dữ liệu và giải thuật; Giới thiệu về ngôn ngữ c và môi trường turbo C 3.0; Các thành phần cơ bản của ngôn ngữ C; Các câu lệnh đơn trong C; Chương trình con; Kiểu tập tin;... Mời các bạn cùng tham khảo!
ỦY BAN NHÂN DÂN TỈNH AN GIANG TRƯỜNG CAO ĐẲNG NGHỀ AN GIANG GIÁO TRÌNH MƠ ĐUN: LẬP TRÌNH CĂN BẢN NGHỀ: CÔNG NGHỆ KỸ THUẬT ĐIỀU KHIỂN VÀ TỰ ĐỘNG HĨA TRÌNH ĐỘ: CAO ĐẲNG (Ban hành theo Quyết định số: 839/QĐ-CĐN, ngày 04 tháng năm 2020 Hiệu trưởng trường Cao đẳng nghề An Giang) An Giang, Năm 2020 TUYÊN BỐ BẢN QUYỀN Tài liệu thuộc loại sách giáo trình nên nguồn thơng tin phép dùng nguyên trích dùng cho mục đích đào tạo tham khảo Mọi mục đích khác mang tính lệch lạc sử dụng với mục đích kinh doanh thiếu lành mạnh bị nghiêm cấm LỜI GIỚI THIỆU Lập trình kỹ cần thiết người làm việc lĩnh vực Tự động hóa Đặc biệt, nắm vững ngôn ngữ C làm tảng để người học lập trình cho đa số vi điều khiển mà hầu hết cơng cụ lập trình dựa ngơn ngữ Do đó, mơn học Lập trình chúng tơi dùng ngơn ngữ C để hướng dẫn cho người học kiến thức, kỹ nhằm làm tảng cho môn học có liên quan đến lập trình sau Bên cạnh đó, chúng tơi giới thiệu sơ qua phần mềm Matlab, chương trình dùng để mơ tả, tính tốn tốn kỹ thuật sử dụng thơng dụng Trong q trình biên soạn, cố gắng không tránh khỏi thiếu sót Rất mong góp ý sai sót để giáo trình ngày hồn thiện Xin chân thành cảm ơn An Giang, ngày 10 tháng 02 năm 2020 Tác giả Đỗ Tùng Sang MỤC LỤC ĐỀ MỤC TRANG LỜI GIỚI THIỆU Bài Giới thiệu cấu trúc liệu giải thuật I Từ tốn đến chương trình II Giải thuật Các đặt trưng giải thuật Ngôn ngữ biểu diễn giải thuật Cấu trúc suy luận giải thuật III Kiểu liệu 10 IV Ngôn ngữ lập trình 10 V Bài tập 12 Bài Giới thiệu ngôn ngữ c môi trường turbo C 3.0 13 I Tổng quan ngôn ngữ lập trình C 13 II Mơi trường lập trình TURBO C 14 Gọi Turbo C 14 Soạn thảo chương trình 15 Ghi chương trình soạn thảo vào đĩa 17 Thực chương trình 17 Mở chương trình có đĩa 17 Thoát khỏi TURBO C trở DOS (hay Windows) 18 Sử dụng số lệnh menu 18 III Thực hành 23 Bài Các thành phần ngôn ngữ C 24 I Bộ chữ viết C 24 II Các từ khóa C 24 III Cặp dấu ghi thích 25 IV Các kiểu liệu sơ cấp chuẩn C 25 Kiểu số nguyên 25 Kiểu số thực 27 V Tên C 27 Tên (danh biểu - identifier) 27 Hằng (Constant) 28 VI Biến biểu thức C 30 Biến 30 Biểu thức 31 VII Cấu trúc chương trình C 36 Tiền xử lý biên dịch 36 Cấu trúc chương trình C 37 Các tập tin thư viện thông dụng 38 Cú pháp khai báo phần mềm bên chương trình C 39 VIII Bài tập 41 Bài Các câu lệnh đơn C 42 I Câu lệnh 42 II Các lệnh đơn 42 III Thực hành 50 Bài Các lệnh có cấu trúc 52 I Khối lệnh 52 II Cấu trúc rẽ nhánh 54 III Cấu trúc lựa chọn 59 IV Cấu trúc vòng lặp 63 V Các câu lệnh đặc biệt 68 VI Viết chương trình ứng dụng lệnh có cấu trúc 69 Bài Chương trình 71 I Khái niệm hàm C 71 II Xây dựng hàm 73 III Truyền tham số cho hàm 76 IV Hàm đệ quy 79 V Viết chương trình ứng dụng 80 Bài Kiểu mảng 82 I Giới thiệu kiểu liệu mảng C 82 II Mảng chiều 82 Khai báo 82 Truy xuất phần tử mảng 83 III Mảng nhiều chiều 87 Khai báo 87 Truy xuất phần tử mảng hai chiều 88 IV Viết chương trình ứng dụng kiểu mảng 90 Bài Chuổi ký tự 92 I Khái niệm 92 II Khai báo 92 III Các tao tác chuổi ký tự 93 IV Viết chương trình ứng dụng chuổi ký tự 98 Bài Kiểu tập tin 100 I Một số khái niệm tập tin 100 II Các thao tác tập tin 101 III Truy cập tập tin văn 103 IV Viết chương trình ứng dụng kiểu tập tin 107 Bài 10 Matlab 108 I Giới thiệu matlab 108 II Tập lệnh matlab 110 III Ứng dụng 142 CÁC THUẬT NGỮ CHUYÊN MÔN 143 TÀI LIỆU THAM KHẢO 144 GIÁO TRÌNH MƠ ĐUN Tên mơ đun: LẬP TRÌNH CĂN BẢN Mã mơ đun: MĐ14 Vị trí, tính chất, ý nghĩa vai trị mơ đun: - Vị trí: Lập trình mơ đun thuộc nhóm mơn học sở, bố trí giảng dạy song song với môn học Linh kiện điện tử, Mạch số, … - Tính chất: Lập trình mơ đun bắt buộc chương trình đào tạo nghề Cơng nghệ kỹ thuật điều khiển tự động hóa - Ý nghĩa vai trị mơ đun: Lập trình mơ đun tảng cho sinh viên học tốt mơ đun liên quan đến lập trình như: Kỹ thuật vi điều khiển bản, Kỹ thuật vi điều khiển nâng cao, Đo lường điều khiển máy tính Mục tiêu mô đun: - Về kiến thức: + Sinh viên trình bày khái niệm liệu, kiểu liệu, ngơn ngữ lập trình, ngơn ngữ C, hàm, biến, ký tự, lệnh, cấu trúc … + Sinh viên trình bày giải thích cú pháp lệnh, cấu trúc chương trình; + Sinh viên trình bày giải thích cú pháp lệnh, cấu trúc matlab - Về kỹ năng: + Sinh viên có khả phân tích, suy luận để giải toán, yêu cầu thực tế; + Sinh viên có khả phân tích, lựa chọn loại cấu trúc, lệnh tương ứng phụ hợp tối ưu cho toán, yêu cầu thực tế với kết tối ưu nhất; + Sinh viên có khả viết chương trình ứng dụng thực tế phần mềm ngơn ngữ lập trình C; + Sinh viên có khả viết chương trình ứng dụng thực tế từ đến phức tạp số ngôn ngữ liên quan C++; - Sinh viên có khả giải tốn ứng dụng matlab - Về lực tự chủ trách nhiệm: + Rèn luyện cho sinh viên thái độ nghiêm túc, tỉ mỉ, xác thực công việc; + Rèn luyện cho học sinh khẳ tư logic cách khoa học; + Tạo thói quen kỹ lưỡng, cẩn thận, suy luận, bình tĩnh học tập làm việc; + Tạo ý thực trung thực cơng việc, khơng đối phó Bài GIỚI THIỆU VỀ CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT Giới thiệu: Muốn thực giải tốn máy tính phải biết giải tính tốn đối tượng Do vậy, phải nắm vững giải thuật (cách giải) liệu u cầu có tính bắt buộc trước tiên Mục tiêu: Sau học học này, người học có khả năng: - Trình bày khái niệm liệu, toán, giải thuật, chương trình, lập trình, ngơn ngữ lập trình; - Phân biệt kiểu liệu; - Viết giải thuật tốn ngơn ngữ tự nhiên, lưu đồ giải thuật Nội dung chính: I Từ tốn đến chương trình Giả sử cần viết chương trình để giải phương trình bậc có dạng ax + bx + c = Công việc phải hiểu biết cách giải tốn lời giải thơng thường người làm toán Để giải toán máy tính (lập trình cho máy tính giải) cần phải thực qua bước như: - Mơ tả bước giải tốn - Vẽ sơ đồ xử lý dựa bước - Dựa sơ đồ xử lý để viết chương trình xử lý ngơn ngữ giả (ngơn ngữ bình thường chúng ta) - Chọn ngơn ngữ lập trình chuyển chương trình từ ngơn ngữ giả sang ngơn ngữ lập trình để tạo thành chương trình hồn chỉnh - Thực chương trình: nhập vào tham số, nhận kết Trong nhiều trường hợp, từ toán thực tế phải xây dựng mơ hình tốn xác định bước để giải II Giải thuật Giải thuật hệ thống chặt chẽ rõ ràng quy tắc nhằm xác định dãy thao tác liệu vào cho sau số hữu hạn bước thực thao tác ta thu kết tốn Các đặt trưng giải thuật Tính kết thúc: Giải thuật phải dừng sau số hữu hạn bước Tính xác định: Các thao tác máy tính phải thực máy tính khác thực bước giải thuật phải cho kết Tính phổ dụng: Giải thuật phải "vét' hết trường hợp áp dụng cho loạt tốn loại Tính hiệu quả: Một giải thuật đánh giá tốt đạt hai tiêu chuẩn sau: - Thực nhanh, tốn thời gian - Tiêu phí tài nguyên máy, chẳng hạn tốn nhớ Ngơn ngữ biểu diễn giải thuật Có hai loại ngơn ngữ thường dùng: ngôn ngữ tự nhiên ngôn ngữ sơ đồ (cịn gọi lưu đồ) a) Ngơn ngữ tự nhiên Ngôn ngữ tự nhiên ngôn ngữ sử dụng, sử dụng ngơn ngữ tự nhiên để mô tả giải thuật giống ví dụ Ví dụ: Ta có giải thuật giải phương trình bậc dạng ax + b = sau: Bước 1: Nhận giá trị tham số a, b Bước 2: Xét giá trị a xem có hay khơng? Nếu a=0 làm bước 3, a khác khơng làm bước Bước 3: (a 0) Nếu b ta kết luận phương trình vơ số nghiệm, b khác ta kết luận phương trình vô nghiệm Bước 4: ( a khác 0) Ta kết luận phương trình có nghiệm x=-b/a b) Ngơn ngữ sơ đồ (Lưu đồ) Ngôn ngữ sơ đồ (lưu đồ) ngôn ngữ đặc biệt dùng để mô tả giải thuật sơ đồ hình khối Mỗi khối qui định hành động Khối Tác dụng (Ý nghĩa hành động) Khối Tác dụng (Ý nghĩa hành động) Bắt đầu/ Kết thúc Đường Nhập / Xuất Chương trình Thi hành Khối nối Chựa chọn Lời thích Chẳng hạn ta dùng lưu đồ để biểu diễn giải thuật giải phương trình bậc nêu sau: Bắt đầu Nhập hai số a, b a=0 Sai Nghiệm x=-b/a Đúng b=0 Đúng Sai Phương trình vơ nghiệm Phương trình vơ định Kết thúc Cấu trúc suy luận giải thuật Giải thuật thiết kế theo ba cấu trúc suy luận sau đây: a) Tuần tự (Sequential): Các công việc thực cách tuần tự, công việc nối tiếp công việc b) Cấu trúc lựa chọn (Selection) Lựa chọn công việc để thực vào điều kiện Có số dạng sau: - Cấu trúc 1: Nếu < điều kiện> (đúng) thực - Cấu trúc 2: Nếu < điều kiện> (đúng) thực , ngược lại (điều kiện sai) thực - Cấu trúc 3: Trường hợp < i> thực v = diag(x) v= 0 0 0 0 0 0 0 d) Lệnh EYE - Công dụng: Tạo ma trận đơn vị - Cú pháp: y = eye(n); y = eye(n,m) - Giải thích: n: tạo ma trận có n hàng, n cột; m, n: tạo ma trận có m hàng, n cột - Ví dụ: y= y = eye(3) 0 0 1 0 0 0 0 0 y = eye(3,5) y= e) Lệnh FLIPLR - Công dụng: Chuyển phần tử ma trận theo thứ tự cột ngược lại - Cú pháp: b = fliplr(a) - Giải thích: b: tên ma trận chuyển đổi, a: tên ma trận cần chuyển đổi - Ví dụ: a= b = fliplr(a) f) Lệnh FLIPUD - Công dụng: Chuyển phần tử ma trận theo thứ tự hàng ngược lại - Cú pháp: b = flipud(a) - Giải thích: b: tên ma trận chuyển đổi, a: tên ma trận cần chuyển đổi g) Lệnh INV - Cơng dụng: Tìm ma trận nghịch đảo 130 - Cú pháp: Ma trận nghịch đảo = inv (ma trận) h) Lệnh tạo ma trận - Công dụng: Dùng để tạo ma trận gồm có n hàng m cột - Cú pháp: Tên ma trận = [a11 a12…a1m ; a21 a22… a2m ;…;…] - Giải thích: a11, a12, a1m giá trị hàng cột đến giá trị hàng cột m, có n dấu (;) có n hàng i) Lệnh tạo vector đơn - Công dụng: Lệnh dùng để tạo vector đơn gồm có n phần tử - Cú pháp 1: Tên vector = [pt1 pt2 pt3 …ptn] - Giải thích: pt1 pt2 …ptn: số thực - Cú pháp 2: Tên vector = gtđ:csc:gtkt - Giải thích: gtđ: giá trị bắt đầu vector, csc: cấp số cộng, gtkt: giá trị kết thúc j) Lệnh LINSPACE - Cơng dụng: Tạo vector có giá trị ngẫu nhiên giới hạn khoảng định trước - Cú pháp: y = linspace(x1, x2); y = linspace(x1, x2, n) - Giải thích: y: tên vector ; x1, x2: giới hạn giá trị lớn nhỏ vector y; n: số phần tử vector y Nếu khơng có giá trị n mặc định n = 100 k) Ma trận chuyển vị - Công dụng: Ma trận chuyển vị = ma trận có - Cú pháp: b=a’ - Giải thích: b ma trận chuyển vị, a ma trận có l) Lệnh MAGIC - Cơng dụng: Tạo ma trận vng có tổng phần tử hàng, cột đường chéo - Cú pháp: Tên ma trận = magic(n) - Giải thích: n: kích thước ma trận Giá trị phần tử ma trận dãy số nguyên liên tục từ đến n Tổng hàng, cột đường chéo - Ví dụ: tmt = magic(3) tmt = 131 m) Nhân ma trận - Công dụng: Ma trận kết = ma trận 1* ma trận n) Lệnh ONES - Công dụng: Tạo ma trận mà giá trị phần tử - Cú pháp: y = ones(n); y = ones(m,n) - Giải thích: y = tên ma trận; n: tạo ma trận có n hàng; m, n: tạo ma trận có m hàng, n cột o) Lệnh PASCAL - Công dụng: Tạo ma trận theo quy luận tam giác Pascal - Cú pháp: pascal (n) - Giải thích: n: số hàng (cột) - Ví dụ: pascal(4) ans = 1 1 10 10 20 p) Lệnh RAND - Công dụng: Tạo ma trận mà kết mà giá trị phần tử ngẫu nhiên - Cú pháp: y = rand(n) ; y = rand(m,n) - Giải thích: y: tên ma trận; n: tạo ma trận có n hàng, n cột; m, n: tạo ma trận có m hàng, n cột Giá trị phần tử nằm khoảng [0 1] q) Lệnh RESHAPE - Cơng dụng: Định dạng lại kích thước ma trận - Cú pháp: b = reshape(a,m,n) - Giải thích: b: ma trận định dạng lại, a: ma trận cần định dạng, m, n: số hàng số cột b Ma trận a phải có số phần tử là: m*n r) Lệnh ROT90 - Công dụng: - Cú pháp: Xoay ma trận 900 b = rot90(a) - Giải thích: b: ma trận xoay 900 a: ma trận cần xoay s) Lệnh TRACE 132 - Công dụng: Tính tổng phần tử đường chéo ma trận - Cú pháp: d = trace(a) - Giải thích: d: biến chứa kết quả, a: tên ma trận t) Lệnh ZEROS - Công dụng: Tạo ma trận mà giá trị phần tử - Cú pháp: y = zeros(n);y = zeros(m,n) - Giải thích: y: tên ma trận, n: tạo ma trận có n hàng n cột, m, n: tạo ma trận có m hàng, n cột Các phép tính đại số a) Lệnh CONV - Công dụng: Nhân hai đa thức - Cú pháp: c = conv(a,b) - Giải thích: a,b: đa thức, c: tích số a,b Cách khai báo: xếp biến theo thứ tự giảm dần lũy thừa - Ví dụ: Nhân hai đa thức (3x2+4x+5).(2x3-3x2+2) a = [0 5] a=0 b = [2 -3 2] b =2 -3 c = conv(a,b) c = -1 -2 -9 10 b) Lệnh CUMPROD - Công dụng: Nhân dồn phần tử - Cú pháp: cp = cumprod (a) - Giải thích: cp: biến chứa kết qủa, a: tên ma trận hay vector c) Lệnh CUMSUM - Công dụng:Cộng dồn phần tử - Cú pháp: cs = cumprod(a) - Giải thích: cs: biến chứa kết quả, a: tên ma trận hay vector d) Lệnh DECONV - Công dụng: Chia hai đa thức - Cú pháp: [q,r] =deconv(a,b) - Giải thích: a,b: đa thức; q: thương số a, b; r: số dư 133 Cách khai báo: xếp biến theo thứ tự giảm dần lũy thừa - Ví dụ: Chia đa thức (2x2+3x+6)/(2x+3) a = [2 b = [2 3] 6] [q,r] = deconv (a,b) q=1 r= 0 e) Lệnh EXPM - Cơng dụng: Tính ex - Cú pháp: kq = expm(x) - Giải thích: kq: biến chứa kết qủa f) Lệnh FMIN - Cơng dụng: Tìm giá trị nhỏ hàm số - Cú pháp: x = fmin(‘fuction’,x1,x2) - Giải thích: x: biến chứa kết quả, fuction: tên hàm số, x1, x2: khoảng khảo sát g) Lệnh FPLOT - Công dụng: Vẽ đồ thị hàm số - Cú pháp: fplot(‘fun’,[xmin,xmax]) - Giải thích: fun: tên hàm số, xmin, xmax: xác định khoảng cần vẽ h) Lệnh FZERO - Cơng dụng: Tìm điểm hàm số - Cú pháp: fzero(‘fun’,x0) - Giải thích: Điểm hàm số điểm (0,x), nghiệm hàm số Nếu hàm số có nhiều nghiệm tìm nghiệm gần giá trị x0, fun: tên hàm số i) Lệnh MAX - Cơng dụng: Tìm giá trị lớn - Cú pháp: m = max(x); [m,i] = max(x) v = max(x,y) - Giải thích: x,y,v: tên vector, m: giá trị lớn nhất, i: vị trí m Nếu x ma trận tìm giá trị lớn cột j) Lệnh MEAN - Cơng dụng: Tìm giá trị trung bình - Cú pháp: m = mean(a) 134 - Giải thích: m: biến chứa kết qủa, a: tên vector hay ma trận cần tính giá trị trung bình Nếu a ma trận tính giá trị trung bình cột k) Lệnh MIN - Cơng dụng:Tím giá trị nhỏ - Cú pháp: m = min(x); [m,i] = min(x); v = min(x,y) - Giải thích: x,y,v: tên vector, m: giá trị lớn nhất, i: vị trí m Nêú x ma trận tìm giá trị nhỏ cột l) Lệnh PROD - Công dụng: Nhân phần tử - Cú pháp: p = prod(x) - Giải thích: p: biến chứa kết quả, x: tên ma trận hay dãy số Nếu ma trận nhân phần tử cuả cột m) Lệnh ROOTS - Cơng dụng: Tìm nghiệm đa thức - Cú pháp: r = roots(p) - Giải thích: r: biến chứa kết quả, p: tên biểu thức - Ví dụ: Tìm nghiệm cuả phương trình: x2-1 =0 p = [1 -1] r = roots(p); disp(r) -1.0000 1.0000 n) Lệnh SORT - Công dụng: Sắp xếp mảng hay ma trận theo thứ tự tăng dần - Cú pháp: kq = sort(x); [kq,i] = sort(x) - Giải thích: kq: biến chưá kết quả, i: số thứ tự cuả phần tử trước xếp Nếu x ma trận xếp theo thứ tự tăng dần cột o) Lệnh SUM - Cơng dụng: Tính tổng phần tử - Cú pháp: s = sum(x) - Giải thích: s: biến chứa kết quả, x: tên ma trận Nếu x ma trận s tổng cột 135 10 Tập lệnh đồ họa a) Lệnh AXES - Công dụng: Đặt trục tọa độ vị trí định trước - Cú pháp: axes(‘propertyname’, propertyvalue …) - Giải thích: Tương ứng với propertyname kèm với propertyvalue ‘position’,[left, bottom, width, height]: định vị trí kích thước trục left: khoảng cách từ mép trái cửa sổ đến trục đứng bottom: khoảng cách từ mép cửa sổ đến trục ngang width: chiều dài trục ngang height: chiều cao trục đứng Ghi chú: Luôn lấy điểm [0,0] làm gốc tọa độ Trục ngang trục đứng có giá trị khoảng [0 1] chia theo tỷ lệ thích hợp - Ví dụ: axes(‘position’,[.1 6]) ‘xlim’, [min,max]: định giá trị nhỏ lớn trục x - Ví dụ: axes(‘xlim’, [2 5]) ‘ylim’, [min,max]: định giá trị nhỏ lớn trục y - Ví dụ: axes(‘ylim’, [2 5]) Định giá trị hai trục: axes(‘xlim’, [min,max], ‘ylim’,[min,max]) b) Lệnh AXIS - Công dụng: Chia lại trục tọa độ - Cú pháp: axis([xmin xmax ymin ymax]) axis([xmin xmax ymin ymax zmin zmax]) axis on; axis off - Giải thích: xmin, ymin, zmin: giá trị nhỏ trục x, y, z xmax, ymax, zmax: giá trị lớn trục x, y, z on: cho hiển thị trục tọa độ off: không cho hiển thị trục tọa độ c) Lệnh BAR - Công dụng: Vẽ đồ thị dạng cột - Cú pháp: bar(x,y) - Giải thích: Vẽ giá trị x theo giá trị y 136 - Ví dụ: x = -pi:0.2:pi; bar(x,sin(x)); grid on title(‘Do thi ham sin(x) dang thanh’) xlabel(‘truc x (rad)’) ylabel(‘y = sin(x)’) d) Lệnh CLA - Cơng dụng: Xóa tất đối tượng như: đường đồ thị, tên đồ thị…nhưng khơng xóa trục tọa độ - Cú pháp: cla e) Lệnh CLF - Cơng dụng: Xóa hình ảnh (đồ thị) - Cú pháp: clf f) Lệnh CLOSE - Cơng dụng: Đóng hình ảnh (đồ thị) - Cú pháp: close g) Lệnh COLORMAP - Công dụng: Tạo màu sắc cho đồ thị không gian chiều - Cú pháp: colormap(map);colormap(‘default’) - Giải thích: Colormap trộn lẫn màu bản: red, green, blue Tùy theo tỷ lệ màu mà cho màu sắc khác ‘default’: màu có màu mặc định, map: biến chứa thông số sau: màu có Map Bone gray + blue Cool cyan + magenta Flag red + white + blue + black Gray gray Hot black + red + yellow + white Pink pink 137 h) Lệnh FIGURE - Công dụng: Tạo hình ảnh (đồ thị) - Cú pháp: figure i) Lệnh GCA - Công dụng: Tạo đặc tính cho trục - Cú pháp: h = gca - Giải thích: h: biến gán cho lệnh cga Các đặc tính trục gồm có: Giải thích Cú pháp Set(gca,’XScale’,’log’, ’Yscale’,’linear’) Định đơn vị trục tọa độ: trục x có đơn vị log trục y có đơn vị tuyến tính Set(gca,’Xgrid’,’on’,’YG Tạo lưới cho đồ thị: trục x có tạo lưới trục rid', ’nomal’) y không tạo lưới Set(gca,’XDir',’reverse’, ’YDir’,’normal’) Đổi trục tọa độ: đổi trục x phía đối diện, trục y giữ nguyên Set(gca,’XColor',’red’, ’Ycolor’,’yellow’) Đặt màu cho lưới đồ thị: đặt lưới trục x màu đỏ, lưới trục y màu vàng Gồm có màu: yellow, magenta, cyan, red, green, blue, white, black j) Lệnh GRID - Công dụng: Tạo lưới tọa độ - Cú pháp: grid on; grid off - Giải thích: on: hiển thị lưới tọa độ off: khơng hiển thị lưới tọa độ k) Lệnh PLOT - Công dụng: Vẽ đồ thị tuyến tính khơng gian chiều - Cú pháp: plot(x,y); plot(x,y,’linetype’) - Giải thích: x,y: vẽ giá trị x theo giá trị y linetype: kiểu phần tử tạo nên nét vẽ bao gồm thành phần: - Thành phần thứ ký tự màu sắc: Ký tự Màu y Vàng m Đỏ tươi 138 c Lơ r Đỏ g Lục b Lam w Trắng k Đen - Thành phần thứ hai ký tự nét vẽ đồ thị: Ký tự Loại nét vẽ - Đường liền nét : Đường chấm chấm - Đường gạch chấm Đường nét đứt đoạn - Thành phần thứ ba ký tự loại điểm đánh dấu gồm:., o, x, +, * - Ví dụ: Vẽ đồ thị hàm y = sin(x) với đồ thị màu lam, đường liền nét đánh dấu điểm chọn dấu *, trục x thay đổi từ tới 2, bước thay đổi /8 x = 0:pi/8:2*pi; y = sin(x); plot(x,y, ‘b-* ’) ylabel(‘y = sin(x)’) xlabel(‘Truc x’) title(‘Do sin(x)’) thi ham y = grid on l) Lệnh SUBPLOT - Công dụng: Tạo trục phần cửa sổ đồ họa - Cú pháp: subplot(m,n,p); subplot(mnp) 139 - Giải thích: subplot(m,n,p) subplot(mnp)thành cửa sổ đồ họa thành mn vùng để vẽ nhiều đồ thị cửa sổ m: số hàng chia, n: số cột chia, p: số thứ tự vùng chọn để vẽ đồ thị Nếu khai báo p > mn xuất thông báo lỗi m) Lệnh SEMILOGX, SEMILOGY - Công dụng: Vẽ đồ thị theo logarith - Cú pháp: semylogx(x,y); semylogy(x,y); semylogx(x,y,’linetype’) semylogy(x,y,’linetype’) - Giải thích: semylogx semylogy giống lệnh plot khác điều lệnh vẽ đồ thị theo trục logarith Do đó, ta sử dụng tất loại ‘linetype’ lệnh plot - Ví dụ: Vẽ đồ thị hàm y = x2 – 3x + theo trục logarith x x = 0:100; y = x.^2-3*x+2; semylogx(x,y,’b’) grid on n) Lệnh POLAR - Công dụng: Vẽ đồ thị hệ trục tọa độ cực - Cú pháp: polar(theta,rno) - Giải thích: Vẽ giá trị x theo giá trị y o) Lệnh SET - Công dụng: Thiết lập đặc tính chất cho đối tượng - Cú pháp: set(h, ‘propertyname’, propertyvalue,…) - Giải thích: h: biến chứa đối tượng PropertyName PropertyValue cho bảng sau: 140 Cú pháp Giải thích PropertyName PropertyValue Set(h,’Marker’,’+’) Marker -, , :, - , o, , +, * Chọn kiểu phần tử Set(h,’LineWidth’,1) LineWidth 1, 2, 3,… Độ dày nét vẽ Set(h,’MarkerSize’,9) MarkerSize 1, 2, 3,… Kích thước điểm tạo nên h Set(h,’color’,’cyan’) Color yellow,magent Chọn màu cho đối a, tượng red,green,blue, cyan,white,blac k p) Lệnh STAIRS - Công dụng: Vẽ đồ thị dạng bậc thang - Cú pháp: stairs(x,y) - Giải thích: Vẽ giá trị x theo giá trị y - Ví dụ: x = -pi:0.2:pi; stairs(x,sin(x)) xlabeL(‘Truc x’) ylabel(‘y = stairs(x,sin(x)’) grid on q) Lệnh TITLE - Công dụng: Đặt tiêu đề cho đồ thị - Cú pháp: title(‘text’) - Giải thích: text: tên tiêu đề r) Lệnh XLABEL, YLABEL, ZLABEL - Công dụng: Đặt tên cho trục X, Y, Z - Cú pháp: xlabel(‘nx’); ylabel(‘ny’); zlabel(‘nz’) - Giải thích: nx, ny, nz: tên trục x, y, z s) Lệnh WHITEBG - Công dụng: Thay đổi màu cửa sổ đồ họa - Cú pháp: whitebg; whitebg(‘color’) - Giải thích: whitebg chuyển đổi qua lại màu cửa sổ đồ họa trắng đen whitebg(‘color’) chuyển màu cửa sổ đồ họa thành màu biến color 141 color màu: yellow (vàng), magenta (đỏ tươi), cyan (lơ), red (đỏ), green (lục), blue (lam), white (trắng), black (đen) III Ứng dụng - Ứng dụng Matlab giải mạch điện chiều - Ứng dụng Matlab giải mạch phân cực transistor - Ứng dụng Simulink giải toán độ 142 CÁC THUẬT NGỮ CHUN MƠN Assembler: trình hợp dịch Assemly language: hợp ngữ IDE: viết tắt “Intergrated Development Enviroment”, mơi trường phát triển chương trình tích hợp, bao gồm nhiều chức soạn thảo chương trình, dịch chương trình, chạy thử, chạy lệnh để bắt lỗi Source code: mã nguồn Syntax error: lỗi cú pháp Constant: số Variable: biến Data type: kiểu liệu Function library: thư viện hàm Algorithm: thuật toán, cách thức hay quy trình để giải tốn Flow chart: lưu đồ, phương tiện trực quan để mô tả hoạt động thuật toán Pseudo-code: mã giả, phương tiện thông dụng dùng để mô tả trình bày thuật tốn End of file, EOF character: ký hiệu kết thúc tập tin 143 TÀI LIỆU THAM KHẢO Giáo trình Lập trình A, Đại học Cần Thơ, 2005 Trần Đan Thư, Nhập môn lập trình, NXB Khoa học Kỹ thuật, 2011 Nguyễn Phùng Quang, Matlab Simulink dành cho kỹ sư điều khiển tự động, NXB Khoa học Kỹ thuật, 2006 144 ... Linh kiện điện tử, Mạch số, … - Tính chất: Lập trình mơ đun bắt buộc chương trình đào tạo nghề Công nghệ kỹ thuật điều khiển tự động hóa - Ý nghĩa vai trị mơ đun: Lập trình mơ đun tảng cho sinh... tốt mơ đun liên quan đến lập trình như: Kỹ thuật vi điều khiển bản, Kỹ thuật vi điều khiển nâng cao, Đo lường điều khiển máy tính Mục tiêu mô đun: - Về kiến thức: + Sinh viên trình bày khái niệm... với ký tự điều khiển, ta sử dụng cách viết thông thường để hiển thị chúng Ký tự điều khiển ký tự dùng để điều khiển thao tác xuất, nhập liệu Một số ký tự điều khiển mô tả bảng: Ký tự Giá điều thập