Pe scurt
O proprietate este o regulă care poate fi adevărată sau falsă pentru o valoare. „Este par” și „este mai mare decât 10” sunt două exemple. Pentru un șir, întrebarea poate fi „Există cel puțin o valoare pară?” sau „Sunt toate valorile pare?”. Cele două întrebări au răspunsuri diferite pentru șirul : la prima răspundem „da”, la a doua „nu”.
Pentru a verifica dacă există o valoare potrivită, cercetăm valorile pe rând. În șirul , 3 nu este par; 4 este par, deci avem deja răspunsul „da”. Nu mai trebuie să verificăm 5 pentru această întrebare. Dacă ajungem la sfârșit fără să găsim nicio valoare potrivită, răspunsul este „nu”.
Pentru a verifica dacă toate valorile sunt potrivite, procedăm invers: căutăm o valoare care încalcă regula. În același șir, 3 este impar, deci răspunsul „nu” este cunoscut imediat. Dacă nicio valoare nu încalcă regula până la sfârșit, răspundem „da”.
Formulează cu atenție regula înainte de parcurgere. Dacă întrebarea este „Toate notele sunt cel puțin 5?”, nota 5 este acceptată. Testul „mai mare decât 5” ar respinge-o greșit. Pentru șirul , toate notele sunt cel puțin 5, dar nu toate sunt mai mari decât 5. Cuvintele „cel puțin”, „mai mare” și „egal” au sensuri precise.
Exemplu rezolvat — sunt toate notele cel puțin 5? Notele sunt și întrebarea este „Sunt toate notele cel puțin 5?”. Pentru o întrebare cu „toate” cauți o valoare care încalcă regula.
- Nota 5: este cel puțin 5, deci nu încalcă regula; mergi mai departe.
- Nota 7: nu încalcă regula.
- Nota 8: nu încalcă regula.
- Nota 6: nu încalcă regula.
- Ai ajuns la sfârșit fără nicio încălcare, deci răspunsul este „da”.
Dacă șirul ar fi fost , la al doilea pas ai fi găsit nota 3, mai mică decât 5, și ai fi putut răspunde imediat „nu”, fără să verifici restul. Pentru o întrebare cu „există” procedezi invers: te oprești la prima valoare care respectă regula.
În detaliu
O proprietate a unei valori este o condiție care poate fi adevărată sau falsă pentru ea. Pentru un șir se pun două feluri de întrebări: existențială („există cel puțin un element cu proprietatea?”) și universală („au toate elementele proprietatea?”). Ele se verifică prin două scheme opuse. La „există” se pornește cu răspunsul False și se oprește la prima valoare potrivită, care îl schimbă în True. La „toate” se pornește cu True și se oprește la primul contraexemplu, care îl schimbă în False. Cele două întrebări sunt legate prin negare: „nu toate elementele sunt pare” înseamnă „există un element impar”. Pentru lista goală, „există” este fals, iar „toate” este adevărat, pentru că nu există niciun contraexemplu. În cel mai defavorabil caz se parcurge tot șirul, deci timpul este proporțional cu .
Exemplul 1 — pare în .
v = [3, 4, 5]
exista = False
for x in v:
if x % 2 == 0:
exista = True
break
toate = True
for x in v:
if x % 2 != 0:
toate = False
break
print(exista, toate)
Valoarea 4 dovedește afirmația existențială, iar 3 infirmă afirmația universală. Programul afișează True False. La primul ciclu se parcurg doar 3 și 4, deoarece break oprește căutarea; la al doilea se parcurge numai 3.
Exemplul 2 — șir crescător. Un șir este crescător dacă fiecare termen este mai mic decât următorul. Proprietatea este universală pe perechi de vecini: se caută o pereche care o încalcă. Pentru perechile și respectă regula, deci șirul este crescător. Pentru perechea o încalcă, iar răspunsul este „nu”.
a = [3, 5, 7]
crescator = True
for i in range(len(a) - 1):
if a[i] >= a[i + 1]:
crescator = False
break
print(crescator)
Programul afișează True. Ciclul merge până la penultimul indice, pentru că a[i + 1] trebuie să existe. Condiția >= respinge și valorile egale, deci șirul nu este strict crescător.
Căutarea se oprește de îndată ce răspunsul este cunoscut, de aceea numărul de comparații depinde de poziția primei încălcări. Pentru perechile verificate sunt , , și : ultima încalcă regula, deci răspunsul este „nu” după 4 comparații. Pentru un șir deja crescător se fac comparații, iar pentru un șir a cărui primă pereche încalcă regula, una singură.
Exemplul 3 — elementele sunt distincte? Pentru se compară fiecare pereche de poziții : sunt perechi, iar perechea conține valori egale. Răspunsul la întrebarea „există două elemente egale?” este „da”, deci șirul nu are elementele distincte.
Exemplul 4 — toate valorile sunt într-un interval? Se cere dacă toate elementele șirului aparțin intervalului . Proprietatea este universală, deci se caută un contraexemplu:
v = [3, 4, 9, 5]
in_interval = True
for x in v:
if x < 2 or x > 8:
in_interval = False
break
print(in_interval)
Valorile 3 și 4 respectă condiția, iar 9 o încalcă, pentru că . Variabila devine False după trei elemente verificate, iar break oprește ciclul fără să mai examineze valoarea 5. Programul afișează False. Negarea condiției „” este „ sau ”, nu „ și ”, care nu poate fi adevărată pentru nicio valoare. Același rezultat, spus existențial: există un element în afara intervalului, anume 9.
Greșeli frecvente
- Greșit: pentru o proprietate universală ajunge un element care o respectă.Corect: trebuie verificat că nicio valoare nu o încalcă.
- Greșit: „cel puțin 5” și „mai mare decât 5” au același sens.Corect: prima include 5, a doua nu.
- Greșit: pentru lista goală, „toate elementele sunt pare” este fals.Corect: este adevărat, pentru că nu există niciun contraexemplu.
Pentru părinți
Copilul exersează deosebirea dintre „există” și „toate”.
- Scrieți șirul 3, 4, 5.
- Întrebați dacă există un număr par.
- Întrebați dacă toate sunt pare.
- Schimbați 3 și 5 în numere pare și repetați.
Întrebați: „Ce singură valoare poate dovedi că nu toate sunt pare?”
Testează-te pe această lecție
Lecția o citești aici, fără cont. Testele pe lecții și capitole sunt în cont, cu grile originale Didaxis și explicația fiecăreia: gratuit 10 grile pe zi, fără limită cu Premium, 49 de lei pe lună pentru fiecare copil.
Înainte și după
Surse și referințe
Redactare proprie, conform programei:
- OMEC 6930/2025, MO 4 bis/2026, Informatică CS, p. 1632–1633 și 1653–1654; OMEC 4370/2026, anexa 8, p. 155–156; rocnee.eu
- OMEC 4370/2026, anexa 8, Informatică IX intensiv, p. 155–156
- OMEC 6930/2025, MO 4 bis/2026, Informatică CS, p. 1632–1633; rocnee.eu
- OMEC 6930/2025, anexa 66, Informatică IX CS militar, Monitorul Oficial nr. 4 bis/8.01.2026, pp. 2563–2578; cdn.edupedu.ro; centralizator oficial actualizat prin OMEC 3224/2026, legislatie.just.ro
- OMEC 6930/2025, MO 4 bis/2026, Informatică CS, p. 1653–1654; rocnee.eu
- OMEN 3393/2017, anexa 2, Informatică și TIC, pp. 13–14 (competențele 2.1–2.2 la p. 13); isj.tm.edu.ro
Documente consultate
- OMEN 3393/2017, anexa 2, Informatică și TIC, clasa a VIII-a, p. 14–15
- Programa școlară de informatică, clasa a IX-a (OMECI 5099/2009, anexa 5), CNCE; rocnee.eu
- Programa școlară de informatică, clasa a IX-a, matematică-informatică (OMEC 6930/2025, anexa 42), p. 1632–1633 și 1653–1654; rocnee.eu
- Programa de bacalaureat la informatică, matematică-informatică (anexa 2 la OMECTS 4800/2010), Ministerul Educației; edu.ro
- Subiectele și baremele Bacalaureatului 2026; subiecte2026.edu.ro
- OMEN 3393/2017, anexa 2, Informatică și TIC, p. 14–15
- OMEC 4370/2026, anexa 8, p. 155–156
Desene: Redactare proprie (desen original), conform Programa școlară de informatică, clasa a IX-a (OMECI 5099/2009, anexa 5), CNCE; rocnee.eu
