Forum

Nome Utente:
Password:
Riconoscimi automaticamente
 Tutti i Forum
 MolecularLab
 Bioinformatica
 Esercizi informatica
 Nuova Discussione  Nuovo Sondaggio Nuovo Sondaggio
 Rispondi Aggiungi ai Preferiti Aggiungi ai Preferiti
Cerca nelle discussioni
I seguenti utenti stanno leggendo questo Forum Qui c'è:

Aggiungi Tag Aggiungi i tag

Quanto è utile/interessante questa discussione:

Autore Discussione  

tobina
Nuovo Arrivato


Prov.: milano
Città: milano


26 Messaggi

Inserito il - 17 settembre 2007 : 17:21:09  Mostra Profilo  Visita l'Homepage di tobina Invia a tobina un Messaggio Privato  Rispondi Quotando
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  Mostra Profilo  Visita l'Homepage di dallolio_gm  Clicca per vedere l'indirizzo MSN di dallolio_gm Invia a dallolio_gm un Messaggio Privato  Rispondi Quotando
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! :-)
Torna all'inizio della Pagina

biomolecola
Nuovo Arrivato


Prov.: Napoli
Città: Napoli


40 Messaggi

Inserito il - 17 settembre 2007 : 23:15:50  Mostra Profilo  Visita l'Homepage di biomolecola  Clicca per vedere l'indirizzo MSN di biomolecola Invia a biomolecola un Messaggio Privato  Rispondi Quotando
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
Torna all'inizio della Pagina

chick80
Moderatore

DNA

Città: Edinburgh


11491 Messaggi

Inserito il - 18 settembre 2007 : 00:05:01  Mostra Profilo  Visita l'Homepage di chick80 Invia a chick80 un Messaggio Privato  Rispondi Quotando
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+!)
Torna all'inizio della Pagina
  Discussione  

Quanto è utile/interessante questa discussione:

 Nuova Discussione  Nuovo Sondaggio Nuovo Sondaggio
 Rispondi Aggiungi ai Preferiti Aggiungi ai Preferiti
Cerca nelle discussioni
Vai a:
MolecularLab.it © 2003-18 MolecularLab.it Torna all'inizio della Pagina