Estratto del documento

RIASSUNTI DI INFORMATICA

Università Telematica San Raffaele Roma

Docente: Noemi Scarpato

Indice

1. Introduzione al corso

2. Linguaggi di programmazione

3. Algoritmi

4. Calcolabilità

5. Complessità di calcolo

6. Logica e informatica

7. Introduzione al computer

8. Architettura di Von Neumann

9. Dispositivi di I/O

10. Architetture dei calcolatori

11. Sistemi operativi

12. Gestione dei processi

13. Gestione della memoria

14. Gestione dei dispositivi

15. File system

16. Sicurezza nei sistemi operativi

17. Esempi

18. Reti di calcolatori

19. Infrastrutture di rete

20. Protocolli

21. Struttura di Internet

22. Servizi di Internet

23. World Wide Web

24. Motori di ricerca

25. Profili giuridici

26. Documenti elettronici – introduzione

27. Elaborazione testi 1

28. Elaborazione testi 2

29. Elaborazione testi 3

30. Basi di dati – introduzione

31. DBMS

32. Modello Entità-Relazione

33. Progettazione concettuale 1

Alessandro Fasulo Introduzione all’informatica: significato,

ambiti e utilità

L’informatica è una disciplina scientifica che studia il trattamento automatico

dell’informazione. Non si limita all’uso pratico del computer, ma analizza in modo

sistematico i processi, i modelli e gli strumenti che permettono di acquisire, elaborare,

memorizzare e trasmettere dati in modo efficiente.

Il termine informatica può essere interpretato secondo più prospettive complementari. Da

un lato indica l’insieme di strumenti tecnologici e servizi digitali che consentono di gestire

informazioni; dall’altro rappresenta una vera e propria disciplina scientifica, dotata di

metodi, principi e modelli teorici, che studia il funzionamento di tali strumenti e i processi

logici sottostanti.

L’informatica come scienza e come tecnologia

L’informatica si colloca all’incrocio tra scienza e tecnologia. Come scienza, si occupa di

studiare i fondamenti teorici della rappresentazione dell’informazione, degli algoritmi e dei

sistemi di calcolo. Come tecnologia, fornisce strumenti concreti — hardware e software —

che rendono possibile l’automazione di attività complesse.

Un esempio chiarisce questa duplice natura: la progettazione di un algoritmo per ordinare

dati è un’attività di tipo scientifico; l’implementazione di quell’algoritmo in un programma

utilizzabile su un computer è un’attività tecnologica.

Perché studiare informatica

Lo studio dell’informatica è rilevante non solo per chi intende specializzarsi nel settore, ma

anche per chi opera in ambiti diversi. Comprendere i principi fondamentali dell’informatica

consente di utilizzare in modo più consapevole e critico gli strumenti digitali, migliorando

l’efficienza e la qualità del lavoro.

Queste conoscenze permettono di valutare correttamente le potenzialità e i limiti di un

sistema informatico, di comprendere come vengono gestiti e trasformati i dati e di

interagire in modo efficace con software e servizi digitali.

I principali ambiti di studio dell’informatica

L’informatica si articola in diversi ambiti di studio, tra cui i fondamenti teorici, l’architettura

dei calcolatori e i sistemi operativi, la gestione dei dati, le reti e i servizi digitali e

l’elaborazione elettronica dei documenti. Ciascun ambito contribuisce alla comprensione

completa del trattamento dell’informazione. 2

Alessandro Fasulo

Conclusione

L’informatica rappresenta una disciplina chiave per interpretare e governare la realtà

digitale contemporanea. Essa fornisce strumenti teorici e pratici per comprendere come

l’informazione viene trattata e trasformata, consentendo un utilizzo più efficace, critico e

consapevole delle tecnologie.

Studiare informatica significa acquisire una competenza strategica, utile in qualsiasi

contesto professionale e sociale in cui l’informazione riveste un ruolo centrale.

3

Alessandro Fasulo Fondamenti dell’informatica: linguaggi di

programmazione

I linguaggi di programmazione rappresentano uno degli elementi centrali dell’informatica,

poiché costituiscono il mezzo attraverso cui un algoritmo viene tradotto in una forma

comprensibile ed eseguibile da un calcolatore. Essi permettono di trasformare un

problema astratto in una sequenza di istruzioni operative che la macchina può interpretare

ed eseguire.

Dal concetto di algoritmo al programma

Un algoritmo è una sequenza finita di istruzioni che descrive come risolvere un

determinato problema. Tuttavia, l’algoritmo, di per sé, non è ancora eseguibile da una

macchina. Per diventare operativo deve essere espresso attraverso un linguaggio di

programmazione.

Il programma può quindi essere definito come la traduzione di un algoritmo in una

sequenza di istruzioni scritte secondo una codifica precisa, tale da poter essere compresa

ed eseguita da un calcolatore elettronico.

Caratteristiche dei linguaggi di programmazione

Un linguaggio di programmazione deve essere comprensibile all’uomo e, allo stesso

tempo, interpretabile ed eseguibile dal calcolatore. Deve inoltre essere chiaro, conciso e

non ambiguo, affinché ogni istruzione abbia un solo significato possibile.

Operazioni di base e strutture di controllo

I linguaggi di programmazione consentono di esprimere operazioni di base come il calcolo

aritmetico, la lettura e la scrittura dei dati, oltre a costrutti logici che permettono di

organizzare le istruzioni in forma sequenziale, decisionale e iterativa.

Procedure, funzioni e modularità

Attraverso procedure e funzioni è possibile suddividere un programma in parti più piccole e

gestibili, migliorando la chiarezza del codice, la riutilizzabilità e la riduzione degli errori.

Processo ed esecuzione di un programma

Il processo rappresenta l’esecuzione concreta delle istruzioni di un programma in un

determinato momento, distinguendosi dall’algoritmo che descrive semplicemente cosa

deve essere fatto.

Compilatori e interpreti 4

Alessandro Fasulo

La traduzione di un programma in linguaggio macchina può avvenire tramite compilatori o

interpreti. Il compilatore traduce l’intero programma prima dell’esecuzione, mentre

l’interprete traduce ed esegue le istruzioni una alla volta.

Conclusione

I linguaggi di programmazione costituiscono il ponte tra il ragionamento umano e

l’esecuzione automatica del calcolatore, rappresentando una competenza fondamentale

per comprendere il funzionamento dei sistemi informatici.

5

Alessandro Fasulo Fondamenti dell’informatica: algoritmi

L’algoritmo rappresenta uno dei concetti fondamentali dell’informatica e costituisce il

modello logico attraverso cui è possibile descrivere la soluzione di un problema in modo

generale e sistematico. Un algoritmo consente di trasformare una situazione iniziale in un

risultato finale attraverso una sequenza ordinata di operazioni.

Dal problema alla soluzione

Ogni algoritmo nasce dalla definizione di un problema. Il problema individua l’obiettivo da

raggiungere, mentre l’algoritmo descrive il procedimento necessario per ottenere la

soluzione. Per costruire un algoritmo è necessario individuare i dati iniziali, le operazioni da

eseguire e il risultato finale atteso.

Caratteristiche di un algoritmo

Un algoritmo deve essere una sequenza di istruzioni non ambigua, finita e ripetibile. Le

istruzioni devono essere precise e interpretabili in modo univoco, così da evitare

interpretazioni differenti durante l’esecuzione.

Un algoritmo è finito quando termina dopo un numero limitato di passi e ripetibile quando

può essere eseguito più volte ottenendo risultati coerenti a partire dagli stessi dati.

Dati, istruzioni e risultati

La soluzione di un problema si ottiene manipolando dati iniziali attraverso una sequenza di

istruzioni. L’algoritmo produce uno o più risultati che rappresentano l’output del

procedimento eseguito.

Flussi di controllo

Le istruzioni di un algoritmo possono essere organizzate secondo diversi flussi di controllo.

Le istruzioni sequenziali vengono eseguite una dopo l’altra; le istruzioni condizionali

permettono di scegliere tra alternative in base a condizioni vere o false; le istruzioni

iterative consentono di ripetere un insieme di operazioni per un certo numero di volte.

Diagrammi di flusso

Per rappresentare graficamente un algoritmo si utilizzano i diagrammi di flusso, costituiti da

blocchi collegati tra loro da frecce che indicano l’ordine di esecuzione. Questi diagrammi

permettono di visualizzare in modo chiaro la logica dell’algoritmo e facilitano la

comprensione dei flussi di controllo.

Conclusione 6

Alessandro Fasulo

Gli algoritmi costituiscono la base teorica dell’informatica e permettono di affrontare

problemi di diversa complessità in modo strutturato. Comprendere il concetto di algoritmo

significa acquisire la capacità di analizzare un problema, definire una soluzione generale e

descriverla attraverso una sequenza ordinata di istruzioni.

7

Alessandro Fasulo Fondamenti dell’informatica: calcolabilità

La calcolabilità è un ambito fondamentale dell’informatica teorica che studia quali problemi

possono essere risolti attraverso un algoritmo e quali, invece, non ammettono alcuna

soluzione algoritmica. Questo concetto permette di individuare i limiti intrinseci del calcolo

automatico.

Il concetto di problema calcolabile

Un problema si definisce calcolabile quando esiste un algoritmo che, applicato a qualsiasi

dato di ingresso valido, termina dopo un numero finito di passi fornendo il risultato corretto.

La calcolabilità non riguarda l’efficienza dell’algoritmo, ma esclusivamente la possibilità di

ottenere una soluzione attraverso una procedura automatica.

Algoritmi e terminazione

Una condizione essenziale per la calcolabilità è la terminazione dell’algoritmo. Un

algoritmo che entra in un ciclo infinito non è in grado di fornire una risposta e quindi non

risolve il problema per cui è stato progettato. La verifica della terminazione rappresenta

uno degli aspetti centrali dello studio della calcolabilità.

Problemi non calcolabili

Esistono problemi per i quali non è possibile costruire alcun algoritmo risolutivo. Questi

problemi vengono definiti non calcolabili e la loro esistenza non dipende dalla potenza dei

calcolatori o dalla qualità dei linguaggi di programmazione, ma da limiti teorici propri

dell’informatica.

La macchina universale

Per studiare la calcolabilità si introduce il concetto di macchina universale, un modello

astratto capace di simulare l’esecuzione di qualsiasi algoritmo. Questo modello consente

di analizzare in modo generale cosa sia possibile calcolare e cosa, invece, rimanga fuori

dalla portata di qualsiasi procedura automatica.

Il problema della decisione

Un esempio classico di problema non calcolabile è il problema della decisione relativo alla

terminazione di un programma. Non esiste un algoritmo generale in grado di stabilire, per

ogni possibile programma e per ogni dato di ingresso, se l’esecuzione terminerà oppure

continuerà all’infinito.

Conclusione 8

Alessandro Fasulo

Lo studio della calcolabilità consente di comprendere i limiti fondamentali del calcolo

automatico. Sapere che esistono problemi non risolvibili algoritmicamente è essenziale per

definire correttamente il ruolo dell’informatica e per distinguere ciò che può essere

automatizzato da ciò che non può esserlo. 9

Alessandro Fasulo

Fondamenti dell’informatica: complessità di

calcolo

La complessità di calcolo studia le risorse necessarie per risolvere un problema tramite un

algoritmo. In particolare, analizza quanto tempo e quanta memoria sono richiesti durante

l’esecuzione, indipendentemente dal linguaggio di programmazione o dal calcolatore

utilizzato.

Il concetto di complessità

Quando si confrontano due algoritmi che risolvono lo stesso problema, non è sufficiente

stabilire se essi funzionano correttamente, ma è necessario valutare quanto siano

efficienti. La complessità permette di misurare le prestazioni di un algoritmo in termini

astratti.

Tempo di calcolo

La complessità temporale indica il numero di operazioni elementari eseguite da un

algoritmo in funzione della dimensione dei dati di ingresso. Questo valore consente di

stimare come il tempo di esecuzione cresce all’aumentare del problema.

Spazio di calcolo

La complessità spaziale misura la quantità di memoria necessaria per l’esecuzione di un

algoritmo. Essa comprende sia lo spazio occupato dai dati sia quello utilizzato dalle

strutture di supporto durante il calcolo.

Confronto tra algoritmi

Due algoritmi che producono lo stesso risultato possono avere complessità molto diverse.

Un algoritmo efficiente utilizza meno tempo o meno spazio rispetto a uno inefficiente,

rendendo possibile la risoluzione di problemi di dimensioni maggiori.

La crescita della complessità

La complessità di un algoritmo dipende dalla dimensione dell’input. All’aumentare dei dati,

il numero di operazioni può crescere in modo lineare, quadratico o esponenziale.

Comprendere questa crescita è fondamentale per prevedere il comportamento

dell’algoritmo.

Conclusione

Lo studio della complessità di calcolo consente di valutare l’efficienza degli algoritmi e di

scegliere la soluzione più adatta a un determinato problema. Questa analisi è essenziale

10

Alessandro Fasulo

per progettare programmi affidabili e utilizzabili su larga scala.

11

Alessandro Fasulo Fondamenti dell’informatica: logica e

informatica

Il rapporto tra logica e informatica è alla base dello sviluppo teorico e pratico dei sistemi di

calcolo. La logica fornisce gli strumenti formali necessari per descrivere il ragionamento

corretto, mentre l’informatica utilizza tali strumenti per progettare algoritmi e sistemi

automatici di elaborazione.

Logica matematica e informatica

La logica matematica studia le regole che governano il ragionamento valido. In informatica,

queste regole permettono di formalizzare problemi, definire procedure precise e verificare

la correttezza dei processi di calcolo.

Problemi risolubili e problemi non risolubili

Uno degli obiettivi principali del legame tra logica e informatica è stabilire quali problemi

possano essere risolti attraverso procedure automatiche. Alcuni problemi ammettono una

soluzione algoritmica, mentre altri presentano limiti teorici che impediscono una risoluzione

completa.

Formalizzazione dei problemi

La formalizzazione consiste nel tradurre un problema reale in un linguaggio rigoroso, privo

di ambiguità. Questo passaggio è essenziale per consentire al calcolatore di eseguire

correttamente le istruzioni e produrre risultati affidabili.

Macchine astratte e modelli logici

L’informatica teorica utilizza modelli astratti per rappresentare il funzionamento dei

calcolatori. Questi modelli consentono di studiare in modo generale le capacità e i limiti del

calcolo automatico, indipendentemente dalla tecnologia impiegata.

Il ruolo della logica nel calcolo automatico

La logica consente di verificare la correttezza degli algoritmi e di dimostrare proprietà

fondamentali come la terminazione e la coerenza dei risultati. Essa rappresenta quindi uno

strumento essenziale per garantire l’affidabilità dei sistemi informatici.

Conclusione

Il legame tra logica e informatica permette di comprendere a fondo le basi teoriche del

calcolo automatico. Attraverso la logica è possibile definire, analizzare e verificare i

processi che rendono possibile l’elaborazione delle informazioni.

12

Alessandro Fasulo

Architetture e sistemi operativi: introduzione

al computer

Il computer è uno strumento generale e programmabile, capace di svolgere un numero

molto elevato di compiti diversi. A differenza delle macchine tradizionali, progettate per una

funzione specifica, il computer può modificare radicalmente il proprio comportamento in

base al programma che esegue.

Caratteristiche fondamentali del computer

La caratteristica principale del computer è la programmabilità. Attraverso programmi

diversi, lo stesso dispositivo può essere utilizzato per scrivere testi, elaborare immagini e

filmati, progettare strutture, produrre musica o svolgere attività di gioco. Questa flessibilità

rende il computer uno strumento estremamente versatile.

Computer e programmi

Il computer esegue istruzioni con estrema velocità, elaborando grandi quantità di dati. Ogni

risultato prodotto dipende esclusivamente dalla correttezza del programma eseguito. Un

errore nella sequenza di istruzioni porta a risultati errati, anche se il calcolo viene eseguito

molto rapidamente.

Computer specializzati

Esistono computer specializzati integrati all’interno di altri dispositivi, come telefoni

cellulari, automobili, elettrodomestici e sistemi di controllo. In questi casi il computer non è

percepito come un dispositivo autonomo, ma come parte integrante del funzionamento

dell’apparecchiatura.

Hardware e software

Ogni sistema informatico è composto da hardware e software. L’hardware comprende tutti

i componenti fisici del computer, mentre il software è costituito dall’insieme di programmi e

dati che regolano il funzionamento dell’hardware.

Il sistema operativo

Per funzionare correttamente, il computer necessita di un programma fondamentale

chiamato sistema operativo. Il sistema operativo gestisce le risorse hardware, coordina

l’esecuzione dei programmi e consente l’interazione tra l’utente e la macchina.

Anteprima
Vedrai una selezione di 13 pagine su 58
Appunti di Fondamenti di informatica Pag. 1 Appunti di Fondamenti di informatica Pag. 2
Anteprima di 13 pagg. su 58.
Scarica il documento per vederlo tutto.
Appunti di Fondamenti di informatica Pag. 6
Anteprima di 13 pagg. su 58.
Scarica il documento per vederlo tutto.
Appunti di Fondamenti di informatica Pag. 11
Anteprima di 13 pagg. su 58.
Scarica il documento per vederlo tutto.
Appunti di Fondamenti di informatica Pag. 16
Anteprima di 13 pagg. su 58.
Scarica il documento per vederlo tutto.
Appunti di Fondamenti di informatica Pag. 21
Anteprima di 13 pagg. su 58.
Scarica il documento per vederlo tutto.
Appunti di Fondamenti di informatica Pag. 26
Anteprima di 13 pagg. su 58.
Scarica il documento per vederlo tutto.
Appunti di Fondamenti di informatica Pag. 31
Anteprima di 13 pagg. su 58.
Scarica il documento per vederlo tutto.
Appunti di Fondamenti di informatica Pag. 36
Anteprima di 13 pagg. su 58.
Scarica il documento per vederlo tutto.
Appunti di Fondamenti di informatica Pag. 41
Anteprima di 13 pagg. su 58.
Scarica il documento per vederlo tutto.
Appunti di Fondamenti di informatica Pag. 46
Anteprima di 13 pagg. su 58.
Scarica il documento per vederlo tutto.
Appunti di Fondamenti di informatica Pag. 51
Anteprima di 13 pagg. su 58.
Scarica il documento per vederlo tutto.
Appunti di Fondamenti di informatica Pag. 56
1 su 58
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Ged7789 di informazioni apprese con la frequenza delle lezioni di Fondamenti di informatica e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università San Raffaele Roma o del prof Scarpato Noemi.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community