Phối hợp các hàm đã viết thành chương trình chính. Viết chương trình chính và chạy thử kiểm tra.
Viết hàm phân tích điểm. Viết chương trình thực hiện hàm ptDiem và chạy thử kiểm tra.
Tham khảo:
Tách thành các việc cụ thể:
- Đếm số điểm thuộc mỗi mức xếp hạng Tốt, Khá, Đạt, Chưa đạt.
- Tim sum, max, min.
Có hai lựa chọn viết chi tiết các câu lệnh: 1-Duyệt dãy điểm số đầu vào nhiều lần, mỗi lần làm một việc hoặc 2-Duyệt dãy điểm số đầu vào chỉ một lần, làm đồng thời nhiều việc trong một lần duyệt.
- Trả về các giá trị: điểm trung bình, max, min, số điểm thuộc mỗi mức xếp hạng.
Thực hiện phân tích điểm một môn học. Viết chương trình thực hiện hàm ptMonHoc và chạy thử kiểm tra.
Tham khảo:
– Gọi hàm ptDiem; viết kết quả vào tệp “phantich_theoMon.txt”.
– Gọi hàm quickSort_tuple_down; viết kết quả vào tệp “phantich_theoMon.txt”. – Chạy thử với đầu vào là hai danh sách: 1-Danh sách số thực; 2-Danh sách các cặp (tên người, số thực).
Thực hiện phân tích điểm một học sinh. Viết chương trình thực hiện hàm ptHocSinh và chạy thử kiểm tra.
- Gọi hàm ptDiem; viết kết quả vào tệp “phantich_theoHS.txt”.
- Theo kết quả đếm số điểm thuộc mỗi mức xếp hạng Tốt, Khá, Đạt, Chưa đạt, nếu chamDiem > 0 thì viết thêm tên học sinh vào tệp “xetKhenThuong.txt”;
- Định dạng in ra số thực bằng một trong các cách sau:
+ Dùng hàm round() làm tròn số trước khi in ra để làm tròn, chỉ giữ lại d chữ số phần lẻ sau dấu chấm thập phân.
Dùng lệnh in có giữ chỗ bằng “{}” để định dạng bằng hàm fomat. Ví dụ, nếu muốn in ra số thực với 2 chữ số phần lẻ thì giữ chỗ bằng {:.2f}
Tách riêng kết quả học tập từng môn học. Viết chương trình thực hiện hàm tách Mon và chạy thử kiểm tra.
Tham khảo:
Đầu vào của hàm này là kết quả thực hiện nhapTuTep. gồm có danh sách xenf£S (các tên học sinh), danh sách tenlfon (các tên môn học) và mảng hai chiều x x x – Đọc từng cột của mảng hai chiếu để có dây số các điểm mỗi môn học.
- Ghép tương ứng mỗi tên học sinh từ danh sách tuS với mỗi điểm môn học sẽ thành danh sách các cấp (tên, điểm) cho môn học đó.
- Trả về tên danh sách dãy điểm số môn học và tên danh sách các cấp (tên, điểm).
Viết phiên bản thứ hai cho hàm thực hiện phân tích dãy điểm . Viết chương trình thực hiện hàm ptDiem theo phương án sử dụng tối đa các hàm có sẵn trong Python và chạy thử kiểm tra.
– Sử dụng hàm sum để tính tổng và điểm trung bình.
- Gọi hàm Python thực hiện sắp xếp thứ tự tăng dần (không giảm); sau khi sắp xếp thì tìm được ngay max, min.
- Dãy số đã sắp thứ tự tăng dần (không giảm) nên có thể dùng hàm bisect left (trong mô đun bisect) tìm được các vị trí phân chia dãy điểm thành 4 đoạn điểm: Chưa đạt, Đạt, Khá và Tốt. Từ đó tính được số lượng điểm theo từng mức xếp hạng.
Đọc dữ liệu từ tập và tổ chức dữ liệu trong chương trình. Viết chương trình thực hiện hàm nhapTuTep và chạy thử kiểm tra. Hướng dẫn thực hiện:
- Tạo tập dữ liệu đầu vào Một cách đơn giản là cắt dán cả khối ô cần thiết từ cửa số phần mềm bảng tính điện tử vào tập đang soạn thảo trong IDE của Python. Lưu thành tập có đuôi tên "txt". Để tiện trình bày, ta đặt tên tập đầu vào, ví dụ là “bangDiem.txt". Bổ sung thêm vào dòng đầu tiên của tập hai số nguyên dương a, x là số học sinh và số môn học.
- Mo lepo che do "doc":
- Viết các câu lệnh đọc dữ liệu từ tập kế thừa, sử dụng các câu lệnh đã viết trong các bài thực hành về cấu trúc mảng một và hai chiều. Kết quả đầu ra:
Tham khảo:
+ Danh sách tenfES: từ cột Tên của bangDiem
+ Danh sách tenlfon từ hàng tên cột của bangDiem.
+ Mảng hai chiều n - m, mỗi hàng là dãy điểm của một học sinh.
Đóng tập sau khi đọc xong.
Viết thủ tục nhập vào mảng một chiều có n phần tử. - Viết hàm tính tổng các phần tử của mảng? - Viết hàm Kiểm tra xem tổng tìm được là số chẵn hay số lẻ - Viết chương trình chính sử dụng các CTC nói trên. Hiển thị kết quả ra màn hình.
Viết thuật toán và viết chương trình : Nhập vào một số kiểm tra xem số đó có phải là số chính phương hay không
Thuật toán:
-Bước 1: Nhập n
-Bước 2: Nếu \(\sqrt{n}=trunc\left(\sqrt{n}\right)\) thì n là số chính phương
không thì n không phải là số chính phương
-Bước 3: Kết thúc.
Viết chương trình
uses crt;
var n:integer;
begin
clrscr;
write('Nhap n='); readln(n);
if n<0 then writeln(n,' khong la so chinh phuong')
else begin
if sqrt(n)=trunc(sqrt(n)) then writeln(n,' la so chinh phuong')
else writeln(n,' khong la so chinh phuong');
end;
readln;
end.
Viết chương trình nhập vào dãy số nguyên 1. In ra màn hình các số chính phương 2. Kiểm tra xem có bao nhiêu số chính phương chẳn
uses crt;
var a:array[1..100]of integer;
i,n:integer;
begin
clrscr;
write('Nhap n='); readln(n);
for i:=1 to n do
begin
write('A[',i,']='); readln(a[i]);
end;
writeln('Cac so chinh phuong la: ');
for i:=1 to n do
if sqrt(a[i])=trunc(sqrt(a[i])) then write(a[i]:4);
writeln;
writeln('Cac so chinh phuong chan la: ');
for i:=1 to n do
if ((sqrt(a[i])=trunc(sqrt(a[i]))) and (a[i] mod 2=0) then write(a[i]:4);
readln;
end.
for i:=1 to n do
if sqr(a[i])=sqr(trunc(sqrt(a[i]))) then
begin
write(a[i],' ');
if a[i] mod 2 =0 then write(a[i]);
writeln;
end;