View Full Version : [vb 2008] Progetto Problemi Mania
agente mm8
29-03-2008, 15:35
Salve a tutti. :D :D
Sono nuovo, perciò mi presento: mi chiamo Michele e ho 12 anni.
Ora, conosco abbastanza bene il vb.net e sto cercando di creare un programma che mi consenta di risolvere problemi geometrici.
Mi spego meglio: ad esempio seleziono che la figura che mi interessa è un rettangolo, che voglio calcolare la base, e che conosco area e altezza. Il prog mi chiede quanto misura l'area e quanto l'altezza, esegue il calcolo e lo visualizza.
Ora, fin qui non ci sono problemi; ma ora voglio cercare di aggiungere al programma anche i calcoli con DUE FIGURE. Cioè voglio fare tipo così:
Dico al prog che mi interessa un quadrato e un rettangolo;
gli dico i vari dati (es. rettangolo e quadrato sono isoperimetrici, ecc.)
lui mi fa tutti i calcoli e li visualizza.
Che faccio?:confused: :confused: :confused:
:help: :help: :help: :help: :help:
Ah, un'altra cosa dato che io ODIO i GoTo, cosa potrei usare al loro posto?
Grazie a tutti ;)
wizard1993
29-03-2008, 15:39
non ho capito cosa vorresti che il programma facesse, poi i goto sono 20 anni che non si usano più, al loro posto
if, for, while, do...while,ecc in base al teorema di jacopini
agente mm8
29-03-2008, 18:03
Prendiamo in considerazione il seguente problema: conosco la base e l'altezza di un rettangolo, il quale è isoperimetric ad un quadrato. Quanto misura il lato del quadrato?
Intendo che ad esepio il prog ti chieda: "Quali figure devo trattare?" E tu gli dici rettangolo e quadrato
Poi gli dici che il rettangolo e isoperimetrico al quadrato, e che conosci base e altezza del rettangolo.
Allora lui ti fa il calcolo e te lo comunica.
Ora il problema è che non so come devo fare per far capire al prog le informazioni del tipo "A è isoperimetrico a B" e cosa del genere(con A e B intendo le due figure).
Che ne dite, un'aiutino ad un inesperto neofito programmatore glielo date?
:confused: :help: :cry:
Ah, grazie della dritta per i GoTo, ma credevo che ci fosse altro, quello che mi hai detto lo sapevo già
wizard1993
29-03-2008, 18:13
ti conviene creare due routine differenziate, fai prima, e meglio,
ad esempio puoi creare una procedura guidata o mettere una serie di variabili utilizzate come appunto per mantenere i valori in memoria, la soluzione si basa sempre nel ricondurre un problema a un insieme di sottoproblemi più semplici
banryu79
30-03-2008, 14:30
Prendiamo in considerazione il seguente problema: conosco la base e l'altezza di un rettangolo, il quale è isoperimetric ad un quadrato. Quanto misura il lato del quadrato?
Intendo che ad esepio il prog ti chieda: "Quali figure devo trattare?" E tu gli dici rettangolo e quadrato
Poi gli dici che il rettangolo e isoperimetrico al quadrato, e che conosci base e altezza del rettangolo.
Allora lui ti fa il calcolo e te lo comunica.
...
Beh, se il quadrato deve essere isoperimetrico ad un dato rettangolo, basta che dal rettangolo (o comunque da qualsisasi altra figura geometrica di riferimento) ricavi il suo perimetro: sapendo che il quadrato è isoperimetrico allora il valore del suo lato è calcolabile come il perimetro della figura di riferimento diviso 4 (i quattro lati del quadrato).
Con questo ragionamento è possibile creare una procedura/funzione che preso in ingresso il valore di un perimetro, e il numero di lati della figura isoperimetrica di cui si vuola calcolare la misura del lato, faccia il calcolo.
Potresti così passare in ingresso il perimetro di un qualsisasi poligono, perfino di un cerchio e chiedere in uscita la misura del lato di un altro poligono isoperimetrico al primo e che ha la caratteristica di avere tutti i lati uguali tra loro (ovvero un poligono equilatero: quadrato, pentagono, esagono, ecc...)
esempio funzione:
double calcolaLatoEquivalente(double refPerimetro, int numLati)
{
return refPerimetro/numLati;
}
Naturalmente nel contesto dove chiami questa funzione devi poter essere in grado di manipolare una figura geometrica per poter ricavare almeno le seguenti due informazioni:
1) ottenere dalla figura geometrica il suo perimetro (1° input della funzione);
2) ottenere da una figura geometrica il suo numero di lati (2° input della funzione).
Ehm... sto ragionando in termini di oggetti ma non so con quale paradigma tu programmi.
In ogni caso, spero che questi spunti ti aiutino, ciao :)
agente mm8
31-03-2008, 15:08
Ok, grazie a tutti per i consigli che mi avete dato!!!:)
Lasciando stare il codice, mi consigliate di creare un'applicazione windows form, oppure un'applicazione console?
Se è preferibile l'applicazione windows form, per dire ad esempio che Ab è i 2/3 di BC e cose del genere, devo usare degli inputbox, dei textbox, o che altro?
E poi come faccio a dire al prog che per esempio nella stringa "AB = 1/2 BC", "AB" indica questo segmento, che
"BC" indica quell'altro, che la cifra prima di "/" è il numeratore della frazione, ecc.?????????
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.