-
Tuần 1 - Ngày 10 tháng 7 năm 2019
- Giới thiệu về khóa học
- Hướng dẫn viết chương trình Python trên web
- Hướng dẫn sử dụng PyCharm
- Tổng quan về Python
- Kỹ năng sử dụng Google search
- Viết tài liệu kỹ thuật dùng Markdown
- Hàm xây dựng sẵn trong Python – math và random
- Cài đặt các công thức toán cơ bản
- Xây dựng hàm trong python
- Điều kiện if-else
- Những lỗi thường gặp trong Python
- Reading assignment
-
Tuần 2 - Ngày 17 tháng 7 năm 2019
-
Tuần 3 - Ngày 24 tháng 7 năm 2019
-
Tuần 4 - Ngày 31 tháng 7 năm 2019
-
Tuần 5 - Ngày 7 tháng 8 năm 2019
-
Advanced Python
-
Tuần 6 - Ngày 14 tháng 8 năm 2019
-
Tuần 7 - Ngày 28 tháng 8 năm 2019
-
Tuần 8
-
Tuần 9
Ước lượng số PI và e
Ước lượng số PI bằng các số ngẫu nhiên.
Chúng ta sẽ cài đặt chương trình để ước lượng số PI dùng các số ngẫu nhiên có phân bố đều (uniform distribution). Các bước cài đặt chương trình như sau:
1. Cho trước hình vuông V có cạnh s = 2 và hình tròn T có bán kính r = 1. Cả V và T có tâm tại điểm (0, 0).
2. Sinh ra N điểm p có tọa độ (x, y), trong đó x, y là các số ngẫu nhiên và thuộc đoạn [-1, 1].
(hình từ wikipedia)
3. Đếm số điểm p thuộc T, gọi là \(N_T\)
4. Cuối cùng, số PI được ước lượng như sau
$$\pi \approx 4 \times \frac{N_T}{N}$$
Trước khi xem source code
– Các bạn hãy thử tự cài đặt chương trình ước lượng số PI. Điều này tốt hơn là xem code ngay.
https://aivietnam.ai/python-editor/
– Các bạn hãy xây dựng công thức trên. (Dựa vào công thức tính diện tích hình tròn và hình vuông, sau đó rút PI).
Source code
# aivietnam.ai import random import math # Tổng số điểm p được sinh ra N = 100000 # số điểm thuộc tình tròn N_T = 0 # Sinh ra N điểm ngẫu nhiên for i in range(N): # sinh ra x, y thuộc [-1, 1]. x = random.random()*2 - 1 y = random.random()*2 - 1 x2 = x**2 y2 = y**2 # kiểm tra p có nằm trong đường tròn if math.sqrt(x2 + y2) <= 1.0: N_T = N_T + 1 # tính PI pi = (N_T / N) * 4 print(pi)
Kết quả
3.14052
Ước lượng số e
Số e được ước lượng dựa vào công thức sau
$$e\approx 1 + \frac{1}{1!} + \frac{1}{2!} + … + \frac{1}{n!}$$
trong đó, n là số cho trước. n càng lớn thì độ chính xác càng cao.
Các bạn hãy dùng vòng lặp for để tính giai thừa và tính xấp xỉ số e (cho trước giá trị của e để các bạn kiểm tra độ chính xác của chương trình cài đặt, e = 2.718281828).
Các bạn thử tự cài đặt trước nhé.
https://aivietnam.ai/python-editor/
Source code
# aivietnam.ai # hàm tính giai thừa def factorial(n): result = 1 for i in range(2, n+1): result = result*i return result # hàm ước lượng số e def estimate_e(n): result = 1 for i in range(1, n+1): result = result + 1/factorial(i) return result # ước lượng số e với n = 10 print(estimate_e(10))
Kết quả
2.7182818011463845