Khái Khái niệm niệm cơ cơ bản bản về về lập lập trình trình... Các Các ngôn ngôn ngữ ngữ lập lập trình trình... Khái Khái niệm niệm cơ cơ bản bản về về lập lập trình trình... Các Các ngô
Trang 2Giới Giới thiệu thiệu môn môn học học
Khái Khái niệm niệm cơ cơ bản bản về về lập lập trình trình
Các Các ngôn ngôn ngữ ngữ lập lập trình trình
Môi Môi trường trường lập lập trình trình
Trang 3Giới Giới thiệu thiệu môn môn học học
Khái Khái niệm niệm cơ cơ bản bản về về lập lập trình trình
Các Các ngôn ngôn ngữ ngữ lập lập trình trình
Môi Môi trường trường lập lập trình trình
Trang 4Khái Khái niệm niệm lập lập trình trình::
Bài Bài toán toán::
DạyDạy cáchcách tínhtính tổngtổng sốsố lớnlớn nhấtnhất vàvà sốsố nhỏnhỏ nhấtnhất giữagiữa 7, 1, 9.7, 1, 9
NgườiNgười họchọc biếtbiết phépphép toántoán::
Cộng Cộng hai hai số số
So So sánh sánh hai hai số số
HãyHãy liệtliệt kêkê cáccác bướcbước dạydạy ngườingười họchọc
Các Các bước bước dạy dạy::
Trang 5Lập Lập trình trình là là gì gì? ?
Máy Máy tính tính là là một một ““đứa đứa trẻ trẻ ngốc ngốc” ”.
Cần Cần phải phải dạy dạy máy máy tính tính làm làm việc việc
Mô Mô tả tả cụ cụ thể thể các các bước bước giải giải bài bài toán toán
Lập Lập trình trình
Bảng Bảng mô mô tả tả chương chương trình trình máy máy tính tính
Máy tính Lập trình Chương trình
Trang 6Chương Chương trình trình máy máy tính tính::
Máy Máy tính tính hiểu hiểu sẵn sẵn một một số số lệnh lệnh cơ cơ bản bản
Dạy Dạy máy máy tính tính từ từ những những lệnh lệnh này này
Trang 7Lập Lập trình trình viên viên::
Người Người tạo tạo ra ra chương chương trình trình máy máy tính tính
Programmer vs developer vs software engineer.
Ai Ai phù phù hợp hợp làm làm lập lập trình trình viên viên? ?
NgườiNgười thôngthông minh.minh
NgườiNgười cócó đầuđầu ócóc logic.logic
NgườiNgười thíchthích loayloay hoayhoay tìmtìm tòitòi
PhụPhụ nữnữ!!
Ada Lovelace
Trang 8MáyMáy tínhtính hiểuhiểu, , khókhó họchọc!!
Mã Mã giả giả (pseudo code): (pseudo code):
DiễnDiễn giảigiải ngắnngắn bằngbằng ngônngôn ngữngữ tựtự nhiênnhiên B1: cộng a và b.
DiễnDiễn giảigiải ngắnngắn bằngbằng ngônngôn ngữngữ tựtự nhiênnhiên
NgườiNgười hiểuhiểu, , máymáy khôngkhông hiểuhiểu!!
Mã Mã nguồn nguồn (source code): (source code):
NgônNgôn ngữngữ lậplập trìnhtrình
Các Các lệnh lệnh đơn đơn giản giản dễ dễ hiểu hiểu
C, Java, Python,
TrìnhTrình biênbiên dịchdịch (compiler):(compiler):
Chương Chương trình trình dịch dịch mã mã nguồn nguồn mã mã máy máy
Ai Ai viết viết trình trình biên biên dịch dịch? ?
B1: cộng a và b.
B2: nhân a và c.
B3: so sánh c và d m
Trang 9Quy Quy trình trình lập lập trình trình::
Viết Viết chương chương trình trình (write): (write):
ViếtViết mãmã nguồnnguồn
DùngDùng ngônngôn ngữngữ lậplập trìnhtrình
Dịch Dịch chương chương trình trình (compile): (compile):
Mã
Mã nguồnnguồn mãmã máymáy
MãMã nguồnnguồn mãmã máymáy
DùngDùng trìnhtrình biênbiên dịchdịch
Chạy Chạy chương chương trình trình (run): (run):
ThựcThực hiệnhiện mãmã máymáy đãđã dịchdịch
Sửa Sửa lỗi lỗi chương chương trình trình (debug): (debug):
TìmTìm lỗilỗi saisai trongtrong mãmã nguồnnguồn
DùngDùng trìnhtrình gởgở rốirối (debugger).(debugger)
Trang 10Giới Giới thiệu thiệu môn môn học học
Khái Khái niệm niệm cơ cơ bản bản về về lập lập trình trình
Các Các ngôn ngôn ngữ ngữ lập lập trình trình
Môi Môi trường trường lập lập trình trình
Trang 11Thực Thực hiện hiện mã mã máy máy mỗi mỗi lần lần chạy chạy
TrìnhTrình thôngthông dịchdịch (interpreter(interpreter):):
Không Không dịch dịch sẵn sẵn
Dịch Dịch từng từng dòng dòng mã mã nguồn nguồn trực trực tiếp tiếp mỗi mỗi lần lần chạy chạy
Trang 12Đặc Đặc điểm điểm::
TậpTập lệnhlệnh đơnđơn giảngiản
GầnGần ngônngôn ngữngữ máymáy khókhó họchọc
LậpLập trìnhtrình tốntốn côngcông sứcsức
ChươngChương trìnhtrình nhỏnhỏ gọngọn, , nhanhnhanh
Can Can thiệpthiệp sâusâu hệhệ thốngthống
Trang 13Thời Thời kỳ kỳ phát phát triển triển::
Những Những năm năm 1960s 1960s – – 1970s 1970s.
E E Dijkstra Dijkstra lập lập trình trình cấu cấu trúc trúc
Ngôn Ngôn ngữ ngữ cấp cấp cao cao::
NgônNgôn ngữngữ thếthế hệhệ 3: FORTRAN, ALGOL, C, Pascal, 3: FORTRAN, ALGOL, C, Pascal,
Đặc Đặc điểm điểm::
TậpTập lệnhlệnh mởmở rộngrộng, , chặtchặt chẽchẽ
GầnGần ngônngôn ngữngữ tựtự nhiênnhiên dễdễ họchọc
LậpLập trìnhtrình đỡđỡ tốntốn côngcông sứcsức
ChươngChương trìnhtrình lớnlớn hơnhơn, , chậmchậm hơnhơn
KhôngKhông can can thiệpthiệp quáquá sâusâu hệhệ thốngthống
Trang 14Hiện Hiện nay: nay:
Trên Trên 1000 1000 ngôn ngôn ngữ ngữ lập lập trình trình!! !!
Hướng Hướng phát phát triển triển::
LậpLập trìnhtrình logic (logic (thếthế hệhệ 4): Prolog, lisp, SQL, 4): Prolog, lisp, SQL,
LậpLập trìnhtrình sựsự kiệnkiện ((giaogiao diệndiện): ): Visual Basic, Visual C++, Visual Basic, Visual C++,
HướngHướng đốiđối tượngtượng: C++, Java, C#, : C++, Java, C#,
HướngHướng đốiđối tượngtượng: C++, Java, C#, : C++, Java, C#,
Write once, run anywhere: Java, C#,
ThiếtThiết bịbị didi độngđộng: C++, : C++, Java, Java, C#, ObjectiveC#, Objective C, mC, m
Đặc Đặc điểm điểm::
DễDễ họchọc, , dễdễ sửsử dụngdụng
ChươngChương trìnhtrình lớnlớn
Trang 15Giới Giới thiệu thiệu môn môn học học
Khái Khái niệm niệm cơ cơ bản bản về về lập lập trình trình
Các Các ngôn ngôn ngữ ngữ lập lập trình trình
Môi Môi trường trường lập lập trình trình
Trang 16Môi Môi trường trường lập lập trình trình là là gì gì? ?
Viết Viết chương chương trình trình bằng bằng gì gì? ?
GiấyGiấy, , viếtviết??
ChươngChương trìnhtrình soạnsoạn thảothảo (editor).(editor)
Dịch Dịch chương chương trình trình thế thế nào nào? ?
TrìnhTrình biênbiên dịchdịch (compiler).(compiler)
TrìnhTrình biênbiên dịchdịch (compiler).(compiler)
Chạy Chạy chương chương trình trình ra ra sao sao? ?
Run program Run program trongtrong Windows Explorer?Windows Explorer?
Sửa Sửa lỗi lỗi chương chương trình trình? ?
Trang 17Môi Môi trường trường lập lập trình trình C++: C++:
Microsoft Visual Studio 1998, 2005, 2010, Microsoft Visual Studio 1998, 2005, 2010, 2012, m 2012, m
Demo:
SoạnSoạn thảothảo chươngchương trìnhtrình
Tạo Tạo empty project empty project.
Thêm Thêm vào vào file main.cpp file main.cpp.
Thêm Thêm vào vào file main.cpp file main.cpp.
Soạn Soạn thảo thảo trên trên file main.cpp file main.cpp.
DịchDịch chươngchương trìnhtrình
Ctrl + Shift + B.
ChạyChạy chươngchương trìnhtrình
Ctrl + F5.
SửaSửa lỗilỗi chươngchương trìnhtrình
Đặt Đặt break point F9, break point F9, chạy chạy debug F5 debug F5.
Chạy Chạy từng từng dòng dòng F10 F10.
Trang 18Bảng Bảng mô mô tả tả các các bước bước giải giải
Ở 3 Ở 3 dạng dạng: : mã mã máy máy, , mã mã giả giả, , mã mã nguồn nguồn
Ở 3 Ở 3 dạng dạng: : mã mã máy máy, , mã mã giả giả, , mã mã nguồn nguồn
Ngôn Ngôn ngữ ngữ lập lập trình trình::
Ngôn Ngôn ngữ ngữ trung trung gian gian giữa giữa người người và và máy máy
Trình Trình biên biên dịch dịch: : dịch dịch ra ra cho cho máy máy hiểu hiểu
Môi Môi trường trường lập lập trình trình::
Editor + Compiler + Runner + Debugger.
Trang 20}}
Trang 21printf printf(“ (“Nhập Nhập a, b, c = “); a, b, c = “);
scanf scanf(“%d %d %d”, &a, &b, &c); (“%d %d %d”, &a, &b, &c);
max = a;
if (b > max) max = b;
if (c > max) max = c;
printf printf(“max = %d”, max); (“max = %d”, max);
Trang 22for (s = 1; n > 0; n for (s = 1; n > 0; n ))
s = s * n;
printf printf(“s = %d “, s); (“s = %d “, s);
}}