1. Trang chủ
  2. » Giáo án - Bài giảng

Bài 1: Giới thiệu ngôn ngữ C

35 328 0

Đ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

Định dạng
Số trang 35
Dung lượng 831,88 KB

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

Nội dung

Trường Đại Học Bách KhoaTrung Tâm Kỹ Thuật Điện Toán © 2016 Lập trình C/C++ 8 Tổ chức máy tính Thành phần cơ bản của mọi máy tính Để điều khiển các thiết bị phần cứng như hìnhbên, chúng

Trang 1

Chương 01

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

Lê Thành Sách

Trang 2

Trường Đại Học Bách Khoa

Trung Tâm Kỹ Thuật Điện Toán

n Các công việc trong lập trình

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

Trang 3

Tổ chức máy tính

Máy tính là gì?

n Máy tính là thiết bị có khả năng thực hiện tính toán và ra

quyết định

n Máy tính xử lý dữ liệu bằng một chuỗi của các lệnh được

gọi là chương trình máy tinh.

n Hiện nay, máy tính có mặt trong rất nhiều thiết bị với những

bề ngoài khác nhau, như, xe hơi, đồng hồ, điện thoại, máy tính phổ thông, v.v.

Trang 4

Trường Đại Học Bách Khoa

Trung Tâm Kỹ Thuật Điện Toán

n Có tổ chức như nói ở những slides tiếp theo

n Thiết bị điển hình: bàn phím (keyboard), màn hình (screen), v.v

n Hệ điều hành (Operating System)

n Là một hệ thống điều khiển được phần cứng và làm trung gian giữa phần cứng và các chương trình máy tính khác chạy trên máy tính

n Chương trình máy tính (Computer Program)

n Gồm những chuỗi lệnh để tính toán, xử lý dữ liệu và cho ra kết quả hay quyết định

Trang 5

Tổ chức máy tính

Thành phần cơ bản của mọi máy tính

1. Thiết bị nhập & Input Unit

n Đây là những thiết bị giúp máy

tính lấy dữ liệu từ người dùng

2. Thiết bị xuất & Output Unit

n Đây là những 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.

Trang 6

Trường Đại Học Bách Khoa

Trung Tâm Kỹ Thuật Điện Toán

© 2016

Lập trình C/C++

6

Tổ chức máy tính

Thành phần cơ bản của mọi máy tính

3. Bộ nhớ & Memory Unit

n Đây là những thiết bị giúp

máy tính lưu trữ thông tintạm thời trong quá trình tínhtoán

n Các thiết bị điển hình:

n RAM (random accessmemory)

4. Bộ toán học và logic &

Unit (ALU)

n Đây là những thiết bị giúp

máy tính thực hiện tính toántoán học và các quyết địnhlogic

Trang 7

Tổ chức máy tính

Thành phần cơ bản của mọi máy tính

5. Bộ xử lý trung tâm &

Central Processing Unit

(CPU)

n Đây là những thiết bị giúp

máy tính giám sát và phốihợp các đơn vị khác củamáy tính

Secondary Storage Unit

n Đây là 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

Trang 8

Trường Đại Học Bách Khoa

Trung Tâm Kỹ Thuật Điện Toán

© 2016

Lập trình C/C++

8

Tổ chức máy tính

Thành phần cơ bản của mọi máy tính

Để điều khiển các thiết

bị phần cứng như hìnhbê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

Trang 9

Ngôn ngữ lập trình

Tổng quan

n Ngôn ngữ lập trình (Programming language)

n 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

ở những chương trình

n 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

n Ba kiểu ngôn ngữ lập trình chính

1. Ngôn ngữ máy (Machine Language)

2. Ngôn ngữ Assembly (Hợp ngữ, Assembly Language)

3. Ngôn ngữ cấp cao (High-level Language)

Trang 10

Trường Đại Học Bách Khoa

Trung Tâm Kỹ Thuật Điện Toán

n Là những chuỗi số, đặc tả các lệnh của máy tính

n Phụ thuộc phần cứng Mỗi kiểu máy có tập lệnh riêng

n 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ẽ được sinh ra tự động từ bộ

chuyển ngữ (compiler, sẽ nói sau) từ ngôn ngữ cấp cao

n Ví dụ:

+1300042774 +1400593419 +1200274027

Trang 11

n Bộ chuyển ngữ (sang mã máy) cho ngôn ngữ này là “Assembler”.

n 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

n Ví dụ:

LOAD BASEPAY ADD OVERPAY STORE GROSSPAY

Trang 12

Trường Đại Học Bách Khoa

Trung Tâm Kỹ Thuật Điện Toán

n 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)

n Ngày nay, ngôn ngữ loại là phổ thông nhất, như, C, C++, C#, Java, etc

n Ví dụ:

grossPay = basePay + overTimePay

Trang 13

n Tiến hóa từ ngôn ngữ lập trình trước đó là “B” và “BCPL”

n “Traditional C” là một tiến hóa của C vào khoảng gần 1970

n 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.

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

Trang 14

Trường Đại Học Bách Khoa

Trung Tâm Kỹ Thuật Điện Toán

n Có thư viện các hàm có sẵn để làm nhiều quan trọng

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

Trang 15

Ngôn ngữ lập trình

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

n C và ngôn ngữ mở rộng của nó (là C++)

n C là nền tảng của ngôn ngữ mở rộng của nó là C++, khá nổi tiếng

n 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

Trang 16

Trường Đại Học Bách Khoa

Trung Tâm Kỹ Thuật Điện Toán

n Soạn thảo mã nguồn

n Đối tượng thực hiện: Người lập trình

n Công cụ cần đến:

n Trình soạn thảo đơn giản như NOTEPAD Nhưng ít khi được dùng

n Trình soạn thảo tích hợp trong IDE (Integrated Development Environment)

n Đầu ra: tập tin mã nguồn, dạng văn bản đọc được

n Tiền xử lý (Preprocess)

n Đối tượng thực hiện: Preprocessor (bộ tiền xử lý), thuộc IDE

n 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)

n Biên dịch (Compile)

n Đối tượng thực hiện: Compiler (bộ biên dịch), thuộc IDE

n 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

n Liên kết (Link)

n Đối tượng thực hiện: Linker (bộ liên kết), thuộc IDE

n 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

n Đầu ra: tập tin thực thi (*.exe)

Trang 17

Các công việc trong lập trình

Tạo lập chương trình

Bộ soạn

thảo

Thư viện(Header: *.h)

Bộ tiền

xử lý

Bộ biên dịch

Bộ liên kết Chương trình thực thi được

Trang 18

Trường Đại Học Bách Khoa

Trung Tâm Kỹ Thuật Điện Toán

© 2016

Lập trình C/C++

18

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

Quan niệm về chương trình

n Quan điểm:

Chương trình là những chuỗi lệnh được thực thi tuần tự

Sự thực thi tuân theo nguyên tắc điều khiển (rẽ nhánh +

lặp).

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ý, nghĩa là, các chuỗi của những lệnh nào và chọn

lựa thực thi ra sao

Trang 19

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

n Kiểu void: void

n Kiểu luận lý: bool (bổ sung bởi C++) Kiểu dữ liệu do người lập trình định nghĩa: struct , enum

Trang 20

Trường Đại Học Bách Khoa

Trung Tâm Kỹ Thuật Điện Toán

n Là các bước để giải quyết một bài toán

n Bằng cách nào mô tả giải thuật

n Dùng mã giả (pseudocode)

n Mục tiêu: giải thuật được viết bằng mã giả là dùng cho con người đọc để giải thuật và họ có thể chuyển sang mã ngôn ngữ lập trình dễ dàng

Trang 21

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

Giải thuật

n Giải thuật là gì?

n Là các bước để giải quyết một bài toán

n Bằng cách nào mô tả giải thuật

Trang 22

Trường Đại Học Bách Khoa

Trung Tâm Kỹ Thuật Điện Toán

© 2016

Lập trình C/C++

22

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

Giải thuật - pseudocode

Pseudocode = English/Vietnamese + Code

Trang 23

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

Giải thuật - pseudocode

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

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

Trang 24

Trường Đại Học Bách Khoa

Trung Tâm Kỹ Thuật Điện Toán

© 2016

Lập trình C/C++

24

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

Giải thuật - pseudocode

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

n Tên giải thuật

n Thông số và kiểu của nó

n Mục đích của giải thuật

n Điều kiện cần thỏa trước khi giải thuật thực thi

n Điều kiện cần thỏa sau khi giải thuật thực thi

Trang 25

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

Giải thuật – pseudocode, ví dụ

Algorithm average( N is integer)

Preconsition: N lớn hơn hay bằng 0

Postcondition: các số được đọc và giá trị trung bình của chúng

được in ra màn hình

1 sum = 0

2 for i = 1 to N do

1 number = read from keyboard a value

2 sum = sum + number

end-for

3 averaged = sum / N

4 print averaged to screen

5 return

Trang 26

Trường Đại Học Bách Khoa

Trung Tâm Kỹ Thuật Điện Toán

© 2016

Lập trình C/C++

26

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

Giải thuật – flowchart

n Flowchar được biểu diễn bởi các hình cơ bản, mỗi chúng

có ý nghĩa đã được quy định trước

Trang 27

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

Giải thuật – flowchart, các phần tử

n Mô tả dòng điều khiển của chương trình

n Sự thực thi đi theo con đường này

n Decision

n Cho phép kiểm tra một điều kiện

n Biểu thức luận lý được dùng

Trang 28

Trường Đại Học Bách Khoa

Trung Tâm Kỹ Thuật Điện Toán

© 2016

Lập trình C/C++

28

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

Giải thuật – flowchart, các phần tử

Trang 29

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

Giải thuật – flowchart, cấu trúc tiêu biểu

Trang 30

Trường Đại Học Bách Khoa

Trung Tâm Kỹ Thuật Điện Toán

© 2016

Lập trình C/C++

30

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

Giải thuật – flowchart, cấu trúc tiêu biểu

Trang 31

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

Giải thuật – flowchart, cấu trúc tiêu biểu

Trang 32

Trường Đại Học Bách Khoa

Trung Tâm Kỹ Thuật Điện Toán

© 2016

Lập trình C/C++

32

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

Giải thuật – flowchart, cấu trúc tiêu biểu

Trang 33

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

Giải thuật – flowchart, cấu trúc tiêu biểu

Trang 34

Trường Đại Học Bách Khoa

Trung Tâm Kỹ Thuật Điện Toán

© 2016

Lập trình C/C++

34

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

Giải thuật – flowchart, bài toán đơn giản

Bài toán gì?

Đặc điểm kết nối?

Trang 35

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

Giải thuật – flowchart, bài toán đơn giản

Hãy phân rã các bài toán

Ngày đăng: 29/03/2017, 17:50

TỪ KHÓA LIÊN QUAN