Tải bản đầy đủ (.pdf) (8 trang)

Cq nmlt hdth tuan04

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (557.28 KB, 8 trang )

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
KHOA CÔNG NGHỆ THƠNG TIN
BỘ MƠN CƠNG NGHỆ PHẦN MỀM
HỆCHÍNH QUI
MƠN: NHẬP MƠN LẬP TRÌNH
GVLT: ThS. PHẠM MINH TUẤN

HDTH TUẦN 04
PHẠM TÚ SAN
TRẦN NGỌC HIỆU

TP.HCM, tháng 11 năm 2012


ptsan/

1 Mục tiêu
-

Làm quen với lập trình hàm

-

Làm quen với tổ chức chương trình

-

Lập trình hàm với các bài tập cấu trúc chọn và vòng lặp

2 Nội dung
2.1 Một hàm có 3 thành phần


Tên hàm:
o Tuân theo qui tắc đặt tên biến
o Bắt đầu bằng động từ
o Ví dụ: hàm kiểm tra số nguyên tố  kiemTraSoNguyenTo
Các đầu vào hay cịn gọi là tham số của hàm:
o Có mấy tham số?
o Kiểu dữ liệu của mỗi tham số là gì?
o Ví dụ: hàm kiểm tra số nguyên tố  đầu vào là một số nguyên dương 
int x
Đầu ra hay cịn gọi là kiểu trả về:
o Ví dụ: hàm kiểm tra số nguyên tố  trả về kết quả có hoặc ko  qui ước
1: có và 0: ko  int
o Ta có: int kiemTraSoNguyenTo(int k);

2.2 Khi viết một hàm cần làm 3 việc
Khai báo hàm:
o Cho biết tên hàm, các đầu vào và đầu ra
o Để “quảng cáo” hàm của mình có thể làm gì
o Ví dụ:

Trang 2


ptsan/
o Lưu ý:
 Có dấu chấm phẩy (;) ở cuối dòng khai báo hàm
 Hàm ko trả về giá trị  kiểu trả về là void
o Viết trong file header (file .h)
Định nghĩa hàm:
o Qui định cách xử lý của hàm đó

o Ví dụ: Hàm kiểm tra số ngun tố.
 Cách xử lý 1: Duyệt từ 1 đến k. Đếm số ước, nếu bằng 2 thì là số
nguyên tố.
 Cách xử lý 2: Duyệt từ 2 đến k-1. Nếu k chia hết cho bất kì số nào
thì k ko phải là số nguyên tố.
 Cách xử lý 3: Duyệt từ 2 đến k/2. Nếu k chia hết cho bất kì số nào
thì k ko phải là số nguyên tố.
 Cách xử lý 4: Duyệt từ 2 đến sqrt(k). Nếu k chia hết cho bất kì số
nào thì k ko phải là số nguyên tố.

Trang 3


ptsan/

o Viết trong file .cpp
o Lưu ý:
 Ko có dấu chấm phẩy (;) ở dịng đầu tiên
 Hàm phải có cặp dấu { và }
 Nếu hàm ko có tên là nhập, xuất, liệt kê thì trong hàm tuyệt đối ko
được dùng lệnh printf và scanf
 Đầu mỗi hàm, nên có một đoạn ghi chú (comment) cho biết ý nghĩa
của hàm, các giá trị trả về
 Dòng khai báo hàm phải giống với dòng đầu tiên của định nghĩa
hàm
Sử dụng hàm:
o Khi đã có hàm (hàm đó có thể do bạn tự viết như hàm
kiemTraSoNguyenTo, có thể ai đó viết sẵn mình chỉ sử dụng như hàm sin,

Trang 4



ptsan/
cos, pow, sqrt)  sử dụng hàm. Sử dụng hàm hay cịn gọi là Gọi hàm. Nếu
hàm có giá trị trả về thì có thể nhận giá trị đó để xử lý tiếp.
o Lưu ý:
 Các tham số: chỉ quan tâm tham số đó kiểu gì. Truyền vào hàm các
biến có kiểu dữ liệu có cùng với kiểu dữ liệu lúc khai báo hàm, và ko
cần trùng tên.
 Khi truyền tham số  chỉ truyền tên biến, ko viết lại kiểu dữ liệu.

2.3 Tham số
Có hai cách truyền: tham trị và tham biến
Tham trị:
o Khi trong hàm ko có nhu cầu thay đổi giá trị tham số.
Tham biến:
o Khi trong hàm có nhu cầu thay đổi giá trị tham số.
o Khi trong hàm muốn trả về nhiều hơn 1 giá trị.

2.4 Tổ chức chương trình
Mỗi project có 3 file
File Ham.h
Trang 5


ptsan/
o Add  New Item  Header File
o Viết câu lệnh #pragma once ở dòng đầu tiên
o Kế tiếp, viết các câu lệnh #include
o Viết các dòng khai báo hàm

o Lưu ý: Cuối mỗi dòng khai báo hàm  dấu chấm phẩy (;)
File Ham.cpp
o #include “Ham.h”
o Viết các định nghĩa của các hàm khai báo trong “Ham.h”
File Main.cpp
o #include “Ham.h”
Code hàm main

3 Bài tập
1. Nhập vào độ dài 3 cạnh a, b, c của 1 tam giác.
a. Cho biết 3 cạnh đó có lập thành một tam giác khơng ?
b. Nếu có, cho biết loại tam giác nào (thường, cân, vuông, đều, vuông cân).
2. Nhập 1 chữ cái, nếu là chữ thường thì đổi thành chữ hoa, ngược lại đổi thành chữ
thường.
3. Tính tiền đi taxi từ số km đã được nhập vào, biết:
- 1 km đầu giá 15000đ
- Từ km thứ 2 đến km thứ 5 giá 13500đ
- Từ km thứ 6 trở đi giá 11000đ
- Nếu đi hơn 120km sẽ đƣợc giảm 10% trên tổng số tiền.
4. Viết chương trình xuất ra màn hình dãy số Fibonanci cấp n, xác định theo công
thức :
Fib(1) = 1 Fib(2) = 1
Fib(n) = Fib(n-1) + Fib(n-2) với n> 2.
5. In ra tất cả các số nguyên tố nhỏ hơn số n được nhập vào từ bàn phím.
6. Một số tự nhiên được gọi là số hồn thiện nếu nó bằng tổng tất cả các ước số của
nó, kể cả 1. Hãy viết hàm kiểm tra một số có phải là số hồn thiện hay khơng, và
in ra tất cả các số hoàn thiện nhỏ hơn số N cho trước
7. Kiểm tra xem 1 số nguyên dương n có phải là số toàn số lẻ.
Trang 6



ptsan/
8. Tìm chữ số lẻ đầu tiên của số nguyên dương n
9. Nhập vào số nguyên dương n. Cho biết n có phải số đối xứng khơng?
10. Viết hàm tính





(

)





11. Viết hàm tính S = 1! + 2! + … + n!
12. Viết hàm tính S(n) = 1 +1/2 + 1/3 +1/4 + … + 1/n.
13. Viết hàm tính S(x,n) = x2 + x4 + … + x2n
14. Viết hàm tính S(n) = 1/2 + 1/4 + … + 1/(2n)
15. Viết hàm tính S(n) = 1/3 + 1/5 + … + 1/(2n+1)
16. Viết hàm tính S(n) = 1/(1 *2) + 1/(2*3) + … + 1/(n*(n+1))
17. Viết hàm tính S(n) = 1/2 + 2/3 + 3/4 + … + n/(n+1)
18. Nhâp 2 sơ ngun dương a, b khác khơng. (i) Tìm USCLN(a, b); (ii) Tìm hai số
nguyên x và y sao cho: USCLN(a, b) = a * x + b * y
19. Viết chương trình in bảng cửu chương ra màn hình
20. Viết hàm tính chu vi và diện tích hình chữ nhật khi biết độ dài 2 cạnh. Sau đó vẽ
hình chữ nhật ra màn hình bằng các dấu *. Hàm tính chu vi, diện tích và hàm vẽ

hình chữ nhật phải độc lập nhau.
******************
*
*
*
*
*
*
*
*
******************
21. Viết hàm in ra hình tam giác vuông với chiều cao do người dùng nhập vào
*
***
*****
*******
22. Viết hàm in ra hình tam giác cân với chiều cao do người dùng nhập vào
*
***
*****
*******

4 Qui định
Các bài tập làm chung trong một solution. Tên solution là MSSV của bạn.
Mỗi bài là một project. Tên project lần lượt là Bai01, Bai02, …
Trang 7


ptsan/
Trong mỗi project phải tổ chức file theo đúng như file HDTH (xem kĩ phần 2)

Nộp bài: Xóa các thư mục Debug, Release, file *.sdf (nếu có), nén thư mục chứa solution
thành file có tên dạng <MSSV>.rar hoặc <MSSV>.zip.
Mọi trường hợp làm sai qui định  0 điểm bài tập này.

Thởi hạn nộp bài: 23h55 Ngày 21/11/2012

Trang 8



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×