Bài giảng Giới thiệu lập trình - Chương 1: Giới thiệu - 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 - 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:
bai_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
- 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
- ơ 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
- 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
- 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
- ơ 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
- 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
- ơ 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
- ơ 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
- ơ 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
- ơ 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
- ơ 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
- ơ 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
- ơ 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
- ơ 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
- ơ 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
- ơ 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
- ơ 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- ơ 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
- /* 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
- ơ 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
- 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
- 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