« Home « Kết quả tìm kiếm

Giới thiệu môn học Nhập môn lập trình Giảng viên: TS. Bùi Trung Ninh


Tóm tắt Xem thử

- Giới thiệu môn học Nhập môn lập trình Giảng viên: TS.
- Bùi Trung Ninh Thông tin môn học • Tên môn: Nhập môn lập trình (INT 1008.
- Thực hành: 23 tiết (x2.
- Lý thuyết: 11 tuần • Thực hành: 15 tuần (11 tuần trên phòng máy, 4 tuần Online.
- Slides bài giảng • Phạm Văn Ất, Kĩ Thuật Lập trình C Cơ Sở và Nâng Cao.
- Deitel, Harvey Deitel, C How to program, 8th Edition, Pearson 2015 3 Website môn học • https://courses.uet.vnu.edu.vn, Môn học: INT1008_13 (29.
- Bài giảng, bài tập, thông báo, và mọi thông tin đều được đăng tại đây, sinh viên có trách nhiệm thường xuyên theo dõi • Mỗi sinh viên sẽ có một tài khoản riêng để nộp bài tập và tham gia diễn dàn, sinh viên có trách nhiệm bảo vệ tài khoản của mình • Thời hạn nộp bài lên Website môn học: trước 0h ngày có buổi thực hành tiếp theo.
- Website: https://courses.uet.vnu.edu.vn 4 Website môn học.
- Tìm theo Môn học: INT GV: Bùi Trung Ninh • Nội dung.
- Sinh viên làm trực tiếp trên trang, sẽ có tính điểm và xếp thứ hạng 5 Ngôn ngữ và môi trường lập trình • Ngôn ngữ C • Thực hành trên Dev-C++ (Window) hoặc Code:: Blocks • Thực hành và chấm bài trên Course (Website môn học) 6 Tại sao học ngôn ngữ C • Ví dụ tốt cho ngôn ngữ mệnh lệnh • Sử dụng phổ biến trong thực tế (công nghiệp và khoa học.
- Nhiều thư viện và tài nguyên • Chương trình nhỏ gọn và chạy nhanh • Cung cấp các mức độ (thấp đến cao) để thao tác với máy tính 7 8 Đánh giá kết quả học tập • Thi cuối kỳ: (60.
- Tổng hợp từ bài tập hàng tuần • Điều kiện dự thi cuối kỳ • Không nghỉ quá 20% số buổi lên lớp (cả lý thuyết và thực hành.
- Nộp bài thực hành đầy đủ • Có điểm kiểm tra giữa kỳ 9 Chính sách • Khuyến khích thảo luận về thuật toán, phương pháp lập trình, nhưng phải độc lập thực hiện bài làm.
- Lên bảng làm bài tập • Không được sao chép chương trình hoặc một phần chương trình của sinh viên khác • Phong cách lập trình/cách thức trình bày.
- Sinh viên tích cực sẽ được cộng điểm vào điểm giữa kỳ 10 Mục tiêu môn học • Cung cấp cho sinh viên những kiến thức cơ sở về lập trình cho máy tính và ngôn ngữ lập trình nói chung • Cung cấp kỹ năng cơ bản để lập trình bằng ngôn ngữ lập trình bậc cao cụ thể.
- thực hiện được một nhiệm vụ lập trình vừa phải, đã đặc tả rõ ràng.
- 11 Mục tiêu môn học (kiến thức.
- Khái niệm cơ sở về lập trình thủ tục: tư duy về lập trình, cài đặt một số thuật toán cơ bản • Kiến thức cơ sở về ngôn ngữ lập trình bậc cao, các bước để xây dựng chương trình.
- môi trường phát triển tích hợp.
- Tiền đề để học tiếp môn: Lập trình nâng cao, Lập trình hướng đối tượng, Nguyên Lý Lập Trình.
- 12 Mục tiêu môn học (kỹ năng.
- Kỹ năng lập trình bằng một ngôn ngữ bậc cao cụ thể đã lựa chọn • Kỹ năng sử dụng một môi trường phát triển tích hợp cụ thể để xây dựng chương trình 13 Cách học • Hoàn thành mỗi bài tập đúng hạn.
- Hiểu các lý thuyết được giới thiệu trong các bài giảng và áp dụng chúng khi cài đặt chương trình • Đọc thêm tài liệu • Thảo luận • Ở lớp • Qua trang web môn học • Gặp thầy 14 Đề cương môn học • Giới thiệu (lập trình, ngôn ngữ, cấu trúc một chương trình.
- Hàm • Kiểu mảng và xâu ký tự • Con trỏ và cấp phát bộ nhớ động • File, Lỗi và gỡ rối • Lập trình đồ họa và tương tác.
- Kiểu dữ liệu trìu tượng và phương pháp lập trình 15 LẬP TRÌNH & NGÔN NGỮ LẬP TRÌNH TS.
- Bùi Trung Ninh Bộ môn HTVT, Khoa ĐTVT, Trường ĐHCN Nội dung • Thế nào là lập trình • Ngôn ngữ lập trình • Ngôn ngữ C và C.
- Xây dựng một chương trình đơn giản 17 Lậ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ình • Chữ lập trình còn được gọi là “viết mã” (Coding) 18 Giải bài toán trên máy tính • Xác định mục đích của bài toán • Thiết kế cấu trúc dữ liệu và giải thuật • Program = Data Structure + Algorithm (N.
- Thể hiện bằng một NNLT cụ thể • Thực thi & Kiểm tra và hiệu chỉnh • Viết tài liệu sử dụng và bàn giao 19 Các bước trong chu trình phát triển 1 chương trình • Soạ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.
- Chạy (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? 20 Ngôn ngữ lập trình • Ngôn ngữ máy • đặc thù cho từng loại máy, biểu diễn ở dạng mã nhị phân • Hợ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áy • dễ dàng biểu diễn thuật toán và cấu trúc dữ liệu phức tạp 21 Thông dịch và biên dịch • Thông dịch • khi thực hiện thì mới được dịch, cần có bộ thông dịch • có những cấu trúc lệnh trừu tượng cao • an toàn, có tính khả chuyển cao • hiệu năng thấp, không phù hợp với ứng dụng lớn • Biên dịch • dịch toàn bộ chương trình sang mã máy • khi thực hiện chỉ cần có chương trình đích ở dạng mã máy • hiệu năng cao, phù hợp với ứng dụng lớn, ứng dụng hệ thống Thông dịch giống như một thông dịch viên dịch tiếng Việt sang tiếng Anh cho một người nước ngoài trong khi giao tiếp trực tiếp, khi họ nghe đến câu nào thì dịch đến câu đó, còn biên dịch giống như dịch một cuốn sách, sau khi dịch toàn bộ cuốn sách mới đem tới cho người đọc.
- 22 Biên dịch • Biê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 được • thư viện liên kết động (DLL) 23 Lịch sử ngôn ngữ lập trình FORTRAN I FLOW-MATIC 1957 ALGOL 58 COMTRAN FORTRAN II COBOL LISP 1960 ALGOL 60 FORTRAN IV CPL SIMULA I BASIC 1965 PL/1 BCPL SIMULA 67 ALGOL 68 B 1970 PROLOG PASCAL C 1975 MODULA 2 SMALLTALK 80 1980 ADA OBERON MODULA 3 BETA 1985 EIFFEL C++ 1990 JAVA 1995 C# 2000 24 Ngôn ngữ C • Do 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 cao • Có khả năng truy cập bộ nhớ ở mức thấp • Chuyên nghiệp, phù hợp cho phát triển các ứng dụng lớn, ứng dụng hệ thống 25 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ẵn • Ngô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ạp • Tuy 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 26 Ngôn ngữ C.
- Tốt hơn C • Hỗ trợ trừu tượng dữ liệu • Hỗ trợ lập trình hướng đối tượng (object oriented programming) 27 Thành phần của NNLT • Bảng chữ cái • Tập các ký tự có thể sử dụng để viết chương trình • C/C++ phân biệt chữ hoa và chữ thường • Từ khóa • Các từ cơ bản của ngôn ngữ, không thể định nghĩa lại • Cú pháp • Ngữ 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ữ 28 Từ khóa C 29 Từ khóa C++ 30 C: ví dụ Chương trình in ra câu:“Xin chao cac ban K65” /*In câu chào ra màn hình.
- Sử dụng thư viện stdio.h 31 Phân tích ví dụ • Dòng chỉ dẫn tiền biên dịch #include.
- Nó khai báo để được sử dụng các tiện ích trong tệp stdio.h, đặc biệt là các tiện ích vào/ra dữ liệu.
- Ví dụ ta sử dụng hàm printf để in mội chuỗi ra màn hình.
- Máy tính bắt đầu chạy chương trình từ đâu? Nó tìm đến hàm có tên main và bắt đầu thực hiện các lệnh trong đó.
- chứa các lệnh sẽ được lần lượt thực hiện khi hàm được gọi 32 Phân tích ví dụ • Thân hàm có hai câu lệnh.
- thì đều là ghi chú, nó sẽ được biên dịch bỏ qua, đưa vào giúp lập trình viên dễ dàng hiểu rõ nghĩa của các đoạn chương trình.
- 33 34 Cấu trúc chương trình C đơn giản • Tập hợp các hàm (chương trình con.
- Hàm đầu tiên được thực hiện là hàm main() int main.
- 35 Cấu trúc của hàm • Khai báo hàm • int main(void.
- Thân hàm • khối lệnh (block) 36 Câu lệnh - statement • Là đơn vị cơ bản của chương trình • Khai báo biến số, hằng số • Biểu thức gán • Các câu lệnh if, for, switch.
- statement block 39 Khối lệnh: ví dụ { int tmp = a.
- 40 Chú thích chương trình • Chú thích được viết giữa cặp.
- khai bao bien • Nên viết chú thích đầy đủ 41 Tệp header • Thông tin về giao diện của thư viện mà chương trình sử dụng • sử dụng chỉ thị #include • iostream.h: vào/ra (C.
- stdlib.h: một số thư viện cơ bản (C.
- math.h: toán học (C) 42 Tự thực hành • Đăng nhập vào website môn học • Làm quen với môi trường phát triển Dev-C++ trên Windows • Tập viết các chương trình nhỏ • các ví dụ trong bài giảng và bài tập 43 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ác (IDE.
- Thực hành lập trình đơn giản in ra màn hình bằng ngôn ngữ C: “UET chao tat ca cac ban K65” “Truong DHCN, Dai hoc QG Ha noi” 44