[vmchecker-dev] penalty.sh & co
Ana Savu
ana.savu86 at gmail.com
Tue Sep 9 16:02:10 EEST 2008
2008/9/7 Lucian Adrian Grijincu <lucian.grijincu at gmail.com>
> penalty.py pare bun pentru SO/PSO.
> pentru PT nu e bun al doilea. La PT (dacă nu se schimbă nimic până la
> începutul semestrului) nu se vor scădea x puncte, ci, după ce se pune
> nota pe temă, va fi înmulțită cu (1-x/10). În plus, întârzierea nu se
> va face de la "deadline-ul" oficial până la "data uploadului". Va fi
> un deadline intermediar ... anyways, e mai complicat. trebuie să mă
> gândesc la o soluție.
> Oricum e bun pentru alte materii care vor așa ceva.
Nu eram nici macar pe aproape... :)
>
> comentarii
> a) 84600 -> 24 * 3600 ... să fie mai evident pentru cine s-o apuca să
> modifice scripturile astea
> b) comentariile din penalty_weighted.py pentru variabila "penalty"
> sunt false (copy-pasta)
> # Pentru fiecare zi intarziere se scade valoarea penalty
> penalty = 0.25
> # Ponderea penalizarii pe zile
> wheights = (1, 2, 4, 8, 0)
> c) mă gândeam că ai putea să le unești:
> la SO/PSO weights = (1) și limit = 3
> la alte materii wheights = (1, 2, 4, 8, 0) și limit = 10
> d) n-ar trebui să dai printf() la rezultat? văd că argumentele sunt
> luate din linia de comanda. Presupun că nu penalty.py va fi chemat
> dintr-un script de undeva. E cam ciudat să-și ia rezultatele din $?
> (variabila de return a scriptului).
Done.
>
> e) separă în trei bucăți (ca să poți chema funcțiile astea din alte
> scripturi python dacă va fi nevoie și ca să mărești lizibilitatea
> codului).
>
> main()
> -- ia un argv[] și apelează compute_new_grade_str
> -- printează la stdout rezultatul
>
> compute_new_grade_str(string_data_upload, string_data_deadline)
> -- parsează stringurile și cheamă compute_new_grade_time_t
>
> compute_new_grade_time_t(time_t__data_upload, time_t__data_deadline)
> -- primește obiecte de tip timp, calculează și returnează noua notă.
>
> (desigur, folosește niște nume mai puțin brain-dead față de astea pe
> care le-am trântit eu aici).
>
>
Am modificat si asta. Am acum 3 functii
main()
-- primeste argv[]
-- apeleaza parse_time si compute grade
-- afiseaza noua nota
parse_time(upload_time_str, deadline_str)
-- primeste cele doua date in forma de stringuri
-- intoarce un tuplu cu obecte de tip time corespunzatoare
compute_grade(grade, upload_time, deadline)
-- primeste nota initiala si cei doi param de tip time
-- calculeaza nota finala tinand cont de pondere si limita de punctaj
scazuta
>
> --
> Lucian
>
--
Ana
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.rosedu.org/pipermail/vmchecker-dev/attachments/20080909/846b44d6/attachment.htm
More information about the vmchecker-dev
mailing list