You are on page 1of 8

Phn 20: Hm ton hc Arduino

Hm ton hc

min()

max()

abs()

map()

pow()

sqrt()

sq()

isnan()

constrain()

1/ min() :
M t
Hm min c nhim v tr v gi tr nh nht gia hai bin.

C php
min(x, y);

Tham s
x: s th nht, mi kiu d liu u c chp nhn.
y: s th hai, mi kiu d liu u c chp nhn.

Tr v
S nh nht trong 2 s.

Gi

Hm min c dng ly chn trn (khng gi tr vt qu mt mc quy


nh no ).

Cnh bo c php
min(a++, 100); // nu bn nhp nh th ny th s b li y

a++;
min(a, 100);

// nhng nu nhp nh th ny th n! V hy ghi nh l khng

c bt c php tnh no bn trong hm ny, bn nh

2/ max() :
M t
Hm max c nhim v tr v gi tr ln nht gia hai bin.

C php
max(x, y);

Tham s
x: s th nht, mi kiu d liu u c chp nhn.
y: s th hai, mi kiu d liu u c chp nhn.

Tr v
S ln nht trong 2 s.

Gi
Hm max c dng ly chn di (khng gi tr tt xung qu mt
mc quy nh no ).

Cnh bo c php

max(a--, 0); // nu bn nhp nh th ny th s b li y

a--;
min(a, 0);

// nhng nu nhp nh th ny th n! V hy ghi nh l khng

c bt c php tnh no bn trong hm ny, bn nh

3/ abs() :
M t
Hm abs c nhim v tr v gi tr tuyt i ca mt s.

C php
abs(x);

Tham s
x: mt s bt k

Tr v
Nu x >= 0, th tr v x cn ngc li l tr v -x

Cnh bo c php
abs(a--); // nu bn nhp nh th ny th s b li y

a--;
abs(a);

// nhng nu nhp nh th ny th n! V hy ghi nh l khng c

bt c php tnh no bn trong hm ny, bn nh

4/ map :
M t
map() l hm dng chuyn mt gi tr t thang o ny sang mt gi tr
thang o khc. Ga tr tr v ca hm map() lun l mt s nguyn.

C php
map(val,A1,A2,B1,B2);
Trong :

val l gi tr cn chuyn i

A1, A2 l gii hn trn v di ca thang o hin ti

B1,B2 l gii hn trn v di ca thang o cn chuyn ti

V d
//Chuyn i 37 C sang F
int C_deg = 37;
int F_deg = map(37,0,100,32,212); //F_deg = 98

5/ pow() :
Gii thiu
pow() l hm dng tnh ly tha ca mt s bt k (c th l s nguyn
hoc s thc ty ). pow() tr v kt qu tnh ton ny.

C php
pow([c s], [ly tha]);

V d
int luythua1 = pow(2,3);

float luythua2 = pow(1.2,2.3);


double luythua3 = pow(1.11111,1.11111);

//luythua1 = 8

(=23)

//luythua2 = 1.52 (=1.22.3)


//luythua3 = 1.12 (=1.111111.11111)

Ch
C 2 tham s a vo hm pow() u c nh ngha l kiu s thc float.
Kt qu tr v ca pow() c nh ngha l kiu s thc double

6/sqrt() :
Gii thiu
sqrt() l hm dng tnh cn bc 2 ca mt s bt k (c th l s nguyn
hoc s thc ty ) v tr v kt qu ny.

C php
sqrt([s cn tnh cn bc 2]);

V d
int v1 = sqrt(9);
float v2 = sqrt(6.4);
double v3 = sqrt(6.5256);
int v4 = sqrt(-9);
float v5 = sqrt(-6.4);

//v1 = 3
//v2 = 2.53
//v3 = 2.55
//v4 = 0
//v5 = NaN

(tham kho hm isnan())

Ch
Tham s a vo hm sqrt() c th l bt k kiu d liu biu din s no. Kt
qu tr v ca sqrt() c nh ngha l kiu s thc doublehoc NaN nu
tham s a vo l s thc b hn 0.

7/ sq() :
Gii thiu
Hm sq() c dng tnh bnh phng ca mt s bt k, s ny c th
thuc bt k kiu d liu bin din s no. sq() tr v gi tr m n tnh c
vi kiu d liu ging nh kiu d liu ca tham s ta a vo.

C php
sq([s cn tnh bnh phng]);

V d
int binhphuong1 = sq(5);
int binhphuong2 = sq(-5);
float binhphuong3 = sq(9.9);
float binhphuong4 = sq(-9.9);

//binhphuong1 = 25
//binhphuong2 = 25
//binhphuong3 = 98.01
//binhphuong4 = 98.01

8/ isnan() :
M t
isnan s tr v l true nu gi tr cn kim tra khng phi l mt biu thc
ton hc ng n. Ch nan c ngha l Not-A-Number.

C php
isnan(double x);

Tr v
true hoc false

V d
isnan(sqrt(-2)); //true
isnan(sqrt(2)); // false

9/ constrain() :
Gii thiu
Bt buc gi tr nm trong mt khong cho trc.

C php
constrain(x, a, b)

Tham s

x: gi tr cn xt
a: chn di (a l gi tr nh nht ca khong)
b: chn trn (b l gi tr ln nht ca khong)

Tr v
x: nu a <= x <= b
a: nu x < a
b: nu x > b

V d
int sensVal = analogRead(A2);
sensVal = constrain(sensVal, 10, 150);
//Gii hn gi tr sensVal trong khong [10,150]

You might also like