Exercici 2 · Fundamentos de Programación I URV Examen Parcial 1. Elements bàsics: Recorregut i cerca
Tema: Algorismes bàsics i esquema de recorregut de seqüències · Del examen Examen Parcial 1. Elements bàsics: Recorregut i cerca
Enunciado
Exercici 2 (5 punts). Càlcul del perímetre d'un polígon irregular
Es vol dissenyar un algorisme que calculi el perímetre d'un polígon irregular representat per una successió de punts en el pla, amb coordenades i de tipus real.
L'usuari facilitarà les coordenades de cada vèrtex de manera ordenada. Per tancar el polígon, es tornaran a introduir al final les coordenades del primer vèrtex. Per a cada vèrtex s'introdueix primer la coordenada i a continuació la coordenada .
Per exemple, per al polígon anterior es facilitaria la seqüència següent:
3,8 1,8 6,2 2,7 9,1 1,7 5,8 11,7 5,8 13,2 3,6 5,2 0,5 5,9 3,8 1,8
La longitud de cada segment definit per dos punts i ve donada per l'expressió euclidiana:
Exemple de traça per a un triangle amb els punts , i :
segment 1 = 2.56
segment 2 = 6.54
segment 3 = 5.26
Perímetre = 14.36
Condicions de disseny:
L'algorisme ha de demanar les coordenades a l'usuari i imprimir el perímetre final (no cal mostrar resultats parcials de cada segment).
Es disposa de la funció arrel_quadrada(v), però no d'operacions ni funcions per elevar al quadrat ni calcular potències.
Podeu assumir que la seqüència mai estarà buida, que com a mínim hi haurà 3 vèrtexs diferents abans de tancar el perímetre i que les dades s'introdueixen en parelles vàlides.

Solución
Según los criterios oficiales de corrección
Dissenyeu un algorisme en pseudocodi que processi la informació i calculi el perímetre d'un polígon irregular.
Solución: ```pseudocode algorisme CalcularPerimetrePoligon var x_inici, y_inici: real x_ant, y_ant: real x_act, y_act: real dx, dy: real distancia: real perimetre: real fi_poligon: booleà fivar perimetre := 0.0 // Lectura del primer vèrtex llegir(x_inici) llegir(y_inici) x_ant := x_inici y_ant := y_inici fi_poligon := fals mentre no fi_poligon fer llegir(x_act) llegir(y_act) // Càlcul de les diferències de coordenades dx := x_act - x_ant dy := y_act - y_ant // Longitud del segment sense usar la funció de potència: (dx * dx) distancia := arrel_quadrada((dx * dx) + (dy * dy)) perimetre := perimetre + distancia // Comprovació de si hem tornat al punt d'origen per tancar el polígon si (x_act = x_inici) i (y_act = y_inici) llavors fi_poligon := cert sino x_ant := x_act y_ant := y_act fisi fimentre escriure("El perímetre del polígon és: ", perimetre) finalgorisme ```
La explicación paso a paso, hecha con IA, es Premium. Premium
Resuélvelo aquí mismo: corrección automática, pistas y solución paso a paso.
‹ Exercici 2 · Examen Parcial 1: Elements Bàsics, Recorregut i Cerca