Bài Tập Thuật Toán Trong Pascal - TaiLieu.VN
Có thể bạn quan tâm
Mạng xã hội chia sẻ tài liệu Upload Đăng nhập Nâng cấp VIP Trang chủ » Công Nghệ Thông Tin » Kỹ thuật phần mềm57 trang 1950 lượt xem 2740Bài tập thuật toán trong Pascal"Bài tập thuật toán trong Pascal" cung cấp các dạng bài tập về thuật toán trong Pascal và có hướng dẫn cách giải. Tài liệu giúp các bạn nắm bắt và củng cố những kiến thức, kỹ năng sử dụng các thuật toán như: thuật toán tính tổng giữa các chữ số của một số nguyên; thuật toán EUCLIDE tính UCLN; thuật toán tính tổng các ước số của một số nguyên; thuật toán tính công thức chuỗi...Mời các bạn cùng tham khảo nội dung chi tiết.
Chủ đề:
vuthuthao06Kỹ thuật lập trình nâng cao
Bài tập Kỹ thuật lập trình nâng cao
SaveLikeShareReport Download AI tóm tắt /57
Bai_tap_PascalBai tap PascalCÁC THUẬT TOÁN VỀ SỐTHUẬT TOÁN KIỂM TRA SỐ NGUYÊN TỐThuật toán của ta dựa trên ý tưởng: nếu n >1 không chia hết cho số nguyên nào trong tất cả các số từ 2 đến thì n là số nguyên tố. Do đó ta sẽ kiểm tra tất cả các số nguyên từ 2 đến có round(sqrt(n)), nếu n không chia hết cho số nào trong đó thì n là số nguyên tố.Nếu thấy biểu thức round(sqrt(n)) khó viết thì ta có thể kiểm tra từ 2 đến n div 2.Hàm kiểm tra nguyên tố nhận vào một số nguyên n và trả lại kết quả là true (đúng) nếu n là nguyên tố và trả lại false nếu n không là số nguyên tố.function ngto(n:integer):boolean;var i:integer;begin ngto:=false; if n<2 then exit; for i:=2 to trunc(sqrt(n)) do if n mod i=0 then exit; {nếu n chia hết cho i thì n không là nguyên tố => thoát luôn} ngto:=true;end;Chú ý: Dựa trên hàm kiểm tra nguyên tố, ta có thể tìm các số nguyên tố từ 1 đến n bằng cách cho i chạy từ 1 đến n và gọi hàm kiểm tra nguyên tố với từng giá trị i.THUẬT TOÁN TÍNH TỔNG CÁC CHỮ SỐ CỦA MỘT SỐ NGUYÊNÝ tưởng là ta chia số đó cho 10 lấy dư (mod) thì được chữ số hàng đơn vị, và lấy số đó div 10 thì sẽ được phần còn lại. Do đó sẽ chia liên tục cho đến khi không chia được nữa (số đó bằng 0), mỗi lần chia thì được một chữ số và ta cộng dồn chữ số đó vào tổng.Hàm tính tổng chữ số nhận vào 1 số nguyên n và trả lại kết quả là tổng các chữ số của nó:
function tongcs(n:integer): integer;var s : integer;begin s := 0; while n <> 0 do begin s := s + n mod 10; n := n div 10; end; tongcs := s;end;Chú ý: Tính tích các chữ số cũng tương tự, chỉ cần chú ý ban đầu gán s là 1 và thực hiện phép nhân s với n mod 10.THUẬT TOÁN EUCLIDE TÍNH UCLNÝ tưởng của thuật toán Euclide là UCLN của 2 số a,b cũng là UCLN của 2 số b và a mod b, vậy ta sẽ đổi a là b, b là a mod b cho đến khi b bằng 0. Khi đó UCLN là a.Hàm UCLN nhận vào 2 số nguyên a,b và trả lại kết quả là UCLN của 2 số đó.function UCLN(a,b: integer): integer;var r : integer;begin while b<>0 do begin r := a mod b; a := b; b := r; end; UCLN := a;
end;Chú ý: Dựa trên thuật toán tính UCLN ta có thể kiểm tra được 2 số nguyên tố cùng nhau hay không. Ngoài ra cũng có thể dùng để tối giản phân số bằng cách chia cả tử và mẫu cho UCLN.THUẬT TOÁN TÍNH TỔNG CÁC ƯỚC SỐ CỦA MỘT SỐ NGUYÊNĐể tính tổng các ước số của số n, ta cho i chạy từ 1 đến n div 2, nếu n chia hết cho số nào thì ta cộng số đó vào tổng. (Chú ý cách tính này chưa xét n cũng là ước số của n).function tongus(n : integer): integer;var i,s : integer;begin s := 0; for i := 1 to n div 2 do if n mod i = 0 then s := s + i; tongus := s;end;Chú ý: Dựa trên thuật toán tính tổng ước số, ta có thể kiểm tra được 1 số nguyên có là số hoàn thiện không: số nguyên gọi là số hoàn thiện nếu nó bằng tổng các ước số của nó.CÁC THUẬT TOÁN VỀ VÒNG LẶPTHUẬT TOÁN TÍNH GIAI THỪA MỘT SỐ NGUYÊNGiai thừa n! là tích các số từ 1 đến n. Vậy hàm giai thừa viết như sau:function giaithua(n : integer) : longint;var i : integer; s : longint;begin s := 1; for i := 2 to n do s := s * i; giaithua := s;end;
THUẬT TOÁN TÍNH HÀM MŨTrong Pascal ta có thể tính ab bằng công thức exp(b*ln(a)). Tuy nhiên nếu a không phải là số dương thì không thể áp dụng được.Ta có thể tính hàm mũ an bằng công thức lặp như sau:function hammu(a : real; n : integer): real;var s : real; i : integer;begin s := 1; for i := 1 to n do s := s * a; hammu := s;end;THUẬT TOÁN TÍNH CÔNG THỨC CHUỖIThuật toán tính hàm ex: Đặt: và , ta được công thức truy hồi:Khi đó, ta có thể tính công thức chuỗi trên như sau:function expn(x: real; n : integer): real;var s,r : real; i : integer;begin s := 1; r := 1; for i := 1 to n do begin r := r * x / i; s := s + r; end; expn := s;
end;CÁC BÀI TẬP VỀ MẢNG 1 CHIỀU VÀ 2 CHIỀUBÀI TẬP 1Nhập vào một số n (5<=n<=10) và n phần tử của dãy a, 1<ai<100 (có kiểm tra dữ liệu khi nhập).a) In ra các phần tử là số nguyên tố của dãy.b) Tính ước chung lớn nhất của tất cả các phần tử của dãy.c) Tính biểu thức sau:d) Sắp xếp dãy tăng dần và in ra dãy sau sắp xếp.HƯỚNG DẪNTa nên chia chương trình thành các chương trình con, mỗi chương trình thực hiện một yêu cầu. Ngoài ra ta cũng viết thêm các hàm kiểm tra nguyên tố, hàm mũ, hàm UCLN để thực hiện các yêu cầu đó.Chương trình như sau:Khai báo dữ liệu:uses crt;var n : integer; a : array[1..10] of integer; {n<=10 nên mảng có tối đa 10 phần tử}Thủ tục nhập dữ liệu, có kiểm tra khi nhập.procedure nhap;var i : integer;begin clrscr; write('NHAP VAO SO PHAN TU N = '); repeat readln(n); Tài liệu liên quan
Các bài tập Pascal cơ bản
214 trangBài tập C và C++
196 trangBài tập Pascal cơ bản đến nâng cao theo chương trình Tin học lớp 11 không phân ban
W 48 trang77 bài tập C++
18 trang100 bài tập turbo pasca
55 trangTổng hợp bài tập c-c++ cơ bản
W 1 trangMột số các mẫu bài tập lập trình hợp ngữ
18 trangBài tập Kỹ thuật lập trình - Lập trình C
12 trangBài tập lớn môn matlad và ứng dụng
42 trang100 bài tập Turbo Pascal
W 54 trangTài liêu mới
Bài giảng Thiết kế hướng đối tượng: Chương 4 - Thiết kế hệ thống
95 trangBài giảng Thiết kế hướng đối tượng: Chương 3 - Phân tích hệ thống
138 trangBài giảng Thiết kế hướng đối tượng: Chương 2 - Ngôn ngữ mô hình hóa hướng đối tượng
58 trangBài giảng Thiết kế hướng đối tượng: Chương 1 - Tổng quan thiết kế hướng đối tượng
40 trangBài giảng Lập trình website - ThS. Trần Thịnh Mạnh Đức
79 trangTài liệu ôn tập môn Lập trình web 1
W 34 trangTài liệu thực hành Phát triển ứng dụng Web 1
189 trangBài thuyết trình: Xây dựng hệ thống hỗ trợ dạy và học trực tuyến với tích hợp công nghệ Android cho di dộng
35 trangBài giảng Lập trình hướng đối tượng - ThS. Trương Thị Minh Châu
35 trangBài giảng Lập trình Java: Chương 5 - Kết nối cơ sở dữ liệu (JDBC)
26 trangBài giảng Lập trình Java: Chương 4 - Luồng (streams)
25 trangBài giảng Lập trình Java: Chương 3 - Kế thừa - Đa hình - Đóng gói
11 trangBài giảng Lập trình Java: Chương 2 - Đối tượng - lớp - phương thức
13 trangBài giảng Lập trình Java: Chương 1 - Tổng quan ngôn ngữ Java
29 trangBài tập lớn: Quản lý thư viện
W 202 trangAI tóm tắt
- Giúp bạn nắm bắt nội dung tài liệu nhanh chóng!Giới thiệu tài liệu
Đối tượng sử dụng
Từ khoá chính
Nội dung tóm tắt
Giới thiệu
Về chúng tôi
Việc làm
Quảng cáo
Liên hệ
Chính sách
Thoả thuận sử dụng
Chính sách bảo mật
Chính sách hoàn tiền
DMCA
Hỗ trợ
Hướng dẫn sử dụng
Đăng ký tài khoản VIP
Zalo/Tel:093 303 0098
Email:[email protected]
Phương thức thanh toán
Theo dõi chúng tôi
Youtube
TikTok
Chịu trách nhiệm nội dung: Nguyễn Công Hà Doanh nghiệp quản lý: Công ty TNHH Tài Liệu trực tuyến Vi Na - GCN ĐKDN: 0307893603 Địa chỉ: 54A Nơ Trang Long, P. Bình Thạnh, TP.HCM - Điện thoại: 0283 5102 888 - Email: [email protected]ấy phép Mạng Xã Hội số: 670/GP-BTTTT cấp ngày 30/11/2015 Từ khóa » Cách Xây Dựng Thuật Toán Trong Pascal
-
THUẬT TOÁN CƠ BẢN TRONG PASCAL - 123doc
-
Thuật Toán & Kỹ Thuật Lập Trình Pascal - Tài Liệu Text - 123doc
-
Thuật Toán Pascal Là Gì - Học Tốt
-
Xây Dựng Thuật Toán Và Viết Chương Trình Sắp Xếp 5 Số Thứ Tự Trong ...
-
Hướng Dẫn Học Pascal Cơ Bản, đơn Giản - Wiki Phununet
-
Sáng Tạo Trong Thuật Toán Và Lập Trình Pascal Và C# - SlideShare
-
Pascal - Độ Phức Tạp Của Thuật Toán - Tài Liệu đại Học
-
[DOC] MỘT SỐ GIÁO ÁN ÔN TẬP VÀ BÀI TẬP
-
Câu 8: Đại Lượng được đặt Tên Dùng để Lưu Trữ Dữ Liệu, Giá Trị Có Thể ...
-
A. Phần Khai Báo Và Phần Thân B. Phần Mở Bài, Thân Bài, Kết Luận C ...
-
SKKN Rèn Luyện Tư Duy Thuật Toán Trong Học Lập Trình Pascal
-
PHƯƠNG PHÁP TỔNG QUÁT ĐỂ GIẢI MỘT BÀI TOÁN BẰNG MÁY ...
-
[PPT] LẬP TRÌNH PASCAL