B1:
*Xác định bài toán:
Input: 2 Điểm: A(x1,y1) B(x2,y2)
Output: dAB- độ dài AB
*Thuật toán:
B1: gọi 2 hàm sqrt & pow
B2: nhập x1,x2,y1,y2
B3: áp dụng công thức tính độ dài đoạn thẳng từ toạ độ các điểm: dAB=√(x2-x1)^2+(y2-y1)^2
B4: lấy kq đến 2 chữ số thập phân: "{:.2f}".format(d)
*Chương trình:
from math import sqrt
from math import pow
x1= int(input())
x2= int(input())
y1= int(input())
y2= int(input())
d= sqrt(pow(x2-x1, 2) + pow(y2-y1, 2))
print("{:.2f}".format(d))
*Test:
x1=1, x2=2, y1=3, y2=4
KQ: 1,14
B2:
*Xác định bài toán:
Input: 3 cạnh của tam giác: a,b,c
Output: chu vi và diện tích tam giác: d và s
*Thuật toán:
B1: gọi hàm sqrt
B2: nhập a,b,c
B3: gọi p=d/2, áp dụng công thức Hê rông:
s=√p(p-a)*(p-b)*(p-c)
B4: lấy kq đến 3 chữ số thập phân: "{:.3f}".format(d)
*Chương trình:
from math import sqrt
a= int(input())
b= int(input())
c= int(input())
p= (a+b+c)/2
s= sqrt(p*(p-a)*(p-b)*(p-c))
print("{:.3f}".format(s))
*Test:
a=2, b=3, c=4
KQ: 2,905
B3:
*Xác định bài toán:
Input: 3 Điểm: A(x1,y1) B(x2,y2) C(x3,y3)
Output: dAB, dBC, dCA-độ dài AB, BC, CA
*Thuật toán:
B1: gọi 2 hàm sqrt & pow
B2: nhập x1,x2,x3,y1,y2,y3
B3: áp dụng công thức tính độ dài đoạn thẳng từ toạ độ các điểm: dAB=√(x2-x1)^2+(y2-y1)^2, áp dụng tương tự cho dBC và dCA
B4: lấy kq đến 3 chữ số thập phân: "{:.3f}".format(d)
*Chương trình:
from math import sqrt
from math import pow
x1= int(input())
x2= int(input())
x3= int(input())
y1= int(input())
y2= int(input())
y3= int(input())
dab = sqrt(pow(x2-x1, 2) + pow(y2-y1, 2))
dbc = sqrt(pow(x3-x2, 2) + pow(y3-y2, 2))
dca = sqrt(pow(x1-x3, 2) + pow(y1-y3, 2))
print("{:.3f}".format(dab))
print("{:.3f}".format(dbc))
print("{:.3f}".format(dca))
*Test:
x1=1, x2=2, x3=3, y1=4, y2=5, y3=6
KQ: dab=1,414, dbc=1,414, dca=2,828
B4:
*Xác định bài toán:
Input: chiều dài a, chiều rộng b
Output: Số viên gạch vàng: y, số viên gạch xanh: x
*Thuật toán:
B1: nhập x1,x2,x3,y1,y2,y3
B2: nhập công thức tính số gạch vàng: y=(a-2)*(b-2), số gạch xanh: x=a*b-y
B3: đưa kq ra
*Chương trình:
a= int(input())
b= int(input())
x= (a-2)*(b-2)
y= a*b-x
print(x)
print(y)
*Test:
a=4, b=6
KQ: x=8, y=16
B5:
*Xác định bài toán:
Input: Nhập N nguyên dương
Output: Tổng S=1+2+3+...+N
*Thuật toán:
B1: Nhập N
B2: Áp dụng công thức tính tổng các số tự nhiên liên tiếp: S=(N*(N+1))/2
B3: Đưa kết quả ra
*Chương trình:
n= int(input())
s= (n*(n+1))/2
print("{:.0f}".format(s))
*Test:
n=3, KQ: s=6
B6:
*Xác định bài toán:
Input: Nhập N nguyên dương
Output: Tổng S=S=1^2+2^2+3^2+...+N^2
*Thuật toán:
B1: Nhập N
B2: Áp dụng công thức tính tổng các số tự nhiên liên tiếp: S=(N*(N+1)*(2*N+1))/6
B3: Đưa kết quả ra
*Chương trình:
n= int(input())
s= (n*(n+1)*(2*n+1))/6
print("{:.0f}".format(s))
*Test:
n=6, KQ: s=91
B7:
*Xác định bài toán:
Input: Nhập N nguyên dương
Output: Tổng S=1+3+5+...+(2*N-1)
*Thuật toán:
B1: Nhập N
B2: Áp dụng công thức tính tổng các số tự nhiên liên tiếp: S=N*N
B3: Đưa kết quả ra
*Chương trình:
n= int(input())
s=(n*n)
print("{:.0f}".format(s))
*Test:
n=3, KQ:s=9
B8:
*Xác định bài toán:
Input: Nhập N nguyên dương
Output: Tổng S=1^3+2^3+3^3+...+N^3
*Thuật toán:
B1: Gọi hàm pow + Nhập N
B2: Áp dụng công thức tính tổng các số tự nhiên liên tiếp: S=(N*(N+1))2/2
B3: Đưa kết quả ra
*Chương trình:
from math import pow
n= int(input())
s= (n*pow(n+1, 2))/2
print("{:.0f}".format(s))
*Test:
n=4, KQ:s=50
B9:
*Xác định bài toán:
Input: Nhập N nguyên dương
Output: Tổng S=1^5+2^5+3^5+...+N^5
*Thuật toán:
B1: Nhập N
B2: Áp dụng công thức tính tổng các số tự nhiên liên tiếp: S=(N^2*(N+1)^2*(2N^2+2N-1))/12
B3: Đưa kết quả ra
*Chương trình:
n= int(input())
s= (n*n*(n+1)*(n+1)*(2*n*n+2*n-1))/12
print("{:.0f}".format(s))
*Test:
n=3 ->s=276
B10:
*Xác định bài toán:
Input: Nhập N nguyên dương
Output: Tổng S=1*2+2*3+3*4+...+N*(N+1)
*Thuật toán:
B1: Nhập N
B2: Áp dụng công thức tính tổng: S=(N*(N+1)*(N+2))/3
B3: Đưa kết quả ra
*Chương trình:
n= int(input())
s= (n*(n+1)*(n+2))/3
print("{:.0f}".format(s))
*Test: n=4 ->s=40
B11:
*Xác định bài toán:
Input: Nhập N nguyên dương
Output: Tổng S=1/(1*2)+1/(2*3)+1/(3*4)+...+1/(N*(N+1))
*Thuật toán:
B1: Nhập N
B2: Áp dụng công thức tính tổng: S=N/(N+1)
B3: Đưa kết quả ra
*Chương trình:
n= int(input())
s= n/(n+1)
print("{:.0f}".format(s))
*Test:
n=6->s=1
B12:
*Xác định bài toán:
Input: Nhập N nguyên dương
Output: Tổng S=1/(1.2.3)+1/(2.3.4)+1/(3.4.5)+...+1/(N.(N+1).(N+2))
*Thuật toán:
B1: Nhập N
B2: Áp dụng công thức tính tổng các số tự nhiên liên tiếp: S=(N.(N+3))/(4.(N+1).(N+2))
B3: Đưa kết quả ra
*Chương trình:
n= int(input())
s= (n*(n+3))/(4*(n+1)*(n+2))
print("{:.0f}".format(s))
*Test:
n=8->s=0
B13:
*Xác định bài toán:
Input: Nhập N nguyên dương
Output: Tổng S=3/(1.2)^2+5/(2.3)^2+...+(2N+1)/(N.(N+1))^2
*Thuật toán:
B1: Nhập N
B2: Áp dụng công thức tính tổng các số tự nhiên liên tiếp: S=(N.(N+2))/(N+1)^2
B3: Đưa kết quả ra
*Chương trình:
n= int(input())
s= (n*(n+2))/((n+1)*(n+1))
print("{:.0f}".format(s))
*Test:
n=5->s=1
B14:
*Xác định bài toán:
Input: Nhập N và P nguyên dương
Output: Tổng S=1+p^1+p^2+...+p^N
*Thuật toán:
B1: Đưa hàm pow ra + Nhập N và P
B2: Áp dụng công thức tính tổng các số tự nhiên liên tiếp: S=(p^(N+1)-1)/(P-1)
B3: Đưa kết quả ra
*Chương trình:
from math import pow
n= int(input())
p= int(input())
s= (pow(p, (n+1))-1)/(p-1)
print("{:.0f}".format(s))
*Test:
n=4,p=6->s=1555
B15:
*Xác định bài toán:
Input: Nhập N và P nguyên dương
Output: Tổng S=1+2p1+3p2+...+(N+1).pN
*Thuật toán:
B1: Đưa hàm pow ra + Nhập N và P
B2: Áp dụng công thức tính tổng các số tự nhiên liên tiếp:
S=((N+1).p^(N+1))/(P-1) - (p^(N+1)-1)/(P-1)^2
B3: Đưa kết quả ra
*Chương trình:
from math import pow
n= int(input())
p= int(input())
s= ((n+1)*pow(p, (n+1)))/(p-1)-(pow(p, (n+1))-1)/((p-1)*(p-1))
print("{:.0f}".format(s))
*Test:
n=3,p=5->s=586
B16:
*Xác định bài toán:
Input: N
Output: N chẵn hoặc N lẻ
*Thuật toán:
B1: Nhập N
B2: Nếu N%2==0 thì N chẵn, N%2!=0 thì N lẻ
B3: Đưa ra kết quả
*Chương trình
n= int(input())
if(n%2==0):
print("n chan")
if(n%2!=0):
print("n le")
*Test:
n=6->"n chan"
B17:
*Xác định bài toán:
Input: N
Output: N chia hết cho 3 và không chia hết cho 5 hoặc không
*Thuật toán:
B1: Nhập N
B2: Nếu N%3==0 và N%5!=0 thì ghi TRUE, nếu không thì FALSE
B3: Đưa ra kết quả
*Chương trình
n= int(input())
if(n%3==0) and (n%5!=0):
print("TRUE")
else:
print("FALSE")
*Test:
n=16->"FALSE"
B18:
*Xác định bài toán:
Input: a,b
Output: Giá trị lớn nhất của a và b
*Thuật toán:
B1: Nhập a,b
B2: Đặt res=a
B3: Nếu res<b thì res=b
B4: Đưa res ra
*Chương trình:
a= int(input())
b= int(input())
c= int(input())
res=a
if(res<b):
res=b
if(res<c):
res=c
print(res)
*Test:
a=7,b=2,c=9->9
B19:
*Xác định bài toán:
Input: a,b,c
Output: Giá trị nhỏ nhất của a, b và c
*Thuật toán:
B1: Nhập a,b,c
B2: Đặt res=a
B3: (1)Nếu res>b thì res=b
(2) res>c thì res=c
B4: Đưa res ra
*Chương trình:
a= int(input())
b= int(input())
c= int(input())
res=a
if(res>b):
res=b
if(res>c):
res=c
print(res)
*Test:
a=2,b=4,c=3->2
B20:
*Xác định bài toán:
Input: a,b,c
Output: Giá trị lớn nhất của a, b và c
*Thuật toán:
B1: Nhập a,b,c
B2: Đặt m=a+b, n=b+c, p=c+a Và res=m
B3: (1)Nếu res<n thì res=n
(2) res<p thì res=p
B4: Đưa res ra
*Chương trình:
a= int(input())
b= int(input())
c= int(input())
m= a+b
n= b+c
p= c+a
res= m
if(res<n):
res= n
if(res<p):
res=p
print(res)
*Test:
a=3,b=3,c=4->7
B21:
*Xác định bài toán:
Input: a,b
Output: Giá trị lớn nhất của số ghép từ a và b
*Thuật toán:
B1: Nhập a,b
B2: Đặt m=a*10+b, n=b*10+a Và res=m
B3: Nếu res<n thì res=n
B4: Đưa res ra
*Chương trình:
a= int(input())
b= int(input())
m= a*10+b
n= b*10+a
res= m
if(res<n):
res= n
print(res)
*Test:
a=4,b=7->74
B22:
*Xác định bài toán:
Input: a,b
Output: x hoặc “VSN” nếu phương trình thuộc các trường hợp có nghiệm, “VN” nếu phương trình không có nghiệm
*Thuật toán:
B1: Nhập a,b
B2: (1) Nếu a==0 và b==0 thì ghi “VSN”
(2) Nếu a==0 và b!=0 thì ghi “VN”
(3) Nếu a!=0 thì tìm x
B3: Đưa ra kết quả cho từng trường hợp
*Chương trình:
a= int(input())
b= int(input())
if(a==0) and (b==0):
print("VSN")
if(a==0) and (b!=0):
print("VN")
x= (-b)/a
if(a!=0):
print(x)
*Test:
a=3,b=6->-2.0
B23:
*Xác định bài toán:
Input: a,b,c
Output: x nếu phương trình thuộc các trường hợp có nghiệm, “VN” nếu phương trình không có nghiệm
*Thuật toán:
B1: Đưa hàm sqrt ra + Nhập a,b,c
B2: Tìm d=b^2-4.a.c
B3: (1) Nếu d<0 thì ghi “VN”
(2) x1=x2=(-b)/2.a. Nếu d=0 thì tìm: x1=x2
(3) x1= (-b+ sqrt(d))/(2*a); x2= (-b- sqrt(d))/(2*a). Nếu d>0 thì tìm x1,x2
B4: Đưa ra kết quả cho từng trường hợp
*Chương trình:
from math import sqrt
a= int(input())
b= int(input())
c= int(input())
d=b*b-4*a*c
if(d<0):
print("VN")
x1=x2= (-b)/2*a
if(d==0):
print("{:.3f}".format(x1=x2))
x1= (-b+sqrt(d))/(2*a)
x2= (-b-sqrt(d))/(2*a)
if(d>0):
print("{:.3f}".format(x1))
print("{:.3f}".format(x2))
*Test:
a=2,b=6,c=4->x1=-1.000, x2=-2.000
B24:
*Xác định bài toán:
Input: a,b,c
Output: S là diện tích tam giác nếu a,b,c là 3 cạnh của 1 tam giác, “NONE” nếu a,b,c không là 3 cạnh của 1 tam giác
*Thuật toán:
B1: Đưa hàm sqrt ra + Nhập a,b,c
B2: Lấy m=a+b, n=b+c, p=c+a
B3: (1) Nếu (m>c) và (n>a) và (p>b) thì:
3A: Tìm p=(a+b+c)/2
3B: Tìm s= sqrt(p.(p-a).(p-b).(p-c)) (Công thức Hê rông)
(2) Nếu m,n,p không thỏa mãn (ELSE) thì ghi “NONE”
B4: Đưa ra kết quả cho từng trường hợp
*Chương trình:
from math import sqrt
a= int(input())
b= int(input())
c= int(input())
m= a+b
n= b+c
p= c+a
if(m>c) and (n>a) and (p>b):
p= (a+b+c)/2
s= sqrt(p*(p-a)*(p-b)*(p-c))
print("{:.2f}".format(s))
else:
print("NONE")
*Test:
a=2,b=3,c=4->2.90
B25:
*Xác định bài toán:
Input: Điểm M(x1,y1) + Đường tròn tâm I(x2,y2) bán kính R
Output: M nằm trong, trên hay ngoài đường tròn
*Thuật toán:
B1: Đưa hàm sqrt và pow ra + Nhập x1,x2,y1,y2, R
B2: Tìm: dMI= sqrt(pow(x2-x1, 2)+pow(y2-y1, 2))
B3: (1) Nếu dMI<R thì ghi: "M nam trong (I;R)"
(2) Nếu dMI==R thì ghi: "M nam tren (I;R)"
(3) Nếu dMI>R thì ghi: "M nam ngoài (I;R)"
B4: Đưa ra kết quả cho từng trường hợp
*Chương trình:
from math import sqrt
from math import pow
x1= int(input())
x2= int(input())
y1= int(input())
y2= int(input())
R= int(input())
dMI= sqrt(pow(x2-x1, 2)+pow(y2-y1, 2))
if(dMI<R):
print("M nam trong (I;R)")
if(dMI==R):
print("M nam tren (I;R)")
if(dMI>R):
print("M nam ngoai (I;R)")
*Test:
x1=2,x2=3,y1=4,y2=5,R=9
KQ: "M nam trong (I;R)"