1. Trang chủ
  2. » Công Nghệ Thông Tin

NHẬP MÔN VỀ MÁY TÍNH VÀ LẬP TRÌNH

53 506 10
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Nhập Môn Về Máy Tính Và Lập Trình
Trường học Trường Đại Học Công Nghệ Thông Tin
Chuyên ngành Công Nghệ Thông Tin
Thể loại Bài Giảng
Năm xuất bản 2013
Thành phố Thành Phố Hồ Chí Minh
Định dạng
Số trang 53
Dung lượng 351 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

NHẬP MÔN VỀ MÁY TÍNH VÀ LẬP TRÌNH

Trang 2

1 Phần cứng và phần mềm

a Máy tính

b Phần cứng

c Phần mềm

Trang 3

a Máy tính

Máy tính, cũng gọi là máy vi tính hay điện toán, là

những thiết bị hay hệ thống dùng để tính toán hay kiểm

soát các hoạt động mà có thể biểu diễn dưới dạng số hay quy luật lôgic

Khoa học nghiên cứu về lý thuyết, thiết kế và ứng dụng của máy tính được gọi là khoa học máy tính, hay khoa học điện toán

Từ "máy tính" (computers), đầu tiên, được dùng cho

những người tính toán số học, có hoặc không có sự trợ

giúp của máy móc, nhưng hiện nay nó có nghĩa là máy

móc hoàn toàn Đầu tiên máy tính chỉ giải các bài toán số học, nhưng các máy tính hiện đại làm được nhiều hơn thế

Trang 4

a Máy tính (tt)

Các nguyên lý cơ bản

Máy tính có thể làm việc thông qua sự chuyển động

của các bộ phận cơ khí, electron, photon, hạt lượng tử

hay các hiện tượng vật lý khác đã biết Mặc dù máy

tính được xây dựng từ nhiều công nghệ khác nhau

song gần như tất cả các máy tính hiện nay là máy tính điện tử

Trong phần lớn các máy tính ngày nay, trước hết, mọi vấn đề sẽ được chuyển thành các yếu tố toán học

bằng cách diễn tả mọi thông tin liên quan thành các số theo hệ nhị phân Sau đó, mọi tính toán trên các

thông tin này được tính toán bằng đại số Bool

(Boolean algebra)

Trang 6

a Máy tính (tt)

Khả năng lập trình

Khả năng lập trình của máy tính (programmability),

nghĩa là cung cấp cho nó một tập hợp các chỉ thị để thực

hiện mà không có sự điều khiển vật lý đối với nó, là một đặc trưng thiết kế nền tảng của phần lớn các máy tính

Đặc trưng này là một sự mở rộng đáng kể khi các máy tính đã được phát triển đến mức nó có thể kiểm soát động luồng thực hiện của chương trình Điều này cho phép máy tính kiểm soát được thứ tự trong sự thực thi các chỉ lệnh

trong chương trình dựa trên các dữ liệu đã được tính ra

Trang 7

b Phần cứng:

Còn gọi là cương liệu (Anh ngữ: hardware ), là các cơ phận (vật lý) cụ thể của máy tính hay hệ thống máy tính như là màn hình, chuột, bàn

phím, máy in, máy quét, vỏ máy tính, đơn vị vi

xử lý CPU, bo mạch chủ, các loại dây nối, loa, ổ mềm, ổ cứng, ổ CDROM,

Trang 9

b Phần cứng (tt):

Dựa trên chức năng và cách thức hoạt động

người ta còn phân biệt phần cứng ra thành:

Nhập hay đầu vào ( Input ): Các bộ phận thu nhập dữ liệu hay mệnh lệnh như là bàn phím,

Trang 10

b Phần cứng (tt):

Ngoài các bộ phận nêu trên liên quan tới phần cứng của máy tính còn có các khái niệm quan trọng sau đây:

Bus: chuyển dữ liệu giữa các thiết bị phần cứng

BIOS: còn gọi là hệ thống xuất nhập cơ bản nhằm khởi động, kiểm tra, và cài đặt các mệnh lệnh cơ bản cho phần cứng và giao quyền điều khiển cho hệ điều hành

CPU: bộ phân vi xử lý điều khiển toàn bộ máy tính

Kho lưu trữ dữ liệu: lưu giữ, cung cấp, thu nhận dữ liệu

Trang 11

b Phần cứng (tt):

 Các loại chíp hỗ trợ: nằm bên trong bo mạch chủ hay

nằm trong các thiết bị ngoại vi của máy tính các con chip quan trọng sẽ giữ vai trò điều khiển thiết bị và liên lạc với

hệ điều hành qua bộ điều vận hay qua phần sụn

 Bộ nhớ: là thiết bị bên trong bo mạch chủ giữ nhiệm vụ trung gian cung cấp các mệnh lệnh cho CPU và các dữ

liệu từ các bộ phận như là BIOS, phần mềm, kho lưu trữ, chuột đồng thời tải về cho các bộ phận vừa kể kết quả

các tính toán, các phép toán hay các dữ liệu đã/đang

được xử lý

 các cổng vào/ra

Trang 12

c Phần mềm:

Tiếng Việt còn được gọi là nhu liệu (tiếng Anh:

software ) là một tập hợp những câu lệnh được

viết bằng một hoặc nhiều ngôn ngữ lập trình

theo một trật tự xác định nhằm tự động thực

hiện một số chức năng hoặc giải quyết một bài toán nào đó.

Trang 13

Sản phẩm phần mềm được phân loại như sau:

Theo phương thức hoạt động

 Phần mềm hệ thống dùng để vận hành máy tính và các phần cứng máy tính (Windows XP, Linux, Unix, các thư

viện động-DLL của hệ điều hành, các trình điều khiển

(driver), phần sụn(firmware) và BIOS Đây là các loại

phần mềm mà hệ điều hành liên lạc với chúng để điều

khiển và quản lý các thiết bị phần cứng

Trang 14

Sản phẩm phần mềm được phân loại như sau:

biên dịch và trình thông dịch: các loại chương

trình này sẽ đọc các câu lệnh từ các mã nguồn được viết bởi các lập trình viên bằng một ngôn

Trang 15

Sản phẩm phần mềm được phân loại như sau:

Theo khả năng ứng dụng

 Những phần mềm không phụ thuộc, nó có thể được bán cho bất kỳ khách hàng nào trên thị trường tự do Ví dụ: phần mềm về cơ sở dữ liệu như Oracle, đồ họa như

Photoshop, Corel Draw, soạn thảo và xử lý văn bản, bảng tính Ưu điểm: Thông thường đây là những phần mềm

có khả năng ứng dụng rộng rãi cho nhiều nhóm người sử dụng Khuyết điểm: Thiếu tính uyển chuyển, tùy biến

 Những phần mềm được viết theo đơn đặt hàng hay hợp đồng của một khách hàng cụ thể nào đó (một công ty,

bệnh viện, trường học ) Ví dụ: phần mềm điều khiển,

phần mềm hỗ trợ bán hàng

Trang 16

Tóm tắt quá trình tạo nên một phần mềm

Về mặt thiết kế:

Tùy theo mức độ phức tạp của phần mềm làm ra, người thiết kế phần mềm sẽ ít nhiều dùng đến các phương tiện để tạo ra mẫu thiết kế theo ý muốn (chẳng hạn như là các sơ

đồ khối, các lưu đồ, các thuật toán và các mã giả), sau đó mẫu này được mã hoá bằng các ngôn ngữ lập trình và đưọc các trình dịch chuyển thành các khối lệnh (module) hay/và các tệp khả thi Tập hợp các tệp khả thi và các khối lệnh đó làm thành một phần mềm

Một phần mềm thông thường sẽ tương thích với một

hay vài hệ điều hành, tùy theo cách thiết kế, cách viết mã

nguồn và ngôn ngữ lập trình được dùng

Trang 17

Tóm tắt quá trình tạo nên một phần mềm

Sản xuất và phát triển phần mềm

Việc phát triển và đưa ra thị trường của một

phần mềm là đối tượng nghiên cứu của bộ môn kỹ

mềm ( software engineering )

Bộ môn này nghiên cứu các phương pháp tổ

chức, cách thức sử dụng nguồn tài nguyên, vòng quy trình sản xuất, cùng với các mối liên hệ với thị trường, cũng như liên hệ giữa các yếu tố này với

nhau

Trang 18

2 Các ngôn ngữ lập trình

a Ngôn ngữ lập trình

b Phân nhóm

c Học ngôn ngữ lập trình

Trang 19

a Ngôn ngữ lập trình:

 Phương tiện để viết chương trình cho máy tính

 Hàng trăm ngôn ngữ lập trình khác nhau

 Những quy định về cú pháp ( syntax ) & ngữ

nghĩa ( semantic )

 Máy tính có thể hiểu được

Trang 20

b Phân nhóm

 Ngôn ngữ máy - Machine languages

 Ngôn ngữ duy nhất của máy tính - CPU

 Hợp ngữ - Assembly languages

 Ngôn ngữ cấp cao - High-level languages

Trang 21

Ngôn ngữ máy - Machine languages

 Ngôn ngữ duy nhất được máy tính (CPU) hiểu trực tiếp

 Được xác định bởi tập lệnh của CPU

Phụ thuộc vào máy tính cụ thể

Dạng nhị phân {0,1}*

Rất khó đọc hiểu

Khó có khả năng viết chương trình trực tiếp

Khó nhớ hàng chục ngàn lệnh dạng {0,1}*

Rất khó xác định & sửa lỗi

 Không được sử dụng trong thực tế để viết chương trình

 Nền tảng xây dựng hợp ngữ

Trang 22

Hợp ngữ - Assembly languages

 Sử dụng các từ khóa tiếng Anh cho các lệnh hay nhóm

lệnh của mã máy

 Được dịch sang mã máy khi thực hiện

 Chuyển đổi nhanh chóng

 Dễ đọc và dễ hiểu hơn

 Vẫn tương đối khó sử dụng do

Các lệnh còn đơn giản nên phải dùng nhiều lệnh

Chưa có những cấu trúc điều khiển thuận tiện

Khả năng tìm và sửa lỗi cũng chưa thuận tiện

 Nền tảng xây dựng các ngôn ngữ cấp cao

Trang 23

Ngôn ngữ cấp cao - High-level languages

 Một câu lệnh diễn tả nhiều động thái

 Có cấu trúc ngày càng giống ngôn ngữ tự nhiên (tiếng

Anh)

 Được dịch sang assembly hay mã máy bằng các chương trình dịch trước khi thực thi

Source code & Executed code

 Được phân làm nhiều lớp

Lập trình goto

Lập trình cấu trúc – Structured

Lập trình hướng đối tượng – Object Oriented

Các dạng khác

Trang 24

 Học ngôn ngữ lập trình ≠ Học ngôn ngữ tự nhiên

Quy tắc ngữ pháp đơn giản

Từ vựng ít, tự quy định

Cấu trúc câu đơn giản

 Hạn chế và khó khăn của sử dụng ngôn ngữ lập trình

Trang 27

Lập trình cấu trúc (tt)

 Hạn chế của lập trình cấu trúc:

Khi chương trình lớn hơn, ta khó quản lý

Dữ liệu đóng vai trò quan trọng

Khi thêm 1 dữ liệu kiểu mới, ta phải thay đổi tất cả các công việc và các hàm liên quan đến dữ liệu đó

Không thể phân chia các phần trong chương trình sao cho không xem xét được từ những phần khác

Trọng tâm của lập trình truyền thống: dựa trên các chi tiết của việc thực hiện

Lối suy nghĩ của con người: các thực thể hay đối

tượng, các thuộc tính và hoạt động của chúng

Trang 28

Lập trình hướng đối tượng

 Phân chia vấn đề thành những bộ phận cấu

Trang 29

Lập trình hướng đối tượng (tt)

Trang 30

Lập trình hướng đối tượng (tt)

Object oriented programming (OOP)

Mô hình các đối tượng thế giới thực

Các thuộc tính (trạng thái) của các đối tượng

Kích thước, hình dạng, màu sắc, khối lượng, v v

Các hoạt động (hành vi)

Quả banh lăn, nảy, phình lên và xẹp xuống

Đối tượng

Dữ liệu và hàm được đóng gói

Dữ liệu được che giấu

• Thông tin với nhau thông qua các giao diện được định rõ

Trang 31

4 Giải thuật

4.1 Khái niệm về thuật toán

4.2 Tính chất của thuật toán

4.3 Khái niệm thuật giải

4.4 Biểu diễn thuật toán

Trang 32

4.1 Khái niệm về thuật toán

 Thuật toán là một tập các hướng dẫn nhằm thực hiện

một công việc nào đó Vậy thuật toán là một phương

pháp thể hiện lời giải của vấn đề - bài toán

 Thuật toán có vai trò quan trọng trong khoa học máy tính vì: Máy tính chỉ giải quyết được vấn đề khi đã có hướng dẫn rõ ràng và đúng

 Trong khoa học máy tính thuật toán được định nghĩa là

một dãy hữu hạn các bước không mập mờ và có thể thực thi được, quá trình hành động theo các bước này phải

dừng và cho kết quả như mong muốn

Trang 33

Vậy thuật toán là:

Thuật toán, còn gọi là giải thuật, là một tập

hợp hữu hạn của các chỉ thị hay phương cách

được định nghĩa rõ ràng cho việc hoàn tất một

số sự việc từ một trạng thái ban đầu cho trước; khi các chỉ thị này được áp dụng triệt để thì sẽ

dẫn đến kết quả sau cùng như đã dự đoán.

 Nói cách khác, thuật toán là một bộ các qui tắc

hay qui trình 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 đưa vào.

Trang 34

Ví dụ:

Thuật toán để giải phương trình bậc nhất

P(x): a x + b = c , ( a , b , c là các số thực), trong tập hợp các số thực có thể là một bộ các bước sau

Trang 35

Bài tập:

Anh (Chị) xây dựng thuật toán cho các bài toán sau:

 Thuật toán tìm số nhỏ nhất trong 2 số

 Thuật toán tìm số lớn nhất trong 3 số

 Tìm số X trong dãy gồm N số

Trang 36

4.2 Tính chất của thuật toán

Tính chính xác: để đảm bảo kết quả tính toán hay các thao tác mà máy tính thực hiện được là chính xác

Tính rõ ràng: Thuật toán phải được thể hiện bằng các câu lệnh minh bạch; các câu lệnh được sắp xếp theo thứ

tự nhất định

Tính khách quan: Một thuật toán dù được viết bởi

nhiều người trên nhiều máy tính vẫn phải cho kết quả

như nhau

Tính phổ dụng (hàng loạt): Thuật toán không chỉ áp dụng cho một bài toán nhất định mà có thể áp dụng cho một lớp các bài toán có đầu vào tương tự nhau

Tính kết thúc: Thuật toán phải kết thúc sau một số hữu hạn các bước tính toán

Trang 37

4.2 Tính chất của thuật tốn (tt)

Tính khả thi: Thuật toán phải bao gồm những phép toán mà máy tính có thể hiểu được, đồng thời thuật

toán phải đảm bảo việc giải quyết được bài toán

Tính đầy đủ - vét cạn: Thuật toán ph i vét được hết ảcác tình huống, các kh n ng có thể x y ra, không bỏ ả ă ẩsót bất k một trường hợp nào trong miền áp dụng.ỳ

Tính đúng đắn: Thuật toán phải cho kết quả đúng của bài toán Nghĩa là phải được chứng minh về mặt toán học

Trang 38

Độ phức tạp thuật toán

 Thời gian mà máy tính khi thực hiện một thuật

toán không chỉ phụ thuộc vào bản thân thuật toán đó,

ngoài ra còn tùy thuộc từng máy tính Để đánh giá hiệu quả của một thuật toán, có thể xét số các phép tính phải thực hiện khi thực hiện thuật toán này Thông thường số các phép tính được thực hiện phụ thuộc vào cỡ của bài

toán, tức là độ lớn của đầu vào Vì thế độ phức tạp

thuật toán là một hàm phụ thuộc đầu vào Tuy nhiên

trong những ứng dụng thực tiễn, chúng ta không cần biết chính xác hàm này mà chỉ cần biết một ước lượng đủ tốt của chúng

 Để ước lượng độ phức tạp của một thuật toán ta thường dùng khái niệm bậc O-lớn và bậc Θ (bậc Theta)

Trang 39

4.3 Khái niệm thuật giải

Trong quá trình nghiên cứu giải quyết bài toán, người

ta dưa ra nhận xét sau:

 Có nhiều bài toán cho đến nay vẫn chưa tìm được một

cách giải theo kiểu thuật toán và vẫn không biết có tồn tại thuật toán hay không

 Có nhiều bài toán đã có thuật toán nhưng không chấp

nhận được vì thời gian giải quá lớn hoặc các điều kiện cho thuật toán khó đáp ứng

 Có những bài toán được giải theo những cách vi phạm

thuật toán những vẫn chấp nhận được

Vậy cần có những đổi mới cho khái niệm thuật toán Người

ta đã mở rộng 2 tiêu chuẩn: Tính chính xác và rõ ràng

Trang 40

1.4.3 Khái niệm thuật giải (tt)

 Tính xác định: Các giải thuật đệ quy và ngẫu

nhiên.

 Tính đúng đắn: Chấp nhận cách giải gần tối ưu.

® Các cách giải chấp nhận được nhưng

không hoàn toàn đáp ứng đầy đủ các tiêu

chuẩn của thuật toán thường được gọi là

giải thuật.

Trang 41

1.4.4 Biểu diễn thuật toán

1.4.4.1 Cấu trúc cơ bản của thuật toán

1.4.4.2 Các phương pháp biểu diễn thuật toán

Trang 42

4.4.1 Cấu trúc cơ bản của thuật toán

 Cấu trúc tuần tự

 Cấu trúc rẽ nhánh

 Cấu trúc vòng lặp

Trang 44

Cấu trúc rẽ nhánh

Điều kiện

Thoả mãn

Không thoả mãn Cơng

việc 2

Kiểm tra điều kiện, nếu thỏa mãn thì thực

hiện cơng việc 1 (lệnh 1), điều kiện khơng

thỏa mãn thì thực hiện cơng việc 2 (lệnh 2)

Trang 45

Cấu trúc rẽ nhánh

 Lần lượt kiểm tra điều kiện, nếu thỏa mãn thì

thực hiện công việc

Điều kiện 1 Điều kiện 2 Điều kiện n

Việc 1 Việc 2 Việc n

Trang 46

Cấu trúc vòng lặp

 Dạng 1: Kiểm tra điều kiện nếu thỏa thì thực

hiện lệnh, kiểm tra điều kiện …

Coâng vieäc

Kiểm tra

Trang 47

Cấu trúc vòng lặp

 Dạng 2: Thực hiện lệnh, kiểm tra điều kiện, nếu thỏa thì thực hiện lệnh ….

Coâng vieäc

Trang 48

4.4.2 Các phương pháp biểu diễn thuật toán

 Ngôn ngữ tự nhiên

 Mã giả

 Lưu đồ - sơ đồ khối

Trang 49

Ngôn ngữ tự nhiên

 Sử dụng ngôn ngữ thường ngày (mẹ đẻ)

 Nhược điểm: Dài dòng, không thể hiện rõ cấu

trúc thuật toán, khó hiểu

 Ưu điểm: Dễ trình bày vấn đề

Trang 51

Lưu đồ - sơ đồ khối

 Sử dụng sơ đồ khối biểu diễn tác thao tác:

 Lựa chọn theo điều kiện

 Xử lý

 Điểm đầu, cuối

 Điểm nối

Điều kiện Nội dung xử lý

Bắt đầu Kết thúc 1

Trang 53

5 Ôn Tập

 Thuật toán là gì?

 Các tính chất của thuật toán?

 Các phương pháp biểu diễn thuật toán?

Ngày đăng: 14/03/2013, 16:44

HÌNH ẢNH LIÊN QUAN

a. Máy tính (tt) - NHẬP MÔN VỀ MÁY TÍNH VÀ LẬP TRÌNH
a. Máy tính (tt) (Trang 5)
Máy tính bảng con - NHẬP MÔN VỀ MÁY TÍNH VÀ LẬP TRÌNH
y tính bảng con (Trang 5)
1: màn hình, 2: bo mạch chủ,  3: CPU,  - NHẬP MÔN VỀ MÁY TÍNH VÀ LẬP TRÌNH
1 màn hình, 2: bo mạch chủ, 3: CPU, (Trang 8)
Photoshop, Corel Draw, soạn thảo và xử lý văn bản, bảng tính... Ưu điểm: Thơng thường đây là những phần mềm  cĩ khả năng ứng dụng rộng rãi cho nhiều nhĩm người sử  dụng - NHẬP MÔN VỀ MÁY TÍNH VÀ LẬP TRÌNH
hotoshop Corel Draw, soạn thảo và xử lý văn bản, bảng tính... Ưu điểm: Thơng thường đây là những phần mềm cĩ khả năng ứng dụng rộng rãi cho nhiều nhĩm người sử dụng (Trang 15)
 Mơ hình các đối tượng thế giới thực - NHẬP MÔN VỀ MÁY TÍNH VÀ LẬP TRÌNH
h ình các đối tượng thế giới thực (Trang 30)

TỪ KHÓA LIÊN QUAN

w