1. Trang chủ
  2. » LUYỆN THI QUỐC GIA PEN -C

Bài giảng Tin học đại cương: Bài 5 - ThS. Nguyễn Thị Phương Thảo

20 8 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 20
Dung lượng 0,97 MB

Nội dung

Viết chương trình sử dụng hàm để xác định xem một số nguyên n được nhập vào từ bàn phím có phải số nguyên tố không. Bài 3: Viết hàm kiểm tra số hoàn chỉnh[r]

(1)

T IN ĐẠI CƯƠNG

Bài 5: CHƯƠNG TRÌNH CON

Nguyễn Thị Phương Thảo

(2)

Nội dung chính

1.Giới thiệu hàm (chương trình con) 2.Truyền tham số cho hàm

(3)

Giới thiệu hàm Xây dựng khối cho chương trình

Cách gọi ngơn ngữ khác ◦ Thủ tục, chương trình con, phương thức ◦ Trong C++: hàm

I-P-O

◦ Đầu vào - Xử lý - Đầu

(4)

Hàm định nghĩa trước •Trong thư viện có sẵn nhiều hàm

Hai kiểu hàm: ◦ Hàm trả giá trị

◦ Hàm không trả giá trị (void)

Phải khai báo #include thư viện phù hợp dùng hàm

định nghĩa trước chương trình

(5)

Lời gọi hàm Xét lệnh gán: a= fabs(-4.2);

◦ Biểu thức “fabs(-4.2)” hiểu lời gọi hàm

◦ Đối số lời gọi hàm (-4.2) literal, biến, biểu thức

•Lời gọi phần biểu thức: ◦ VD: bonus = sqrt(a*2+13)/10;

(6)

Một số hàm định nghĩa trước #include <cstdlib>, thư viện gồm hàm: ◦ abs() // Trả giá trị tuyệt đối số int ◦ labs() // Trả giá trị tuyệt đối số long int ◦ fabs() // Trả giá trị tuyệt đối số float

•Hàm pow(x, y): Trả x mũ y

◦VD: Cho biết kết in đoạn mã lệnh double result, x = 3.0, y = 2.0;

result = pow(x, y); cout << result;

(7)

r

(8)

r

(9)

Hàm void định nghĩa trước

• Khơng trả giá trị

• Thực hành động, không gửi câu trả lời • Khi gọi, thân câu lệnh

VD: exit(1); //Không trả giá trị, không sử dụng để gán

(10)

HÀM DO NGƯỜI DÙNG ĐỊNH NGHĨA

16

C++ cho phép người lập trình tự viết hàm riêng mình

Xây dựng khối chương trình ◦ Thành phần nhỏ để dễ thực ◦ Dễ đọc sửa lỗi

◦ Có thể sử dụng lại

Định nghĩa hàm nằm: ◦ Cùng file với hàm main(),

(11)

Các thành phần hàm Khai báo hàm/ngun mẫu hàm

◦ Thơng tin cho trình biên dịch ◦ Thơng dịch xác lời gọi

Định nghĩa hàm

◦ Sự thực thi hay mã lệnh thực cơng việc hàm

Lời gọi hàm

(12)

Vị trí đặt định nghĩa hàm

• Đặt sau hàm main(), khơng nằm bên hàm main()

• Các hàm bình đẳng, khơng hàm thành phần hàm khác

Các tham số hình thức định nghĩa

Giữ chỗ cho liệu gửi vào

Sử dụng tên biến để tham chiếu tới liệu định nghĩa

Lệnh return

Trả liệu cho lời gọi

(13)

<Kiểu trả > <Tên hàm> ([Danh sách tham số]);

Trong đó:

-Kiểu trả về: kiểu liệu giá trị mà hàm trả -Tên hàm: tên thực hàm,

- Danh sách tham số: các tham số cần thiết để thực hàm (Một hàm có tham số khơng)

Ví dụ: Khai báo hàm tính tổng hai số nguyên

int tinhtong (int so1,int so2);

(14)

Cấu trúc:

<Kiểu trả > <Tên hàm> ([Danh sách tham số ])//tiêu đề

{

Thân hàm }

Trong đó: Tiêu đề tương tự khai báo, khơng có dấu “;” Thân hàm bao gồm tập hợp lệnh xác định mà hàm thực hiện.

(15)

Ví dụ: Định nghĩa hàm tính tổng khai báo ở trên

int tinhtong (int so1, int so2) {

int tong;

tong = so1+so2;

return tong;

}

(16)

Định nghĩa hàm có phần tiêu đề tương tự phần khai báo khác khơng có dấu “;

Định nghĩa hàm phải liệt kê tên tham số sau tên hàm Hàm trả giá trị ln ln có lệnhreturn.

Giá trị trả hàm xác định lệnh return được

thực thi

Mọi câu lệnh sau lệnhreturn đều không thực thi.

Nếu định nghĩa hàm đầy đủ đặt trước lời gọi đến nó thì khai báo hàm bỏ đi

(17)

Khi muốn sử dụng hàm, lập trình viên phải gọi hàm cách sử dụng lời gọi hàm

Lời gọi hàm sử dụng biểu thức câu lệnh (không gọi câu lệnh độc lập)

Hàm gọi (sau có khai báo định nghĩa)

Khi gọi hàm đối số truyền tới tham số theo thứ tự cần đảm bảo đồng kiểu liệu

Cần lưu trữ giá trị trả hàm

(18)

HÀM TRẢ VỀ GIÁ TRỊ - VÍ DỤ #include<iostream>

using namespace std;

int tinhtong(int so1, int so2);//khai bao ham int main()

{ int a =6; int b =7;

//a,b la cac gia triduoc truyen vao cac tham bien goi ham int ketqua;//dung de luu gia tri tra ve cua ham

ketqua = tinhtong(a,b);//goi ham

cout<<"tong so "<<a<< " va "<< b<< " la: "<<ketqua; return 0;

}

int tinhtong(int so1, int so2)//dinh nghia ham {

(19)

HÀM TRẢ VỀ GIÁ TRỊ - VÍ DỤ

#include<iostream> using namespace std;

int tinhtong(int so1, int so2)//dinh nghia

ham {

int tong;

tong = so1+so2; return tong; }

//int tinhtong(int so1, int so2); Khi dinh

(20)

Bài tập

Bài 1: Viết hàm tính tổng sau: 𝑆 = +1

2+ 1

3+ ⋯ + 1 𝑛

Viết chương trình sử dụng hàm để tính tổng S với n nhập vào từ bàn phím

Bài 2: Viết hàm kiểm tra số nguyên tố

Viết chương trình sử dụng hàm để xác định xem một số nguyên n nhập vào từ bàn phím có phải số ngun tố không?

Bài 3: Viết hàm kiểm tra số hoàn chỉnh

Ngày đăng: 09/03/2021, 05:00