a = 6; b = 7; c = a b; [ ] il risultato è indefinito [ ] c = 12 [ ] c = 13 [X] c = 14 a = 8; b = 9; c = a b;
|
|
- Camilla Amato
- 5 anni fa
- Visualizzazioni
Transcript
1 Università degli Studi di Udine Corsi di laurea in Ing. Elettronica e Ing. Gestionale Fondamenti di programmazione 18 novembre Prova intermedia NOTA: nel seguito le risposte corrette e le note sono riportate in neretto. Esercizio 1 (2 punti) Si completi il seguente frammento di codice che inizializza tutti gli n elementi di un vettore v di numeri reali di tipo double ad un valore che rappresenti come frazione (da 0 a 1) la distanza tra la posizione dell elemento stesso e la posizione dell ultimo elemento del vettore. Quindi, per esempio, in un vettore di 20 elementi l elemento di indice 19 sarà inizializzato a 0.0 (distanza nulla dall ultimo), l elemento di indice 0 sarà inizializzato a 0.95 (distanza 19 elementi, divisa per 20) e l elemento di indice 9 sarà inizializzato a 0.5 (distanza 10 elementi, divisa per 20). for (i = ) v[i] = ; for (i = 0; i < n; i++) v[i] = (n-i-1) / (double) n; Si completi il seguente frammento di codice che inizializza il primo e l ultimo elemento di un vettore v di numeri reali di tipo double di lunghezza n al valore -1, e tutti gli altri elementi a un valore pari al proprio indice diviso per n. Quindi, per esempio, in un vettore di 20 elementi l elemento di indice 15 sarà inizializzato a v[0] = v[n-1] = -1; for (i = ) v[i] = ; v[0] = v[n-1] = -1; for (i = 1; i < n-1; i++) v[i] = i / (double) n; Esercizio 2 (2 punti) Che risultato si ottiene al termine dell esecuzione del seguente frammento di codice? a = 2; b = 3; c = a b; [ ] il risultato è indefinito [X] c = 4 [ ] c = 5 [ ] c = 6 a = 4; b = 5; c = a b; [X] c = 8 [ ] c = 9 [ ] c = 10 [ ] il risultato è indefinito
2 a = 6; b = 7; c = a b; [ ] il risultato è indefinito [ ] c = 12 [ ] c = 13 [X] c = 14 a = 8; b = 9; c = a b; [ ] c = 16 [ ] c = 17 [X] c = 18 [ ] il risultato è indefinito Esercizio 3 (4 punti) Si calcoli il valore stampato dal seguente programma, che chiama la funzione f, ricorsiva. (Si considerino già presenti nel file sorgente le direttive al preprocessor per includere i necessari header file). int main() printf ("%d", f (24, 36)); return EXIT_SUCCESS; int f(int x, int y) if (y == 0) return x; return f(y, x%y); 12 int main() printf ("%d", f (18, 24)); return EXIT_SUCCESS; int f(int x, int y) if (y == 0) return x; return f(y, x%y); 6
3 int main() printf ("%d", f (27, 18)); return EXIT_SUCCESS; int f(int x, int y) if (y == 0) return x; return f(y, x%y); 9 int main() printf ("%d", f (16, 28)); return EXIT_SUCCESS; int f(int x, int y) if (y == 0) return x; return f(y, x%y); 4 Esercizio 4 (4 punti) Cosa stampa la seguente funzione? void stampa1 (void) char s[16], t[16]; strcpy (s, "aquila"); strcpy (t, "rinoceronte"); s[7] = t[7] = '\0'; printf ("%s--%s\n", s, t); return; aquila rinocer void stampa2 (void) char s[16], t[16]; strcpy (s, "coleottero"); strcpy (t, "formica"); s[8] = t[8] = '\0'; printf ("%s--%s\n", s, t); return; coleotte formica
4 void stampa3 (void) char s[16], t[16]; strcpy (s, "serpente"); strcpy (t, "iguana"); s[7] = t[7] = '\0'; printf ("%s--%s\n", s, t); return; serpent iguana void stampa4 (void) char s[16], t[16]; strcpy (s, "rana"); strcpy (t, "delfino"); s[5] = t[5] = '\0'; printf ("%s--%s\n", s, t); return; rana--delfi Esercizio 5 (3 punti) La seguente funzione cerca un numero intero k, passato come argomento, in una matrice di interi int m[5][10], anch essa passata come argomento. La funzione restituisce uno se il valore cercato è presente nella matrice e zero altrimenti. Se il valore è presente, nelle variabili passate by reference si troveranno i valori degli indici di riga e di colonna della cella dove l elemento è stato trovato. Si indichi quale, tra le seguenti, è la versione corretta della funzione. int cerca_in_mat (int m[5][10], int k, int *pr, int *pc) for (*pr = 0; *pr < 5; (*pr)++) for (*pc = 0; *pc < 10; (*pc)++) if (m[*pr][*pc] == k) return 1; return 0; int cerca_in_mat (int m[5][10], int k, int *pr, int *pc) for (*pr = 0; *pr < 5; (*pr)++) for (*pc = 0; *pc < 10; (*pc)++) if (m[*pc][*pr] == k) return 1; return 0; int cerca_in_mat (int m[5][10], int k, int *r, int *c) for (r = 0; r < 5; r++) for (c = 0; c < 10; c++) if (m[r][c == k) return 1; return 0; int cerca_in_mat (int m[][], int k, int *r, int *c) for (*r = 0; *r < 5; (*r)++) for (*c = 0; *c < 10; (*c)++) if (m[*r][*c] == k) return 1; return 0;
5 Esercizio 6 (3 punti) Quanti byte occupano i seguenti dati? "" 1 "a" 2 '\n' 1 char s[3]; 3 "123"; 4 "testo\n" 7 char s[3]; 3 "123"; 4 "a" 2 '\n' 1 "testo\n" 7 "" 1 char s[3]; 3 "123"; 4 "" 1 "testo\n" 7 "a" 2 '\n' 1 "123"; 4 "testo\n" 7 char s[3]; 3 "a" 2 "" 1 '\n' 1 Esercizio 7 (6 punti) Si completi la funzione int traduci_numero (char s[]) che riceve in ingresso una stringa rappresentante un numero intero le cui cifre sono scritte in forma testuale in inglese, separate da virgola e terminate da un punto, senza spazi, e restituisce il valore del numero rappresentato. Per esempio, se la stringa s contiene "nine,zero,three.", la funzione restituisce il valore intero 903, se invece s contiene "four,two.", la funzione restituisce 42. Suggerimento: l algoritmo è identico a quello della lettura del numero da tastiera visto a lezione. In questo caso, però, il valore di ogni cifra va calcolato mediante una opportuna funzione di traduzione di una cifra dalla forma testuale al valore rappresentato (per esempio "seven" deve restituire il valore 7).
6 int traduci_numero (char s[]) int i, j, risultato; char temp[16]; i = 0; j = 0; ; while (s[i]!= '\0') if (s[i]!= ',' && s[i]!= '.') /* copia il carattere in temp */ j++; else /* termina la stringa temp e aggiorna il risultato parziale */ ; risultato = ; j = 0; return risultato; int traduci_cifra (char s[]) int i; char cifre[10][8] = "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"; for ( ) if ( ) return i; return -1; /* cifra non valida */
7 int traduci_numero (char s[]) int i, j, risultato; char temp[16]; i = 0; j = 0; risultato = 0; while (s[i]!= '\0') if (s[i]!= ',' && s[i]!= '.') temp[j] = s[i]; j++; else temp[j] = '\0'; risultato = risultato * 10 + traduci_cifra (temp); j = 0; return risultato; int traduci_cifra (char s[]) int i; char cifre[10][8] = "zero", "uno", "due", "tre", "quattro", "cinque", "sei", "sette", "otto", "nove" ; for (i = 0; i < 10; i++) if (strcmp (s, cifre[i]) == 0) return i; return -1; /* cifra non valida */ NOTA: non bisogna MAI dimenticare che le stringhe sono vettori e per confrontarne il contenuto è necessario utilizzare la funzione strcmp della libreria standard!
8 Si completi la funzione int traduci_numero (char s[]) che riceve in ingresso una stringa rappresentante un numero intero le cui cifre sono scritte in forma testuale, separate da virgola e terminate da un punto, senza spazi, e restituisce il valore del numero rappresentato. Per esempio, se la stringa s contiene "sette,zero,nove.", la funzione restituisce il valore intero 709, se invece s contiene "sei,tre.", la funzione restituisce 63. Suggerimento: l algoritmo è identico a quello della lettura del numero da tastiera visto a lezione. In questo caso, però, il valore di ogni cifra va calcolato mediante una opportuna funzione di traduzione di una cifra dalla forma testuale al valore rappresentato (per esempio "otto" deve restituire il valore 8). int traduci_numero (char s[]) int i, j, risultato; char temp[16]; i = 0; j = 0; ; while (s[i]!= '\0') if (s[i]!= ',' && s[i]!= '.') /* copia il carattere in temp */ j++; else /* termina la stringa temp e aggiorna il risultato parziale */ ; risultato = ; j = 0; return risultato; int traduci_cifra (char s[]) int i; char cifre[10][8] = "zero", "uno", "due", "tre", "quattro", "cinque", "sei", "sette", "otto", "nove" ; for ( ) if ( ) return i; return -1; /* cifra non valida */
9 int traduci_numero (char s[]) int i, j, risultato; char temp[16]; i = 0; j = 0; risultato = 0; while (s[i]!= '\0') if (s[i]!= ',' && s[i]!= '.') temp[j] = s[i]; j++; else temp[j] = '\0'; risultato = risultato * 10 + traduci_cifra (temp); j = 0; return risultato; int traduci_cifra (char s[]) int i; char cifre[10][8] = "zero", "uno", "due", "tre", "quattro", "cinque", "sei", "sette", "otto", "nove" ; for (i = 0; i < 10; i++) if (strcmp (s, cifre[i]) == 0) return i; return -1; /* cifra non valida */ NOTA: non bisogna MAI dimenticare che le stringhe sono vettori e per confrontarne il contenuto è necessario utilizzare la funzione strcmp della libreria standard!
10 Esercizio 8 (6 punti) Si scriva la funzione void scorrimento_circolare (int v[], int dim) che riceve come argomenti un vettore di interi e la sua dimensione e fa scorrere in avanti tutti gli elementi del vettore di una posizione, spostando l ultimo al posto del primo. Per esempio, se il vettore di ingresso ha 5 elementi e contiene i valori 10, 13, 9, -4, 5, al termine dell esecuzione della funzione dovrà contenere 5, 10, 13, 9, -4. Suggerimento: si copi in una variabile temporanea l ultimo elemento del vettore, si copi poi ogni elemento del vettore nella posizione immediatamente seguente, si copi infine il valore salvato nella variabile temporanea nella prima posizione. void scorrimento_circolare (int v[], int dim) int i, j, temp; temp = v[dim-1]; for (i = dim-2; i >= 0; i--) v[i+1] = v[i]; v[0] = temp; return; NOTA: se si progetta l algoritmo provandone a mano l esecuzione (come andrebbe sempre fatto), ci si accorge immediatamente che è necessario procedere a ritroso, altrimenti il primo valore viene copiato nel secondo prima che questo possa essere spostato nel terzo (e quindi perdendolo), e così via. Procedendo in avanti (da 0 a dim-2) si copierebbe quindi in tutto il vettore il primo valore.
Esercizio 4 (4 punti)
Università degli Studi di Udine Corsi di laurea in Ing. Elettronica e Ing. Gestionale Fondamenti di programmazione 17 novembre 2017 - Prova intermedia NOTA: nel seguito le risposte corrette e le note sono
DettagliChe risultato si ottiene al termine dell esecuzione del seguente frammento di codice?
Università degli Studi di Udine Corsi di laurea in Ing. Elettronica Gestionale Fondamenti di programmazione 13 novembre 2015 - Prova intermedia Matricola Nome Cognome Aula Fila (dalla cattedra) Posto (dalla
DettagliMatricola Nome Cognome Aula Fila (dalla cattedra) Posto (dalla porta)
Università degli Studi di Udine Corsi di laurea in Ing. Elettronica / Gestionale Fondamenti di programmazione / Inform. 1 14 novembre 2014 - Prova intermedia Matricola Nome Cognome Aula Fila (dalla cattedra)
DettagliEsercizio 1 (17 punti)
Esercizio 1 (17 punti) Corsi di laurea in Ingegnera Elettronica e Ingegneria Gestionale Fondamenti di Programmazione / Fondamenti di Informatica I Prova scritta del 1 o luglio 2014 Un file di testo è utilizzato
DettagliEsercizio 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
Dettagliint cerca_posto_libero (struct tipo_treno treno, int tratta_inizio, char tipo, int tratta_fine, int *p_ncarrozza, int *p_nposto)
Università degli Studi di Udine Corsi di laurea in Ing. Elettronica e Ing. Gestionale Fondamenti di programmazione 25 novembre 2011 - Prova intermedia Matricola Nome Cognome Esercizio 1 (5 punti) Un treno,
DettagliEsercitazione di Reti degli elaboratori
Esercitazione di Prof.ssa Chiara Petrioli Christian Cardia, Gabriele Saturni Cosa vedremo in questa lezione? Gli Array Gli array multidimensionali Le stringhe I puntatori Esercizi Pagina 1 Gli Array Definizione
DettagliEsercizio 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 30 giugno 2017 In un lontano paese da
DettagliMatricola Nome Cognome Aula Fila (dalla cattedra) Posto (dalla porta)
Università degli Studi di Udine Corsi di laurea in Ing. Elettronica / Gestionale Fondamenti di programmazione / Inform. 1 23 novembre 2012 - Prova intermedia Matricola Nome Cognome Aula Fila (dalla cattedra)
DettagliMatricola Nome Cognome Aula Fila (dalla cattedra) Posto (dalla porta)
Università degli Studi di Udine Corsi di laurea in Ing. Elettronica / Gestionale Fondamenti di programmazione / Inform. 1 23 novembre 2012 - Prova intermedia Matricola Nome Cognome Aula Fila (dalla cattedra)
DettagliRelativamente agli esempi sopra riportati, al termine dell esecuzione della funzione il file di uscita dovrà contenere quanto riportato a lato.
Corsi di laurea in Ingegnera Elettronica e Ingegneria Gestionale Fondamenti di Programmazione / Fondamenti di Informatica I Prova scritta del 2 febbraio 2016 Esercizio 1 (16 punti) Un file di testo contiene
DettagliInformatica 1. Corso di Laurea Triennale in Matematica. Gianluca Rossi
Informatica 1 Corso di Laurea Triennale in Matematica Gianluca Rossi gianluca.rossi@uniroma2.it Dipartimento di Matematica Università di Roma Tor Vergata 11: Stringhe (www.informatica-uno.blogspot.com)
DettagliEsercitazioni di Programmazione II. Chiara Petrioli
Esercitazioni di Programmazione II Chiara Petrioli Ricevimento e info Martedi dalle 13 alle 14.30 Via Salaria 113, terzo piano, stanza 311 Homework: 3-4 ogni due settimane Primo homework da consegnare
DettagliC: 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
DettagliIntroduzione al linguaggio C Puntatori
Introduzione al linguaggio C Puntatori Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica 19 ottobre 2017
DettagliPuntatori e array. Violetta Lonati
Puntatori e array Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Violetta Lonati Puntatori e array
DettagliEsercizio 1: media di numeri reali (uso funzioni e struct)
Esercitazione Fondamenti di Informatica B Corso di Laurea in Ingegneria Meccanica 5 Esercitazione: 2 novembre 2005 Esercizi sulle funzioni Esercizio 1: media di numeri reali (uso funzioni e struct) Le
DettagliELEMENTI DI INFORMATICA. Linguaggio C
Università degli Studi di Cagliari Corso di Laurea in Ingegneria Elettronica ELEMENTI DI INFORMATICA http://agile.diee.unica.it A.A. 2015/2016 Ing. Marco Ortu Diee, secondo piano Tel. 070-6755774 mail:
DettagliIntroduzione alla programmazione in linguaggio C
Introduzione alla programmazione in linguaggio C Il primo programma in C commento Header della libreria Funzione principale Ogni istruzione in C va terminata con un ; Corso di Informatica AA. 2007-2008
DettagliELEMENTI DI INFORMATICA L-B. Ing. Claudia Chiusoli
ELEMENTI DI INFORMATICA L-B Ing. Claudia Chiusoli Materiale Lucidi delle lezioni Date degli appelli Testi di esami precedenti Informazioni e contatti http://www.lia.deis.unibo.it/courses/ Programma del
DettagliEsercizio 1: funzione con valore di ritorno di tipo puntatore
Esercitazione Fondamenti di Informatica B Corso di Laurea in Ingegneria Meccanica 7 Esercitazione: 14 dicembre 2005 Esercizi su ricorsione, manipolazione stringhe, strutture dinamiche Problema: Esercizio
DettagliStringhe. In C le stringhe ben formate sono in realtà array di caratteri terminati sempre da un carattere speciale, \0, detto anche
Fondamenti di Informatica T-1 modulo 2 Laboratorio 04: stringhe 1 Stringhe In C le stringhe ben formate sono in realtà array di caratteri terminati sempre da un carattere speciale, \0, detto anche terminatore
DettagliEsercizio 1 (14 punti)
Prova scritta del 22 gennaio 2018 di Fondamenti di Programmazione / Fondamenti di Informatica I Per studenti di Ing. Elettronica e Ing. Gestionale immatricolati negli anni accademici 2016-17 e precedenti
DettagliLezione 8: Stringhe ed array multidimensionali
Lezione 8: Stringhe ed array multidimensionali Vittorio Scarano Corso di Laurea in Informatica Università degli Studi di Salerno Struttura della lezione AVVISO: la lezione di laboratorio di 28/5 non si
DettagliERRATA 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
DettagliStruttura dei programmi e Variabili
Linguaggio C Struttura dei programmi e Variabili 1 La struttura generale dei programmi! Struttura del programma: Direttive Funzioni Dichiarazioni Istruzioni Di assegnamento direttive Di ingresso e uscita
DettagliLaboratorio 1. 20/21 febbraio 2019
Laboratorio 1. 20/21 febbraio 2019 Attivitá Professionalizzante A.A. 2018/19 Premessa Si lavora a coppie, sui PC del laboratorio. Al termine degli esercizi, ogni copia scrive un breve report e me lo invia
DettagliEsercitazione 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
DettagliProgrammazione I - Laboratorio
Programmazione I - Laboratorio Esercitazione 4 - Puntatori, vettori e stringhe Gianluca Mezzetti 1 Paolo Milazzo 2 1. Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ mezzetti mezzetti
DettagliNOME: CITTA : Campionato italiano di sudoku. LUCCA 19 gennaio Sudoku Mix. Terza parte 12:05 13:15. Massimo punteggio possibile: 185 punti
NOME: CITTA : NUMERO Campionato italiano di sudoku LUCCA 19 gennaio 2008 Sudoku Mix Terza parte 12:05 13:15 Massimo punteggio possibile: 185 punti Sudoku quadrato magico (10 punti) Sudoku + (10 punti)
DettagliEsercizi. Stringhe. Stringhe Ricerca binaria
Politecnico di Milano Esercizi Stringhe Stringhe Array di caratteri Funzioni: strcpy() strcmp() strlen() char stringaa[10], stringab[10]; strcpy(stringaa, stringab); Copia if (strcmp(stringaa, stringab)
DettagliProgrammazione di base
Fondamenti di Informatica Primo Appello 01-17 8 febbraio 017 Rispondi alle domande negli appositi spazi. I punti assegnati per ogni domanda sono indicati nel riquadro a lato. L'esame contiene 10 domande,
DettagliEsercitazioni di Fondamenti di Informatica - Lez. 5 30/10/2018
Esercitazioni di Fondamenti di Informatica - Lez. 30/10/018 Esercizi sulle funzioni in C I codici e le soluzioni degli esercizi sono nella cartella parte1 1. Scrivere i prototipi delle seguenti funzioni.
DettagliStrutture dati. Operatori di incremento e decremento. Strutture di dati. Strutture di dati. ++ e -- Esempi. Vettori e matrici.
Operatori di incremento e decremento ++ e -- Esempi y=x++ il contenuto della variabile x viene inizialmente usata per l assegnazione y, e solo dopo incrementata y=--x il contenuto della variabile x viene
DettagliFondamenti di Programmazione
A.A. 08/09 Fondamenti di Programmazione (canale E-O) Docente: Prof.ssa Tiziana Calamoneri calamo@di.uniroma1.it Esercitatore: Dott. Roberto Petroccia petroccia@di.uniroma1.it Pagina del corso: http://twiki.di.uniroma1.it/twiki/view/programmazione1/eo/webhome
DettagliLinguaggi di Programmazione
Linguaggi di Programmazione 1 C-Introduzione.tex: Versione 1.0, aa 2005-2006 Linguaggi di programmazione (1) Sono linguaggi che permettono la codifica di algoritmi in modo da renderli eseguibili, direttamente
DettagliLab 08 Stringhe e strutture
Fondamenti di Informatica e Laboratorio T-AB e Fondamenti di Informatica T1 Ingegneria Elettronica e Telecomunicazioni e Ingegneria dell Automazione a.a. 2010/2011 Lab 08 Stringhe e strutture Lab12 1 Esercizio
DettagliESERCIZIO 1 ESERCIZIO 2
ESERCIZIO 1 Scrivere una funzione che data una stringa A calcoli la sua lunghezza. int lunghezza(char A[]); Scrivere una funzione che date due stringhe A e B copi il contenuto di A in B e restituisca il
DettagliSistemi Operativi (M. Cesati)
Sistemi Operativi (M. Cesati) Compito scritto del 19 febbraio 2013 Nome: Matricola: Corso di laurea: Cognome: Crediti da conseguire: 5 6 9 Scrivere i dati richiesti in stampatello. Al termine consegnare
DettagliLab 08 Stringhe e strutture
Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni Lab 08 Stringhe e strutture Lab8 1 Esercizio 1 n Scrivere una funzione che data una stringa A calcoli la sua lunghezza.
DettagliESERCIZIO: Analisi di un programma. Dato il seguente programma C:
: Analisi di un programma Dato il seguente programma C: #include #define D 4 float A(float V[], int k) {int i; float s=0.0; for(i=0;i
DettagliLinguaggio C. Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore.
Linguaggio C Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore. 1 Funzioni Generalizzazione del concetto di funzione algebrica: legge che associa a valori delle variabili
Dettaglisoluzioneluglio.txt 1. Scrivere una funzione che restituisce la data dinascita di un determinato studente.
Testo esercizio: Si supponga di avere a disposizione un vettore contenente l elenco degli alunni iscritti al Politecnico, con la relativa data di nascita. Ogni nome è separato dalla data dal carattere
DettagliCorso di Fondamenti di Programmazione canale E-O. Un esempio. Funzioni ricorsive. La ricorsione
Corso di Fondamenti di Programmazione canale E-O Tiziana Calamoneri Ricorsione DD Cap. 5, pp. 160-184 KP Cap. 5, pp. 199-208 Un esempio Problema: prendere in input un intero e calcolarne il fattoriale
DettagliLaboratorio 1. 15/16 marzo 2018
Laboratorio 1. 15/16 marzo 2018 Attivitá Professionalizzante A.A. 2017/18 Premessa Quando avete finito gli esercizi, inviatemeli in un unico file compresso chiamato lab1 CognomeNome (zip, rar,...), all
DettagliLezione 7: Funzioni e gestione dei File
Lezione 7: Funzioni e gestione dei File Laboratorio di Elementi di Architettura e Sistemi Operativi 18 Aprile 2012 Le funzioni Funzioni Un programma C consiste di una o più funzioni Almeno main() Funzionamento
DettagliCaratteri e stringhe
Caratteri e stringhe Caratteri Dato che un computer può memorizzare esclusivamente sequenze di bit, per memorizzare un carattere (e quindi testi) è necessario stabilire una convenzione che associa a un
DettagliFunzioni in C. Funzioni. Strategie di programmazione. Funzioni in C. Come riusare il codice? (2/3) Come riusare il codice? (1/3)
Funzioni Il concetto di funzione Parametri formali e attuali Il valore di ritorno Definizione e chiamata di funzioni Passaggio dei parametri Corpo della funzione 2 Strategie di programmazione Riuso di
DettagliI puntatori e l allocazione dinamica di memoria. Esercizi risolti
I puntatori e l allocazione dinamica di memoria Esercizi risolti 1 Esercizio Si vuole realizzare un tipo struct, utilizzato per informazioni su operazioni di vendita, avente i seguenti campi: codice: numero
DettagliArray multidimensionali e stringhe
Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Array uni-dimensionali (richiami) Dichiarazione: int vet[100]; float x[50]; Gli elementi
DettagliIntroduzione al C. Lez. 2. Funzioni e Puntatori
Introduzione al C Lez 2 Funzioni e Puntatori Esercizio 1: test primalità Scrivere un programma che prenda in input un intero n, e stampa SI se n è primo, NO altrimenti (NB: un intero n è primo se è solo
DettagliAllocazione dinamica memoria
Allocazione dinamica memoria Marco Casazza 11/12/2017 1 Esercizio 1 1 /* 2 Creare una lista bidirezionale di interi, ovvero una lista 3 che permette lo scorrimento in entrambe le direzioni ( dal primo
DettagliLinguaggio C - Stringhe
ISTITUTO SECONDARIO DI ISTRUZIONE SUPERIORE "Guido Tassinari" di POZZUOLI Informatica Prof. A.S. 2011/2012 Linguaggio C - Stringhe 27/04/2012 Array di caratteri Una stringa è: Un array di caratteri Termina
DettagliProgrammazione (imperativa)
Programmazione (imperativa) Corso di Laurea in Informatica Roberto Cordone DI - Università degli Studi di Milano Lezioni: Lunedì 12.00-13.00 e 14.00-16.00 Mercoledì 14.00-17.00 Laboratorio: Giovedì 12.00-13.00
Dettagli#include <stdio.h> /* l esecuzione comincia dalla funzione main */ int main()
Primi passi Il mio primo programma #include /* l esecuzione comincia dalla funzione main */ int main() { printf( Hello World!\n" ); return 0; /* il programma termina con successo */ } /* fine
DettagliFondamenti di Informatica Ing. Biomedica
Fondamenti di Informatica Ing. Biomedica Esercitazione n.10 Strutture Antonio Arena antonio.arena@ing.unipi.it Ripresa esercizio per casa Fondamenti di Informatica - Esercitazione n.10 2 Scrivere una funzione
DettagliStrategie di programmazione
Funzioni Funzioni in C Il concetto di funzione Parametri formali e attuali Il valore di ritorno Definizione e chiamata di funzioni Passaggio dei parametri Corpo della funzione 2 Funzioni in C Strategie
DettagliAllocazione dinamica della memoria
Allocazione dinamica della memoria Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Violetta Lonati
DettagliEsercitazione 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
DettagliFondamenti di Informatica L-A. Esercitazione 6
Fondamenti di Informatica L-A Esercitazione 6 Passaggio dei Parametri nelle Funzioni Ordinamento di Vettori Paolo Torroni Università degli Studi di Bologna Laurea in Ingegneria Elettronica e delle Telecomunicazioni
DettagliParametri by reference. Funzioni. Passaggio dei parametri. Parametri by reference. Soluzione. Problemi
Funzioni Introduzione Operatori & e * Passaggio by reference Passaggio di vettori Esercizio strcpy 2 Passaggio dei parametri Il linguaggio C prevede il passaggio di parametri by value Il chiamato non può
DettagliInformatica B Esercitazione 4 (Soluzioni)
Informatica B Esercitazione 4 (Soluzioni) 11 ottobre 018 Cicli 4.1 Si scriva un programma C che stampa i numeri da 1 a 100. Per i multipli di tre, stampare "Fizz" invece del numero. Per i multipli di cinque,
DettagliLABORATORIO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO III Indice
LABORATORIO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2018 2019 20.III.2019 VINCENZO MARRA Indice Parte 1. L algoritmo euclideo 3 Esercizio 1 3 L algoritmo euclideo
DettagliLab 16 Gestione file binari"
Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni Lab 16 Gestione file binari" Lab16 1 Esercizio 1" n Un registratore di cassa registra su di un file binario alcuni
DettagliLABORATORIO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO III Indice
LABORATORIO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2014 2015 18.III.2015 VINCENZO MARRA Indice Parte 1. L algoritmo euclideo 3 Esercizio 1 3 L algoritmo euclideo
DettagliI puntatori sono tipi di variabili il cui valore rappresenta un indirizzo della memoria.
Puntatori I puntatori sono tipi di variabili il cui valore rappresenta un indirizzo della memoria. NOTA: quando un programma viene mandato in esecuzione, ad esso viene assegnata un area di memoria di lavoro
DettagliESECUZIONE DI PROGRAMMI C SU MACCHINE REALI. Docente: Giorgio Giacinto AA 2008/2009. formalizzazione degli algoritmi in linguaggio C
Università degli Studi di Cagliari Corso di Laurea Specialistica in Ingegneria per l Ambiente ed il Territorio Corso di Laurea Specialistica in Ingegneria Civile - Strutture FONDAMENTI DI INFORMATICA 2
DettagliDal linguaggio macchina al linguaggio C
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Università degli Studi di Udine Dal linguaggio macchina al linguaggio C Programma sorgente, compilatore, file oggetto, file eseguibile programma sorgente
DettagliLezione XI Le stringhe
Programmazione e Laboratorio di Programmazione Lezione XI Le stringhe Programmazione e Laboratorio di Programmazione: Le stringhe 1 Premessa: Il tipo char Dimensione: 1 byte Range: da 0 a 255 Definizione:
DettagliTipi strutturati in C. Stringhe
Tipi strutturati in C Stringhe Stringhe Una stringa di caratteri in C è un array di caratteri terminato dal carattere \0 Un vettore di N caratteri può dunque ospitare stringhe lunghe al più N-1 caratteri,
DettagliEsercizio 1: calcolo insieme intersezione
Esercitazione Fondamenti di Informatica B Corso di Laurea in Ingegneria Meccanica 3 Esercitazione: 19 ottobre 2005 Esercizi su array e matrici Esercizio 1: calcolo insieme intersezione Problema: *******************************************************************
DettagliSoluzioni seconda prova intermedia del 30 gennaio 2006 temi 1 e 2. Siano date le seguenti definizioni di costanti e tipi in linguaggio C:
Fondamenti Informatica B Soluzioni seconda prova intermedia del 30 gennaio 2006 temi 1 e 2 Esercizio 1 tema 1 Siano date le seguenti definizioni di costanti e tipi in linguaggio C: #define MAX_LENGTH 40
Dettagli- matrici - stringhe - file (lettura/scrittura, di testo/binari) - strutture, puntatori - allocazione dinamica della memoria (malloc)
Esercitazione Argomenti che verranno trattati in questa esercitazione: - matrici - stringhe - file (lettura/scrittura, di testo/binari) - strutture, puntatori - allocazione dinamica della memoria (malloc)
DettagliEsercitazione 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
DettagliPerché il linguaggio C?
Il linguaggio C 7 Perché il linguaggio C? Larga diffusione nel software applicativo Standard di fatto per lo sviluppo di software di sistema Visione a basso livello della memoria Capacità di manipolare
Dettagli1 (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)
DettagliEsercizio 1: parole nel testo
Esercitazione Fondamenti di Informatica B Corso di Laurea in Ingegneria Meccanica 6 Esercitazione: 11 novembre 2005 Esercizi di riepilogo in preparazione alla prima prova intermedia Problema (tratto da
DettagliLABORATORIO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO IV.2019
LABORATORIO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2018 2019 17.IV.2019 VINCENZO MARRA Indice Esercizio 1 2 Funzione reverse 2 2 Esercizio 2 2 Funzione equals
DettagliPerché il linguaggio C?
Il linguaggio C 7 Perché il linguaggio C? Larga diffusione nel software applicativo Standard di fatto per lo sviluppo di software di sistema Visione a basso livello della memoria Capacità di manipolare
DettagliLinguaggio C: Stringhe Valeria Cardellini
Linguaggio C: Stringhe Valeria Cardellini Corso di Calcolatori Elettronici A.A. 2018/19 Università degli Studi di Roma Tor Vergata Dipartimento di Ingegneria Civile e Ingegneria Informatica Argomenti q
DettagliFondamenti di Programmazione
Fondamenti di Programmazione Ingegneria dell Automazione Industriale Ingegneria Elettronica e delle Comunicazioni Alessandro Saetti Alberto Lazzaroni e Marco Sechi (email: {saetti,alberto.lazzaroni}@ing.unibs.it)
DettagliLab 11 Gestione file binari
Fondamenti di Informatica e Laboratorio T-AB e Fondamenti di Informatica T1 Ingegneria Elettronica e Telecomunicazioni e Ingegneria dell Automazione a.a. 2010/2011 Lab 11 Gestione file binari Lab16 1 Lab16
DettagliIl sistema C è formato dal linguaggio C, dal preprocessore, dal compilatore, dalle librerie e da altri strumenti di supporto.
Sistema C e organizzazione del codice Il sistema C è formato dal linguaggio C, dal preprocessore, dal compilatore, dalle librerie e da altri strumenti di supporto. Un programma C è costituito da un insieme
DettagliFondamenti di Informatica
Vettori e matrici #1 Le variabili definite come coppie sono dette variabili scalari Fondamenti di Informatica 5. Algoritmi e pseudocodifica Una coppia è una variabile
DettagliLab 16 Gestione file binari"
Fondamenti di Informatica e Laboratorio T-AB e Fondamenti di Informatica T1 Ingegneria Elettronica e Telecomunicazioni e Ingegneria dell Automazione a.a. 2010/2011 Lab 16 Gestione file binari" Lab16 1
DettagliLa funzione main() (
Funzioni La funzione main() Interfaccia con il sistema operativo Argomenti sulla linea di comando Parametri argc e argv Valore di ritorno del programma La funzione exit Esercizio Calcolatrice 2 La funzione
DettagliProgrammazione di base
Fondamenti di Informatica Sesto Appello 016-17 11 Settembre 017 Rispondi alle domande negli appositi spazi. I punti assegnati per ogni domanda sono indicati nel riquadro a lato. L'esame contiene 10 domande,
DettagliPolitecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Appello del 21 Luglio 2010 COGNOME E NOME RIGA COLONNA MATRICOLA
Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Appello del 21 Luglio 2010 COGNOME E NOME RIGA COLONNA MATRICOLA Spazio riservato ai docenti Il presente plico contiene 4 esercizi,
DettagliUso avanzato dei puntatori Allocazione dinamica della memoria
Uso avanzato dei puntatori Allocazione dinamica della memoria Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica
DettagliA. Ferrari. stringhe di caratteri In linguaggio C
stringhe di caratteri In linguaggio C stringhe o un insieme di caratteri in sequenza forma una stringa o alcuni linguaggi definiscono per le stringhe uno specifico tipo di dato e offrono metodi specifici
DettagliIntroduzione al C. Lezione 4 Allocazione dinamica della memoria. Rossano Venturini. Pagina web del corso
Introduzione al C Lezione 4 Allocazione dinamica della memoria Rossano Venturini rossano@di.unipi.it Pagina web del corso http://didawiki.cli.di.unipi.it/doku.php/informatica/all-b/start Lezioni di ripasso
DettagliIntroduzione al C. Informatica Generale - Introduzione al C Versione 1.0, aa p.1/17
Introduzione al C Informatica Generale - Introduzione al C Versione 1.0, aa 2005-2006 p.1/17 Linguaggi di programmazione Sono linguaggi che permettono la codifica di algoritmi in modo da renderli eseguibili,
DettagliLe Funzioni in C. Fondamenti di Informatica Anno Accademico 2010/2011. Corso di Laurea in Ingegneria Civile Politecnico di Bari Sede di Foggia
Le Funzioni in C Corso di Laurea in Ingegneria Civile Politecnico di Bari Sede di Foggia Fondamenti di Informatica Anno Accademico 2010/2011 docente: prof. Michele Salvemini 1/24 Sommario Le funzioni Il
Dettaglia.a Codice corso: 21012
ESERCIZIO 1 Scrivere un programma in linguaggio C che lette dallo standard input due sequenze vettoriali ordinate di interi V1[n], V2[m] ne crei una terza V3[n+m] anch essa ordinata, che contenga tutti
DettagliLezione 11: Liste a Puntatori e Input/Output
Lezione 11: Liste a Puntatori e Input/Output Vittorio Scarano Laboratorio di Informatica I Corso di Laurea in Informatica Università degli Studi di Salerno Struttura della lezione Richiamo: strutture (struct)
DettagliStudente (Cognome Nome): Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a Primo scritto 14 Gennaio 2010
Studente (Cognome Nome): Matricola: Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a. 2009-10 Primo scritto 14 Gennaio 2010 Quesito Una Farmacia è rappresentata da un array di farmaci
Dettagli