Il Giardino (analisi e programma)

Ridefinizione del problema e individuazione degli input e degli output


Il programma dovrà effettuare una serie di calcoli per ottenere l'area totale occupata dalle aiuole (che indicheremo con AO) e l'area libera del giardino (che indicheremo con AL).

L'area totale occupata dalle aiuole si ottiene con:
AO = AQ + AR
dove
AQ è l'area dell'aiuola quadrata (calcolabile come AQ=L x L)
AR è l'area dell'aiuola rotonda (calcolabile come AR=R x R x 3.14)

L'area libera del giardino (AL) la otteniamo per sottrazione calcolando:
AL = AG – AO
dove
AG è l'area del giardino (calcolabile come AG = N x M)

Abbiamo, evidentemente, i seguenti

Dati Input Dati output
Dimensione del giardino (N ed M)
Raggio dell'aiuola rotonda (R)
Lato dell'aiuola quadrata (L)
Area libera del giardino (AL)
Area occupata dalle aiuole (AO)

Descrizione delle variabili

Nome

Descrizione

Tipo

Uso

N

Dimensione del lato del giardino

reale

input

M

Dimensione del lato del giardino

reale

input

R

Raggio dell'aiuola rotonda

reale

input

L

Lato dell'aiuola quadrata

reale

input

AG

Area totale del giardino

reale

lavoro

AO

Area occupata dalle aiuole

reale

out

AR

Area dell'aiuola rotonda

reale

lavoro

AQ

Area dell'aiuola quadrata

reale

lavoro

AL

Area libera del giardino

reale

out

Descrizione dell'algoritmo


Codifica dell'algoritmo

#include <stdio.h> #include <stdlib.h> int main() { // Definizione delle costanti #define _PG 3.14 // Definizione delle variabili float N, M, L, R, AR, AQ, AO, AG, AL; // Acquisizione dei dati printf("Lato corto del giardino: "); scanf("%f",&N); printf("Lato lungo del giardino: "); scanf("%f",&M); printf("Raggio dell'aiuola rotonda: "); scanf("%f",&R); printf("Lato dell'aiuola quadrata: "); scanf("%f",&L); // Calcolo dei risultati AR = R*R* _PG; AQ = L*L; AO = AQ + AR; AG = N*M; AL = AG - AO; // Visualizzazione dei risultati printf("Area del giardino libera dalle aiuole: %f \n\n",AL); printf("\nArea occupata dalle aiuole: %f \n",AO); // Attesa e uscita dal programma system("PAUSE"); return 0; }

Scrivi email per il tutor dei corsi
Scrivi email per l'amministratore del sito
Torna all'indice del modulo

Ultima modifica: