Correzione prova pratica del 3 ottobre 2003
Correzione prova pratica del 3 ottobre 2003
Istruzioni:
il commento iniziale rappresenta il giudizio complessivo sul programma. Nei commenti trovate:
- FIXME: segnalazione di un errore, non necessariamente sono tutti segnalati e non necessariamente sono tutti presi in considerazione
per il voto finale
- TODO: segnala l'assenza di parti di codice
- XXX: segnala qualcosa di non chiaro o inutile ai fini del codice, commenti di ordine generale, errori di battitura o suggerimenti
Il codice presentato non è necessariamente identico a quello consegnato in quanto possono essere state effettuate modifiche per
renderlo compilabile e/o per la corretta indentazione.
//XXX (3) svariati errori implementativi.
//Notartomaso Giovanni,143411,dis02
//03-10-2003,esame di fondamenti di informatica A,
//corso di laura in Ingegneria Informatica.
#include<iostream.h>
#include<string.h>
#include<stdio.h>
int matrice(int, int);
char s[20], t[20];
int n,m,DL,costo,i,j,a,b,c,min;
const int dim=21;
int d[dim][dim];
//FIXME l'utilizzo di variabili globali dove non necessario e' sbagliato!
void main()
{
cout<<"Inserire la prima stringa: \n";
gets(s);
cout<<"Inserire la seconda stringa: \n";
gets(t);
n=strlen(s);
m=strlen(t);
if(n==0)
DL=m;
else DL=n; //FIXME non aderente al testo!
matrice(i,j);
a=d[j+1][i]+1;
b=d[j][i+1]+1;
c=d[j][i]+costo;
do
{
if(d[0][j]==d[i][0])
costo=1;
else costo=0;
min=a < b ? a:b && b < c ? b:c; //faccio il confronto per vedere il minimo
} while(d[i][0]!=0 && d[j][0]!=0); //FIXME come esco da questo ciclo? (a parte cio' il testo ne prevedeva due).
DL=d[min][min]; //FIXME ???
if(n==0)
cout<<"la distanza di Levenshtein "<<DL<<endl;
else
cout<<"la distanza di Levenshtein "<<DL<<endl;
}
int matrice(int i,int j) //XXX di solito le variabili indice non si passano
{
n=strlen(s);
m=strlen(t); //FIXME se li era gia' calcolati
for(i=0; i<n; i++)
{
for(j=0; j<m; j++);
} //FIXME due cicli nidificati che non sottintendono nessuna istruzione?
// E' vero che i PC di oggi sono molto veloci ma buttare via cicli macchina cosi' mi sembra eccessivo!
return 0;
}
Se avete commenti o osservazioni su questa pagina
mandate un messaggio di posta elettronica a
bertozzi@CE.UniPR.IT