Bài giảng Giới thiệu lập trình - Chương 1: Giới thiệu - Lê Nguyên Khôi

pdf 31 trang hoanguyen 3460
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Giới thiệu lập trình - Chương 1: Giới thiệu - Lê Nguyên Khôi", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbai_giang_gioi_thieu_lap_trinh_chuong_1_gioi_thieu_le_nguyen.pdf

Nội dung text: Bài giảng Giới thiệu lập trình - Chương 1: Giới thiệu - Lê Nguyên Khôi

  1.  Khái ni ệm v ề ch ươ ng trình và l ập trình  Cấu trúc m ột ch ươ ng trình  Biên so ạn, biên dịch ch ươ ng trình  Chạy ch ươ ng trình  Sửa và gỡ lỗi ch ươ ng trình  Môi tr ườ ng l ập trình Gi ới Thi ệu Lập Trình 1
  2. ơ  Một dãy các l ệnh (instruction) cho máy tính  Máy tính không th ể t ự v ận hành  Cần mệnh lệnh để ho ạt độ ng  Máy tính ch ạy các l ệnh c ủa ch ươ ng trình t ại b ộ xử lý trung tâm (CPU)  Ch ươ ng trình ch ạy sai  Không ph ải do lỗi máy tính  Do các lệnh hướ ng dẫn máy tính sai  Lập trình viên tìm và sửa lỗi Gi ới Thi ệu L ập Trình 2
  3.  Quá trình t ạo ra ch ươ ng trình gi ải quy ết v ấn đề cụ th ể b ằng máy tính, bao gồm:  Phân tích vấn đề  Xây dựng gi ải pháp  Đánh giá gi ải pháp  Cài đặ t gi ải pháp  Ki ểm th ử  Gỡ lỗi  Tối ưu Gi ới Thi ệu L ập Trình 3
  4. o  Điều khi ển máy tính  Gi ải quy ết nhi ều vấn đề hi ện đạ i  Tr ải nghi ệm sáng tạo thú vị  Khai phá ti ềm năng trí tu ệ Gi ới Thi ệu L ập Trình 4
  5. ơ  Tính đúng đắ n (correctness)  Kết qu ả tươ ng ứng với thông tin đầ u vào  Tính ch ịu lỗi (robustness)  Xử lý: lỗi khi ch ạy, thông tin đầ u vào sai  Tính dễ dùng (usability)  Ng ườ i dùng dễ dàng sử dụng  Tính kh ả chuy ển (portatbility)  Thích nghi trong các môi tr ườ ng khác nhau  Tính bảo trì (maintainability)  Dễ dàng sửa đổ i, nâng cấp  Tính hi ệu qu ả (efficiency)  Độ tin cậy, tốc độ xử lý, tài nguyên sử dụng, ít rủi ro Gi ới Thi ệu L ập Trình 5
  6.  Sau khi xây dựng gi ải pháp, đánh giá gi ải pháp, lập trình viên ti ến hành gi ải đặ t gi ải pháp (vi ết ch ươ ng trình)  Sử dụng ngôn ng ữ:  Ngôn ng ữ máy: tr ực ti ếp điều khi ển bộ vi xử lý  Ngôn ng ữ tự nhiên: máy không hi ểu  Ngôn ng ữ bậc cao: C, C++ , Java, C#, Python  Có th ể chuy ển thành ngôn ng ữ máy  Sử dụng công cụ, ch ươ ng trình dịch  Gần với ngôn ng ữ tự nhiên  Dễ đọ c, dễ hi ểu, dễ trao đổ i Gi ới Thi ệu L ập Trình 6
  7. ơ  So ạn th ảo  Biên dịch  Ch ạy ch ươ ng trình  Ki ểm th ử  Gỡ lỗi Gi ới Thi ệu L ập Trình 7
  8. ơ o  Tải và cài đặ t MinGW32  Biên so ạn ch ươ ng trình sử dụng Notepad  Lưu ch ươ ng trình vào với ph ần mở rộng .cpp  Mở ch ươ ng trình Command Prompt , truy cập đế n th ư mục đã lưu tệp  Biên dịch ch ươ ng trình sử dụng g++ đượ c tệp có ph ần mở rộng .exe (ch ươ ng trình)  Ch ạy ch ươ ng trình với các bộ dữ li ệu khác nhau để phát hi ện lỗi Gi ới Thi ệu L ập Trình 8
  9. ơ  Yêu cầu máy tính in ra dòng “Hello, World !!!” #include using namespace std; int main() { cout << "Hello, World !!!" << endl; return 0; } Gi ới Thi ệu L ập Trình 9
  10. ơ  Yêu cầu máy tính in ra dòng “Hello, World !!!” #include using namespace std; int main() điểm bắt đầ u { ch ươ ng trình cout << b"Hello,ắt đầ u World !!!" << endl; return 0; kết thúc } Gi ới Thi ệu L ập Trình 10
  11. ơ  Yêu cầu máy tính in ra dòng “Hello, World !!!” #include tải th ư vi ện using namespace std; tải không gian int main() tên { cout << "Hello, World !!!" << endl; return 0; } Gi ới Thi ệu L ập Trình 11
  12. ơ  Yêu cầu máy tính in ra dòng “Hello, World !!!” #include using namespace std; mệnh lệnh in In tất cả gi ữa 2 ra màn hình dấu nháy kép “” ố int main() xu ng dòng { cout << "Hello, World !!!" << endl; return 0; } Gi ới Thi ệu L ập Trình 12
  13. ơ  Yêu cầu máy tính in ra dòng “Hello, World !!!” #include Thông báo với hệ điều using namespacehành khôngstd; có lỗi xảy ra. Giá tr ị khác 0, xảy ra lỗi int main() trong quá trình ch ạy. { cout << "Hello, World !!!" << endl; return 0; } Gi ới Thi ệu L ập Trình 13
  14. ơ  Yêu cầu máy tính in ra dòng “Hello, World !!!” sau đó dòng “I am a computer” #include using namespace std; int main() { cout << "Hello, World !!!" << endl; return 0; } Gi ới Thi ệu L ập Trình 14
  15. ơ  In nhi ều dòng liên tục #include using namespace std; int main() { cout << "Hello, World !!!" << endl; cout << "I am a computer" << endl; return 0; } Gi ới Thi ệu L ập Trình 15
  16. ơ  In nhi ều dòng liên tục #include using namespace std; không có dấu ch ấm ph ẩy int main() { cout << "Hello, World !!!" << endl ; cout << "I am a computer" << endl; return 0; } Gi ới Thi ệu L ập Trình 16
  17. ơ  Tính t ổng & hi ệu c ủa 2 s ố nguyên a và b  Xây dựng gi ải pháp: 1. Nh ập 2 s ố nguyên a và b 2. Tính t ổng & hi ệu c ủa a và b 3. Lưu các giá tr ị c ủa t ổng & hi ệu sau khi tính 4. In ra t ổng & hi ệu  Ki ểm tra gi ải pháp với các cặp số khác nhau Gi ới Thi ệu L ập Trình 17
  18. o /* ch ươ ng trình C++ tính tổng & hi ệu 2 s ố nguyên */ #include using namespace std; int main() { int soThu1, soThu2; // khai báo cin >> soThu1; // nh ập d ữ li ệu cin >> soThu2; // nh ập dữ li ệu int tong, hieu; // khai báo tong = soThu1 + soThu2; // tính t ổng hieu = soThu1 – soThu2; // tính hi ệu cout << "tong: " << tong << endl; // in kết qu ả cout << "hieu: " << hieu << endl; // in k ết qu ả return 0; } Gi ới Thi ệu L ập Trình 18
  19. o ậ /* ch ươ ng trình C++ tính tổng & hi ệu 2 s ố nguyên */ #include using namespace std; int main() { int soThu1, soThu2; // khai báo cin >> soThu1; // nh ập d ữ li ệu cin >> soThu2; // nh ập dữ li ệu int tong, hieu; // khai báo tong = soThu1 + soThu2; // tính t ổng hieu = soThu1 – soThu2; // tính hi ệu cout << "tong: " << tong << endl; // in kết qu ả cout << "hieu: " << hieu << endl; // in k ết qu ả return 0; } Gi ới Thi ệu L ập Trình 19
  20. o ộ ầ ữ ừ /* ch ươ ng trình C++ tính tổng & hi ệu 2 s ố nguyên */ #include using namespace std ; int main () { int soThu1, soThu2; // khai báo cin >> soThu1; // nh ập d ữ li ệu cin >> soThu2; // nh ập dữ li ệu int tong, hieu; // khai báo tong = soThu1 + soThu2; // tính t ổng hieu = soThu1 – soThu2; // tính hi ệu cout << "tong: " << tong << endl ; // in kết qu ả cout << "hieu: " << hieu << endl ; // in k ết qu ả return 0; } Gi ới Thi ệu L ập Trình 20
  21. o ử /* ch ươ ng trình C++ tính tổng & hi ệu 2 s ố nguyên */ #include using namespace std; int main() { int soThu1, soThu2; // khai báo cin >> soThu1; // nh ập d ữ li ệu cin >> soThu2; // nh ập dữ li ệu int tong, hieu; // khai báo tong = soThu1 + soThu2; // tính t ổng hieu = soThu1 – soThu2; // tính hi ệu cout << "tong: " << tong << endl; // in kết qu ả cout << "hieu: " << hieu << endl; // in k ết qu ả return 0; } Gi ới Thi ệu L ập Trình 21
  22. o ự ệ ệ ệ ế ằ ấu /* ch ươ ng trình C++ tính tổng & hi ệu 2 s ố nguyên */ #include using namespace std; int main() { int soThu1, soThu2; // khai báo cin >> soThu1; // nh ập d ữ li ệu cin >> soThu2; // nh ập dữ li ệu int tong, hieu; // khai báo tong = soThu1 + soThu2; // tính t ổng hieu = soThu1 – soThu2; // tính hi ệu cout << "tong: " << tong << endl; // in kết qu ả cout << "hieu: " << hieu << endl; // in k ết qu ả return 0; } Gi ới Thi ệu L ập Trình 22
  23. o ốu ệ ở ặ /* ch ươ ng trình C++ tính tổng & hi ệu 2 s ố nguyên */ #include using namespace std; int main() { int soThu1, soThu2; // khai báo cin >> soThu1; // nh ập d ữ li ệu cin >> soThu2; // nh ập dữ li ệu int tong, hieu; // khai báo tong = soThu1 + soThu2; // tính t ổng hieu = soThu1 – soThu2; // tính hi ệu cout << "tong: " << tong << endl; // in kết qu ả cout << "hieu: " << hieu << endl; // in k ết qu ả return 0; } Gi ới Thi ệu L ập Trình 23
  24. o u ệ ượ ặ ể ự ệ ệ ụ /* ch ươ ng trình C++ tính tổng & hi ệu 2 s ố nguyên */ #include using namespace std; int main() { int soThu1, soThu2; // khai báo cin >> soThu1; // nh ập d ữ li ệu cin >> soThu2; // nh ập dữ li ệu int tong, hieu; // khai báo tong = soThu1 + soThu2; // tính t ổng hieu = soThu1 – soThu2; // tính hi ệu cout << "tong: " << tong << endl; // in kết qu ả cout << "hieu: " << hieu << endl; // in k ết qu ả return 0; } Gi ới Thi ệu L ập Trình 24
  25. o ế ươ ườ ọ ểu /* ch ươ ng trình C++ tính tổng & hi ệu 2 s ố nguyên */ #include using namespace std; int main() { int soThu1, soThu2; // khai báo cin >> soThu1; // nh ập d ữ li ệu cin >> soThu2; // nh ập dữ li ệu int tong, hieu; // khai báo tong = soThu1 + soThu2; // tính t ổng hieu = soThu1 – soThu2; // tính hi ệu cout << "tong: " << tong << endl; // in kết qu ả cout << "hieu: " << hieu << endl; // in k ết qu ả return 0; } Gi ới Thi ệu L ập Trình 25
  26. ơ  Vi ết ch ươ ng trình (sử dụng Notepad ) và lưu vào tệp TongHieu.cpp  Mở Command Prompt (cmd ), chuy ển đế n th ư mục lưu tệp ucln.cpp  Dịch ch ươ ng trình, gõ: g++ TongHieu .cpp , sẽ chuy ển mã ngu ồn ngôn ng ữ bậc cao sang ngôn ng ữ máy và lưu vào a.exe  Gõ g++ TongHieu.cpp –o TongHieu.exe để lưu vào tệp với tên mong mu ốn (TongHieu.exe )  Ch ạy ch ươ ng trình, gõ TongHieu.exe Gi ới Thi ệu L ập Trình 26
  27. /* ch ươ ng trình C++ tính t ổng & hi ệu 2 s ố nguyên */ #include using namespace std; int main() { in soThu1, soThu2; // khai báo cin >> soThu1; // nh ập d ữ li ệu cin >> soThu2; // nh ập d ữ li ệu  Gõ sai ch ươ ng trình  Dịch mã ngu ồn ngôn ng ữ bậc cao (C++) báo lỗi TongHieu.cpp:7:5: error: “in” was not declared in this scope in soThu1, soThu2; ^ Gi ới Thi ệu L ập Trình 27
  28. ơ  Ki ểm tra kết qu ả ch ươ ng trình  Dữ li ệu: 3 và 10  Kết qu ả: Tong: 13 Hieu: -7  Luôn luôn ki ểm tra ch ươ ng trình với một bộ dữ li ệu đượ c lựa ch ọn cẩn th ận để phát hi ện nh ững lỗi không mong mu ốn (lỗi ch ạy)  Ki ểm tra th ườ ng bị quên Gi ới Thi ệu L ập Trình 28
  29.  CodeBlocks  So ạn th ảo tệp văn bản ch ươ ng trình  Ghi vào file có đuôi .cpp  Biên dịch: Build > Compile current file  Ch ạy: Build > Run Gi ới Thi ệu L ập Trình 29
  30.  Biên so ạn và ch ạy 02 ch ươ ng trình trên theo các bướ c nh ư trong slide 26  Tìm hi ểu sự phát tri ển các ngôn ng ữ lập trình  Mượ n sách th ư vi ện  Tìm hi ểu codepower.vn  Tìm hi ểu CodeBlocks  Slide bài gi ảng tải từ website môn học ho ặc website bài tập codepower.vn Gi ới Thi ệu L ập Trình 30