Bạn chưa đăng nhập. Vui lòng đăng nhập để hỏi bài

Những câu hỏi liên quan
Minh Lệ
Xem chi tiết
Thanh An
23 tháng 8 2023 lúc 9:45

tham khảo!

def nhapDL(finp):

 f = open(finp)

 A = []

 B = []

 for line in f:

  s = line.split()

  A.append(s[0])

  temp = s[1:len(s)]

  temp = [float(x) for x in temp]

  B.append(temp)

 f.close()

 return A, B

def diem_gk(d):

 diem = sum(d) + d[0] + d[len(d) - 1]

 diem = diem / (len(d) + 2)

 return round(diem, 2)

def xuly(B):

 kq = []

 for i in range(len(B)):

  diem = diem_gk(B[i])

  kq.append(diem)

 return kq

def ghiDL(fout, A, B):

 f = open(fout, "w")

 A, B = zip(*sorted(zip(A, B), key=lambda x: x[1], reverse=True))

 for i in range(len(A)):

  print(A[i], B[i], file=f)

 f.close()

finp = "seagames.inp"

fout = "ketqua.out"

DS, Diem = nhapDL(finp)

Kq = xuly(Diem)

ghiDL(fout, DS, Kq)

Minh Lệ
Xem chi tiết
Thanh An
23 tháng 8 2023 lúc 0:25

marks = []

 

line = input("Hãy nhập các điểm kiểm tra cách nhau bởi dấu cách: ")

marks = [float(x) for x in line.split()]

total = 0

min_mark = marks[0]

max_mark = marks[0]

for m in marks:

    total += m

    if min_mark > m:

        min_mark = m

    if max_mark < m:

        max_mark = m

#a) Thông báo điểm đầu tiên và điểm cuối cùng trong danh sách.

print("Điểm trung bình: ", total / len(marks))

print("Điểm cao nhất: ", max_mark)

print("Điểm thấp nhất: ", min_mark)

print("Điểm đầu tiên: ", marks[0])

print("Điểm cuối cùng: ", marks[-1])

#b)Cho phép người dùng tra cứu đầu điểm thứ n với quy ước n bắt đầu từ 1 ứng với điểm đầu tiên, nếu n lớn hơn tổng số đầu điềm hoặc nhỏ hơn 1, cần thông báo không hợp lệ và yêu cầu người dùng nhập lại.

while True:

    try:

        n = int(input("Nhập n để tra cứu điểm đầu tiên thứ n (n bắt đầu từ 1): "))

        if n < 1 or n > len(marks):

            print("Số n không hợp lệ. Vui lòng nhập lại.")

            continue

        print("Điểm đầu tiên thứ", n, "là:", marks[n - 1])

        break

    except ValueError:

        print("Số n không hợp lệ. Vui lòng nhập lại.")

Hồ Hoàng Long
Xem chi tiết
Panda
Xem chi tiết
Tran dang khoa
Xem chi tiết
Tran dang khoa
24 tháng 7 2023 lúc 13:58

cứu em với mn còn 30p cuối thôi

Minh Lệ
Xem chi tiết
Thanh An
23 tháng 8 2023 lúc 9:38

- Các thuật toán và chương trình mà em đã biết đều là các thuật toán cơ bản trong lập trình và giải quyết các vấn đề thông thường. Các điểm chung của chúng bao gồm: Tính đơn giản, độ phức tạp thấp.

- Theo em, để thiết kế một thuật toán đúng giải một bái toàn cho trước cần trải qua các bước:

1. Xác định bài toán

2. Tìm cấu trúc dữ liệu biểu diễn thuật toán.

3. Tìm Thuật Toán.

4. Lập Trình (Programming)

5. Kiểm thử chương trình (Testing program)

6. Tối ưu chương trình (optimization program)

Minh Lệ
Xem chi tiết
datcoder
22 tháng 10 2023 lúc 1:54

a)

import time

def linear_search(arr, x):

 """

 Tìm kiếm tuyến tính trong dãy arr để tìm giá trị x.

 Trả về vị trí của x trong dãy nếu x được tìm thấy, -1 nếu không tìm thấy.

 """

 n = len(arr)

 for i in range(n):

  if arr[i] == x:

   return i

 return -1

# Dãy số A

A = [3, 1, 0, 10, 13, 16, 9, 7, 5, 11]

# Phần tử cần tìm kiếm

C = 9

# Bắt đầu đo thời gian

start_time = time.perf_counter()

# Tìm kiếm phần tử C trong dãy A

result = linear_search(A, C)

# Kết thúc đo thời gian

end_time = time.perf_counter()

if result != -1:

 print(f"Phần tử {C} được tìm thấy tại vị trí {result} trong dãy A.")

else:

 print(f"Phần tử {C} không có trong dãy A.")

print(f"Thời gian thực hiện thuật toán: {end_time - start_time} giây.")

b)

import time

def binary_search(arr, x):

 """

 Tìm kiếm nhị phân trong dãy arr để tìm giá trị x.

 Trả về vị trí của x trong dãy nếu x được tìm thấy, -1 nếu không tìm thấy.

 """

 left, right = 0, len(arr) - 1

 while left <= right:

  mid = (left + right) // 2

  if arr[mid] == x:

   return mid

  elif arr[mid] < x:

   left = mid + 1

  else:

   right = mid - 1

 return -1

# Dãy số A đã được sắp xếp

A = [0, 1, 3, 5, 7, 9, 10, 11, 13, 16]

# Phần tử cần tìm kiếm

C = 9

# Bắt đầu đo thời gian

start_time = time.perf_counter()

# Tìm kiếm phần tử C trong dãy A bằng thuật toán tìm kiếm nhị phân

result = binary_search(A, C)

# Kết thúc đo thời gian

end_time = time.perf_counter()

if result != -1:

 print(f"Phần tử {C} được tìm thấy tại vị trí {result} trong dãy A.")

else:

 print(f"Phần tử {C} không có trong dãy A.")

print(f"Thời gian thực hiện thuật toán: {end_time - start_time} giây.")

-Thời gian thực hiện ở câu a là 8.99999,thời gian thực hiện ở câu b là 6,49999 giây.

Huy Phạm
Xem chi tiết
Kiều Vũ Linh
3 tháng 5 2023 lúc 6:12

1)

Var array:[1..1000] of integer;

i,n,t:integer;

Begin

Write('n = ');readln(n);

For i:=1 to n do

Begin

Write('Nhap so thu ',i,' = ');readln(a[i]);

End;

For i:=1 to n do

If a[i] > a[i+1] then

Begin

t:=a[i];

a[i]:=a[i+1];

a[i+1]:=t;

End;

Write('Sap xep tang dan ');

For i:=1 to n do write(a[i]:8);

Readln

End.

Kiều Vũ Linh
3 tháng 5 2023 lúc 6:13

2)

Var array:[1..1000] of integer;

i,n,t:integer;

Begin

Write('n = ');readln(n);

For i:=1 to n do

Begin

Write('Nhap so thu ',i,' = ');readln(a[i]);

End;

For i:=1 to n do

If a[i] < a[i+1] then

Begin

t:=a[i];

a[i]:=a[i+1];

a[i+1]:=t;

End;

Write('Sap xep giam dan ');

For i:=1 to n do write(a[i]:8);

Readln

End.

Nguyễn Cảnh Hùng
Xem chi tiết
Đỗ Ngọc Trinh
21 tháng 1 2018 lúc 5:10

Trong chương trình bảng tính, muốn sắp xếp danh sách dữ liệu theo thứ tự tăng (giảm), ta thực hiện chọn dải lệnh Data và trong nhóm Sort & Filter chọn lệnh Lý thuyết Tin học 7 Bài 8: Sắp xếp và lọc dữ liệu - Lý thuyết Tin học 7 đầy đủ nhất hoặc Lý thuyết Tin học 7 Bài 8: Sắp xếp và lọc dữ liệu - Lý thuyết Tin học 7 đầy đủ nhất

Đáp án : C