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

On tap Tubor pascal cb

27 134 1

Đ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 27
Dung lượng 152 KB

Nội dung

Hướng dẫn ơn tập Lập trình Pascal CÁC THUẬT TOÁN VỀ SỐ THUẬT TOÁN KIỂM TRA SỐ NGUYÊN TỐ Thuật toán ta dựa ý tưởng: n >1 không chia hết cho số nguyên tất số từ đến n n số nguyên tố Do ta kiểm tra tất số nguyên từ đến có round(sqrt(n)), n khơng chia hết cho số n số nguyên tố Nếu thấy biểu thức round(sqrt(n)) khó viết ta kiểm tra từ đến n div Hàm kiểm tra nguyên tố nhận vào số nguyên n trả lại kết true (đúng) n nguyên tố trả lại false n không số nguyên tố function ngto(n:integer):boolean; var i:integer; begin ngto:=false; if n ln} ngto:=true; end; Chú ý: Dựa hàm kiểm tra nguyên tố, ta tìm số nguyên tố từ đến n cách cho i chạy từ đến n gọi hàm kiểm tra nguyên tố với giá trị i THUẬT TỐN TÍNH TỔNG CÁC CHỮ SỐ CỦA MỘT SỐ NGUYÊN Ý tưởng ta chia số cho 10 lấy dư (mod) chữ số hàng đơn vị, lấy số div 10 phần lại Do chia liên tục khơng chia (số 0), lần chia chữ số ta cộng dồn chữ số vào tổng Hàm tính tổng chữ số nhận vào số nguyên n trả lại kết tổng chữ số nó: function tongcs(n:integer): integer; var s : integer; begin s := 0; while n begin s := s + n mod 10; n := n div 10; Hướng dẫn ơn tập Lập trình Pascal end; tongcs := s; end; Chú ý: Tính tích chữ số tương tự, cần ý ban đầu gán s thực phép nhân s với n mod 10 THUẬT TỐN EUCLIDE TÍNH UCLN Ý tưởng thuật toán Euclide UCLN số a,b UCLN số b a mod b, ta đổi a b, b a mod b b Khi UCLN a Hàm UCLN nhận vào số nguyên a,b trả lại kết UCLN số function UCLN(a,b: integer): integer; var r : integer; begin while b0 begin r := a mod b; a := b; b := r; end; UCLN := a; end; Chú ý: Dựa thuật tốn tính UCLN ta kiểm tra số nguyên tố hay khơng Ngồi dùng để tối giản phân số cách chia tử mẫu cho UCLN THUẬT TỐN TÍNH TỔNG CÁC ƯỚC SỐ CỦA MỘT SỐ NGUYÊN Để tính tổng ước số số n, ta cho i chạy từ đến n div 2, n chia hết cho số ta cộng số vào tổng (Chú ý cách tính chưa xét n ước số n) function tongus(n : integer): integer; var i,s : integer; begin s := 0; for i := to n div if n mod i = then s := s + i; tongus := s; end; Chú ý: Dựa thuật tốn tính tổng ước số, ta kiểm tra số nguyên có số hồn thiện khơng: số ngun gọi số hồn thiện tổng ước số Hướng dẫn ơn tập Lập trình Pascal CÁC THUẬT TỐN VỀ VỊNG LẶP THUẬT TỐN TÍNH GIAI THỪA MỘT SỐ NGUYÊN Giai thừa n! tích số từ đến n Vậy hàm giai thừa viết sau: function giaithua(n : integer) : longint; var i : integer; s : longint; begin s := 1; for i := to n s := s * i; giaithua := s; end; THUẬT TỐN TÍNH HÀM MŨ Trong Pascal ta tính ab cơng thức exp(b*ln(a)) Tuy nhiên a số dương khơng thể áp dụng Ta tính hàm mũ an cơng thức lặp sau: function hammu(a : real; n : integer): real; var s : real; i : integer; begin s := 1; for i := to n s := s * a; hammu := s; end; THUẬT TỐN TÍNH CƠNG THỨC CHUỖI Thuật tốn tính hàm ex: ex = 1+ x + Đặt: sn = + x + x x3 xn + + + 2! 3! n! x x3 xn + + + 2! 3! n! rn = xn n! , ta công thức truy hồi:  s = 1, r0 =  ri-1.x  ri = i   si = si-1 + ri Khi đó, ta tính cơng thức chuỗi sau: function expn(x: real; n : integer): real; var s,r : real; i : integer; begin s := 1; r := 1; Hướng dẫn ôn tập Lập trình Pascal for i := to n begin r := r * x / i; s := s + r; end; expn := s; end; CÁC BÀI TẬP VỀ MẢNG CHIỀU VÀ CHIỀU BÀI TẬP Nhập vào số n (5

Ngày đăng: 21/12/2017, 11:10

TỪ KHÓA LIÊN QUAN

w