Thao tác của con người nhằm kiến tạo nên các chương trình máy tính (giải quyết bài toàn bằng máy tính) thông qua các ngôn ngữ lập trình
Chữ lập trình còn được gọi là “viết mã” (Coding)
31 trang |
Chia sẻ: Mr Hưng | Lượt xem: 861 | Lượt tải: 0
Bạn đang xem trước 20 trang nội dung tài liệu Lập trình và ngôn ngữ lập trình, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
LẬP TRÌNH &NGÔN NGỮ LẬP TRÌNHTs. Nguyễn Văn VinhBộ môn KHMT, Khoa CNTT, Trường ĐHCN*Nội dungThế nào là lập trìnhNgôn ngữ lập trìnhNgôn ngữ C và C++Xây dựng một chương trình đơn giảnLập trình (Programming)Thao tác của con người nhằm kiến tạo nên các chương trình máy tính (giải quyết bài toàn bằng máy tính) thông qua các ngôn ngữ lập trìnhChữ lập trình còn được gọi là “viết mã” (Coding)**Giải bài toán trên máy tínhXác định mục đích của bài toánThiết kế cấu trúc dữ liệu và giải thuậtProgram = Data Structure + Algorithm (N. Wirth)Thể hiện bằng một NNLT cụ thểThực thi & Kiểm tra và hiệu chỉnhViết tài liệu sử dụng và bàn giaoCác bước trong chu trình phát triển 1 chương trìnhSoạn thảo 1 văn bản được dùng nhập mã nguồn (source code)Mã nguồn được biên dịch (compile) để tạo nên tập tin đối tượng (object file)Các tập tin đối tượng được liên kết (link) để tạo nên tập tin có thể thực thi được (executable file)Thực hiện (run) chương trình để chỉ ra chương trình có làm việc giống như kết quả dự định không?**Ngôn ngữ lập trìnhNgôn ngữ máyđặc thù cho từng loại máy, biểu diễn ở dạng mã nhị phânHợp ngữ (Assembly)tương tự như ngôn ngữ máy, biểu diễn ở dạng ký hiệu Ngôn ngữ bậc caođộc lập với máydễ dàng biểu diễn thuật toán và cấu trúc dữ liệu phức tạp*Thông dịch và biên dịchThông dịchkhi thực hiện thì mới được dịch, cần có bộ thông dịchcó những cấu trúc lệnh trừu tượng caoan toàn, có tính khả chuyển caohiệu năng thấp, không phù hợp với ứng dụng lớn Biên dịchdịch toàn bộ chương trình sang mã máykhi thực hiện chỉ cần có chương trình đích ở dạng mã máyhiệu năng cao, phù hợp với ứng dụng lớn, ứng dụng hệ thống*Biên dịchBiên dịch (Compile): dịch tệp mã nguồn sang tệp mã máy (object)Liên kết (Link): kết nối với các tệp thư viện để thành tệp mã máy thực hiện đượcthư viện liên kết động (DLL)*Lịch sử ngôn ngữ lập trìnhFORTRAN IFORTRAN IIALGOL 60LISPALGOL 58CPLCOBOLCOMTRANFLOW-MATICPROLOGADAPASCALSIMULA 67SIMULA IPL/1BASICFORTRAN IVBBCPLALGOL 68SMALLTALK 80EIFFELC++CBETAJAVA195719601965197019751980198519901995MODULA 2MODULA 3OBERONC#2000*Ngôn ngữ CDo D. Ritchie phát triển tại Viện nghiên cứu Bell vào năm 1972 dựa trên ngôn ngữ BCPL (do Martin Richards -1967) và ngôn ngữ B (Ken Thompson – 1970) và được cài đặt lần đầu tiên trên hệ điều hành UNIX Ngôn ngữ vạn năng (general-purpose)Bậc caoCó khả năng truy cập bộ nhớ ở mức thấpChuyên nghiệp, phù hợp cho phát triển các ứng dụng lớn, ứng dụng hệ thống Ngôn ngữ C Ngôn ngữ lập trình C là một ngôn ngữ lập trình hệ thống rất mạnh và rất “mềm dẻo”, có một thư viện gồm rất nhiều các hàm (function) đã được tạo sẵnNgôn ngữ C hỗ trợ rất nhiều phép toán nên phù hợp cho việc giải quyết các bài toán kỹ thuật có nhiều công thức phức tạpTuy nhiên, điều mà người mới vừa học lập trình C thường gặp “rắc rối” là “hơi khó hiểu” do sự “mềm dẻo” của C**Ngôn ngữ C++Tốt hơn CHỗ trợ trừu tượng dữ liệuHỗ trợ lập trình hướng đối tượng (object oriented programming)*Thành phần của NNLTBảng chữ cáiTập các ký tự có thể sử dụng để viết chương trìnhC/C++ phân biệt chữ hoa và chữ thườngTừ khóaCác từ cơ bản của ngôn ngữ, không thể định nghĩa lạiCú phápNgữ pháp của ngôn ngữNgữ nghĩaÝ nghĩa tương ứng của các cấu trúc ngôn ngữ*Từ khóa C*Từ khóa C++*C: ví dụhello.c:#include int main(void) { printf(”Hello, world”); return 0;}Phân tích ví dụDòng đầu tiên này là một chỉ thị tiền xử lý #include. Điều này sẽ làm cho bộ tiền xử lý (bộ tiền xử lý này là một công cụ để kiểm tra mã nguồn trước khi nó được dịch) tiến hành thay dòng lệnh đó bởi toàn bộ các dòng mã hay thực thể trong tập tin mà nó đề cập đến (tức là tập tin stdio.h). int main(void): Dòng trên biểu thị một hàm chuẩn tên main. Hàm này có mục đích đặc biệt trong C. Khi chương trình thi hành thì hàm main() được gọi trước tiên. Phần mã int chỉ ra rằng giá trị trả về của hàm main (tức là giá trị mà main() sẽ được trả về sau khi thực thi) sẽ có kiểu là một số nguyên. Còn phần mã (void) cho biết rằng hàm main sẽ không cần đến tham số để gọi nó.**C++: ví dụhello.cpp:#include int main() { std::cout using namespace std;int main() { cout b) a = b; cout << a;printf(”Hello, world”);*Khối lệnh - block{}statementblock*Khối lệnh: ví dụ{ int tmp = a; a = b; b = tmp;}*Chú thích chương trìnhChú thích được viết giữa cặp /* *//*khai bao bien*/int a;Chú thích từ // đến hết dòng (C++)int a; // khai bao bienNên viết chú thích đầy đủ*Tệp headerThông tin về giao diện của thư viện mà chương trình sử dụngsử dụng chỉ thị #includeiostream.h: vào/ra (C++)stdio.h: vào/ra (C)stdlib.h: một số thư viện cơ bản (C)string.h: xử lý xâu ký tự (C)math.h: toán học (C)*Tự thực hànhĐăng nhập vào website môn họcLàm quen với môi trường phát triển Dev-C++ trên WindowsTập viết các chương trình nhỏcác ví dụ trong bài giảng và trong tài liệu tham khảo*Bài tập: Tìm hiểu về C/C++Tìm hiểu về lịch sử phát triển của C và C++Tìm hiểu một số môi trường phát triển C, C++ khácThực hành lập trình đơn giản in ra màn hình bằng ngôn ngữ C:“K56 chao tat ca cac ban”“Truong DHCN, Dai hoc QG Ha noi”*Tài liệu tham khảoBắt buộc[PVA], Chương 1The C programming language, Chapter 1
Các file đính kèm theo tài liệu này:
- slide2_language_programming_5167.ppt