Viết chương trình nhập số n, sau đó nhập danh sách tên học sinh với họ, đệm, tên. Sắp xếp tên học sinh trong lớp theo bảng chữ cái. Đưa kết quả ra màn hình.
Cho A là danh sách tên các học sinh trong lớp được sắp xếp theo thứ tự bảng chữ cái, viết thương trình tìm kiếm nhị phân để tìm ra các học sinh có tên là Minh.
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.")
# nhập vào số học sinh
n = int(input("Nhập số học sinh: "))
# tạo danh sách trống
ds_hocsinh = [ ]
# nhập thông tin học sinh và thêm vào danh sách
for i in range(n):
ho_ten = input("Nhập họ tên học sinh thứ {}:".format(i+1))
ds_hocsinh.append(ho_ten)
# in ra danh sách học sinh
print("Danh sách học sinh:")
for hs in ds_hocsinh:
ho, lo_dem, ten = hs.split()
print("Họ: {}, Lót: {}, Tên: {}".format(ho, lo_dem, ten))
Viết chương trình tìm kiếm vị trí tên của một người trong mỗi danh sách sau đây:
a) Danh sách học sinh của lớp em.
b) Danh sách tên của các chủ tài khoản ngân hàng (kí tự không dấu) và đã sắp thứ tự theo bảng chữ cái.
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 nhập vào từ bàn phím danh sách tên (không gồm họ và đệm) học sinh cách nhau bởi dấu cách và lưu vào trong một mảng. Giả thiết rằng tên, không gồm khoảng trắng. Sau đó hệ thống kê xem có bao nhiêu tên khác nhau và mỗi tên xuất liện bao nhiêu lần trong danh sách.
ds=list(map(str,input().split()))
c={}
for i in ds:
if i in c:
c[i] =c[i]+1
else:
c[i] = 1
print('số tên khác nhau là',len(c))
print('mỗi tên có số lần xuất hiện là:')
for i in c:
print(i, c[i])
Bài 3: Viết chương trình nhập vào họ tên, điểm văn, điểm tóan, điểm anh văn của 1 học sinh. Sau đó in ra màn hình: họ tên, điểm trung bình, xếp lọai của học sinh đó (trên 1 dòng). Cho biết:
- Điểm trung bình: (điểm văn + điểm tóan + điểm anh văn) / 3
- Xếp loại: Giỏi, nếu điểm trung bình >= 9.0
Khá, nếu 7.0 <= điểm trung bình < 9.0
Trung bình, nếu 5.0 <= điểm trung bình < 7.0
Yếu, nếu điểm trung bình < 5.0
#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;
}
Sử dụng biến mảng viết chương trình nhập từ bàn phím STT, Họ tên, Điểm trung bình của n học sinh trong lớp (5<n<10). In thông tin được nhập ra màn hình.
uses crt;
var st:array[1..10]of string;
a:array[1..10]of integer;
i,n:integer;
begin
clrscr;
readln(n);
for i:=1 to n do
readln(st[i],a[i]);
for i:=1 to n do
writeln(st[i],' ',a[i]);
readln;
end.
Bài tập: Viết chương trình nhập và in ra màn hình danh sách tên các lớp 9 trong năm học 2021 – 2022
uses crt;
var a:array[1..100]of string;
i,n:integer;
begin
clrscr;
write('nhap so lop='); readln(n);
for i:=1 to n do
begin
write('Nhap ten lop thu ',i,'='); readln(a[i]);
end;
writeln('Danh sach cac lop 9 la: ');
for i:=1 to n do
writeln(a[i]);
readln;
end.
Viết chương trình nhập vào từ bàn phím họ tên, điểm của học sinh. Sau đó đưa ra màn hình thông báo học sinh đó “Đạt” nếu có điểm lớn hơn hoặc bằng 5 hoặc “Chưa đạt” nếu điểm bé hơn 5.
Help mee
1. Viết chương trình nhập vào 1 xâu họ tên sau đó đưa ra màn hình xâu chứa tên 2. Viết chương trình nhập vào 1 xâu in ra màn hình xâu đó sau khi đã đổi tất cả chữ in thường thành in hoa
Câu 1:
ho_ten = input("Nhập họ tên: ")
tach_ho_ten = ho_ten.split()
if len(tach_ho_ten) > 1:
ten = tach_ho_ten[-1]
print("Tên của bạn là:", ten)
else:
print("Nhập sai định dạng họ tên")
Câu 2:
s = input("Nhập xâu: ")
hoa = s.upper()
print(hoa)
Viết chương trình nhập vào một xâu bất kỳ là họ và tên của học sinh. Tính và đưa ra màn hình. +Độ dài của xâu đó (kí hiệu là k) +Chuyển sâu đó thành in hoa và đưa ra màn hình
#include <bits/stdc++.h>
using namespace std;
string st;
int d,i;
int main()
{
getline(cin,st);
d=st.length()
for (i=0; i<=d-1; i++)
if (('a'<=st[i]) and (st[i]<='z')) st[i]=st[i]+32;
for (i=0; i<=d-1; i++)
cout<<st[i];
return 0;
}