![Phân tích tư tưởng của nhân dân qua đoạn thơ: Những người vợ nhớ chồng… Những cuộc đời đã hóa sông núi ta trong Đất nước của Nguyễn Khoa Điềm](https://timtailieu.net/upload/document/136415/phan-tich-tu-tuong-cua-nhan-dan-qua-doan-tho-039-039-nhung-nguoi-vo-nho-chong-nhung-cuoc-doi-da-hoa-song-nui-ta-039-039-trong-dat-nuoc-cua-nguyen-khoa-136415.jpg)
Bài giảng Chương 1: Những khái niệm cơ bản trong kỹ thuật lập trình - TS. Vũ Hương Giang
Số trang: 27
Loại file: pdf
Dung lượng: 1.65 MB
Lượt xem: 20
Lượt tải: 0
Xem trước 3 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Bài giảng "Chương 1: Những khái niệm cơ bản trong kỹ thuật lập trình" trình bày các nội dung: Tổng quan về lập trình, các chu trình phát triển của chương trình, các mô thức lập trình. Hi vọng đây sẽ là một tài liệu hữu ích dành cho các bạn sinh viên Công nghệ thông tin dùng làm tài liệu học tập và nghiên cứu.
Nội dung trích xuất từ tài liệu:
Bài giảng Chương 1: Những khái niệm cơ bản trong kỹ thuật lập trình - TS. Vũ Hương Giang 2/6/2012 CHƢƠNG I. NHỮNG KHÁI NIỆM CƠ BẢN TRONG KỸ THUẬT LẬP TRÌNH I. Tổng quan về lập trình II. Chu trình phát triển chương trình III. Các mô thức lập trình I. TỔNG QUAN VỀ LẬP TRÌNH I. Tổng quan về lập trình • Với mỗi bài toán, làm thế nào để: – Thiết kế giải thuật nhằm giải quyết bài toán đó – Cài đặt giải thuật bằng một chương trình máy tính 1 2/6/2012 I. Tổng quan về lập trình • Chương trình máy tính (computer program): Tập hợp các lệnh chỉ dẫn cho máy tính thực hiện nhiệm vụ • Ngôn ngữ lập trình (programming language): Dùng để viết các lệnh, chỉ thị I. TỔNG QUAN VỀ LẬP TRÌNH 1. Hoạt động của chương trình máy tính 2. Ngôn ngữ lập trình 1. Hoạt động của chương trình máy tính • Chương trình máy tính được nạp vào bộ nhớ chính (primary memory) như là một tập các lệnh viết bằng ngôn ngữ mà máy tính hiểu được, tức là một dãy tuần tự các số nhị phân (binary digits). • Tại bất cứ một thời điểm nào, máy tính sẽ ở một trạng thái (state) nào đó. • Đặc điểm cơ bản của trạng thái là con trỏ lệnh (instruction pointer) trỏ tới lệnh tiếp theo để thực hiện. • Thứ tự thực hiện các nhóm lệnh được gọi là luồng điều khiển (flow of control). 2 2/6/2012 1. Hoạt động của chương trình máy tính • Bắt đầu mỗi chu trình lệnh, CPU nhận lệnh từ bộ nhớ chính. – PC (Program Counter): thanh ghi giữ địa chỉ của lệnh sẽ được nhận – Lệnh được nạp vào thanh ghi lệnh IR (Instruction Register) • Sau khi lệnh được nhận vào, nội dung PC tự động tăng để trỏ sang lệnh kế tiếp 2. Ngôn ngữ lập trình (NNLT) • Một NNLT là 1 hệ thống các ký hiệu dùng để liên lạc, trao đổi với máy tính nhằm thực thi một nhiệm vụ tính toán. • Các thành phần căn bản của 1 NNLT: – Cú pháp (syntax): luật dùng để ghép các ký hiệu thành câu lệnh, thành chương trình hợp lệ về mặt cấu trúc – Ngữ nghĩa (semantic): luật dùng để ghép các ký hiệu thành câu lệnh, thành chương trình có ý nghĩa • Có rất nhiều NNLT, khoảng 1000 ngôn ngữ ( 60’s đã có hơn 700) – phần lớn là các ngôn ngữ hàn lâm, có mục đích riêng hay phạm vi ứng dụng hạn chế – Ngôn ngữ máy – Ngôn ngữ assembly – Các ngôn ngữ khác 2.1. Ngôn ngữ máy • Máy tính chỉ nhận các tín hiệu điện tử - có, không có - tương ứng với các dòng bits. • Một chương trình ở dạng đó gọi là mã máy (machine code). • Ban đầu chúng ta phải dùng machine code để viết chương trình: Quá phức tạp, giải quyết các bài toán lớn là không tưởng 23fc 0000 0001 0000 0040 0cb9 0000 000a 0000 0040 6e0c 06b9 0000 0001 0000 0040 60e8 3 2/6/2012 2.2. Ngôn ngữ ASSEMBLY • Là bước đầu tiên của movl #0x1,n việc xây dựng cơ chế viết chương trình tiện compare: lợi hơn – thông qua các ký hiệu, từ khóa và cả cmpl #oxa,n mã máy. cgt end_of_loop • Tất nhiên, để chạy được các chương trình acddl #0x1,n này thì phải chuyển thành thành machine bra compare code. end_of_loop: • Vẫn còn phức tạp, cải thiện không đáng kể 2.3. Phân loại ngôn ngữ lập trình - Theo thời gian • 1940s: Ngôn ngữ máy tính • 1980s: Giảm sự phức tạp hiểu được – Object-oriented, functional – Machine code programming: Java • 1950s: Khai thác sức mạnh • 1990s: Khai thác triệt để các của máy tính tài nguyên – Assembler code, Fortran v.1 – Parallel, distributed computing: occam • 1960s: Tăng khả năng tính toán • 2000s: Phát triển các mô hình – Cobol, Lisp, Algol 60, Basic, tính toán mới PL/1 – genetic programming languages, DNA computing, • 1970s: Giảm sự phụ thuộc bio-computing, service-based vào máy, tăng tính đúng đắn computing của CT • …. – Structured Programming, Modular Programming: Pascal, Algol 68 and C. 2.3. Phân loại ngôn ngữ lập trình - Theo mức độ trừu tượng Low-level High-level language language Machine-dependent Machine-independent Phụ thuộc phần cứng, chỉ chạy Thường không phụ thuộc phần trên một loại máy tính cứng, có thể chạy trên nhiều loại máy tính khác nhau Ví dụ ??? Ví dụ ???? High(er) level languages gần với ngôn ngữ con người hơn: Machine và assembly languages là Algol, Fortran, Pascal, Basic, ngôn ngữ bậc thấp Ada, C, … ...
Nội dung trích xuất từ tài liệu:
Bài giảng Chương 1: Những khái niệm cơ bản trong kỹ thuật lập trình - TS. Vũ Hương Giang 2/6/2012 CHƢƠNG I. NHỮNG KHÁI NIỆM CƠ BẢN TRONG KỸ THUẬT LẬP TRÌNH I. Tổng quan về lập trình II. Chu trình phát triển chương trình III. Các mô thức lập trình I. TỔNG QUAN VỀ LẬP TRÌNH I. Tổng quan về lập trình • Với mỗi bài toán, làm thế nào để: – Thiết kế giải thuật nhằm giải quyết bài toán đó – Cài đặt giải thuật bằng một chương trình máy tính 1 2/6/2012 I. Tổng quan về lập trình • Chương trình máy tính (computer program): Tập hợp các lệnh chỉ dẫn cho máy tính thực hiện nhiệm vụ • Ngôn ngữ lập trình (programming language): Dùng để viết các lệnh, chỉ thị I. TỔNG QUAN VỀ LẬP TRÌNH 1. Hoạt động của chương trình máy tính 2. Ngôn ngữ lập trình 1. Hoạt động của chương trình máy tính • Chương trình máy tính được nạp vào bộ nhớ chính (primary memory) như là một tập các lệnh viết bằng ngôn ngữ mà máy tính hiểu được, tức là một dãy tuần tự các số nhị phân (binary digits). • Tại bất cứ một thời điểm nào, máy tính sẽ ở một trạng thái (state) nào đó. • Đặc điểm cơ bản của trạng thái là con trỏ lệnh (instruction pointer) trỏ tới lệnh tiếp theo để thực hiện. • Thứ tự thực hiện các nhóm lệnh được gọi là luồng điều khiển (flow of control). 2 2/6/2012 1. Hoạt động của chương trình máy tính • Bắt đầu mỗi chu trình lệnh, CPU nhận lệnh từ bộ nhớ chính. – PC (Program Counter): thanh ghi giữ địa chỉ của lệnh sẽ được nhận – Lệnh được nạp vào thanh ghi lệnh IR (Instruction Register) • Sau khi lệnh được nhận vào, nội dung PC tự động tăng để trỏ sang lệnh kế tiếp 2. Ngôn ngữ lập trình (NNLT) • Một NNLT là 1 hệ thống các ký hiệu dùng để liên lạc, trao đổi với máy tính nhằm thực thi một nhiệm vụ tính toán. • Các thành phần căn bản của 1 NNLT: – Cú pháp (syntax): luật dùng để ghép các ký hiệu thành câu lệnh, thành chương trình hợp lệ về mặt cấu trúc – Ngữ nghĩa (semantic): luật dùng để ghép các ký hiệu thành câu lệnh, thành chương trình có ý nghĩa • Có rất nhiều NNLT, khoảng 1000 ngôn ngữ ( 60’s đã có hơn 700) – phần lớn là các ngôn ngữ hàn lâm, có mục đích riêng hay phạm vi ứng dụng hạn chế – Ngôn ngữ máy – Ngôn ngữ assembly – Các ngôn ngữ khác 2.1. Ngôn ngữ máy • Máy tính chỉ nhận các tín hiệu điện tử - có, không có - tương ứng với các dòng bits. • Một chương trình ở dạng đó gọi là mã máy (machine code). • Ban đầu chúng ta phải dùng machine code để viết chương trình: Quá phức tạp, giải quyết các bài toán lớn là không tưởng 23fc 0000 0001 0000 0040 0cb9 0000 000a 0000 0040 6e0c 06b9 0000 0001 0000 0040 60e8 3 2/6/2012 2.2. Ngôn ngữ ASSEMBLY • Là bước đầu tiên của movl #0x1,n việc xây dựng cơ chế viết chương trình tiện compare: lợi hơn – thông qua các ký hiệu, từ khóa và cả cmpl #oxa,n mã máy. cgt end_of_loop • Tất nhiên, để chạy được các chương trình acddl #0x1,n này thì phải chuyển thành thành machine bra compare code. end_of_loop: • Vẫn còn phức tạp, cải thiện không đáng kể 2.3. Phân loại ngôn ngữ lập trình - Theo thời gian • 1940s: Ngôn ngữ máy tính • 1980s: Giảm sự phức tạp hiểu được – Object-oriented, functional – Machine code programming: Java • 1950s: Khai thác sức mạnh • 1990s: Khai thác triệt để các của máy tính tài nguyên – Assembler code, Fortran v.1 – Parallel, distributed computing: occam • 1960s: Tăng khả năng tính toán • 2000s: Phát triển các mô hình – Cobol, Lisp, Algol 60, Basic, tính toán mới PL/1 – genetic programming languages, DNA computing, • 1970s: Giảm sự phụ thuộc bio-computing, service-based vào máy, tăng tính đúng đắn computing của CT • …. – Structured Programming, Modular Programming: Pascal, Algol 68 and C. 2.3. Phân loại ngôn ngữ lập trình - Theo mức độ trừu tượng Low-level High-level language language Machine-dependent Machine-independent Phụ thuộc phần cứng, chỉ chạy Thường không phụ thuộc phần trên một loại máy tính cứng, có thể chạy trên nhiều loại máy tính khác nhau Ví dụ ??? Ví dụ ???? High(er) level languages gần với ngôn ngữ con người hơn: Machine và assembly languages là Algol, Fortran, Pascal, Basic, ngôn ngữ bậc thấp Ada, C, … ...
Tìm kiếm theo từ khóa liên quan:
Kỹ thuật lập trình Khái niệm kỹ thuật lập trình Bài giảng kỹ thuật lập trình Chu trình phát triển chương trình Mô thức lập trình Ngôn ngữ lập trìnhTài liệu liên quan:
-
Giáo trình Lập trình hướng đối tượng: Phần 2
154 trang 279 0 0 -
Kỹ thuật lập trình trên Visual Basic 2005
148 trang 272 0 0 -
Bài thuyết trình Ngôn ngữ lập trình: Hệ điều hành Window Mobile
30 trang 271 0 0 -
Giáo trình Lập trình cơ bản với C++: Phần 1
77 trang 235 0 0 -
Bài giảng Một số hướng nghiên cứu và ứng dụng - Lê Thanh Hương
13 trang 228 0 0 -
Giáo án Tin học lớp 11 (Trọn bộ cả năm)
125 trang 218 1 0 -
NGÂN HÀNG CÂU HỎI TRẮC NGHIỆM THIẾT KẾ WEB
8 trang 214 0 0 -
Giới thiệu môn học Ngôn ngữ lập trình C++
5 trang 199 0 0 -
Bài tập lập trình Windows dùng C# - Bài thực hành
13 trang 189 0 0 -
Bài giảng Nhập môn về lập trình - Chương 1: Giới thiệu về máy tính và lập trình
30 trang 172 0 0