K
Khách

Hãy nhập câu hỏi của bạn vào đây, nếu là tài khoản VIP, bạn sẽ được ưu tiên trả lời.

QT
Quoc Tran Anh Le
Giáo viên
23 tháng 8 2023

1.Điểm được sắp xếp theo thứ tự ngẫu nhiên:

# Danh sách tên học sinh

class_names = ["Sơn", "Huyền", "Nam", "Hùng", "Hương", "Hà"]

# Danh sách điểm thi tương ứng

class_scores = [5.6, 7.4, 7.8, 8.4, 8.9, 9.5]

# Nhập khoảng điểm cần tra cứu

start_score = float(input("Nhập điểm bắt đầu của khoảng điểm: "))

end_score = float(input("Nhập điểm kết thúc của khoảng điểm: "))

 

# Kiểm tra và thông báo tên học sinh có điểm nằm trong khoảng tương ứng

found = False

for i in range(len(class_names)):

  if class_scores[i] >= start_score and class_scores[i] <= end_score:

   print("Học sinh", class_names[i], "có điểm là", class_scores[i])

   found = True

if not found:

  print("Không tìm thấy học sinh nào có điểm trong khoảng điểm đã nhập.")

2.Điểm được sắp xếp theo thứ tự tăng dần:

# Danh sách tên học sinh

class_names = ["Sơn", "Huyền", "Nam", "Hùng", "Hương", "Hà"]

# Danh sách điểm thi tương ứng (đã được sắp xếp theo thứ tự tăng dần)

class_scores = [5.6, 7.4, 7.8, 8.4, 8.9, 9.5]

# Nhập khoảng điểm cần tra cứu

start_score = float(input("Nhập điểm bắt đầu của khoảng điểm: "))

end_score = float(input("Nhập điểm kết thúc của khoảng điểm: "))

# Tìm kiếm nhị phân để tra cứu tên học sinh

found = False

low = 0

  high = len(class_names) – 1

while low <= high:

  mid = (low + high) // 2

  if class_scores[mid] >= start_score and class_scores[mid] <= end_score:

   print("Học sinh", class_names[mid], "có điểm là", class_scores[mid])

   found = True

   break

  elif class_scores[mid] < start_score:

   low = mid + 1

  else:

   high = mid - 1

if not found:

  print("Không tìm thấy học sinh nào có điểm trong khoảng điểm đã nhập.")

23 tháng 8 2023

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.")

QT
Quoc Tran Anh Le
Giáo viên
23 tháng 8 2023

Def BinrySearch(A,K):

     left=0

     right=len(A)-1

     while left<=right:

         mid=(left+right)//2

         if A[mid]==K:

          return mid

         elif A[mid]<K:

          left=mid-1

         else:

          right=mid+1

     return -1

input_file=open(“diemthi_sx.inp”)

ds_diem=[]

for line in input_file.readlines():

     ds_diem.append(float(line))

input_file.close():

diem=float(input(‘nhập điểm số cần kiểm tra:’))

vitri=BanirySearch(ds_diem,diem)

if vitri==-1:

     print(‘không tồn tại điểm số cần tìm trong danh sách’)

else:

     print(‘điểm cần tìm nằm ở hàng thứ’,vitri,’trong danh sách’)

23 tháng 8 2023

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.")

23 tháng 8 2023

def binary_search(names, target):

 low = 0

 high = len(names) - 1

 while low <= high:

  mid = (low + high) // 2

  mid_name = names[mid]

  if mid_name == target:

   return mid

  elif mid_name < target:

   low = mid + 1

  else:

   high = mid - 1

return -1

# Danh sách tên học sinh trong lớp (đã được sắp xếp theo thứ tự bảng chữ cái)

class_names = ["An", "Bình", "Cường", "Đạt", "Hoàn", "Minh", "Nam", "Thảo", "Trung"]

# Tên học sinh cần tìm

target_name = "Minh"

# Gọi hàm tìm kiếm nhị phân

result = binary_search(class_names, target_name)

if result != -1:

 print("Học sinh có tên là", target_name, "được tìm thấy tại vị trí", result)

else:

 print("Học sinh có tên là", target_name, "không tồn tại trong danh sách.")

22 tháng 7 2023

a) Danh sách học sinh của lớp:

 

def tim_vi_tri_ten_hs(ten, danh_sach_hs):

       for i, ten_hs in enumerate(danh_sach_hs):

              if ten_hs == ten:

                     return i

       return -1

danh_sach_hs = ["Nam", "An", "Binh", "Chung", "Duc", "Huong"]

ten_can_tim = "An"

vi_tri = tim_vi_tri_ten_hs(ten_can_tim, danh_sach_hs)

if vi_tri >= 0:

       print(f"Vi tri cua ten '{ten_can_tim}' trong danh sach la {vi_tri}")

else:

       print(f"Ten '{ten_can_tim}' khong nam trong danh sach")

 

b) Danh sách tên các chủ tài khoản ngân hàng đã sắp xếp theo thứ tự bảng chữ cái:

 

def tim_vi_tri_ten_tk(ten, danh_sach_tk):

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

       while left <= right:

              mid = (left + right) // 2

              if danh_sach_tk[mid] == ten:

                     return mid

              elif danh_sach_tk[mid] < ten:

                     left = mid + 1

              else:

                     right = mid - 1

       return -1

danh_sach_tk = ["An", "Binh", "Duc", "Huong", "Nam"]

ten_can_tim = "Huong".upper()

vi_tri = tim_vi_tri_ten_tk(ten_can_tim, danh_sach_tk)

if vi_tri >= 0:

       print(f"Vi tri cua ten '{ten_can_tim}' trong danh sach la {vi_tri}")

else:

       print(f"Ten '{ten_can_tim}' khong nam trong danh sach")

Viết chương trình hoàn thành các công việc sau:- Nhập một dãy số có N phần tử (0<N<=100). Yêu cầu :- Sắp xếp dãy số vừa nhập đó theo thứ tự tăng dần.- Tìm một số x nhập từ bàn phím, kiểm tra số x đó có trong dãy số vừa nhập không. Nếu có cho biết vị tríđầu tiên của số x trong dãy, ngược lại thì báo không có số x trong dãy số.- Xóa một số x nhập từ bàn phím, nếu có thì xóa số x đầu tiên trong dãy,...
Đọc tiếp

Viết chương trình hoàn thành các công việc sau:- Nhập một dãy số có N phần tử (0<N<=100). Yêu cầu :- Sắp xếp dãy số vừa nhập đó theo thứ tự tăng dần.- Tìm một số x nhập từ bàn phím, kiểm tra số x đó có trong dãy số vừa nhập không. Nếu có cho biết vị tríđầu tiên của số x trong dãy, ngược lại thì báo không có số x trong dãy số.- Xóa một số x nhập từ bàn phím, nếu có thì xóa số x đầu tiên trong dãy, ngược lại thì báo không có số xtrong dãy số.- Sửa một số tại vị trí thứ k trong dãy. Nhập vào một vị trí k cần sửa, chương trình cho biết giá trị phần tửở vị trí k đó và yêu cầu nhập giá trị cần sửa.- Chèn một số vào vị trí k, nhập từ bàn phím vị trí k và giá trị cần chèn vào dãy số.- In dãy số hiện hành ra màn hình.- Thoát khỏi chương trình

In ra màn hìnhHAY CHON MOT TRONG CAC SO SAU:1.Nhap day so :2.Sap xep day so :3.Tim mot so :4.Xoa mot so :5.Sua mot so:6.Chen mot so :7.In day so:8.Thoat chuong trinh.

0
23 tháng 8 2023

- 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)

19 tháng 8 2023

Tham khảo:

#include <stdio.h>

#define GIOI "\nXep loai gioi"

#define KHA "\nXep loai kha"

#define TB "\nXep loai trung binh"

#define YEU "\nXep loai yeu"

/*

    Format code: Alt + Shift + F

*/

int main()

{

    // Nhập điểm 3 môn

    float diemToan;

    float diemVan;

    float diemAnh;

    float dtb;

    printf("\nNhap diem toan = ");

    scanf("%f", &diemToan);

    printf("\nNhap diem van = ");

    scanf("%f", &diemVan);

    printf("\nNhap diem anh = ");

    scanf("%f", &diemAnh);

    dtb = (diemToan + diemVan + diemAnh) / 3;

    printf("\nDTB = %.2f", dtb);

    if (dtb < 4)

{

        printf(YEU);

    }else if (dtb < 6.5){

        printf(TB);

    }else if(dtb < 8.0){

        printf(KHA);

    }else{

        printf(GIOI);

    }

}

18 tháng 7 2023

Nếu muốn sắp xếp danh sách theo thứ tự giảm dần thay vì thứ tự tăng dần, ta cần thay đổi câu lệnh so sánh trong vòng lặp của thuật toán sắp xếp. Cụ thể,cần đảo ngược dấu so sánh.

 THAM KHẢO!