Tính chu vi và diện tích hình tròn theo bán kính R.. * Cách chạy sản phẩm Để sử dụng được sản phẩm đầu tiên các bạn vào link để tải phần mềm CodeBlock về cài đặt?. C là ngôn ngữ rất có h
Trang 1ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA CƠ KHÍ -o0o -
NHẬP MÔN VỀ LẬP TRÌNH
GVHD: Nguyễn Quang Vũ
NHÓM 07
LỚP L03
Thành viên
1 Võ Minh Khoa 1711799
2 Đỗ Phạm Thái 1710288
3 Lưu Quang Linh 1711952
TP Hồ Chí Minh, ngày 06 tháng 05, năm 2019
Trang 2ĐỀ TÀI THỰC HIỆN CỦA NHÓM
Viết chương trình thực hiện công việc theo menu như sau:
Chọn chức năng cần thực hiện:
1 Tính chu vi và diện tích hình tròn theo bán kính R
2 Xác định xem 1 số nguyên N có phải là số nguyên tố không?
3 Tính giá trị của số PI theo khai triển Maclaurin bằng đệ quy
4 In ra màn hình và lưu phổ của chuỗi 40 ký số vào file “pho.txt” Hãy nhập vào số chức năng : _
Ghi chú: (1) PI/4 = 1 - 1/3 + 1/5 - 1/7 + + (-1)n/(2*n+1)
(2) Ví dụ về kết quả in ra màn hình của tính năng 4
Trang 3
I GIỚI THIỆU CÁCH CHẠY SẢN PHẨM I
* Chức năng sản phẩm Sản phẩm của chúng tôi sẽ giúp bạn:
1 Tính chu vi và diện tích hình tròn nhanh chóng khi đã có bán kính R
2 Xác đinh một số nguyên bất kì có phải là số nguyên tố hay không?
3 Tính một cách chính xác số PI bằng khai triển Maclaurin bằng đệ quy
4 In ra màn hình và lưu phổ của chuỗi 40 ký số vào file “pho.txt”
* Cách chạy sản phẩm Để sử dụng được sản phẩm đầu tiên các bạn vào link để tải phần mềm CodeBlock về cài đặt http://www.codeblocks.org/downloads/26
CodeBlock là phần mềm lập trình theo ngôn ngữ C, là một ngôn ngữ mệnh lệnh được phát triển
từ đầu thập niên 70 Từ đó, ngôn ngữ này đã lan rộng ra nhiều hệ điều hành khác và trở thành một những ngôn ngữ phổ dụng nhất
C là ngôn ngữ rất có hiệu quả và được ưa chuộng nhất để viết các phần mềm hệ thống, mặc dù
nó cũng được dùng cho việc viết các ứng dụng Ngoài ra, C cũng thường được dùng làm phương tiện giảng dạy trong khoa học máy tính mặc dù ngôn ngữ này không được thiết kế dành cho người nhập môn Sau khi cài đặt xong, các bạn đã có thể mở sản phẩm của chúng tôi và sử dụng các tính năng tuyệt vời mà CodeBlock mang lại,
II.CÁCH SỬ DỤNG BIẾN, HẰNG
1 Tính chu vi và diện tích của hình tròn
=> Input: bán kính R
=>Output: Diện tích xung quanh Sxq, diện tích đáy Sd, thể tích V
Biến: R,CV,DT
Hằng: pi=3,14
2 Xác định xem 1 số nguyên N có phải là số nguyên tố không?
=> Input: Số nguyên N bất kì
=> Output: “ N là số nguyên tố” hoặc “N không phải là số nguyên tố”
Biến: N
3 Tính giá trị của số PI theo khai triển Maclaurin bằng đệ quy
=> Biến: epsilon
=>Input: Nhập sai số epsilon
=>Output: Số Pi vừa được tính ra
4 In ra màn hình và lưu phổ của chuỗi 40 ký số vào file “pho.txt”
Input: chuỗi 40 kí tự
Output: Xuất ra màn hình và lưu vào file “pho.txt”
III.CÁCH GIẢI QUYẾT VÀ CÁC CÔNG THỨC ÁP DỤNG
1 Tính chu vi và diện tích của hình tròn
* Cơ sở lí thuyết
• Áp dụng công thức tính chu vi hình tròn CV=2*Pi*R
• Áp dụng công thức tính diện tích hình tròn DT=Pi*R*R
*Cách giải quyết vấn đề:
Trang 4
Lưu đồ giải thuật
2.Xác định xem 1 số nguyên N có phải là số nguyên tố không?
*Cơ sở lí thuyết
• Số nguyên tố là số tự nhiên chỉ chia hết cho 1 và chính nó Ngoài ra nó không chia hết cho bất cứ số nào khác Số 0 và 1 không được coi là số nguyên tố
Bắt đầu
Kết Thúc
Nhập R
CV=2*Pi*R*R DT=Pi*R*R
CV, DT
Trang 5* Giai quyết bài toán
Lưu đồ giải thuật
Đúng Sai
Đúng Sai
Đúng Sai
Bắt Đầu
Nhập N
N<2
i=1 m= √𝑁
i=i+1
i≤ 𝑚
SNT
N%i=
0
Không phải
SNT
Kết Thúc
Trang 63 Tính số Pi bằng khai triển Maclaurin bằng đệ quy
* Cơ sở lý thuyết:
Dùng công thức Maclaurin và hàm đệ quy tính tổng để tính giá trị của số Pi dựa vào công thức:
* Cách giải quyết vấn đề:
Dùng đệ quy tính tổng các số với thuật là if(n>0) pi((n-1));
S = S + pow(-1,n)/(2*n+1);
Trong đó chương trình cứ đệ quy, mỗi lần đệ quy sẽ giảm đi 1 đến khi n sẽ là 1 số lớn hơn 0 và
ngừng đệ quy
*Ví dụ : Tính gần đúng giá trị của số pi theo sai số epsilon = 0.001 như sau :
PI/4 = 1 - 1/3 + 1/5 - 1/7 + + (-1)n/(2*n+1)
=> PI=4*( 1 - 1/3 + 1/5 - 1/7 + + (-1)n/(2*n+1)
Trang 74 In ra màn hình và lưu phổ của chuỗi 40 ký số vào file “pho.txt”
* Cơ sở lý thuyết
Sử dụng hàm tính giá trị lớn nhất để tính giá trị các ký tự số nhập vào Nếu số lớn nhất sẽ
xuất ra các dấu”*” khi gặp giá trị lớn hơn
File trên máy tính là một tài nguyên để lưu trữ thông tin lâu dài, sử dụng cho các chương
trình máy tính - Trong ngôn ngữ lập trình C/C++: File là kiểu đối tượng, nó xác định một stream
và chứa các thông tin cần thiết để điều khiển, bao gồm một con trỏ trỏ đến buffer của nó, các chỉ
mục và trạng thái của nó - Làm việc với File chúng ta chỉ có các thao tác cơ bản như: tạo file
mới, đọc dữ liệu trong file, ghi dữ liệu vào file, xóa file
* Cách giải quyết vấn đề
In ra chuỗi ký số
Vấn đề chính ở đây là việc sử dụng hàm “ Strlen()” (strlen(const char *str) tính toán độ dài
của chuỗi str (không bao gồm ký tự null kết thúc)
Trang 8Khi thấy giá trị trong dãy là lớn nhất thì chương trình sẽ tự động in ra màn hình 1 dấu “*”
Ví dụ minh hoạ:
Ta cho dãy 3214 thì chương trình sẽ thực hiện các bước như sau
• B1: (max=4) in ra dấu “*” ở cột số 4
• B2 (max=3 lấy giá trị lớn nhất ở B1 trừ lại cho 1 sẽ ra giá trị max tiếp theo) sẽ in ra “*”
ở những cột có giá trị là 3.( Lúc này dãy sẽ là 3123)
• B3: làm tương tự như các bước trên và ta được giá trị lớn nhất là 2 (dãy là 2212);
• B4: chương trình in ra 4 dấu “*” vì dãy là 1111
• B5: Tiếp tục đến khi dãy trở về không
Lưu file chuỗi 40 kí số vào file Pho.txt
▪ Dùng lệnh: fopen(“Pho.txt”,’wt’) để tạo và ghi một file mới
▪ Dùng lệnh: fprintf(fptr,”chuỗi cần ghi”) để viết vào file
▪ Dùng lệnh: fclose(fptr) để kết thúc
▪ Dùng lệnh: printf(“chuỗi cần ghi”) để in ra màn hình
IV.CÁCH TỔ CHỨC CHƯƠNG TRÌNH
Chương trình bao gồm:
- 1 header: header.h
- 5 sources: chứa main.c, và 4 chức năng của sản phẩm chuvidientich.c, songuyento.c, sopi.c, pho.c
Trang 9V.ĐIỀU ĐÃ LÀM ĐƯỢC VÀ HẠN CHẾ
Điều đã làm được: Tạo ra một chương trình hoành chỉnh có thể giải quyết cùng một lúc 4 bài
toán một cách hiệu quả
Hạn chế: Trong bài Tính số Pi ( Tính năng thứ 3) nên sử dụng vòng lặp để ít tốn bộ nhớ hơn
và để dễ dàng thực hiện
=========================o0o============================