[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