Teste de informatică pentru liceu, articole C#, C/C++, PHP
Rândul 1
1. Scrieţi o funcţie care returnează 1 dacă un şir de n numere naturale este ordonat strict crescător, sau 0 în caz contrar.
2. Scrieţi o funcţie care primeşte ca parametri un vector a şi un întreg x, elimină din a toate apariţiile numărului x.
3. Se consideră un număr natural n şi două permutări ale mulţimii {1,2,…n}. Considerăm că prima permutare se găseşte depusă într-o coadă C1. Utilizând o stivă S ca structură intermediară, trebuie să obţinem în coada C2 a doua permutare. Sunt permise doar operaţiile de extragere din C1, operaţiile de depunere şi extragere din S şi operaţia de adăugare în C2. Se vor scrie următoarele funcţii: Remove (pentru extragerea unui element dintr-o coadă), Add (pentru adăugare în coadă), Push şi Pop (pentru depunere şi respectiv extragere a unui element în/din stivă), precum şi funcţia care apelează cele 4 funcţii şi care verifică dacă se poate obţine din prima permutare cea de a doua.
Notă: Fiecare problemă este punctată cu 3 puncte. Se acordă 1 punct din oficiu
Rândul 2
1. Scrieţi o funcţie care primeşte ca parametri doi vectori a şi b de numere naturale şi returnează -1 dacă a este mai mic lexicografic decât b, 0 dacă sunt egale lexicografic, sau 1 dacă a este mai mare lexicografic decât b.
2. Scrieţi o funcţie care primeşte ca parametri un vector a ordonat crescător şi un întreg x, inserează pe x în vectorul a astfel încât vectorul să rămână ordonat crescător.
3. Se consideră un număr natural n şi două permutări ale mulţimii {1,2,…n}. Considerăm că prima permutare se găseşte depusă într-o coadă C1. Utilizând o stivă S ca structură intermediară, trebuie să obţinem în coada C2 a doua permutare. Sunt permise doar operaţiile de extragere din C1, operaţiile de depunere şi extragere din S şi operaţia de adăugare în C2. Se vor scrie următoarele funcţii: Remove (pentru extragerea unui element dintr-o coadă), Add (pentru adăugare în coadă), Push şi Pop (pentru depunere şi respectiv extragere a unui element în/din stivă), precum şi funcţia care apelează cele 4 funcţii şi care verifică dacă se poate obţine din prima permutare cea de a doua.
Notă: Fiecare problemă este punctată cu 3 puncte. Se acordă 1 punct din oficiu
Dan Pracsiu deţinător www.dponline.ro
Profesor, Liceul Teoretic "Emil Racoviță" Vaslui
Membru în Comisia Naţională a Olimpiadelor de Informatică
Pasiuni: istoria, călătoriile, fotografia, muzica clasică