Tìm kiếm Bài giảng
Bài 16. Ví dụ làm việc với tệp

- 0 / 0
(Tài liệu chưa được thẩm định)
Nguồn:
Người gửi: Nguyễn Ngọc Tuân
Ngày gửi: 16h:43' 07-12-2022
Dung lượng: 359.2 KB
Số lượt tải: 85
Nguồn:
Người gửi: Nguyễn Ngọc Tuân
Ngày gửi: 16h:43' 07-12-2022
Dung lượng: 359.2 KB
Số lượt tải: 85
Số lượt thích:
0 người
Tiết 41+42: Bài tập
LÀM VIỆC VỚI TỆP
Bài tập. LÀM VIỆC VỚI TỆP
Bài 1: Cho 3 số nguyên dương p, q, r
Yêu cầu: Kiểm tra 3 số này, theo thứ tự có tạo thành một cấp số nhân hay
không. Nếu có thì in ra “YES”, ngược lại thì in ra “NO”
Dữ liệu vào: Từ file văn bản BAI1.INP:
- Gồm một dòng chứa 3 số nguyên dương p, q, r (p, q ≤ 10 9). Các số viết
cách nhau một dấu cách
Dữ liệu ra: Ghi ra file văn bản BAI1.OUT
- Gồm 1 dòng ghi YES hoặc NO tương ứng với kết quả của bài toán dãy
số là cấp số nhân hay không là cấp số nhân
Bài tập. LÀM VIỆC VỚI TỆP
Chương trình bài 1:
f=open(r"BAI1.inp",'r', encoding='utf-8')
g=open(r"BAI1.out",'w', encoding='utf-8')
s=f.readline()
#p,q,r=map(int,s.split())
ds=s.split()
p=int(ds[0])
q=int(ds[1])
r=int(ds[2])
if q*q==p*r:
g.write("YES")
else:
g.write("NO")
f.close()
g.close()
Bài tập. LÀM VIỆC VỚI TỆP
Bài 2: Cho một số nguyên dương n
Yêu cầu: Phân tích n thành tích các thừa số nguyên tố. In ra tích
các thừa số nguyên tố theo thứ tự từ bé đến lớn
Dữ liệu vào: Từ file văn bản BAI2.INP:
- Gồm một số nguyên dương n (2 ≤ n ≤ 106).
Dữ liệu ra: Ghi ra file văn bản BAI2.OUT
- Gồm 1 dòng ghi ra số theo yêu cầu của đề bài, mỗi số cách nhau
một dấu cách
Bài tập. LÀM VIỆC VỚI TỆP
Chương trình bài2:
f=open("BAI2.inp",'r', encoding='utf-8')
g=open("BAI2.out",'w', encoding='utf-8')
n=int(f.readline())
i=2
while n>1:
while n%i!=0:
i=i+1
g.write(str(i)+" ")
n=n//i
f.close()
g.close()
Hoặc: viết như này sẽ thuận hơn
Bài tập. LÀM VIỆC VỚI TỆP
Bài 3. Cho 2 số nguyên dương a và b
Yêu cầu: Tìm ước chung lớn nhất của 2 số đó
Dữ liệu vào: Từ file văn bản BAI3.INP gồm:
- Dòng 1: gồm 2 số nguyên dương a và b (n ≤ 1000).
Dữ liệu ra: Ghi ra file văn bản BAI3.OUT
- Gồm 1 số nguyên duy nhất là ước chung lớn nhất của 2 số đó
Bài tập. LÀM VIỆC VỚI TỆP
Chương trình bài 3: f=open("BAI3.inp",'r', encoding='utf-8')
g=open("BAI3.out",'w', encoding='utf-8')
a,b=list(map(int,f.readline().split()))
uc=1
for i in range(2,a//2+1):
if (a%i==0) and (b%i==0):
uc=i
g.write(str(a)+" "+str(b)+"\n")
g.write(str(uc))
f.close()
g.close()
LÀM VIỆC VỚI TỆP
Bài tập. LÀM VIỆC VỚI TỆP
Bài 1: Cho 3 số nguyên dương p, q, r
Yêu cầu: Kiểm tra 3 số này, theo thứ tự có tạo thành một cấp số nhân hay
không. Nếu có thì in ra “YES”, ngược lại thì in ra “NO”
Dữ liệu vào: Từ file văn bản BAI1.INP:
- Gồm một dòng chứa 3 số nguyên dương p, q, r (p, q ≤ 10 9). Các số viết
cách nhau một dấu cách
Dữ liệu ra: Ghi ra file văn bản BAI1.OUT
- Gồm 1 dòng ghi YES hoặc NO tương ứng với kết quả của bài toán dãy
số là cấp số nhân hay không là cấp số nhân
Bài tập. LÀM VIỆC VỚI TỆP
Chương trình bài 1:
f=open(r"BAI1.inp",'r', encoding='utf-8')
g=open(r"BAI1.out",'w', encoding='utf-8')
s=f.readline()
#p,q,r=map(int,s.split())
ds=s.split()
p=int(ds[0])
q=int(ds[1])
r=int(ds[2])
if q*q==p*r:
g.write("YES")
else:
g.write("NO")
f.close()
g.close()
Bài tập. LÀM VIỆC VỚI TỆP
Bài 2: Cho một số nguyên dương n
Yêu cầu: Phân tích n thành tích các thừa số nguyên tố. In ra tích
các thừa số nguyên tố theo thứ tự từ bé đến lớn
Dữ liệu vào: Từ file văn bản BAI2.INP:
- Gồm một số nguyên dương n (2 ≤ n ≤ 106).
Dữ liệu ra: Ghi ra file văn bản BAI2.OUT
- Gồm 1 dòng ghi ra số theo yêu cầu của đề bài, mỗi số cách nhau
một dấu cách
Bài tập. LÀM VIỆC VỚI TỆP
Chương trình bài2:
f=open("BAI2.inp",'r', encoding='utf-8')
g=open("BAI2.out",'w', encoding='utf-8')
n=int(f.readline())
i=2
while n>1:
while n%i!=0:
i=i+1
g.write(str(i)+" ")
n=n//i
f.close()
g.close()
Hoặc: viết như này sẽ thuận hơn
Bài tập. LÀM VIỆC VỚI TỆP
Bài 3. Cho 2 số nguyên dương a và b
Yêu cầu: Tìm ước chung lớn nhất của 2 số đó
Dữ liệu vào: Từ file văn bản BAI3.INP gồm:
- Dòng 1: gồm 2 số nguyên dương a và b (n ≤ 1000).
Dữ liệu ra: Ghi ra file văn bản BAI3.OUT
- Gồm 1 số nguyên duy nhất là ước chung lớn nhất của 2 số đó
Bài tập. LÀM VIỆC VỚI TỆP
Chương trình bài 3: f=open("BAI3.inp",'r', encoding='utf-8')
g=open("BAI3.out",'w', encoding='utf-8')
a,b=list(map(int,f.readline().split()))
uc=1
for i in range(2,a//2+1):
if (a%i==0) and (b%i==0):
uc=i
g.write(str(a)+" "+str(b)+"\n")
g.write(str(uc))
f.close()
g.close()
 









Các ý kiến mới nhất