LẬP TRÌNH CẤU TRÚC

32 2 0
LẬP TRÌNH CẤU TRÚC

Đ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

LẬP TRÌNH CẤU TRÚC Nội dung  Lập trình khơng có cấu trúc  Lập trình cấu trúc  Phương pháp thiết kế top-down Lập trình khơng có cấu trúc  Để viết chương trình, người ta đặt vấn đề đưa thuật toán cách liệt kê hành động sử dụng lệnh goto cách thường xuyên để chuyển điều khiển  Phương pháp lập trình có số nhược điểm:  Khó kiểm sốt theo dõi tính  Tìm sửa lỗi khó khăn  Khó khăn việc thiết kế chương trình với xử lý đa dạng, phức tạp  Khả dùng lại, phát triển khơng thực Lập trình cấu trúc  Để khắc phục nhược điểm phương pháp lập trình trước, người ta đưa khái niệm xây dựng phương pháp lập trình sử dụng tới bây giờ: Phương pháp lập trình cấu trúc (Structured Programming)  Lập trình cấu trúc biến đổi sơ đồ khối phức tạp thành cấu trúc chuẩn:  Tuần tự  Lặp  Lồng  Sử dụng cấu trúc điều khiển chuẩn:  Chọn lựa: if…else, switch…case  Lặp: do…while, while, for Lập trình cấu trúc  Lập trình cấu trúc kỹ thuật lập trình theo cách xây dựng chương trình (module chương trình) liên kết module thành chương trình  C++ cung cấp cách xây dựng sử dụng hàm chương trình Các hàm có điểm bắt đầu, điểm kết thúc (tính đóng gói) liên kết với thông qua lời gọi hàm  Ưu điểm lập trình cấu trúc:  Chương trình rõ ràng, dễ hiểu  Dễ sửa lỗi  Dễ bổ sung, nâng cấp  Có thể sử dụng lại  Giảm thời gian cài đặt, tiết kiệm nhân lực Phương pháp thiết kế top-down  Phương pháp thiết kế top-down tiếp cận toán theo hướng từ xuống, từ tổng quát đến chi tiết Các bước thực hiện: Xây dựng sơ đồ khối mức bao gồm module lớn Phân rã thuật toán thành thuật toán (module) Xác định chức module Xác định thứ tự thực module Xác định liệu vào, cho module Xác định cấu trúc module Cài đặt module (viết mã cho chương trình con) Liên kết module (viết mã cho chương trình chính) Phương pháp thiết kế top-down  Một toán chia thành toán nhỏ Mỗi tốn lại chia nhỏ tiếp, có thể, thành toán nhỏ Quá trình cịn gọi q trình làm mịn dần Quá trình dừng lại tốn khơng cần chia nhỏ thêm Start Menu chọn A B C End Ví dụ Xây dựng chương trình thực tính tốn mảng gồm chức năng: 1) Sắp xếp mảng tăng dần 2) Xuất số nguyên tố có mảng 3) Xóa phần tử trùng Yêu cầu trình bày trình xây dựng chương trình theo tiến trình sau: Vẽ sơ đồ hoạt động chương trình làm mịn dần Tổ chức liệu định nghĩa kiểu liệu Khai báo biến toàn cục Khai báo hàm Viết hàm main() Viết số hàm xử lý quan trọng Ví dụ Sơ đồ hoạt động chương trình: Start Menu Xử lý xếp mảng Xử lý xuất số nguyên tố Xử lý xóa phần tử trùng End Ví dụ  Làm mịn thiết kế khối (2):  Bước 1: Nhập mảng A  Bước 2: Duyệt qua mảng A, kiểm tra phần tử thứ i số nguyên tố, xuất A[i]  Làm mịn thiết kế khối (3):  Bước 1: Nhập mảng A  Bước 2: Duyệt qua mảng A • Kiểm tra phần tử A[i] với phần tử khác mảng • Nếu có phần tử trùng với A[i], xóa A[i] Ví dụ Tổ chức định nghĩa kiểu liệu: Giả sử mảng có tối đa 100 phần tử, định nghĩa kiểu ARRAY sau: struct ARRAY { int n; int e[MAX]; }; 10 CÁC CHỈ THỊ TIỀN XỬ LÝ TỔ CHỨC CHƯƠNG TRÌNH GỒM NHIỀU FILE Chỉ thị tiền xử lý  Trước chạy chương trình, C/C++ dịch chương trình thành file dạng mã máy Dịch chương trình gồm có thao tác: xử lý sơ chương trình biên dịch Phần xử lý sơ gọi tiền xử lý  Các khai báo tiền xử lý phổ biến:      #include #include “file_name” #define name giá_trị #define macro biểu_thức … 19 Chỉ thị #include  #include  Cho phép đưa tập tin file_name thư mục định trình biên dịch vào chương trình  #include “file_name”  Đưa tập tin file_name thư mục hành vào chương trình  #include “đường_dẫn\file_name”  Đưa tập tin file_name đường dẫn vào chương trình 20 Chỉ thị #include  Chỉ thị #include thường dùng để tạo chương trình viết nhiều file Các khai báo hàm chương trình để tập tin h, định nghĩa hàm khai báo để tập tin cpp  Tại file chứa hàm main(), để sử dụng hàm định nghĩa, thực include file nói trên: #include 21 Chỉ thị #define #undefine  #define tên_macro biểu_thức  Biểu_thức chuỗi ký tự, giá trị biểu thức  Trước dịch, tiền xử lý tìm chương trình thay tên_macro biểu_thức  Ví dụ: #define MAX 100 #define sai "Nhap sai Nhap lai: " #define max(x,y) ((x) < (y) ? (y) : (x)) #undefine MAX 22 Chỉ thị #if, #else, #endif  Các thị giống câu lệnh if, mục đích nhằm báo cho chương trình biết đoạn lệnh #if #endif dịch điều kiện  #if expression process1 #endif  #if expression process1 #else process2 #endif 23 Chỉ thị #ifdef, #ifndef, #else, #endif  Chỉ thị #ifdef #ifndef báo cho chương trình dịch biết đoạn lệnh có dịch hay không tên gọi định nghĩa chưa  #ifdef hiểu tên định nghĩa dịch  #ifndef hiểu tên chưa định nghĩa dịch • #ifdef macro  #ifndef macro process1 process1 #else #endif process2 #endif 24 Cách xây dựng chương trình nhiều module  Thực lệnh File / New / Project, đặt tên cho project  Để thêm file vào project, vào Project / New file  Để xóa file khỏi project, vào Project / Remove from Project  Đóng project: File / Close project  Chú ý: Trong file file chứa hàm main 25 Ví dụ  Viết chương trình thực số tính tốn phân số số nguyên  Phân chia toán thành phần chương trình: Phần chương trình viết xử lý số nguyên Phần chương trình viết xử lý phân số Phần chương trình Viết file cpp:  songuyen.cpp  phanso.cpp  main.cpp 26 Ví dụ  Để thực hiện, tạo project cách vào File / New / Project, đặt tên cho project  Thêm file vào project cách vào Project / New file Tiến hành soạn header file có phần mở rộng h file cpp  Lưu, dịch chạy project bình thường 27 Ví dụ • File phanso.h • File songuyen.h #ifndef PHANSO #ifndef SONGUYEN #define PHANSO #define SONGUYEN struct phanso int UCLN(int a,int b); { int ktsnt(int n); int tu, mau; #endif }; void rutgon(phanso&); phanso tong2ps(phanso, phanso); phanso tongsn(phanso, int); #endif 28 File songuyen.cpp int UCLN(int a,int b) { if(a0) { if(a>b) a-=b; else b-=a; } return a+b; } int ktsnt(int n) { for(int i=2;i

Ngày đăng: 22/06/2022, 09:34

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan