Bài giảng Giới thiệu lập trình - Lê Nguyên Khôi
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 - 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:
- bai_giang_gioi_thieu_lap_trinh_le_nguyen_khoi.pdf
Nội dung text: Bài giảng Giới thiệu lập trình - Lê Nguyên Khôi
- Nội Dung 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 Gi ới Thi ệu Lập Trình Môi tr ườ ng l ập trình Gi ới Thi ệu TS. Lê Nguyên Khôi Tr ườ ng Đại học Công ngh ệ, ĐHQGHN Gi ới Thi ệu Lập Trình 1 Ch ươ ng Trình Lập Trình Một dãy các l ệnh (instruction) cho máy tính Quá trình t ạo ra ch ươ ng trình gi ải quy ết v ấn đề Máy tính không th ể t ự v ận hành cụ th ể b ằng máy tính, bao gồm: Cần mệnh lệnh để ho ạt độ ng Phân tích vấn đề Máy tính ch ạy các l ệnh c ủa ch ươ ng trình t ại b ộ Xây dựng gi ải pháp xử lý trung tâm (CPU) Đánh giá gi ải pháp Cài đặ t gi ải pháp Ch ươ ng trình ch ạy sai Ki ểm th ử Không ph ải do lỗi máy tính Gỡ lỗi Do các lệnh hướ ng dẫn máy tính sai Tối ưu Lập trình viên tìm và sửa lỗi Gi ới Thi ệu L ập Trình 2 Gi ới Thi ệu L ập Trình 3 Tại Sao Cần Lập Trình Đánh Giá Ch ươ ng Trình Tính đúng đắ n (correctness) Đ ề ể i u khi n máy tính Kết qu ả tươ ng ứng với thông tin đầ u vào Gi ải quy ết nhi ều vấn đề hi ện đạ i Tính ch ịu lỗi (robustness) Tr ải nghi ệm sáng tạo thú vị Xử lý: lỗi khi ch ạy, thông tin đầ u vào sai Tính dễ dùng (usability) Khai phá ti ềm năng trí tu ệ 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 4 Gi ới Thi ệu L ập Trình 5 1
- Cài Đặt Gi ải Pháp Trình Tự Xây Dựng Ch ươ ng Trình 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 So ạn th ảo (vi ết ch ươ ng trình) Biên dịch Sử dụng ngôn ng ữ: Ch ạy ch ươ ng trình Ngôn ng ữ máy: tr ực ti ếp điều khi ển bộ vi xử lý Ki ểm th ử Ngôn ng ữ tự nhiên: máy không hi ểu Gỡ lỗi 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 Gi ới Thi ệu L ập Trình 7 Ch ươ ng Trình Trong Ngôn Ng ữ C++ Ch ươ ng Trình Đầu Tiên Yêu cầu máy tính in ra dòng “Hello, World !!!” Tải và cài đặ t MinGW32 Biên so ạn ch ươ ng trình sử dụng Notepad #include 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 using namespace std; đế n th ư mục đã lưu tệp int main() 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) cout #include tải th ư vi ện using namespace std; using namespace std; tải không gian int main() điểm bắt đầ u int main() tên { ch ươ ng trình { cout << b"Hello,ắt đầ u World !!!" << endl; cout << "Hello, World !!!" << endl; return 0; return 0; kết thúc } } Gi ới Thi ệu L ập Trình 10 Gi ới Thi ệu L ập Trình 11 2
- Ch ươ ng Trình Đầu Tiên Ch ươ ng Trình Đầu Tiên Yêu cầu máy tính in ra dòng “Hello, World !!!” Yêu cầu máy tính in ra dòng “Hello, World !!!” #include #include Thông báo với hệ điều hành không có lỗi xảy ra. using namespace std;ấ ả ữ using namespace std; mệnh lệnh in In t t c gi a 2 Giá tr ị khác 0, xảy ra lỗi ra màn hình dấu nháy kép “” ố int main() xu ng dòng int main() trong quá trình ch ạy. { { cout #include using namespace std; using namespace std; int main() int main() { { cout 1. Nh ập 2 s ố nguyên a và b using namespace std; không có dấu 2. Tính t ổng & hi ệu c ủa a và b ch ấm ph ẩy 3. Lưu các giá tr ị c ủa t ổng & hi ệu sau khi tính int main() 4. In ra t ổng & hi ệu { cout << "Hello, World !!!" << endl ; Ki ểm tra gi ải pháp với các cặp số khác nhau cout << "I am a computer" << endl; return 0; } Gi ới Thi ệu L ập Trình 16 Gi ới Thi ệu L ập Trình 17 3
- Tổng & Hi ệu 2 S ố Nguyên Trong C++ Tổng & Hi ệu 2 S ố Nguyên Trong C++ ậ /* ch ươ ng trình C++ tính tổng & hi ệu 2 s ố nguyên */ /* ch ươ ng trình C++ tính tổng & hi ệu 2 s ố nguyên */ #include #include using namespace std; using namespace std; int main() int main() { { int soThu1, soThu2; // khai báo int soThu1, soThu2; // khai báo cin >> soThu1; // nh ập d ữ li ệu cin >> soThu1; // nh ập d ữ li ệu cin >> soThu2; // nh ập dữ li ệu cin >> soThu2; // nh ập dữ li ệu int tong, hieu; // khai báo int tong, hieu; // khai báo tong = soThu1 + soThu2; // tính t ổng tong = soThu1 + soThu2; // tính t ổng hieu = soThu1 – soThu2; // tính hi ệu hieu = soThu1 – soThu2; // tính hi ệu cout #include using namespace std ; using namespace std; int main () int main() { { int soThu1, soThu2; // khai báo int soThu1, soThu2; // khai báo cin >> soThu1; // nh ập d ữ li ệu cin >> soThu1; // nh ập d ữ li ệu cin >> soThu2; // nh ập dữ li ệu cin >> soThu2; // nh ập dữ li ệu int tong, hieu; // khai báo int tong, hieu; // khai báo tong = soThu1 + soThu2; // tính t ổng tong = soThu1 + soThu2; // tính t ổng hieu = soThu1 – soThu2; // tính hi ệu hieu = soThu1 – soThu2; // tính hi ệu cout #include using namespace std; using namespace std; int main() int main() { { int soThu1, soThu2; // khai báo int soThu1, soThu2; // khai báo cin >> soThu1; // nh ập d ữ li ệu cin >> soThu1; // nh ập d ữ li ệu cin >> soThu2; // nh ập dữ li ệu cin >> soThu2; // nh ập dữ li ệu int tong, hieu; // khai báo int tong, hieu; // khai báo tong = soThu1 + soThu2; // tính t ổng tong = soThu1 + soThu2; // tính t ổng hieu = soThu1 – soThu2; // tính hi ệu hieu = soThu1 – soThu2; // tính hi ệu cout << "tong: " << tong << endl; // in kết qu ả cout << "tong: " << tong << endl; // in kết qu ả cout << "hieu: " << hieu << endl; // in k ết qu ả cout << "hieu: " << hieu << endl; // in k ết qu ả return 0; return 0; } } Gi ới Thi ệu L ập Trình 22 Gi ới Thi ệu L ập Trình 23 4
- Tổng & Hi ệu 2 S ố Nguyên Trong C++ Tổng & Hi ệu 2 S ố Nguyên Trong C++ u ệ ượ ặ ể ự ệ ệ ụ ế ươ ườ ọ ểu /* ch ươ ng trình C++ tính tổng & hi ệu 2 s ố nguyên */ /* ch ươ ng trình C++ tính tổng & hi ệu 2 s ố nguyên */ #include #include using namespace std; using namespace std; int main() int main() { { int soThu1, soThu2; // khai báo int soThu1, soThu2; // khai báo cin >> soThu1; // nh ập d ữ li ệu cin >> soThu1; // nh ập d ữ li ệu cin >> soThu2; // nh ập dữ li ệu cin >> soThu2; // nh ập dữ li ệu int tong, hieu; // khai báo int tong, hieu; // khai báo tong = soThu1 + soThu2; // tính t ổng tong = soThu1 + soThu2; // tính t ổng hieu = soThu1 – soThu2; // tính hi ệu hieu = soThu1 – soThu2; // tính hi ệu cout vào tệp TongHieu.cpp using namespace std; int main() ở ể đế ư M Command Prompt (cmd ), chuy n n th { mục lưu tệp ucln.cpp in soThu1, soThu2; // khai báo cin >> soThu1; // nh ập d ữ li ệu ị ươ g++ TongHieu .cpp , sẽ D ch ch ng trình, gõ: cin >> soThu2; // nh ập d ữ li ệu 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õ sai ch ươ ng trình Gõ g++ TongHieu.cpp –o TongHieu.exe để lưu vào Dịch mã ngu ồn ngôn ng ữ bậc cao (C++) báo lỗi tệp với tên mong mu ốn (TongHieu.exe ) TongHieu.cpp:7:5: error: “in” was not declared in this scope ạ ươ Ch y ch ng trình, gõ TongHieu.exe in soThu1, soThu2; ^ Gi ới Thi ệu L ập Trình 26 Gi ới Thi ệu L ập Trình 27 Ki ểm Tra Ch ươ ng Trình Công Cụ Hỗ Tr ợ Lập Trình Ki ểm tra kết qu ả ch ươ ng trình CodeBlocks Dữ li ệu: 3 và 10 So ạn th ảo tệp văn bản ch ươ ng trình Kết qu ả: Tong: 13 Hieu: -7 Ghi vào file có đuôi .cpp Luôn luôn ki ểm tra ch ươ ng trình với một bộ dữ Biên dịch: Build > Compile current file li ệu đượ c lựa ch ọn cẩn th ận để phát hi ện Ch ạy: Build > Run 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 Gi ới Thi ệu L ập Trình 29 5
- Bài Tập 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 6