ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
Đại học Công nghệ Thông tin
THỰC HÀNH MÔN TIN HỌC ĐẠI CƯƠNG
Bài số 6 : HÀM
I. Mục tiêu
1. Hiểu được cách khai báo và cách sử dụng hàm.
2. Phân biệt truyền tham số và truyền tham trị.
3. Phân biệt biến toàn cục và biến cục bộ.
II. Bài tập thực hành
1. Hàm kiểm tra số nguyên tố
2. Hàm đổi số từ hệ 10 sang hệ 2
3. Hàm tìm USCLN của 2 số nguyên dương
III. Hướng dẫn thực hành
1. Hàm kiểm tra số nguyên tố
Đề bài
Viết một hàm để kiểm tra một số nguyên dương có phải là số nguyên
tố hay không. Sau đó dùng hàm đã viết để tìm tất cả các số nguyên tố nằm
trong khoảng từ 100 đến 1000.
Phân tích bài toán
Số nguyên tố là số có hai ước số duy nhất là 1 và chính nó. Như vậy,
nếu trong khoảng từ 2 đến K/2 không tồn tại một ước số nào của K, thì K là
số nguyên tố.
Duyệt từ chặn dưới (100) đến chặn trên (1000), dùng hàm kiểm tra
số nguyên tố, ta in các số là nguyên tố ra màn hình.
Chương trình minh họa
#include <stdio.h>
#include <conio.h>
int SoNT(int N);
void main()
{
#include <conio.h>
void ChuyenNT(int soTP, int soNP[], int &chieudai);
void main()
{
int soTP = 0;
int soNP[20];
int chieudai = 0;
scanf (“nhap vao 1 so he 10 : %d”, &soTP);
ChuyenNT(soTP, soNP, chieudai);
for (int i = 0; i < chieudai; i++)
printf(“%d”, soNP[i]);
getch();
}
void ChuyenNT(int soTP, int soNP[], int &chieudai)
{
chieudai = 0;
while (soTP != 0)
{
soNP[chieudai++] = soTP mod 2;
soTP = soTP div 2;
}
}
3. Tìm USCLN của hai số nguyên dương bất kỳ
Đề bài
Viết thủ tục nhập hai số nguyên dương a, b và thủ tục tìm USCLN
của hai số đó (với a, b là hai biến toàn cục trong chương trình). Sau đó, in
ra USCLN của chúng.
Phân tích bài toán
Ta áp dụng giải thuật Euclide tìm USCLN của hai số nguyên dương
a và b như sau: