Xây dựng hàm trong :

Một phần của tài liệu Giáo án - Bài giảng: GIỚI THIỆU NGÔN NGỮ LẬP TRÌNH R (Trang 26 - 28)

6. Lập trình với ngôn ngữ : 1 Tổng quan về lập trình vớ i R :

6.5Xây dựng hàm trong :

Giá trị được trả về bởi một hàm là giá trị được tạo bởi thân hàm đó , giá trị này thường được trả về trong dòng lệnh cuối của thân hàm , ví dụ ta có thể dùng câu lệnh return() để trả về giá trị của hàm .

Cú pháp khi gọi một hàm đã được định nghĩa :

myfct(arg1=..., arg2=...)

Các quy tắc cú pháp :

• Thông thường :

Các chức năng được định nghĩa bằng việc gán bởi từ khóa “function”. Phần khai báo các tham số được đặt trong cặp dấu () , các tham số được ngăn cách bởi dấu “,”. Các câu lệnh thực hiện chức năng của hàm nằm trong phần thân hàm giữa hai dấu ”{}” , cần phải gán tên cho hàm để có thể gọi lại sau này.

• Cách đặt tên hàm :

Tên hàm gần như có thể đặt bằng bất cứ cách nào, tuy nhiên cần tránh đặt tên hàm trùng các hàm sẵn có trong R.

• Chức năng của phần thân hàm :

Tại đây các câu lệnh điều khiển và thực hiện chức năng của hàm được khai báo. Các câu lệnh riêng biệt được ngăn cách nhau bởi dấu “;”

• Phạm vi của biến :

Một biến được khai báo trong một hàm sẽ chỉ tồn tại trong thời gian hoạt động của hàm đó. Vì vậy, chúng ta không thể gọi tới 1 biến được khai báo bên trong một hàm từ bên ngoài hàm đó . Chúng ta có thể làm điều này bằng cách khai báo biến là một biến toàn cục với toán tử “<<-” thay vì toán tử gán “<-” thông thường.

Ví Dụ: viết hàm so sánh 2 số a và b sosanh <- function(a,b)

{

Ví dụ: giải phương trình bậc 2: giai <- function(a,b,c) {if(a==0) {ifelse(b==0,result <- c("pt vo nghiem"),result <- -c/b)} else {delta <- b*b-4*a*c if(delta > 0) { re1 <- (-b+sqrt(delta))/2*a re2 <- (-b-sqrt(delta))/2*a result <- c(re1,re2) }

else{if(delta == 0){result <- -b/2*a}else{ result <- c("pt vo nghiem")}

} }

return (result) }

Một phần của tài liệu Giáo án - Bài giảng: GIỚI THIỆU NGÔN NGỮ LẬP TRÌNH R (Trang 26 - 28)