Clasa a 5-a

Programa (neoficială) pentru olimpiada la gimnaziu

1. Concepte matematice

Elemente de matematică necesare pentru înțelegerea materiei informatică la clasa a 5-a.

1.1. Împărțirea cu rest
1.2. Divizori
1.3. Cel mai mare divizor comun (CMMDC)
1.4. Ridicarea la putere
1.5. Radical3 probleme
Probleme cu radical (VArena):
  • La școală, dată la OJI 2002
  • Pătrate4, dată la OMI 2018
  • Stele, dată la ONI 2012
  • 1.6. Numere prime
    1.7. Numere prime între ele
    1.8. Factorial
    1.9. Fibonacci

    2. Introducere în algoritmi

    2.1. Definiție algoritmi, reprezentare în pseudocod sau scheme logice
    2.2. Variabile
    2.3. Operatori
    2.4. Structura liniară1 subcapitol
    2.4.1. Extragerea ultimei cifre
    2.5. Structura alternativă5 subcapitole
    2.5.1. Testul de paritate, de divizibilitate a lui n cu k, de an bisect
    2.5.2. Numărul de numere divizibile cu k în intervalul [a, b]
    2.5.3. Testul de pătrat perfect (necesită conceptul matematic de radical)
    2.5.4. Maximul a trei numere
    2.5.5. Ordonarea a trei numere
    2.6. Structura repetitivă de tip while-do5 subcapitole
    2.6.1. Afișare cifre număr în ordine inversă, numărul de cifre, suma cifrelor unui număr
    2.6.2. Suma, produsul numerelor de la 1 la n
    2.6.3. Inversul unui număr, test număr palindrom
    2.6.4. Numărul de ani bisecți între a și b (cu și fără bucle)
    2.6.5. Test dacă un număr este putere a lui 2
    2.7. Discuție despre programarea structurată

    Definiție: este o programare cu structuri, ce nu permite salturi în afara structurilor de bază.

    2.8. Alte exerciții în pseudocod/scheme logice cu structurile învățate
    2.9. Roluri ale variabilelor: acumulator, contor, steguleț

    Sublinierea rolulilor variabilelor, atunci când apar în algoritmi. Aproape toate problemele vor folosi variabile cu unul sau mai multe dintre aceste roluri.

    3. Elemente de limbaj de programare

    3.1. Introducere în limbajul C / C++4 subcapitole
    3.1.1. Citire
    3.1.2. Scriere
    3.1.3. Atribuire
    3.1.4. Comenzile if și while
    3.2. Lucrul cu fișiere în limbajul C / C++3 subcapitole

    Operații elementare cu fișiere.

    3.2.1. Deschidere/închidere fișiere
    3.2.2. Citire/scriere numere în/din fișier
    3.2.3. Citire/scriere caractere în/din fișier
    3.3. Elemente avansate3 subcapitole
    3.3.1. Incrementare / decrementare variabile
    3.3.2. Instrucțiunea 'for'

    Folosită pentru cicluri cu număr cunoscut de pași

    3.3.3. Instrucțiunea 'do-while'
    3.4. Tipuri de întregi în limbajul C / C++5 subcapitole8 probleme

    Cum decidem când folosim tipurile diferite de întregi?

    3.4.1. Tipul char ca întreg pe 8 biți (nu folosit drept caracter)
    3.4.2. Tipul int
    3.4.3. Tipul long long
    3.4.4. Tipul expresiilor
    3.4.5. Probleme cu tipul de date long long (VArena)
    • Babilon, dată la ONI 2014
    • Desen, dată la ONI 2018
    • Exodul marțienilor, dată la Olimpiada locală 2014
    • Gondola, dată la Olimpiada locală 2015
    • Greieri, dată la Info Oltenia 2018
    • Interval2, dată la Info Oltenia 2018
    • Prieteni, dată la Olimpiada locală 2013
    • Triunghiurile cu 5 bani, dată la Olimpiada locală 2016
    • 4. Algoritmi de bază

      Algoritmi ce presupun operații elementare, prealgoritmice ce stau la baza altor algoritmi.

      4.1. Lucrul cu cifrele unui număr4 subcapitole7 probleme
      4.1.1. Extragerea cifrelor unui număr
      4.1.2. Compunerea unui număr cu cifrele sale
      4.1.3. Inversarea unui număr
      4.1.4. Probleme cu cifrele unui număr (VArena)
      • Cifre1, dată la OJI 2004
      • Cifra2, dată la Olimpiada locală 2012
      • Cifre9, dată la Olimpiada locală 2018
      • Numere3, dată la Urmașii lui Moisil 2012
      • Parola, dată la Cupa Mărțișor 2012
      • Plus, dată la Olimpiada locală 2014
      • Rude, dată la Olimpiada locală 2013
      • 4.2. Interschimbarea a două variabile (swap)
        4.3 Lucrul cu secvențe (șiruri de numere)10 probleme

        Prelucrarea unui șir de numere în timpul citirii lui, fără a stoca numerele în vector.

        Probleme cu secvențe (VArena)
        • Mulțimi, dată la OJI 2005
        • Case, dată la OJI 2006
        • Concurs, dată la OJI 2006
        • Inimioare, dată la OJI 2009
        • Bețe, dată la OJI 2013
        • Numere8, dată la OJI 2017
        • Bancomat, dată la OMI 2012
        • Cavaleri, dată la Olimpiada locală 2012
        • Partitură, dată la Olimpiada locală 2014
        • Brățara, dată la Info Oltenia 2018
        • 4.4. Lucrul cu caractere și șiruri de caractere5 probleme
          Probleme cu caractere (VArena)
          • Magic1, dată la OJI 2011
          • Vampiri, dată la Olimpiada locală 2013
          • Roua, dată la ONI 2017
          • Șir6, dată la Olimpiada locală 2018
          • Comanda, dată la Concursul Grigore Moisil 2006
          • 4.5. Lucrul cu unități de măsură a timpului3 probleme
            Probleme ce necesită prelucrarea unităților de timp (VArena)
            • Minute, dată la ONI 2007
            • Ore, dată la .campion 2011
            • Robot2, dată la ONI 2017
            • 5. Structuri de date

              5.1. Vectori simpli13 probleme
              Probleme cu vectori (VArena):
              • Cub1, dată la ONI 2002
              • Maxim1, dată la ONI 2007
              • Felinare, dată la ONI 2008
              • Case1, dată la ONI 2009
              • Păpușa, dată la ONI 2011
              • 2048, dată la ONI 2014
              • Numere11, dată la ONI 2019
              • Trio, dată la ONI 2019
              • Cat, dată la .campion 2005
              • Ruleta, dată la .campion 2008
              • Zuma, dată la .campion 2011
              • Cifru, dată la Urmașii lui Moisil 2011
              • Strand, dată la Concursul Grigore Moisil 2011
              • 5.2. Vectori de frecvență (caracteristici)7 probleme
                Probleme cu vectori de frecvență (VArena):
                • Panglica, dată la ONI 2002
                • Orintia, dată la ONI 2003
                • Moștenire, dată la ONI 2018
                • Pyk, dată la ONI 2018
                • Consiliu, dată la OMI 2018
                • Degrade, dată la .campion 2008
                • Anagramabil, dată la .campion 2011
                • 5.3. Vectori circulari2 probleme
                  Probleme cu vectori circulari (VArena):
                  • Culori1, dată la ONI 2012
                  • Tramvai, dată la .campion 2005
                  • 5.4. Vectori preinițializați3 probleme
                    Probleme cu vectori preinițializați (VArena):
                    • Chibrituri, dată la OJI 2013
                    • Goe, dată la ONI 2011
                    • Speciale, dată la OJI 2015
                    • 6. Algoritmi întâlniți la concursuri

                      Algoritmi întâlniți la clasa a cincea.

                      6.1. Verificare număr palindrom1 problemă
                      Probleme cu palindrom (VArena)
                      • Palindrom2, dată la OJI 2016
                      • 6.2. Algoritmi înrudiți cu testul de primalitate4 subcapitole6 probleme

                        Acești algoritmi necesită verificarea eficientă testând divizorii doar până la radical din număr.

                        6.2.1. Testul de număr prim
                        6.2.2. Aflarea divizorilor unui număr, sau numărul lor
                        6.2.3. Descompunerea în factori primi a unui număr
                        6.2.4. Probleme cu divizori și numere prime (VArena)
                        • Copii, dată la ONI 2019
                        • Test, dată la OJI 2007
                        • Divizor, dată la OJI 2009
                        • Forus, dată la OJI 2018
                        • Cyber, dată la Concursul Grigore Moisil 2006
                        • Numere1, dată la Urmașii lui Moisil 2012
                        • 6.3. Algoritmul lui Euclid pentru găsirea CMMDC4 probleme
                          Probleme cu algoritmul lui Euclid (VArena)
                          • Îngerași, dată la ONI 2005
                          • Vrăji, dată la OJI 2006
                          • Felinare1, dată la Olimpiada locală 2012
                          • Cozonaci, dată la Concursul Grigore Moisil 2011
                          • 6.4. Sortarea prin numărare (Counting Sort)
                            6.5. Sortarea prin selecție (Select Sort)1 problemă
                            Probleme cu sortare prin selecție (VArena):
                            • Cartonaș, dată la ONI 2009
                            • 6.6. Ciurul lui Eratostene (VArena) 2 probleme
                              Probleme cu Ciurul lui Eratostene (VArena)
                              • Extraprime, dată la ONI 2013
                              • Prime1, dată la ONI 2017