Informatica
Discussioni su argomenti di Informatica
Domande e risposte
Ordina per
In evidenza
Salve a tutti, ho bisogno di un aiuto nella risoluzione di questo esercizio sugli alberi binari.
La traccia è la seguente:
Dato un albero T i cui nodi sono etichettati con uno dei due possibili colori verde e giallo, progettare un algoritmo che stabilisca se esiste un cammino monocromatico radice-foglia. Scrivi uno pseudo codice ed analizza la sua complessità.
Allora io ovviamente ho utilizzato la tecnica del Divide et impera però ho qualche dubbio sull'ultima ...

Ciao a tutti!
Sto cercando un modo per disattivare (e successivamente ri-attivare) una specifica porta USB del PC (Windows 7).
Andrebbe bene anche disattivare tutte le porte USB del PC per poi riattivarle in quanto sarebbe un'operazione da fare poco dopo l'accensione del PC per "refreshare" un componente hardware che si mette in blocco all'inizio.
Dovrei far ciò utilizzando codice C o Java (non fa differenza).
Ho cercato sul web ma ho trovato solo codice che funziona con versione vecchie di ...

Ciao ragazzi.
Avrei un dubbio riguardo una sommatoria in C.
Dovrei scrivere la seguente formula:
$S=(1/200)*(\sum|P(t)-C|)$
Avevo pensato di scrivere:
double P[TIME], C, sum;
int t;
sum=0.;
for(t=1; t<200; t++){
sum=(1/200)*(sum+fabs(P[t]-C));
}
printf("Sum: %lf\n", sum);
E' corretto?
Vi ringrazio per l'aiuto
p.s. gli estremi della sommatoria sono 1 e 200.
Buonasera a tutti, non riesco a chiarire questo dubbio:
Per la risoluzione di un'equazione di ricorrenza come faccio a stabilire se ha ordine $O(g(n))$ o $Theta(g(n))$? Dal punto di vista teorico mi è chiaro il significato di entrambi, però quando guardo la risoluzione di alcuni esercizi non riesco a capire il ragionamento che è stato applicato.
Per definire che un algoritmo ha complessità $Theta(g(n))$ devo conoscere anche $\mathcal{Omega}(g(n))$, come faccio a trovarmi la ...
Buongiorno, ho un problema di informatica teorica. Ho un esercizio che si sviluppa in due punti:
-generare una grammatica context-free dato il linguaggio $L={a^n w a^m | w=aba$ oppure w=abba e $m=2n$ con $m,n>0}$
-generare una grammatica context-free dato il linguaggio delle parole che hanno lunghezza dispari e il primo elemento e' diverso da quello centrale e da quello finale (es. [size=150]a[/size]ba[size=150]b[/size]ba[size=150]b[/size]}
entrambi i linguaggi sono ...

Salve,
un esercizio d'informatica mi chiede, una volta aver moltiplicato 15 per l'ultima cifra della prima riga di un foglio excel (5), di creare un file ascii di nome "codifica" ed estensione appropriata, riportare la conversione in binario e i relativi passaggi del numero ottenuto (75).
Ho visto che ascii è una codifica di un file di testo, come si fa ad ottenerlo?
Buonasera, non so se questa sia la categoria giusta per la mia domanda ma non sapevo in quale altra metterla altrimenti.
Ho un problema per quanto riguarda gli automi a stati finiti di informatica teorica, in particolare nella conversione di un NFA in DFA.
Devo scrivere un NFA che legga le parole che terminano per 'bbb' e hanno lunghezza multiplo di tre. Io ho trovato quello che credo sia l'NFA corretto ma sinceramente non saprei come disegnarlo qui. Comunque in poche parole ho:
uno stato ...

Come disegnereste Stack e Heap stando alla traccia di questo esercizio?
/**
* ESERCIZIO 4 (Massimo 8 punti -- da consegnare a mano).
*
* Scrivere lo stato della memoria della JVM alla riga col commento // (B),
* ovvero giusto prima della disallocazione del frame relativo ad x, quando
* il valore di j nel main e' pari ad 1.
*/
public static void x(int l, boolean[][] a) {
boolean[] b = new boolean[2];
int i;
for (i = 0; i < l; i++)
b = (i % 2 == ...

Salve a tutti, ho da pochi minuti svolto il seguente esercizio:
* Scrivere un metodo ricorsivo exDue con le seguenti caratteristiche:
* a) exDue lavora su un array a passato per riferimento;
* b) exDue restituisce l'array a, modificato in modo che:
* 1) tutti e soli gli elementi di a per cui il metodo test dato e' vero siano incrementati di 1;
* 2) l'indice che guida la ricorsione CRESCA durante le chiamate ricorsive.
*
* ESEMPI.
* Se b-->{0, 2, 5, 1, 4} ...

Sto studiando per un esame e mi sono imbattuto in due esercizi che non so come risolvere:
1) Considerare formule generate dalla sintassi
F::=⊥|¬F|F∧F|F∨F
Definire per ricorsione strutturale una funzione c(F) che ritorni true sse tutte le negazioni occorrono come sottoformule di almeno una congiunzione.
Esempio:
c(¬(⊥∧⊥)) = false
c(⊥∧(⊥∨¬⊥)) = true
Qui il grande dubbio è: come faccio, dopo aver appurato che c'è una congiunzione, vedere se c'è anche la negazione nelle sue sottoproduzioni ...

Il problema mi chiede di determinare il numero di volte che la funzione $ 3xe^(4x^2)cos(2/3pix)+50(1+sin(7x)) $ assume il valore 40 nell'intervallo $[-1,1]$.
Il codice in allegato è il mio tentativo di risoluzione con risultato, errato, uguale a zero. Penso che il problema sia il fatto che la funzione non assume mai esattamente il valore 40, bensì valori molto vicini; pertanto suppongo si debba impostare una tolleranza tale per cui la condizione è ugualmente verificata. Sbaglio? Se ho dedotto correttamente ...

Salve a tutti, ho recentemente tentato di svolgere il seguente esercizio:
* ESERCIZIO 3 (Massimo 7 punti -- da consegnare a mano).
* Dimostrare per induzione su un opportuno parametro che, per ogni n >= 0
* e' vero il predicato P(n) = "exTre(2^n) == n",
* dove il metodo ricorsivo exTre e' definito da:
static int exTre(int n){
if (n > 1)
return 1 + exTre(n/2); // la divisione e' intera
else
return 0;
}
*
* Svolgere su foglio l'esercizio secondo la seguente traccia:
*
...

Ciao a tutti, scrivo per via di un dubbio sorto durante l' esecuzione di un esercizio:
* ESERCIZIO 3 (Massimo 3 + 1 + 2 + 2 + 2 punti -- da consegnare a mano).
* Dato il metodo exTre con precondizione n >= 0 e postcondizione:
* r > 0 se e solo se n % 2 == 0 ,
* sviluppare, uno alla volta, i seguenti passi:
* 1) scrivere formalmente un predicato, basato su (r > 0 se e solo se n % 2 == 0),
* che permetta di dimostrare per induzione la correttezza parziale di ...
Ciao, spero di aver scritto nella sezione giusta dato che è un esercizio di calcolo numerico ma su matlab.
In un esercizio ho notato che:
quando devo risolvere Ax=b facciamo
PAx=Pb; LUx=Pb allora chiamo Ux=y e ottengo Ly=Pb. Fin qui tutto apposto, la teoria non è un problema.
Ho notato che su matlab fa y=L\(P*b), ma perché fa così? Io farei così y=inv(L)*P*b ed, in effetti, il risultato è lo stesso!
Grazie in anticipo!

Salve ragazzi,
volevo chiedere se qualcuno di voi conosce un software in grado di fare animazione vettoriale.
Mi spiego meglio, vorrei che se creo una sfera e le assegno una equazione del moto, il software mi mostri il moto della sfera.
Spero di essere stato sufficientemente chiaro. Grazie
Ciao, ho bisogno di una mano perché ci sono due cose che non ho chiare!
1) In un esempio del libro calcola la somma degli elementi positivi e minori di a della pare triangolare superiore di una matrice A di dimensioni n x n:
metto per completezza tutto il codice ma è solo la parte in grassetto che non capisco! Cosa fa? E cosa è ˜ o ˜=?
[n m]=size(A);
if n ˜= m
somma = [];
return
end
somma=0;
for i=1:n
j=i;
while j0 e A(i,j)

Ciao a tutti! Vorrei chiedere alcune delucidazioni in merito ai seguenti esercizi, in quanto non riesco a venirne a capo
1) Si consideri $f(x)=3x*cos(x)*sin(x)$. Si costruisca il polinomio p di grado 7 interpolante f su nodi equispaziati nell'intervallo $[0,2pi]$, includendo gli estremi nei nodi di interpolazione. Il valore di $|f(pi/2)-p(pi/2)|$ è... ?
Io ho svolto il seguente codice, tuttavia non so come calcolare l'ultimo quesito relativo alla differenza in valore assoluto delle due ...

Salve, ho un problema con Matlab. In pratica dovrei fare delle operazioni letterali, quindi ho definito la mia incognita x nella maniera seguente: x=sym('x','real');
Il problema è che quando scrivo, ad esempio, x+0.1, automaticamente me lo "traduce" in frazione, scrivendo quindi x+1/10.
Sembra un problema insignificante, ma se uso numeri decimali un po' più corposi li trasforma in frazioni paurose. Allego una foto per mostrare il problema. Ho già settato le impostazioni in maniera tale che si ...
Scrivere in C una funzione ricorsiva denominata diag che prende come (soli) parametri: una matrice quadrata di interi (array bidimensionale) e la dimensione della matrice. La funzione restituisce il valore letto sulla diagonale principale (dall’angolo in alto a sinistra a quello in basso a destra) se i valori sono tutti uguali, -1 altrimenti.
Questo è il testo dell'esercizio e questo è il modo in cui l'ho risolto:
...
int diag(m[][r], int r){
if(r==0)
...

Salve a tutti,
io avrei bisogno di un aiuto per un programma che mi chiede di verificare se nelle due diagonali principali di una matrice siano contenuti gli stessi numeri, e se per caso uno non fosse contenuto dovrei stamparlo.
Vi posto il codice che sono riuscito a scrivere finora:
#include<iostream>
using namespace std;
main()
{
cout<<"start"<<endl;
int d1, d2; // in d1 pensavo di salvare il primo numero non contenuto nella diagonale ...