1. Trang chủ
  2. » Công Nghệ Thông Tin

Kỹ thuật lập trình C phần 1 potx

48 327 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 48
Dung lượng 527,65 KB

Nội dung

© 2004, HOÀNG MINH SƠN Chươn g 1 Kỹ thuật lập trình 0101010101010101100001 0101010101010101100001 0101010101010101100001 0101010100101010100101 0101010100101010100101 0101010100101010100101 1010011000110010010010 1010011000110010010010 1010011000110010010010 1100101100100010000010 1100101100100010000010 1100101100100010000010 0101010101010101100001 0101010101010101100001 0101010101010101100001 0101010100101010100101 0101010100101010100101 0101010100101010100101 1010011000110010010010 1010011000110010010010 1010011000110010010010 1100101100100010000010 1100101100100010000010 1100101100100010000010 0101010101010101100001 0101010101010101100001 0101010101010101100001 0101010100101010100101 0101010100101010100101 0101010100101010100101 1010011000110010010010 1010011000110010010010 1010011000110010010010 1100101100100010000010 1100101100100010000010 1100101100100010000010 8/14/2006 y = A*x + B*u; x = C*x + d*u; StateController start() stop() LQGController start() stop() Chương 1: Mở₫ầu 2 © 2004, HOÀNG MINH SƠN Chương 1: Mởđầu Nộidung bài giảng 1.1 Giới thiệunội dung môn học 1.2 Giới thiệu chung về kỹ thuật lập trình 1.3 Phương pháp luận 1.4 Qui trình phát triển phần mềm 1.5 Sơ lược về ngôn ngữ C/C++ 3 © 2004, HOÀNG MINH SƠN Chương 1: Mởđầu 1.1 Nộidung môn học  Các kỹ thuậtlập trình cơ bản, thựchiệnminhhoạ trên các ngôn ngữ lập trình C và C++: —Lậptrìnhcócấutrúc(structured programming) —Lậptrìnhhướng ₫ốitượng (object-oriented programming) —Lậptrìnhthờigianthực(real-time programming) —Lậptrìnhtổng quát (generic programming)  Tạisaochọn C/C++: — Hai ngôn ngữ lậptrìnhtiêubiểunhất, ₫ủ ₫ể thựchiệncác kỹ thuậtlập trình quan trọng — Hai ngôn ngữ lập trình quan trọng nhất ₫ốivớikỹ sư ₫iện/kỹ sư₫iềukhiển 4 © 2004, HOÀNG MINH SƠN Chương 1: Mởđầu Quan ₫iểmvề môn học  Đề cao kiếnthứccơ bản, nềntảng: —Thiênvề tư duy và phương pháp lậptrình —Tạokhả năng dễ thích ứng vớicácứng dụng khác nhau —Tạokhả năng dễ thích ứng với các ngôn ngữ lậptrình khác (Java, Visual Basic, C#, MATLAB…) —Nhấnmạnh tính chuyên nghiệp trong lập trình: hiệu quả + chấtlượng  Những nộidung không có trong chương trình: —Lậptrìnhhệ thống (low-level system programming) —Lậptrình₫ồ họa —Lậptrìnhgiaotiếpvớicácthiếtbị ngoại vi ( cổng nốitiếp, song song…) —Lậptrìnhcơ sở dữ liệu —Lậptrìnhthànhphần, lập trình phân tán (mạng, Internet) 5 © 2004, HOÀNG MINH SƠN Chương 1: Mởđầu Phương pháp họctập  Cách thứ nhất: Nghe giảng  làm thử  ₫ọctài liệu  thảoluận  luyệntập  Cách thứ hai: Đọctàiliệu  làm thử  nghe giảng  thảoluận  luyệntập  Nguyên tắccơ bản: Chủ₫ộng họcthường xuyên!  Những ₫iều không nên làm: —Chépnhiềutrênlớp —Họcthuộclòng, họcchay —Mong₫ợinhiềuvàoôntập —Dựadẫm vào các bài tậpmẫutrongsách 6 © 2004, HOÀNG MINH SƠN Chương 1: Mởđầu Công cụ họctập  Máy tính PC  Môi trường lậptrình: Visual C++ 6.0 (Visual Studio 6.0), Visual C++ .NET, Borland C++ Builder  Nền ứng dụng: Win32 Console Application  Tài liệuthamkhảo. 7 © 2004, HOÀNG MINH SƠN Chương 1: Mởđầu 1.2 Tổng quan về kỹ thuật lập trình  Kỹ thuật lập trình là gì: Kỹ thuật thực thi một giải pháp phần mềm (cấu trúc dữ liệu + giải thuật) dựa trên nền tảng một phương pháp luận (methodology) và một hoặc nhiều ngôn ngữ lập trình phù hợp với yêu cầu ₫ặc thù của ứng dụng.  Kỹ thuật lập trình = Tư tưởng thiết kế + Kỹ thuật mã hóa = Cấu trúc dữ liệu + Giả i thuật + Ngôn ngữ lập trình  Kỹ thuật lập trình ≠ Phương pháp phân tích & thiết kế (A&D) 8 © 2004, HOÀNG MINH SƠN Chương 1: Mởđầu Thế nào là lập trình? Viết chương trình in ra 100 số nguyên tố ₫ầu tiên! Viết chương trình tính giai thừacủa 100! Lập trình giải bài toán: "Vừa gà vừa chó, ba mươi sáu con, bó lại cho tròn, một trăm chân chẵn" KHÔNG PHẢI LÀ LẬP TRÌNH! Viết một hàm tính giai thừa! Viết chương trình in ra N số nguyên tố ₫ầu tiên! Lập trình giải bài toán: "Vừa gà vừa chó, vừa vặn X con, bó lại cho tròn, ₫ủ Y chân chẵn" ĐÂY LÀ LẬP TRÌNH! 9 © 2004, HOÀNG MINH SƠN Chương 1: Mởđầu Thế nào là lập trình tốt?  Đúng/Chính xác —Thoả mãn ₫úng các nhiệm vụ bài toán lập trình ₫ặt ra, ₫ược khách hàng chấp nhận  Ổn ₫ịnh và bền vững —Chương trình chạy ổn ₫ịnh trong cả những trường hợp khắc nghiệt —Chạy ít lỗi (số lượng lỗi ít, cường ₫ộ lỗi thấp) —Mức ₫ộ lỗi nhẹ có thể chấp nhận ₫ược  Khả năng chỉnh sửa —Dễ dàng chỉnh sửa trong quá trình sử dụng và phát triển —Dễ dàng thay ₫ổi hoặc nâng cấp ₫ể thích ứng với ₫iều kiện bài toán lập trình thay ₫ổi  Khả năng tái sử dụng —Cóthể ₫ược sử dụng hoặc ₫ược kế thừa cho các bài toán lập trình khác 10 © 2004, HOÀNG MINH SƠN Chương 1: Mởđầu Thế nào là lập trình tốt?  Độ tương thích —Khả năng thích ứng và chạy tốt trong các ₫iều kiện môi trường khác nhau  Hiệusuất —Chương trình nhỏ gọn, sử dụng ít bộ nhớ —Tốc ₫ộ nhanh, sử dụng ít thời gian CPU  Hiệu quả: —Thời gian lập trình ngắn, —Khả năng bảo trì dễ dàng —Giátrị sử dụng lại lớn —Sử dụng ₫ơn giản, thân thiện —Nhiều chức năng tiện ích [...]... Lập trình phần mềm giao diện người-máy (₫ồ họa) Lập trình phần mềm tích hợp hệ thống (COM, OPC, ) Lập trình phần mềm tính toán, thiết kế Lập trình phần mềm mô phỏng Lập trình phần mềm tối ưu hóa Chương 1: Mở đầu 15 1. 3 Phương pháp luận Phương pháp: C ch th c tiến hành một c ng vi c ₫ể c hiệu quả cao Phương pháp luận: Một tập hợp c c phương pháp ₫ư c sử dụng ho c bộ môn khoa h c nghiên c u c c phương... Phân c p Phân hạng ho c sắp xếp trật tự ₫ối tượng theo c c quan hệ trên dưới Chương 1: Mở đầu 13 Nguyên t c tối cao „Keep it simple: as simple as possible, but no simpler!“ © 2004, HOÀNG MINH SƠN (Albert Einstein) Chương 1: Mở đầu 14 C c bài toán lập trình cho kỹ sư ₫iện © 2004, HOÀNG MINH SƠN Lập trình phần mềm ₫iều khiển ( C, PC, PLC, DCS) Lập trình phần mềm thu thập/quản lý dữ liệu quá trình Lập trình. .. tr c hóa chương trình ₫ể tránh c c lệnh nhảy Phân tích và thiết kế theo c ch từ trên xuống (topdown) Th c hiện từ dưới lên (bottom-up) Yêu c u c a chương trình c c u tr c: chỉ sử dụng c c cấu tr c ₫iều khiển tuần tự, tuyển chọn ( if then else), lặp (while) và thoát ra (exit) Ví dụ c c ngôn ngữ ₫ c thù: — PASCAL, ALGO, FORTRAN, C, — SFC (Sequential Funtion Charts) — ST (Structured Text) Chương 1: Mở... c u tr c ₫ c lập, ₫ư c chuẩn hóa dùng ₫ể tạo lập một hệ thống — Mỗi module bao gồm phần giao diện (mở) và phần th c hiện (che giấu) — C c module giao tiếp với nhau thông qua c c giao diện ₫ư c ₫ c tả rất chính x c Ví dụ ngôn ngữ tiêu biểu: — Modula-2, xây dựng trên c sở PASCAL, do Niclaus Wirth thiết kế năm 19 77 Chương 1: Mở đầu 23 Lập trình hướng ₫ối tượng (Object-Oriented Programming) Xây dựng chương... thể c hiệu suất cao — C thể thích hợp với bài toán nhỏ, lập trình nhúng, lập trình hệ thống © 2004, HOÀNG MINH SƠN Như c ₫iểm: — — — — Chương trình khó theo dõi -> dễ m c lỗi Khó sử dụng lại Hiệu quả lập trình thấp Không thích hợp với ứng dụng qui mô lớn Chương 1: Mở đầu 19 © 2004, HOÀNG MINH SƠN Lập trình c c u tr c (structured programming) C u tr c hóa dữ liệu (xây dựng kiểu dữ liệu) và c u tr c. .. Phương pháp xây dựng phần mềm dựa trên c c thành phần "IC" c sẵn, ho c tạo ra c c IC ₫ó Tiến hóa từ lập trình hướng ₫ối tượng Hầu hết c c ứng dụng Windows và ứng dụng Internet ngày nay ₫ư c xây dựng theo phương pháp luận này C c ngôn ngữ tiêu biểu — — — — C/ C++, C# Delphi, Visual Basic Script, HMTL, XML, FBD Chương 1: Mở đầu 29 Lập trình thời gian th c (real-time programming) Xây dựng phần mềm ₫áp ứng... năng thời gian th c của hệ thống, ví dụ c c hệ thống ₫iều khiển Đ c thù: © 2004, HOÀNG MINH SƠN — — — — — Lập trình c nh tranh (₫a nhiệm, ₫a luồng) C chế xử lý sự kiện C chế ₫ịnh thời Đồng bộ hóa quá trình Hiệu suất cao Ngôn ngữ lập trình: ASM, C/ C++, ADA, C n sự hỗ trợ c a nền c i ₫ặt — Hệ ₫iều hành — Nền phần c ng — Mạng truyền thông Chương 1: Mở đầu 30 1. 4 Qui trình phát triển phần mềm BÀI TOÁN... thành phần quan trọng Định nghĩa ch c năng c thể c a c c thành phần Nhận biết c c ₫ c ₫iểm c a từng thành phần Phân loại c c thành phần, tổng quát hóa, ₫ c biệt hóa Nhận biết mối liên hệ giữa c c thành phần Kết quả: Mô hình hệ thống (System model) C n một ngôn ngữ mô hình hóa ₫ể trao ₫ổi giữa c c thành viên trong nhóm phân tích và với nhóm thiết kế Trả lời c u hỏi: Những gì sẽ phải làm? Chương 1: Mở... TH C Mã hóa Thử nghiệm Phân tích MÔ HÌNH PHÂN TÍCH Chương 1: Mở đầu GIẢI PHÁP MÔ HÌNH THIẾT KẾ THẾ GIỚI THIẾT KẾ Thiết kế 31 Tập hợp và phân tích yêu c u © 2004, HOÀNG MINH SƠN Bởi vì: Khách hàng thường biết ₫ư c là họ muốn gì, nhưng không biết lập hoạch c c yêu c u Cho nên: C n phải c ng với khách hàng phân hoạch và làm rõ những yêu c u về phạm vi ch c năng c a bài toán Kết quả: Mô hình ₫ c tả (Specification... tư duy và phương pháp lập trình — Tư duy toán h c, tư duy logic, tư duy c c u tr c, tư duy hướng ₫ối tượng, tư duy tổng quát — Tìm hiểu về c u tr c dữ liệu và giải thuật Hiểu sâu về máy tính — Tương t c giữa CPU, chương trình và bộ nhớ — C chế quản lý bộ nhớ © 2004, HOÀNG MINH SƠN Nắm vững ngôn ngữ lập trình — Biết rõ c c khả năng và hạn chế c a ngôn ngữ — Kỹ năng lập trình (₫ c thông, viết thạo) Tự . 010 1 010 1 010 1 010 110 00 01 010 1 010 1 010 1 010 110 00 01 010 1 010 1 010 1 010 110 00 01 010 1 010 10 010 1 010 10 010 1 010 1 010 10 010 1 010 10 010 1 010 1 010 10 010 1 010 10 010 1 10 10 011 00 011 0 010 010 010 10 10 011 00 011 0 010 010 010 10 10 011 00 011 0 010 010 010 11 0 010 110 010 0 010 000 010 11 0 010 110 010 0 010 000 010 11 0 010 110 010 0 010 000 010 010 1 010 1 010 1 010 110 00 01 010 1 010 1 010 1 010 110 00 01 010 1 010 1 010 1 010 110 00 01 010 1 010 10 010 1 010 10 010 1 010 1 010 10 010 1 010 10 010 1 010 1 010 10 010 1 010 10 010 1 10 10 011 00 011 0 010 010 010 10 10 011 00 011 0 010 010 010 10 10 011 00 011 0 010 010 010 11 0 010 110 010 0 010 000 010 11 0 010 110 010 0 010 000 010 11 0 010 110 010 0 010 000 010 010 1 010 1 010 1 010 110 00 01 010 1 010 1 010 1 010 110 00 01 010 1 010 1 010 1 010 110 00 01 010 1 010 10 010 1 010 10 010 1 010 1 010 10 010 1 010 10 010 1 010 1 010 10 010 1 010 10 010 1 10 10 011 00 011 0 010 010 010 10 10 011 00 011 0 010 010 010 10 10 011 00 011 0 010 010 010 11 0 010 110 010 0 010 000 010 11 0 010 110 010 0 010 000 010 11 0 010 110 010 0 010 000 010 8 /14 /2006 y. 010 1 010 1 010 1 010 110 00 01 010 1 010 1 010 1 010 110 00 01 010 1 010 1 010 1 010 110 00 01 010 1 010 10 010 1 010 10 010 1 010 1 010 10 010 1 010 10 010 1 010 1 010 10 010 1 010 10 010 1 10 10 011 00 011 0 010 010 010 10 10 011 00 011 0 010 010 010 10 10 011 00 011 0 010 010 010 11 0 010 110 010 0 010 000 010 11 0 010 110 010 0 010 000 010 11 0 010 110 010 0 010 000 010 010 1 010 1 010 1 010 110 00 01 010 1 010 1 010 1 010 110 00 01 010 1 010 1 010 1 010 110 00 01 010 1 010 10 010 1 010 10 010 1 010 1 010 10 010 1 010 10 010 1 010 1 010 10 010 1 010 10 010 1 10 10 011 00 011 0 010 010 010 10 10 011 00 011 0 010 010 010 10 10 011 00 011 0 010 010 010 11 0 010 110 010 0 010 000 010 11 0 010 110 010 0 010 000 010 11 0 010 110 010 0 010 000 010 010 1 010 1 010 1 010 110 00 01 010 1 010 1 010 1 010 110 00 01 010 1 010 1 010 1 010 110 00 01 010 1 010 10 010 1 010 10 010 1 010 1 010 10 010 1 010 10 010 1 010 1 010 10 010 1 010 10 010 1 10 10 011 00 011 0 010 010 010 10 10 011 00 011 0 010 010 010 10 10 011 00 011 0 010 010 010 11 0 010 110 010 0 010 000 010 11 0 010 110 010 0 010 000 010 11 0 010 110 010 0 010 000 010 8 /14 /2006 y. SƠN Chươn g 1 Kỹ thuật lập trình 010 1 010 1 010 1 010 110 00 01 010 1 010 1 010 1 010 110 00 01 010 1 010 1 010 1 010 110 00 01 010 1 010 10 010 1 010 10 010 1 010 1 010 10 010 1 010 10 010 1 010 1 010 10 010 1 010 10 010 1 10 10 011 00 011 0 010 010 010 10 10 011 00 011 0 010 010 010 10 10 011 00 011 0 010 010 010 11 0 010 110 010 0 010 000 010 11 0 010 110 010 0 010 000 010 11 0 010 110 010 0 010 000 010 010 1 010 1 010 1 010 110 00 01 010 1 010 1 010 1 010 110 00 01 010 1 010 1 010 1 010 110 00 01 010 1 010 10 010 1 010 10 010 1 010 1 010 10 010 1 010 10 010 1 010 1 010 10 010 1 010 10 010 1 10 10 011 00 011 0 010 010 010 10 10 011 00 011 0 010 010 010 10 10 011 00 011 0 010 010 010 11 0 010 110 010 0 010 000 010 11 0 010 110 010 0 010 000 010 11 0 010 110 010 0 010 000 010 010 1 010 1 010 1 010 110 00 01 010 1 010 1 010 1 010 110 00 01 010 1 010 1 010 1 010 110 00 01 010 1 010 10 010 1 010 10 010 1 010 1 010 10 010 1 010 10 010 1 010 1 010 10 010 1 010 10 010 1 10 10 011 00 011 0 010 010 010 10 10 011 00 011 0 010 010 010 10 10 011 00 011 0 010 010 010 11 0 010 110 010 0 010 000 010 11 0 010 110 010 0 010 000 010 11 0 010 110 010 0 010 000 010 8 /14 /2006 y

Ngày đăng: 12/08/2014, 19:21

TỪ KHÓA LIÊN QUAN