Lecție-punte: geometrie cu desen și formule

Mediu~11 min5 pași

De ce contează?

Un programator bun la geometrie nu se aruncă direct în formule — întâi mâzgălește un desen pe ciornă. Punctele pe hârtie îți arată instant ce ascunde enunțul: o aliniere, o verticală, două puncte care coincid. Desenul e harta; formula e doar drumul.

Desenul întâi, formula după

Geometria de concurs are o capcană: formula pare clară, dar cazurile speciale te prind. Un desen rapid (chiar și grosier) îți arată ce să verifici înainte de a coda.

Observația-cheie

Întreabă-te mereu, uitându-te la desen: ce se întâmplă dacă punctele coincid? dacă sunt coliniare? dacă segmentul e vertical (dx = 0)? Aceste cazuri sparg formulele scrise „pe generalul fericit”.

Legătura dintre cele învățate

Toate lecțiile capitolului se sprijină pe același determinant:

ÎntrebareUnealtăCum decizi
Sunt 3 puncte aliniate?determinant dd == 0 → coliniare
Ce arie are triunghiul?determinant darie = |d| / 2
În ce parte a dreptei e un punct?semnul lui dd > 0 o parte, d < 0 cealaltă
Care punct e mai aproape?pătratul distanțeicompari distSq, fără sqrt
Observația-cheie

Un singur instrument — determinantul întreg — răspunde la coliniaritate, arie și orientare. Nu sunt trei formule de memorat, ci una folosită în trei feluri.

Întreg vs. virgulă: când care

Regula practică pentru concurs:

  • Lucrează cu întregi cât poți: determinant (coliniaritate, arie, orientare), pătratul distanței (comparații). Sunt exacte și fără rotunjiri.
  • Treci la double doar la final, când rezultatul cerut chiar e zecimal (o distanță afișată, o arie cu .5).
// EXACT (intreg): cine e mai aproape de origine?
long long distSq(long long x, long long y) { return x*x + y*y; }
// distSq(3,4)=25 < distSq(0,6)=36  -> (3,4) e mai aproape, fara sqrt

// ZECIMAL doar la afisare:
cout << sqrt((double)distSq(3, 4)) << "\n";   // 5
Greșeli frecvente

Greșeli care apar exact aici:

  • Compari double cu 0 pentru coliniaritate. Rotunjirea strică testul; folosește determinantul întreg și == 0.
  • Sari peste desen și ratezi cazul vertical (dx = 0) sau punctele suprapuse → împărțire la 0 sau arie aberantă.
  • Folosești double de la început. Acumulezi erori inutil; întregii rezolvă majoritatea întrebărilor exact.
  • Memorezi trei formule separate în loc să vezi că sunt același determinant — mai greu de ținut minte și mai ușor de greșit.

Recapitulare

  • Fă întâi un desen: scoate la iveală cazurile speciale (coliniare, verticale, suprapuse).
  • Determinantul întreg răspunde la coliniaritate, arie și orientare — un instrument, trei folosiri.
  • Rămâi pe întregi (determinant, pătratul distanței); treci la double doar la afișarea finală.

Întrebarea 1 / 3

Înainte de a scrie o formulă geometrică, ce ajută cel mai mult?