PowerPoint Presentation TRƯỜNG ĐẠI HỌC THỦY LỢI Khoa Cơ khí Bộ môn Kỹ thuật Cơ điện tử Mục tiêu môn học Các chương trình, ứng dụng trên các thiết bị, máy tính hoạt động như thế nào? Làm sao để tạo một[.]
TRƯỜNG ĐẠI HỌC THỦY LỢI Khoa Cơ khí Bộ mơn: Kỹ thuật Cơ điện tử Mục tiêu môn học Các chương trình, ứng dụng thiết bị, máy tính … hoạt động nào? Làm để tạo chương trình thực nhiệm vụ, mục đích theo mong muốn thân? - Làm quen với ngôn ngữ lập trình C++ - Thực hành lập trình trình biên dịch DEV C++ Bộ mơn CĐT – Khoa Cơ Khí - ĐHTL Nội dung mơn học Nội dung chính: Chương Mở đầu Chương Cấu trúc điều khiển Chương Hàm Chương Con trỏ mảng Chương Lớp Lập trình hướng đối tượng Kiểm tra đánh giá kết quả: Giữa kỳ: 40% Cuối kỳ: 60% Chuyên cần: 30% Bài thi: 90 phút Thi tự luận Bài kiểm tra + Bài tập nhóm: 70% Làm phịng máy Bộ mơn CĐT – Khoa Cơ Khí - ĐHTL Chương 1: Mở đầu 1.1 Giới thiệu ngơn ngữ lập trình C/C++ 1.2 Cấu trúc chương trình C/C++ 1.3 Biến & 1.4 Tốn tử Bộ mơn CĐT – Khoa Cơ Khí - ĐHTL Chương 1: Mở đầu 1.1 Giới thiệu ngôn ngữ lập trình C/C++ Ngơn ngữ C Tác giả: Dennis Ritchie Ra đời năm 1970, gắn liền với phát triển HĐH Unix Là ngôn ngữ phổ biến Ngôn ngữ C++ Tác giả: Bjarne Stroustrup Ra đời năm 1979 việc mở rộng ngơn ngữ C Bổ sung tính so với C: lập trình hướng đối tượng (OOP), lập trình tổng qt (template), số tính giúp cho lập trình linh hoạt Bộ mơn CĐT – Khoa Cơ Khí - ĐHTL Chương 1: Mở đầu Một số phần mềm lập trình phổ biến (Trình biên dịch) Dev-C++ Visual Studio Code Code::Blocks Eclipse Notepad++ Microsoft Visual Studio Sublime Text Bộ mơn CĐT – Khoa Cơ Khí - ĐHTL Dev-C++ https://sourceforge.net/projects/orwelldevcpp/ Bộ môn Kỹ thuật Cơ điện tử | Department of Mechatronic Engineering Giới thiệu ngơn ngữ lập trình C/C++ Từ khóa Là danh từ riêng ngơn ngữ lập trình định nghĩa trước với ý nghĩa hồn tồn xác định Từ khóa thường dung để khai báo biến định nghĩa kiểu liệu, định nghĩa toán tử, hàm viết câu lệnh,… Chương 1: Mở đầu 1.2 Cấu trúc chương trình C/C++ Chương trình: Nhập 𝒙 in kết 𝒙𝟐 • Dịng 1: khai báo thư viện iostream cho việc nhập xuất • Dịng 2: sử dụng thư viện chuẩn • Dịng 3: Hàm • Dịng 5: Khai báo biến x • Dịng 6: Nhập liệu từ bàn phím cho biến x • Dịng 7: Xuất kết • Dịng 8: Hàm trả Bộ mơn CĐT – Khoa Cơ Khí - ĐHTL Chương 1: Mở đầu 1.3 Vào C++ Để in liệu hình nhập liệu từ bàn phím, c++ dùng hàm printf scanf, ngồi C++ dùng tốn tử xuất để đưa giá trị biểu thức hình, tốn tử nhập để nhập giá trị số (nguyên, thực) từ bàn phím gán cho biến coutbiến; Nhập liệu chuỗi/ xâu ký tự: sử dụng thư viện string để khai báo string A; getline(cin, A); Bộ mơn CĐT – Khoa Cơ Khí - ĐHTL Chương 4: Con trỏ mảng Số lượng giá trị dấu ngoặc kép {} không lớn số lượng phần tử khai báo dấu ngoặc vuông [] Nếu bạn khơng khai báo kích cỡ mảng mảng vừa đủ lớn để giữ giá trị khởi tạo int balance[] = {15, 20, 25, 30, 35}; Chỉ số mảng Mảng index value 15 20 25 30 35 Bộ môn CĐT – Khoa Cơ Khí - ĐHTL Chương 4: Con trỏ mảng 4.2 Truy xuất đến phần tử mảng, thao tác mảng Một mảng truy cập cách đánh số tên mảng int hocphi = hocphik60[55]; Câu lệnh lấy phần tử thứ 56 mảng gán giá trị cho biến hocphi Bộ mơn CĐT – Khoa Cơ Khí - ĐHTL Chương 4: Con trỏ mảng Mảng phần quan trọng ngôn ngữ C/C++ Dưới định nghĩa quan trọng liên quan đến mảng Khái niệm Mô tả Mảng đa chiều C/C++ C/C++ hỗ trợ mảng đa chiều Mẫu đơn giản mảng mảng hai chiều Con trỏ tới mảng C/C++ Bạn trỏ tới phần tử mảng cách đơn giản xác định tên mảng đó, khơng phải số Truyền mảng tới hàm tham số C/C++ Bạn truyền tới hàm điểm trỏ tới mảng xác định tên mảng số Trả mảng từ hàm C/C++ C/C++ cho phép hàm trả mảng Bộ mơn CĐT – Khoa Cơ Khí - ĐHTL Chương 4: Con trỏ mảng 4.3 Mảng nhiều chiều C++ hỗ trợ mảng đa chiều Dưới mẫu chung khai báo mảng đa chiều kieu_du_lieu ten_mang[kich_co_1][kich_co_2] [kich_co_N]; Ví dụ int hocphi[5][10][4]; Trong nội dung môn học ta dừng lại mảng chiều Chương 4: Con trỏ mảng Xét ví dụ sau đây: Ta khai báo mảng chiều với hàng cột int a[3][4] = { {0, 1, 2, 3} , /* khoi tao gia tri cho hang ma co chi muc la */ {4, 5, 6, 7} , /* khoi tao gia tri cho hang ma co chi muc la */ {8, 9, 10, 11} /* khoi tao gia tri cho hang ma co chi muc la */ }; Khai báo sau tương đương int a[3][4] = {0,1,2,3,4,5,6,7,8,9,10,11}; Các phần tử mảng hai chiều truy cập sử dụng số int val = a[2][3]; Lệnh truy cập vào phần tử thứ từ hàng thứ mảng Bộ mơn CĐT – Khoa Cơ Khí - ĐHTL LBT Chương 4: Con trỏ mảng Một trỏ biến mà giá trị địa biến khác Ví dụ địa vùng nhớ Giống biến số, bạn phải khai báo trỏ trước bạn sử dụng để lưu trữ địa biến Khai báo trỏ int *sv; // tro toi mot gia tri nguyen double *nv; // tro toi mot gia tri double float *luong; // tro toi mot gia tri float char *ten // tro toi mot ky tu Bộ mơn CĐT – Khoa Cơ Khí - ĐHTL Chương 4: Con trỏ mảng Khai báo trỏ Cú pháp khai báo: * Sử dụng trỏ C++ - Định nghĩa biến trỏ - Gán địa biến đến trỏ - Truy cập giá trị biến địa biến trỏ Bộ môn CĐT – Khoa Cơ Khí - ĐHTL Chương 5: Lớp lập trình hướng đối tượng 5.1 Khái niệm lớp lớp 5.2 Khai báo sử dụng lớp 5.3 Phạm vi truy xuất 5.4 Hàm tạo, hàm hủy vấn đề liên quan 5.5 Một số chương trình minh họa lập trình hướng đối tượng Bộ mơn CĐT – Khoa Cơ Khí - ĐHTL Chương 5: Lớp lập trình hướng đối tượng Đặt vấn đề: Lớp (Class) khái niệm trung tâm lập trình hướng đối tượng, mở rộng khái niệm cấu trúc (struct) C ghi (record) pascal Bộ môn CĐT – Khoa Cơ Khí - ĐHTL Chương 5: Lớp lập trình hướng đối tượng 5.1 Khái niệm lớp lớp Lớp (Class) coi thiết kế đối tượng (Object) Nó kiểu liệu người dùng định nghĩa, chứa thành viên liệu hàm thành viên riêng Ví dụ: Mỗi sinh viên có thuộc tính chung là: mã sinh viên, mã sinh viên, tên, tuổi, quê quán, điểm toán, điểm lý, điểm hoá, đi, đứng, ngồi, học tập, … Mỗi sinh viên lớp (Class) Lớp sinhvien có thành viên là: mã sinh viên, tên, tuổi, quê quán, điểm toán, điểm lý, điểm hoá, … đi, đứng, ngồi, học tập, … Bộ môn CĐT – Khoa Cơ Khí - ĐHTL Chương 4: Con trỏ mảng 5.2 Khai báo sử dụng lớp Lớp định nghĩa theo mẫu: Class Tên_lớp { //khai báo thuộc tính (peroperties) //khai báo phương thức (methods) }; Trong C++, để định nghĩa lớp ta khóa class, tên lớp phần thân lớp bao cặp dấu {} Kết thúc lớp dấu ; Bộ môn CĐT – Khoa Cơ Khí - ĐHTL Chương 4: Con trỏ mảng 5.2 Khai báo sử dụng lớp Trong ví dụ trên: Lớp sinh viên có: Thuộc tính (Attribute) là: mã sinh viên, tên, tuổi, quê quán, điểm toán, điểm lý, điểm hoá, … Hành vi (Trong C++ gọi phương thức – Method): đi, đứng, ngồi, học tập, … Bộ môn CĐT – Khoa Cơ Khí - ĐHTL Chương 4: Con trỏ mảng 5.2 Khai báo sử dụng lớp Khai báo đối tượng: Một lớp (sau định nghĩa) xem kiểu đối tượng dùng để khai báo biến, mảng đối tượng Lưu ý: Trong lập trình hướng đối tượng, đối tượng (Object) thực thể trừu tượng vật giới thực, người mơ hình hóa, ghi lại tính chất hành vi, để tạo nên thuộc tính (Attribute) phương thức (Method) đối tượng (Object) Khi lớp (Class) định nghĩa, có đặc tả cho đối tượng xác định Do đối tượng khơng khởi tạo, nghĩa khơng có nhớ lưu trữ phân bổ cho đối tượng thuộc lớp Để sử dụng liệu hàm truy cập xác định lớp, bạn cần khai báo đối tượng Bộ mơn CĐT – Khoa Cơ Khí - ĐHTL Chương 4: Con trỏ mảng 5.2 Khai báo sử dụng lớp Ví dụ: sinhvien obj_1; sinhvien obj_2; Cả hai đối tượng obj_1 obj_2 có thành viên liệu riêng Ví dụ: Đối tượng obj_1 có phương thức mã sinh viên, tên, tuổi, quê quán, điểm toán, điểm lý, điểm hoá, … hành vi đi, đứng, ngồi, học tập, … riêng so với đối tượng obj_2 Bộ mơn CĐT – Khoa Cơ Khí - ĐHTL Chương 4: Con trỏ mảng Bộ môn CĐT – Khoa Cơ Khí - ĐHTL