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

Bài giảng kỹ thuật lập trình tự động hóa ( combo full slides 3 chương )

397 2 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

Tiêu đề Bài giảng kỹ thuật lập trình tự động hóa (combo full slides 3 chương)
Trường học Bộ môn Tự động hóa xí nghiệp Mỏ - Dầu Khí
Định dạng
Số trang 397
Dung lượng 38,53 MB
File đính kèm slide.zip (8 MB)

Nội dung

Bài giảng kỹ thuật lập trình tự động hóa ( combo full slides 3 chương ) Chương I. MÃ HÓA VÀ HỆ ĐẾM Chương II CƠ BẢN VỀ THUẬT TOÁN LẬP TRÌNH Chương III NGÔN NGỮ LẬP TRÌNH C Bài giảng kỹ thuật lập trình tự động hóa ( combo full slides 3 chương )

Trang 2

NỘI DUNG

Chương I MÃ HÓA VÀ HỆ ĐẾM

Chương II CƠ BẢN VỀ THUẬT TOÁN - LẬP TRÌNH

Chương III NGÔN NGỮ LẬP TRÌNH C

Trang 4

Khái niệm: Hệ đếm là tập hợp các phương pháp gọi

và biểu diễn các con số bằng các kí hiệu có giá trị số lượng xác định gọi là chữ số

Trang 5

Biểu diễn số tổng quát

Giá trị biểu diễn

Cơ số của hệ đếm: Giá trị số lượng của các chữ số

a i (N) của một hệ đếm hay 0 ≤ a i ≤ N-1 (a i nguyên)

Ví dụ: N =10 a i = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.

N =8 a i = 0, 1, 2, 3, 4, 5, 6, 7

N =16 a i = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C,D, E, F

N =2 a i = 0, 1

A= a m-1 a m-2 a 0, a -1 a -n

A (N) = a m-1 N m-1 + a m-2 N m-2 + + a 0 N 0 + a -1 N -1 + + a -n N -n

Khái niệm hệ đếm

Trang 6

Khái niệm hệ đếm

Trang 8

Kỹ thuật máy tính: Mã hóa là quá trình biến đổi những thông tin thành dữ liệu quen thuộc với máy tính (mã nhị phân).

Hệ đếm nhị phân và

khái niệm mã hóa

Trang 9

 Biểu diễn số nhị phân

4bit1 Nibble 210Byte1 Kilobyte (KB) 8bit1 Byte 210 Kilobyte1 Megabyte (MB)

2byte  1 Word 210 Megabyte1 Gigabyte (GB)

A = a 3 a 2 a 1 a 0

a 3 a 2 a 1 a 0 = a 3 2 3 + a 2 2 2 + a 1 2 1 + a 0 2 0

 20, 21, 22, 23 : là các trọng số

 a0: LSB-Least Significant Bit

 a3: MSB-Most Significant Bit

Hệ đếm nhị phân và

khái niệm mã hóa

Trang 11

Mã hóa trong lĩnh vực máy tính gồm :

 Mã hóa số (thập phân => số nhị phân)

Trang 17

Số nguyên không dấu (unsigned integers): dùng

biểu diễn các số nguyên dương

Số nguyên có dấu (signed integers):có thể là số

dương hoặc số âm

 Bit có trọng số cao nhất MSB được dùng để biểu diễn dấu của số,

 MSB=1 biểu diễn số âm,

 MSB=0 biểu diễn số dương

 Các số âm được lưu trong VXL, VĐK dưới dạng số bù hai.

 Số bù 1 là một số nguyên nhận được bằng cách lấy phần

bù của các bit của số nguyên đã cho(đảo bit), thay 0 bằng 1

và ngược lại

 Số bù 2 là một số nguyên nhận được bằng cách cộng 1 vào

số bù 1 của chính nó.

Mã hóa số nguyên

Trang 19

5000 4999

4998

5002 5001

(-0001) (-0002)

Mã hóa số nguyên

Trang 21

 Mã bù 2 của X được xác định bởi: 2n-|X|

Ví dụ: Tìm biểu diễn nhị phân có độ dài 8 bit của số

-1

Mã bù 2 của (-1) là: 28-1=256-1=255(10)= 11111111(2)

Mã hóa số nguyên

Trang 22

 [0…2n-1-1] biểu diễn số dương

 [2n-1…-1] biểu diễn số âm

Mã hóa số nguyên

Trang 25

 Phần biểu diến dấu dương hay âm

 Phần biểu diễn giá trị số (mantissa M )

 Phần biểu diễn số mũ (exponent Ne)

R= ( -1) × M × N

Mã hóa số thực

Trang 26

Biểu diễn số thực trong hệ nhị phân

Chuẩn MSBIN (Microsoft binary)

Trang 28

Có độ dài 11 bits cho số 64 bits

Bias = 127 cho số 32 bits

=1023 cho số 64 bits

 S E-BiasR= -1 ×M×2

Trang 29

-1-2-3

(0,375) 0,375x2 0,75 0: bit có trọng số 2 0,75x2 1,5 1:bit có trọng số 2 0,5x2 1,0 1: bit có trọng số 2

Trang 32

American Standard Code for Information Interchange

Bảng mã ASCII 7 bit mã hóa ký tự

Trang 35

Ôn tập – Thảo luận

1 Đổi những số nhị phân và số hex sau ra số thập phân:1110, 100101011110, A5BCh, F2DEh.

2 Đổi những số thập phân sau: 98, 124 ra số nhị phân; 954, 23390 ra số hex

Trang 36

Ôn tập – Thảo luận

5 Thực hiện các phép cộng sau:

1001001b + 1000110b 11010000b + 01010011b B2CDh + 1234h

Trang 37

Ôn tập – Thảo luận

7 Biểu diễn các số được mã hoá dưới dạng ASCII sau ra ký tự:

41 74 74 61 63 6B 20 61 77 6E

8 Để chuyển một chữ cái thành một chữ cái in hoa chứa trong một byte thì cần phải làm như thế nào? (hãy dựa vào bảng ASCII).

9 Hãy chuyển các số thập phân (0  9) thành mã ASCII.

10 Hãy biểu diễn tên lớp, họ và tên SV, mã số sinh viên của mình bằng mã ASCII 8bit dưới dạng chuỗi các số hexa.

Ôn tập – Thảo luận

Trang 38

Ôn tập – Thảo luận

10 Chuyển đổi các giá trị 56 (10) và 45 (10) sang các hệ

cơ số 2, 8, 16 và thực hiện các phép toán cộng, trừ, nhân, chia hai số đó Kiểm tra lại kết quả phép toán

ở hệ cơ số 10.

11 Biểu diễn các số thực ở hệ thập phân sau: 3,25; 4,5; 6,125 bằng số thực có dấu phảy động 32bit theo tiêu chuẩn IEEE754.

12 Xác định giá trị số thực dưới dạng số thập phân của các số thực có dấu phảy động 32bit theo tiêu chuẩn IEEE754 sau: BA200000h; 9C500000h.

13 Tìm phương án đổi một số nguyên có dấu 8 bit thành số nguyên có dấu 16 bit

14 Tìm hiểu thêm về các dạng mã hóa khác (âm thanh, hình ảnh, ký tự unicode…)

Ôn tập – Thảo luận

Trang 39

Chương II

CƠ BẢN VỀ THUẬT TOÁN - LẬP TRÌNH

Trang 40

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

 Định nghĩa về thuật toán

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

 Các dạng biểu diễn của thuật toán

Ôn tập – Thảo luận

Nội dung

Trang 41

Kỹ thuật lập trình là gì? Kỹ thuật thực thi một

giải pháp phần mềm (cấu trúc dữ liệu + giải thuật) dựa trên nền tảng một phương pháp luận (methodology) và một hoặc nhiều ngôn ngữlập trình phù hợp với yêu cầu đặc thù của ứng dụng.

Kỹ thuật lập trình

= Tư tưởng thiết kế+ Kỹ thuật mã hóa

= Cấu trúc dữ liệu + Giải thuật + Ngôn ngữ lập trình

Lập trình máy tính

Lập trình

Trang 42

Ổn định và bền vững: Chương trình chạy ổn định trong

cả những trường hợp khắc nghiệt; Chạy ít lỗi (số lượng lỗi ít, cường độ lỗi thấp); Mức độ lỗi nhẹ có thể chấp nhận được

ƒ Khả năng chỉnh sửa: Dễ dàng chỉnh sửa trong quá

trình sử dụng và phát triển; Dễ dàng thay đổi hoặc nâng cấp để thích ứng với điều kiện bài toán lập trình thay đổi

ƒ Khả năng tái sử dụng: Có thể được sử dụng hoặc

được kế thừa cho các bài toán lập trình khác

Lập trình máy tính

Lập trình

Trang 43

Độ tương thích: Khả năng thích ứng và chạy tốt trong

các điều kiện môi trường khác nhau

ƒ Hiệu suất: Chương trình nhỏ gọn, sử dụng ít bộ nhớ;

Tốc độ nhanh, sử dụng ít thời gian CPU

ƒ Hiệu quả: Thời gian lập trình ngắn; Khả năng bảo trì dễ

dàng; Giá trị sử dụng lại lớn; Sử dụng đơn giản, thân thiện; Nhiều chức năng tiện ích

Lập trình máy tính

Lập trình

Trang 44

Học cách tư duy và phương pháp lập trình: Tư duy

toán học, tư duy logic, tư duy có cấu trúc, tư duy hướng đối tượng, tư duy tổng quát; Tìm hiểu về cấu trúc dữ liệu

và giải thuật

ƒ Hiểu sâu về máy tính: Tương tác giữa CPU, chương

trình và bộ nhớ; Cơ chế quản lý bộ nhớ

ƒ Nắm vững ngôn ngữ lập trình: Biết rõ các khả năng và

hạn chế của ngôn ngữ; Kỹ năng lập trình (đọc thông, viết thạo)

ƒ Tự rèn luyện trên máy tính: Hiểu sâu được các điểm

nêu trên; Rèn luyện kỹ năng lập trình; Thúc đẩy sáng tạo

Lập trình máy tính

Lập trình

Trang 45

Trừu tượng hóa: Chắt lọc ra những yếu tố quan trọng,

bỏ qua những chi tiết kém quan trọng

Đóng gói:„ Che giấu và bảo vệ các dữ liệu quan trọng qua một giao diện có kiểm soát.

Module hóa: Chia nhỏ đối tượng/vấn đề thành nhiều module nhỏ để dễ can thiệp và giải quyết

Phân cấp: Phân hạng hoặc sắp xếp trật tự đối tượng

theo các quan hệ trên dưới

Lập trình máy tính

Lập trình

Trang 47

LT thu thập/quản lý dữ liệu quá trình

LT giao diện người-máy (đồ họa)

Trang 48

Chương trình = Thuật toán + Cấu trúc dữ liệuLập trình

Chương trình

Trang 50

Ngôn ngữ lập trình là một ngôn ngữ nhân tạo được thiết kế để trao đổi các lệnh với thiết bị, đặc biệt là các máy tính.

Lập trình

Ngôn ngữ lập trình

Trang 51

Các bước phát triển một chương trình

 Xác định vấn đề của bài toán,

 Triển khai cách thức thực hiện,

 Xác định thuật toán

 Xây dựng thuật toán / thuật giải,

 Kiểm tra tính đúng đắn của thuật toán,

 Phân tích thuật toán,

 Thực hiện thuật toán,

 Chạy thử và kiểm tra chương trình,

 Tối ưu chương trình

 Hệ thống hóa tài liệu hướng dẫn, lưu trữ.

Lập trình

Phát triển C.Trình

Trang 52

“Là một dãy các thao tác xác định trên một đối tượng, sao cho sau khi thực hiện một số hữu hạn các bước thì đạt được mục tiêu”.

Thuật toán = Logic + Điều khiển Thuật toán

Định nghĩa

Trang 53

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

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

Trang 54

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

Các dạng biểu diễn của thuật toán

Trang 55

Đầu vào: a, b thuộc R

Đầu ra: nghiệm phương trình ax + b = 0

Thuật toán

Tính chất

Trang 56

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

 Bằng ngôn ngữ tự nhiên (IPO)

Input : ly, đường, chanh, nước nóng, muỗng.

Thuật toán pha nước chanh

Thuật toán

Tính chất

Trang 57

Hướng (luồng) thực hiện của lưu đồ

 Bằng lưu đồ thuật toán

Thuật toán

Tính chất

Trang 58

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

 Bằng lưu đồ thuật toán

Đưa dữ liệu ra hiển thị (display)

Chuẩn bị điều kiện cho các chương trình con hay cho các khối điều kiện.

Gọi chương trình con (Procedure, Function)

Kết nối tới một điểm trên trang khác

Kết nối tới một điểm trên cùng một trang

Thuật toán

Tính chất

Trang 59

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

 Bằng lưu đồ thuật toán

 Thuật toán giải PT bậc 1

Trang 60

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

 Biểu diễn bằng mã giả (Pseudo code)

If a = 0 Then Begin

Xuất “Phương trình có nghiệm x = -b/a”

Đầu vào: a, b thuộc R

Đầu ra: nghiệm phương trình ax + b = 0

Thuật toán

Tính chất

Trang 61

Triển khai thuật toán

 Kiểu dữ liệu thực hiện trong chương trình?

 Dữ liệu là hằng số?

 Cần những kiểu biến nào?

 Bao nhiêu biến?

 Kiểu biến (bit, byte, int, float…)?

 Đăt tên biến?

 Các lệnh trong ngôn ngữ lập trình tương?

 Input : scanf(), LD, L, A,….

 Output : printf(), =, S, R,…

 Bắt đầu và kết thúc: start/end of main() function, end, OB

 Các bước thực hiện: tuần tự, lựa chọn, lặp

Thuật toán

Tính chất

Trang 62

Hãy đưa ra thuật toán thực hiện những bài toán sau bằng các phương pháp biểu diễn đã học:

1 Nhập năm sinh của một người Tính tuổi người đó.

2 Nhập 2 số a và b Tính tổng, hiệu, tính và thương của hai số đó.

3 Nhập tên sản phẩm, số lượng và đơn giá Tính tiền và thuế giá trị gia tăng phải trả, biết:

tiền = số lượng * đơn giá thuế giá trị gia tăng = 10% tiền

4 Nhập điểm thi và hệ số 3 môn Toán, Lý, Hóa của một sinh viên Tính điểm trung bình của sinh viên đó

Ôn tập – Thảo luận

Trang 63

5 Nhập bán kính của đường tròn Tính chu vi và diện tích của hình tròn đó.

6 Nhập bốn chữ số Xác định số hàng đơn vị của tổng bốn chữ số đó?

7 Nhập vào 2 số nguyên Tính min và max của hai

Trang 64

9 Trình bày thuật toán chuyển đổi một số nguyên thành tổ hợp các mã BCD phục vụ cho việc hiển thị.

10 Tính tốc độ quay của động cơ (v/ph) khi hệ thống đo gửi tín hiệu về máy tính tương ứng với mỗi vòng quay là 1 xung tín hiệu.

11 Trình bày thuật toán cho hệ thống điều khiển bể đong nguyên liệu.

12 Trình bày thuật toán điều khiển cho hệ thống đèn tín hiệu giao thông ở ngã tư.

13 Trình bày thuật toán điều khiển cho một máy bán

cà phê tự động.

Ôn tập – Thảo luận

Trang 65

Input A, B, C

“Nhập A, B, C”

Thuật toán

Tính chất

Trang 66

-B

=2A

D

“Phương trình có hai nghiệm :”

X1=X REAL +iX IMAGE

X2=X REAL -iX IMAGE

Tính chất

Trang 67

Chương III

NGÔN NGỮ LẬP TRÌNH C

Trang 68

© BM Tự động hóa xí nghiệp Mỏ và Dầu Khí

Giới thiệu chung

Ôn tập – Thảo luận

Trang 69

 Dennis Ritchie tại Bell Telephone năm 1972.

 Tiền thân của ngôn ngữ B , KenThompson, cũng tại B ell Telephone.

 Là ngôn ngữ lập trình phát triển UNIX

 Là ngôn ngữ lập trình có cấu trúc và phân biệt chữ HOA – chữ thường ( case sensitive )

 Chuẩn hóa ANSI/ISO 9899: 1990

Giới thiệu chung

Trang 70

© BM Tự động hóa xí nghiệp Mỏ và Dầu Khí

Giới thiệu chung

Ôn tập – Thảo luận

Câu Lệnh

Các lệnh nhập xuất

Giới thiệu

Ưu điểm của C

 Rất mạnh và linh động , có khả năng thể hiện bất cứ ý tưởng nào.

 Được sử dụng rộng rãi bởi các nhà lập trình chuyên nghiệp.

 Có tính khả chuyển , ít thay đổi trên các hệ thống máy tính khác nhau (portable).

 Rõ ràng, cô đọng

 Lập trình đơn thể , tái sử dụng thông qua hàm.

Giới thiệu chung

Trang 71

 Biên tập chương trình nguồn (Trình EDIT ).

 Biên dịch chương trình (Trình COMPILE ).

 Chạy chương trình nguồn (Trình RUNTIME ).

 Sửa lỗi chương trình nguồn (Trình DEBUG ).

Giới thiệu chung

Trang 72

© BM Tự động hóa xí nghiệp Mỏ và Dầu Khí

Giới thiệu chung

Ôn tập – Thảo luận

Câu Lệnh

Các lệnh nhập xuất

Giới thiệu

Môi trường lập trình

 Borland C++ 3.1 for DOS.

 Visual C++ 6.0, Win32 Console Application

Giới thiệu chung

Trang 73

void main() {

Thân chương trình chính

Cấu trúc chương

trình C

Trang 74

© BM Tự động hóa xí nghiệp Mỏ và Dầu Khí

Giới thiệu chung

Ôn tập – Thảo luận

Trang 75

Cấu trúc chương

trình C

Trang 76

© BM Tự động hóa xí nghiệp Mỏ và Dầu Khí

Giới thiệu chung

Ôn tập – Thảo luận

Trang 77

 Các từ dành riêng trong ngôn ngữ.

 Không thể sử dụng từ khóa để đặt tên cho biến, hàm, tên chương trình con.

 Một số từ khóa thông dụng:

const, enum, signed, struct, typedef, unsigned…

char, double, float, int, long, short, void

case, default, else, if, switch

do, for, while

break, continue, goto, return

Thành phần trong

NNLT-C

Trang 78

© BM Tự động hóa xí nghiệp Mỏ và Dầu Khí

Giới thiệu chung

Ôn tập – Thảo luận

Câu Lệnh

Các lệnh nhập xuất

Tên/Định danh (Identifier)

 Một dãy ký tự dùng để chỉ tên một hằng số, hằng ký tự, tên một biến, một kiểu dữ liệu, một hàm một hay thủ tục.

 Không được trùng với các từ khóa và được tạo thành từ các chữ cái và các chữ số nhưng bắt buộc chữ đầu phải là chữ cái hoặc _.

 Số ký tự tối đa trong một tên là 255 ký tự và được dùng ký

tự ’_’ chèn trong tên nhưng không cho phép chèn giữa các

khoảng trắng

Thành phần trong

NNLT-C

Trang 79

Tên/Định danh (Identifier)

 Khi khai báo biến nên đặt tên biến theo quy tắc Hungarian Notation

Ví dụ

int ituoi ; //khai báo biến ituoi có kiểu int

float fTrongluong ;

//khai báo biến fTrongluong có kiểu long

char ckitu1, ckitu2;

//khai báo biến ckitu1, ckitu2 có kiểu char

Thành phần trong

NNLT-C

Trang 80

© BM Tự động hóa xí nghiệp Mỏ và Dầu Khí

Giới thiệu chung

Ôn tập – Thảo luận

Câu Lệnh

Các lệnh nhập xuất

Ví dụ: Tên/Định danh (Identifier)

 Các tên hợp lệ: GiaiPhuongTrinh, Bai_Tap1

 Các tên không hợp lệ: 1A, Giai Phuong Trinh

 Phân biệt chữ hoa chữ thường , do đó các tên sau đây khác nhau:

 A, a

 BaiTap, baitap, BAITAP, bAItaP, …

Thành phần trong

NNLT-C

Trang 81

 Đặt giữa cặp dấu /* */ hoặc // (C++)

 Ví dụ: /* Ho & Ten: NVA */ , // MSSV: 0712078

Trang 82

© BM Tự động hóa xí nghiệp Mỏ và Dầu Khí

Giới thiệu chung

Ôn tập – Thảo luận

Trang 83

Turbo C có 4 kiểu cơ sở như sau :

 Kiểu số nguyên : giá trị của nó là các số nguyên như 2912,

-1706, …

 Kiểu số thực : giá trị của nó là các số thực như 3.1415, 29.12, -17.06, …

 Kiểu logic : giá trị đúng hoặc sai (True/False).

 Kiểu ký tự : 256 ký tự trong bảng mã ASCII.

Thành phần trong

NNLT-C

Trang 84

© BM Tự động hóa xí nghiệp Mỏ và Dầu Khí

Giới thiệu chung

Ôn tập – Thảo luận

Độ lớn (Byte)

Miền giá trị (Range)

Trang 85

Các kiểu số nguyên (không dấu)

 n bit không dấu: 0 … 2n – 1

Kiểu (Type)

Độ lớn (Byte)

Miền giá trị (Range)

Trang 86

© BM Tự động hóa xí nghiệp Mỏ và Dầu Khí

Giới thiệu chung

Ôn tập – Thảo luận

Kiểu (Type)

Độ lớn (Byte)

Miền giá trị (Range)

Thành phần trong

NNLT-C

Trang 87

 C ngầm định một cách không tường minh:

 false (sai): giá trị 0.

 true (đúng): giá trị khác 0, thường là 1.

Trang 88

© BM Tự động hóa xí nghiệp Mỏ và Dầu Khí

Giới thiệu chung

Ôn tập – Thảo luận

 Tên kiểu: char

 Miền giá trị: 256 ký tự trong bảng mã ASCII.

 Chính là kiểu số nguyên do:

 Lưu tất cả dữ liệu ở dạng số.

 Không lưu trực tiếp ký tự mà chỉ lưu mã ASCII của ký tự đó.

 Ví dụ

 Lưu số 65 tương đương với ký tự ‘A’…

 Lưu số 97 tương đương với ký tự ‘a’.

Thành phần trong

NNLT-C

Trang 89

Kiểu dữ liệu <Tên biến> ;

Kiểu dữ liệu <Danh sách tên biến>;

 Ví dụ

int ituoi ; //khai báo biến ituoi có kiểu int

float fTrongluong ; //khai báo biến fTrongluong có

Trang 90

© BM Tự động hóa xí nghiệp Mỏ và Dầu Khí

Giới thiệu chung

Ôn tập – Thảo luận

Gán đồng thời

void main() {

int a = 1, b = 2, c

= 5;

… }

Thành phần trong

NNLT-C

Trang 92

© BM Tự động hóa xí nghiệp Mỏ và Dầu Khí

Giới thiệu chung

Ôn tập – Thảo luận

#define <tên hằng> <giá trị>

hoặc sử dụng từ khóa const.

 Ví dụ

#define MAX 100

#define PI 3.14 const int MAX = 100 ;

const float PI = 3.14 ;

Thành phần trong

NNLT-C

Trang 93

 Thường được sử dụng trong lập trình.

 Gán giá trị cho biến.

Ngày đăng: 18/02/2024, 07:36