Mr. Chiến
Mrs. Hải
Miss. Linh
Mr. Hưng
Mr. Sơn
Mrs. Hà
Mr. Hiếu
Mr. Định
Mrs. Hương
7/2020 Cơ sở lập trình 33
Vấn đề: xây dựng cấu trúc dữ liệu để thể hiện cây quan hệ: thành thạo con trỏ, cập nhập thông tin trên cây quan hệ
Yêu cầu bài toán: “Hưng và Hiếu có quan hệ như thế nào?”→xây dựng giải thuật xác địnsh mối quan hệ, tên gọi các mối quan hệ ở Việt nam rất phong phú →vét cạn các mối quan hệ
Câu hỏi: Muốn quản lý nhiều gia đình và các gia đình có quan hệ thông gia với nhau?? →cấu trúc thay đổi →thuật toán thay đổi
7/2020 Cơ sở lập trình 34
Tư tưởng: Phân tích bài toán thành các thực thể được gọi là các đối tượng →từ đó xây dựng các dữ liệu và các hàm (thao tác) xung quanh đối tượng đó.
Trong đó: đối tượng là sự kết hợp giữa dữ liệu và hàm (phương thức) thao tác trên dữ liệu đó.
Ví dụ về ngôn ngữ:
C++, Java, Smalltalk
7/2020 Cơ sở lập trình 35
Giải quyết: xem xét dưới góc độ quản lý tập các
đối tượng con người
Thuộc tính: tên, cha, mẹ, anh em, con cái, vợ chồng,…
Phương thức: sinh con, cưới, là anh, là ông nội,…
Tạo cây quan hệ bằng các sự kiện:
Chiến.Cưới(Hải)
Hải.Sinh con(gái,Linh)
Hải.Sinh con(trai, Hưng)
→Không cần quan tâm tạo cấu trúc cây quan hệ mà vẫn trả lời được các câu hỏi
Con người
Tên ? Cha ? Mẹ ?
Anh em ? Con cái ? Vợ chồng? Sinh con Cưới
Là anh
Là ông nội
….
7/2020 Cơ sở lập trình 36
Đặc điểm
Đặt trọng tâm vào đối tượng, tập trung vào dữ liệu thay vì các phương thức.
Chương trình được chia thành các đối tượng.
Các đối tượng tác động và trao đổi thông tin cho nhau thông qua các hàm với cơ chế thông báo.
Đóng gói chức năng và dữ liệu (không thể truy cập trực tiếp vào các thành phần dữ liệu của đối tượng mà phải thông qua các phương thức)
Chương trình được thiết kế theo cách tiếp cận từ dưới lên
(bottom - up)
7/2020 Cơ sở lập trình 37
Ưu điểm
Dữ liệu và các hàm mới có thể dễ dàng bổ sung vào đối tượng khi cần thiết →dễ nâng cấp thành hệ thống lớn hơn.
Cơ chế đóng gói dữ liệu →Dữ liệu được bao bọc và không cho phép các hàm ngoại lai truy cập tự do →chương trình an toàn
Mô hình được xây dựng gần với hệ thống thực tế .
Thông qua nguyên lý kế thừa →loại bỏ đoạn chương trình lặp lại khi khai báo lớp và mở rộng khả năng sử dụng các lớp
→ngắn gọn, tiết kiệm thời gian
Cách thiết kế đặt trọng tâm vào dữ liệu→xây dựng mô hình chi tiết và cài đặt dễ hơn
7/2020 Cơ sở lập trình 38
1.5.1 Kỹ thuật thiết kế trên xuống
Tư tưởng: giải quyết bài toán theo chiến lược
chia để trị và tinh chỉnh từng bước
1.5.2 Kỹ thuật chương trình con
Tư tưởng: một chương trình con được xây
dựng một lần nhưng được sử dụng nhiều lần.
1.5.3 Kỹ thuật đệ quy
Tư tưởng: chia bài toán thành các bài toán đơn
giản hơn và cùng loại.
7/2020 Cơ sở lập trình 39
2.1. Các yếu tố cơ bản trong C
2.2. Cấu trúc chương trình C
2.3. Các lệnh cơ bản của C
7/2020 Cơ sở lập trình 40
2.1.1. Bảng chữ cái
2.1.2. Từ khóa
2.1.3. Tên gọi
2.1.4. Chú thích
2.1.5. Các kiểu dữ liệu cơ sở
2.1.6. Các đại lượng
2.1.7. Biểu thức
7/2020 Cơ sở lập trình 41
C sử dụng bộ kí tự ASCII, bao gồm:
Chữ cái: A →Z, a →z
Dấu gạch nối: _
Số: 0 -> 9
Các dấu phép toán số học: + - * / <> % ^
Các cặp dấu ngoặc ( ) { } [ ]
Các dấu ngăn cách: dấu cách, dấu nhảy tab, dấu xuống dòng
Các dấu khác: # $ . , : ; “ ! ‘ ? @
Đặc điểm
- Mỗi kí tự tương ứng một mã (số nguyên 0→255)
- 128 kí tự đầu là kí tự cố định, còn lại là kí tự mở rộng
Lưu ý: không sử dụng các ký tự la mã và tiếng việt trong viết câu lệnh nhưng được phép ghi chú thích
7/2020 Cơ sở lập trình 42
Khái niệm: Là một tập các từ dùng riêng cho từng ngôn ngữ lập trình. Mỗi từ khóa có một ý nghĩa và tác dụng cụ thể. Ví dụ như tên kiểu dữ liệu, tên toán tử v.v..
Một số từ khóa
Lưu ý
Không được đặt tên các đối tượng khác trùng tên với từ khóa như biến, hằng, mảng…
Từ khóa phải viết bằng chữ thường.
7/2020 Cơ sở lập trình 43
Khái niệm: Là một dãy các ký tự đặt cạnh nhau, được dùng để định danh các đối tượng khác nhau trong chương trình như tên biến, tên hàm,…
Quy tắc
Tên chỉ được chứa các chữ cái, chữ số và dấu gạch nối _
Tên phải bắt đầu bằng chữ cái hoặc dấu gạch nối
Không được trùng với từ khóa
Phân biệt giữa chữ hoa và chữ thường
Độ dài tối đa của tên mặc định là 32
7/2020 Cơ sở lập trình 44
Mục đích: dùng để giải thích, làm rõ nghĩa cho một câu lệnh nào đó, được trình biên dịch bỏ qua khi dịch chương trình
Vị trí: Các chú thích được đặt trong cặp dấu
/* */ hoặc đặt sau cặp dấu //
7/2020 Cơ sở lập trình 45
Khái niệm 1 kiểu dữ liệu: là một tập hợp các giá trị mà một biến thuộc kiểu đó có thể nhận được, và trên đó xác định một số phép toán.
Phân loại
Kiểu dữ liệu vô hướng: kiểu cơ sở và kiểu do người dùng định nghĩa
Kiểu dữ liệu có cấu trúc: kiểu mảng(array), kiểu cấu trúc –bản ghi (struct – record), kiểu tệp (file)
Kiểu con trỏ (pointer)
7/2020 Cơ sở lập trình 46
Đặc trưng
Tên kiểu
Miền giá trị
Vùng nhớ được cấp phát
Các phép toán
Các kiểu dữ liệu cơ sở
Kiểu kí tự
Kiểu số nguyên
Kiểu số thực
7/2020 Cơ sở lập trình 47
Tên kiểu | Kích thước | Miền giá trị | |
Kí tự có dấu | (signed) char | 1B | -128 →127 |
Kí tự không dấu | Unsigned char | 1B | 0 → 255 |
Số nguyên có dấu | int | 2B | -215 → 215 – 1 |
Số nguyên không dấu | unsigned int | 2B | 0 → 216 – 1 |
Số nguyên ngắn có dấu | short | 2B | -215 → 215 – 1 |
Số nguyên ngắn không dấu | unsigned short | 2B | 0 → 216 – 1 |
Số nguyên dài có dấu | long | 4B | -231 → 231 – 1 |
Số nguyên dài không dấu | unsigned long | 4B | 0 → 232 – 1 |
Có thể bạn quan tâm!
- Cơ sở lập trình - Trường ĐH Thương mại - 1
- Cơ sở lập trình - Trường ĐH Thương mại - 2
- Cơ sở lập trình - Trường ĐH Thương mại - 4
- Cơ sở lập trình - Trường ĐH Thương mại - 5
- Cơ sở lập trình - Trường ĐH Thương mại - 6
Xem toàn bộ 113 trang tài liệu này.
7/2020 Cơ sở lập trình 48