1. Trang chủ
  2. » Công Nghệ Thông Tin

Tìm hiểu hàm và thư viện lập trình phần 8 potx

5 303 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 5
Dung lượng 180,74 KB

Nội dung

36 © 2004, HOÀNG MINH SƠN Chương 3: Hàm và thư viện  Chọnthamsố₫ầu vào (=> tham biến) — Đặctả ý nghĩa: Thể hiệnrõvaitròthamsố — Đặt tên: Ngắngọn, tự mô tả —Chọnkiểu: Kiểunhỏ nhấtmà₫ủ biểudiễn —Chọncáchtruyềnthamsố: cân nhắcgiữatruyềngiátrị hay truyền ₫ịachỉ/tham chiếuvàokiểuhằng  Chọnthamsố₫ầura(=> thambiếntruyềnqua ₫ịachỉ/qua tham chiếuhoặcsử dụng giá trị trả về) — Đặctả ý nghĩa, ₫ặttên, chọnkiểutương tự như tham số₫ầuvào  Định nghĩabổ sung các kiểudữ liệumớinhư cầnthiết  Mô tả rõ tiềntrạng ( pre-condition ): ₫iềukiệnbiênchocáctham số₫ầuvàovàcác₫iềukiệnngoạicảnh cho việcgọihàm  Mô tả rõ hậutrạng ( post-condition ): tác ₫ộng củaviệcsử dụng hàm tớingoạicảnh, các thao tác bắtbuộc sau này,  Thiếtkế thân hàm dựavàocácchứcnăng ₫ã phân tích, sử dụng lưu ₫ồ thuậttoánvớicáccấutrúc₫iềukiện/rẽ nhánh (kể cả vòng lặp) => có thể phân chia thành các hàm con nếucần 37 © 2004, HOÀNG MINH SƠN Chương 3: Hàm và thư viện Ví dụ minh họa: Tìm số nguyên tố Bài toán: Xây dựng hàm tìm N số nguyên tố₫ầutiên!  Phân tích: —Dữ kiện: N - số số nguyên tố₫ầutiêncầntìm —Kếtquả: Một dãy N số nguyên tố₫ầutiên —Cácchứcnăng cầnthựchiện: z Nhậpdữ liệu? KHÔNG! z Kiểmtradữ kiện vào (N)? Có/không (NếukiểmtramàN nhỏ hơn0 thìhàmlàmgì?) z Cho biếtk số nguyên tố₫ầutiên, xác₫ịnh số nguyên tố tiếp theo z Lưutrữ kếtquả mỗilầntìmravàomộtcấutrúcdữ liệuphù hợp(dãysố cầntìm) z In kếtquả ra màn hình? KHÔNG! 38 © 2004, HOÀNG MINH SƠN Chương 3: Hàm và thư viện  Đặt tên hàm: findPrimeSequence  Tham số vào: 1 —Ý nghĩa: số các số nguyên tố cầntìm —Tên: N —Kiểu: số nguyên ₫ủ lớn(int/long) —Truyềnthamsố: qua giá trị  Tham số ra: 1 —Ý nghĩa: dãy N số nguyên tố₫ầu tiên tính từ 1 —Giátrị trả về hay tham biến? Tham biến! —Tên: primes —Kiểu: mảng số nguyên (của int/long) —Truyềnthamsố: qua ₫ịachỉ (int* hoặc long*)  Tiềntrạng: —Thamsố N phảilàsố không âm (có nên chọnkiểu unsigned?) – primes phảimang₫ịachỉ củamảng số nguyên có ít nhấtN phầntử  Hậutrạng: không có gì ₫ặcbiệt 39 © 2004, HOÀNG MINH SƠN Chương 3: Hàm và thư viện  Khai báo hàm: void findPrimeSequence(int N, int* primes); Start N>0 primes[0]=1 k=1 k<N primes[k]=findNextPrime ++k Stop false true true false  Thiếtkế thân hàm —Lưu ₫ồ thuậttoánnhư hình vẽ —Phânchia, bổ sung một hàm mới: findNextPrime  Lặplạiqui trìnhthiếtkế hàm cho findNextPrime (Bài tậpvề nhà!) 40 © 2004, HOÀNG MINH SƠN Chương 3: Hàm và thư viện 3.5 Thư việnchuẩn ANSI-C  Thư việnvào/ra(nhập/xuất) <stdio.h>  Xử lý ký tự và chuỗikýtự <string.h>, <ctype.h>  Thư viện hàm toán <math.h>, <float.h>  Thời gian, ngày tháng <time.h>, <locale.h>  Cấpphátbộ nhớ₫ộng <stdlib.h>  Các hàm ký tự rộng <wchar.h>,<wctype.h>  Các hàm khác <stdlib.h>, . kếtquả mỗilầntìmravàomộtcấutrúcdữ liệuphù hợp(dãysố cầntìm) z In kếtquả ra màn hình? KHÔNG! 38 © 2004, HOÀNG MINH SƠN Chương 3: Hàm và thư viện  Đặt tên hàm: findPrimeSequence  Tham số vào: 1 —Ý. SƠN Chương 3: Hàm và thư viện 3.5 Thư việnchuẩn ANSI-C  Thư việnvào/ra(nhập/xuất) <stdio.h>  Xử lý ký tự và chuỗikýtự <string.h>, <ctype.h>  Thư viện hàm toán <math.h>, <float.h> . hàm —Lưu ₫ồ thuậttoánnhư hình vẽ —Phânchia, bổ sung một hàm mới: findNextPrime  Lặplạiqui trìnhthiếtkế hàm cho findNextPrime (Bài tậpvề nhà!) 40 © 2004, HOÀNG MINH SƠN Chương 3: Hàm và thư viện 3.5

Ngày đăng: 31/07/2014, 04:20

TỪ KHÓA LIÊN QUAN