<jupyter_start><jupyter_text>Bài Tập Lập Trình: Cài Đặt Công Thức Toán Bằng Python Chào mừng các bạn đến với bài tập lập trình về cài đặt các công thức toán bằng Python. Trước khi thực hiện bài tập này, các bạn nên học kỹ các kiến thức lý thuyết. Nếu có bất kỳ câu hỏi hay vấn đề nào xảy ra, các bạn hãy để lại comment trực tiếp bên dưới bài đăng hoặc liên hệ qua Fanpage AIVIETNAM hoặc Group AIVIETNAM. Hướng dẫn làm bài - Trong bài tập này bạn sẽ sử dụng Python 3.- Sau khi bạn viết Code của mình xong, hãy chạy dòng Code đó để xem kết quả bên dưới. Các bạn sẽ bắt đầu Code trong phần ` START CODE HERE ` và ` END CODE HERE `. Các bạn nhớ đừng sửa bất kỳ dòng Code nào bên ngoài những câu lệnh này. Sau khi viết xong Code của bạn, bạn hãy ấn "SHIFT"+"ENTER" để thực hiện chạy lệnh của Cell đó. Trong phần Code: các bạn hãy cố gắng thực hiện ít dòng Code nhất theo chỉ định "(≈ X lines of code)". Mặc dù đây không phải là hạn chế về số dòng Code của bạn, nhưng hãy tối ưu sao cho ít nhất có thể. **Bài tập 0**: Hãy bắt đầu thử dòng Code đầu tiên - thực hiện in ra màn hình dòng chữ `"Hello World"`.<jupyter_code>### START CODE HERE ### (≈ 1 line of code)
test = None
### END CODE HERE ###
print("test: " + test)<jupyter_output><empty_output><jupyter_text>**Đầu ra kỳ vọng**:        test: Hello World      **Bài tập 1:** Chuyển góc từ độ sang radian. Công thức chuyển từ góc với đơn vị là độ $A_d$ sang góc với đơn vị là radian $A_r$ như sau: $A_r = A_d$ x $ \frac{\pi}{180}$ *Gợi ý:* lấy số `pi` bằng hàm `math.pi`<jupyter_code>import math 

# Độ
degree = 40

# tính góc theo radian
### START CODE HERE ### (≈ 1 line of code)
radian = None
### END CODE HERE ###

print(radian)<jupyter_output><empty_output><jupyter_text>**Đầu ra kỳ vọng**:        40 độ sang radian: 0.6981317007977318      **Bài tập 2:** Kiểm tra có phải tam giác vuông dựa vào công thức $a^2 + b^2 = c^2$ Chúng ta sẽ nhận các giá trị từ bàn phím.<jupyter_code># yêu cầu user nhập giá trị a
a = int(input("Hãy nhập giá trị a: "))
# yêu cầu user nhập giá trị b
b = int(input("Hãy nhập giá trị b: "))
# yêu cầu user nhập giá trị c
c = int(input("Hãy nhập giá trị c: "))
# Kiểm tra giá trị nhập vào có dương hay không?

### START CODE HERE ### 
None
### END CODE HERE ###<jupyter_output><empty_output><jupyter_text>Các bạn hãy cố gắng sử dụng 1 dòng Code.<jupyter_code>### START CODE HERE ### (≈ 1 line of code)
answer = None
### END CODE HERE ###
print('Tam giác trên có phải là tam giác vuông không? ', answer)<jupyter_output><empty_output><jupyter_text>**Đầu ra kỳ vọng**:            Với bộ tham số (a, b, c) = (3, 4, 5) - Đáp án: True        Với bộ tham số (a, b, c) = (3, 4, 6) - Đáp án: False      **Bài tập 3:** Tính chu vi và diện tích cho các hình cơ bản. Dựa vào các công thức, các bạn xác định input cần thiết của chương trình để yêu cầu user nhập vào từ bàn phím.Chương trình sau tính diện tích tam giác dựa vào 2 tham số b và h (các bạn tham khảo công thức nếu chưa biết ý nghĩa của 2 tham số này)<jupyter_code>print('Chương trình tính diện tích tam giác')

#input
# Chú ý ép kiểu sang Float 
### START CODE HERE ### (≈ 2 line of code)
h = None
b = None
### END CODE HERE ###

# process
### START CODE HERE ### (≈ 1 line of code)
result = None
### END CODE HERE ###

#output
print('Diện tích tam giác với h và b đã cho là', result)<jupyter_output><empty_output><jupyter_text>**Đầu ra kỳ vọng**:            Với h = 3, b = 3        Diện tích tam giác: 4.5      **Bài tập 4:** Ướ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]. 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} $<jupyter_code>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].
    # Hướng dẫn sử dụng hàm `random.random()`
    ### START CODE HERE ### (≈ 1 line of code) 
    x = None
    y = None
    ### END CODE HERE ###
    
    
    # Thực hiện viết công thức đường tròn 
    ### START CODE HERE ### (≈ 1 line of code) 
    x2 = None
    y2 = None
    ### END CODE HERE ###
    
    # kiểm tra p có nằm trong đường tròn
    if math.sqrt(x2 + y2) <= 1.0:
        ### START CODE HERE ### (≈ 1 line of code)
        N_T = None
        ### END CODE HERE ### 
# tính PI
### START CODE HERE ### (≈ 1 line of code)
pi = None
### END CODE HERE ###

print(pi)<jupyter_output><empty_output><jupyter_text>**Đầu ra kỳ vọng**:            3.14552 **Bài tập 5:**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.**Gợi ý:** 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 !<jupyter_code># hàm tính giai thừa
def factorial(n):

    ### START CODE HERE ### (≈ 3 line of code)
    None
    ### END CODE HERE ###
        
    return result

# hàm ước lượng số e
def estimate_e(n):
    
    ### START CODE HERE ### (≈ 3 line of code)
    None
    ### END CODE HERE ###
    
    return result    

# ước lượng số e với n = 10
print(estimate_e(10))<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.11260199456029012, 'fraction_numerical': 0.01813236627379873, 'mean_word_length': 3.035113386978786, 'pattern_counts': {'":': 0, '<': 30, '<?xml version=': 0, '>': 29, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '7', 'dir': 'jupyter-structured-clean-dedup', 'id': '408271', 'license': 'MIT', 'n_tokens_mistral': 2959, 'n_tokens_neox': 2888, 'n_words': 950, 'path': 'Week 1/Assignment/Assignment-Cai-Dat-Cong-Thuc-Toan-Bang-Python.ipynb', 'repo_name': 'thanhhff/AIVN-Course-AI-For-Everyone', 'size': '5515'}