Danh mục

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    
10.10.2023

Hỗ trợ phí lưu trữ khi tải xuống: 2,000 VND Tải xuống file đầy đủ (27 trang) 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, … ...

Tài liệu được xem nhiều: