Ingegneria elettronica
Cod 198290
- Laurea triennale
- 3 anni
- 180 CFU
- L-8 R
Codice: 20810536
Programma, testi adottati e modalità d’esame sono quelli pubblicati dai docenti per l’anno accademico 2026/2027.
*Concetti di base*
Problemi, algoritmi e programmi
Architettura dei calcolatori
Linguaggi e Compilazione
Stile e convenzioni
I/O, variabili e costanti
*Operazioni*
Rappresentazione dell’informazione
Aritmetica binaria
Tipi di dato
Espressioni
Algebra booleana
*Strutture di controllo*
Selezione
Iterazione
Funzioni
*Strutture dati*
Array
Stringhe
Matrici
Strutture
*Concetti avanzati*
Ambienti di sviluppo integrati
Ricorsione
Errori
Librerie
File
Il corso non richiedere alcun prerequisito.
A. Bellini, A. Guidi, "Linguaggio C. Una guida alla programmazione con elementi di Python", VI Edizione, McGraw-Hill.
Lezioni ed esercitazioni in aula (salvo in periodi di emergenza sanitaria). La frequenza non è obbligatoria, ma è fortemente consigliata.
La frequenza non è obbligatoria, ma è fortemente consigliata.
Le valutazioni consiste in una prova scritta composta da esercizi di programmazione, esercizi su algebra di Boole, aritmetica binaria e analisi dati, domande a risposta multipla, domande teoriche riguardanti il programma del corso da svolgersi in laboratorio.
Ambito disciplinare: Attività formative affini o integrative
Fornire le competenze di base relative alla “progettazione top-down” degli algoritmi e alla programmazione modulare, nonché ai principali metodi che consentono la comparazione sia qualitativa che quantitativa di soluzioni algoritmiche differenti.
Obiettivi specifici:
- conoscenza e applicazione delle tecniche di problem solving per la progettazione di algoritmi con particolare riferimento agli approcci basati sulla decomposizione e sulla semplificazione dei problemi;
- uso di paradigmi di programmazione modulare e ricorsiva;
- conoscenza e applicazione degli strumenti metodologici per la valutazione asintotica dell’efficienza degli algoritmi;
- conoscenza e applicazione di tecniche sia formali che pragmatiche, per la verifica della correttezza degli algoritmi e la validazione dei programmi;
- abilità pratiche nell’utilizzo delle collezioni di dati fondamentali nello sviluppo del codice.
Il seguente programma contiene soltanto una funzione main(), che non deve essere modificata. Estenderlo realizzando una funzione estraiIntero, che:
• ha come unico parametro formale un array di caratteri stringa,
• ha come tipo di ritorno int.
Implementare la funzione in modo tale che la stringa di input, che si suppone contenga esclusivamente cifre numeriche, venga convertita in numero intero.
Nel caso in cui la stringa ricevuta come parametro dovesse essere vuota, la funzione dovrà ritornare il valore intero 0.
Nel caso in cui la stringa ricevuta come parametro dovesse contenere un numero maggiore del massimo intero positivo rappresentabile con 32 bit, sfruttare la circolarità della rappresentazione degli interi.
Ad esempio, se la stringa ricevuta come parametro è "1234", la funzione dovrà ritornare il valore intero 1234. Se la stringa ricevuta come parametro è "00547", la funzione dovrà ritornare il valore intero 547. Se la stringa ricevuta come parametro è "", la funzione dovrà ritornare il valore intero 0. Se la stringa ricevuta come parametro è "2147483648", la funzione dovrà ritornare il valore intero -2147483648
Nota: il codice ASCII per il carattere '0' è 48; il codice ASCII per il carattere '1' è 49; il codice ASCII per il carattere '2' è 50, e così via.
Nota: è possibile utilizzare la funzione pow, definita in math.h. Esempio d'uso: pow(3, 4) equivale a tre elevato alla quarta e ritorna 81.
Nota: Non è consentito utilizzare la funzione atoi definita in stdlib.h, o qualsiasi altra funzione appartenente ad altre librerie che implementi il comportamento richiesto.
Nota: In un commento che precede la funzione estraiIntero descriverne la specifica (espressa come Input-Precondizione-Output-Postcondizione) e il tipo di problema.
Cosa stai cercando?
Trova facilmente i contenuti di cui hai bisogno
Rubrica
Trova facilmente il contatto della persona o struttura di cui hai bisogno
Risultati suggeriti:
Risultati suggeriti: