Anteprima
Vedrai una selezione di 6 pagine su 24
Svolgimento domande da 5 punti Pag. 1 Svolgimento domande da 5 punti Pag. 2
Anteprima di 6 pagg. su 24.
Scarica il documento per vederlo tutto.
Svolgimento domande da 5 punti Pag. 6
Anteprima di 6 pagg. su 24.
Scarica il documento per vederlo tutto.
Svolgimento domande da 5 punti Pag. 11
Anteprima di 6 pagg. su 24.
Scarica il documento per vederlo tutto.
Svolgimento domande da 5 punti Pag. 16
Anteprima di 6 pagg. su 24.
Scarica il documento per vederlo tutto.
Svolgimento domande da 5 punti Pag. 21
1 su 24
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

Università Politecnica delle Marche, Facoltà di Ingegneria, Corsi di Laurea in Ingegneria Gestionale

Fondamenti di Informatica (A-L/M-Z) – (Prof. E. Frontoni)

PROVA SCRITTA – 26 Marzo 2018

Avvertenze:

  • Consegnare solo fogli formato A4 scritti su un solo lato (no fronte-retro)
  • In testa a ciascun foglio scrivere: cognome, nome, numero progressivo di pagina rispetto al totale esempio per il secondo foglio di 3 consegnati: Giuseppe Russo 2/3
  • Mantenere sul banco il libretto o altro documento di riconoscimento fino a controllo avvenuto
  • Nient’altro deve trovarsi sul banco: non è consentito consultare libri, dispense, appunti, ecc.
  • La correzione di riferimento per l’autovalutazione verrà effettuata subito dopo l’esame.
  1. (24 punti) Un file di testo SCHEDINA.DAT, di lunghezza non nota, contiene su ciascuna riga le seguenti informazioni: nome della squadra ospitante, nome della squadra ospite e il risultato della partita (1,0,2). Il nome della squadra ospite e quello della squadra ospitante sono due stringhe di massimo 20 caratteri, mentre il risultato è espresso mediante un intero.
    • Costruire una struttura dati idonea a contenere oltre ai dati di cui sopra: due stringhe e un intero.
    • Scrivere un programma che leggendo i dati dal file, li inserisca in una lista ordinata in ordine decrescente rispetto al valore del risultato.
    • Effettuare la stampa a video della lista così ottenuta.
    • Memorizzare su un file di testo FUORICASA.DAT solo i nomi delle squadre vincitrici fuori casa (valore del risultato 2)

    SCHEDINA.DAT milan juve 2 inter lazio 1 roma napoli 0 udinese spal 2

  2. Indicare cosa stampa il seguente codice (6 punti)

#include <stdio.h>

int funz(int *x, int *y); int main() {     int x[4]={3, 2, 5, 1};     printf("%d %d\n", funz(x,&x[3]), funz(&x[1], &x[3]));     return 0; } int funz(int *x, int *y) {     int z, k=0;     for (z=0; z < 2; z++)         k+=(*x++)+(*y--);     return k; }

N.B.: Riportare graficamente il ragionamento effettuato, è sufficiente l’utilizzo di una tabella.

x[0] 3

x[1] 2

x[2] 5

x[3] 1

  • funz (x, &x[3])

    • a)

    x = &x[0]

    • b)
  • funz (&x[1], &x[3])

    • a)
    • b)

Perchè ++/-- nonostante le parentesi agiscono dopo l'incremento ?

FERROTECNICA 3000 s.r.l.

Via Il Giugno, 10 (PAGLIARE DEL TRONTO) Tel. 0736.898677 - Fax 0736.892137 63078 SPINETOLI (AP) e-mail: renum@ferrotecnica3000.it e-mail: tec@ferrotecnica3000.it Codice Fiscale e Partita IVA 01471510444 R.E.A. n. 138694 - R.I. AP n. 007-9274 Capitale Sociale € 62000,00 int. vers.

22/01/2018

  1. a
  2. 6
  3. b
  4. 8
  5. t
  6. 0

funz(2,6) → return 8 + funz(8,6) → return 6 + funz(6,2) → return 2 + funz(2,0) else return x (8+6+2+2)

printf (t = 18)

Fondamenti di Informatica

Avvertenze:

  • Consegnare solo fogli formato A4 scritti su un solo lato (no fronte-retro)
  • In testa a ciascun foglio scrivere: cognome, nome, numero progressivo di pagina rispetto al totale
  • Mantenere sul banco il libretto o altro documento di riconoscimento fino a controllo avvenuto
  • Nient’altro deve trovarsi sul banco: non è consentito consultare libri, dispense, appunti, ecc.
  • La correzione di riferimento per l’autovalutazione verrà effettuata subito dopo l’esame.
  1. (24 punti) Un file di testo prodotti.dat, di lunghezza non nota, contiene su ciascuna riga un numero intero (costituito da 6 cifre), che indica l’ID di un prodotto, un numero intero che indica la quantità di prodotti acquistati e un numero intero che indica la quantità di prodotti venduti. Costruire una struttura data idonea a contenere i tre interi.

    • Scrivere un programma che leggendo i dati dal file, costruisca una lista delle strutture ordinate secondo un ordinamento crescente rispetto all’ID del prodotto.
    • Stampare a video l’intera lista così ottenuta.
    • Chiedere di immettere da tastiera l’ID di un prodotto e se presente nella lista, stampare a video la differenza tra la quantità di prodotto acquistato e la quantità di prodotto venduto, altrimenti stampare a video che l’ID non è presente.
    prodotti.dat 223450 55 50 457890 35 32 154632 19 9 245790 14 9 244560 60 45 238081 40 21 257072 36 18 223215 42 23
  2. Che cosa stampa il seguente programma? (Riportare l’intero ragionamento) (6 punti)

    #include<stdio.h> int main() { int x,y; int *p1,*p2; x = 1; y = 3; p1 = &x; p2 = &y; *p1 = *p2+1; p2 = p1; *p2 = *p2 - *p1; printf("x=%d y=%d\n",x,y); }

X

Y

*fun1( &x,y )

0

0

4

0

1

5

t -> X

fun2( x,y )

0

0

1

1

8 -> t = 2 * X -> 8 (2.0)

8 -> t + 3 * X -> 8 (3.0)

STAMPA t = 8 y = 1

  • fun1 modifica il valore perché ha una variabile di tipo puntatore
  • fun2 non modifica perché ha solo variabili locali

Università Politecnica delle Marche, Facoltà di Ingegneria, Corsi di Laurea in Ingegneria Gestionale

Fondamenti di Informatica

PROVA SCRITTA – 27 Febbraio 2017

Avvertenze:

  • Consegnare solo fogli formato A4 scritti su un solo lato (no fronte-retro)
  • In testa a ciascun foglio scrivere: cognome, nome, numero progressivo di pagina rispetto al totale
  • Esempio per il secondo foglio di 3 consegnati: Giuseppe Russo 2/3
  • Mantenere sul banco il libretto o altro documento di riconoscimento fino a controllo avvenuto
  • Niente altro deve trovarsi sul banco: non è consentito consultare libri, dispense, appunti, ecc.
  • La correzione di riferimento per l'autovalutazione verrà effettuata subito dopo l'esame.
  1. (24 punti) Sia dato un file di testo esame.dat, di lunghezza non nota, che contiene su ciascuna riga 2 stringhe di al massimo 30 caratteri che rappresentano rispettivamente il cognome e il nome di uno studente e un intero che indica il voto ottenuto in esame. Costruire una struttura data idonea a contenere i dati indicati sopra: due stringhe (una per il cognome e l’altra per il nome) e un intero (per il voto).

    1. Scrivere un programma che leggendo i dati dal file, li inserisca in una lista ordinata secondo un ordinamento crescente rispetto al cognome dello studente.
    2. Stampare a video l'intera lista ordinata.
    3. Calcolare la media dei voti (float) e stampare a video il valore della media ottenuto.

    ESEMPIO: esame.dat

    Rossi Paolo 27Bianchi Luigi 29Verdi Remo 30Alberani Rosa 19Zanetti Lorenzo 25Neri Francesca 24Viola Valentino 21

  2. Che cosa stampa il seguente programma? (Riportare l’intero ragionamento) (6 punti)

    #include <stdio.h> int funz(int *x, int y); int main() { int x=0, y=4; if (funz(&x, y)) printf("\n%d, %d \n", y, funz(&y, x)); else printf("\n%d, %d \n", funz(&y, x), y); return 0; } int funz(int *a, int b) { *a+=b; return *a-b++; }
Dettagli
A.A. 2017-2018
24 pagine
1 download
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher M.FabioCorradetti di informazioni apprese con la frequenza delle lezioni di Fondamenti di informatica e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università Politecnica delle Marche - Ancona o del prof Frontoni Emanuele.