Bài giảng môn Lập trình hướng đối tượng: Chương 1 - TS. Nguyễn Văn Hiệp

pdf
Số trang Bài giảng môn Lập trình hướng đối tượng: Chương 1 - TS. Nguyễn Văn Hiệp 48 Cỡ tệp Bài giảng môn Lập trình hướng đối tượng: Chương 1 - TS. Nguyễn Văn Hiệp 227 KB Lượt tải Bài giảng môn Lập trình hướng đối tượng: Chương 1 - TS. Nguyễn Văn Hiệp 1 Lượt đọc Bài giảng môn Lập trình hướng đối tượng: Chương 1 - TS. Nguyễn Văn Hiệp 16
Đánh giá Bài giảng môn Lập trình hướng đối tượng: Chương 1 - TS. Nguyễn Văn Hiệp
4.3 ( 6 lượt)
Nhấn vào bên dưới để tải tài liệu
Đang xem trước 10 trên tổng 48 trang, để tải xuống xem đầy đủ hãy nhấn vào bên trên
Chủ đề liên quan

Nội dung

Chương 1 Ôn các kiến thức về cú pháp ngôn ngữ VC# 1.0 Dẫn nhập 1.1 Tổng quát về máy tính và ngôn ngữ VC# 1.2 Tập ký tự cơ bản của ngôn ngữ VC# 1.3 Extended Backus-Naur Form (EBNF) notation 1.4 Cú pháp ₫ịnh nghĩa tên nhận dạng (Name) 1.5 Cú pháp ₫ịnh nghĩa dấu ngăn (Seperator) 1.6 Cú pháp ₫ịnh nghĩa biểu thức 1.7 Qui trình tính biểu thức 1.8 Các lệnh ₫ịnh nghĩa các thành phần phần mềm 1.9 Các lệnh thực thi 1.10 Kết chương Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Môn : Lập trình hướng ₫ối tượng Chương 1 : Ôn các kiến thức về cú pháp ngôn ngữ VC# Slide 1 1.0 Dẫn nhập  Chương này sẽ tóm tắt lại 1 số kiến thức cơ bản về cú pháp của ngôn ngữ VC# hầu giúp các SV có góc nhìn tổng thể và hệ thống về ngôn ngữ VC#, nhờ ₫ó có nhiều thuận lợi hơn trong việc học các kiến thức của môn học này. Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Môn : Lập trình hướng ₫ối tượng Chương 1 : Ôn các kiến thức về cú pháp ngôn ngữ VC# Slide 2 1.1 Tổng quát về máy tính và ngôn ngữ VC#     Máy tính số là thiết bị ₫ặc biệt, nó là thiết bị tổng quát hóa, nghĩa là có thể thực hiện nhiều công việc khác nhau. Ta có thể nói máy tính số là thiết bị vạn năng. Vậy tại 1 thời ₫iểm xác ₫ịnh, máy tính thực hiện công việc gì ? Nó không làm gì cả nếu con người không yêu cầu cụ thể nó. Làm sao ₫ể con người có thể yêu cầu máy tính thực hiện 1 công việc nào ₫ó ? Ta phải viết chương trình giải quyết công việc tương ứng rồi ₫ưa vào máy và nhờ máy chạy dùm. Viết chương trình là qui trình lớn và dài hạn gồm nhiều bước, trong ₫ó các bước chính yếu là : xác ₫ịnh chính xác các chức năng của chương trình, phân tích cách giải quyết từng chức năng, tìm thuật giải chi tiết ₫ể giải quyết từng chức năng, ₫ổi thuật giải chi tiết từ ngôn ngữ ₫ời thường thành ngôn ngữ lập trình cho máy hiểu. Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Môn : Lập trình hướng ₫ối tượng Chương 1 : Ôn các kiến thức về cú pháp ngôn ngữ VC# Slide 3 1.1 Tổng quát về máy tính và ngôn ngữ VC#  Ngôn ngữ lập trình là ngôn ngữ giao tiếp giữa người và máy. Học ngôn ngữ lập trình cũng giống như học ngôn ngữ tự nhiên, nghĩa là học tuần tự các thành phần của ngôn ngữ từ thấp ₫ến cao như :  Tập ký tự cơ bản  Cú pháp xây dựng từ (word). Từ ₫ược dùng ₫ể ₫ặt tên nhận dạng cho từng phần tử cấu thành chương trình như hằng gợi nhớ, biến, hàm chức năng, class ₫ối tượng,…  Cú pháp xây dựng biểu thức. Biểu thức (công thức toán học) miêu tả 1 quá trình tính toán tuần tự nhiều phép toán trên nhiều dữ liệu ₫ể tạo ra kết quả tính toán.  Cú pháp xây dựng từng câu lệnh : có 2 loại câu lệnh : lệnh ₫ịnh nghĩa và lệnh thực thi : Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Môn : Lập trình hướng ₫ối tượng Chương 1 : Ôn các kiến thức về cú pháp ngôn ngữ VC# Slide 4 1.1 Tổng quát về máy tính và ngôn ngữ VC# Lệnh ₫ịnh nghĩa ₫ược dùng ₫ể ₫ịnh nghĩa và tạo mới phần tử cấu thành phần mềm. Thí dụ lệnh ₫ịnh nghĩa biến, ₫ịnh nghĩa hằng gợi nhớ, ₫ịnh nghĩa kiểu, ₫ịnh nghĩa hàm chức năng, …  Lệnh thực thi miêu tả 1 hành ₫ộng cụ thể cần phải thực hiện. Thí dụ lệnh gán, lệnh kiểm tra ₫iều kiện luận lý if, … Cú pháp ₫ặc tả 1 hàm chức năng Cú pháp ₫ặc tả 1 class chức năng Cú pháp ₫ặc tả 1 chương trình.     Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Môn : Lập trình hướng ₫ối tượng Chương 1 : Ôn các kiến thức về cú pháp ngôn ngữ VC# Slide 5 1.2 Tập ký tự cơ bản của ngôn ngữ VC#    Ngôn ngữ VC# hiểu và dùng tập ký tự Unicode. Cụ thể trên Windows, mỗi ký tự Unicode dài 2 byte (16 bit) => có 65536 ký tự Unicode khác nhau trên Windows. Mặc dù vậy, VC# dùng chủ yếu các ký tự :  chữ tiếng Anh (a-zA-Z), '_',  ký tự số (0-9),  khoảng trắng và các dấu ngăn như Tab (gióng cột), CR (quay về ₫ầu dòng), LF (xuống dòng).  các ký tự ₫ặc biệt ₫ể miêu tả phép toán như +, -, *, /, =, !, (, ) Các ký tự khác, nhất là các ký tự có mã > 256 chỉ ₫ược dùng trong lệnh chú thích và chuỗi văn bản. Các ký tự có dấu tiếng Việt có mã từ 7840-7929. Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Môn : Lập trình hướng ₫ối tượng Chương 1 : Ôn các kiến thức về cú pháp ngôn ngữ VC# Slide 6 1.3 Extended Backus-Naur Form (EBNF) notation  Ta sẽ dùng qui ước EBNF ₫ể miêu tả cú pháp xây dựng các phần tử của ngôn ngữ VC#. Cụ thể ta sẽ dùng các qui ước EBNF sau ₫ây :  #xN, trong ₫ó N là chuỗi ký tự thập lục phân. Qui ước này miêu tả 1 ký tự có mã thập lục phân tương ứng. Thí dụ ta viết #x3e ₫ể miêu tả ký tự >.  [a-zA-Z], [#xN-#xN], trong ₫ó N là chuỗi ký tự thập lục phân. Qui ước này miêu tả 1 ký tự thuộc danh sách liệt kê các ký tự có mã liên tục. Thí dụ ta viết [0-9] ₫ể miêu tả 1 ký tự số thập phân từ 0 ₫ến 9.  [agn], [^#xN#xN#xN], trong ₫ó N là chuỗi ký tự thập lục phân. Qui ước này miêu tả 1 ký tự thuộc danh sách liệt kê các ký tự rời rạc. Thí dụ ta viết [<@] ₫ể miêu tả 1 ký tự hoặc là < hay @. Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Môn : Lập trình hướng ₫ối tượng Chương 1 : Ôn các kiến thức về cú pháp ngôn ngữ VC# Slide 7 1.3 Extended Backus-Naur Form (EBNF) notation    [^a-zA-Z], [^#xN-#xN], trong ₫ó N là chuỗi ký tự thập lục phân. Qui ước này miêu tả 1 ký tự không thuộc danh sách liệt kê các ký tự có mã liên tục. Thí dụ ta viết [^0-9] ₫ể miêu tả 1 ký tự bất kỳ nhưng không phải là số thập phân từ 0 ₫ến 9. [^agn], [^#xN#xN#xN], trong ₫ó N là chuỗi ký tự thập lục phân. Qui ước này miêu tả 1 ký tự không thuộc danh sách liệt kê các ký tự rời rạc. Thí dụ ta viết [^<@] ₫ể miêu tả 1 ký tự bất kỳ nhưng không phải là < hay @. "string" hay 'string'. Qui ước này miêu tả chuỗi ký tự có nội dung nằm trong 2 dấu nháy kép hay nháy ₫ơn. Thí dụ ta viết "DHBK" hoặc 'DHBK' ₫ể miêu tả chuỗi ký tự DHBK. Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Môn : Lập trình hướng ₫ối tượng Chương 1 : Ôn các kiến thức về cú pháp ngôn ngữ VC# Slide 8 1.3 Extended Backus-Naur Form (EBNF) notation         A? miêu tả có từ 0 tới 1 lần A. Thí dụ S? miêu tả có từ 0 tới 1 phần tử S. A+ miêu tả có từ 1 tới n lần A. Thí dụ S+ miêu tả có từ 1 tới n phần tử S. A* miêu tả có từ 0 tới n lần A. Thí dụ S* miêu tả có từ 0 tới n phần tử S. A B miêu tả phần tử A rồi tới phần tử B. A | B miêu tả chọn lựa A hay B. A - B miêu tả chuỗi thỏa A nhưng không thỏa B. (expression). Qui ước này miêu tả kết quả của việc tính biểu thức. Thí dụ (DefStatement | ExeStatement) ₫ể miêu tả sự tồn tại của phần tử DefStatement hay ExeStatement. /* ... */ miêu tả chuỗi chú thích. Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Môn : Lập trình hướng ₫ối tượng Chương 1 : Ôn các kiến thức về cú pháp ngôn ngữ VC# Slide 9 1.4 Cú pháp ₫ịnh nghĩa tên nhận dạng (Name)   Mỗi phần tử trong chương trình ₫ều ₫ược nhận dạng bởi 1 tên nhận dạng riêng biệt. Tên là 1 chuỗi từ 1 tới nhiều ký tự, ký tự ₫ầu phải là ký tự chữ hay dấu _, các ký tự còn lại có thể là chữ, dấu _ hay số. Độ dài maximum của tên là 255 ký tự. Cú pháp ₫ịnh nghĩa tên của VC# ₫ược viết theo EBNF bằng 3 luật sinh như sau : Name ::= NameStartChar (NameChar)* NameStartChar ::= [a-zA-Z_] NameChar ::= NameStartChar | [0-9] Thí dụ if, do, while, switch, ... là những tên viết ₫úng cú pháp và ₫ược ngôn ngữ dùng ₫ể nhận dạng các lệnh thực thi. intTuoi, dblX1, XuatKetqua,… là những tên viết ₫úng cú pháp bởi người lập trình. Khoa Khoa học & Kỹ thuật Máy tính Trường ĐH Bách Khoa Tp.HCM © 2010 Môn : Lập trình hướng ₫ối tượng Chương 1 : Ôn các kiến thức về cú pháp ngôn ngữ VC# Slide 10
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.