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

Bài giảng: Kỹ năng lập trình

359 32 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 359
Dung lượng 6,63 MB

Nội dung

LỜI MỞ ĐẦU  Khi bắt đầu làm quen với ngôn ngữ lập trình – Cụ thể là ngôn ngữ C – Sinh Viên thường gặp khó khăn trong việc chuyển vấn đề lý thuyết sang cài đặt cụ thể trên máy. Sách “Giáo Trình Bài Tập Kỹ Thuật Lập Trình” nhằm cung cấp cho các Học Sinh - Sinh Viên Trường CĐ Công Nghệ Thông Tin Tp. Hồ Chí Minh hệ thống các bài tập, những kỹ năng thực hành cơ bản và nâng cao về ngôn ngữ lập trình C. Cuốn sách này được xem như tài liệu hướng dẫn từng bước cho Học Sinh - Sinh Viên của Trường trong việc học và áp dụng kiến thức lý thuyết trên lớp một cách thành thạo và sâu rộng. Giáo trình được chia thành 10 chương theo từng nội dung kiến thức, kèm theo Các đề thi mẫu và 1 phụ lục hướng dẫn viết chương trình, chuẩn đoán lỗi và sửa lỗi. Mỗi chương gồm 2 phần:  Phần lý thuyết: được tóm tắt ngắn gọn với đầy đủ ví dụ minh hoạ kèm theo.  Phần bài tập: với nhiều bài tập được chia làm hai mức độ c ơ bản và luyện tập nâng cao, bài tập có đánh dấu * là bài tập khó dành cho sinh viên luyện tập thêm.  Phần kết luận: Tóm tắt nội dung và các thao tác mà sinh viên cần nắm hay những lưu ý của chương đó. Trong quá trình biên soạn, chúng tôi đã cố gắng trích lọc những kiến thức rất cơ bản, những lỗi hay gặp đối với người mới lập trình. Bên cạnh đó chúng tôi cũng bổ sung thêm một số bài tập nâng cao để rèn luyện thêm kỹ năng lập trình. Tuy nhiên, chủ đích chính của giáo trình này là phục vụ cho một môn học nên chắc chắn không thể tránh khỏi những thiếu sót, vì thế, rất mong nhận được những góp ý quý báu của các thầy cô, các đồng nghiệp và các bạn Học Sinh – Sinh Viên để giáo trình này ngày càng hoàn thiện hơn. Chân thành cảm ơn

0101010101010101100001 0101010101010101100001 StateController 0101010100101010100101 0101010100101010100101 1010011000110010010010 1010011000110010010010 start() 1100101100100010000010 1100101100100010000010 stop() 0101010101010101100001 0101010101010101100001 0101010100101010100101 0101010100101010100101 1010011000110010010010 1010011000110010010010 y = A*x + B*u; 1100101100100010000010 1100101100100010000010 x = C*x + d*u; LQGController 0101010101010101100001 0101010101010101100001 0101010100101010100101 0101010100101010100101 start() 1010011000110010010010 stop() 1010011000110010010010 1100101100100010000010 1100101100100010000010 © 2004, HOÀNG MINH SƠN Chương Chương 1: Mở ₫ầu 8/18/2005 CuuDuongThanCong.com https://fb.com/tailieudientucntt Nội dung giảng Giới thiệu nội dung môn học Giới thiệu chung kỹ thuật lập trình Phương pháp luận Qui trình phát triển phần mềm Sơ lược ngơn ngữ C/C++ © 2004, HỒNG MINH SƠN 1.1 1.2 1.3 1.4 1.5 Chương 1: Mở đầu © 2005 - HMS CuuDuongThanCong.com https://fb.com/tailieudientucntt 1.1 Nội dung mơn học Các kỹ thuật lập trình bản, thực ngơn ngữ lập trình C C++: — — — — Lập trình có cấu trúc Lập trình hướng ₫ối tượng Lập trình thời gian thực Lập trình tổng qt © 2004, HỒNG MINH SƠN Tại chọn C/C++: — Hai ngơn ngữ lập trình tiêu biểu nhất, ₫ủ cho thực kỹ thuật lập trình quan trọng — Hai ngơn ngữ lập trình quan trọng ₫ối với kỹ sư ₫iện/kỹ sư ₫iều khiển Chương 1: Mở đầu © 2005 - HMS CuuDuongThanCong.com https://fb.com/tailieudientucntt Quan ₫iểm môn học Đề cao kiến thức bản, tảng: — Thiên tư phương pháp lập trình — Tạo khả dễ thích ứng với ứng dụng khác — Tạo khả dễ thích ứng với ngơn ngữ lập trình khác (Java, Visual Basic, C#, MATLAB…) — Nhấn mạnh tính chuyên nghiệp lập trình: hiệu + chất lượng © 2004, HỒNG MINH SƠN Những nội dung khơng có chương trình: — — — — — Lập trình hệ thống (low-level system programming) Lập trình ₫ồ họa Lập trình giao tiếp với cổng vào/ra (nối tiếp, song song) Lập trình sở liệu Lập trình thành phần, lập trình phân tán (mạng, Internet) Chương 1: Mở đầu © 2005 - HMS CuuDuongThanCong.com https://fb.com/tailieudientucntt Phương pháp học tập Cách thứ nhất: Nghe giảng làm thử liệu thảo luận luyện tập ₫ọc tài © 2004, HỒNG MINH SƠN Cách thứ hai: Đọc tài liệu làm thử nghe giảng thảo luận luyện tập Nguyên tắc bản: Chủ ₫ộng học thường xuyên! Những ₫iều không nên làm: — — — — Chép nhiều lớp Học thuộc lòng, học chay Mong ₫ợi nhiều vào ôn tập Dựa dẫm vào tập mẫu sách Chương 1: Mở đầu © 2005 - HMS CuuDuongThanCong.com https://fb.com/tailieudientucntt Cơng cụ học tập Máy tính PC Cơng cụ lập trình: Visual C++ 6.0 (Visual Studio 6.0), Visual C++ NET, Borland C++ Builder © 2004, HỒNG MINH SƠN Nền ứng dụng: Win32 Console Application Tài liệu tham khảo: Stanley B Lippman, Josée Lajoie: C++ Primer 3rd Edition Addison-Wesley 1998 Bjarne Stroustrup: The C++ Programming Language 3rd Edition Addison-Wesley 1997 David Musser,…:C++ Programming with Standard Template Library 2nd Edition, Addison-Wesley 1998 Bruce Eckel: Thinking in C++ www.bruceeckel.com, 2003 Chương 1: Mở đầu © 2005 - HMS CuuDuongThanCong.com https://fb.com/tailieudientucntt 1.2 Tổng quan kỹ thuật lập trình © 2004, HỒNG MINH SƠN Kỹ thuật lập trình gì: Kỹ thuật thực thi giải pháp phần mềm (cấu trúc liệu + giải thuật) dựa tảng phương pháp luận (methodology) nhiều ngôn ngữ lập trình phù hợp với yêu cầu ₫ặc thù ứ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 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) Chương 1: Mở đầu © 2005 - HMS CuuDuongThanCong.com https://fb.com/tailieudientucntt © 2004, HỒNG MINH SƠN Thế lập trình? Viết chương trình tính giai thừa 100! Viết hàm tính giai thừa! Viết chương trình in 100 số nguyên tố ₫ầu tiên! Viết chương trình in N số nguyên tố ₫ầu tiên! Lập trình giải tốn: "Vừa gà vừa chó, ba mươi sáu con, bó lại cho trịn, trăm chân chẵn" Lập trình giải tốn: "Vừa gà vừa chó, vừa vặn X con, bó lại cho trịn, ₫ủ Y chân chẵn" KHƠNG PHẢI LÀ LẬP TRÌNH! Chương 1: Mở đầu ĐÂY LÀ LẬP TRÌNH! © 2005 - HMS CuuDuongThanCong.com https://fb.com/tailieudientucntt Thế lập trình tốt? Giải ₫úng ₫ề bài, ₫ược khách hàng chấp nhận Tin cậy — Chương trình chạy ₫úng — Chạy lỗi (số lượng lỗi ít, cường ₫ộ lỗi thấp) — Mức ₫ộ lỗi nhẹ Hiệu suất — Chương trình nhỏ gọn, sử dụng nhớ — Tốc ₫ộ nhanh, sử dụng thời gian CPU © 2004, HỒNG MINH SƠN Hiệu quả: — — — — — Thời gian lập trình ngắn, Khả 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 tiện ích Chương 1: Mở đầu © 2005 - HMS CuuDuongThanCong.com https://fb.com/tailieudientucntt Ví dụ minh họa: Tính giai thừa Viết chương trình hay xây dựng hàm? — Hàm tính giai thừa số nguyên int factorial(int N); Giải thuật: — Phương pháp ₫ệ quy (recursive) © 2004, HỒNG MINH SƠN if (N > 1) return N*factorial(N-1); return 1; — Phương pháp lặp (iterative) int kq = 1; while (N > 1) kq *= N ; return kq; Chương 1: Mở đầu ☺„to iterate is human, to recurse is devine!“ © 2005 - HMS CuuDuongThanCong.com https://fb.com/tailieudientucntt 10 Giải pháp sử dụng STL vector v; copy(istream_iterator(ifstream("numbers.txt")), istream_iterator(), back_inserter(v)); sort(v.begin(), v.end()); © 2004, HOÀNG MINH SƠN cout

Ngày đăng: 24/08/2020, 00:47

TỪ KHÓA LIÊN QUAN