Tải bản đầy đủ (.pdf) (30 trang)

S nmc1 gioithieu

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.15 MB, 30 trang )

Giới thiệu về
máy tính và lập trình
Presenter:

Nhập mơn về lập trình (C1)

Slide 1


Learning outcomes
Đây là mơn học đầu tiên về lập trình, dành cho
sinh viên chưa có kiến thức nào về lập trình
trước đó.
 Mơn học giúp sinh viên có kiến thức về máy
tính và rèn luyện kỷ năng lập trình thơng qua
ngơn ngữ C.

Nhập mơn về lập trình (C1)

Slide 2


Nội dung
Tổ chức máy tính.
Ngơn ngữ lập trình.
Các cơng việc trong lập trình.
Dữ liệu và giải thuật.

Nhập mơn về lập trình (C1)

Slide 3




Tổ chức máy tính
Máy tính là gì?
Máy tính là thiết bị có khả năng thực hiện tính tốn và ra quyết
định.
Máy tính hoạt động dựa trên nguyên lý là chạy các chương trình
đã được định sẳn.
Hiện nay, máy tính có thể được “nhúng” vào các thiết bị dân
dụng như xe hơi, đồng hồ, điện thoại, máy tính phổ thơng, v.v.

Nhập mơn về lập trình (C1)

Slide 4


Tổ chức máy tính
Phần cứng (hardware)
 Gồm các bộ phận dùng để lắp ráp thành bộ máy tính như :












Hộp máy (case),
Bo mạch chủ (mainboard, motherboard),
Bàn phím (keyboard),
Màn hình (display),
Chuột (mouse),
Thanh bộ nhớ (memory),
Ổ đĩa cứng HDD (Hard Disk Drive),
Bộ cấp nguồn (power supply),
Dây nối (cables),
...

Nhập mơn về lập trình (C1)

Slide 5


Tổ chức máy tính
Phần mềm (software)

 Gồm các chương trình cài đặt sẳn giúp vận hành máy
tính theo nhiều mục đích khác nhau.
 Hệ điều hành (operating system) : cho phép quản lý
và khai thác tất cả phần cứng có trong máy tính.
 Cơng cụ lập trình (programming tools) : cho phép
người sử dụng tạo ra thêm phần mềm mới trên máy,
mở rộng phạm vi ứng dụng của máy tính.
 Phần mềm ứng dụng (applications) : cho phép khai
thác máy tính theo mục đích cụ thể.
Nhập mơn về lập trình (C1)


Slide 6


Tổ chức máy tính
Thành phần cơ bản của máy tính
1. Khối nhập  Input Unit
 Gồm những thiết bị (devices) cho phép
người dùng đưa dữ liệu vào máy tính.
 Các thiết bị điển hình: bàn phím, chuột,
màn hình cảm ứng, v.v.

2. Khối xuất  Output Unit
 Là tập hợp các thiết bị giúp máy tính trình
bày kết quả với người dùng hay điều khiển
các thiết bị khác.
 Các thiết bị điển hình: màn hình, máy in,
các cổng điều khiển USB, ...

Nhập mơn về lập trình (C1)

Slide 7


Tổ chức máy tính
Memory - ALU
3.

Bộ nhớ chính  Main memory
 Là bộ phận giúp máy tính lưu trữ thơng
tin (chương trình và dữ liệu) dùng trong

q trình tính tốn.
 Phân loại :
 ROM (Read Only Memory)
 RAM (Random Access Memory).

4.

Bộ số học luận lý  Arithmetic and
Logic Unit (ALU)
 Là đơn vị đảm nhiệm chức năng tính
tốn các phép số học (+, -, *, /, ...) và
luận lý (Not, And, Or, Xor).

Nhập mơn về lập trình (C1)

Slide 8


Tổ chức máy tính
CPU - Storage
5.

Bộ xử lý trung tâm - Central
Processing Unit (CPU)
 Giám sát và điều hành mọi hoạt động
trong máy tính.

6.

Bộ nhớ thứ cấp - Secondary

memory/storage Unit
 Gồm những thiết bị giúp máy tính
lưu trữ lượng lớn dữ liệu lâu dài.
 Các thiết bị điển hình: Đĩa cứng
(HDD), SSD, USB drive, CD R/W,
...

Nhập mơn về lập trình (C1)

Slide 9


Tổ chức máy tính
Sơ đồ khối của một máy tính
Để điều khiển các
thiết bị phần cứng
như hình bên, chúng
ta cần chương trình
máy tính.
Để tạo ra chương
trình máy tính,
chúng ta cần ngơn
ngữ lập trình.

Nhập mơn về lập trình (C1)

Slide 10


Ngơn ngữ lập trình

Tổng quan

 Ngơn ngữ lập trình (Programming language)
• Là một ngơn ngữ hình thức (formal language), khác với ngôn
ngữ tự nhiên (natural language), như ngôn ngữ lập trình C sẽ
được học trong mơn học này.
• Mục đích: cho phép con người (lập trình viên) tạo ra chương
trình máy tính.

 Ba cấp độ ngơn ngữ lập trình :
1.Ngơn ngữ máy (machine language).
2.Ngôn ngữ hợp ngữ (assembly language).
3.Ngôn ngữ cấp cao (high-level language).

Nhập mơn về lập trình (C1)

Slide 11


Ngơn ngữ lập trình
Phân loại

 Ngơn ngữ máy
• Dạng thức là số, đặc tả các lệnh của máy tính.
• Mỗi kiểu CPU có tập lệnh riêng.
• Ngày nay, rất khó có thể ra lệnh trực tiếp kiểu này cho các
chương trình thực tế và lớn. Chuỗi lệnh số sẽ được sinh ra tự
động từ bộ chuyển ngữ (compiler) từ ngôn ngữ cấp cao sang.
• Ví dụ:
+1300042774

+1400593419
+1200274027

Nhập mơn về lập trình (C1)

Slide 12


Ngơn ngữ lập trình
Các loại

 Ngơn ngữ Assembly (hợp ngữ)
• Sử dụng các từ viết tắc trong tiếng Anh để biểu diễn các tác
vụ tính tốn cơ bản
• Bộ chuyển ngữ (sang mã máy) cho ngơn ngữ này là
“Assembler”.
• Ngày nay, ngơn ngữ này vẫn cịn được sử dụng, và thường
kết hợp với ngơn ngữ cấp cao. Nó được dùng để tối ưu một
số khối xử lý trong toàn bộ chương trình.
• Ví dụ:
LOAD
BASEPAY
ADD
OVERPAY
STORE GROSSPAY
Nhập mơn về lập trình (C1)

Slide 13



Ngơn ngữ lập trình
Các loại

 Ngơn ngữ cấp cao
• Mã được viết ra gần với ngôn ngữ tự nhiên, so với mã của các loại ngôn
ngữ khác. Tên các biến, hằng, hàm, etc do người lập trình đặt có cú pháp
dễ đọc. Các cấu trúc điều khiển cũng dễ đọc hơn rất nhiều.
• Bộ chuyển ngữ (sang mã máy hay mã trung gian) cho loại ngôn ngữ này
là bộ biên dịch (compiler) hay thơng dịch (interpreter).
• Ngày nay, ngơn ngữ loại là phổ thông nhất, như, C, C++, C#, Java, etc
• Ví dụ:

grossPay = basePay + overTimePay

Nhập mơn về lập trình (C1)

Slide 14


Ngơn ngữ lập trình
Ngơn ngữ lập trình C
 Viết tắt trong mơn học
• Ngơn ngữ C
• Hay ngắn gọn: C

 Lịch sử
• Tiến hóa từ ngơn ngữ lập trình trước đó là “B” và “BCPL”
• “Traditional C” là một tiến hóa của C vào khoảng gần 1970
• Có nhiều biến thể của C tồn tại và chúng khơng tương thích nhau, i.e., bộ
chuyển ngữ không hiểu mã nguồn C được viết cho bộ chuyển ngữ khác.

• “Standard C” xuất hiện vào khoảng 1989, cập lại vào khoảng 1999.

 Ứng dụng quan trọng
• Được dùng để phát triển các hệ điều hành nổi tiếng và hiện đại như UNIX
và Linux
• Được dùng để phát triển các chương trình chạy trên các thiết bị nhúng,
như, nhúng vào xe hơi, máy móc y tế, etc.
Nhập mơn về lập trình (C1)

Slide 15


Ngơn ngữ lập trình
Ngơn ngữ lập trình C

 C trong cái nhìn của người lập trình
• Cung cấp ngơn ngữ, cú pháp đơn giản, cung cấp
 Về điều khiển: chỉ gồm 3 kiểu cấu trúc điều khiển để chuyển hướng
thực thi
 Về dữ liệu: cung cấp các kiểu cơ bản, mảng, con trỏ, tập tin. Cho
phép người dùng định nghĩa kiểu mới.

• Có bộ chuyển ngữ đi kèm
 Để chuyển mã C sang mã đích

• Có thu viện các hàm có sẵn để làm nhiều quan trọng.
 Sự thật là khơng có chương trình nào mà người dùng viết 100% các
dòng mã. Tất cả chúng điều dùng lại (gọi hàm) các hàm có sẵn trong
thư viện để làm nhiều việc.


Nhập mơn về lập trình (C1)

Slide 16


Ngơn ngữ lập trình
Ngơn ngữ lập trình C

 C và ngơn ngữ mở rộng của nó (là C++)
• C là nền tảng của ngơn ngữ mở rộng của nó là C++, khá nổi
tiếng
• C++ bổ sung thêm vào C những khả năng mới giúp dễ dàng
tổ chức các chương trình lớn. Những tính năng khác, C++
dùng của C. Do đó, dùng được C là nền tảng để học C++
• Những tính năng mới
 Tham khảo (reference): Một chức năng mới cho phép truy xuất một
vùng nhớ qua một tên gọi khác.
 Hướng đối tượng (Object-Oriented): Đây là bổ sung quan trọng nhất,
hướng đến một triết lý lập trình khác. Ở đó, chương trình là tập các
đối tượng tương tác nhau để hồn thành cơng việc.
Nhập mơn về lập trình (C1)

Slide 17


Các cơng việc trong lập trình
Tạo lập chương trình
Soạn thảo mã nguồn
• Đối tượng thực hiện: Người lập trình
• Cơng cụ cần đến:

 Trình soạn thảo đơn giản như NOTEPAD. Nhưng ít khi được dùng
 Trình soạn thảo tích hợp trong IDE (Integrated Development
Environment)
• Đầu ra: tập tin mã nguồn, dạng văn bản đọc được

Tiền xử lý (Preprocess)
• Đối tượng thực hiện: Preprocessor (bộ tiền xử lý), thuộc IDE
• Cơng việc thực hiện: tiền xử lý chương trình, như, thay các “macro” trong
bởi phần định nghĩa của nó, chèn các tập tin khai báo thư viện (v.d.,
stdio.h)

Nhập môn về lập trình (C1)

Slide 18


Các cơng việc trong lập trình
Tạo lập chương trình
Biên dịch (Compile)
• Đối tượng thực hiện: Compiler (bộ biên dịch), thuộc IDE
• Cơng việc thực hiện: Chuyển mã, từ mã C sang mã đối tượng, cho từng
tập tin mã nguồn

Liên kết (Link)
• Đối tượng thực hiện: Linker (bộ liên kết), thuộc IDE
• Cơng việc thực hiện: Liên kết các tập tin mã đối tượng và thư viện của C
để tạo chương trình thực thi
• Đầu ra: tập tin thực thi (*.exe)

Nhập mơn về lập trình (C1)


Slide 19


Dữ liệu và giải thuật
Quan niệm về chương trình

 Quan điểm:




Chương trình là sự thể hiện giải thuật của bài tốn bằng
ngơn ngữ lập trình.
Do đó, chương trình là tập hợp các lệnh và dữ liệu được
viết đúng cú pháp của ngơn ngữ lập trình.
Trình tự viết lệnh, sự kết hợp lệnh để tác động lên dữ liệu
phải tuân thủ theo giải thuật của bài tốn.

 Do đó, hai yếu tố quan trọng tạo thành chương trình
1. Dữ liệu và cấu trúc để tổ chức dữ liệu.
2. Giải thuật xử lý : cách giải bài toán, cách biến đổi dữ liệu
từ dữ liệu ban đầu, dần dần đi đến kết quả.
Nhập mơn về lập trình (C1)

Slide 20


Dữ liệu và giải thuật
Dữ liệu

 Kiểu dữ liệu cơ bản

 Kiểu số
• Số nguyên: int
• Số thực chấm động: float, double
 Kiểu ký tự / chuỗi : char, dãy char
 Kiểu void: void
 Kiểu luận lý: bool (bổ sung bởi C++)
 Kiểu enum

Kiểu dữ liệu do người lập trình định nghĩa: cấu trúc (struct), hợp
nhất (union)
Kiểu dẫn xuất: dãy (array), con trỏ (pointer)
Xem thêm:
/>
Nhập mơn về lập trình (C1)

Slide 21


Dữ liệu và giải thuật
Mô tả giải thuật

 Các cách khác nhau dùng để mơ tả giải thuật
• Dùng mã giả (pseudocode).
• Dùng lưu đồ (flowchart).
• Dùng chính mã lập trình.

Nhập mơn về lập trình (C1)


Slide 22


Dữ liệu và giải thuật
1. Mã giả
 Mã giả là ngơn ngữ nháy (bắt chước) theo một ngơn ngữ lập
trình nào đó nhưng khơng bị ràng buộc bởi quy định nào của cú
pháp (syntax).
 Ví dụ :
Nhập biến n cho đến khi n khơng nhỏ hơn 0
Gọi hàm tính n giai thừa
Hiện kết quả ra màn hình

Nhập mơn về lập trình (C1)

Slide 23


Dữ liệu và giải thuật
Mã giả

Pseudocode = English/Vietnamese

Cú pháp không cần chặt chẽ
Để hổ trợ việc dễ đọc

Nhập môn về lập trình (C1)

+ Code


Lệnh điều khiển thực thi
1.Tuần tự
2.Rẽ nhánh
3.Lặp

Slide 24


Dữ liệu và giải thuật
Mã giả

Phần đầu của giải thuật

Phần thân của giải
thuật

Nhập mơn về lập trình (C1)

Slide 25


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×