Guida di base alla programmazione e al linguaggio Pascal

La guida seguente è una introduzione alla teoria della programmazione imperativa e alle strutture con essa correlate.  La  guida si propone con un taglio molto pratico e orientato alla sperimentazione “sul campo” delle tecniche presentate: per questo motivo è stato scelto un linguaggio ormai obsoleto, ma molto adatto per la presentazione dei costrutti tipici di tutti i linguaggi moderni, il Pascal.

01. La programmazione

In questa prima lezione si analizza il termine programmazione e si spiega cosa sia la progettazione algoritmica, fino ad arrivare a parlare del linguaggio Pascal, della sua utilità e delle sue applicazioni. Viene introdotto il compilatore.

  • Documento: [download id=”48″ format=”2″]

02. Basi sintattiche
In questo primo progetto vengono analizzate le basi del linguaggio Pascal, attraverso un progetto semplice ma efficace. Vengono mostrate la sintassi e la semantica del Pascal, oltre alle regole fondamentali per la scrittura di programmi.

  • Documento: [download id=”49″ format=”2″]

03. L’assegnamento
Questo progetto introduce una struttura fondamentale della programmazione, ossia l’assegnazione di valori alle variabili.

  • Documento: [download id=”50″ format=”2″]

04. Interi
In questo progetto, attraverso il lavoro di calcolo di quoziente e resto di una divisione, si parla diffusamente di variabili di tipo intero, operatori matematici e funzioni legate agli interi.

  • Documento: [download id=”51″ format=”2″]

05. Selezione
Si parla della struttura fondamentale della programmazione, ossia la selezione. Vengono quindi introdotti anche gli operatori relazionali.

  • Documento: [download id=”52″ format=”2″]

06. Iterazione – parte 1
L’iterazione viene introdotta in questo progetto nelle sue due prime forme, ossia quella con condizione a priori e quella con condizioni a posteriori. Si tratta quindi della struttura repeat…until e quella while…do.

  • Documento: 06[download id=”53″ format=”2″]

07. Scelta multipla
La scelta multipla non è una vera e propria struttura in Pascal, ma è comunque importante per eseguire determinati compiti utilizzando meno spazio. In questo progetto si vedrà come utilizzarla attraverso un problema pratico, ossia scrivere in lettere un numero.

  • Documento: [download id=”54″ format=”2″]

08. Iterazione – parte 2
In questo progetto si torna a parlare di iterazione, intrucendo quella enumerativa, ossia la struttura for…to…do e for…downto…do. Viene fatto un piccolo appunto anche sull’importanza di questa struttura nella programmazione moderna.

  • Documento: [download id=”55″ format=”2″]

09. Operatori logici – parte 1
In questa prima parte vengono introdotti gli operatori logici e la loro utilità. In particolare si analizza l’operatore NOT. Si parla di matematica parlando di logica bivalente e si analizza la tabella delle precedenze in Pascal.

  • Documento: [download id=”56″ format=”2″]

10. Operatori logici – parte 2
Questo secondo progetto sugli operatori logici ha come tema centrale lo studio dell’operatore AND.

  • Documento: [download id=”57″ format=”2″]

11. Operatori logici – parte 3
In questa ultima lezione sugli operatori logici si analizzano gli operatori XOR e OR, per concludere analizzando tautologie, contraddizioni ed origine della selezione.

  • Documento: [download id=”58″ format=”2″]

12. Booleani
In questa lezione si analizzano le variabili di tipo booleano e le funzioni ad esse collegate.

  • Documento: [download id=”59″ format=”2″]

Amplificatori operazionali

Verifica delle caratteristiche degli amplificatori operazionali. Analisi delle configurazioni di derivatore ed integratore.

Sommario

  1. Descrizione della prova
  2. Amplificatori operazionali
  3. Comparatore
  4. Configurazione ad anello chiuso
  5. Configurazione invertente
  6. Configurazione non invertente
  7. Inseguitore
  8. Trasformata di Laplace per l’analisi circuitale
  9. Derivatore ideale
  10. Derivatore reale
  11. Integratore ideale
  12. Integratore reale
  13. Circuiti integrati per AMPOP
  14. Analisi dei parametri di base
  15. Misura dello Slew Rate
  16. English Part

Appendici

  • Trasformata di Laplace
  • Segnali di prova
  • Applicazioni lineari degli amplificatori operazionali
  • Coppia resistiva per guadagni prefissati

Documenti

  • Relazione completa:  [download id=”47″ format=”2″]

Progetto e realizzazione di un alimentatore stabilizzato di tensione

L’obiettivo è quello di costruire un generatore di tensione continua, ossia un dispositivo elettronico in grado di convertire la tensione di rete in un segnale continuo ad un valore prestabilito. La corrente fornita dipenderà dal carico applicato, ma non potrà comunque superare un valore massimo prestabilito, pena la caduta del valore di tensione.

Sommario

  1. Introduzione
  2. Progetto di alimentatori
  3. Caratteristiche della tensione di rete
  4. Tipi di alimentatore
  5. Schema a blocchi di un alimentatore
  6. Il trasformatore
  7. Il raddrizzatore
  8. Filtro
  9. Stabilizzatori
  10. Stabilizzatori integrati
  11. Stabilizzatori ad uscita variabile
  12. Dissipazione
  13. Dissipatori
  14. Alimentatori positivi e negativi
  15. Progettazione
  16. Simulazione
  17. Test
  18. Conclusione
  19. English description

Documenti

  • Relazione completa: [download id=”46″ format=”2″]

Semplici esempi ASM x86

Questo articolo racchiude una serie di guide, programmazione ed esempi in Assembly x86 per semplici operazioni matematiche:

Progetto 1: Somma di due byte

Progetto per la realizzazione di un programma in grado di sommare due byte in memoria e depositare la somma come word in memoria.

  • Documento: [download id=”41″ format=”2″]

Progetto 2: Somma di due word

Progetto per la realizzazione di un programma in grado di sommare due byte in memoria e depositare la somma come word in memoria.

  • Documento: [download id=”42″ format=”2″]

Progetto 3: Riconoscere numeri pari

Dati due byte in memoria, determinare quanti di essi sono pari e scrivere il risultato in memoria.

  • Documento: [download id=”43″ format=”2″]

Progetto 4: Confronto di byte

Dati due byte in memoria, confrontarli e scrivere il maggiore dei due in una terza locazione.

  • Documento: [download id=”44″ format=”2″]

Progetto 5: Prodotto di due byt

Dati due byte residenti in memoria, calcorarne il prodotto sia come somma ripetuta, sia con metodi combinatori.

  • Documento: [download id=”45″ format=”2″]

Appunti di Sistemi Operativi

In questi documenti sono raccolti molti appunti riguardanti i corsi di Sistemi Operativi.

Sono presenti appunti teorici e pseudo – implementazioni.

Argomenti

  • Il problema della mutua esclusione e tecniche di risoluzione
  • Strumenti per la sincronizzazione tra processi: semafori e monitor
  • Struttura del nucleo di un sistema a processi
  • Modello a memoria comune
  • Modello a scambio di messaggi
  • Creazione e gestione di operazioni atomiche
  • Virtualizzazione ed emulazione
  • Sicurezza e protezione
  • Gestione di periferiche di Input/Output

Documenti

  • [download id=”24″ format=”2″]
  • [download id=”25″ format=”2″]
  • [download id=”26″ format=”2″]
  • [download id=”27″ format=”2″]
  • [download id=”28″ format=”2″]
  • [download id=”29″ format=”2″]
  • [download id=”30″ format=”2″]
  • [download id=”31″ format=”2″]
  • [download id=”32″ format=”2″]
  • [download id=”33″ format=”2″]
  • [download id=”34″ format=”2″]
  • [download id=”35″ format=”2″]
  • [download id=”36″ format=”2″]
  • [download id=”37″ format=”2″]
  • [download id=”38″ format=”2″]
  • [download id=”39″ format=”2″]
  • [download id=”40″ format=”2″]

Progetto VideoStore (C#)

Questo progetto è stato realizzato nell’ambito del corso di Ingegneria del software L-A del corso di studi triennale in Ingegneria Informatica, anno accademico 2009/2010.

Sommario

  • Descrizione del problema
  • Analisi del testo
  • Specifica dei requisiti
  • Stabilità dei requisiti
  • Analisi dei rischi
  • Analisi dei componenti esterni
  • Glossario dei termini
  • Casi d’uso
  • Scenari
  • Diagramma statico delle classi
  • Scelta della tecnologia di progettazione
  • Diagramma delle classi di progettazione e discussione delle scelte progettuali (principi di progettazione e design pattern)
  • Diagrammi di sequenza

Autori

  • Andrea Asta
  • Gianluca Gallo
  • Thomas Bridi

Documenti

  • [download id=”22″ format=”2″]
  • [download id=”23″ format=”2″]