1. Trang chủ
  2. » Thể loại khác

Tài liệu+Đề thi THCS2 ver_T3 2017 - PTITVL 4-Ham

34 165 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 34
Dung lượng 882 KB

Nội dung

Tài liệu+Đề thi THCS2 ver_T3 2017 - PTITVL 4-Ham tài liệu, giáo án, bài giảng , luận văn, luận án, đồ án, bài tập lớn về...

&& VC VC BB BB TIN HỌC CƠ SỞ HÀM VÀ CHƯƠNG TRÌNH CON ThS Nguyễn Mạnh Sơn Khoa: Công nghệ thông tin Email: nguyenmanhson@gmail.com 11/26/17 && VC VC BB BB Nội dung Khái niệm Cú pháp Định nghĩa hàm Tham số lời gọi hàm Đệ quy && VC VC BB BB Khái niệm hàm  Tại phải dùng chương trình con:  Có cơng việc cần phải thực nhiều nơi chương trình  tách cơng việc thành chương trình  Để thuận tiện quản lý, trình bày phát triển  Trong C, chương trình gọi hàm: có tên, đầu vào đầu  Có chức giải số vấn đề chuyên biệt cho chương trình && VC VC BB BB Khái niệm hàm  Hàm C trả kết thơng qua tên hàm hay khơng trả kết  Một hàm định nghĩa gọi chương trình  Được gọi nhiều lần với tham số khác  Trong C, hàm main() gọi thực  Hàm có hai loại: hàm chuẩn (hàm trình biên dịch C viết sẵn) hàm tự định nghĩa người sử dụng && VC VC BB BB Hàm thư viện/hàm chuẩn  Hàm thư viện hàm định nghĩa sẵn thư viện  Muốn sử dụng hàm thư viện phải khai báo thư viện trước sử dụng lệnh #include && VC VC BB BB Hàm thư viện/hàm chuẩn  Ý nghĩa số thư viện thường dùng: stdio.h: - Thư viện chứa hàm vào/ chuẩn (standard input/output) - Gồm hàm printf(), scanf(), getc(), putc(), gets(), puts(), fflush(), fopen(), fclose(), fread(), fwrite(), getchar(), putchar(), getw(), putw()… conio.h : - Thư viện chứa hàm vào chế độ DOS (DOS console) - Gồm hàm clrscr(), getch(), getche(), getpass(), cgets(), cputs(), putch(), clreol(),… && VC VC BB BB Hàm thư viện/hàm chuẩn math.h: - Thư viện chứa hàm tính tốn - Gồm hàm abs(), sqrt(), log() log10(), sin(), cos(), tan(), acos(), asin(), atan(), pow(), exp(),… alloc.h: - Thư viện chứa hàm liên quan đến việc quản lý nhớ - Gồm hàm calloc(), realloc(), malloc(), free(), farmalloc(), farcalloc(), farfree(), … && VC VC BB BB Hàm thư viện/hàm chuẩn io.h: - Thư viện chứa hàm vào cấp thấp - Gồm hàm: open(), _open(), read(), _read(), close(), _close(), creat(), _creat(), creatnew(), eof(), filelength(), lock(),… graphics.h: - Thư viện chứa hàm liên quan đến đồ họa - Gồm initgraph(), line(), circle(), putpixel(), getpixel(), setcolor(), … Muốn sử dụng hàm thư viện ta phải xem cú pháp hàm sử dụng theo cú pháp (xem phần trợ giúp Turbo C) && VC VC BB BB Hàm tự định nghĩa && VC VC BB BB Đặt vấn đề  Viết chương trình tính S = a! + b! + c! với a, b, c số ngun dương nhập từ bàn phím Chương trình Nhập a, b, c > Nhập a>0 Nhập b>0 Tính S = a! + b! + c! Nhập c>0 Tính s1=a! Tính s2=b! Xuất kết S Tính s3=c! && VC VC BB BB Tầm vực int a; int Ham1() { int a1; } int Ham2() { int a2; { int a21; } } void main() { int a3; } && VC VC BB BB Một số lưu ý  Thông thường người ta thường đặt phần tiêu đề hàm/nguyên mẫu hàm (prototype) hàm main phần định nghĩa hàm hàm main void XuatTong(int x, int y); // prototype void main() { … } void XuatTong(int x, int y) { printf(“%d cong %d bang %d”, x, y, x + y); } && VC VC BB BB Các cách truyền tham số Ví dụ: Viết chương trình hốn vị phần tử #include 10 11 12 13 14 15 16 17 18 // Truyền tham trị void Swap1 (int x, int y) { int temp = x; x = y; y = temp; } // Truyền tham biến (con trỏ) void Swap2 (int *x, int *y) { int temp = *x; *x = *y; *y = temp; } // Truyền tham chiếu void Swap3 (int &x, int &y) { int temp = x; x = y; y = temp; } int main() { int m=12; n=28; Swap1(m,n); printf(“m=%d n=%d\n”,m,n”); Swap2(&m,&n); printf(“m=%d n=%d\n”,m,n”); Swap3(m,n); printf(“m=%d n=%d\n”,m,n”); return 0; } ? && VC VC BB BB Các cách truyền tham số  Truyền Giá trị (Call by Value) (tham trị)  Truyền đối số cho hàm dạng giá trị  Có thể truyền hằng, biến, biểu thức hàm nhận giá trị  Được sử dụng khơng có nhu cầu thay đổi giá trị tham số sau thực void TruyenGiaTri(int x) { hàm … x++; } && VC VC BB BB Các cách truyền tham số Mặc nhiên, việc truyền tham số cho hàm C truyền theo giá trị; nghĩa giá trị thực (tham số thực) không bị thay đổi giá trị truyền cho tham số hình thức Ví dụ 1: Giả sử muốn in các, dòng gồm 50 ký tự Để đơn giản ta viết hàm, hàm in dòng 50 ký tự cho trước && VC VC BB BB Các cách truyền tham số #include #include void InKT(char ch) { int i; for(i=1;i 0) return GiaiThua(n – 1) * n; else return 1; } && VC VC BB BB Đặc điểm cần lưu ý viết hàm đệ quy - Hàm đệ quy phải có phần: + Phần dừng hay phải có trường hợp ngun tố Trong ví dụ trường hợp n=0 trường hợp nguyên tố + Phần đệ quy: phần có gọi lại hàm định nghĩa Trong ví dụ phần đệ quy n>0 n! = n * (n-1)! - Sử dụng hàm đệ quy chương trình làm chương trình dễ đọc, dễ hiểu vấn đề nêu bật rõ ràng Tuy nhiên đa số trường hợp hàm đệ quy tốn nhớ nhiều tốc độ thực chương trình chậm khơng đệ quy - Tùy có cụ thể mà người lập trình định có nên dùng đệ quy hay khơng (có trường hợp khơng dùng đệ quy khơng giải toán) ... conio.h : - Thư viện chứa hàm vào chế độ DOS (DOS console) - Gồm hàm clrscr(), getch(), getche(), getpass(), cgets(), cputs(), putch(), clreol(),… && VC VC BB BB Hàm thư viện/hàm chuẩn math.h: - Thư... chứa hàm tính tốn - Gồm hàm abs(), sqrt(), log() log10(), sin(), cos(), tan(), acos(), asin(), atan(), pow(), exp(),… alloc.h: - Thư viện chứa hàm liên quan đến việc quản lý nhớ - Gồm hàm calloc(),... chuẩn io.h: - Thư viện chứa hàm vào cấp thấp - Gồm hàm: open(), _open(), read(), _read(), close(), _close(), creat(), _creat(), creatnew(), eof(), filelength(), lock(),… graphics.h: - Thư viện

Ngày đăng: 23/11/2017, 19:50

TỪ KHÓA LIÊN QUAN