Fondamenti di Informatica

Codice: 20810536

Scheda insegnamento

Anno Accademico di erogazione
2026/2027
Corso di studi
Ingegneria elettronica
Periodo di erogazione
Primo semestre
CFU
9 CFU
Lingua
Italiano
SSD
IINF-05/A

Moduli

  • Fondamenti di Informatica - 1°MODULO — 6 CFU ING-INF/05
  • Fondamenti di Informatica - 2°MODULO — 3 CFU ING-INF/05

Scopri il programma didattico

Programma, testi adottati e modalità d’esame sono quelli pubblicati dai docenti per l’anno accademico 2026/2027.

Curriculum
Curriculum unico
Anno di corso
1
Periodo
Primo semestre
Ore
81
CUIN
260007123

Programma

*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

Prerequisiti

Il corso non richiedere alcun prerequisito.

Testi adottati

A. Bellini, A. Guidi, "Linguaggio C. Una guida alla programmazione con elementi di Python", VI Edizione, McGraw-Hill.

Modalità di erogazione

Lezioni ed esercitazioni in aula (salvo in periodi di emergenza sanitaria). La frequenza non è obbligatoria, ma è fortemente consigliata.

Modalità di frequenza

La frequenza non è obbligatoria, ma è fortemente consigliata.

Modalità di valutazione

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.

Prove previste

  • Prove intermedie

Esplora gli obiettivi dell’insegnamento

Ambito disciplinare: Attività formative affini o integrative

Risultati di apprendimento attesi

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.

Obiettivi di sostenibilità

  • 9 Imprese, innovazione e infrastrutture

Esempi di domande d’esame

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.

Il corso in cui è erogato questo insegnamento

Ingegneria Industriale, Elettronica e Meccanica

Ingegneria elettronica

Cod 198290

  • Laurea triennale
  • 3 anni
  • 180 CFU
  • L-8 R
API