Bài giảng Kỹ thuật lập trình Tổng quan về KTLT GV. Hà Đại Dương

29 411 0
Bài giảng Kỹ thuật lập trình Tổng quan về KTLT  GV. Hà Đại Dương

Đ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

Bài giảng Kỹ thuật lập trình Tổng quan về Kỹ thuật lập trình do GV. Hà Đại Dương biên soạn với mục đích trang bị cho sinh viên kiến thức cơ bản về phân tích bài toán, cách thức lập trình giải bài toán; mô tả về cấu trúc dữ liệu, các cấu trúc lệnh trong lập trình để giải bài toán. Mời các bạn cùng tham khảo.

18/08/2016 Kỹ thuật lập trình Tuần - Tổng quan KTLT Giáo viên: Hà Đại Dương duonghd@mta.edu.vn 18/08/2016 A bit about me • Hà Đại Dương, Phịng LV: 1901, tịa nhà S1 • Mail: duonghd@mta.edu.vn • Quan tâm về: – Thị giác máy (Computer Vision): Kết hợp với trang bị vũ khí MBT03, Hiệu chỉnh súng; Phát cháy (Vision-based Fire Detection) … – Hệ thông tin quản lý (Management Information System): Hệ quản lý đào tạo; Hệ thống quản lý bảo hiểm xã hội … 18/08/2016 18/08/2016 Nội dung Giới thiệu chung     Mục đích, u cầu Nội dung mơn học Tài liệu học tập, tham khảo Kiểm tra đánh giá Bài toán việc giải toán máy tính  Bài tốn  Phương pháp giải tốn máy tính  Cấu trúc liệu giải thuật 18/08/2016 Nội dung  Chương trình phần mềm Cơng cụ lập trình  Ngơn ngữ lập trình  Microsoft Visual studio Ngơn ngữ lập trình C/C++  Những khái niệm  Chương trình AB Bài tập 18/08/2016 18/08/2016 Giới thiệu chung 18/08/2016 Mục đích • Kiến thức: – Trang bị cho sinh viên kiến thức phân tích tốn, cách thức lập trình giải tốn; – Mô tả cấu trúc liệu, cấu trúc lệnh lập trình để giải tốn • Kỹ năng: – Sử dụng thành thạo công cụ lập trình C – Biết gỡ rối chương trình 18/08/2016 18/08/2016 u cầu • Có hiểu biết cấu trúc máy tính; • Có hiểu biết hệ điều hành; • Biết sử dụng phần mềm hệ thống việc quản lý tài nguyên, chép/copy liệu; • Biết sử dụng phần mền ứng dụng công cụ soạn thảo văn bản, truy cập internet, web • Nghe giảng làm tập 18/08/2016 Nội dung môn học Tổng quan – Ngơn ngữ lập trình C: mơ tả liệu đơn giản … Cấu trúc điều kiểm: Chọn, lặp Cấu trúc liệu: Mảng, Xâu, Con trỏ, Tệp … Tổ chức chương trình: Hàm Cấu trúc liệu nâng cao: Danh sách, stack … Một số thuật tốn: Sắp xếp, Tìm kiếm … 18/08/2016 18/08/2016 Tài liệu học tập • Slides bảng • Hà Đại Dương, Nguyễn Mậu Uyên, Tập Bài giảng Lập trình bản, HVKTQS 2010; • Trần Đức Hun, Phương pháp giải toán tin học, Nhà xuất giáo dục 1997; • Đào Thanh Tĩnh, Hà Đại Dương, Tin học đại cương, Học viện KTQS, 2003; 18/08/2016 Tài liệu học tập • Đỗ Xn Lơi, Cấu trúc liệu giải thuật, NXB Giáo dục, 1997; • Robert Sedgewick, Algorithns in C++, AddisonWesley 1992; • Niklaus Wirth Bản dịch Nguyễn Quốc Cường, Cấu trúc liệu + Giải thuật = Chương trình, NXB KHKT, 2001; • … 18/08/2016 10 18/08/2016 Kiểm tra đánh giá • Chuyên cần: 10% • Thường xuyên (Kiểm tra tập BT TH): 20% • Thi kết thúc mơn (vấn đáp): 70% 18/08/2016 11 Bài tốn việc giải tốn máy tính 18/08/2016 12 18/08/2016 Bài tốn (thực tế) • Đơn giản: – Giải phương trình bậc (q quen) – Tính tiền điện, tính thuế thu nhập cá nhân (???) – Đổi số tiến dạng số -> Chữ (???) –… • Phức tạp: – Kiểm sốt giáo thơng – Chương trình quản lý sinh viên –… 18/08/2016 13 Bài toán (thực tế) • Khái quát chung: A => B • Trong đó: – Dữ liệu vào: A – Kết ra: B – Biến đổi: => từ đầu vào A thành kết B 18/08/2016 14 18/08/2016 Bài toán (thực tế) • Khái quát chung: A => B • Ví dụ: Giải phương trình bậc 2: ax2+bx+c=0 – Dữ liệu vào: A - Các hệ số a, b, c ??? – Kết ra: B - Nghiệm x1, x2 ??? – Biến đổi: => từ đầu vào A thành kết B: Tính  = b2-4ac, tùy thuộc vào  để tính nghiệm … 18/08/2016 15 Bài tốn (thực tế) • Khái qt chung: A => B • Ví dụ: Kiểm sốt giáo thơng: Các xe vi phạm … – Dữ liệu vào: A - Hình ảnh thu từ camera … – Kết ra: B - Xe đúng, xe vượt đèn đỏ … – Biến đổi: => từ đầu vào A thành kết B: 18/08/2016 16 18/08/2016 Phương pháp giải BT MT Bài toán thực tế Cụ thể hóa u cầu tốn Mơ tả liệu: Xác định liệu dùng cho BT Mô tả cách thức xử lý: Xác định bước xử lý (thuật tốn) Soạn thảo chương trình kiểm tra Biên dịch Chương trình máy tính 18/08/2016 17 Cụ thể hóa tốn A => B • Bài toán thực tế • Bài toán (sẽ giải quyết) máy tính A’  B’ • Có thể: A’  A , A’  A, B’  B , B’  B • Khó khăn: – Thơng tin A, B thường không rõ ràng không đầy đủ; – Thông báo điều kiện đặt cho cách giải (=>) thường không nêu cách minh bạch 18/08/2016 18 18/08/2016 Mô tả A’, B’ • A’ liệu vào (Input): – Đơn giản: Số nguyên, số thực, ký tự – Phức tạp: Mảng, xâu ký tự, ghi • B’ kết (Output): – Giá trị cụ thể – Kết luận khác … A’, B’: Dữ liệu (Cấu trúc liệu) 18/08/2016 19 Mơ tả  • Cách thức xử lý : Thuật tốn (giải thuật) • Thuật tốn: Các dẫn rõ ràng để máy (tính), người thực để từ liệu vào A’ đưa kết B’ • Tính chất: – Chính xác – Rõ ràng – Khách quan – Kết thúc … 18/08/2016 20 10 18/08/2016 Cơng cụ lập trình 18/08/2016 29 Ngơn ngữ lập trình • Ngơn ngữ lập trình (Programming language) – Ngơn ngữ dùng để viết chương trình cho máy tính – Được thiết kế với mục đích – Có nhiều ngơn ngữ lập trình phát minh sử dụng: • • • 18/08/2016 Pascal, C Java, PHP, … 30 15 18/08/2016 Cơng cụ lập trình • Là mơi trường tích hợp (IDE - Integrated development environment), cho phép: – Soạn thảo văn chương trình = ngơn ngữ LT – Kiểm tra lỗi cú pháp, kiểm tra lỗi logic (debug) – Biên dịch chương trình nguồn (source) thành chương trình thực thi máy tính (executable program) • Một số cơng cụ: điểm hình – Microsoft Visual Studio – Eclipse (), NetBeans – QT, … 18/08/2016 31 Microsoft Visual studio • Cho phép với nhiều ngơn ngữ: – C, C++, C# – Visual Basic – ASP … • Có đủ tính năng: – Soạn thảo văn chương trình – Kiểm tra lỗi, debug, biên dịch … • Được dùng tương đối phổ biến 18/08/2016 32 16 18/08/2016 Ngơn ngữ lập trình C/C++ 18/08/2016 33 18/08/2016 34 17 18/08/2016 The C programming language • Là ngơn ngữ mệnh lệnh • Phát triển từ đầu thập niên 1970 Dennis Ritchie để dùng hệ điều hành UNIX • Từ đó, ngơn ngữ lan rộng nhiều hệ điều hành khác trở thành ngơn ngữ phổ dụng • C ngơn ngữ có hiệu ưa chuộng để viết phần mềm hệ thống • Cũng dùng cho việc viết ứng dụng • C thường dùng làm phương tiện giảng dạy khoa học máy tính 18/08/2016 35 Ví dụ • Chương trình “Hello World” 18/08/2016 36 18 18/08/2016 Bộ ký tự (Characters) • • • • • • 26 chữ latinh HOA A,B,C Z 26 chữ latinh thường a,b,c z 10 chữ số thập phân 0,1,2 Các ký hiệu toán học: +, -, *, /, =, , (, ) Các ký hiệu đặc biệt: : , ; " ' _ @ # $ ! ^ [ ] { } Dấu cách (space bar) C phân biệt chữ HOA chữ thường, Aa 18/08/2016 37 Từ khóa (Keyword) • Là từ dành riêng (reserved words) C với mục đích xác định trước • Các từ khóa 18/08/2016 38 19 18/08/2016 Tên (Identifier) • Dùng để định danh (đặt tên) cho thành phần chương trình: Biến, Hàm, Hằng … • Tên dãy kí tự gồm chữ [a-z, AZ, 0-9] gạch nối “_” • Lưu ý: – Tên khơng đuợc chứa kí tự trống, – Tên không bắt đầu chữ số, – Tên khơng trùng với từ khóa • Nên đặt tên gợi nhớ, có ý nghĩa, khơng q dài 18/08/2016 39 Kiểu liệu (Data Types) • Fundamental Types of the C/C++ Language – Kiểu nguyên (Integral) – Kiểu thực (Floating point) Tham khảo: https://msdn.microsoft.com/en-us/library/cc953fe1.aspx • Kích thước nhớ, miền giá trị kiểu liệu Tham khảo: https://msdn.microsoft.com/en-us/library/s3f49ktz.aspx 18/08/2016 40 20 18/08/2016 https://msdn.microsoft.com/en-us/library/cc953fe1.aspx 18/08/2016 41 https://msdn.microsoft.com/en-us/library/cc953fe1.aspx 18/08/2016 42 21 18/08/2016 https://msdn.microsoft.com/en-us/library/s3f49ktz.aspx 18/08/2016 43 https://msdn.microsoft.com/en-us/library/s3f49ktz.aspx 18/08/2016 44 22 18/08/2016 Câu lệnh (Statement) • Lệnh đơn – Thực cơng việc đó, kết thúc dấu ; • Khối lệnh – Các lệnh nằm cặp dấu {} • Lệnh điều khiển – Lựa chọn: if , switch – Lặp: for, while, while 18/08/2016 45 Biến (Variable) • Dùng để mơ tả liệu chương trình • Có thể thay đổi giá trị chương trình chạy • Khai báo biến: – Cú pháp (Syntax): Kiểu_dữ_liệu Tên_biến (, …); – Ví dụ: int a, b, c; char ch; 18/08/2016 46 23 18/08/2016 Hằng (Constant) • Dùng để mơ tả liệu chương trình • Khơng thể thay đổi giá trị chương trình chạy • Khai báo biến: – Cú pháp (Syntax): const Kiểu_dữ_liệu Tên_hằng = Giá trị; – Ví dụ: const float Pi = 3.14; 18/08/2016 47 Chú thích (Comment) • Dùng để ghi nhớ, diễn giải vấn đề văn chương trình mà khơng ảnh hưởng đến chương trình • Chú thích dịng: sau dấu // – Ví dụ: const int Pi = 3.14; //Khai báo • Chú thích đoạn: cấp /* */ (cho phép viết thích nhiều dịng) – Ví dụ: /* Đoạn chương trình tính nghiệm phương trình bậc */ 18/08/2016 48 24 18/08/2016 Nhập liệu • Nhập liệu từ bàn phím • Hàm scanf() (stdio.h) – Cú pháp: scanf(“chuỗi định dạng”, danh sách địa biến); Ví dụ: scanf(“%d %d”, &a, &b); • Hàm scanf() hoạt động nào??? • Có thể dùng hàm nhập khác 18/08/2016 49 Xuất liệu • Xuất liệu hình • Hàm printf() (stdio.h): – Cú pháp: printf(“chuỗi hiển thị định dạng”, DS biểu thức); Ví dụ: printf(“Tong %d + %d = %d”, a, b, a+b); • Hàm printf() hoạt động nào??? • Có thể dùng hàm xuất khác 18/08/2016 50 25 18/08/2016 Chương trình AB • Nhập vào số (từ bán phím), tính tổng số in kết hình 18/08/2016 51 F5 18/08/2016 52 26 18/08/2016 Bài tập 18/08/2016 53 Bài tập Mơ tả thuật tốn giải phương trình bậc a.x2 + b.x + c = Mô tả thuật tốn giải hệ phương trình bậc ẩn (x, y) a.x + b.y - c = d.x + e.y - f = Mơ tả thuật tốn tìm USCLN hai số Mơ tả thuật tốn tìm số lớn ba số Mơ tả thuật tốn tìm số lớn 10 số 18/08/2016 54 27 18/08/2016 Bài tập Giá điện sinh hoạt tháng tính sau: – Từ 0-50kWh giá 92% giá trung bình (GTB) – Từ 51-100kWh giá 95% GTB – Từ 101-200kWh giá 110% GTB – Từ 201-300kWh giá 138% GTB – Từ 301-400 kWh giá 154% GTB, – Từ 401 trở lên giá 159% GTB Mô tả thuật tốn tính tiền điện sinh hoạt tháng biết số điện tiêu thụ tháng giá trung bình 18/08/2016 55 Bài tập nhà Diễn giải kiểu int VS C/C++ Diễn giải kiểu char VS C/C++ Diễn giải kiểu float VS C/C++ Diễn giải hàm scanf() VS C/C++ Diễn giải hàm printf() VS C/C++ Diên giải biểu thức phép toán VS C/C++ 18/08/2016 56 28 18/08/2016 Bài tập nhà Hoàn thiện tập lớp Chuẩn bị báo cáo word, nộp cho giáo viên vào buổi học 18/08/2016 57 29 ... tích tốn, cách thức lập trình giải tốn; – Mơ tả cấu trúc liệu, cấu trúc lệnh lập trình để giải tốn • Kỹ năng: – Sử dụng thành thạo cơng cụ lập trình C – Biết gỡ rối chương trình 18/08/2016 18/08/2016... đánh giá Bài tốn việc giải tốn máy tính  Bài toán  Phương pháp giải toán máy tính  Cấu trúc liệu giải thuật 18/08/2016 Nội dung  Chương trình phần mềm Cơng cụ lập trình  Ngơn ngữ lập trình. .. cao: Danh sách, stack … Một số thuật tốn: Sắp xếp, Tìm kiếm … 18/08/2016 18/08/2016 Tài liệu học tập • Slides bảng • Hà Đại Dương, Nguyễn Mậu Uyên, Tập Bài giảng Lập trình bản, HVKTQS 2010; • Trần

Ngày đăng: 16/05/2017, 16:21

Từ khóa liên quan

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

Tài liệu liên quan