Câu 1. Lập trình. (Đề thi HSG tin học 12 tỉnh Nghệ An năm 2013-2014)
Đây là câu 1, nên là câu dẽ kiếm điểm của học sinh. Bài này trong thang điểm 20, thì các bạn làm được sẽ được 7 điểm. Bài này năm 2014 nên chỉ yêu cầu viết bằng ngôn ngữ lập trình Pascal, thầy cô và các bạn sẽ tham khảo code Pascal. Ngoài ra trong bài này tôi sẽ viết thêm bằng ngôn ngữ lập trình Python cho quý thầy cô và các bạn tham khảo. Qua bài này ta sẽ thấy được sự lợi hại của Python, chỉ 2 dòng code là giải quyết xong bài này.LAPTRINH.INP | LAPTRINH.OUT |
5 10 8 12 8 11 |
8 2 |
Const fi = 'Laptrinh.inp';
fo = 'Laptrinh.out';
var a : Array[1..100] of Integer;
i, j, n : byte;
f, g : Text;
Min : Integer;
Procedure Mofile;
begin
Assign(f, fi);
reset(f);
Assign(g, fo);
Rewrite(g);
end;
Procedure dong;
Begin
Close(f);
Close(g);
end;
Procedure Doc;
Begin
readln(f, n);
Min := 100;
for i:=1 to n do
begin read(f, a[i]);
if a[i] < min then min := a[i];
end;
end;
Procedure Xuly;
Begin
j := 0;
For i := 1 to n do
if min = a[i] then inc(j);
end;
Procedure Xuat;
Begin
Writeln(g, min);
writeln(g, j)
end;
Begin
Mofile;
Doc;
Xuly;
xuat;
Dong;
End.
open()
và readline()
. Sau đó, tìm thời gian ít nhất bằng cách sử dụng hàm min()
. Cuối cùng, ta đếm số bài thi đạt được thời gian ít nhất bằng cách sử dụng hàm count()
và ghi kết quả ra file văn bản bằng cách sử dụng hàm write()
.
# Đọc dữ liệu vào từ file văn bản
with open('LAPTRINH.INP', 'r') as f:
n = int(f.readline())
times = list(map(int, f.readline().split()))
# Tìm thời gian ít nhất
min_time = min(times)
# Đếm số bài thi đạt được thời gian ít nhất
count = times.count(min_time)
# Ghi kết quả ra file văn bản
with open('LAPTRINH.OUT', 'w') as f:
f.write(str(min_time) + '\n')
f.write(str(count))
Nhóm facebook: f / BAITAPONHA
Tác giả: admin
Ý kiến bạn đọc