Aici sunt prezentate diferențele dintre versiunile selectate și versiunea curentă a paginii.
Ambele părți revizuirea anterioară Versiuni anterioare Urmatoarea versiune | Versiuni anterioare | ||
teme:tema2 [2017/02/15 21:08] florina_elena.barbu |
teme:tema2 [2017/04/26 18:04] (curent) iulian.matesica |
||
---|---|---|---|
Linia 2: | Linia 2: | ||
- | ==== Obiective ==== | + | ===== Obiective |
* Înțelegerea conceptului de graf și a modurilor de parcurgere aferente | * Înțelegerea conceptului de graf și a modurilor de parcurgere aferente | ||
* Aplicarea algoritmilor studiați pe topologie graf într-un exemplu practic | * Aplicarea algoritmilor studiați pe topologie graf într-un exemplu practic | ||
+ | ===== Informații ===== | ||
+ | * Deadline soft, **26 aprilie ora 23:59** | ||
+ | * Termen final de trimitere **4 mai ora 23:59** (depunctare de 0.5pt/zi, maxim 4p depunctare). | ||
+ | * Trimiterea temelor se face pe platforma [[https:// | ||
- | ==== Descriere ==== | + | |
+ | |||
+ | ===== Descriere | ||
Sistemul Global de Poziționare (sau GPS) este o rețea de aproximativ 30 de sateliți care orbitează în jurul Pământului, | Sistemul Global de Poziționare (sau GPS) este o rețea de aproximativ 30 de sateliți care orbitează în jurul Pământului, | ||
Linia 27: | Linia 33: | ||
- | ==== Precizări ==== | + | ===== Precizări |
- | Vom considera ca fișier de intrare // | + | Vom considera ca fișier de intrare // |
Pe următoarele linii vom avea pentru fiecare locație: | Pe următoarele linii vom avea pentru fiecare locație: | ||
Linia 40: | Linia 46: | ||
* raza R satelit3 | * raza R satelit3 | ||
- | | + | \\ |
- | Coordonatele și raza se consideră date de fiecare satelit pentru fiecare dintre cele N locații. | + | Coordonatele și raza se consideră date de fiecare satelit pentru fiecare dintre cele N locații.\\ |
Datorită distanței mult mai mari de la Pământ la sateliți, față de diferența de înălțime între sateliți, ei se pot considera în același plan (z1 = z2 = z3 = z). Între cele 3 sfere există așadar cel mult 2 puncte de intersecție, | Datorită distanței mult mai mari de la Pământ la sateliți, față de diferența de înălțime între sateliți, ei se pot considera în același plan (z1 = z2 = z3 = z). Între cele 3 sfere există așadar cel mult 2 puncte de intersecție, | ||
Linia 47: | Linia 53: | ||
<note important> | <note important> | ||
- | Pentru simplificarea modelului problemei, considerăm doar proiecțiile sferelor, și presupunem că acestea se vor intersecta doar într-un singur punct (cara va reprenzenta locația propriu-zisă) | + | Pentru simplificarea modelului problemei, considerăm doar proiecțiile sferelor, și presupunem că acestea se vor intersecta doar într-un singur punct (cara va reprenzenta locația propriu-zisă) |
+ | Atenție: pentru a nu greși la calcule, se recomandă scrierea ecuațiilor celor 3 cercuri și aflarea coordonatelor unei locații prin calcularea punctului de intersecție; | ||
+ | </ | ||
+ | |||
+ | <note tip> | ||
+ | Dacă cei 3 sateliţi sunt reprezentaţi cu cercurile C1(x1, y1, R1), C2(x2, y2, R2) şi C3(x3, y3, R3), atunci punctul de intersecţie al celor 3 cercuri, P(x, y) va respecta ecuaţiile: | ||
+ | |||
+ | **(x-x1)< | ||
+ | |||
+ | **(x-x2)< | ||
+ | |||
+ | **(x-x3)< | ||
</ | </ | ||
| | ||
Linia 53: | Linia 70: | ||
Știind coordonatele tuturor locațiilor, | Știind coordonatele tuturor locațiilor, | ||
+ | |||
+ | <note tip> | ||
+ | Pentru punctele P1(x1, y1) şi P2(x2, y2) putem scrie ecuaţia distanţei: P1P2 = dist(P1,P2) = **sqrt( (x1-x2)< | ||
+ | </ | ||
- | Vom primi un update printr-un fișier // | + | Vom primi un update printr-un fișier // |
- | ==== Cerințe ==== | + | ===== Cerințe |
Executabilul obținut în urma compilării va avea numele **// | Executabilul obținut în urma compilării va avea numele **// | ||
- | <file cpp> | + | <note tip> |
- | ./gps coordonate.in avarii.in nume_destinatie | + | **./gps coordonate.in avarii.in nume_destinatie |
- | </file> | + | </note> |
- | unde numele destinației reprezintă locația unde vrem să ajungem. | + | unde numele destinației reprezintă locația unde vrem să ajungem |
- | Având toate aceste date, vrem să calculăm care este cel mai scurt drum de la nodul de plecare, la cel destinație. | + | În fișierul coord_finale.out se vor scrie numele și perechea (x,y) de coordonate calculate pentru fiecare locație, în ordinea citirii lor din fișierul de intrare coordonate.in |
+ | Având toate aceste date, vrem să calculăm **costul** celui mai scurt drum de la nodul de plecare, la cel destinație, | ||
- | ==== Reguli pentru trimitere ==== | + | ===== Exemplu (date fictive momentan, nu e test real!!)===== |
+ | ^ coordonate.in ^ | ||
+ | |8 |Loctie8 Locatie5 |19 17 | ||
+ | |Locatie1 | ||
+ | |Satelit0 51 41 40 |Loctie3 Locatie1 |0 6 | ||
+ | |Satelit1 54 5 37 | ||
+ | |Satelit2 376 93 365 | |13 10 | ||
+ | | | ||
+ | |Locatie2 | ||
+ | |Satelit0 158 65 148 | |18 15 | ||
+ | |Satelit1 51 561 545 | | ||
+ | |Satelit1 51 561 545 | | ||
+ | | | ||
+ | |Locatie3 | ||
+ | |Satelit0 289 6 289 | ||
+ | |Satelit1 264 176 314 | | ||
+ | |Satelit2 217 462 505 | | ||
+ | | | | ||
+ | |Locatie4 | ||
+ | |Satelit0 9 31 25 | ||
+ | |Satelit1 16 39 32 | | ||
+ | |Satelit2 208 263 320 | | ||
+ | | | ||
+ | |Locatie5 | ||
+ | |Satelit0 205 66 200 | | ||
+ | |Satelit1 76 26 65 | | ||
+ | |Satelit2 266 214 325 | | ||
+ | | | ||
+ | |Locatie6 | | ||
+ | |Satelit0 322 285 410| | ||
+ | |Satelit1 82 173 170| | ||
+ | |Satelit2 175 551 557| | ||
+ | | | ||
+ | |Locatie7| | ||
+ | |Satelit0 53 3 36| | ||
+ | |Satelit1 137 25 122| | ||
+ | |Satelit2 52 615 613| | ||
+ | | | ||
+ | |Locatie8| | ||
+ | |Satelit0 70 351 340| | ||
+ | |Satelit1 379 15 361| | ||
+ | |Satelit2 87 275 269| | ||
+ | |||
+ | ===== Reguli pentru trimitere | ||
- Arhiva temei va avea numele // | - Arhiva temei va avea numele // | ||
- Ea va conține (direct în rădăcină): | - Ea va conține (direct în rădăcină): | ||
- | | + | |
- | * Makefile-ul (cu regulile make pentru executabilul **gps** și clean) | + | * Makefile-ul (cu regulile make pentru executabilul **gps** și clean) |
- | * fișierul README în care va fi descrisă soluția problemei | + | * fișierul README în care va fi descrisă soluția problemei |
- | - Dacă veți calcula coordonatele spațiale pentru toate locațiile, se poate obține punctaj parțial de **50p** | + | - Dacă veți calcula coordonatele spațiale pentru toate locațiile |
- Dacă soluția voastră nu compilează, | - Dacă soluția voastră nu compilează, | ||
- | - | ||
- | + | ===== Referințe | |
- | + | ||
- | ==== Referințe ==== | + | |
< | < | ||
< | < |