Note Ingegneria Informatica · UniTN
Tutte le materie
CFU
12
Argomenti
13
Ultima lezione
ott, giorno?

Programmazione 1

In ordine di lezione

  1. 1 Introduzione al corso e algoritmi 10 set
  2. 2 Architettura hardware e software di un calcolatore 11 set
  3. 3 Il Linguaggio C 11 set
  4. 4 Espressioni, operatori e costanti set, giorno?
  5. 5 Algebra di Boole set, giorno?
  6. 6 Istruzioni condizionali set, giorno?
  7. 7 Ciclo while ed esempi set, giorno?
  8. 8 Input e output di caratteri set, giorno?
  9. 9 Cicli for e do-while da datare
  10. 10 Switch da datare
  11. 11 Array ott, giorno?
  12. 12 Matrici e array multidimensionali ott, giorno?

Formulari e ripasso

  1. A Esami passati materiale

1Esame

Regole ufficiali dalla presentazione del corso (slide 29-36):

prova scritta        30% del voto   questionario a risposta multipla e/o aperta su tutto il programma,
                                    più esercizi di comprensione e analisi di (parti di) programmi
prova calcolatore    70% del voto   progettare un programma piccolo in un ambiente come quello del lab
                                    (Dev-C++ sui PC di B106)
minimo               serve un punteggio minimo in entrambe le parti per la sufficienza
orale                non previsto, a discrezione del docente: lo studente non può chiederlo
appelli              2 sessioni, 5 appelli: gennaio, febbraio | giugno, luglio, settembre

1.1Prove intermedie 2026/27 (parte teorica)

(slide 34-35)

1a prova   giovedì 5 novembre 2026     prima parte del programma
2a prova   lunedì 21 dicembre 2026     seconda parte

1.2Corso

Come si prende 30 (dettagli e conteggi in Esami passati):

  1. Teorica a errore zero sulle due domande fisse. BST da sequenza con cammino, altezza e le quattro visite esce in 16 prove su 18; il tracing “scrivi l’output esatto”, spesso sulle cifre della matricola, in 15 su 18. Sono metà della teorica e sono meccaniche: si perdono solo per distrazione. Per il tracing, tabella delle variabili riga per riga come nelle note di questo corso.
  2. Scheletro A-F del calcolatore automatizzato. Da dieci anni la prova pratica ha la stessa forma: struct con costruttori in dati.h/dati.cpp (A), main da completare (B), generazione del dato con input controllato e valori casuali (C), inserimento nel contenitore (D), stampa (E), svuotamento con salvataggio filtrato su file (F). Cambia solo il dominio. L’obiettivo è scrivere A-E senza pensarci e tenere la testa per F e per il contenitore del giorno (coda circolare, array di liste, stack).
  3. Ordine di preparazione che segue il corso: if e tavole di verità, cicli e quadrati N×NN \times N, array e matrici, funzioni, struct, file, new/delete, liste, code e stack, BST e complessità.
  4. Temi a tempo da dicembre: un tema completo a settimana, teorica in 40 minuti e calcolatore in 70 su un progetto Dev-C++ vero, compilando spesso. Gli ultimi due anni sono il materiale più fedele.

2Lezioni

Le date delle lezioni dopo l’11 settembre non si ricavano dal materiale: il quaderno arriva alla slide 51 del deck 2.2. Il resto del 2.2, il 3.1 e il 3.2 sono stati fatti a lezione a settembre, il 3.3 fra settembre e ottobre, il 4.1 (tutto, matrici comprese) a ottobre. Il deck 2.2 è stato ricaricato a fine settembre con una slide in più (esercizio sull’assegnazione a catena, slide 64-65): le pagine dopo la 54 sono rinumerate.

#DataArgomentoSlideNota
012026-09-10Introduzione al corso, algoritmi1.1Introduzione al corso e algoritmi
022026-09-11Architettura hardware e software1.2Architettura hardware e software di un calcolatore
032026-09-11Il linguaggio C, fino all’assegnazione2.2 (slide 1-56, 64-65)Il Linguaggio C
setEspressioni, operatori, costanti, ASCII2.2 (slide 57-76)Espressioni, operatori e costanti
setAlgebra di Boole3.1Algebra di Boole
setif, if-else, ?:, blocchi, precedenze3.2 (slide 1-39)Istruzioni condizionali
setwhile: somma, sentinella, MCD3.2 (slide 40-57)Ciclo while ed esempi
setgetchar, putchar, EOF3.2 (slide 58-68)Input e output di caratteri
setmoltiplicazione, scala a passi 1-2-33.2 (slide 69-97)Ciclo while ed esempi
set/ottfor, do-while, break, continue, Böhm-Jacopini3.3 (slide 3-15, 32-37)Cicli for e do-while
set/ottswitch, fall-through, conteggio cifre3.3 (slide 16-31)Switch
ottarray: dichiarazione, accesso, inizializzazione, esempi, VLA4.1 (slide 2-52, 74-92)Array
ottmatrici: memoria per righe, simmetrica, trasposta, magiche4.1 (slide 53-73, 93-100)Matrici e array multidimensionali

Prossimo: 4.2 Stringhe, sul sito del prof ma non ancora nel vault. Si prende con uvx --with playwright python tools/moodle.py prendi 4.2 quando è stato fatto a lezione.

3Argomenti

Nell’ordine del programma del prof:

  1. Introduzione al corso e algoritmi: algoritmo, esecutore, strutture di controllo, top-down, efficienza
  2. Architettura hardware e software di un calcolatore: Von Neumann, CPU, fetch-decode-execute, memorie, bus
  3. Il Linguaggio C: compilazione, struttura del programma, variabili, assegnazione, scanf e printf
  4. Espressioni, operatori e costanti: albero sintattico, precedenze, ++/--, const, caratteri e ASCII
  5. Algebra di Boole: tavole di verità, De Morgan, dalla tavola alla formula
  6. Istruzioni condizionali: if, dangling else, ?:, istruzione composta
  7. Ciclo while ed esempi: while, sentinella, MCD, moltiplicazione, scala
  8. Input e output di caratteri: getchar, putchar, EOF
  9. Cicli for e do-while: for, do-while, equivalenza con il while, break e continue, Böhm-Jacopini
  10. Switch: selezione multipla, break e fall-through, case raggruppati
  11. Array: dichiarazione, indici da 0, fuori range, inizializzazione, cicli tipici, array di contatori, VLA
  12. Matrici e array multidimensionali: a[i][j], memoria per righe, simmetrica, trasposta, matrici magiche

4Esercizi

5Risorse