You are on page 1of 3

Prova scritta di Fondamenti di Informatica del 19 gennaio 2015 (traccia 1) – CDL Ing.

Industriale
Siano dati in ingresso due matrici di numeri interi M1 e M2. Scrivere un programma che, per ogni riga di
M1, conti il numero N di colonne di M2 aventi almeno un elemento in comune con tale riga. Dette R1 ed
R2 le righe di M1 aventi rispettivamente il più grande ed il più piccolo valore per il numero N, si provveda
a scambiare gli elementi di tali righe. Stampare infine le matrici M1 e M2 cosi’ ottenute. Si organizzi il
programma in sottoprogrammi.

Prova scritta di Fondamenti di Informatica del 19 gennaio 2015 (traccia 2) – CDL Ing. Industriale
Siano dati in ingresso una matrice di numeri interi M ed un vettore di interi V. Si assuma che il numero di
colonne di M sia uguale al numero di elementi di V. Scrivere un programma che verifichi se esiste una riga
R della matrice M contenente una sequenza di K elementi consecutivi che si presenta identica in V (con K
costante assegnata). Se tale condizione risulta verificata, si provveda ad eliminare da V la sequenza di K
elementi trovata. Stampare infine la matrice M cosi’ ottenuta ed il vettore V. Si organizzi il programma in
sottoprogrammi.

Prova scritta di Fondamenti di Informatica del 19 gennaio 2015 (traccia 3) – CDL Ing. Meccanica
Siano dati in ingresso il riempimento e gli elementi di un vettore di interi V1. Si assuma che V1 è
disordinato. Scrivere un programma che identifichi la più lunga sequenza di elementi pari di V1 (si assuma
che una sequenza deve essere composta da almeno 3 elementi consecutivi). Tale sequenza deve essere
eliminata dalla sua posizione ed inserita in testa al vettore V1. Stampare infine il vettore V1 cosi’ ottenuto.
Si organizzi il programma in sottoprogrammi.

Prova scritta di Fondamenti di Informatica del 19 gennaio 2015 (traccia 4) – CDL Ing. Meccanica
Siano dati in ingresso il riempimento e gli elementi di due vettori di interi V1 e V2. Si assuma che V1 sia
ordinato in modo crescente, mentre V2 sia disordinato. Scrivere un programma che, per ogni elemento x di
V1, individui i due elementi e1 ed e2 di V2 a distanza minima da x e tali che: e1<x ed e2>x. Si provveda
quindi ad eliminare gli elementi e1 ed e2 da V2 e ad inserirli in V1 al posto dell’elemento x. Si provveda
infine a stampare gli elementi dei vettori V1 e V2. Si organizzi il programma in sottoprogrammi.

Prova scritta di Fondamenti di Informatica del 23 febbraio 2015 (traccia 1) – CDL Ing. Industriale
Siano dati in ingresso due matrici di numeri interi M1 e M2. Si assuma che il numero di colonne di M1 sia
uguale al numero di righe di M2. Scrivere un programma che, per ogni riga R di M1, identifichi la colonna
C di M2 avente il maggior numero di elementi distinti in comune. Si provveda quindi a scambiare gli
elementi della riga R e della colonna C. Nel caso in cui non esista una colonna di M2 avente almeno un
elemento in comune con la riga R di M1, se ne dia una apposita segnalazione. Stampare infine le matrici
M1 e M2 cosi’ ottenute. Si organizzi il programma in sottoprogrammi.
Prova scritta di Fondamenti di Informatica del 23 febbraio 2015 (traccia 2) – CDL Ing. Industriale
Sia data in ingresso una matrice di numeri interi M. Scrivere un programma che identifichi il valore
massimo V_MAX degli elementi di M: Si provveda poi a verificare se esiste una sottomatrice quadrata di
dimensione K (con K costante assegnata) i cui elementi siano tutti uguali a zero: se tale condizione risulta
verificata, si provveda ad inserire in tutti gli elementi della sottomatrice il valore V_MAX trovato in
precedenza. Stampare infine la matrice M cosi’ ottenuta. Si organizzi il programma in sottoprogrammi.

Prova scritta di Fondamenti di Informatica del 23 febbraio 2015 (traccia 3) – CDL Ing. Meccanica
Siano dati in ingresso due vettori di numeri interi V1 e V2 ed un valore intero K. Si supponga che il vettore
V1 sia ordinato in modo crescente mentre il vettore V2 sia disordinato. Scrivere un programma che verifichi
se esiste nel vettore V2 una sottosequenza di elementi ordinati di lunghezza maggiore di K. Se tale
sottosequenza esiste, deve essere inserita in modo ordinato nel vettore V1 (si utilizzi l’algoritmo di
MERGE). Si stampino infine i vettori V1 e V2. Si organizzi il programma in sottoprogrammi.

Prova scritta di Fondamenti di Informatica del 23 febbraio 2015 (traccia 4) – CDL Ing. Meccanica
Sia dato in ingresso un vettore V1 di numeri reali. Si supponga che il vettore V1 sia disordinato. Scrivere
un programma che elimini dal vettore V1 tutte gli elementi la cui differenza da uno qualunque degli altri
elementi di V1 sia minore di K, con K costante reale assegnata. Gli elementi eliminati debbono essere
inseriti in un nuovo vettore V2 in modo ordinato. Si provveda poi ad eliminare da V2 gli eventuali doppioni
presenti. Si stampino infine i vettori V1 e V2. Si organizzi il programma in sottoprogrammi.

Prova scritta di Fondamenti di Informatica del 30 marzo 2015 (traccia 1) – CDL Ing. Industriale
Siano dati in ingresso due matrici di numeri interi M1 e M2 aventi le stesse dimensioni ed un valore intero
K. Scrivere un programma che verifichi se esistono almeno K elementi uguali tra le due metrici in posizioni
omologhe. Se tale condizione risulta verificata, si provveda a copiare tali elementi in un nuovo vettore V.
Stampare infine le matrice M1 ed M2 ed il vettore V cosi’ ottenuto. Si organizzi il programma in
sottoprogrammi.

Prova scritta di Fondamenti di Informatica del 30 marzo 2015 (traccia 2) – CDL Ing. Industriale
Sia data in ingresso una matrice di numeri interi M ed un valore intero K. Scrivere un programma che
verifichi se esistono almeno K elementi della matrice M che siano contemporaneamente sia massimi di riga
che di colonna. Se tale condizione risulta verificata, si provveda a copiare tali elementi in un nuovo vettore
V. Stampare infine la matrice M ed il vettore V cosi’ ottenuto. Si organizzi il programma in sottoprogrammi.
Prova scritta di Fondamenti di Informatica del 20 aprile 2015 (traccia 1) - Ing. Industriale
Siano dati in ingresso due matrici di numeri interi M1 e M2. Si assuma che il numero di colonne di M1 sia
uguale al numero di righe di M2. Scrivere un programma che, per ogni riga R di M1, individui la colonna
C di M2 avente la piu’ lunga sequenza di elementi consecutivi che siano tutti presenti in R. Si provveda
quindi a scambiare gli elementi della riga R con quelli della colonna C. Stampare infine le matrici M1 e
M2 cosi’ ottenute. Si organizzi il programma in sottoprogrammi.

Prova scritta di Fondamenti di Informatica del 20 aprile 2015 (traccia 2) - Ing. Industriale
Siano dati in ingresso due matrici di numeri interi M1 e M2 ed un valore intero K. Si assuma che il numero
di colonne di M1 sia uguale al numero di colonne di M2. Scrivere un programma che, per ogni riga R1 di
M1, individui l’elemento di tale riga avente la piu’ elevata frequenza di occorrenza in una delle righe di
M2. Detta R2 la riga di M2 nella quale si e’ verificata tale condizione, si provveda a scambiare gli elementi
della riga R1 con quelli della riga R2. Stampare infine le matrici M1 e M2 cosi’ ottenute. Si organizzi il
programma in sottoprogrammi.

Prova scritta di Fondamenti di Informatica del 20 aprile 2015 (traccia 3) - Ing. Meccanica
Siano dati in ingresso il riempimento e gli elementi di un vettore di interi V1. Si assuma che V1 è
disordinato. Scrivere un programma che identifichi la sequenza di elementi pari di V1 avente lunghezza
massima (si assuma che una sequenza deve essere composta da almeno 3 elementi consecutivi). Tale
sequenza deve essere eliminata dalla sua posizione ed inserita in testa al vettore V1. Stampare infine il
vettore V1 così ottenuto. Si organizzi il programma in sottoprogrammi

Prova scritta di Fondamenti di Informatica del 20 aprile 2015 (traccia 4) - Ing. Meccanica
Siano dati in ingresso il riempimento e gli elementi di un vettore di interi V. Scrivere un programma che
identifichi e memorizzi in una apposita struttura dati tutte le terne (a,b,c) di elementi di V che verificano la
condizione di stretta crescenza (a<b<c). Si noti che le terne considerate debbono essere disgiunte. Per
ciascuna terna trovata si memorizzi la posizione del primo elemento e la somma degli elementi che la
compongono. Si provveda poi ad eliminare dal vettore V la terna avente somma massima. Stampare infine
tutte le terne trovate. Si organizzi il programma in sottoprogrammi.

You might also like