Máy tính là gì? Máy tính là thiết bị có thể thực hiện phép tính số học và luận lý gấp triệu, tỷ, thậm chí nghìn tỷ lần nhanh hơn con ngữ lập trình... Đơn vị ngõ nhập và ngõ xuất Đơn vị
Trang 1Giới thiệu về máy tính và lập trình
Chương 1
Trang 3Sự ra đời của máy tính
máy tinh Mark I Đây là máy tính cơ điện, có thiết bị cơ khí
và thiết bị điện
“Tích phân số điện tử và máy tính” (Electronic Numerical
Integrator and Computer), viết tắt là ENIAC
(International Business Machines) và CDC (Control Data
Corporation)
Trang 4Sự ra đời của máy tính
Trang 5Sự ra đời của máy tính
điện trở, 10 nghìn tụ điện, 6 nghìn công tắc, 1500 rờ le, khi vận hành tiêu tốn 140 kW
được sử dụng trong tính toán khoa học
giây
707 chữ số của số PI, ENIAC chỉ mất 40 giây
Trang 6Sự ra đời của máy tính
Trang 7Sự ra đời của máy tính
Mạch tích hợp
Trang 8Sự ra đời của máy tính
Thẻ đục lỗ
Trang 9Máy tính là gì?
Máy tính là thiết bị có thể thực hiện phép tính số học và
luận lý gấp triệu, tỷ, thậm chí nghìn tỷ lần nhanh hơn con
ngữ lập trình
Trang 10 Chương trình xử lý văn bản, email, game,
Nguồn: Website DELL http://www.dell.com/us/en/
dfb/notebooks/
precn_m6300/pd.aspx?
refid=precn_m6300&cs=28&
s=dfb
Trang 127 Optical disc drive
8 Hard disk drive
9 Keyboard
10 Mouse
Trang 13Tổ chức máy tính
Memory RAM/ROM
Control Unit
Arithmetic and Logic Unit
CPU
Trang 14Đơn vị ngõ nhập và ngõ xuất
Đơn vị ngõ nhập (Input Unit)
Thu thập thông tin từ các thiết bị ngõ nhập để các đơn vị khác sử dụng
Bàn phím, chuột, micro, máy scan, webcam,
Đơn vị ngõ xuất (Output Unit)
Lấy thông tin đã được máy tính xử lý để đưa ra các thiết bị ngõ
xuất để sử dụng bên ngoài máy tính
Hiển thị trên màn hình, in ra giấy, tải lên Internet
Dùng cho các thiết bị khác, như điều khiển robot trong sản xuất
Trang 15Tổ chức máy tính
Memory RAM/ROM
Control Unit
Arithmetic and Logic Unit
CPU
Trang 16Đơn vị bộ nhớ chính (Memory Unit)
và dữ liệu tạm khi ứng dụng đang chạy
khi cần
bị xóa khi tắt máy
máy
Trang 17Tổ chức máy tính
Memory RAM/ROM
Control Unit
Arithmetic and Logic Unit
CPU
Trang 18 Đơn vị xử lý trung tâm (Central Processing Unit – CPU)
Đơn vị điều hành của máy tính, điều khiển hoạt động của các đơn
vị khác
Yêu cầu nhập thông tin, tính toán và yêu cầu xuất thông tin
Bao gồm ALU
Máy tính ngày nay thường có nhiều hơn một CPU
Đơn vị số học và luận lý (Arithmetic Logic Unit – ALU)
ALU thực hiện các phép tính
VD: cộng, so sánh,
License: CC-BY-SA-3.0 Uberpenguin@en.wiki
Vi xử lý 80486 của Intel
Trang 19Đơn vị lưu trữ thứ cấp
chưa thực thi, thường có dung lượng lớn
Ổ cứng, đĩa CD-ROM, DVD, đĩa flash USB,
Trang 20Hệ điều hành (Operating System – OS)
Trang 21Hệ điều hành (Operating System – OS)
và cung cấp dịch vụ cho các phần mềm khác
Trang 22Hệ điều hành (Operating System – OS)
Trang 23Hệ điều hành (Operating System – OS)
Mac OS by Apple Computer
Trang 24Hệ điều hành (Operating System – OS)
Ubuntu, desktop Linux distribution
Trang 25Hệ điều hành (Operating System – OS)
Android, a popular mobile operating system using the
Trang 27Ngôn ngữ lập trình
Trang 28Ngôn ngữ máy
những tác vụ cơ bản nhất (nhị phân)
00101010 000000000001 000000000010
10011001 000000000010 000000000011
10010000 000000001011 000000010001
Phần mã lệnh: nói cho máy tính biết làm gì
Phần địa chỉ: lấy dữ liệu ở đâu để tính toán
Trang 29Ngôn ngữ Assembly
ngữ máy, nhưng dùng tên cho mã lệnh và toán hạng thay
vì chỉ 0 và 1
dịch bằng assembler sang chương trình mã máy trước khi
được máy tính thực thi
LOAD LUONGCB ADD NGOAIGIO STORE THUCLINH
Trang 30Ngôn ngữ lập trình cấp cao
languages) sử dụng các câu lệnh dễ hiểu hơn để viết nên
chương trình
tiếng Anh, dùng ký hiệu toán học
thucLinh = luongCoBan + luongNgoaiGio
Trang 31Không Chậm, chán, dễ lỗi Ngôn ngữ tự
nhiên, ngôn ngữ duy nhất có thể hiểu trực tiếp
Ngôn ngữ
assembly LOAD LUONGCB
ADD NGOAIGIO STORE THUCLINH
Assembler Viết tắt giống tiếng
Anh, dễ hiểu hơn Assembler chuyển ngôn
ngữ assembly sang mã máy
để máy hiểu
Ngôn ngữ
cấp cao thucLinh =
luongCoBan + luongNgoaiGio
Trình biên dịch Mệnh lệnh giống
tiếng Anh; mỗi câu lệnh thực hiện một tác vụ
Trình biên dịch chuyển ngôn ngữ cấp cao thành ngôn ngữ máy
Trang 32Trình biên dịch và Trình thông dịch
Trang 33Ngôn ngữ lập trình phổ biến
BASIC được phát triển vào giữa những năm 1960 dùng để
dạy kỹ thuật lập trình cơ bản cho người mới học
trình các ứng dụng có giao diện của Windows
để phát triển nên hệ điều hành UNIX
1980, bổ sung nhiều tính năng mới cho C, đặc biệt là lập
trình hướng đối tượng (OOP).
cho máy chủ, thiết bị di động, ứng dụng web,
Trang 34C#
Trang 35.NET Framework
.NET (dot net) ra đời vào năm 2000
máy đơn và chương trình chạy trên mạng
chương trình
di động, PDA
Trang 36.NET Framework
dựng hoặc mua một lần nhưng được sử dụng nhiều lần
thời gian xây dựng ứng dụng
quan tâm vào bức tranh tổng thể của ứng dụng
thể dễ dàng sử dụng
Trang 37.NET Framework
Trang 38.NET Framework
phải được biên dịch thành ngôn ngữ MSIL
năng khác nhau
nhau như C#, VB.NET v.v
Trang 39.NET Framework
Trang 40.NET Framework
Mã nguồn MSIL CLR
nhưng chưa gắn vào một máy tính cụ thể nào, có thể sử
dụng cho nhiều cấu hình khác nhau Cho phép lập trình
bằng nhiều ngôn ngữ khác nhau
Trang 41.NET Framework
Trang 42.NET Framework
NET cung cấp thư viện lớp cơ sở đồ sộ Các lớp với chức năng
tương tự được gộp thành Namespace.
Để sử dụng lớp cơ sở của NET, sử dụng:
using System;
Trang 43Lập trình có cấu trúc
trễ hạn, chi phí tăng, sản phẩm không đáng tin cậy
Viết chương trình rõ hơn
Dễ kiểm thử và gỡ lỗi hơn
Dễ điều chỉnh hơn
Trang 44Lập trình hướng đối tượng
(Object-oriented programming – OOP)
giới thực và tái sử dụng được
triển phần mềm hiệu quả hơn
dùng lại trong các chương trình khác
Trang 45Lập trình hướng đối tượng
Đối tượng là mô hình đóng gói để tạo nên các đơn vị phần mềm có ý nghĩa
Đối tượng ngày, đối tượng thời gian, đối tượng ô tô,
Đối tượng ô tô có thể có màu, hiệu xe, số cửa,
Đối tượng ô tô có thể chạy, được bán, được mua, tạo mới,
Tất cả xe hơi thuộc về lớp “xe”, tuy khác hãng, thuộc tính hay hành vi
Trang 46Internet và World Wide Web
Internet
“gói”, và đảm bảo việc truyền nhận tin đúng và đầy đủ
bảo sự liên lạc
Trang 47Internet và World Wide Web
World Wide Web (WWW) là hệ thống các tài liệu văn bản,
hình ảnh, đa phương tiện được liên kết với nhau, và truy
cập được nhờ Internet
ra để phát triển công nghệ cho WWW
Trang 49Quy trình phát triển phần mềm
1 Phân tích bài toán
Để biết chương trình cần phải làm gì, giá trị nhập và xuất là gì
Chuyển giải thuật thành ngôn ngữ lập trình
4 Kiểm thử và sử lỗi chương trình
Trang 50Quy trình phát triển phần mềm
tích, thiết kế, viết mã, kiểm thử, bảo trì
Trang 52Giải thuật
(pseudocode)
khối
Trang 53Giải thuật
Start
Input Name, Hours, Rate
Calculate Pay Hours Rate
Dislay Name, Pay
Trang 54Giải thuật
Mã giả
Input the three values into the variables Name, Hours,
Rate.
Calculate Pay = Hours Rate.
Display Name and Pay.
Trang 55Giải thuật
Start NUM 4
SQNUM NUM2
Print NUM, SQNUM
1 Là khái niệm quan trọng
2 NUM NUM + 1 có nghĩa là lấy NUM + 1 gán cho NUM
Trang 56Một số bài toán
Trâu đứng ăn 5,
Trâu nằm ăn 3,
Trâu già 3 con ăn 1 bó,
Hỏi có bao nhiêu trâu đứng, trâu nằm, trâu già!
Trang 57i n
b
a
n i
i
i x
x
f n
a
b x
z f dx
) ( lim
) (
Trang 61Hệ đếm cơ số 2 và hệ đếm cơ số 16
0, 1, …, 9, A, B, C, D, E, F, 10, 11, 12, …
Trang 63RAM
Trang 64RAM
Trang 650x10001000
Trang 661110 10000010 11
1110 10000010 01
1010 10000010
10000010 10000020 10000010
Trang 67Tóm tắt
nên một chiếc máy tính hoạt động được
trình để yêu cầu máy tính thực hiện công việc
cấp cao cần phải có trình biên dịch để dịch sang mã máy
trình hiệu quả, đáng tin cậy và dễ bảo trì hơn