Your SlideShare is downloading. ×

Bai Giang 1

6,115
views

Published on

Published in: Education, Sports, News & Politics

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
6,115
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
87
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Kỹ thuật lập trình C++ và các bài toán THCN
  • 2. Giới thiệu môn học • Môn C++ giúp sinh viên nắm được phương pháp lập trình cấu trúc. Nội dung gồm: Các bước giải bài toán trên máy tính. Các khái niệm về biến, hằng, toán tử, biểu thức, câu lệnh... Cấu trúc rẽ nhánh và lựa chọn. Cấu trúc lặp. Mảng. Hàm. Con trỏ. • Một số ứng dụng và thuật toán cho bài toán CN • Công cụ lập trình sử dụng ở đây là C-Free 4.0
  • 3. Nội dung trình bày • Máy tính, phần cứng, phần mềm • Các mức của ngôn ngữ lập trình • Ngôn ngữ bậc cao và C++ • Các thành phần cơ bản của chương trình C++ • Các kiểu dữ liệu cơ bản trong C++ • Các bước giải bài toán • Các loại lỗi và xử lý lỗi
  • 4. Máy tính • Máy tính (máy vi tính hay máy điện toán) là thiết bị hay hệ thống được dùng để tính toán hay kiểm soát các hoạt động mà có thể biểu diễn dưới dạng số hay quy luật lôgic.
  • 5. Thiết bị phần cứng • Phần cứng (hardware) là các thành phần cụ thể của máy tính có thể chạm vào được như màn hình, chuột, bàn phím, máy in, máy quét, vỏ máy tính, đơn vị vi xử lý CPU, bo mạch chủ, các loại dây nối, loa, ổ mềm, ổ cứng, ổ CDROM, ... • Dựa trên chức năng và cách thức hoạt động ta có thể phân biệt phần cứng ra thành: – Thiết bị nhập (Input): Các bộ phận thu nhập dữ liệu hay mệnh lệnh như là bàn phím, chuột... – Thiết bị xuất (Output): Các bộ phận trả lời, phát tín hiệu, hay thực thi lệnh ra bên ngoài như là màn hình, máy in, loa, ...
  • 6. Phần mềm máy tính • Phần mềm (Software) là một tập hợp những câu lệnh được viết bằng một hoặc nhiều ngôn ngữ lập trình theo một trật tự xác định nhằm tự động thực hiện một số chức năng hoặc giải quyết một bài toán nào đó. • Phân loại phần mềm dựa trên phương thức hoạt động – Phần mềm hệ thống: Hệ điều hành, Driver, Firmware – Phần mềm ứng dụng: Văn phòng, trò chơi, … – Phần mềm chuyển dịch (gồm trình biên dịch và trình thông dịch): Công cụ lập trình
  • 7. Các mức của ngôn ngữ lập trình • Ngôn ngữ: – Ngôn ngữ trong máy tính là một công cụ để thực hiện việc giao tiếp giữa người và máy. • Lệnh: – Lệnh là tập hợp một nhóm các ký hiệu của một ngôn ngữ nào đó nhằm giúp cho người lập trình có thể xây dựng chương trình trên ngôn ngữ đó.
  • 8. Các mức của ngôn ngữ lập trình Cấu trúc phân cấp của ngôn ngữ trên máy tính
  • 9. Các mức của ngôn ngữ lập trình • Ngôn ngữ máy: Gồm một tập hợp các câu lệnh được mã hóa theo các số nhị phân 0 và 1, đây là ngôn ngữ mà máy hiểu được khi đưa vào trực tiếp. • Hợp ngữ: Gồm một tập hợp các ký tự gợi nhớ cho phép thuận tiện trong việc viết chương trình hơn. Một lệnh của hợp ngữ tương ứng với một lệnh của mã máy. • Ngôn ngữ bậc cao: Gồm các ngôn ngữ được thiết kế cho người lập trình ứng dụng. Ví dụ: Pascal, C, C++, Java, Fortran, Cobol
  • 10. Biên dịch và chạy chương trình • Chú ý: Tất cả các chương trình viết bằng ngôn ngữ lập trình bậc cao đều phải được chuyển sang ngôn ngữ máy trước khi thực thi. Lệnh trong C++ Kết quả chạy cout<<“Hello, World !”; Hello, World ! Dịch lệnh Thực hiện lệnh Lệnh mã máy 1110010100011101 1001110111011011 …
  • 11. Giới thiệu C++ • C++ là một loại ngôn ngữ lập trình bậc cao có các chức năng hướng đối tượng. • Bjarne Stroustrup đã phát triển C++ theo phương thức C++ = C + OO (Object Oriented) • Những bổ sung của C++ so với C bắt đầu với sự thêm vào của khái niệm lớp, tiếp theo đó là các khái niệm hàm ảo, toán tử quá tải, đa kế thừa và xử lý ngoại lệ. • Một số công vụ hỗ trợ cho lập trình C++: – Borland C++ của hãng Borland – Microsoft Visual C++ của hàng Microsoft
  • 12. Các thành phần cơ bản của chương trình C++ • <các thư viện>: Nơi chứa các chức năng cơ bản do trình biên dịch cung cấp hoặc các chức năng do người lập trình đã định nghĩa trước đó. Các thư viện này thường có đuôi .h • <các biến, hằng, hàm toàn cục>: Là nơi chứa các thành phần có thể được sử dụng ở bất kỳ nơi nào trong chương trình • <hàm main>: Là điểm vào bắt đầu của chương trình.
  • 13. Một số chú ý khi lập trình • Ngôn ngữ C++ phân biệt chữ hoa và chữ thường. Ví dụ: float khác với Float • Kết thúc mỗi câu lệnh phải có dấu ; (chấm phảy) • Không đặt tên biến, hằng, … trùng với các từ khóa của C++. Ví dụ: void, const, … • Sử dụng chú thích: – Sử dụng dấu // để chú thích trên 1 dòng lệnh – Sử dụng dấu /* và */ để chú thích trên nhiều dòng lệnh
  • 14. Một số khái niệm và câu lệnh cơ bản của chương trình C++ • Lệnh hiển thị ký tự lên màn hình: – Cú pháp: cout << chuỗi ký tự 1 << chuỗi ký tự 2 << … << chuỗi ký tự n; Chú ý: Khi hiển thị thông tin trên màn hình ở dạng chuỗi ký tự (1 dãy các chữ) ta cần phải bao chuỗi ký tự đó giữa 2 dấu nháy kép. Ví dụ: “Chao cac ban” – Ví dụ: • Hiển thị chữ Hello World !!! lên màn hình Cách 1: cout << “Hello World !!!”; Cách 2: cout << “Hello” << “ World” << “ !!!”;
  • 15. Một số khái niệm và câu lệnh cơ bản của chương trình C++ – Các ký tự đặc biệt được sử dụng để định dạng hiển thị dữ liệu: • t : Tab • n (endl) : Xuống dòng • : Hiển thị chữ • Ví dụ: – Hiển thị chữ Hello World !!! với mỗi chữ trên 1 dòng Cách 1: cout << “Hello” << endl << “World !!!”; Cách 2: cout << “Hello n World !!!”;
  • 16. Một số khái niệm và câu lệnh cơ bản của chương trình C++ • Biến: Là thành phần mà giá trị của nó có thể bị thay đổi trong chương trình. Trong C++, muốn dùng biến ta cần phải khai báo trước khi sử dụng. – Khai báo biến: • Cú pháp: <kiểu dữ liệu> <tên các biến>; Chú ý: Nếu khai báo nhiều biến thì các biến cách nhau bởi dấu phảy • Ví dụ: int a; // Khai báo một biến số nguyên có tên là a float x; // Khai báo một biến số thực có tên là x long m, n; // Khai báo 2 biến số nguyên dài có tên là m và n
  • 17. Một số khái niệm và câu lệnh cơ bản của chương trình C++ – Khai báo và khởi gán giá trị cho biến: • Cú pháp: <kiểu dữ liệu> <tên biến> = <giá trị>; • Ví dụ: int a = 6; // Khai báo một biến số nguyên có tên là a và a nhận giá trị ban đầu là 6. float x = 5.67; // Khai báo một biến số thực có tên là x và x nhận giá trị ban đầu là 5.67 long m = 9, n = 15; // Khai báo 2 biến số nguyên dài có tên là m và n; trong đó m nhận giá trị ban đầu là 9 và n nhận giá trị ban đầu là 15
  • 18. Một số khái niệm và câu lệnh cơ bản của chương trình C++ – Hiển thị giá trị của biến lên màn hình • Cú pháp: cout << tên biến 1 << tên biến 2 << …. << tên biến n; • Ví dụ: int a = 6; float b = 6.78; cout << a; // Hiển thị giá trị của a lên màn hình cout << a << b; // Hiển thị giá trị của a và b lên màn hình
  • 19. Một số khái niệm và câu lệnh cơ bản của chương trình C++ • Hằng: Là thành phần mà giá trị của nó không thể bị thay đổi trong chương trình. Trong C++, muốn dùng hằng ta cần phải khai báo giá trị trước khi sử dụng. – Khai báo và khởi gán giá trị cho hằng: • Cú pháp: const <kiểu dữ liệu> <tên hằng> = <giá trị>; Chú ý: Người ta quy ước tên hằng số luôn để chữ hoa • Ví dụ: const int HANG1 = 6; // Khai báo một hằng số nguyên có tên là HANG1 và giá trị của hằng số này là 6 const float PI = 3.14, E = 2.72; // Khai báo 2 hằng số thực có tên là PI và E; trong đó PI nhận giá trị là 3.14 còn E nhận giá trị 2.72
  • 20. Một số khái niệm và câu lệnh cơ bản của chương trình C++ – Hiển thị giá trị của hằng lên màn hình • Cú pháp: cout << tên hằng 1 << tên hằng 2 << …. << tên hằng n; • Ví dụ: const int HANG1 = 6; const float PI = 3.14, E = 2.72; cout << HANG1; // Hiển thị giá trị của HANG1 lên màn hình cout << PI << E; // Hiển thị giá trị của hằng PI và E lên màn hình
  • 21. Một số khái niệm và câu lệnh cơ bản của chương trình C++ • Câu lệnh tổng quát hiển thị dữ liệu lên màn hình: – Cú pháp: cout << tham số 1 << tham số 2 << … << tham số n; Tham số: Là dữ liệu kiểu chuỗi, biến, hằng, … – Ví dụ: int xep_thu = 6; float diem_trung_binh = 9.4; cout << “Ban Trung co diem trung binh la:” << diem_trung_binh << “ va xep thu “ << xep_thu << “ o trong lop !” << endl;
  • 22. Một số khái niệm và câu lệnh cơ bản của chương trình C++ • Câu lệnh nhập dữ liệu cho biến từ bàn phím – Cú pháp: cin >> biến 1 >> biến 2 >> …. >> biến n; – Ví dụ: • Nhập giá trị cho biến số nguyên x rồi hiển thị giá trị của x lên màn hình int x; cout << “Hay nhap gia tri cho bien x: “; cin >> x; cout << “Gia tri cua bien x la: “ << x << endl;
  • 23. Một số khái niệm và câu lệnh cơ bản của chương trình C++ • Toán tử – Các toán tử cơ bản + (cộng), - (trừ), * (nhân), / (chia) – Các toán tử với kiểu số nguyên / (chia lấy phần nguyên), % (chia lấy phần dư) – Ví dụ: b2 – 4ac = b*b – 4*a*c – Thứ tự ưu tiên các toán tử: Như trong toán học (Ưu tiên trong ngoặc trước, tiếp đến là nhân chia trước, cộng trừ sau)
  • 24. Một số khái niệm và câu lệnh cơ bản của chương trình C++ • Biểu thức – Biểu thức đơn: Là biểu thức chỉ có 1 toán hạng. Toán hạng này có thể là một giá trị cụ thể, có thể là một hằng hoặc biến. • Ví dụ: 98 tong_day_so PI – Biểu thức có toán tử: Là biểu thức trong đó có sự kết hợp giữa các toán hạng và toán tử. • Ví dụ: a+b a+b*c PI * E 23 + 56
  • 25. Một số khái niệm và câu lệnh cơ bản của chương trình C++ • Phép gán – Cú pháp: <biến> = <biểu thức>; – Quy tắc: Tính toán giá trị của biểu thức ở bên về phải, được giá trị bao nhiêu sẽ đưa vào cho biến. – Ví dụ: int a = 7, b = 9, c; c = 5; c = a + b; a = a * b + c; b = b + 1;
  • 26. Các kiểu dữ liệu cơ bản trong C++ Tên Độ dài Mô tả Miền giá trị Có dấu Không dấu char 1 byte Ký tự hay số -128 đến 127 0 đến 255 nguyên 8 bit short 2 bytes Số nguyên -32763 đến 0 đến 65535 16 bit 32762 long 4 bytes Số nguyên -2147483648 0 đến 32 bit đến 4294967295 2147483647 int Trên Trên như kiểu như kiểu Windows là Windows là long long 4 bytes số nguyên 32 bit
  • 27. Các kiểu dữ liệu cơ bản trong C++ Tên Độ dài Mô tả Miền giá trị float 4 bytes Số thực 3.4E-38 đến 3.4E+38 dạng dấu phảy động double 8 bytes Số thực 1.7E-308 đến 1.7E+308 dạng dấu phảy động long double 10 bytes Số thực 1.2E-4932 đến 1.2E+4932 dạng dấu phảy động bool 1 byte Kiểu logic true hoặc false
  • 28. Ép kiểu • Ép kiểu được sử dụng để đưa kiểu dữ liệu của một biến hay một hằng về dạng dữ liệu có kiểu mong muốn tại một thời điểm xác định. – Cú pháp: (kiểu dữ liệu) <tên biến>; – Ví dụ: int a = 6; float b = (float) a; //Ép biến a về số thực và gán cho b, tuy nhiên a vẫn là số nguyên
  • 29. Ép kiểu • Ép kiểu trong biểu thức: – Quy tắc tính toán trong biểu thức: <số nguyên> <toán tử> <số nguyên> => <số nguyên> <số thực> <toán tử> <số thực> => <số thực> <số nguyên> <toán tử> <số thực> => <số thực> – Ví dụ: int a = 5; float x = 6.7; cout << x * a << endl; cout << (int) x * a << endl;
  • 30. Các bước giải bài toán 1. Đầu bài: Tính tiền Sưu Tập 2. Phân tích bài toán – Tính giá trị của một bộ sưu tập gồm các đồng 5 xu và 1 xu. – Input : Số đồng nickel (5 xu) và penny (1 xu). – Output : Giá trị tiền của bộ sưu tập bằng đôla và xu. – Biết rằng : 1 đồng nickel = 5 xu 1 đồng penny = 1 xu 1 đôla = 100 xu
  • 31. Các bước giải bài toán 3. Thiết kế thuật toán 1. Nhập số đồng nickel và đồng penny 2. Tính tổng giá trị xu 3. Đổi giá trị xu sang đôla và xu lẻ 4. Hiển thị kết quả đôla và xu lẻ 4. Làm mịn (refine) thuật toán Tính tổng giá trị xu 1. Tổng giá trị xu = 5*Số đồng nickel + Số đồng penny. Đổi giá trị xu sang đôla và xu lẻ 1. Số đôla = Phần nguyên của Tổng giá trị xu chia 100. 2. Số xu lẻ = Phần dư của Tổng giá trị xu chia 100.
  • 32. Các bước giải bài toán 5. Cài đặt #include <iostream.h> void main() { // Khai bao bien int nickel; int penny; int giatrixu; int dola; int xule; // Nhap so dong nickel va penny cout<<quot;Nhap so dong nickel : quot;; cin>>nickel; cout<<quot;Nhap so dong penny : quot;; cin>>penny;
  • 33. Các bước giải bài toán // Tinh tong gia tri xu giatrixu = 5*nickel + penny; // Tinh gia tri dola va xu le dola = giatrixu / 100; xule = giatrixu % 100; // Hien thi ket qua cout<<quot;Bo suu tap cua ban co gia tri la quot;<<dola<<quot; dola va“ <<xule<<quot; xuquot;; }
  • 34. Các bước giải bài toán 6. Kiểm tra chương trình Nhap so dong nickel : 37 Nhap so dong penny : 25 Bo suu tap cua ban co gia tri la 2 dola va 10 xu
  • 35. Một số loại lỗi thường gặp và cách thức xử lý lỗi • Lỗi cú pháp xuất hiện khi dịch chương trình – Thiếu dấu chấm phảy – Biến chưa khai báo – Gõ sai tên biến – Không tương thích kiểu dữ liệu… – => Sửa lỗi dựa trên lời báo lỗi của chương trình dịch • Lỗi xuất hiện khi chạy chương trình – Chia cho không – Khai căn của số âm – Nhập sai kiểu dữ liệu… – => Xem lại đoạn lệnh gây lỗi khi chạy
  • 36. Một số loại lỗi thường gặp và cách thức xử lý lỗi • Lỗi logic xuất hiện do thiết kế thuật toán không đúng – Lỗi rất đa dạng – => Xem lại quá trình cài đặt thuật toán và thiết kế thuật toán – => Xen kẽ các câu lệnh in kết quả trung gian – => Sử dụng chương trình debug
  • 37. Thực hành trên máy 1. Chạy Visual C++ 6.0 2. Tạo một dự án (project) 3. Tạo tập tin nguồn 4. Soạn thảo lệnh 5. Dịch chương trình 6. Chạy chương trình 7. Sửa lỗi (nếu có)