Trong thời đại CNTT phát triển nhanh với tốc độ chóng mặt như hiện nay, Tin học Văn phòng là một trong những Kỹ năng mềm không thể thiếu được với mỗi sinh viên, nhân viên văn phòng,… Bất kỳ Nhà tuyển dụng nào cũng thường yêu cầu rất cao khả năng sử dụng thành thạo Tin học văn phòng như: Word, Excel, PowerPoint, Access,…Và trong những năm gần đây thì yêu cầu đó ngày càng cao hơn trước rất nhiều. Trang bị Kiến thức, kỹ năng sử Tin học văn phòng thành thạo là một việc rất cần thiết trước khi bạn tiến hành đi xin việc.
Trang 1ĐẠ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
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ộ
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
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>
Trang 2#include <conio.h>
int SoNT(int N);
void main()
{
for (int i = 100; i <= 1000; i++)
{
if (SoNT(i))
printf(“%d\n”, i);
}
}
int SoNT(int N)
{
for (int i = 2; i < N/2; i++)
{
if ((N mod i) == 0)
return 0;
}
return 1;
}
2 Hàm đổi số từ hệ 10 sang hệ 2
Đề bài
Viết một hàm để đổi số từ hệ 10 sang số hệ 2 Sau đó dùng hàm trên trong chương trình chính với kết cấu như sau :
- Nhập vào một số hệ 10
- Gọi hàm để đổi số sang hệ 2
- Xuất kết quả
Phân tích bài toán
Trang 3Để chuyển đổi một số từ hệ thập phân sang hệ nhị phân, ta lấy số thập phân chia cho 2 cho đến khi phần thương của phép chia bằng 0 Số đổi được chính là các phần dư của phép chia theo thứ tự ngược lại
Chúng ta có thể lưu kết qủa như một chuỗi ký tự, sau đó xuất chuỗi
ra màn hình Tuy nhiên, ở đây chúng tôi dùng mảng một chiều
Chương trình minh họa
#include <stdio.h>
#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;
}
}
Trang 43 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:
- Nếu a>b thì USCLN(a, b) = USCLN(a-b, a)
- Nếu a<b thì USCLN(a, b) = USCLN(a, b-a)
- Nếu a=b thì USCLN(a, b) = a (hoặc b)
Chương trình minh họa
#include <stdio.h>
#include <conio.h>
int UCLN(int a, int b);
void main()
{
int a, b, uscln;
<kiem tra dieu kien nhap> các bạn tự đề nghị cách giải quyết scanf (“nhap vao so 1 : %d”, &a);
<kiem tra dieu kien nhap> các bạn tự đề nghị cách giải quyết scanf (“nhap vao so 2 : %d”, &b);
uscln = UCLN(a, b);
printf(“uoc chung lon nhat cua %d va %d la: %d”, a, b, uscln); getch();
}
int UCLN(int a, int b)
{
Trang 5if (a > b)
a = a – b; else
b = b – a; }
return a;
}