• Non ci sono risultati.

Fondamenti di Informatica I / Fondamenti di Programmazione Prova scritta del 13 luglio 2010

N/A
N/A
Protected

Academic year: 2021

Condividi "Fondamenti di Informatica I / Fondamenti di Programmazione Prova scritta del 13 luglio 2010"

Copied!
1
0
0

Testo completo

(1)

Fondamenti di Informatica I / Fondamenti di Programmazione Prova scritta del 13 luglio 2010

Esercizio 1 (punti 15) Un file contiene una sequenza di interi positivi scritti in varie basi, uno per riga. Ciascuna riga contiene il numero n tra parentesi seguito da uno spazio e dalla sua base b, con 2 ≤ b ≤ 36. I numeri in base b > 10 sono scritti utilizzando le prime b − 10 lettere maiuscole.

Come esempio si consideri il seguente file.

(23) 10 (EF0) 18 (2NG) 33 (1204) 5

Si scriva una funzione C che riceva come parametro il nome di un file siffatto e restituisca la somma dei numeri scritti nel file.

Nell’esempio, la funzione deve restituire il valore 7961, che ` e la somma di 23, 4806, 2953 e 179, corrispondenti rispettivamente a (23)

10

, (EF 0)

18

, (2N G)

33

, (1204)

5

.

Esercizio 2 (punti 15) Si considerino le seguenti dichiarazioni di tipo, utilizzate per rappresentare rispettivamente un punto ed un segmento nel piano.

struct Punto struct Segmento

{ {

float x; struct Punto p1;

float y; struct Punto p2;

}; };

Una linea spezzata (aperta) ` e rappresentata da una sequenza di punti p

1

,. . . ,p

n

, tali che ogni coppia di punti consecutivi p

i

, p

i+1

corrisponde ad un suo segmento.

Una linea spezzata ` e non intrecciata se ogni coppia di lati non consecutivi ` e priva di punti in comune. Ad esempio, la linea qui sotto a sinistra ` e non intrecciata, mentre quella a destra ` e intrecciata.

Si scriva una funzione C che riceva come parametri un vettore di punti (e la sua lunghezza) e restituisca 1 se la linea spezzata che il vettore rappresenta ` e non intreccata, 0 se ` e intrecciata.

Si consideri disponibile (gi` a realizzata) la funzione

int PuntiInComune(struct Segmento s1, struct Segmento s2);

che restituisce 1 se i segmenti s1 e s2 hanno punti in comune, 0 altrimenti.

Riferimenti

Documenti correlati

Esercizio 2 (6 punti) Scrivi un metodo statico (comprensivo di prototipo) che prende in ingresso (cioè come parametro) tre numeri interi e che restituisce il maggiore

Esercizio 2 (6 punti) Scrivi un metodo statico (comprensivo di prototipo) che prende in ingresso (cioè come parametro) una matrice di interi e che restituisce la somma degli

Si scriva un programma in linguaggio C che riceva sulla linea di comando il nome di un file contenente le giocate come sopra descritto e stampi il punteggio dei due

Per fare questo, si vuole aggiungere al testo originale l’elenco dei sinonimi di ogni parola presente nel dizionario dei sinonimi sopra descritto, accodandoli

"Avatar": Sam Worthington, Zoe Saldana, Sigourney Weaver, Stephen Lang, Michelle Rodriguez. "Everest": Josh Brolin, Jason Clarke, John Hawkes, Robin Wright,

Si scriva un programma che riceva sulla riga di comando il nome di un file siffatto e una destinazione e stampi i codici di tutti i treni che raggiungono tale destinazione in

Si scriva un programma in linguaggio C che riceva come argomenti sulla riga di comando il nome della località e una data e chiami la funzione descritta nell’esercizio

La funzione deve riempire le righe della matrice secondo lo schema sopra riportato e restituire, in un’apposita struttura, il numero di righe riempite e la loro lunghezza (cioè