Clasa a VI-a lecția 5 - 14 oct 2013
Anunț
Noul sistem de trimitere a temelor
Pentru o mai bună organizare și notare vom experimenta cu un nou mod de a trimite temele:
- Pentru fiecare temă vom crea un concurs.
- Un nou concurs va începe în fiecare luni la ora 19:30. El se va termina lunea următoare la ora 13:30. Temele trebuie rezolvate în cadrul acestui concurs, în intervalul lui activ.
- Înscrierile se pot face pe toată perioada concursului-temă
- Cei ce își doresc punctele de concurs (pentru clasamentul de concurs) trebuie să se înscrie lunea, înainte de 19:30. Punctele de concurs nu au nici o influență asupra punctajului obținut la cerc. Sînt doar pentru palmaresul vostru personal. Pentru cerc contează cîte puncte ați luat la temă, indiferent dacă v-ați înscris înainte sau după începerea concursului.
- Concursul va fi cu penalizare. Ce înseamnă acest lucru?
- Pentru prima trimitere a temei primiți punctajul conform evaluării.
- Pentru a doua trimitere a temei veți primi punctajul conform evaluării minus 5%.
- Pentru fiecare trimitere ulterioară veți primi cîte 5% mai puțin.
- Nu veți scădea sub 50% din punctajul meritat.
- Ca întotdeauna, punctajul luat în considerare pentru o problemă este punctajul obținut la ultima trimitere a sursei C.
Avantaje
Avantajele acestui sistem:
- Vom ști exact cine a trimis temele la timp și cine le-a corectat ulterior.
- Vom încuraja rezolvarea și testarea completă a problemelor înainte de a trimite sursa la vianuarena, ceea ce este mai aproape de stilul olimpiadelor. Cei ce nu își testează temele, cei ce nu creează propriile teste, cei ce nu își gîndesc soluția adînc, vor pierde puncte.
- Vom putea penaliza pe cei care pescuiesc. A pescui: a trimite o sursă incompletă în scopul de a afla cîte puncte obține. Cei care pescuiesc vor fi penalizați.
- Vom putea afișa un clasament al temei curente și al tuturor temelor pînă în prezent.
Cum vă afectează?
Cum vă afectează pe voi această modificare?
- Pentru a vedea problemele va trebui să vă înscrieți la concursul temă publicat pe algopedia.
- Pentru ca tema să vă fie punctată va trebui să o trimiteți pînă la data și ora limită (luni, ora 13:30). Da, aceasta înseamnă că inclusiv cercul 2 va trebui să trimită tema mai repede (a fost cerința expresă a Isabelei Coman).
- Va trebui să vă testați cu mare grijă temele și să vă creați propriile voastre teste. Fiecare trimitere începînd cu a doua vă scade puncte suplimetare.
- Va trebui să vă gîndiți bine dacă merită să mai trimiteți încă o sursă. Exemplu: dacă am trimis o sursă care a luat 90p, iar apoi trimit una care ia tot 90p, voi lua în final 85p din cauza penalizării.
- Va trebui să judecați mai bine problemele. Acesta este scopul principal al acestei schimbări.
- Dacă vă doriți și punctele de concurs acordate de vianuarena (cele de clasament) va trebui să aveți grijă să vă înscrieți înainte de ora de începere a concursului.
Tema - rezolvări
Rezolvări aici [1]
Lecție
Matrice - continuare
Continuăm cu exerciții de bază cu matrice, de rezolvat în clasă.
Parcurgerea pe diagonale a unei matrice
Rezolvați problema diagonal la vianuarena:
Se citește o matrice pătrată de caractere. Să se afișeze două linii de caractere, fiecare linie conținînd toate caracterele matricei. Prima linie afișată conține caracterele matricei în parcurgerea pe diagonale paralele cu diagonala principală. A doua linie afișată conține caracterele matricei în parcurgerea pe diagonale paralele cu diagonala secundară. Diagonala principală este din coțul stînga sus în colțul dreapta jos. Diagonala secundară este din colțul dreapta sus, în colțul dreapta jos. Atenție! Fișierul de intrare conține numai matricea de caractere, fiecare linie terminîndu-se cu '\n'. Nu se dă n, dimensiunea matricei, trebuie să o deduceți. Exemplu:
![]() |
![]() |
Zoom x 2
Rezolvați problema zoomx2 la vianuarena:
Se citește o matrice pătrată de caractere. Să se construiască o altă matrice în care fiecare caracter apare de două ori pe orizontală și de două ori pe verticală (zoom ori 2). Exemplu:
![]() |
![]() |
Am vorbit despre două variante de implementare: una prin parcurgerea matricei originale, care pentru fiecare element completează patru elemente in matricea finală și a doua variantă care parcurge matricea finală și pentru fiecare element calculează corespondentul în matricea originală.
Căutare submatrice în matrice
Rezolvați problema căutare la vianuarena:
Se dau două matrice pătrate, matricea a de dimensiune m și matricea b de dimensiune n. Se știe că 1 ≤ n ≤ m ≤ 100. Să se spună de cîte ori se regăsește matricea b în matricea a. Exemplu:
![]() |
![]() |
În acest caz matricea b apare de 13 ori în matricea a.
Aplicație: problema joc
Am vorbit despre problema joc (ONI 2011 clasa a 7-a), care are o implementare ușoară cu condiția să țineți toate matricele de căutat, inclusiv rotațiile lor, într-un vector de 12 matrice cu elemente zero și unu. Astfel, va trebui să declarați un tablou tridimensional inițializat. Necesită atenție la declararea acestui tablou, dar programul se simplifică.
Temă
- Terminați problemele făcute în clasă: diagonal, zoomx2, căutare (din arhivă, în afara concursului-temă).
- Înscrieți-vă la concursul tema 5 care conține următoarele probleme:
Rezolvări aici: [2]