Newsgroup: it.istruzione.universita.ingegneria
Titolo: INFORMATICA 1 E' IMPOSSIBILE. HO LE PROVE!

Oggi sono andato a fare l'esame di fond. di info 1 e consisteva in 3
esercizi (funzioni) da scrivere in c++. L'ho preparato in circa 3
settimane studiando poco + di 3 ore al giorno (č poco o puň bastare?)
ma non mi sentivo molto pronto soprattutto sulle classi e sugli
alberi.
Il tema d'esame era basato su un es. sulle matrici, uno con
liste+alberi e l'ultimo sulle classi; ho deciso di fare almeno quello
sulle matrici dato che gli altri argomenti non sono riuscito a
digerirli. L'es sulle matrici consisteva nel creare una funzione che
riceveva in input la matrice, gli indici di riga e colonna di un
elemento a scelta della stessa  e un valore che indica il numero di
cornici. Ora spiego. La funzione deve stampare gli elementi che stanno
attorno all'elemento scelto, in senso orario, creando una prima
cornice di 4 elementi, e cosě via (quando si esce dai limiti della mat
si scriveva 0 a video) a forma di rombo; spero di essermi spiegato.
Ho riportato il testo per sentire da voi come lo avete trovato.
All'esame molti l'hanno fatto e l'hanno trovato facile (perchč l'hanno
saputo fare) mentre io ho passato 2 ore a chiedermi un sacco di
domande tipo che ciclo uso, come scompongo il problema, da che parte
lo prendo, come faccio a percorrere la matrice in diagonali
diverse....ma soprattutto ce la farň a passarlo!!
Dalle mi domende vi chiedo di dirmi dove ho sbaligato, se ho studiato
poco, se mi sono esercitato poco (avrň fatto meno di 10 programmi
prima dell'esame), o cosa dovrei fare.
GRAZIE IN ANTICIPO
Saluti
Mario

/* programma:                         */
/* si e' affrontato il caso generale  */
/* in cui si hanno 8 caselle attorno  */
/* all'elemento                       */
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#define n 4     /* n righe            */
#define m 5     /* m colonne          */
#define N 4 + 2 /* aggiungo 2 righe   */
#define M 5 + 2 /* aggiungo 2 colonne */
int a[n][m], b[N][M];
int main (void);
void inizializza (void);
void acquisisci (int *, int *);
void visualizza (void);
void copia (void);
void stampa_risultato (int *, int *);
int i, j; /* contatori globali */
int main (void)
{
 int riga, colonna;
 inizializza ();
 acquisisci (&riga, &colonna);
 visualizza ();
 copia ();
 stampa_risultato (&riga, &colonna);
 printf("\n\n\tPremere un tasto per uscire!\n");
 getch();
 return 0;
}
void inizializza (void)
{
 for (i=0; i<N; ++i)
  for (j=0; j<M; ++j)
   b[i][j] = NULL;
}
void acquisisci (int *riga, int *colonna)
{
 system ("cls");
 for (i=0; i<n; ++i)
  for (j=0; j<m; ++j)
  {
   printf ("Inserire l'elemento a(%d, %d): ", i+1, j+1);
   scanf ("%d", &a[i][j]);
  }
 printf ("\n\tInserire l'indice di riga (con la convenz. di numeraz. del C)
: ");
  scanf ("%d", &i);
 printf ("\n\tInserire l'indice di colonna (con la convenz. di numeraz. del
C) : ");
 scanf ("%d", &j);
 *riga = i;
 *colonna = j;
}
void visualizza (void)
{
 system ("cls");
 for (i=0; i<n; ++i)
 {
  printf("\n");
  for (j=0; j<m; ++j)
   printf ("%3d", a[i][j]);
 }
}
void copia (void)
{
 for (i=0; i<n; ++i)
  for (j=0; j<m; ++j)
   b[i+1][j+1] = a[i][j];
}
void stampa_risultato (int *riga, int *colonna)
{ 
 int k, z;
 k= *riga;
 z= *colonna;
 printf ("\n\n");
 for (i=0; i<3; ++i)
  for (j=0; j<3; ++j)
  {
   if (b[k+1-1+i][k+1-1+j] == a[k][z])
    continue; /* salto l'elemento puntato */
   else
    printf ("[%d]  ", b[k+1-1+i][z+1-1+j]);
  } 
}
/* fine */

prima dell'esame), o cosa dovrei fare.
...la seconda che hai detto. :)
Il programma e' molto facile.
Ciao
----
Bito
per rispondermi cancella XXX dal mio indirizzo.
to reply please remove XXX from my address

 wrote in message
news:394e9341...@news.interbusiness.it...


Studia e lo troverai facile...
Finora non l'ho trovato facile. Perchè da voi a cagliari com'è? Tu
puoi già fare il bagno!! Puoi studiare in spiaggia mentre guardi le
turiste che si abbronzano, ecco perchè passi gli esami!! 
Scherzi a parte ti saluto e ti ringrazio per l'attenzione.
Mamo

 turiste che si abbronzano, ecco perchè passi gli esami!!
Non credo che in questo modo la concentrazione aumenti... ;-)
--
-Capitano Jean-Luc Picard-
ufficiale in comando della U.S.S. Enterprise
e numero 1 del Super Squadrone Caserta
http://members.xoom.it/ssc
Niubbo perpetuo di it.fan.startrek
ICQ # 64155719
No a Inzaghi e Pessotto in nazionale.
«No alla violenza sugli spalti. Facciamola in campo!»

 
Io ho trovato che cimentarsi sui temi d'esame sia molto utile per capire
a che punto si e'. Poi la quantita' di esercizi e di studio necessaria
penso dipenda dalla persona, dall'esame e da un casino di altri fattori.
-- 
Ale Radici |  WebMail: 
rad...@yoyomail.com
 (no attach)
     Il futuro dell' e-commerce: 
http://www.cump.ra
Notizie e approfondimenti sportivi: 
http://www.datasport.it

Ciao Mamo!
A mio parere info non è eccezionalmente difficile: recupera i vecchi testi
di esami e vedrai che sono simili, o almeno sfruttano sempre un certo numero
piuttosto ristretto di algoritmi (stà a te metterli insieme nel modo più
efficiente).
Di più non posso dire, anche perchè io info ai miei tempi l'ho fatta in
Pascal, e poi a Cagliari l'esame è sicuramente diverso.
Ciao
/Andrea
PS: se fossi stato a studiare sulla spiaggia a guardare le fighe in bikini
fra 20 anni stavo ancora all'uni... anzi, al Poetto! ;-)))