You are on page 1of 59

ĐẠI HỌC NGUYỄN TẤT THÀNH

KHOA CƠ KHÍ - ĐIỆN – ĐIỆN TỬ - Ô TÔ


TECHMT.VN

VI ĐIỀU KHIỂN 1
ARDUINO

GV: TRẦN NGỌC HUY THỊNH


Tài liệu học tập:
(1) TECHMT.VN
ĐẠI HỌC NGUYỄN TẤT THÀNH
KHOA CƠ KHÍ - ĐIỆN – ĐIỆN TỬ - Ô TÔ
TECHMT.VN

I/O
Light ‘Em Up

GV: TRẦN NGỌC HUY THỊNH


Tài liệu học tập:
(1) Khoa Cơ Khí – Điện – Điện Tử, 2014, Ngôn ngữ và
Phương Pháp Lập Trình , ĐH Nguyễn Tất Thành.
Trung tâm đào tạo và chuyển giao công nghệ TECHMT.VN

Project 1 — LED Flasher


• Thiết bị:

12:10 CHƯƠNG 6: HÀM 3/37


Trung tâm đào tạo và chuyển giao công nghệ TECHMT.VN

Project 1 — LED Flasher


• Kết nối:

12:10 CHƯƠNG 6: HÀM 4/37


Trung tâm đào tạo và chuyển giao công nghệ TECHMT.VN

Project 1 — LED Flasher


• Code:
// Project 1 - LED Flasher
int ledPin = 10;
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop() {
digitalWrite(ledPin, HIGH);
delay(1000);
digitalWrite(ledPin, LOW);
delay(1000);
}

• Bây giờ hãy Verify và bấm Upload sau đó quan sát đèn Led ở
mạch nhé!
12:10 CHƯƠNG 6: HÀM 5/37
Trung tâm đào tạo và chuyển giao công nghệ TECHMT.VN

Project 1 — LED Flasher – Code Overview


• // Project 1 - LED Flasher:
Đây là đoạn chú thích trong chương trình, các chữ chú
thích sẽ hiện mày Gray nhưng các bạn có thể đổi màu
chữ này tùy thích.
• Chú thích đoạn text ta dung lệnh /*…*/
/* All of the text within
the slash and the asterisks
is a comment and will be
Ignored by the compiler */

• Trong C dấu ; là dấu kết thúc một câu lệnh.

12:10 CHƯƠNG 6: HÀM 6/37


Trung tâm đào tạo và chuyển giao công nghệ TECHMT.VN

Project 1 — LED Flasher – Code Overview


• Lệnh: int ledPin = 10;
Khai báo biến có tên ledPin theo định dạng số nguyên
có dấu và mang giá trị 13.

• Trong C/C++ có 4 kiểu dữ liệu 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 luận lý: giá trị đúng hoặc sai.
Kiểu ký tự: 256 ký tự trong bảng mã ASCII.

• Xem them tại: https://www.arduino.cc/reference/en/

12:10 CHƯƠNG 6: HÀM 7/37


Trung tâm đào tạo và chuyển giao công nghệ TECHMT.VN

Project 1 — LED Flasher – Code Overview


• Kiểu số nguyên không dấu:
• n bit không dấu: 0 … 2n – 1

Kiểu Độ lớn Miền giá trị


(Type) (Byte) (Range)
unsigned char, byte 1 0 … 255
unsigned int 2 0 … 65.535
unsigned short 2 0 … 65.535
unsigned long 4 0 … 4.294.967.295

12:10 CHƯƠNG 6: HÀM 8/37


Trung tâm đào tạo và chuyển giao công nghệ TECHMT.VN

Project 1 — LED Flasher – Code Overview


 Các kiểu số nguyên (có dấu)
n bit có dấu: –2n – 1 … +2n – 1 – 1

Kiểu Độ lớn Miền giá trị


(Type) (Byte) (Range)
char 1 –128 … +127
int 2 –32.768 … +32.767
short 2 –32.768 … +32.767
long 4 –2.147.483.648 … +2.147.483.647

12:10 CHƯƠNG 6: HÀM 9/37


Trung tâm đào tạo và chuyển giao công nghệ TECHMT.VN

Project 1 — LED Flasher – Code Overview


 Các kiểu số thực (floating-point)
Ví dụ
• 17.06 = 1.706*10 = 1.706*101
• float sensorCalbrate = 1.117;
Kiểu Độ lớn Miền giá trị
(Type) (Byte) (Range)
float (*) 4 3.4*10–38 … 3.4*1038
double (**) 8 1.7*10–308 … 1.7*10308
(*) Độ chính xác đơn (Single-precision) chính xác đến
7 số lẻ.
(**) Độ chính xác kép (Double-precision) chính xác
đến 19 số lẻ.
12:10 CHƯƠNG 6: HÀM 10/37
Trung tâm đào tạo và chuyển giao công nghệ TECHMT.VN

Project 1 — LED Flasher – Code Overview

 Kiểu Luận lý:


 Đặc điểm
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.
Arduino: boolean
 Ví dụ
0 (false), 1 (true), 2 (true), 2.5 (true)
1 > 2 (0, false), 1 < 2 (1, true)

12:10 CHƯƠNG 6: HÀM 11/37


Trung tâm đào tạo và chuyển giao công nghệ TECHMT.VN

Kiểu ký tự
 Đặc điểm
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’.
12:10 CHƯƠNG 6: HÀM 12/37
Trung tâm đào tạo và chuyển giao công nghệ TECHMT.VN

Kiểu ký tự

12:10 CHƯƠNG 6: HÀM 13/37


Trung tâm đào tạo và chuyển giao công nghệ TECHMT.VN

Biến
Ví dụ
int i;
int i_j, i_k;
Biến
unsigned char c_dem;
float f_ketqua, f_delta;

Cú pháp
<kiểu> <tên biến>;
<kiểu> <tên biến 1>, <tên biến 2>;

12:10 CHƯƠNG 6: HÀM 14/37


Trung tâm đào tạo và chuyển giao công nghệ TECHMT.VN

Tên/định danh (Identifier):


 Tên biến hợp lệ là một chuỗi ký tự liên tục gồm: Ký tự
chữ, số và dấu gạch dưới.
 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ự _ chen trong tên nhưng không cho phép
chen giữa các khoảng trắng.

12:10 CHƯƠNG 6: HÀM 15/37


Trung tâm đào tạo và chuyển giao công nghệ TECHMT.VN

Tên:
Ví dụ:
NTTU khác nttu khác Nttu
Các tên đúng: delta, a_1, Num_ODD, Case
Các tên sai:
3a_1 (ký tự đầu là số)
num-odd (sử dụng dấu gạch ngang)
int (đặt tên trùng với từ khóa)
del ta (có khoảng trắng)
f(x) (có dấu ngoặc tròn)

12:10 CHƯƠNG 6: HÀM 16/37


Trung tâm đào tạo và chuyển giao công nghệ TECHMT.VN

Biến
 Đặc điểm
Tên biến
 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’.

12:10 CHƯƠNG 6: HÀM 17/37


Trung tâm đào tạo và chuyển giao công nghệ TECHMT.VN

Hằng số
Cú pháp
<kiểu> <tênhằng> = <giá trị>;
Hằng
thường

Ví dụ
int a = 1506; // 150610
int b = 01506; // 15068
int c = 0x1506; // 150616 (0x hay 0X)
float d = 15.06e-3; // 15.06*10-3 (e hay E)
12:10 CHƯƠNG 6: HÀM 18/37
Trung tâm đào tạo và chuyển giao công nghệ TECHMT.VN

Hằng số
Cú pháp
#define <tênhằng> <giá trị>
Hằng hoặc sử dụng từ khóa const.
ký hiệu

Ví dụ
#define MAX 100 // Không có ;
#define PI 3.14 // Không có ;
const int MAX = 100;
const float PI = 3.14;

12:10 CHƯƠNG 6: HÀM 19/37


Trung tâm đào tạo và chuyển giao công nghệ TECHMT.VN

Biểu thức
 Khái niệm
Tạo thành từ các toán tử (Operator) và các toán hạng
(Operand).
Toán tử tác động lên các giá trị của toán hạng và cho giá
trị có kiểu nhất định.
Toán tử: +, –, *, /, %….
Toán hạng: hằng, biến, lời gọi hàm...
 Ví dụ
2 + 3, a / 5, (a + b) * 5, …

12:10 CHƯƠNG 6: HÀM 20/37


Trung tâm đào tạo và chuyển giao công nghệ TECHMT.VN

Toán tử gán
 Khái niệm
Thường được sử dụng trong lập trình.
Gán giá trị cho biến.
 Cú pháp
<biến> = <giá trị>;
<biến> = <biến>;
<biến> = <biểu thức>;
Có thể thực hiện liên tiếp phép gán.

12:10 CHƯƠNG 6: HÀM 21/37


Trung tâm đào tạo và chuyển giao công nghệ TECHMT.VN

Toán tử gán
 Ví dụ
void main()
{
int ia, ib, ic, id, ie, ithuong;
ia = 10;
ib = ia;
ithuong = ia / ib;
ia = ib = ic = id = ie = 156;
ie = 156;
id = ie;
ic = id;
ib = ic;
ia = ib;
}

12:10 CHƯƠNG 6: HÀM 22/37


Trung tâm đào tạo và chuyển giao công nghệ TECHMT.VN

Project 1 — LED Flasher – Code Overview


• Lệnh:
void setup() {
pinMode(ledPin, OUTPUT);
}

• Trong một chương trình Arduino, bạn cần có tối


thiểu 2 hàm hệ thống chính, bắt buộc phải có,
không có là không được. Đó là setup() và loop()

12:10 CHƯƠNG 6: HÀM 23/37


Trung tâm đào tạo và chuyển giao công nghệ TECHMT.VN

Project 1 — LED Flasher – Code Overview


• void setup()
{
// toàn bộ đoạn code nằm trong hàm này chỉ được chạy
duy nhất một lần khi chạy chương trình

}
• void loop()
{
// lặp lại mãi mãi sau khi chạy xong setup()
}

12:10 CHƯƠNG 6: HÀM 24/37


Trung tâm đào tạo và chuyển giao công nghệ TECHMT.VN

Project 1 — LED Flasher – Code Overview


• Lệnh: pinMode(ledPin, OUTPUT);
• Hàm con có dạng: int myFunc(int x, int y)
• Trong đó:
• Int là kiểu dư xlieuej của hàm.
• myFunc là tên hàm con.
• (int x, int y) là các tham số của hàm.

12:10 CHƯƠNG 6: HÀM 25/37


Trung tâm đào tạo và chuyển giao công nghệ TECHMT.VN

Project 1 — LED Flasher – Code Overview


• Có hai cách truyền đối số vào tham số hình thức:
• Truyền tham trị
• Truyền tham biến.

12:10 CHƯƠNG 6: HÀM 26/37


Trung tâm đào tạo và chuyển giao công nghệ TECHMT.VN

Project 1 — LED Flasher – Code Overview


• Có hai cách truyền đối số vào tham số hình thức:
• Truyền tham trị
• Truyền tham biến.

12:10 CHƯƠNG 6: HÀM 27/37


Trung tâm đào tạo và chuyển giao công nghệ TECHMT.VN
Tham số hình thức &tham số thực?

N=5
N=5

Hàm nào đó Truyền tham trị: Sau khi thoát khỏi


Đổi N = 8 hàm nó vẫn giữ giá trị gốc

N=8
N=5

Hàm nào đó Truyền tham biến: Sau khi thoát khỏi


Đổi N = 8 hàm, nó sẽ lấy giá trị bị thay đổi
trong hàm

12:10 CHƯƠNG 6: HÀM 28/37


Trung tâm đào tạo và chuyển giao công nghệ TECHMT.VN
Tham số hình thức &tham số thực?
• Truyền tham trị (call by value)
– Sao chép giá trị của đối số vào tham số hình thức
của hàm.

– Những thay đổi của tham số không ảnh hưởng đến giá
trị của đối số.

12:10 CHƯƠNG 6: HÀM 29/37


Trung tâm đào tạo và chuyển giao công nghệ TECHMT.VN
Tham số hình thức & tham số thực?
Ví dụ: void main()
void hamgido(int a) {
{ int a=40;
a = a*2; hamgido (a);
printf( “gia tri cua a trong printf(“\n Gia tri cua a
ham double: %d“, a); trong ham main: ”);
} printf “%d”, a);
}

12:10 CHƯƠNG 6: HÀM 30/37


Trung tâm đào tạo và chuyển giao công nghệ TECHMT.VN
Tham số hình thức & tham số thực?

void main() void change(int a) {


{ a = a*2;
int a = 40;
40 printf("gia tri a
change(a); trong ham: = %d \
printf("Sau khi goi n", a);
phuong thuc a = %d \ }
n", a);
return 0;
}
Gia tri cua a trong ham hamgido: 80
Gia tri cua a trong ham main: 40

12:10 CHƯƠNG 6: HÀM 31/37


Trung tâm đào tạo và chuyển giao công nghệ TECHMT.VN
Tham số hình thức & tham số thực?
• Truyền tham chiếu (call by reference)
– Sao chép địa chỉ của đối số vào tham số hình
thức. Do đó, những thay đổi đối với tham số sẽ
có tác dụng trên đối số.

Ví dụ: Khi gọi hàm hamgido (&a);


Địa chỉ của a truyền vào cho tham số hình thức của
hàm: hamgido (int *b)

12:10 CHƯƠNG 6: HÀM 32/37


Trung tâm đào tạo và chuyển giao công nghệ TECHMT.VN
Tham số hình thức & tham số thực?
void main() void change(int *a) {
{ *a *=2;
int a = 40;
printf("Gia tri a o ham
printf("Truoc khi goi phuong
thuc a = %d \n", a); con: = %d \n", *a);
change(&a); // truyen tham }
chieu vao phuong thuc
printf("Sau khi goi phuong
thuc a = %d \n", a);
return 0; Trong hàm change a = 80
} Trong hàm main a = 80

12:10 CHƯƠNG 6: HÀM 33/37


Trung tâm đào tạo và chuyển giao công nghệ TECHMT.VN

Project 1 — LED Flasher – Code Overview


void loop() {
digitalWrite(ledPin, HIGH);
delay(1000);
digitalWrite(ledPin, LOW);
delay(1000);
}
• Lệnh: digitalWrite(ledPin, HIGH); là lệnh cấp điện áp 5V vào chân
có tên là ledPin (địa chỉ pin Arduino);
• Lệnh: delay(1000); là lệnh làm Arduino đợi 1000 milliseconds)
trước khi thực hiện câu lệnh kế tiếp.
• Lệnh: digitalWrite(ledPin, LOW); là lệnh cấp điện áp 0V vào chân
có tên là ledPin (địa chỉ pin Arduino);

12:10 CHƯƠNG 6: HÀM 34/37


Trung tâm đào tạo và chuyển giao công nghệ TECHMT.VN

Để tắt đền led số 10 ta phải lập trình thế nao?


• Định nghĩa đèn led là chân số 10: int ledPin=10;
• Khai báo chân số 10 là Output bằng lệnh
pinMode(ledPin, OUTPUT);
• Nằm trong chương trình setup()
void setup() {
pinMode(ledPin, OUTPUT);
}

12:10 CHƯƠNG 6: HÀM 35/37


Trung tâm đào tạo và chuyển giao công nghệ TECHMT.VN

Để tắt đền led số 10 ta phải lập trình thế nao?


• Để xuất chân10 là 0v ta dung lệnh:
digitalWrite(ledPin, LOW);
• Và lệnh chạy chương trình sẽ viết trong vòng lặp
void loop()..
• void loop() {
digitalWrite(ledPin, LOW);
}

Vì sao lệnh khai báo xuất dữ liệu lại viết phân setup còn
lệnh chạy chương trình lại viết phần loop()???

12:10 CHƯƠNG 6: HÀM 36/37


Trung tâm đào tạo và chuyển giao công nghệ TECHMT.VN

Viết lại chương trình như sau sau đó quan sát đèn Led

void loop() {
digitalWrite(ledPin, HIGH);
delay(250);
digitalWrite(ledPin, LOW);
delay(5000);
}

12:10 CHƯƠNG 6: HÀM 37/37


Trung tâm đào tạo và chuyển giao công nghệ TECHMT.VN

Viết lại chương trình như sau sau đó quan sát đèn Led

void loop() {
digitalWrite(ledPin, HIGH);
delay(50);
digitalWrite(ledPin, LOW);
delay(50);
}

12:10 CHƯƠNG 6: HÀM 38/37


Trung tâm đào tạo và chuyển giao công nghệ TECHMT.VN

Project 1 — LED Flasher – Hardware Overview


Phần cứng
- Arduino UNO R3
- 01 Led
- 01 điện trở 220 ohm
Lắp mạch
- Cực âm Led => GND
- Cực dương Led => điện trở
=> DIGITAL 13

Lưu ý: Vì đèn Led sử dụng


dòng thấp (<40mA) nên ta
có thể kết nối trực tiếp lên
mạch Arduino

12:10 CHƯƠNG 6: HÀM 39/37


Trung tâm đào tạo và chuyển giao công nghệ TECHMT.VN

Project 1 — LED Flasher – Hardware Overview


• Vì đèn Led có dòng 10mA và điện áp cần cấp là
2.5v.

• Do đó điện trở ta cần dung là:


• R=(Vs-VL)/I
• R=(5-2.5)/0.01= 250 (ôm)

• Vì ko có điện trở 250 nên có thể lấy 220 hoặc


330.

12:10 CHƯƠNG 6: HÀM 40/37


Trung tâm đào tạo và chuyển giao công nghệ TECHMT.VN

Project 1 — LED Flasher – Hardware Overview

12:10 CHƯƠNG 6: HÀM 41/37


Trung tâm đào tạo và chuyển giao công nghệ TECHMT.VN

Project 1 — LED Flasher – Hardware Overview


• Đèn Led

12:10 CHƯƠNG 6: HÀM 42/37


Trung tâm đào tạo và chuyển giao công nghệ TECHMT.VN

Project 1 — LED Flasher – Hardware Overview


• Sơ đồ phần cứng

12:10 CHƯƠNG 6: HÀM 43/37


Trung tâm đào tạo và chuyển giao công nghệ TECHMT.VN

Project 2 – S.O.S. Morse Code Signaler


• Viết chương trình sáng led 150ms, tắt led 100ms 3
lần, sau đó chờ 100ms rồi sáng led 400ms, tắt led
100ms 3 lần, chờ 100ms rồi sáng led 150ms, tắt led
100ms 3 lần. Cuối cùng đợi 5000ms và lặp lại tín
hiệu SOS.

12:10 CHƯƠNG 6: HÀM 44/37


Trung tâm đào tạo và chuyển giao công nghệ TECHMT.VN

Project 2 – S.O.S. Morse Code Signaler


// LED connected to digital pin 10
int ledPin = 10;

// run once, when the sketch starts


void setup()
{
// sets the digital pin as output
pinMode(ledPin, OUTPUT);
}

// run over and over again


void loop()
{
// 3 dits
for (int x=0; x<3; x++) {
digitalWrite(ledPin, HIGH); // sets the LED on
delay(150); // waits for 150ms
digitalWrite(ledPin, LOW); // sets the LED off
delay(100); // waits for 100ms
}

// 100ms delay to cause slight gap between letters


delay(100);

12:10 CHƯƠNG 6: HÀM 45/37


Trung tâm đào tạo và chuyển giao công nghệ TECHMT.VN

Project 2 – S.O.S. Morse Code Signaler


// 3 dahs
for (int x=0; x<3; x++) {
digitalWrite(ledPin, HIGH); // sets the LED on
delay(400); // waits for 400ms
digitalWrite(ledPin, LOW); // sets the LED off
delay(100); // waits for 100ms
}
// 100ms delay to cause slight gap between letters
delay(100);

// 3 dits again
for (int x=0; x<3; x++) {
digitalWrite(ledPin, HIGH); // sets the LED on
delay(150); // waits for 150ms
digitalWrite(ledPin, LOW); // sets the LED off
delay(100); // waits for 100ms
}

// wait 5 seconds before repeating the SOS signal


delay(5000);
}

12:10 CHƯƠNG 6: HÀM 46/37


Trung tâm đào tạo và chuyển giao công nghệ TECHMT.VN

Project 2 – S.O.S. Morse Code Signaler – Code Overview

for (int x=0; x<3; x++) {


digitalWrite(ledPin, HIGH);
delay(150);
digitalWrite(ledPin, LOW);
delay(100);
}
• Nhìn vào chương trình ta thấy bật đèn Led
150ms sau đó tắt đèn led 100ms và nằm trong
vòng lặp điều kiện for
• for (int x=0; x<3; x++) {

12:10 CHƯƠNG 6: HÀM 47/37


Trung tâm đào tạo và chuyển giao công nghệ TECHMT.VN

Đặt vấn đề
 Giải pháp
Sử dụng cấu trúc lặp lại một hành động trong khi còn
thỏa một điều kiện nào đó.
3 lệnh lặp: for, while, do… while

12:10 CHƯƠNG 6: HÀM 48/37


Trung tâm đào tạo và chuyển giao công nghệ TECHMT.VN

Câu lệnh for

<Khởi đầu>

<Bước nhảy>

Đ
<Đ/K lặp> <Lệnh>

for (<Khởi đầu>; <Đ/K lặp>; <Bước nhảy>)


<Lệnh>;<Khởi đầu>, <Đ/K lặp>, <Bước nhảy>:
là biểu thức C bất kỳ có chức năng riêng
<Lệnh>: đơn hoặc khối lệnh.

12:10 CHƯƠNG 6: HÀM 49/37


Trung tâm đào tạo và chuyển giao công nghệ TECHMT.VN

Câu lệnh for


for (int x=0; x<3; x++) {
digitalWrite(ledPin, HIGH);
delay(150);
digitalWrite(ledPin, LOW);
delay(100);
}

12:10 CHƯƠNG 6: HÀM 50/37


Trung tâm đào tạo và chuyển giao công nghệ TECHMT.VN

Toán tử quan hệ
 Các toán tử quan hệ
So sánh 2 biểu thức với nhau
Cho ra kết quả 0 (hay false nếu sai) hoặc 1 (hay true nếu
đúng)
== (equal to)
!= (not equal to)
< (less than)
> (greater than)
<= (less than or equal to)
>= (greater than or equal to)

12:10 CHƯƠNG 6: HÀM 51/37


Trung tâm đào tạo và chuyển giao công nghệ TECHMT.VN

Toán tử quan hệ
 Các toán tử quan hệ
Ví dụ
s1 = (1 == 2); s2 = (1 != 2);
s3 = (1 > 2); s4 = (1 >= 2);
s5 = (1 < 2); s6 = (1 <= 2);

12:10 CHƯƠNG 6: HÀM 52/37


Trung tâm đào tạo và chuyển giao công nghệ TECHMT.VN

Các toán tử toán học


 Toán tử 1 ngôi
Chỉ có một toán hạng trong biểu thức.
++ (tăng 1 đơn vị), -- (giảm 1 đơn vị)
Đặt trước toán hạng
• Ví dụ ++x hay --x: thực hiện tăng/giảm trước.
Đặt sau toán hạng
• Ví dụ x++ hay x--: thực hiện tăng/giảm sau.
 Ví dụ
x = 10; y = x++; // y = 10 và x = 11
x = 10; y = ++x; // x = 11 và y = 11

12:10 CHƯƠNG 6: HÀM 53/37


Trung tâm đào tạo và chuyển giao công nghệ TECHMT.VN

Các toán tử toán học


 Toán tử 2 ngôi
Có hai toán hạng trong biểu thức.
+, –, *, /, % (chia lấy phần dư)
x = x + y  x += y;
 Ví dụ
a = 1 + 2; b = 1 – 2; c = 1 * 2; d = 1 / 2;
e = 1*1.0 / 2; f = float(1) / 2; g = float(1 / 2);
h = 1 % 2;
x = x * (2 + 3*5);  x *= 2 + 3*5;

12:10 CHƯƠNG 6: HÀM 54/37


Trung tâm đào tạo và chuyển giao công nghệ TECHMT.VN

Các toán tử toán học


 Toán tử 2 ngôi
Có hai toán hạng trong biểu thức.
+, –, *, /, % (chia lấy phần dư)
x = x + y  x += y;
 Ví dụ
a = 1 + 2; b = 1 – 2; c = 1 * 2; d = 1 / 2;
e = 1*1.0 / 2; f = float(1) / 2; g = float(1 / 2);
h = 1 % 2;
x = x * (2 + 3*5);  x *= 2 + 3*5;

12:10 CHƯƠNG 6: HÀM 55/37


Trung tâm đào tạo và chuyển giao công nghệ TECHMT.VN

Project 3 – Traffic Lights


 Toán tử 2 ngôi

12:10 CHƯƠNG 6: HÀM 56/37


ĐẠI HỌC NGUYỄN TẤT THÀNH
KHOA CƠ KHÍ - ĐIỆN – ĐIỆN TỬ - Ô TÔ
TECHMT.VN

Hết chương 7
Mảng - ARRAY
Trung tâm đào tạo và chuyển giao công nghệ TECHMT.VN

Questions and Answers

12:10 CHƯƠNG 6: HÀM 58/37


Trung tâm đào tạo và chuyển giao công nghệ TECHMT.VN

Bài tập thực hành:


Làm bài tập trang 87.

12:10 CHƯƠNG 6: HÀM 59/37

You might also like