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.
Tham khảo:
- Cải biển hàm phandoanLomuto thành him phandoanlomuto_tuple để sắp các cặp (Tên, điểm môn học) theo thành phần điểm môn học.
- Trong him phandoanLomuto_tuple đảo chiều phép so sánh trong câu lệnh if từ "ca" thành "y" để sắp thứ tự giảm dần, đặt tên hàm mới là phanhoanLamuto_tuple_down.
- Dùng hàm phanhoanLamuto_tuple_down để cải biên quícksort thành hàm quickSort_tuple_down.
Để lưu trữ danh sách học sinh và thông tin điểm thi của họ, bạn có thể sử dụng một danh sách chứa nhiều danh sách con. Mỗi danh sách con sẽ chứa tên học sinh (dạng chuỗi) và ba điểm số (dạng số) của họ tương ứng với ba bài thi.
Ví dụ, để tạo một mảng danh sách học sinh với thông tin điểm số, ta có thể sử dụng mã như sau:
# Nhập danh sách học sinh và điểm số
students = []
n = int(input("Nhập số lượng học sinh: "))
for i in range(n):
name = input(f"Nhập tên học sinh thứ {i+1}: ")
mark1 = float(input(f"Nhập điểm bài thi 1 của {name}: "))
mark2 = float(input(f"Nhập điểm bài thi 2 của {name}: "))
mark3 = float(input(f"Nhập điểm bài thi 3 của {name}: "))
students.append([name, mark1, mark2, mark3])
# Tính điểm trung bình và in ra danh sách học sinh và điểm trung bình của họ
for student in students:
name = student[0]
mark1 = student[1]
mark2 = student[2]
mark3 = student[3]
avg_mark = (mark1 + mark2 + mark3) / 3
print(f"Học sinh {name} có điểm trung bình là {avg_mark}")
Tham khảo:
Tổ chức thực hiện:
– Lập các nhóm dự án, mỗi nhóm khoảng 5 đến 6 học sinh; chọn nhóm trưởng. - Cả nhóm cùng thực hiện Nhiệm vụ 1:
+ Đọc hướng dẫn để biết cách phân tích, lựa chọn và thiết kế các hàm. Hướng dẫn chỉ là gợi ý, không bắt buộc phải theo.
+Thảo luận, đưa ra thiết kế cuối cùng sau các sửa đổi, điều chỉnh.
- Dựa trên danh sách các hàm cần thực hiện, xác định các nhiệm vụ cụ thể; phân công mỗi nhiệm vụ (các bài thực hành tiếp theo) cho 1 đến 2 học sinh đảm nhiệm.
– Nhóm trưởng phụ trách tích hợp các kết quả thành chương trình hoàn chỉnh với sự cộng tác của các thành viên khác, dưới sự hỗ trợ của thầy, cô giáo.
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.")
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")
#include <bits/stdc++.h>
using namespace std;
int main()
{
int a[6] = {5, 4, 3, 2, 1, 0};
sort(a, a + 6);// thu được 0 1 2 3 4 5
//sort(a + 2, a + 5);thu được 5 4 1 2 3 0
vector a = {5, 4, 3, 2, 1, 0};
sort(a.begin(), a.end()); // thu được 0 1 2 3 4 5
return 0;
}
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’)
#include <bits/stdc++.h>
using namespace std;
double a,b,c,tb;
int main()
{
cin>>a>>b>>c;
tb=(a+b+c)/3;
cout<<fixed<<setprecision(1)<<tb<<endl;
if (tb>=8) cout<<"Gioi";
else if ((6.5<=tb) and (tb<8)) cout<<"Kha";
else if ((5<=tb) and (tb<=6.5)) cout<<"Trung Binh";
else cout<<"Chua dat";
return 0;
}
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);
}
}