{"id":6770,"date":"2025-10-23T16:50:24","date_gmt":"2025-10-23T14:50:24","guid":{"rendered":"https:\/\/futura.study\/blog\/?p=6770"},"modified":"2025-11-21T16:49:36","modified_gmt":"2025-11-21T14:49:36","slug":"calcolare-il-perimetro-di-figure-piane-e-basi-di-solidi","status":"publish","type":"post","link":"https:\/\/futura.study\/blog\/materie\/matematica\/calcolare-il-perimetro-di-figure-piane-e-basi-di-solidi\/","title":{"rendered":"Calcolare il perimetro di figure piane e basi di solidi"},"content":{"rendered":"\n<p>Il nostro <strong>calcolatore del perimetro<\/strong> ti consente di scegliere la figura geometrica da un menu a tendina e ottenere immediatamente la <strong>formula<\/strong>, i <strong>passaggi<\/strong> e il <strong>risultato<\/strong>. \u00c8 uno strumento intuitivo e completo, utile per studenti, insegnanti e chiunque voglia verificare velocemente i propri calcoli.<\/p>\n\n\n\n<p>Puoi calcolare il perimetro delle principali figure piane e delle basi dei solidi:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Rettangolo<\/strong> \u2192 P = 2 \u00b7 (base + altezza)<\/li>\n\n\n\n<li><strong>Quadrato<\/strong> \u2192 P = 4 \u00b7 lato<\/li>\n\n\n\n<li><strong>Triangoli<\/strong>: scaleno, isoscele, equilatero, rettangolo (con ipotenusa calcolata dal teorema di Pitagora)<\/li>\n\n\n\n<li><strong>Rombo<\/strong> \u2192 da lato oppure da diagonali (P = 2\u221a(d\u2081\u00b2 + d\u2082\u00b2))<\/li>\n\n\n\n<li><strong>Parallelogramma \/ Romboide<\/strong> \u2192 P = 2 \u00b7 (a + b)<\/li>\n\n\n\n<li><strong>Deltoide (Aquilone)<\/strong> \u2192 P = 2 \u00b7 (a + b)<\/li>\n\n\n\n<li><strong>Trapezio<\/strong> \u2192 scaleno, isoscele, rettangolo<\/li>\n\n\n\n<li><strong>Cerchio e Semicerchio<\/strong> \u2192 C = 2\u03c0r oppure C = \u03c0r + 2r<\/li>\n\n\n\n<li><strong>Poligoni regolari<\/strong> \u2192 pentagono, esagono, o qualsiasi n-lati (P = n \u00b7 lato)<\/li>\n\n\n\n<li><strong>Quadrilatero e Poligono generico<\/strong> \u2192 somma di tutti i lati<\/li>\n\n\n\n<li><strong>Basi dei solidi<\/strong>: cubo, parallelepipedo rettangolo, cilindro, prisma regolare<\/li>\n<\/ul>\n\n\n\n<p>Puoi inserire le misure con la tua <strong>unit\u00e0 di misura<\/strong> (cm, m, mm, ecc.) e attivare l\u2019opzione \u201c<strong>Mostra formula e sostituzioni<\/strong>\u201d per visualizzare il procedimento passo-passo.<br>\u00c8 ottimizzato per ricerche come <strong>\u201ccome si calcola il perimetro del rettangolo\u201d<\/strong>, <strong>\u201cperimetro del triangolo isoscele\u201d<\/strong>, <strong>\u201cperimetro del trapezio\u201d<\/strong> o <strong>\u201ccalcolo perimetro cerchio\u201d<\/strong>, offrendo risposte chiare, rapide e precise anche nei casi particolari (rombo con diagonali, trapezio isoscele o rettangolo, triangolo rettangolo).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Calcolatore perimetro<\/h2>\n\n\n\n<style>\n  .futura-calc {\n    background: linear-gradient(135deg, #004a99, #003366);\n    color: #fff;\n    padding: 24px 32px;\n    border-radius: 16px;\n    margin: 40px 0;\n    font-family: \"Segoe UI\", Tahoma, sans-serif;\n    text-align: left;\n    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.15);\n  }\n  .futura-calc h3 { font-size: 24px; margin: 0 0 12px; }\n  .futura-calc p.note { margin: 6px 0 18px; font-size: 14px; opacity: .9; }\n\n  \/* layout campi *\/\n  .futura-calc .fx-row {\n    display: grid;\n    grid-template-columns: minmax(280px, 2fr) minmax(240px, 1fr);\n    gap: 16px;\n    align-items: start;\n    margin-bottom: 14px;\n  }\n  @media (max-width: 800px){ .futura-calc .fx-row { grid-template-columns: 1fr; } }\n\n  .futura-calc label { display: block; font-weight: 600; margin-bottom: 6px; }\n\n  .futura-calc input[type=\"text\"],\n  .futura-calc input[type=\"number\"],\n  .futura-calc select{\n    width: 100%;\n    padding: 12px 14px;\n    border-radius: 12px;\n    border: none;\n    outline: none;\n    background: #fff;\n    color: #111;\n    box-shadow: inset 0 0 0 1px rgba(0,0,0,.05);\n    box-sizing: border-box;\n    font-size: 16px;\n    line-height: 1.4;\n  }\n  .futura-calc input[type=\"text\"]:focus,\n  .futura-calc input[type=\"number\"]:focus,\n  .futura-calc select:focus{\n    box-shadow: 0 0 0 3px rgba(255,255,255,.35), inset 0 0 0 1px rgba(0,0,0,.08);\n  }\n\n  .futura-calc .opts{ display:grid; gap:10px; }\n  .futura-calc .opts label{ display:flex; align-items:center; gap:8px; font-weight:600; }\n  .futura-calc .opts input[type=\"checkbox\"]{ width:18px; height:18px; }\n\n  .futura-calc .actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 10px 0 14px; }\n  .futura-calc button {\n    border: none; border-radius: 50px; padding: 12px 22px; font-weight: 700; cursor: pointer;\n    transition: transform .04s ease, background-color .2s ease;\n  }\n  .futura-calc button.primary { background-color: #e2202c; color: #fff; }\n  .futura-calc button.primary:hover { background-color: #b71c24; }\n  .futura-calc button.ghost { background: transparent; color: #fff; box-shadow: inset 0 0 0 2px rgba(255,255,255,.7); }\n  .futura-calc button.ghost:hover { box-shadow: inset 0 0 0 2px #fff; }\n\n  .futura-calc .out {\n    background: rgba(255,255,255,.12); border-radius: 12px; padding: 12px 14px; font-weight: 700;\n  }\n  .futura-calc .muted { font-size: 13px; opacity: .9; }\n\n  .futura-calc .res-grid{\n    display:grid; grid-template-columns: 1fr 1fr; gap:10px; margin-top:10px;\n  }\n  @media (max-width:600px){ .futura-calc .res-grid{ grid-template-columns:1fr; } }\n\n  .futura-calc .res-card{\n    background: rgba(255,255,255,.10); border-radius: 12px; padding: 12px 14px;\n  }\n  .futura-calc .res-card h4{\n    margin: 0 0 6px; font-size: 16px; font-weight: 800; color:#fff;\n  }\n  .futura-calc pre{\n    white-space: pre-wrap; word-wrap: break-word; margin: 8px 0 0; font-family: ui-monospace, SFMono-Regular, Menlo, monospace;\n    background: rgba(255,255,255,.08); padding:10px; border-radius:10px;\n  }\n\n  \/* forzature colore *\/\n  .futura-calc h3,\n  .futura-calc h3 *,\n  .futura-calc p.note,\n  .futura-calc p.muted { color: #fff !important; }\n\n  \/* griglia campi dinamici *\/\n  .futura-calc .grid-2 { display:grid; grid-template-columns: 1fr 1fr; gap:10px; }\n  .futura-calc .grid-3 { display:grid; grid-template-columns: 1fr 1fr 1fr; gap:10px; }\n  @media (max-width:600px){\n    .futura-calc .grid-2, .futura-calc .grid-3{ grid-template-columns:1fr; }\n  }\n\n  .futura-calc .hint { font-size: 12px; opacity: .9; margin-top: 6px; }\n<\/style>\n\n<div class=\"futura-calc\" role=\"region\" aria-labelledby=\"calc-perimetro-title\">\n  <h3 id=\"calc-perimetro-title\">Calcolatore Perimetro \u2013 Figure Piane &#038; Basi Solidi<\/h3>\n  <p class=\"note\">Scegli la figura dal menu, inserisci le misure e calcola il perimetro (o la circonferenza). Supporta anche <strong>poligono generico<\/strong> (lista lati) e <strong>basi<\/strong> di solidi comuni.<\/p>\n\n  <div class=\"fx-row\">\n    <div>\n      <label for=\"shape\">Figura \/ Caso<\/label>\n      <select id=\"shape\" aria-label=\"Figura geometrica\">\n        <optgroup label=\"Rettangoli &#038; Quadrati\">\n          <option value=\"rectangle\">Rettangolo (base, altezza)<\/option>\n          <option value=\"square\">Quadrato (lato)<\/option>\n        <\/optgroup>\n        <optgroup label=\"Triangoli\">\n          <option value=\"tri_scalene\">Triangolo scaleno (a, b, c)<\/option>\n          <option value=\"tri_isosceles\">Triangolo isoscele (lato uguale, base)<\/option>\n          <option value=\"tri_equilateral\">Triangolo equilatero (lato)<\/option>\n          <option value=\"tri_right\">Triangolo rettangolo (cateti \u2192 ipotenusa)<\/option>\n        <\/optgroup>\n        <optgroup label=\"Parallelogrammi &#038; Affini\">\n          <option value=\"parallelogram\">Parallelogramma \/ Romboide (lati a, b)<\/option>\n          <option value=\"rhombus_side\">Rombo (da lato)<\/option>\n          <option value=\"rhombus_diagonals\">Rombo (da diagonali)<\/option>\n          <option value=\"kite\">Deltoide \/ Aquilone (lati a, b)<\/option>\n        <\/optgroup>\n        <optgroup label=\"Trapezi\">\n          <option value=\"trap_scalene\">Trapezio scaleno (B, b, l1, l2)<\/option>\n          <option value=\"trap_isosceles\">Trapezio isoscele (B, b, lato obliquo)<\/option>\n          <option value=\"trap_right\">Trapezio rettangolo (B, b, h, lato obliquo)<\/option>\n        <\/optgroup>\n        <optgroup label=\"Cerchi\">\n          <option value=\"circle\">Cerchio (raggio o diametro)<\/option>\n          <option value=\"semicircle\">Semicerchio (raggio o diametro)<\/option>\n        <\/optgroup>\n        <optgroup label=\"Poligoni Regolari\">\n          <option value=\"pentagon\">Pentagono regolare (lato)<\/option>\n          <option value=\"hexagon\">Esagono regolare (lato)<\/option>\n          <option value=\"regular\">Poligono regolare (n, lato)<\/option>\n        <\/optgroup>\n        <optgroup label=\"Generici\">\n          <option value=\"quadrilateral\">Quadrilatero generico (4 lati)<\/option>\n          <option value=\"poly_list\">Poligono generico (lista lati)<\/option>\n        <\/optgroup>\n        <optgroup label=\"Basi solidi (perimetro di base)\">\n          <option value=\"cubeface\">Cubo \u2013 perimetro di una faccia<\/option>\n          <option value=\"rect_prism_base\">Parallelepipedo rettangolo \u2013 perimetro base<\/option>\n          <option value=\"cylinder_base\">Cilindro \u2013 perimetro base (circonferenza)<\/option>\n          <option value=\"prism_regular_base\">Prisma regolare \u2013 perimetro base (n, lato)<\/option>\n        <\/optgroup>\n      <\/select>\n    <\/div>\n\n    <div class=\"grid-2\">\n      <div>\n        <label for=\"unit\">Unit\u00e0 (facoltativa)<\/label>\n        <input id=\"unit\" type=\"text\" placeholder=\"es. cm, m\" aria-label=\"Unit\u00e0 di misura\">\n      <\/div>\n      <div class=\"opts\">\n        <label for=\"show-steps\"><input id=\"show-steps\" type=\"checkbox\"> Mostra formula e sostituzioni<\/label>\n      <\/div>\n    <\/div>\n  <\/div>\n\n  <!-- Campi dinamici -->\n  <div id=\"fields\"><\/div>\n\n  <div class=\"actions\">\n    <button class=\"primary\" type=\"button\" id=\"btn-calc\">Calcola perimetro<\/button>\n    <button class=\"ghost\" type=\"button\" id=\"btn-clear\">Pulisci<\/button>\n    <button class=\"ghost\" type=\"button\" id=\"btn-demo\">Esempio<\/button>\n  <\/div>\n\n  <div class=\"res-grid\">\n    <div class=\"res-card\">\n      <h4>Risultato<\/h4>\n      <div id=\"result\" class=\"out\" aria-live=\"polite\">Seleziona figura e inserisci le misure\u2026<\/div>\n    <\/div>\n    <div class=\"res-card\">\n      <h4>Dettagli<\/h4>\n      <div id=\"details\" class=\"out\" aria-live=\"polite\">&#8211;<\/div>\n    <\/div>\n  <\/div>\n\n  <p class=\"muted\" style=\"margin-top:10px\">\n    Suggerimenti: rettangolo <em>P = 2(b + h)<\/em>, quadrato <em>P = 4a<\/em>, triangolo equilatero <em>P = 3a<\/em>, rombo da diagonali <em>P = 2\u221a(d\u2081\u00b2 + d\u2082\u00b2)<\/em>, cerchio <em>C = 2\u03c0r = \u03c0d<\/em>, semicerchio <em>C = \u03c0r + 2r = d(1 + \u03c0\/2)<\/em>, trapezio isoscele <em>P = B + b + 2l<\/em>, regolare <em>P = n\u00b7lato<\/em>.\n  <\/p>\n<\/div>\n\n<script>\n(function(){\n  const $ = (s, c=document)=>c.querySelector(s);\n\n  const shapeSelect = $('#shape');\n  const fieldsWrap = $('#fields');\n\n  function inputNumber(id, label, placeholder=\"\"){\n    return `\n      <div>\n        <label for=\"${id}\">${label}<\/label>\n        <input id=\"${id}\" type=\"number\" inputmode=\"decimal\" step=\"any\" min=\"0\" placeholder=\"${placeholder}\">\n      <\/div>\n    `;\n  }\n  function inputNumberAllowZero(id, label, placeholder=\"\"){\n    return `\n      <div>\n        <label for=\"${id}\">${label}<\/label>\n        <input id=\"${id}\" type=\"number\" inputmode=\"decimal\" step=\"any\" placeholder=\"${placeholder}\">\n      <\/div>\n    `;\n  }\n  function inputToggle(id, label){\n    return `\n      <label style=\"display:flex;align-items:center;gap:8px;font-weight:600;\">\n        <input id=\"${id}\" type=\"checkbox\"> ${label}\n      <\/label>\n    `;\n  }\n\n  function renderFields(shape){\n    let html = '';\n    switch(shape){\n      \/* Rettangolo & Quadrato *\/\n      case 'rectangle':\n        html = `\n          <div class=\"grid-2\">\n            ${inputNumber('base','Base','es. 6')}\n            ${inputNumber('height','Altezza','es. 4')}\n          <\/div>\n          <div class=\"hint\">Rettangolo: <strong>P = 2 \u00d7 (base + altezza)<\/strong>.<\/div>\n        `;\n        break;\n      case 'square':\n        html = `\n          <div class=\"grid-2\">\n            ${inputNumber('side','Lato','es. 5')}\n          <\/div>\n          <div class=\"hint\">Quadrato: <strong>P = 4 \u00d7 lato<\/strong>.<\/div>\n        `;\n        break;\n\n      \/* Triangoli *\/\n      case 'tri_scalene':\n        html = `\n          <div class=\"grid-3\">\n            ${inputNumber('a','Lato a','es. 5')}\n            ${inputNumber('b','Lato b','es. 7')}\n            ${inputNumber('c','Lato c','es. 9')}\n          <\/div>\n          <div class=\"hint\">Triangolo scaleno: <strong>P = a + b + c<\/strong>.<\/div>\n        `;\n        break;\n      case 'tri_isosceles':\n        html = `\n          <div class=\"grid-2\">\n            ${inputNumber('iso_equal','Lato uguale (a)','es. 6')}\n            ${inputNumber('iso_base','Base (b)','es. 8')}\n          <\/div>\n          <div class=\"hint\">Triangolo isoscele: <strong>P = 2a + b<\/strong>.<\/div>\n        `;\n        break;\n      case 'tri_equilateral':\n        html = `\n          <div class=\"grid-2\">\n            ${inputNumber('eq_side','Lato','es. 5')}\n          <\/div>\n          <div class=\"hint\">Triangolo equilatero: <strong>P = 3 \u00d7 lato<\/strong>.<\/div>\n        `;\n        break;\n      case 'tri_right':\n        html = `\n          <div class=\"grid-2\">\n            ${inputNumber('cat1','Cateto 1','es. 3')}\n            ${inputNumber('cat2','Cateto 2','es. 4')}\n          <\/div>\n          <div class=\"hint\">Triangolo rettangolo: se inserisci solo i <em>cateti<\/em>, calcoliamo l'ipotenusa <strong>c = \u221a(a\u00b2+b\u00b2)<\/strong> e <strong>P = a + b + c<\/strong>. Se conosci l'ipotenusa, inseriscila qui sotto.<\/div>\n          <div class=\"grid-2\" style=\"margin-top:10px\">\n            ${inputNumberAllowZero('hyp','Ipotenusa (opzionale)','es. 5')}\n          <\/div>\n        `;\n        break;\n\n      \/* Parallelogrammi & affini *\/\n      case 'parallelogram':\n        html = `\n          <div class=\"grid-2\">\n            ${inputNumber('par_a','Lato a','es. 7')}\n            ${inputNumber('par_b','Lato b','es. 4')}\n          <\/div>\n          <div class=\"hint\">Parallelogramma \/ Romboide: <strong>P = 2(a + b)<\/strong>.<\/div>\n        `;\n        break;\n      case 'rhombus_side':\n        html = `\n          <div class=\"grid-2\">\n            ${inputNumber('rho_side','Lato','es. 5')}\n          <\/div>\n          <div class=\"hint\">Rombo (da lato): <strong>P = 4 \u00d7 lato<\/strong>.<\/div>\n        `;\n        break;\n      case 'rhombus_diagonals':\n        html = `\n          <div class=\"grid-2\">\n            ${inputNumber('d1','Diagonale d\u2081','es. 8')}\n            ${inputNumber('d2','Diagonale d\u2082','es. 6')}\n          <\/div>\n          <div class=\"hint\">Rombo (da diagonali): lato = \u00bd\u221a(d\u2081\u00b2 + d\u2082\u00b2), quindi <strong>P = 2\u221a(d\u2081\u00b2 + d\u2082\u00b2)<\/strong>.<\/div>\n        `;\n        break;\n      case 'kite':\n        html = `\n          <div class=\"grid-2\">\n            ${inputNumber('k_a','Lato tipo A (ripetuto)','es. 5')}\n            ${inputNumber('k_b','Lato tipo B (ripetuto)','es. 7')}\n          <\/div>\n          <div class=\"hint\">Deltoide\/Aquilone: <strong>P = 2(a + b)<\/strong>.<\/div>\n        `;\n        break;\n\n      \/* Trapezi *\/\n      case 'trap_scalene':\n        html = `\n          <div class=\"grid-2\">\n            ${inputNumber('B','Base maggiore (B)','es. 12')}\n            ${inputNumber('b_small','Base minore (b)','es. 7')}\n          <\/div>\n          <div class=\"grid-2\" style=\"margin-top:10px\">\n            ${inputNumber('l1','Lato obliquo 1 (l\u2081)','es. 5')}\n            ${inputNumber('l2','Lato obliquo 2 (l\u2082)','es. 6')}\n          <\/div>\n          <div class=\"hint\">Trapezio scaleno: <strong>P = B + b + l\u2081 + l\u2082<\/strong>.<\/div>\n        `;\n        break;\n      case 'trap_isosceles':\n        html = `\n          <div class=\"grid-2\">\n            ${inputNumber('B','Base maggiore (B)','es. 12')}\n            ${inputNumber('b_small','Base minore (b)','es. 8')}\n          <\/div>\n          <div class=\"grid-2\" style=\"margin-top:10px\">\n            ${inputNumber('l_iso','Lato obliquo (l)','es. 6')}\n          <\/div>\n          <div class=\"hint\">Trapezio isoscele: <strong>P = B + b + 2l<\/strong>.<\/div>\n        `;\n        break;\n      case 'trap_right':\n        html = `\n          <div class=\"grid-2\">\n            ${inputNumber('B','Base maggiore (B)','es. 12')}\n            ${inputNumber('b_small','Base minore (b)','es. 7')}\n          <\/div>\n          <div class=\"grid-2\" style=\"margin-top:10px\">\n            ${inputNumber('h','Altezza (lato perpendicolare)','es. 4')}\n            ${inputNumber('l_obl','Lato obliquo','es. 6')}\n          <\/div>\n          <div class=\"hint\">Trapezio rettangolo: <strong>P = B + b + h + l<\/strong>.<\/div>\n        `;\n        break;\n\n      \/* Cerchi *\/\n      case 'circle':\n        html = `\n          <div class=\"grid-2\">\n            ${inputNumberAllowZero('r','Raggio (opzionale)','es. 4')}\n            ${inputNumberAllowZero('d','Diametro (opzionale)','es. 8')}\n          <\/div>\n          <div class=\"hint\">Cerchio: <strong>C = 2\u03c0r = \u03c0d<\/strong>. Inserisci r <em>oppure<\/em> d.<\/div>\n        `;\n        break;\n      case 'semicircle':\n        html = `\n          <div class=\"grid-2\">\n            ${inputNumberAllowZero('r','Raggio (opzionale)','es. 4')}\n            ${inputNumberAllowZero('d','Diametro (opzionale)','es. 8')}\n          <\/div>\n          <div class=\"hint\">Semicerchio: <strong>C = \u03c0r + 2r<\/strong> = r(\u03c0+2) = d(1 + \u03c0\/2).<\/div>\n        `;\n        break;\n\n      \/* Regolari *\/\n      case 'pentagon':\n        html = `\n          <div class=\"grid-2\">\n            ${inputNumber('side','Lato','es. 3')}\n          <\/div>\n          <div class=\"hint\">Pentagono regolare: <strong>P = 5 \u00d7 lato<\/strong>.<\/div>\n        `;\n        break;\n      case 'hexagon':\n        html = `\n          <div class=\"grid-2\">\n            ${inputNumber('side','Lato','es. 3')}\n          <\/div>\n          <div class=\"hint\">Esagono regolare: <strong>P = 6 \u00d7 lato<\/strong>.<\/div>\n        `;\n        break;\n      case 'regular':\n        html = `\n          <div class=\"grid-2\">\n            ${inputNumber('n','Numero lati (n \u2265 3)','es. 8')}\n            ${inputNumber('side','Lato','es. 2.5')}\n          <\/div>\n          <div class=\"hint\">Poligono regolare: <strong>P = n \u00d7 lato<\/strong>.<\/div>\n        `;\n        break;\n\n      \/* Generici *\/\n      case 'quadrilateral':\n        html = `\n          <div class=\"grid-2\">\n            ${inputNumber('q1','Lato 1','')}\n            ${inputNumber('q2','Lato 2','')}\n          <\/div>\n          <div class=\"grid-2\" style=\"margin-top:10px\">\n            ${inputNumber('q3','Lato 3','')}\n            ${inputNumber('q4','Lato 4','')}\n          <\/div>\n          <div class=\"hint\">Quadrilatero generico: <strong>P = somma dei 4 lati<\/strong>.<\/div>\n        `;\n        break;\n      case 'poly_list':\n        html = `\n          <div>\n            <label for=\"list\">Lati (separati da virgola o spazio)<\/label>\n            <input id=\"list\" type=\"text\" placeholder=\"es. 5, 7.5, 6, 4\">\n          <\/div>\n          <div class=\"hint\">Poligono generico: <strong>P = somma di tutti i lati<\/strong>.<\/div>\n        `;\n        break;\n\n      \/* Basi solidi *\/\n      case 'cubeface':\n        html = `\n          <div class=\"grid-2\">\n            ${inputNumber('side','Lato del cubo','es. 3')}\n          <\/div>\n          <div class=\"hint\">Perimetro faccia del cubo (quadrato): <strong>P = 4 \u00d7 lato<\/strong>.<\/div>\n        `;\n        break;\n      case 'rect_prism_base':\n        html = `\n          <div class=\"grid-2\">\n            ${inputNumber('base','Base (a)','es. 6')}\n            ${inputNumber('height','Lato adiacente (b)','es. 4')}\n          <\/div>\n          <div class=\"hint\">Parallelepipedo rettangolo \u2013 perimetro base (rettangolo): <strong>P = 2(a + b)<\/strong>.<\/div>\n        `;\n        break;\n      case 'cylinder_base':\n        html = `\n          <div class=\"grid-2\">\n            ${inputNumberAllowZero('r','Raggio (opzionale)','es. 4')}\n            ${inputNumberAllowZero('d','Diametro (opzionale)','es. 8')}\n          <\/div>\n          <div class=\"hint\">Cilindro \u2013 perimetro di base: <strong>C = 2\u03c0r = \u03c0d<\/strong>.<\/div>\n        `;\n        break;\n      case 'prism_regular_base':\n        html = `\n          <div class=\"grid-2\">\n            ${inputNumber('n','Numero lati base (n \u2265 3)','es. 6')}\n            ${inputNumber('side','Lato della base','es. 2.5')}\n          <\/div>\n          <div class=\"hint\">Prisma regolare \u2013 perimetro base: <strong>P = n \u00d7 lato<\/strong>.<\/div>\n        `;\n        break;\n    }\n    fieldsWrap.innerHTML = html;\n  }\n\n  function fmt(x){\n    if(!isFinite(x)) return String(x);\n    const s = Number(x).toFixed(6);\n    return s.replace(\/\\.?0+$\/,'');\n  }\n  function val(id){\n    const el = $('#'+id);\n    if(!el) return NaN;\n    const v = parseFloat(el.value);\n    return Number.isFinite(v) ? v : NaN;\n  }\n  function parseList(){\n    const s = $('#list')?.value || '';\n    return s.split(\/[,;\\s]+\/).map(t=>t.trim()).filter(Boolean).map(x=>parseFloat(x)).filter(Number.isFinite);\n  }\n\n  function setError(msg){\n    $('#result').textContent = msg;\n    $('#details').textContent = \"-\";\n    return;\n  }\n\n  function calc(){\n    const shape = $('#shape').value;\n    const unit = ($('#unit').value || '').trim();\n    const u = unit ? ' ' + unit : '';\n    const show = $('#show-steps').checked;\n\n    let P = NaN, steps = [];\n\n    \/* Helpers *\/\n    const addStep = s => steps.push(s);\n\n    switch(shape){\n      \/* Rettangoli\/Quadrati *\/\n      case 'rectangle': {\n        const a = val('base'), b = val('height');\n        if(!(a>0 && b>0)) return setError(\"Inserisci base e altezza positive.\");\n        P = 2*(a+b);\n        if(show){\n          addStep(\"Rettangolo: P = 2(b + h)\");\n          addStep(`P = 2(${fmt(a)} + ${fmt(b)}) = 2 \u00d7 ${fmt(a+b)} = ${fmt(P)}${u}`);\n        }\n      } break;\n      case 'square': {\n        const s = val('side');\n        if(!(s>0)) return setError(\"Inserisci un lato positivo.\");\n        P = 4*s;\n        if(show){\n          addStep(\"Quadrato: P = 4\u00b7lato\");\n          addStep(`P = 4 \u00d7 ${fmt(s)} = ${fmt(P)}${u}`);\n        }\n      } break;\n\n      \/* Triangoli *\/\n      case 'tri_scalene': {\n        const a = val('a'), b = val('b'), c = val('c');\n        if(!(a>0 && b>0 && c>0)) return setError(\"Inserisci tre lati positivi (a, b, c).\");\n        P = a+b+c;\n        if(show){\n          addStep(\"Triangolo scaleno: P = a + b + c\");\n          addStep(`P = ${fmt(a)} + ${fmt(b)} + ${fmt(c)} = ${fmt(P)}${u}`);\n        }\n      } break;\n      case 'tri_isosceles': {\n        const a = val('iso_equal'), b = val('iso_base');\n        if(!(a>0 && b>0)) return setError(\"Inserisci lato uguale e base positivi.\");\n        P = 2*a + b;\n        if(show){\n          addStep(\"Triangolo isoscele: P = 2a + b\");\n          addStep(`P = 2\u00d7${fmt(a)} + ${fmt(b)} = ${fmt(P)}${u}`);\n        }\n      } break;\n      case 'tri_equilateral': {\n        const s = val('eq_side');\n        if(!(s>0)) return setError(\"Inserisci un lato positivo.\");\n        P = 3*s;\n        if(show){\n          addStep(\"Triangolo equilatero: P = 3\u00b7lato\");\n          addStep(`P = 3 \u00d7 ${fmt(s)} = ${fmt(P)}${u}`);\n        }\n      } break;\n      case 'tri_right': {\n        const a = val('cat1'), b = val('cat2');\n        if(!(a>0 && b>0)) return setError(\"Inserisci i due cateti positivi.\");\n        let c = val('hyp');\n        if(!(c>0)) c = Math.sqrt(a*a + b*b);\n        P = a + b + c;\n        if(show){\n          addStep(\"Triangolo rettangolo: c = \u221a(a\u00b2 + b\u00b2), P = a + b + c\");\n          addStep(`c = \u221a(${fmt(a)}\u00b2 + ${fmt(b)}\u00b2) = \u221a(${fmt(a*a)} + ${fmt(b*b)}) = ${fmt(c)}`);\n          addStep(`P = ${fmt(a)} + ${fmt(b)} + ${fmt(c)} = ${fmt(P)}${u}`);\n        }\n      } break;\n\n      \/* Parallelogrammi & affini *\/\n      case 'parallelogram': {\n        const a = val('par_a'), b = val('par_b');\n        if(!(a>0 && b>0)) return setError(\"Inserisci i due lati positivi.\");\n        P = 2*(a+b);\n        if(show){\n          addStep(\"Parallelogramma: P = 2(a + b)\");\n          addStep(`P = 2(${fmt(a)} + ${fmt(b)}) = ${fmt(P)}${u}`);\n        }\n      } break;\n      case 'rhombus_side': {\n        const s = val('rho_side');\n        if(!(s>0)) return setError(\"Inserisci un lato positivo.\");\n        P = 4*s;\n        if(show){\n          addStep(\"Rombo (da lato): P = 4\u00b7lato\");\n          addStep(`P = 4 \u00d7 ${fmt(s)} = ${fmt(P)}${u}`);\n        }\n      } break;\n      case 'rhombus_diagonals': {\n        const d1 = val('d1'), d2 = val('d2');\n        if(!(d1>0 && d2>0)) return setError(\"Inserisci entrambe le diagonali positive.\");\n        const side = 0.5*Math.sqrt(d1*d1 + d2*d2);\n        P = 4*side;\n        if(show){\n          addStep(\"Rombo (da diagonali): lato = \u00bd\u221a(d\u2081\u00b2 + d\u2082\u00b2), P = 4\u00b7lato = 2\u221a(d\u2081\u00b2 + d\u2082\u00b2)\");\n          addStep(`lato = \u00bd\u221a(${fmt(d1)}\u00b2 + ${fmt(d2)}\u00b2) = \u00bd\u221a(${fmt(d1*d1)} + ${fmt(d2*d2)}) = ${fmt(side)}`);\n          addStep(`P = 4 \u00d7 ${fmt(side)} = ${fmt(P)}${u}`);\n        }\n      } break;\n      case 'kite': {\n        const a = val('k_a'), b = val('k_b');\n        if(!(a>0 && b>0)) return setError(\"Inserisci i due lati positivi.\");\n        P = 2*(a+b);\n        if(show){\n          addStep(\"Deltoide: P = 2(a + b)\");\n          addStep(`P = 2(${fmt(a)} + ${fmt(b)}) = ${fmt(P)}${u}`);\n        }\n      } break;\n\n      \/* Trapezi *\/\n      case 'trap_scalene': {\n        const B = val('B'), b = val('b_small'), l1 = val('l1'), l2 = val('l2');\n        if(!(B>0 && b>0 && l1>0 && l2>0)) return setError(\"Inserisci B, b, l\u2081 e l\u2082 positivi.\");\n        P = B + b + l1 + l2;\n        if(show){\n          addStep(\"Trapezio scaleno: P = B + b + l\u2081 + l\u2082\");\n          addStep(`P = ${fmt(B)} + ${fmt(b)} + ${fmt(l1)} + ${fmt(l2)} = ${fmt(P)}${u}`);\n        }\n      } break;\n      case 'trap_isosceles': {\n        const B = val('B'), b = val('b_small'), l = val('l_iso');\n        if(!(B>0 && b>0 && l>0)) return setError(\"Inserisci B, b e l positivi.\");\n        P = B + b + 2*l;\n        if(show){\n          addStep(\"Trapezio isoscele: P = B + b + 2l\");\n          addStep(`P = ${fmt(B)} + ${fmt(b)} + 2\u00d7${fmt(l)} = ${fmt(P)}${u}`);\n        }\n      } break;\n      case 'trap_right': {\n        const B = val('B'), b = val('b_small'), h = val('h'), l = val('l_obl');\n        if(!(B>0 && b>0 && h>0 && l>0)) return setError(\"Inserisci B, b, h e l positivi.\");\n        P = B + b + h + l;\n        if(show){\n          addStep(\"Trapezio rettangolo: P = B + b + h + l\");\n          addStep(`P = ${fmt(B)} + ${fmt(b)} + ${fmt(h)} + ${fmt(l)} = ${fmt(P)}${u}`);\n        }\n      } break;\n\n      \/* Cerchi *\/\n      case 'circle': {\n        let r = val('r'), d = val('d');\n        if(!(r>0) && !(d>0)) return setError(\"Inserisci raggio oppure diametro.\");\n        if(!(r>0) && d>0) r = d\/2;\n        if(r>0 && !(d>0)) d = 2*r;\n        P = 2*Math.PI*r;\n        if(show){\n          addStep(\"Cerchio: C = 2\u03c0r = \u03c0d\");\n          addStep(`r = ${fmt(r)}, d = ${fmt(d)} \u21d2 C = 2\u03c0\u00b7${fmt(r)} \u2248 ${fmt(P)}${u}`);\n        }\n      } break;\n      case 'semicircle': {\n        let r = val('r'), d = val('d');\n        if(!(r>0) && !(d>0)) return setError(\"Inserisci raggio oppure diametro.\");\n        if(!(r>0) && d>0) r = d\/2;\n        if(r>0 && !(d>0)) d = 2*r;\n        P = Math.PI*r + 2*r; \/\/ \u03c0r + diametro\n        if(show){\n          addStep(\"Semicerchio: C = \u03c0r + 2r = d(1 + \u03c0\/2)\");\n          addStep(`r = ${fmt(r)}, d = ${fmt(d)} \u21d2 C = \u03c0\u00b7${fmt(r)} + 2\u00b7${fmt(r)} = ${fmt(P)}${u}`);\n        }\n      } break;\n\n      \/* Regolari *\/\n      case 'pentagon': {\n        const s = val('side'); if(!(s>0)) return setError(\"Inserisci un lato positivo.\");\n        P = 5*s;\n        if(show){ addStep(\"Pentagono regolare: P = 5\u00b7lato\"); addStep(`P = 5 \u00d7 ${fmt(s)} = ${fmt(P)}${u}`); }\n      } break;\n      case 'hexagon': {\n        const s = val('side'); if(!(s>0)) return setError(\"Inserisci un lato positivo.\");\n        P = 6*s;\n        if(show){ addStep(\"Esagono regolare: P = 6\u00b7lato\"); addStep(`P = 6 \u00d7 ${fmt(s)} = ${fmt(P)}${u}`); }\n      } break;\n      case 'regular': {\n        const n = val('n'), s = val('side');\n        if(!(Number.isInteger(n) && n>=3)) return setError(\"n deve essere un intero \u2265 3.\");\n        if(!(s>0)) return setError(\"Inserisci un lato positivo.\");\n        P = n*s;\n        if(show){ addStep(\"Poligono regolare: P = n\u00b7lato\"); addStep(`P = ${fmt(n)} \u00d7 ${fmt(s)} = ${fmt(P)}${u}`); }\n      } break;\n\n      \/* Generici *\/\n      case 'quadrilateral': {\n        const q1=val('q1'), q2=val('q2'), q3=val('q3'), q4=val('q4');\n        if(!(q1>0 && q2>0 && q3>0 && q4>0)) return setError(\"Inserisci quattro lati positivi.\");\n        P = q1+q2+q3+q4;\n        if(show){ addStep(\"Quadrilatero: P = somma dei 4 lati\"); addStep(`P = ${fmt(q1)} + ${fmt(q2)} + ${fmt(q3)} + ${fmt(q4)} = ${fmt(P)}${u}`); }\n      } break;\n      case 'poly_list': {\n        const arr = parseList();\n        if(arr.length<3) return setError(\"Inserisci almeno 3 lati separati da virgola o spazio.\");\n        if(arr.some(x=>!(x>0))) return setError(\"Tutti i lati devono essere positivi.\");\n        P = arr.reduce((s,x)=>s+x,0);\n        if(show){ addStep(\"Poligono generico: P = somma di tutti i lati\"); addStep(`Lati = ${arr.map(fmt).join(', ')}`); addStep(`P = ${fmt(P)}${u}`); }\n      } break;\n\n      \/* Basi solidi *\/\n      case 'cubeface': {\n        const s = val('side'); if(!(s>0)) return setError(\"Inserisci il lato del cubo.\");\n        P = 4*s;\n        if(show){ addStep(\"Cubo \u2013 perimetro faccia: P = 4\u00b7lato\"); addStep(`P = 4 \u00d7 ${fmt(s)} = ${fmt(P)}${u}`); }\n      } break;\n      case 'rect_prism_base': {\n        const a = val('base'), b = val('height'); if(!(a>0 && b>0)) return setError(\"Inserisci i due lati della base.\");\n        P = 2*(a+b);\n        if(show){ addStep(\"Parallelepipedo rettangolo \u2013 base: P = 2(a + b)\"); addStep(`P = 2(${fmt(a)} + ${fmt(b)}) = ${fmt(P)}${u}`); }\n      } break;\n      case 'cylinder_base': {\n        let r = val('r'), d = val('d');\n        if(!(r>0) && !(d>0)) return setError(\"Inserisci raggio oppure diametro.\");\n        if(!(r>0) && d>0) r = d\/2; if(r>0 && !(d>0)) d = 2*r;\n        P = 2*Math.PI*r;\n        if(show){ addStep(\"Cilindro \u2013 perimetro base: C = 2\u03c0r = \u03c0d\"); addStep(`r = ${fmt(r)}, d = ${fmt(d)} \u21d2 C \u2248 ${fmt(P)}${u}`); }\n      } break;\n      case 'prism_regular_base': {\n        const n = val('n'), s = val('side');\n        if(!(Number.isInteger(n) && n>=3)) return setError(\"n deve essere un intero \u2265 3.\");\n        if(!(s>0)) return setError(\"Inserisci il lato della base.\");\n        P = n*s;\n        if(show){ addStep(\"Prisma regolare \u2013 base: P = n\u00b7lato\"); addStep(`P = ${fmt(n)} \u00d7 ${fmt(s)} = ${fmt(P)}${u}`); }\n      } break;\n    }\n\n    $('#result').innerHTML = `<div><strong>Perimetro:<\/strong> ${fmt(P)}${u}<\/div>`;\n    $('#details').innerHTML = $('#show-steps').checked ? `<pre>${steps.join('\\n')}<\/pre>` : 'Attiva \"Mostra formula e sostituzioni\" per vedere il procedimento.';\n  }\n\n  function clearAll(){\n    $('#unit').value = \"\";\n    $('#show-steps').checked = false;\n    renderFields(shapeSelect.value);\n    $('#result').textContent = \"Seleziona figura e inserisci le misure\u2026\";\n    $('#details').textContent = \"-\";\n  }\n\n  function fillDemo(){\n    const shape = shapeSelect.value;\n    $('#unit').value = \"cm\";\n    $('#show-steps').checked = true;\n\n    \/\/ Demo rapida per varie figure\n    switch(shape){\n      case 'rectangle': $('#base').value = 6; $('#height').value = 4; break;\n      case 'square': $('#side').value = 5; break;\n      case 'tri_scalene': $('#a').value=5; $('#b').value=7; $('#c').value=9; break;\n      case 'tri_isosceles': $('#iso_equal').value=6; $('#iso_base').value=8; break;\n      case 'tri_equilateral': $('#eq_side').value=5; break;\n      case 'tri_right': $('#cat1').value=3; $('#cat2').value=4; $('#hyp').value=\"\"; break;\n      case 'parallelogram': $('#par_a').value=7; $('#par_b').value=4; break;\n      case 'rhombus_side': $('#rho_side').value=5; break;\n      case 'rhombus_diagonals': $('#d1').value=8; $('#d2').value=6; break;\n      case 'kite': $('#k_a').value=5; $('#k_b').value=7; break;\n      case 'trap_scalene': $('#B').value=12; $('#b_small').value=7; $('#l1').value=5; $('#l2').value=6; break;\n      case 'trap_isosceles': $('#B').value=12; $('#b_small').value=8; $('#l_iso').value=6; break;\n      case 'trap_right': $('#B').value=12; $('#b_small').value=7; $('#h').value=4; $('#l_obl').value=6; break;\n      case 'circle': $('#r').value=4; $('#d').value=\"\"; break;\n      case 'semicircle': $('#r').value=4; $('#d').value=\"\"; break;\n      case 'pentagon': $('#side').value=3; break;\n      case 'hexagon': $('#side').value=3; break;\n      case 'regular': $('#n').value=8; $('#side').value=2.5; break;\n      case 'quadrilateral': $('#q1').value=4; $('#q2').value=5; $('#q3').value=6; $('#q4').value=7; break;\n      case 'poly_list': $('#list').value=\"5, 7.5, 6, 4\"; break;\n      case 'cubeface': $('#side').value=3; break;\n      case 'rect_prism_base': $('#base').value=6; $('#height').value=4; break;\n      case 'cylinder_base': $('#r').value=4; $('#d').value=\"\"; break;\n      case 'prism_regular_base': $('#n').value=6; $('#side').value=2.5; break;\n    }\n    calc();\n  }\n\n  \/\/ init\n  shapeSelect.addEventListener('change', ()=>{ renderFields(shapeSelect.value); });\n  $('#btn-calc').addEventListener('click', calc);\n  $('#btn-clear').addEventListener('click', clearAll);\n  $('#btn-demo').addEventListener('click', fillDemo);\n\n  renderFields(shapeSelect.value);\n})();\n<\/script>\n\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Formule e spiegazioni dei perimetri delle principali figure geometriche piane<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Rettangolo \u2192 P = 2 \u00b7 (base + altezza)<\/strong><\/h3>\n\n\n\n<p>Il rettangolo ha quattro lati, con i lati opposti uguali e paralleli. Il perimetro si ottiene sommando due volte la base e due volte l\u2019altezza, cio\u00e8 <strong>P = 2 \u00d7 (base + altezza)<\/strong>. \u00c8 una delle figure pi\u00f9 comuni nella geometria piana.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Quadrato \u2192 P = 4 \u00b7 lato<\/strong><\/h3>\n\n\n\n<p>Il quadrato \u00e8 un caso particolare di rettangolo in cui <strong>tutti i lati sono uguali<\/strong>. Il suo perimetro si calcola moltiplicando la lunghezza del lato per quattro: <strong>P = 4 \u00d7 lato<\/strong>. Ha anche tutti gli angoli retti.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Triangoli (scaleno, isoscele, equilatero, rettangolo)<\/strong><\/h3>\n\n\n\n<p>Il perimetro di qualsiasi triangolo si ottiene <strong>sommando le lunghezze dei tre lati<\/strong>. Nei triangoli particolari:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Scaleno<\/strong> \u2192 tutti i lati diversi.<\/li>\n\n\n\n<li><strong>Isoscele<\/strong> \u2192 due lati uguali.<\/li>\n\n\n\n<li><strong>Equilatero<\/strong> \u2192 tre lati uguali, quindi P = 3 \u00d7 lato.<\/li>\n\n\n\n<li><strong>Rettangolo<\/strong> \u2192 un angolo di 90\u00b0, e l\u2019ipotenusa pu\u00f2 essere trovata con il <strong>Teorema di Pitagora<\/strong>: c\u00b2 = a\u00b2 + b\u00b2.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Rombo \u2192 P = 4 \u00b7 lato oppure P = 2\u221a(d\u2081\u00b2 + d\u2082\u00b2)<\/strong><\/h3>\n\n\n\n<p>Il rombo ha quattro lati uguali e diagonali che si tagliano perpendicolarmente. Il perimetro si calcola di solito con <strong>P = 4 \u00d7 lato<\/strong>, ma se si conoscono le diagonali si pu\u00f2 usare <strong>P = 2\u221a(d\u2081\u00b2 + d\u2082\u00b2)<\/strong>, dove d\u2081 e d\u2082 sono le diagonali.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Parallelogramma \/ Romboide \u2192 P = 2 \u00b7 (a + b)<\/strong><\/h3>\n\n\n\n<p>Nel parallelogramma i lati opposti sono uguali e paralleli. Il perimetro \u00e8 la somma dei lati adiacenti moltiplicata per due: <strong>P = 2 \u00d7 (a + b)<\/strong>. \u00c8 simile al rettangolo, ma gli angoli non sono necessariamente retti.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Deltoide (Aquilone) \u2192 P = 2 \u00b7 (a + b)<\/strong><\/h3>\n\n\n\n<p>Il deltoide \u00e8 formato da due coppie di lati consecutivi uguali. Il suo perimetro si trova con <strong>P = 2 \u00d7 (a + b)<\/strong>, dove a e b sono le lunghezze dei lati diversi. Spesso \u00e8 associato a figure simmetriche come l\u2019aquilone.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Trapezio \u2192 scaleno, isoscele, rettangolo<\/strong><\/h3>\n\n\n\n<p>Il trapezio ha una coppia di lati paralleli (le basi). Il perimetro si calcola <strong>sommando tutti e quattro i lati<\/strong>. A seconda dei lati obliqui, pu\u00f2 essere <strong>scaleno<\/strong> (tutti diversi), <strong>isoscele<\/strong> (lati obliqui uguali) o <strong>rettangolo<\/strong> (uno dei lati perpendicolare alle basi).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Cerchio e Semicerchio \u2192 C = 2\u03c0r oppure C = \u03c0r + 2r<\/strong><\/h3>\n\n\n\n<p>Nel cerchio, la <strong>circonferenza<\/strong> \u00e8 data da <strong>C = 2\u03c0r<\/strong>, dove r \u00e8 il raggio.<br>Nel semicerchio, la lunghezza totale comprende <strong>met\u00e0 circonferenza pi\u00f9 il diametro<\/strong>, quindi <strong>C = \u03c0r + 2r<\/strong>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Poligoni regolari \u2192 P = n \u00b7 lato<\/strong><\/h3>\n\n\n\n<p>Un poligono regolare ha tutti i lati e gli angoli uguali. Il perimetro si ottiene moltiplicando il numero dei lati per la lunghezza di ciascun lato: <strong>P = n \u00d7 lato<\/strong>. Esempi: pentagono (5 lati), esagono (6 lati), ecc.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Quadrilatero o Poligono generico \u2192 somma di tutti i lati<\/strong><\/h3>\n\n\n\n<p>Per le figure irregolari, come quadrilateri non particolari o poligoni con lati disuguali, il perimetro si trova semplicemente <strong>sommando le lunghezze di tutti i lati<\/strong>, senza formule specifiche.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Basi dei solidi: cubo, parallelepipedo rettangolo, cilindro, prisma regolare<\/strong><\/h3>\n\n\n\n<p>Nei solidi geometrici, il <strong>perimetro della base<\/strong> serve per calcolare lo sviluppo o la superficie laterale.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Cubo<\/strong> \u2192 base quadrata.<\/li>\n\n\n\n<li><strong>Parallelepipedo<\/strong> \u2192 base rettangolare.<\/li>\n\n\n\n<li><strong>Cilindro<\/strong> \u2192 base circolare.<\/li>\n\n\n\n<li><strong>Prisma regolare<\/strong> \u2192 base poligonale regolare (triangolo, pentagono, ecc.).<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusione<\/h2>\n\n\n\n<p>Conoscere le formule dei perimetri delle figure geometriche piane \u00e8 fondamentale per affrontare con sicurezza esercizi di geometria e problemi di matematica applicata. Ogni figura ha caratteristiche specifiche, ma il concetto di base resta lo stesso: il <strong>perimetro rappresenta la misura del contorno<\/strong> della figura. Comprendere non solo le formule, ma anche la logica che le collega alle propriet\u00e0 dei lati e degli angoli, permette di risolvere in modo consapevole e rapido qualsiasi esercizio, ponendo le basi per lo studio delle <strong>aree<\/strong> e dei <strong>solidi geometrici<\/strong>.<\/p>\n\n\n\n<style>\n.faq-accordion {\n  font-family: Arial, sans-serif;\n  border: 1px solid #ddd;\n  border-radius: 8px;\n  overflow: hidden;\n}\n.faq-item {\n  border-bottom: 1px solid #ddd;\n}\n.faq-question {\n  background-color: #f7f7f7;\n  padding: 15px;\n  cursor: pointer;\n  font-weight: bold;\n  transition: background 0.3s;\n}\n.faq-question:hover {\n  background-color: #eaeaea;\n}\n.faq-answer {\n  display: none;\n  padding: 15px;\n  background-color: #fff;\n}\n<\/style>\n\n<div class=\"faq-accordion\">\n  <div class=\"faq-item\">\n    <div class=\"faq-question\">Qual \u00e8 la differenza tra perimetro e area?<\/div>\n    <div class=\"faq-answer\">Il <strong>perimetro<\/strong> \u00e8 la misura del contorno di una figura (somma dei lati o lunghezza della circonferenza). L\u2019<strong>area<\/strong> misura invece la <em>superficie interna<\/em> della figura. Hanno quindi <strong>unit\u00e0 di misura diverse<\/strong>: metri (m) per il perimetro, metri quadrati (m\u00b2) per l\u2019area.<\/div>\n  <\/div>\n\n  <div class=\"faq-item\">\n    <div class=\"faq-question\">Come si trova il perimetro di un triangolo rettangolo?<\/div>\n    <div class=\"faq-answer\">Sommi i tre lati. Se conosci i cateti <em>a<\/em> e <em>b<\/em> ma non l\u2019ipotenusa, la ricavi con Pitagora: <strong>c = \u221a(a\u00b2 + b\u00b2)<\/strong>. Quindi <strong>P = a + b + c<\/strong>.<\/div>\n  <\/div>\n\n  <div class=\"faq-item\">\n    <div class=\"faq-question\">Rombo: quando usare le diagonali per il perimetro?<\/div>\n    <div class=\"faq-answer\">Se non conosci il lato ma conosci le diagonali <em>d\u2081<\/em> e <em>d\u2082<\/em>, usa la relazione <strong>lato = \u00bd\u00b7\u221a(d\u2081\u00b2 + d\u2082\u00b2)<\/strong>. Di conseguenza il perimetro \u00e8 <strong>P = 4\u00b7lato = 2\u00b7\u221a(d\u2081\u00b2 + d\u2082\u00b2)<\/strong>.<\/div>\n  <\/div>\n\n  <div class=\"faq-item\">\n    <div class=\"faq-question\">Parallelogramma e rettangolo hanno la stessa formula del perimetro?<\/div>\n    <div class=\"faq-answer\">S\u00ec. Per entrambi vale <strong>P = 2\u00b7(a + b)<\/strong>, dove <em>a<\/em> e <em>b<\/em> sono i lati adiacenti. La differenza \u00e8 negli <em>angoli<\/em>: nel rettangolo sono retti, nel parallelogramma no.<\/div>\n  <\/div>\n\n  <div class=\"faq-item\">\n    <div class=\"faq-question\">Trapezio isoscele: posso calcolare il perimetro da basi e altezza?<\/div>\n    <div class=\"faq-answer\">S\u00ec. Se le basi sono <em>B<\/em> e <em>b<\/em> (B &gt; b) e l\u2019altezza \u00e8 <em>h<\/em>, il lato obliquo vale <strong>l = \u221a( ((B\u2212b)\/2)\u00b2 + h\u00b2 )<\/strong>. Quindi <strong>P = B + b + 2l<\/strong>.<\/div>\n  <\/div>\n\n  <div class=\"faq-item\">\n    <div class=\"faq-question\">Poligoni regolari: oltre a P = n\u00b7lato, esistono formule alternative?<\/div>\n    <div class=\"faq-answer\">Se conosci il <em>raggio circoscritto<\/em> <em>R<\/em>: <strong>P = 2nR\u00b7sin(\u03c0\/n)<\/strong>. Se conosci l\u2019<em>apotema<\/em> <em>a<\/em>: il lato \u00e8 <strong>l = 2a\u00b7tan(\u03c0\/n)<\/strong> e quindi <strong>P = 2n\u00b7a\u00b7tan(\u03c0\/n)<\/strong>. Per il calcolo diretto resta comunque rapido <strong>P = n\u00b7l<\/strong> quando hai il lato.<\/div>\n  <\/div>\n\n  <div class=\"faq-item\">\n    <div class=\"faq-question\">Circonferenza del cerchio e perimetro del semicerchio: quale formula usare?<\/div>\n    <div class=\"faq-answer\">Cerchio intero: <strong>C = 2\u03c0r<\/strong> (oppure <strong>\u03c0D<\/strong> con <em>D<\/em> diametro). Semicerchio con bordo <em>curvo + diametro<\/em>: <strong>C = \u03c0r + 2r<\/strong>. Se ti serve <em>solo<\/em> l\u2019arco del semicerchio, \u00e8 <strong>\u03c0r<\/strong>.<\/div>\n  <\/div>\n\n  <div class=\"faq-item\">\n    <div class=\"faq-question\">Come tratto figure irregolari o poligoni generici?<\/div>\n    <div class=\"faq-answer\">Per figure senza simmetrie o lati uguali, il perimetro \u00e8 la <strong>somma di tutte le lunghezze dei lati<\/strong>. Se mancano alcuni lati, puoi ricavarli con teoremi (Pitagora, trigonometria) o misure aggiuntive (diagonali, altezze).<\/div>\n  <\/div>\n\n  <div class=\"faq-item\">\n    <div class=\"faq-question\">Unit\u00e0 di misura: quali usare e come convertire?<\/div>\n    <div class=\"faq-answer\">Usa unit\u00e0 lineari per il perimetro: mm, cm, m, km. Ricorda le conversioni: <strong>1 m = 100 cm = 1000 mm<\/strong>, <strong>1 km = 1000 m<\/strong>. Mantieni coerenza: prima di sommare, <strong>porta tutti i lati nella stessa unit\u00e0<\/strong>.<\/div>\n  <\/div>\n\n  <div class=\"faq-item\">\n    <div class=\"faq-question\">Errori comuni da evitare nel calcolo dei perimetri<\/div>\n    <div class=\"faq-answer\">Dimenticare un lato; confondere perimetro con area; usare raggio al posto del diametro (o viceversa) nel cerchio; non applicare Pitagora nel triangolo rettangolo; mescolare unit\u00e0 diverse senza convertire; arrotondare \u03c0 troppo presto: usa <strong>\u03c0 \u2248 3,1416<\/strong> e arrotonda solo alla fine.<\/div>\n  <\/div>\n<\/div>\n\n<script>\ndocument.querySelectorAll(\".faq-question\").forEach(button => {\n  button.addEventListener(\"click\", () => {\n    const answer = button.nextElementSibling;\n    answer.style.display = (answer.style.display === \"block\") ? \"none\" : \"block\";\n  });\n});\n<\/script>\n\n","protected":false},"excerpt":{"rendered":"<p>Il nostro calcolatore del perimetro ti consente di scegliere la figura geometrica da un menu a tendina e ottenere immediatamente la formula, i passaggi e il risultato. \u00c8 uno strumento&#8230;<\/p>\n","protected":false},"author":9,"featured_media":2975,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"content-type":"","footnotes":""},"categories":[203,163],"tags":[232],"class_list":{"0":"post-6770","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-matematica","8":"category-materie","9":"tag-geometria"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Calcolatore per il perimetro di tutte le figure piane e basi di solidi<\/title>\n<meta name=\"description\" content=\"Scopri il nostro calcolatore per il perimetro di figure piane e solidi. Calcola facilmente e rapidamente le misure per i tuoi progetti.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/futura.study\/blog\/materie\/matematica\/calcolare-il-perimetro-di-figure-piane-e-basi-di-solidi\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Calcolatore per il perimetro di tutte le figure piane e basi di solidi\" \/>\n<meta property=\"og:description\" content=\"Scopri il nostro calcolatore per il perimetro di figure piane e solidi. Calcola facilmente e rapidamente le misure per i tuoi progetti.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/futura.study\/blog\/materie\/matematica\/calcolare-il-perimetro-di-figure-piane-e-basi-di-solidi\/\" \/>\n<meta property=\"og:site_name\" content=\"Futura Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/AccademiadeiTest\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-23T14:50:24+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-11-21T14:49:36+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/futura.study\/blog\/wp-content\/uploads\/2023\/11\/pexels-karolina-grabowska-6256258-1.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"533\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Arturo\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"Arturo\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minuti\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Calcolatore per il perimetro di tutte le figure piane e basi di solidi","description":"Scopri il nostro calcolatore per il perimetro di figure piane e solidi. Calcola facilmente e rapidamente le misure per i tuoi progetti.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/futura.study\/blog\/materie\/matematica\/calcolare-il-perimetro-di-figure-piane-e-basi-di-solidi\/","og_locale":"it_IT","og_type":"article","og_title":"Calcolatore per il perimetro di tutte le figure piane e basi di solidi","og_description":"Scopri il nostro calcolatore per il perimetro di figure piane e solidi. Calcola facilmente e rapidamente le misure per i tuoi progetti.","og_url":"https:\/\/futura.study\/blog\/materie\/matematica\/calcolare-il-perimetro-di-figure-piane-e-basi-di-solidi\/","og_site_name":"Futura Blog","article_publisher":"https:\/\/www.facebook.com\/AccademiadeiTest","article_published_time":"2025-10-23T14:50:24+00:00","article_modified_time":"2025-11-21T14:49:36+00:00","og_image":[{"width":800,"height":533,"url":"https:\/\/futura.study\/blog\/wp-content\/uploads\/2023\/11\/pexels-karolina-grabowska-6256258-1.jpg","type":"image\/jpeg"}],"author":"Arturo","twitter_card":"summary_large_image","twitter_misc":{"Scritto da":"Arturo","Tempo di lettura stimato":"9 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/futura.study\/blog\/materie\/matematica\/calcolare-il-perimetro-di-figure-piane-e-basi-di-solidi\/#article","isPartOf":{"@id":"https:\/\/futura.study\/blog\/materie\/matematica\/calcolare-il-perimetro-di-figure-piane-e-basi-di-solidi\/"},"author":{"name":"Arturo","@id":"https:\/\/futura.study\/blog\/#\/schema\/person\/0062ff98dbc329f28a2445121b3def59"},"headline":"Calcolare il perimetro di figure piane e basi di solidi","datePublished":"2025-10-23T14:50:24+00:00","dateModified":"2025-11-21T14:49:36+00:00","mainEntityOfPage":{"@id":"https:\/\/futura.study\/blog\/materie\/matematica\/calcolare-il-perimetro-di-figure-piane-e-basi-di-solidi\/"},"wordCount":1366,"publisher":{"@id":"https:\/\/futura.study\/blog\/#organization"},"image":{"@id":"https:\/\/futura.study\/blog\/materie\/matematica\/calcolare-il-perimetro-di-figure-piane-e-basi-di-solidi\/#primaryimage"},"thumbnailUrl":"https:\/\/futura.study\/blog\/wp-content\/uploads\/2023\/11\/pexels-karolina-grabowska-6256258-1.jpg","keywords":["geometria"],"articleSection":["Matematica","Materie"],"inLanguage":"it-IT"},{"@type":"WebPage","@id":"https:\/\/futura.study\/blog\/materie\/matematica\/calcolare-il-perimetro-di-figure-piane-e-basi-di-solidi\/","url":"https:\/\/futura.study\/blog\/materie\/matematica\/calcolare-il-perimetro-di-figure-piane-e-basi-di-solidi\/","name":"Calcolatore per il perimetro di tutte le figure piane e basi di solidi","isPartOf":{"@id":"https:\/\/futura.study\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/futura.study\/blog\/materie\/matematica\/calcolare-il-perimetro-di-figure-piane-e-basi-di-solidi\/#primaryimage"},"image":{"@id":"https:\/\/futura.study\/blog\/materie\/matematica\/calcolare-il-perimetro-di-figure-piane-e-basi-di-solidi\/#primaryimage"},"thumbnailUrl":"https:\/\/futura.study\/blog\/wp-content\/uploads\/2023\/11\/pexels-karolina-grabowska-6256258-1.jpg","datePublished":"2025-10-23T14:50:24+00:00","dateModified":"2025-11-21T14:49:36+00:00","description":"Scopri il nostro calcolatore per il perimetro di figure piane e solidi. Calcola facilmente e rapidamente le misure per i tuoi progetti.","breadcrumb":{"@id":"https:\/\/futura.study\/blog\/materie\/matematica\/calcolare-il-perimetro-di-figure-piane-e-basi-di-solidi\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/futura.study\/blog\/materie\/matematica\/calcolare-il-perimetro-di-figure-piane-e-basi-di-solidi\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/futura.study\/blog\/materie\/matematica\/calcolare-il-perimetro-di-figure-piane-e-basi-di-solidi\/#primaryimage","url":"https:\/\/futura.study\/blog\/wp-content\/uploads\/2023\/11\/pexels-karolina-grabowska-6256258-1.jpg","contentUrl":"https:\/\/futura.study\/blog\/wp-content\/uploads\/2023\/11\/pexels-karolina-grabowska-6256258-1.jpg","width":800,"height":533,"caption":"Mano che impugna un gessetto bianco per scrivere su una lavagna nera."},{"@type":"BreadcrumbList","@id":"https:\/\/futura.study\/blog\/materie\/matematica\/calcolare-il-perimetro-di-figure-piane-e-basi-di-solidi\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/futura.study\/blog\/"},{"@type":"ListItem","position":2,"name":"Calcolare il perimetro di figure piane e basi di solidi"}]},{"@type":"WebSite","@id":"https:\/\/futura.study\/blog\/#website","url":"https:\/\/futura.study\/blog\/","name":"Futura Blog","description":"Prepariamo il tuo futuro","publisher":{"@id":"https:\/\/futura.study\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/futura.study\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Organization","@id":"https:\/\/futura.study\/blog\/#organization","name":"Futura Blog","url":"https:\/\/futura.study\/blog\/","logo":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/futura.study\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/futura.study\/blog\/wp-content\/uploads\/2022\/10\/ADT_Logo_CMYK.png?wsr","contentUrl":"https:\/\/futura.study\/blog\/wp-content\/uploads\/2022\/10\/ADT_Logo_CMYK.png?wsr","width":842,"height":275,"caption":"Futura Blog"},"image":{"@id":"https:\/\/futura.study\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/AccademiadeiTest","https:\/\/www.instagram.com\/accademiadeitest\/","https:\/\/www.tiktok.com\/accademiadeitest"]},{"@type":"Person","@id":"https:\/\/futura.study\/blog\/#\/schema\/person\/0062ff98dbc329f28a2445121b3def59","name":"Arturo","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/secure.gravatar.com\/avatar\/38b9e703b915e11d19863c7ee9cb19fcd116b667fec7e239f6ff1cc5c0a75858?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/38b9e703b915e11d19863c7ee9cb19fcd116b667fec7e239f6ff1cc5c0a75858?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/38b9e703b915e11d19863c7ee9cb19fcd116b667fec7e239f6ff1cc5c0a75858?s=96&d=mm&r=g","caption":"Arturo"},"url":"https:\/\/futura.study\/blog\/author\/arturo\/"}]}},"_links":{"self":[{"href":"https:\/\/futura.study\/blog\/wp-json\/wp\/v2\/posts\/6770","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/futura.study\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/futura.study\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/futura.study\/blog\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/futura.study\/blog\/wp-json\/wp\/v2\/comments?post=6770"}],"version-history":[{"count":2,"href":"https:\/\/futura.study\/blog\/wp-json\/wp\/v2\/posts\/6770\/revisions"}],"predecessor-version":[{"id":6775,"href":"https:\/\/futura.study\/blog\/wp-json\/wp\/v2\/posts\/6770\/revisions\/6775"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/futura.study\/blog\/wp-json\/wp\/v2\/media\/2975"}],"wp:attachment":[{"href":"https:\/\/futura.study\/blog\/wp-json\/wp\/v2\/media?parent=6770"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/futura.study\/blog\/wp-json\/wp\/v2\/categories?post=6770"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/futura.study\/blog\/wp-json\/wp\/v2\/tags?post=6770"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}