Nhập Môn Lập Trình
Nhập Môn Lập Trình
Khái Niệm Cơ Bản
Khái Niệm Cơ Bản
1
Giới Thiệu
Giới Thiệu
Đề Cương Môn Học
Liên hệ hỗ trợ
–
Bùi Ngọc Lê:
–
Nguyễn T. Phương Liên:
–
Nguyễn Văn Sơn:
–
Nguyễn Bá Trung:
–
Lê Thanh Tùng:
–
Lê Anh Vũ:
–
Trực tiếp: phòng A103
–
OpenLab: phòng A212
2
Road Map
Road Map
Hệ thống máy tính
–
Giới thiệu hệ thống máy tính
–
Phần Cứng
–
Phần Mềm
–
Quan hệ phần cứng và phần mềm
Lập trình
–
Khái niệm lập trình
–
Ngôn ngữ lập trình
–
Quy trình lập trình
–
Biên dịch và thực thi (compiling and running)
3
Road Map ()
Road Map ()
Ngôn ngữ C
Giới thiệu ngôn ngữ C
Các khái niệm cơ bản: Tập ký tự, từ khóa, định danh, các
kiểu dữ liệu cơ bản, hằng, biến
Nhập/xuất (input/output) với hàm scanf và printf.
Một chương trình cơ bản trong C
VISUAL STUDIO
Một số ví dụ đơn giản
4
Giới thiệu về Hệ Thống Máy Tính
Giới thiệu về Hệ Thống Máy Tính
Computer: dụng cụ điện tử
–
“Chạy được” các chương trình cài đặt sẵn
–
Luư trữ dữ liệu
–
Xử lý dữ liệu thành thông tin hữu ích
–
Có khă năng lập trình!
Digital computer:
-
Là máy tính
-
Dữ liệu trong máy tính được biểu diện bằng số nhị phân
(binary): 0 và 1
5
Ví dụ - Hệ Thống Máy Tính
Ví dụ - Hệ Thống Máy Tính
Các dụng cụ sau đây, đâu là máy tính ?
Máy tính cộng trừ nhân chia
Điện thoại IPhone
Máy ATM
Robot
Máy tính để bàn
Tivi, máy nghe CD
6
Ví dụ - Hệ Thống Máy Tính
Ví dụ - Hệ Thống Máy Tính
Muốn là máy tính:
-
Phải biết “ghi nhớ” dữ liệu
-
Có thể “dạy việc”
IPhone, máy tính để bàn, robot: Đều “thông
minh” và có thể “dạy việc”
TV, máy nghe CD, máy tính cộng trừ nhân
chia: Không thể “dạy việc” được
7
Hai thành phần chính: phần cứng và phần mềm
Cấu trúc Máy Tính
Cấu trúc Máy Tính
8
Computer System
Hardware
Software
Các cơ phận (physical part) nối kết với nhau tạo nên
máy tính
Có 5 bộ phận cơ bản:
–
Input Unit
–
Output Unit
–
Control Unit
–
Memory Unit
–
Arithmetic Logic Unit ALU
Phần Cứng
Phần Cứng
9
central processing unit CPU
(bộ vi xử lý)
Phần Cứng ()
Phần Cứng ()
10
Control
Memory
ALU
Output UnitInput Unit
VD:
•
Bàn phím
•
Con chuột
VD:
•
Màn hình
•
Máy in
VD:
•
Pentium Processor
CPU
Hãy cho biết các input/output của Iphone và Robot ?
Input:
Màn hình đa chạm
Webcam tự động
Sensor
Output:
Hành động
Monitor
Ví dụ - Phần Cứng
Ví dụ - Phần Cứng
11
Máy tính hiện tại không thể TỰ SUY
NGHĨ
Phần cứng được điều khiển bởi phần
mềm
Phần mềm là tập hợp các chương trình
dùng điều khiển và hoạt động phần cứng
để đưa đến kết quả mong muốn
Phần Mềm
Phần Mềm
12
Phần mềm hệ thống:
–
Điều khiển tất cả hoạt động máy tính, phần mềm ứng
dụng
–
Vận chuyển dữ liệu vào ra bộ nhớ và ổ chứa.
–
Quản lý sự trao đổi dữ liệu bên trong ứng dụng, bên
trong hệ thống máy tính, bên trong hệ thống mạng.
–
Bảo mật dữ liệu, kiểm tra lỗi, v.v…
Phần mềm ứng dụng: giúp máy tính thực hiện một
công việc hoặc giải quyết một bài toán cụ thể người
dùng muốn
Phần Mềm: hệ thống và ứng dụng
Phần Mềm: hệ thống và ứng dụng
13
Ví dụ - PMHT và PMUD
Ví dụ - PMHT và PMUD
14
Phần mềm
Phần mềm hệ thống:
•
hệ điều hành,
•
chương trình điều khiển thiết bị (driver),
•
công cụ lập trình,
•
chương trình biên dịch (compiler)
•
chương trình dịch cấp thấp (assembler)
•
chương trình kết nối (linker),
•
chương trình tiện ích (system utilities)
Phần mềm ứng dụng:
•
MS office
•
Database management systems
•
Games
Phần cứng và phần mềm hoàn toàn phụ thuộc vào nhau:
–
Như là hai mặt của đồng tiền
–
Riêng rẽ thì không thể thực hiện bất cứ việc gì
Phần mềm “bảo” phần cứng:
–
Làm gì, làm như thế nào: qua từng mã lệnh
(instruction)
–
Phần cứng thực hiện thao tác (operation) và
hoàn tất công việc (task)
Mối quan hệ: phần cứng - phần mềm
Mối quan hệ: phần cứng - phần mềm
15
Road Map
Road Map
Hệ thống máy tính
–
Giới thiệu hệ thống máy tính
–
Phần cứng
–
Phần Mềm
–
Quan hệ phần cứng và phần mềm
Lập trình
–
Lập trình là gì?
–
Quy trình lập trình
–
Ngôn ngữ lập trình
–
Quy trình lập trình
–
Biên dịch và thực thi (compiling and running)
16
www.hoasen.edu.vn
17
Lập Trình Là Gì?
Lập Trình Là Gì?
Lập trình (programming): là tạo ra một chương trình
bằng một ngôn ngữ nào đó để máy tính thực hiện một
công việc gì đó.
void main()
{
printf(“Hello\n”);
printf(“Baby!!!”);
}
Lập trình (programming) là kỹ thuật:
–
Cài đặt các giải thuât (thuật toán)
–
Sử dụng ngôn ngữ lập trình
–
Tạo ra chương trình máy tính
Lập Trình Là Gì?
Lập Trình Là Gì?
18
Giải thuật (algorithm): là một bộ các qui tắc hay qui
trình từng bước cụ thể:
–
nhằm giải quyết một vấn đề trong một số bước hữu hạn, hoặc
–
nhằm cung cấp một kết quả từ một tập hợp của các dữ kiện
Chương trình (program):
-
Giải thuật thể hiện dưới một ngôn ngữ lập trình
-
“Ra lệnh” (instruct) máy tính
Thực hiện một công việc cụ
thể
Lập Trình Là Gì?
Lập Trình Là Gì?
19
Ngôn ngữ lập trình (programming language): Cách
thức/quy tắc ra lệnh cho máy tính.
Câu lệnh (instruction) là đơn vị cơ bản của một ngôn
ngữ lập trình.
Mỗi chương trình (program) là tập hợp các câu lệnh
giải quyết một bài toán cụ thể. Một nhóm lệnh một
chương trình.
Một nhóm các chương trình một phần mềm
(software)
Câu lệnh, Chương trình, Phần Mềm
Câu lệnh, Chương trình, Phần Mềm
20
Câu lệnh, Chương trình, Phần Mềm
Câu lệnh, Chương trình, Phần Mềm
21
Software
Program 2
Program 1
Commands Commands Commands
1. Ngôn ngữ máy tính (Machine language)
–
Chuổi số nhị phân (0 và 1)
–
Ngôn ngữ duy nhất máy tính có thể hiểu
–
Mức ngôn ngữ thấp nhất được nhận công nhận và dùng bởi
bộ vi xử lý
–
Một câu lệnh (instruction) gồm 2 phần
Phần đầu: phần mã lệnh (comand or opcode or opera"on
code)
Phần sau: toán hạng (operand) hay dữ liệu được dùng bảo
bộ xử lý nơi 1m hoặc nơi lưu của dữ liệu hay mã lệnh khác
được chế tác
Ngôn ngữ lập trình
Ngôn ngữ lập trình
22
–
VD: câu lệnh cộng register 1 và 2 xong lưu kết quả vào
register 6
6 5 5 5 5 5 bits
[ op | rs | rt | rd |shamt| funct ]
0 1 2 6 0 32 decimal
000000 00001 00010 00110 00000 100000 binary
–
Lập trình ngôn ngữ máy tính rất khó
Ngôn ngữ lập trình
Ngôn ngữ lập trình
23
2. Ngôn ngữ cấp thấp (Assembly language and Assembler)
–
Thế hệ ngôn ngữ lập trình mức thấp đầu tiên
–
Phổ biến trong năm 1960,
–
sử dụng từ viết tắt hoặc mã số cho mã số hoạt động và địa
chỉ tượng trưng
–
Ví dụ: MOV AL, 61h
(Move the hexadecimal value 61 into processor register name AL)
–
Assembler được dùng chuyển đổi ngôn ngữ Assembly sang
ngôn ngữ máy tính
Ngôn ngữ lập trình
Ngôn ngữ lập trình
24
Ngôn ngữ lập trình
Ngôn ngữ lập trình
25
Assembler
Assembly
language
Machine
language