1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Nguyên lý và phương pháp lập trình: Phần 1 - TS. Nguyễn Tuấn Đăng

30 24 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 30
Dung lượng 222,41 KB

Nội dung

Bài giảng Nguyên lý và phương pháp lập trình: Phần 1 Tổng quan các ngôn ngữ lập trình cung cấp nội dung chính như: Các ngôn ngữ lập trình thủ tục, các ngôn ngữ lập trình hướng đối tượng, các ngôn ngữ lập trình hàm, các ngôn ngữ lập trình logic.

ðại học Quốc gia TP.HCM Trường ðại học Công nghệ thơng tin Ngun lý phương pháp lập trình TS Nguyễn Tuấn ðăng Précédent Suivant Nguyên lý phương pháp lập trình Nội dung mơn học Phần Tổng quan ngơn ngữ lập trình Các ngơn ngữ lập trình thủ tục Các ngơn ngữ lập trình hướng đối tượng Các ngơn ngữ lập trình hàm Các ngơn ngữ lập trình logic Phần Các ngun lý lập trình Chương trình cú pháp chương trình Các phẩm chất cần có chương trình Tính dừng chương trình Tính đắn chương trình Một số kỹ thuật tối ưu hóa chương trình Phần Khảo sát số ngơn ngữ lập trình (option) Précédent Suivant C, Pascal C++, Java, Smalltalk Lisp Prolog Nguyên lý phương pháp lập trình ðánh giá môn học Bài thu hoạch : 40% Thi viết : 60% Bài giảng tham khảo chính: Nguyên lý phương pháp lập trình, GS TSKH Hồng Văn Kiếm Lưu ý: - Học viên phải nắm vững nội dung giảng nêu (đã sử dụng từ khóa 1, 2) - Các giảng bổ sung thêm cho khóa dùng để tham khảo thêm Précédent Suivant Nguyên lý phương pháp lập trình Phần : Tổng quan Thiết kế ngơn ngữ lập trình ngơn ngữ lập trình Hai yếu tố ảnh hưởng đến thiết kế ngơn ngữ lập trình: • Kiến trúc máy tính ða số ngơn ngữ lập trình thiết kế sở nguyên lý kiến trúc máy tính von Neumann • Các phương pháp lập trình Mỗi phương pháp lập trình đặt u cầu phải thiết kế ngơn ngữ lập trình thích hợp Précédent Suivant Nguyên lý phương pháp lập trình Phần : Tổng quan Yếu tố : kiến trúc máy tính ngơn ngữ lập trình Ngun lý kiến trúc máy tính von Neumann: - Dữ liệu chương trình lưu nhớ máy tính - Bộ nhớ tách biệt với CPU - Các thị liệu ñược chuyển từ nhớ ñến CPU theo chế ống dẫn Précédent Suivant Phần : Tổng quan ngơn ngữ lập trình Précédent Suivant Ngun lý phương pháp lập trình Yếu tố : kiến trúc máy tính Ngun lý phương pháp lập trình Phần : Tổng quan Yếu tố : phương pháp lập trình ngơn ngữ lập trình • Thập niên 1950 đầu thập niên 1960: chương trình máy tính cịn đơn giản • Cuối thập niên 1960: - Lập trình có cấu trúc - Thiết kế top-down • Cuối thập niên 1970: Lập trình hướng liệu - Trừu tượng hóa liệu • Giữa thập niên 1980: Lập trình hướng đối tượng Trừu tượng hóa liệu + kế thừa + đa hình Précédent Suivant Nguyên lý phương pháp lập trình Phần : Tổng quan Phân loại ngơn ngữ lập trình ngơn ngữ lập trình • Các ngơn ngữ lập trình thủ tục/mệnh lệnh Biến, phát biểu, cấu trúc ñiều khiển Ví dụ: C, Pascal • Các ngơn ngữ lập trình hướng đối tượng Trừu tượng hóa liệu, kế thừa, liên kết trễ Ví dụ: Java, C++ • Các ngơn ngữ lập trình hàm Áp dụng hàm vào đối số Ví dụ: LISP, Scheme • Các ngơn ngữ lập trình logic Dựa luật Ví dụ: Prolog Précédent Suivant Nguyên lý phương pháp lập trình Phần : Tổng quan Các ngơn ngữ lập trình thủ tục ngơn ngữ lập trình Các ngơn ngữ lập trình thủ tục (procedural) cịn Các ngơn ngữ lập trình thủ tục Các ngơn ngữ lập trình hướng đối tượng Các ngơn ngữ lập trình hàm Các ngơn ngữ lập trình logic Précédent Suivant gọi ngơn ngữ lập trình mệnh lệnh (imperative) Ngun lý chung: • Dữ liệu khai báo liệu • Các lệnh (phát biểu) làm thay ñổi trạng thái chương trình • Luồng điều khiển Các vấn đề cần nghiên cứu: • Cấu trúc chương trình • Lập trình thủ tục Nguyên lý phương pháp lập trình Phần : Tổng quan Dữ liệu khai báo liệu ngơn ngữ lập trình Dữ liệu khai báo liệu Các ngơn ngữ lập trình thủ tục Các ngơn ngữ lập trình hướng đối tượng Các ngơn ngữ lập trình hàm Các ngơn ngữ lập trình logic Précédent Suivant Khai báo Bí danh Kiểu Kiểu liệt kê Mảng Chuỗi Tập hợp gói Cấu trúc Con trỏ Hợp Thủ tục kiểu liệu Ép kiểu chuyển kiểu 10 Nguyên lý phương pháp lập trình Phần : Tổng quan Bí danh (alias) ngơn ngữ lập trình • Các tên khác dùng để đến Các ngơn ngữ lập biến trình thủ tục Ví dụ: C++, int &k = I; Các ngơn ngữ lập trình hướng đối tượng Các ngơn ngữ lập trình hàm Các ngơn ngữ lập trình logic Précédent Suivant 16 Nguyên lý phương pháp lập trình Phần : Tổng quan Kiểu liệu ngơn ngữ lập trình • ðối với liệu máy tính: kiểu cách thức Các ngơn ngữ lập trình thủ tục Các ngơn ngữ lập trình hướng đối tượng Các ngơn ngữ lập trình hàm Các ngơn ngữ lập trình logic Précédent Suivant để diễn giải bit liệu • Trong lập trình: kiểu liệu ñặc tả tập giá trị tập thao tác ñược ñịnh nghĩa giá trị • ðịnh nghĩa kiểu: cho phép lập trình viên ñịnh nghĩa kiểu liệu riêng 17 Nguyên lý phương pháp lập trình Phần : Tổng quan Kiểu liệt kê ngơn ngữ lập trình • Kết hợp tên với tập giá trị Các ngơn ngữ lập trình thủ tục Các ngơn ngữ lập trình hướng đối tượng Các ngơn ngữ lập trình hàm Các ngơn ngữ lập trình logic Précédent Suivant kiểu • Phần lớn ngơn ngữ cài đặt kiểu liệt kê số nguyên cho phép thực phép so sánh (lớn hơn/nhỏ hơn) hay tăng (lấy phần tử kế tiếp) 18 Nguyên lý phương pháp lập trình Phần : Tổng quan Mảng ngơn ngữ lập trình • Mảng dãy với số lượng hữu hạn mục Các ngôn ngữ lập trình thủ tục Các ngơn ngữ lập trình hướng đối tượng Các ngơn ngữ lập trình hàm Các ngơn ngữ lập trình logic Précédent Suivant có kiểu liệu • Mỗi mục phần tử • Các phần tử truy cập theo trật tự thơng qua số • Associative arrays: kết hợp giá trị kiểu với phần tử mảng Ví dụ: C Ada cho phép dùng kiểu liệt kê ký tự ñể làm mục cho mảng Perl cho phép dùng chuỗi ký tự ñể làm mục cho mảng 19 Nguyên lý phương pháp lập trình Phần : Tổng quan Mảng ngơn ngữ lập trình • Array slicing: truy cập mảng thay Các ngơn ngữ lập trình thủ tục Các ngơn ngữ lập trình hướng đối tượng Các ngơn ngữ lập trình hàm Các ngơn ngữ lập trình logic Précédent Suivant phần tử mảng Ví dụ: Ada phẩn tử A(3) ñến A(6) mảng truy cập A(3 6) Trong Fortran90, A(4:10:2) cho phép truy cập phần tử A(4), A(6), A(8) A(10) 20 Nguyên lý phương pháp lập trình Phần : Tổng quan Chuỗi ký tự ngơn ngữ lập trình • Một số ngơn ngữ Pascal cung cấp sẵn kiểu Các ngôn ngữ lập trình thủ tục Các ngơn ngữ lập trình hướng đối tượng chuỗi ký tự Một số ngôn ngữ khác C không cung cấp kiểu Các ngôn ngữ lập trình hàm Các ngơn ngữ lập trình logic Précédent Suivant 21 Nguyên lý phương pháp lập trình Phần : Tổng quan Tập hợp ngơn ngữ lập trình • Các thao tác tập hợp: Các ngơn ngữ lập trình thủ tục Các ngơn ngữ lập trình hướng đối tượng Các ngơn ngữ lập trình hàm Các ngơn ngữ lập trình logic Précédent Suivant - Giao, - Hợp, - Hiệu • C Ada khơng cung cấp kiểu tập hợp • Modula-2 cung cấp kiểu tập hợp • C++ Java cung cấp thư viện cho kiểu tập hợp 22 Nguyên lý phương pháp lập trình Phần : Tổng quan Gói (bag) ngơn ngữ lập trình • Kiểu gói biến thể tập hợp, Các ngơn ngữ lập trình thủ tục Các ngơn ngữ lập trình hướng đối tượng Các ngơn ngữ lập trình hàm Các ngơn ngữ lập trình logic Précédent Suivant giá trị xuất nhiều lần • Các thao tác kiểu gói : - chèn giá trị, - xóa giá trị • Kiểu gói xem multiset • C Ada khơng cung cấp kiểu gói • C++ Java cung cấp thư viện cho multiset 23 Nguyên lý phương pháp lập trình Phần : Tổng quan Cấu trúc ngơn ngữ lập trình • Các cấu trúc cho phép kết hợp số lượng xác Các ngôn ngữ lập trình thủ tục Các ngơn ngữ lập trình hướng đối tượng Các ngơn ngữ lập trình hàm Các ngơn ngữ lập trình logic Précédent Suivant định mục liệu có kiểu khác Ví dụ: record Pascal struct C • Các mục liệu cấu trúc ñược gọi trường (fields) hay thành phần (components) • Một cấu trúc khơng thể có trường có kiểu nó, trường hợp phải dùng trỏ trỏ ñến kiểu 24 Ngun lý phương pháp lập trình Phần : Tổng quan Kiểu hàm/thủ tục ngôn ngữ lập trình • Một số ngơn ngữ lập trình cho phép hàm/thủ Các ngơn ngữ lập trình thủ tục Các ngơn ngữ lập trình hướng đối tượng Các ngơn ngữ lập trình hàm Các ngơn ngữ lập trình logic Précédent Suivant tục dùng kiểu • Có thể định nghĩa mảng hàm/thủ tục • C cho phép sử dụng trỏ hàm Ví dụ: C int (*convert_to_int) (float); Khai báo biến convert_to_int có kiểu “con trỏ đến hàm – hàm trả số kiểu int có tham số kiểu float” i = (*convert_to_int)(3.14); 25 Phần : Tổng quan ngơn ngữ lập trình Luồng điều khiển: Các ngơn ngữ lập trình thủ tục Các ngơn ngữ lập trình hướng đối tượng Các ngơn ngữ lập trình hàm Ngun lý phương pháp lập trình Luồng điều khiển - Sequencing - Selection - Routine Invocation - Repetition - Loops & Exits - Run Time Error Handling - Exceptions Các ngơn ngữ lập trình logic Précédent Suivant 26 Nguyên lý phương pháp lập trình Phần : Tổng quan Luồng điều khiển ngơn ngữ lập trình • Luồng điều khiển: Các ngơn ngữ lập trình thủ tục Các ngơn ngữ lập trình thủ tục Các ngơn ngữ lập trình hướng đối tượng Các ngơn ngữ lập trình hàm Các ngơn ngữ lập trình logic Précédent Suivant cho phép ñiều khiển trật tự phát biểu ñược thực (hoặc bỏ qua) • Các chế : Sequencing (khối lệnh tuần tự, goto) Selection (if-then-else hay switch-case, …) Repetition (for-loops, while-loops, repeatuntil, …) Routine invocation (gọi hàm thủ tục) 27 Phần : Tổng quan ngơn ngữ lập trình Các ngơn ngữ lập trình thủ tục Các ngơn ngữ lập trình hướng đối tượng Ngun lý phương pháp lập trình Xử lý lỗi run-time Ba nguyên nhân gây lỗi run-time: Lỗi liệu Thiếu tài nguyên hệ thống Các cố hay lỗi hệ thống Các ngôn ngữ lập trình hàm Các ngơn ngữ lập trình logic Précédent Suivant 28 Nguyên lý phương pháp lập trình Phần : Tổng quan Các ngoại lệ ngôn ngữ lập trình • Các ngoại lệ : cung cấp hay nhiều chế Các ngơn ngữ lập trình thủ tục Các ngơn ngữ lập trình hướng đối tượng tích hợp ñể xử lý ñiều kiện lỗi • Một xử lý lỗi bao gồm ñiều kiện lỗi tập phát biểu để lý lỗi Các ngơn ngữ lập trình hàm Các ngơn ngữ lập trình logic Précédent Suivant 29 Phần : Tổng quan ngôn ngữ lập trình Nguyên lý phương pháp lập trình Các ngoại lệ Statement m has caused the error condition Các ngơn ngữ lập trình thủ tục Các ngơn ngữ lập trình hướng đối tượng Các ngơn ngữ lập trình hàm Các ngơn ngữ lập trình logic Arrows show the flow of control Các khối lệnh với chế xử lý lỗi Précédent Suivant 30 ... Suivant Phần : Tổng quan ngôn ngữ lập trình Précédent Suivant Nguyên lý phương pháp lập trình Yếu tố : kiến trúc máy tính Nguyên lý phương pháp lập trình Phần : Tổng quan Yếu tố : phương pháp lập. .. ngun lý kiến trúc máy tính von Neumann • Các phương pháp lập trình Mỗi phương pháp lập trình đặt u cầu phải thiết kế ngơn ngữ lập trình thích hợp Précédent Suivant Nguyên lý phương pháp lập trình... khiển - Sequencing - Selection - Routine Invocation - Repetition - Loops & Exits - Run Time Error Handling - Exceptions Các ngơn ngữ lập trình logic Précédent Suivant 26 Nguyên lý phương pháp lập

Ngày đăng: 11/05/2021, 00:00

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w