Bài giảng kỹ thuật lập trình – chương 1 tổng quan về lập trình

46 5 0
Bài giảng kỹ thuật lập trình – chương 1 tổng quan về lập trình

Đ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

om c cu u du on g th a n co ng Chương 1: Tổng quan kỹ thuật lập trình CuuDuongThanCong.com https://fb.com/tailieudientucntt Mục tiêu mơn học? cu u du on g th a n co ng c om • Học phần Kỹ thuật lập trình trang bị cho sinh viên kỹ thuật mà lập trình viên chuyên nghiệp cần phải nắm vững để viết mã nguồn hiệu Các kiến thức giảng dạy góp phần quan trọng giúp sinh viên phát triển ứng dụng phần mềm chất lượng cao thực tế • Học phần trang bị cho sinh viên kỹ thuật lập trình quan trọng quản lý nhớ, hàm, kỹ thuật đệ quy, kỹ thuật sử dụng cấu trúc liệu để giải vấn đề, kỹ thuật viết mã nguồn hiệu quả, kỹ thuật lập trình phịng ngừa, kỹ thuật gỡ rối, tinh chỉnh mã nguồn, phong cách lập trình Học phần có buổi thực hành nhằm rèn luyện nâng cao kỹ lập trình sinh viên CuuDuongThanCong.com https://fb.com/tailieudientucntt Tài liệu học tập cu u du on g th a n co ng c om [1] Bài giảng lớp [2] Trần Đan Thư (2014) Kỹ thuật lập trình NXB Khoa học kỹ thuật [3] Mcconnell, Steve (2004) Code Complete: A Practical Handbook of Software Construction, 2d Ed Redmond, Wa.: Microsoft Press [4] Kernighan & Plauger (1978) The elements of programming style McGraw-Hill; 2nd edition [5] Brian W Kernighan and Rob Pike (1999) The Practice of Programming Addison-Wesley; 1st Edition [6] Nicolai M Josuttis The C++ Standard Library: A Tutorial and Reference (2nd Edition), 2012 CuuDuongThanCong.com https://fb.com/tailieudientucntt Đánh giá học phần [2] Đánh giá trình A1.1 Bài tập nhà M2.1 Báo cáo M2.2 M2.3 30% M1.4 M2.1 30% om Tự luận du on g th a A1.2a Bài tập nhóm A2.1 Thi cuối kỳ cu A2 Điểm cuối kỳ u A1.2b Thi kỳ CĐR đánh giá [3] n co [1] A1 Điểm trình (*) Mô tả c Điểm thành phần Tỷ trọn g [5] 40% 10% ng Phương pháp đánh giá cụ thể Tự luận và/ trắc nghiệm Tự luận và/ trắc nghiệm [4] M2.2 M2.3 M1.2 60% M1.4 M2.2 M2.3 CuuDuongThanCong.com https://fb.com/tailieudientucntt om c ng co n th a du on g Tổng quan lập trình cu u Hoạt động chương trình máy tính ngơn ngữ lập trình CuuDuongThanCong.com https://fb.com/tailieudientucntt Chương trình máy tính ngơn ngữ lập trình cu u du on g th a n co ng c om • Chương trình máy tính: Tập hợp lệnh dẫn cho máy tính thực nhiệm vụ • Ngơn ngữ lập trình: Dùng để viết lệnh, thị CuuDuongThanCong.com https://fb.com/tailieudientucntt cu u du on g th a n co ng c • Chương trình máy tính nạp vào nhớ (primary memory) tập lệnh viết ngơn ngữ mà máy tính hiểu được, tức dãy số nhị phân (binary digits) • Tại thời điểm nào, máy tính trạng thái (state) Đặc điểm trạng thái trỏ lệnh (instruction pointer) trỏ tới lệnh để thực • Thứ tự thực nhóm lệnh gọi luồng điều khiển (flow of control) om Hoạt động chương trình máy tính CuuDuongThanCong.com https://fb.com/tailieudientucntt Hoạt động chương trình máy tính om • Bắt đầu chu trình lệnh, CPU nhận lệnh từ nhớ co ng c ▫ PC (Program Counter): ghi giữ địa lệnh nhận ▫ Lệnh nạp vào ghi lệnh IR (Instruction Register) cu u du on g th a n • Sau lệnh nhận vào, nội dung PC tự động tăng để trỏ sang lệnh CuuDuongThanCong.com https://fb.com/tailieudientucntt Ngơn ngữ lập trình cu u du on g th a n co ng c om • Ngơn ngữ lập trình hệ thống ký hiệu dùng để liên lạc, trao đổi với máy tính nhằm thực thi nhiệm vụ tính tốn • Có nhiều ngơn ngữ lập trình (khoảng 1000), phần lớn ngôn ngữ hàn lâm, có mục đích riêng hay phạm vi CuuDuongThanCong.com https://fb.com/tailieudientucntt Ngơn ngữ lập trình cu u du on g th a n co ng c om Có thành phần NNLT nào: • Mơ thức lập trình nguyên tắc chung bản, dùng LTV để xây dựng chương trình • Cú pháp ngôn ngữ cách để xác định hợp lệ cấu trúc câu ngôn ngữ; Nắm cú pháp cách để đọc tạo câu ngôn ngữ tự nhiên, tiếng Việt, tiếng Anh Tuy nhiên điều khơng có nghĩa giúp hiểu nghĩa câu văn • Ngữ nghĩa program ngơn ngữ Rõ ràng, khơng có semantics, NNLT mớ câu văn vô nghĩa; semantics thành phần thiếu ngôn ngữ 10 CuuDuongThanCong.com https://fb.com/tailieudientucntt Standard Input Stream (cin) C++ th a n co ng c om • Bộ biên dịch C++ định kiểu liệu giá trị nhập chọn tốn tử trích luồng thích hợp để trích giá trị lưu giữ biến cung cấp • Tốn tử trích luồng >> sử dụng nhiều lần lệnh Để yêu cầu nhiều liệu chuẩn, bạn sử dụng: cin >> ten >> tuoi; cu u du on g Nó tương đương với hai lệnh sau: cin >> ten; cin >> tuoi; 32 CuuDuongThanCong.com https://fb.com/tailieudientucntt IDE lập trình cu u du on g th a n co ng c om • Codeblock: http://www.codeblocks.org/downloads/26 • Link download: https://www.fosshub.com/CodeBlocks.html?dwl=codeblocks-17.12mingw-setup.exe 33 CuuDuongThanCong.com https://fb.com/tailieudientucntt om c ng co n th a cu u du on g Chu trình phát triển phần mềm 34 CuuDuongThanCong.com https://fb.com/tailieudientucntt Chu trình phát triển phần mềm u du on g th a n co ng c Là bước mà lập trình viên dùng để xây dựng programs cu ➢ om • Program development cycle? 35 CuuDuongThanCong.com https://fb.com/tailieudientucntt Step — Analyze Requirements c ng co n IPO chart—Xác định đầu vào, đầu bước xử lý th a ▪ du on g u Thiết lập requirements Gặp nhà phân tích hệ thống users Xác định input, output, processing, thành phần liệu cu om • Các việc cần làm phân tích yêu cầu? 36 CuuDuongThanCong.com https://fb.com/tailieudientucntt Step — Design Solution ng c om • Những việc cần làm bước thiết kế giải pháp? cu u du on g Phân chia hệ thống bước thành thủ tục để giải vấn đề th a n co Hai hướng tiếp cận Object-oriented design Structured design, gọi top-down design LTV bắt đầu với thiết kế Tổng thể đến thiết kế chi tiết 37 CuuDuongThanCong.com https://fb.com/tailieudientucntt Step — Design Solution c ng co n th a du on g u ➢ Trực quan hóa modules chương trình Còn gọi sơ đồ cấu trúc cu ➢ om • Sơ đồ phân cấp chức năng- hierarchy chart? 38 CuuDuongThanCong.com https://fb.com/tailieudientucntt Step — Design Solution co n th a du on g ▪ Các objects nhóm lại thành classes Biểu đồ lớp thể trực quan quan hệ phân cấp quan hệ classes u ▪ ng c LTV đóng gói liệu thủ tục xử lý liệu object cu ➢ om • Object-oriented (OO) design gì? 39 CuuDuongThanCong.com https://fb.com/tailieudientucntt Step — Design Solution ▪ ▪ Case control structure If-then-else control structure—dựa theo khả năng: true or false cu u du on g th a n co ➢ Chỉ action tương ứng điều kiện kiểu c ng ➢ om • Cấu trúc rẽ nhánh 40 CuuDuongThanCong.com https://fb.com/tailieudientucntt Step — Design Solution u du on g th a n co ng c Dựa theo nhiều khả cu ➢ om • Case control structure 41 CuuDuongThanCong.com https://fb.com/tailieudientucntt Step — Design Solution co Do-until control structure—Lặp điều kiện n ▪ th a Do-while control structure—lặp điều kiện u du on g ▪ ng c Cho phép CT thực hay nhiều actions lặp lặp lại cu ➢ om • Cấu trúc lặp Do-While Control Structure Do-Until Control Structure 42 CuuDuongThanCong.com https://fb.com/tailieudientucntt Step — Validate Design om • Những điều cần làm giai đoạn này? c Kiểm tra th a n co program u du on g Desk check LTV dùng liệu thử nghiệm để kiểm tra ct cu Test data liệu thử nghiệm giống số liệu thực mà CT thực LTV kiểm tra logic cho tính đắn thử tìm lỗi logic ng độ xác Logic error sai sót thiết kế gây kết khơng xác Structured walkthrough LTV mơ tả logic thuật toán programming team duyệt theo logic chương trình 43 CuuDuongThanCong.com https://fb.com/tailieudientucntt Step — Implement Design ng du on g th a n Extreme programming (XP)—coding testing sau yêu cầu xác định u ➢ Syntax—Quy tắc xác định cách viết lệnh Comments—program documentation co ▪ ▪ c Viết code : dịch từ thiết kế thành program cu ➢ om • implementation? 44 CuuDuongThanCong.com https://fb.com/tailieudientucntt Step — Test Solution co ng Debugging—Tìm sửa lỗi syntax logic errors Kiểm tra phiên beta, giao cho Users dùng thử thu thập phản hồi cu u du on g th a n Đảm bảo CT chạy thông cho kq xác c om • Những việc cần làm ? 45 CuuDuongThanCong.com https://fb.com/tailieudientucntt Step — Document Solution Rà soát, hoàn thiện documentation u du on g th a Rà soát lại program code—loại bỏ dead code, tức lệnh mà ct không gọi đến n co ng c hoạt động cu ➢ om • Là bước không quan trọng 46 CuuDuongThanCong.com https://fb.com/tailieudientucntt ... sinh viên kỹ thuật lập trình quan trọng quản lý nhớ, hàm, kỹ thuật đệ quy, kỹ thuật sử dụng cấu trúc liệu để giải vấn đề, kỹ thuật viết mã nguồn hiệu quả, kỹ thuật lập trình phịng ngừa, kỹ thuật. .. ng c om • Học phần Kỹ thuật lập trình trang bị cho sinh viên kỹ thuật mà lập trình viên chuyên nghiệp cần phải nắm vững để viết mã nguồn hiệu Các kiến thức giảng dạy góp phần quan trọng giúp sinh... Edition), 2 012 CuuDuongThanCong.com https://fb.com/tailieudientucntt Đánh giá học phần [2] Đánh giá trình A1 .1 Bài tập nhà M2 .1 Báo cáo M2.2 M2.3 30% M1.4 M2 .1 30% om Tự luận du on g th a A1.2a Bài tập

Ngày đăng: 28/12/2021, 19:12

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

Tài liệu liên quan