Quanto è utile/interessante questa discussione:
Autore |
Discussione |
|
tobina
Nuovo Arrivato
Prov.: milano
Città: milano
26 Messaggi |
Inserito il - 17 settembre 2007 : 17:21:09
|
Ciao! ho bisogno di un aiuto per degli esercizi di informatica in cui ho dei serissimi problemi. Esercizi: - Si consideri il seguente frammento di codice:
int A[5] = { 0,0,0,1,0 };
i = 0;
while (i < 5) {
If ( i < 4)
A[i] = i + A[ i + 1];
i ++ ;
}
Quanto vale alla fine i ? Si scriva il contenuto di A ?
-Per ognuno dei seguenti valori
a) tre
b) cinque
si dica quali sono i numeri (espressi in decimale) più piccoli e più grandi che possono essere rappresentati utilizzando una codifica in complemento a 2 con il suddetto numero di bit..
- I termini delle seguenti espressioni rappresentano numeri in complemento a 2 con 5 bit. Si esprima (in decimale) l'insieme dei valori che può assume la variabile x.
11011 > x
10011 + 10001 < x
Grazie meille a chi mi aiuterà.
|
|
|
dallolio_gm
Moderatore
Prov.: Bo!
Città: Barcelona/Bologna
2445 Messaggi |
Inserito il - 17 settembre 2007 : 18:57:46
|
Allora, per fare domande su esercizi in questo forum, si fa cosi':
- innanzitutto scrivi il testo dell'esercizio che non riesci a fare e spieghi dove trovi difficoltà; - infine, devi dare una idea di quale sia la soluzione secondo te, e noi te la correggiamo e ti indichiamo dove sbagli se è scorretta.
Mi dispiace ma non ti possiamo fare i compiti via Internet :) |
Il mio blog di bioinformatics (inglese): BioinfoBlog Sono un po' lento a rispondere, posso tardare anche qualche giorno... ma abbiate fede! :-) |
|
|
biomolecola
Nuovo Arrivato
Prov.: Napoli
Città: Napoli
40 Messaggi |
Inserito il - 17 settembre 2007 : 23:15:50
|
Ma il pezzo di codice è un frammento di Java, come sembra? Se è così, l'istruzione
int A[5] = { 0,0,0,1,0 };
è errata!!! In questo modo dici al programma di allocare nella posizione 6 dell'array A una serie di valori... ed è errata la sintassi, comunque... Ricorda sempre che i puntatori ad array in java partono da ZERO, quindi A[5] fa riferimento all'elemento 6 dell'array.
Quando scrivi
A[ i + 1]
Intendi il valore successivo a quello cercato eg. per i=1 A[i+1] sarà il valore contenuto nella cella 3 (ricordando sempre che l'indexing dell'array parte da zero). Tradotto in italiano, il tuo pezzettino di codice chiede di sommare al valore attuale di "i" il valore contenuto nella cella successiva alla posizione attuale che è data proprio da "i".
Ti posto un aggiustino al codice, che runnato in Java ti da di volta in volta il valore esatto di i ed il valore finale degli elementi dell'array
public class Main { public static void main(String[] args) { int A[] = {0,0,0,1,0}; int i = 0; while (i < 5) { if (i < 4) A[i] = i + A[i + 1]; System.out.println("La cella " + i + " ha valore " + A[i]); System.out.println("Alla fine del passaggio i vale " + i + "\n"); i++; } System.out.println("Alla fine dell'ultimo passaggio i vale " + i + "\ned è proprio per questo che è uscito dal ciclo iniziato dal while \ne tenuto in essere dalla condizione di if"); System.out.println("\nAlla fine dell'operazione L'array contiene i valori " + " " + A[0] + " " + A[1] + " " + A[2] + " " + A[3] + " " + A[4]); } }
Eccoti il risultato del run --------------------------- La cella 0 ha valore 0 Alla fine del passaggio i vale 0
La cella 1 ha valore 1 Alla fine del passaggio i vale 1
La cella 2 ha valore 3 Alla fine del passaggio i vale 2
La cella 3 ha valore 3 Alla fine del passaggio i vale 3
La cella 4 ha valore 0 Alla fine del passaggio i vale 4
Alla fine dell'ultimo passaggio i vale 5 ed è proprio per questo che è uscito dal ciclo iniziato dal while e tenuto in essere dalla condizione di if
Alla fine dell'operazione L'array contiene i valori 0 1 3 3 0
Spero di esserti stata utile. Il lavoraccio l'ha fatto il mio fidanzato mezzo ingegnere informatico. Pensa di aver creato qualcosa di buono... anche se ora è molto stanco e non tocca Java dai tempi del nonno... |
W la ricerca |
|
|
chick80
Moderatore
Città: Edinburgh
11491 Messaggi |
Inserito il - 18 settembre 2007 : 00:05:01
|
Citazione: Ma il pezzo di codice è un frammento di Java, come sembra? Se è così, l'istruzione
int A[5] = { 0,0,0,1,0 };
è errata!!! In questo modo dici al programma di allocare nella posizione 6 dell'array A una serie di valori... ed è errata la sintassi, comunque... Ricorda sempre che i puntatori ad array in java partono da ZERO, quindi A[5] fa riferimento all'elemento 6 dell'array.
Non conosco java, ma quella è un'istruzione C++ valida che inizializza un array di 5 elementi. |
Sei un nuovo arrivato? Leggi il regolamento del forum e presentati qui
My photo portfolio (now on G+!) |
|
|
|
Discussione |
|
|
|
Quanto è utile/interessante questa discussione:
MolecularLab.it |
© 2003-18 MolecularLab.it |
|
|
|