Capitolo 2 Fondamenti di Informatica - Esercizi
|
|
|
- Annunciata Di Carlo
- 8 anni fa
- Visualizzazioni
Transcript
1 Capitolo 2 Fondamenti di Informatica - Esercizi Vengono proposti alcuni esercizi relativi al dato strutturato array e vengono presentate le relative soluzioni. 1
2 2 CAPITOLO 2. FONDAMENTI DI INFORMATICA - ESERCIZI 2.1 DATI STRUTTURATI Esercizio 1 Scrivere un programma che, acquisiti due vettori di interi da input, V1 e V2 stampi in output la differenza V1 - V2, cioè gli elementi di V1 che non sono in V2. Esercizio 2 Scrivere un programma che, dato un vettore V di LV1 elementi interi, calcoli gli indici P e Q dei due elementi V[P] e V[Q] la cui distanza D = jv [P ] V [Q]j è maggiore. Esercizio 3 Scrivere un programma che acquisisca da input un vettore di interi con elementi distinti. Esercizio 4 Dati due vettori V1 e V2 contenenti rispettivamente N1 e N2 valori interi già ordinati: int V1[N1] = {1,3,3,5,6,9,9; /* esempio con N1=7 */ int V2[N2] = {2,3,3,5,5; /* esempio con N2=5 */ scrivere un programma C che esegua le seguenti operazioni: 1. Costruire e stampare output il vettore V di N1+N2 valori interi ordinati, ottenuto tramite fusione dei due vettori V1 e V2: V V V Calcolare e stampare in output : (a) numero di valori in comune tra V1 e V2; (nellesempio precedentea=2) (b) B: numero di valori contenuti in V1 ma non in V2; (nellesempio precedenteb=3) Esercizio 5 Data una matrice di N*M interi, (N righe, M colonne): int MAT[N][M] = {3,5,7,9,0,7,2,2,8,9,3,2,8,2,2,2,4,5; scrivere un programma C che acquisisca da input due interi, RIGA e COLONNA, e calcoli la somma di tutti gli elementi della sottomatrice ottenuta da MAT eliminando la riga e la colonna indicate da RIGA e COLONNA rispettivamente (cioè la somma di tutti gli elementi di MAT ad eccezione di quelli appartenenti alla riga RIGA oppure alla colonna COLONNA).
3 2.2. ORDINAMENTO 3 Esercizio 6 Data una matrice di N*M interi, (N righe, M colonne): int MAT[N][M] = {3,5,7,9,0,7,2,2,8,9,3,2,8,2,2,2,4,5; scrivere un programma C che acquisisca da input quattro interi NS, MS, R e C in modo da individuare e stampare in output la sottomatrice NS*MS il cui elemento più alto a sinistra (cioè in posizione 0,0) è Mat[R][C]. Effettuare i controlli sui valori NS, MS, R e C acquisiti da input: NS» N, NS+R» N e cosi via. Esempio: Mat[3][6] Con R=1, C=2, NS=2 e MS=3 si ottiene la sottomatrice evidenziata Mat[3][6] Esercizio 7 Scrivere un programma per costruire la matrice A[M][N] di interi tale che A[I][J] = I + J, 0 <I<Me 0 <J<V. Costruire quindi la matrice B come matrice trasposta di A e stamparla. Esercizio 8 Date due stringhe S1 e S2 costruire una terza stringa S3, ottenuto mettendo alternativamente un carattere di S1 ed un carattere di S2; quando una delle due stringhe termina, mettere tutti i caratteri rimasti dellaltra. Ad esempio, con S1="prova" e S2="ora" si deve ottenere S3="porroava" 2.2 ORDINAMENTO In questa sezione vengono presentati alcuni problemi che possono essere risolti tramite l ordinamento dei dati. Esercizio 9 Scrivere un programma che acquisisca da input un vettore di N numeri interi, e riporti in uscita la frequenza di ciascun intero presente nel vettore. Esempio Vettore in input
4 4 CAPITOLO 2. FONDAMENTI DI INFORMATICA - ESERCIZI Output 1 e presente 3 volte 3 e presente 1 volte 4 e presente 2 volte 99 e presente 2 volte Metodo: Si ordina il vettore e quindi si scandiscono i suoi elementi: se l i-esimo elemento è uguale a quello successivo si incrementa una variabile di conteggio, altrimenti il valore della variabile di conteggio rappresenta il numero di volte che l i-esimo è presente nel vettore Vettore ordinato I I+1 V[I]!=V[I+1] e count = 3, allora riporta che V[I] compare 3 volte Siccome considero V[I] e V[I+1], la scansione partirà da0earriverà a N-2. Fare attenzione all ultimo elemento! Esercizio 10 Scrivere un programma in C che acquisisca da input due stringhe S1 e S2 e controlli se una è l anagramma dellaltra. Metodo: si ordinano alfabeticamente le due stringhe e si confrontano: se il risultato del confronto è positivo allora una stringa è l anagramma dell altra. Esempio: S1="domenico" -- (ordinamento) --- > "cdeimnoo" S2="incomode" -- (ordinamento) --- > "cdeimnoo"
5 2.3. SOLUZIONI SOLUZIONI Soluzione Esercizio 1 Per poter affermare che un elemento X del vettore V1 non è nel vettore V2, si deve confrontare X con tutti gli elementi di V2: Inizializza TROVATO a 0 Acquisizione vettore V2 Acquisizione vettore V2 Per ogni elemento X del vettore V1 Per ogni elemento Y del vettore V1 se X==Y TROVATO=1 Se TROVATO e 0 Stampa X Inizializza TROVATO a 0 #define LV1 10 #define LV2 5 int I,J; int V1[LV1]; int V2[LV2]; int trovato=0;/* indica che un elemento di V1 e uguale ad uno di V2 */ for (I=0;I<LV1;I++) /* acquisizione V1 */ scanf("%d",&v1[i]); for (J=0;J<LV2;J++) /* acquisizione V2 */ scanf("%d",&v2[j]); for (I=0;I<LunghezzaVettore1;I++){ /* V1 - V2 */ for (J=0;J<LunghezzaVettore2;J++) if (V1[I]==V2[J]) trovato=1; if (trovato == 0) printf("\n %d", V1[I]); trovato=0;
6 6 CAPITOLO 2. FONDAMENTI DI INFORMATICA - ESERCIZI 2 Scrivere un programma che, acquisiti due vettori di interi da input, V1 e V2 stampi in output l intersezione V1 V2, cioè gli elementi in comune tra V1 e V2. Soluzione Esercizio 2 #include <math.h> #define LV 10 int I,J; int P,Q; int V[LV1] = { 12,43,21,4,5,10,49,67,2,20; P=0; Q=0; for (I=0;I<LV;I++) for (J=0;J<LV;J++) if (abs(v[i]-v[j])> abs(v[p]-v[q]) { P=I; Q=J; printf("\n %d %d", P,Q); Soluzione Esercizio 3 Ad ogni acquisizione dell elemento I del vettore, si controlla se tale elemento non sia già presente nelle posizioni precedenti (dalla posizione 0 alla posizione I-1): in caso positivo viene richiesto di immettere di nuovo l elemento. #define LV 10 int I,J; int V[LV1]; int trovato;/* indica che un elemento e
7 2.3. SOLUZIONI 7 gia presente in V */ for (I=0;I<LV1;I++) /* acquisizione V */ do { trovato=0; printf("\n Inserire elemento %d",i); scanf("%d",&v1[i]); for (J=0;J<I;J++) if (V[J]==V[I]) trovato=1; while (trovato!=0); Soluzione Esercizio 4 #define N1 7 #define N2 5 int V1[N1] = {1,3,3,5,6,9,9; /* esempio con N1=7 */ int V2[N2] = {2,3,3,5,5; /* esempio con N2=5 */ int V[N1+N2]; int temp; int N=N1+N2; int trovato,count=0; int I,J; int K; /* domanda 1 : prima soluzione */ /* inserisco V1 e V2 in V e poi lo ordino */ for(i=0;i<n1;i++) V[I]=V1[I]; for(i=n1;i<n1+n2;i++) V[I]=V2[I]; /* ordinamento di V con Bubblesort */ for(i=0;i<n-1;i++) for(j=0;j<n-1-i;j++) if (V[J]>V[J+1]) { temp=v[j]; V[J]=V[J+1];
8 8 CAPITOLO 2. FONDAMENTI DI INFORMATICA - ESERCIZI V[J+1]=temp; /* stampo V */ for(i=0;i<n1+n2;i++) printf("%2d",v[i]); /* domanda 1 : seconda soluzione si esaminano gli elementi di V1 e V2 e si inserisce in V il minore */ I=0; J=0; K=0; while((i<n1)&&(j<n2)) { if (V1[I]<V2[J]) { V[K]=V1[I]; I++; else { V[K]=V2[J]; J++; K++; /* copia in V di tutti quelli eventualmente rimasti in V1 */ while(i<n1) { V[K]=V1[I]; I++; K++; /* copia in V di tutti quelli eventualmente rimasti in V2 */ while(j<n2) { V[K]=V2[J]; J++; K++; /* stampo V */ printf("\n");
9 2.3. SOLUZIONI 9 for(i=0;i<n1+n2;i++) printf("%2d",v[i]); /* domanda 2 - punto A */ for(i=0;i<n1-1;i++) if(v1[i]!=v1[i+1]) { trovato=0; for(j=0;j<n2;j++) if (V1[I]==V2[J]) trovato=1; if (trovato==1) count++; trovato=0; /* ultimo elemento di V1*/ for(j=0;j<n2;j++) if (V1[N1-1]==V2[J]) trovato=1; if (trovato==1) count++; printf("\n A = %d",count); /* domanda 2 - punto B */ count=0; for(i=0;i<n1-1;i++) if(v1[i]!=v1[i+1]) { trovato=0; for(j=0;j<n2;j++) if (V1[I]==V2[J]) trovato=1; if (trovato==0) count++; trovato=0; /* ultimo elemento di V1*/ for(j=0;j<n2;j++) if (V1[N1-1]==V2[J]) trovato=1; if (trovato==0) count++;
10 10 CAPITOLO 2. FONDAMENTI DI INFORMATICA - ESERCIZI printf("\n B = %d",count); /* Una soluzione piu semplice alla domanda 2 e quella di contare piu volte i valori di V1 ripetuti: in questo modo, A= 4 */ for(i=0;i<n1-1;i++) { trovato=0; for(j=0;j<n2;j++) if (V1[I]==V2[J]) trovato=1; if (trovato==1) count++; printf("\n %d",count); Soluzione Esercizio 5 #define N 3 #define M 6 int MAT[N][M] = {3,5,7,9,0,7,2,2,8,9,3,2,8,2,2,2,4,5; int i, j, Totale=0; int RIGA, COLONNA; do { printf("inserire RIGA e COLONNA da eliminare"); scanf("%d %d",&riga,&colonna); while(riga>n COLONNA>M); for(i=0;i<n;i++) if(i!=riga) for(j=0;j<m;j++) if(j!=colonna) Totale =Totale + MAT[i][j];
11 2.3. SOLUZIONI 11 printf("totale = %d",totale); {\soluzione{\ref{matrice:sotto \begin{verbatim #define N 3 #define M 6 int MAT[N][M] = {3,5,7,9,0,7,2,2,8,9,3,2,8,2,2,2,4,5; int R,C; int NS,MS; int max; int I,J; do { printf("inserire R e C dell elemento 0,0 della sottomatrice:"); scanf("%d %d",&r,&c); while(r>n C>M); do { printf("/n Inserire dimensioni della sottomatrice : "); scanf("%d %d",&ns,&ms); while(r+ns>n C+MS>M); for(i=r;i<r+ns;i++){ for(j=c;j<c+ms;j++) printf("%2d",mat[i][j]); printf(" RIGA %2d \n",i); Soluzione Esercizio 7 #define M 4 #define N 3 int I,J;
12 12 CAPITOLO 2. FONDAMENTI DI INFORMATICA - ESERCIZI int A[M][N],B[N][M]; for (I=0;I< M;I++) for (J=0;J< N;J++) A[I][J]=I+J; printf("\n"); /* trasposta */ for (I=0;I<M;I++) for (J=0;J<N;J++) B[J][I]=A[I][J]; printf("la matrice trasposta %dx%d e \n",n,m); for (J=0;J< N;J++) { for (I=0;I< M;I++) printf("%d ",B[J][I]); printf("\n"); 2 Stampare la matrice trasposta di A, senza costruire la matrice B. Soluzione Esercizio 8 #define M 6 char S1[M]="prova"; char S2[M]="ora"; char S3[M+M]; int I=0; /* indice per la stringa S1 */ int J=0; /* indice per la stringa S2 */ int K=0; /* indice per la stringa S3 */ /* finche ci sono caratteri in entrambe S1 e S2 si riporta in S3 prima un carattere di S1 e poi un carattere di S2 */ while(s1[i]!= \0 && S2[J]!= \0 ){ S3[K]=S1[I]; K++; I++;
13 2.3. SOLUZIONI 13 S3[K]=S2[J]; K++; J++; /* si riporta in S3 gli eventuali caratteri rimasti in S1 */ while(s1[i]!= \0 ){ S3[K]=S1[I]; K++; I++; /* si riporta in S3 gli eventuali caratteri rimasti in S2 */ while(s2[j]!= \0 ){ S3[K]=S2[J]; K++; J++; /* si riporta in S3 il carattere di terminazione */ S3[K]= \0 ; printf("stringa risultante = %s",s3); Soluzione Esercizio 9 In base al metodo descritto nel testo dell esercizio, si delinea il seguente algoritmo: Ordinamento del vettore Inizializza variabile di conteggio count= 1 per I da 0 a N-2 se V[I]==V[I+1] allora incrementa count di 1 altrimenti riporta che la frequenza di V[I] è count riparti con il conteggio: count =1 riporta che la frequenza di V[I+1] è count che viene tradotto nel seguente programma: #include <stdlib.h> #define LV 12
14 14 CAPITOLO 2. FONDAMENTI DI INFORMATICA - ESERCIZI typedef int Vettore[LV]; int I,J; int Tot; /* numero totale di elementi differenti */ Vettore V; int count; int temp; /* assegnamento casuale */ for (I=0;I<LV;I++) V[I]=rand()%10; /* stampa vettore non ordinato */ for (I=0;I<LV;I++) printf("%d ",V[I]); printf("array iniziale \n\n"); /* ordinamento con bubble sort */ for(i=0;i<lv-1;i++) for(j=0;j<lv-1-i;j++) if (V[J]>V[J+1]) { temp=v[j]; V[J]=V[J+1]; V[J+1]=temp; /* stampa vettore ordinato */ printf("vettore Ordinato\n\n"); for (I=0;I<LV;I++) printf("%d ",V[I]); printf("\n\n"); count=1; for (I=0;I<LV-1;I++) { if (V[I]==V[I+1]) count++; else { printf(" %d compare %d volte\n",v[i],count); count=1; /* end if */ /* end for */ printf("%d compare %d volte\n",v[lv-1],count); /* end main */ Soluzione Esercizio 10
15 2.3. SOLUZIONI 15 acquisizione delle stringhe S1 e S2 ordinamento delle stringhe S1 e S2 se le due stringhe ordinate sono uguali stampa OK altrimenti stampa NO #define MAXSTRINGA 20 /* massima lunghezza della stringa */ char S1[MAXSTRINGA+1],S2[MAXSTRINGA+1]; int LS1,LS2; /* lunghezza stringhe da confrontare */ int I,J; char temp; int uguali; /* controllo di uguaglianza delle stringhe */ char Ch; /* acquisizione e calcolo lunghezza stringa S1 */ printf("introdurre la stringa S1\n"); Ch=getchar(); I=0; while(ch!= \n ){ if (I<MAXSTRINGA){ S1[I]=Ch; I++; Ch=getchar(); S1[I]= \0 ; LS1=I; /* acquisizione e calcolo lunghezza stringa S2 */ printf("introdurre la stringa S2\n"); Ch=getchar(); I=0; while(ch!= \n ){ if (I<MAXSTRINGA){ S2[I]=Ch; I++; Ch=getchar(); S2[I]= \0 ; LS2=I;
16 16 CAPITOLO 2. FONDAMENTI DI INFORMATICA - ESERCIZI /* ordinamento delle stringa S1 con bubble sort */ for(i=0;i<ls1-1;i++) for(j=0;j<ls1-1-i;j++) if (S1[J]>S1[J+1]) { temp=s1[j]; S1[J]=S1[J+1]; S1[J+1]=temp; /* ordinamento delle stringa S2 con bubble sort */ for(i=0;i<ls2-1;i++) for(j=0;j<ls2-1-i;j++) if (S2[J]>S2[J+1]) { temp=s2[j]; S2[J]=S2[J+1]; S2[J+1]=temp; /* confronto delle due stringhe */ uguali = 1; I = 0; while (I < LS1 && uguali==1) if (S1[I]==S2[I]) I++; else uguali=0; /* output del risultato del confronto */ if (uguali==1) printf("ok"); else printf("no");
1 Elementi base di un programma INTRODUZIONE AL C SOLUZIONI... 8
Indice 1 Elementi base di un programma 3 1.1 INTRODUZIONE AL C....................... 4 1.2 SOLUZIONI............................. 8 2 Dato strutturato array 23 2.1 DATI STRUTTURATI........................
Array Tipi di dato semplici e strutturati strutturati array elementi omogenei numero d ordine indice lunghezza dimensione
Array Tipi di dato semplici e strutturati i tipi di dato visti finora erano tutti semplici: int, char, float,... i dati manipolati sono spesso complessi (o strutturati) con componenti elementari o strutturate
ESERCIZI DI PROGRAMMAZIONE DA TEMI D ESAME - vettori -
ESERCIZI DI PROGRAMMAZIONE DA TEMI D ESAME - vettori - Elementi di Informatica e Programmazione Università di Brescia 1 Esercizio 1 Sviluppare un programma che acquisisce dall utente al massimo 50 numeri
il precedente programma dichiara un vettore di interi di dimensione 10 e successivamente inserisce il valore 4 nel secondo elemento del vettore.
Questa dispensa propone esercizi sulla scrittura di algoritmi, in linguaggio C, utili alla comprensione dei vettori (ingl., array). La dichiarazione di un vettore di elementi omogenei in C avviene grazie
3 Costrutti while, for e switch
Questa dispensa propone esercizi sulla scrittura di algoritmi, in linguaggio C, utili alla comprensione dei costrutti while, for e switch. I costrutti per costruire cicli in C sono il while, la variante
Esercitazione 6. Array
Esercitazione 6 Array Arrays Array (o tabella o vettore): è una variabile strutturata in cui è possibile memorizzare un numero fissato di valori tutti dello stesso tipo. Esempio int a[6]; /* dichiarazione
Fondamenti di Informatica T-1 Modulo 2
Fondamenti di Informatica T-1 Modulo 2 1 Obiettivi di questa esercitazione 1. Array 2 Esercizio 1 Creare un programma che legga da input un numero non noto a priori di interi (al più 10) terminati da 0.
Corso di Informatica 1 Esercitazione n. 4
Corso di Informatica 1 Esercitazione n. 4 Marco Liverani Esercizio n. 1 Letti in input due numeri interi n > 0 e k > 1 costruire un array A di n numeri interi casuali minori di 100 che non siano multipli
Esercitazione 8. Array multidimensionali
Esercitazione 8 Array multidimensionali Prodotto di due matrici Una matrice può essere rappresentata in C con un array bidimensionale. Consideriamo il seguente problema: date due matrici mat1[n] [P] mat2[p]
Matrici. Matrici.h Definizione dei tipi. Un po di esercizi sulle matrici Semplici. Media difficoltà. Difficili
Matrici Un po di esercizi sulle matrici Semplici Lettura e scrittura Calcolo della trasposta Media difficoltà Calcolo del determinante Difficili Soluzione di sistemi lineari È veramente difficile? 1 Matrici.h
Esercizi C su array e matrici
Politecnico di Milano Esercizi C su array e matrici Massimo, media e varianza,, ordinamento, ricerca e merge, matrice simmetrica, puntatori Array Array o vettore Composto da una serie di celle int vett[4]
1 (4) 2 (4) 3 (12) 4 (6) 5 (6)
CORSO DI LAUREA IN INGEGNERIA ELETTRICA, CHIMICA e MATERIALI Informatica B, C Anno Accademico 2016-2017 Proff. Danilo ARDAGNA Prima Prova in Itinere 4.5.2017 Cognome Nome Matricola Firma Durata: 2h Valutazioni
Capitolo 1 Fondamenti di Informatica - Esercizi
Capitolo 1 Fondamenti di Informatica - Esercizi Vengono proposti alcuni esercizi relativi alla parte introduttiva della programmazione in C (Struttura ed elementi base di un programma, Ingresso e uscita
Fondamenti di Informatica 6. Algoritmi e pseudocodifica
Vettori e matrici #1 Fondamenti di Informatica 6. Algoritmi e pseudocodifica Corso di Laurea in Ingegneria Civile A.A. 2010-2011 1 Semestre Prof. Giovanni Pascoschi Le variabili definite come coppie
acquisizione numero elementi del primo insieme e del secondo insieme, finché elprimoinsieme oppure elsecondoinsieme > EL_INS
Esercitazione Fondamenti di Informatica B Corso di Laurea in Ingegneria Meccanica 3 Esercitazione: 20 ottobre 2004 Esercizi su array e applicazione delle regole di conversione di tipo Esercizi presenti:
Non ci sono vincoli sul tipo degli elementi di un vettore Possiamo dunque avere anche vettori di
ARRAY DI PUNTATORI Non ci sono vincoli sul tipo degli elementi di un vettore Possiamo dunque avere anche vettori di puntatori Ad esempio: char * stringhe[4]; definisce un vettore di 4 puntatori a carattere
Multidimensionali. Array Multidimensionali. Tipi di array. Matrice: array bidimensionale. Array multidimensionale. Dichiarazione di una matrice
Tipi di array Array Multidimensionali Antonella Santone Monodimensionali (vettore) Multidimensionali Array multidimensionale Un array multidimensionale è un array, i cui elementi sono a loro volta degli
Algoritmi di ordinamento: Array e ricorsione
Laboratorio di Algoritmi e Strutture Dati Aniello Murano http://people.na.infn.it people.na.infn.it/~murano/ 1 Algoritmi di ordinamento: Array e ricorsione 2 1 Indice Algoritmi di ordinamento: Insertion
Programmazione I - Laboratorio
Programmazione I - Laboratorio Esercitazione 3 - Array Gianluca Mezzetti 1 Paolo Milazzo 2 1. Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ mezzetti mezzetti di.unipi.it 2. Dipartimento
Fondamenti di Programmazione
Fondamenti di Programmazione Ingegneria dell Automazione Industriale Ingegneria Elettronica e delle Comunicazioni Alessandro Saetti Marco Sechi e Andrea Bonisoli (email: {alessandro.saetti,marco.sechi,[email protected])
ARRAY E STRINGHE. ESERCIZIO 2 Scrivere un programma che calcola il numero di doppie e di dittonghi (2 vocali vicine) presenti in una stringa.
3 ITI - a.s. 2007-2008 Compiti di Informatica ESTATE 2008 ARRAY E STRINGHE Scrivere una funzione che carica da tastiera un array di n elementi e lo stampa invertendo il primo elemento con l'ultimo, il
Struttura dei programmi C
Programmi C Struttura dei Programmi C Dichiarazione delle variabili Operazioni di Ingresso/Uscita Fondamenti di Informatica 1 Struttura dei programmi C Un programma C deve contenere, nell'ordine: una parte
Esercizi su strutture dati
Esercizi su strutture dati Marco Alberti Programmazione e Laboratorio, A.A. 2016-2017 Dipartimento di Matematica e Informatica - Università di Ferrara Ultima modifica: 21 dicembre 2016 Liste collegate
Istruzioni iterative (o cicliche)
Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Istruzioni iterative (o cicliche) Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica (Canale di Ingegneria
Stringhe e tipi di dati strutturati
Stringhe e tipi di dati strutturati Marco D. Santambrogio [email protected] Ver. aggiornata al 21 Marzo 2013 Info sui Labs http://tinyurl.com/ieimlabextra Ricordate di portare un adattatore!
Cicli annidati ed Array multidimensionali
Linguaggio C Cicli annidati ed Array multidimensionali Cicli Annidati In C abbiamo 3 tipi di cicli: while(exp) { do { while(exp); for(exp;exp;exp3) { Cicli annidati: un ciclo all interno del corpo di un
Lezione 8 Struct e qsort
Lezione 8 Struct e qsort Rossano Venturini [email protected] Pagina web del corso http://didawiki.cli.di.unipi.it/doku.php/informatica/all-b/start Esercizio 3 QuickSort strambo Modificare il Quicksort
Esercizi d esame. Elena Tundo
Esercizi d esame Elena Tundo Esercizi su Linux Tenendo presente di partire dalla home directory, la sequenza di comandi Linux per creare una sottocartella dir2 ed una dir3 e spostare dentro dir2 il file
C: panoramica. Violetta Lonati
C: panoramica Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica AA 2009/2010 Violetta Lonati
Esercizio 2 (punti 7) Dato il seguente programma C: #include <stdio.h> int swap(int * nome, int length);
Fondamenti di Informatica L-A (A.A. 004/005) - Ingegneria Informatica Prof.ssa Mello & Prof. Bellavista I Prova Intermedia del 11/11/004 - durata h - COMPITO B Esercizio 1 (punti 1) Una associazione di
Array e Oggetti. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 12. A. Miola Dicembre 2006
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 12 Array e Oggetti A. Miola Dicembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Array e Oggetti 1 Contenuti Array paralleli
Istruzioni iterative. Istruzioni iterative
Istruzioni iterative Esempio: Leggere 5 interi, calcolarne la somma e stamparli. Variante non accettabile: 5 variabili, 5 istruzioni di lettura, 5... int i1, i2, i3, i4, i5; scanf("%d", &i1):... scanf("%d",
ESERCIZI DI PROGRAMMAZIONE. - condizionali e cicli -
ESERCIZI DI PROGRAMMAZIONE - condizionali e cicli - Elementi di Informatica e Programmazione Università di Brescia 1 Esercizio 1: dal tema d esame ING-INF del 28 gennaio 2009 Si sviluppi un programma in
INFORMATICA. Strutture iterative
INFORMATICA Strutture iterative Strutture iterative Si dice ciclo (loop) una sequenza di istruzioni che deve essere ripetuta più volte consecutivamente. Si consideri ad esempio il calcolo del fattoriale
Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni. Lab 06 Array" Lab06 1
Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni Lab 06 Array" Lab06 1 Esercizio 1" n Creare un programma che legga da input un numero non noto a priori di interi
Esercitazione 12. Esercizi di Ricapitolazione
Esercitazione 12 Esercizi di Ricapitolazione Esercizio Scrivere un programma che, dato un numero intero positivo, stampa la sua rappresentazione binaria. ALGORITMO Scriviamo una procedura stampa_bin che,
Una stringa di caratteri in C è un array di caratteri terminato dal carattere '\0' a p e \0
STRINGHE: ARRAY DI CARATTERI Una stringa di caratteri in C è un array di caratteri terminato dal carattere '\0' s a p e \0 0 1 2 3 Un vettore di N caratteri può dunque ospitare stringhe lunghe al più N-1
Prova di Laboratorio del [ Corso A-B di Programmazione (A.A. 2004/05) Esempio: Media Modalità di consegna:
Prova di Laboratorio del 12.1.2005 [durata 90 min.] Corso A-B di Programmazione (A.A. 2004/05) 1. Leggere da tastiera un insieme di numeri interi ed inserirli in un vettore A 2. Calcolare tramite una funzione
Lezione 6 Selection/Insertion Sort su interi e stringhe
Lezione 6 Selection/Insertion Sort su interi e stringhe Rossano Venturini [email protected] Pagina web del corso http://didawiki.cli.di.unipi.it/doku.php/informatica/all-b/start Tutoraggio Venerdì 14
Linguaggio C++ 8. Matrici
2009-2010 Ingegneria Aerospaziale Prof. A. Palomba - Elementi di Informatica (E-Z) Linguaggio C++ 8 Matrici Linguaggio C++ 8 1 Array a più dimensioni. Sintassi generale : tipo nome [dimensione 1][dimensione
Esercizi C sui tipi definiti dall utente
Politecnico di Milano Esercizi C sui tipi definiti dall utente Typedef,, tipi enumerativi e strutturati Sinonimi: typedef int Intero; Intero a; int b; Definire un nuovo tipo typedef char Stringa[10]; Stringa
Esercizio 1: Puntatori impiegati che sono manager
Esercitazione Fondamenti di Informatica B Corso di Laurea in Ingegneria Meccanica 10 Esercitazione: 25 gennaio 2006 Esercizi di riepilogo Problema: Esercizio 1: Puntatori impiegati che sono manager Si
Breve Manuale di Riferimento sulla Sintassi Linguaggi C++ e FORTRAN
Breve Manuale di Riferimento sulla Sintassi Linguaggi e versione aggiornata al 05/02/2004 Sommario Elementi di Base... 2 Dati, Tipi e Dichiarazioni... 2 Tipi di Dato di Base... 2 Tipi di Dato Strutturati...
Esercitazione 3. Oggi sono stati effettuati semplici esercizi in C utilizzando le seguenti istruzioni: if...else, while, printf, scanf
Riassunto Esercitazione 3 Oggi sono stati effettuati semplici esercizi in C utilizzando le seguenti istruzioni: if...else, while, printf, scanf Sono state introdotte anche le seguenti relazioni: uguaglianza:
1 (6) 2 (7) 3 (7) 4 (7) 5 (6)
CORSO DI LAUREA IN INGEGNERIA ELETTRICA, CHIMICA e MATERIALI Informatica B anno accademico 010-011 Prof. Danilo ARDAGNA Seconda Prova in Itinere 7.06.011 Durata 1h 30 Valutazioni 1 (6) (7) 3 (7) 4 (7)
Esercitazione 11. Liste semplici
Esercitazione 11 Liste semplici Liste semplici (o lineari) Una lista semplice (o lineare) è una successione di elementi omogenei che occupano in memoria una posizione qualsiasi. Ciascun elemento contiene
Linguaggio C. strutture di controllo: strutture iterative. Università degli Studi di Brescia. Docente: Massimiliano Giacomin
Linguaggio C strutture di controllo: strutture iterative Università degli Studi di Brescia Docente: Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 Strutture iterative
Problema. Vettori e matrici. Vettori. Vettori
e matrici Ver. 2.4 2010 - Claudio Fornaro - Corso di programmazione in C Problema Si vuole un programma che chieda 10 numeri dalla tastiera e li visualizzi dall ultimo al primo Soluzione attuale (con le
Vettori Algoritmi elementari di ordinamento
Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Vettori Algoritmi elementari di ordinamento Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica (Canale
STRINGHE: ARRAY DI CARATTERI! a p e \0
STRINGHE: ARRAY DI CARATTERI! Una stringa di caratteri in C è un array di caratteri terminato dal carattere '\0' s a p e \0 0 1 2 3 Un vettore di N caratteri può dunque ospitare stringhe lunghe al più
5 Stringhe. Esiste una libreria di C che gestisce le stringhe string.h essa ci permette di:
Le stringhe di caratteri sono gestite in C come dei vettori di char con alla fine un tappo dato dal carattere \0. E possibile acquisire un intera stringa di caratteri in una sola istruzione grazie all
Anche se due variabili vettore sono dello stesso tipo, NON è possibile l assegnamento diretto:
ESERCIZIO: Lettura/Scrittura Array Non è possibile leggere/scrivere un intero vettore con un unica operazione (a parte il caso particolare delle stringhe); occorre leggere/scrivere ognuno dei suoi componenti
Fondamenti di Informatica. Algoritmi di Ricerca e di Ordinamento
Fondamenti di Informatica Algoritmi di Ricerca e di Ordinamento 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare se un elemento fa parte della sequenza oppure l elemento
Esercizi. La funzione swapint() primo tentativo
Politecnico di Milano Esercizi Puntatori, struct con campi puntatore, puntatori a struct, rapporto tra array e puntatori. FUNZIONI Passaggio di parametri per indirizzo, passaggio di array. #include
Dati aggregati. Violetta Lonati
Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica - in breve: Definizione di tipi Array Stringhe Strutture
Esercizio 1 (15 punti)
Esercizio 1 (15 punti) Corsi di laurea in Ingegnera Elettronica e Ingegneria Gestionale Fondamenti di Programmazione / Fondamenti di Informatica I Prova scritta del 16 giugno 2017 Il noto gioco MasterMind
Introduzione al C. Esercitazione 6. Raffaele Nicolussi. Corso di Fondamenti di Informatica Ingegneria Clinica
Corso di Fondamenti di Informatica Ingegneria Clinica Esercitazione 6 Raffaele Nicolussi Esercizio 1 Si scriva una funzione in linguaggio C che riceve in ingresso un numero intero A letto da tastiera,
Esercizio 1. Esercizio 1 - Soluzione
Esercizio 1 Progettare e Codificare in C un programma che permetta di Chiedere all utente quanti numeri vuole inserire Leggere i numeri inseriti dall utente e calcolare la somma dei fattoriali Esempio:
Ricerche, ordinamenti e fusioni. 5.1 Introduzione. 5.2 Ricerca completa
Ricerche, ordinamenti e fusioni 5.1 Introduzione Questo capitolo ci permette di fare pratica di programmazione utilizzando gli strumenti del linguaggio introdotti finora. A una prima lettura possono essere
A.S Classe III H Informatica. Programma didattico finale e indicazioni per il recupero estivo relativi all'insegnamento di Informatica
O. BELLUZZ I - L. DA VINCI Prot.8480/6.3 del 05/07/2017 A.S. 2016-2017 Classe III H Informatica Programma didattico finale e indicazioni per il recupero estivo relativi all'insegnamento di Informatica
Stringhe di caratteri
Linguaggio C Stringhe di caratteri 1 Variabili e costanti stringa! Una stringa letterale è una sequenza di caratteri racchiusa tra doppi apici! Può essere scritta su più righe utilizzando il backslash
RICERCA DI UN ELEMENTO
RICERCA DI UN ELEMENTO Si legga da tastiera un array di N elementi (N stabilito dall utente) Si richieda un elemento x il programma deve cercare l elemento x nell array Se l elemento è presente, deve visualizzare
Corso di Informatica Medica Esercitazione 1I 2013-2014.! Alessandro A. Nacci [email protected] - alessandronacci.com
Corso di Informatica Medica Esercitazione 1I 2013-2014! Alessandro A. Nacci [email protected] - alessandronacci.com 1 2 Esercizio 1 Scrivere un programma che legga due array di interi da tastiera dica
ERRATA CORRIGE. void SvuotaBuffer(void); void SvuotaBuffer(void) { if(getchar()!=10) {svuotabuffer();} }
ERRATA CORRIGE Pulizia del buffer di input: come fare? (1) Dopo aver richiamato getchar() per prelevare un carattere dal buffer di input, inseriamo una seconda chiamata a getchar(), senza assegnare il
Esercitazione 4. Comandi iterativi for, while, do-while
Esercitazione 4 Comandi iterativi for, while, do-while Comando for for (istr1; cond; istr2) istr3; Le istruzioni vengono eseguite nel seguente ordine: 1) esegui istr1 2) se cond è vera vai al passo 3 altrimenti
Record in C: il costruttore struct.
Record in C: il costruttore struct. Le variabili di tipo record e i nuovi tipi record si dichiarano in C tramite il costruttore di tipo struct:. ::= ;
