Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Introduzione all'informatica: Architettura, Algoritmi e Strutture Dati, Sintesi del corso di Fondamenti di informatica

Una panoramica generale dei concetti fondamentali dell'informatica, coprendo argomenti come l'architettura di von neumann, i tipi di memoria, i dispositivi di input/output, i linguaggi di programmazione, gli algoritmi e le strutture dati. Utile per studenti che desiderano acquisire una conoscenza di base dell'informatica e dei suoi principi.

Tipologia: Sintesi del corso

2024/2025

Caricato il 04/02/2025

domenico-k7t
domenico-k7t 🇮🇹

5

(1)

3 documenti

1 / 12

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
Principali Caratteristiche Della Macchina Di Von Ne umann 󲒈󲒉󲒊󲒋
Origine: John von Neumann è considerato uno d ei padri dell'informatica e ha contribuito alla
programmazione dell'ENIAC. Nel 1945, sviluppò la teoria dell'architettura della macchina di Von
Neumann, che è alla base dei moderni c omputer.
Componenti: I computer sono composti da due tipi di componenti:
Hardware: I componenti fisici e tangibili della macchina.
Software: I programmi che il computer esegue, considerati la parte "intelligente".
Architettura di Von Neumann 󲐸󲐹󲐺󲐻󲐼
Connessione: L'architettura connette la C PU (Central Processing Unit) alla memoria, ai dispositivi di
input (tastiera, mouse) e ai dispositivi di output (monitor, stampante).
Componenti della CPU:
Central Unit (CU): Estrae e codifica info rmazioni dalla memoria, esegue operazioni di sistema
e dialoga con i dispositivi di I/O.
Arithmetic Logic Unit (ALU): Esegue operazioni aritmetiche e logiche (AND, OR, NOT).
Registri (RE): Memorizzano dati durante l' esecuzione delle istruzioni.
Ciclo di Recupero ed Esecuzione: Il processo di lettura ed esecuzione delle istruzioni dalla RAM
avviene ciclicamente, noto come FETCH AND EXECUTE CYCLE. La velocità della CPU è misurata in
GHz, con valori attuali che variano da 1 a 4 GHz.
Tipi di Memoria 󰛖󰛗󰛘
Main Memory (RAM): Memoria volatile che perde i dati allo spegnimento del computer.
Memoria Secondaria (HDD): Memoria non volat ile, più lenta rispetto alla RAM.
Celle di Memoria: Sequenze di locazioni che facilitano l'individuazione delle informazioni richieste
dalla CPU.
Tipo di Memoria
Caratteristiche
RAM
Volatile, perde dati allo spegnimento
HDD
Non volatile, più lenta della RAM
System Bus: Un nuovo sistema che risolve il collo di bottiglia tra CPU e memoria, collegando tutti i
dispositivi tramite tre canali:
Control Bus: Trasmette segnali tra CPU, memoria e dispositivi di I/O.
Address Bus: Trasferisce indirizzi di locazione della memoria.
Data Bus: Trasporta i dati.
Interrupt: Segnale che interrompe le operazioni della CPU per gestire eventi esterni, miglio rando
l'efficienza rispetto al polling loops.
Descrivere Il Flow Chart E Scrivere Un Algoritmo Con Almeno 5 Istruzioni 󰃦󰃧󰃨󰃩󰃪
Flow Chart: Un diagramma che rappresenta il flusso di un programma attraverso forme geometriche.
pf3
pf4
pf5
pf8
pf9
pfa

Anteprima parziale del testo

Scarica Introduzione all'informatica: Architettura, Algoritmi e Strutture Dati e più Sintesi del corso in PDF di Fondamenti di informatica solo su Docsity!

Principali Caratteristiche Della Macchina Di Von Neumann 㓧㓨㓩㓪  Origine: John von Neumann è considerato uno dei padri dell'informatica e ha contribuito alla programmazione dell'ENIAC. Nel 1945, sviluppò la teoria dell'architettura della macchina di Von Neumann, che è alla base dei moderni computer.  Componenti: I computer sono composti da due tipi di componenti:  Hardware: I componenti fisici e tangibili della macchina.  Software: I programmi che il computer esegue, considerati la parte "intelligente". Architettura di Von Neumann 㒗㒘㒙㒚㒛  Connessione: L'architettura connette la CPU (Central Processing Unit) alla memoria, ai dispositivi di input (tastiera, mouse) e ai dispositivi di output (monitor, stampante).  Componenti della CPU:  Central Unit (CU): Estrae e codifica informazioni dalla memoria, esegue operazioni di sistema e dialoga con i dispositivi di I/O.  Arithmetic Logic Unit (ALU): Esegue operazioni aritmetiche e logiche (AND, OR, NOT).  Registri (RE): Memorizzano dati durante l'esecuzione delle istruzioni.  Ciclo di Recupero ed Esecuzione: Il processo di lettura ed esecuzione delle istruzioni dalla RAM avviene ciclicamente, noto come FETCH AND EXECUTE CYCLE. La velocità della CPU è misurata in GHz, con valori attuali che variano da 1 a 4 GHz. Tipi di Memoria ᜵᜶᜷  Main Memory (RAM): Memoria volatile che perde i dati allo spegnimento del computer.  Memoria Secondaria (HDD): Memoria non volatile, più lenta rispetto alla RAM.  Celle di Memoria: Sequenze di locazioni che facilitano l'individuazione delle informazioni richieste dalla CPU. Tipo di Memoria Caratteristiche RAM Volatile, perde dati allo spegnimento HDD Non volatile, più lenta della RAM  System Bus: Un nuovo sistema che risolve il collo di bottiglia tra CPU e memoria, collegando tutti i dispositivi tramite tre canali:  Control Bus: Trasmette segnali tra CPU, memoria e dispositivi di I/O.  Address Bus: Trasferisce indirizzi di locazione della memoria.  Data Bus: Trasporta i dati.  Interrupt: Segnale che interrompe le operazioni della CPU per gestire eventi esterni, migliorando l'efficienza rispetto al polling loops. Descrivere Il Flow Chart E Scrivere Un Algoritmo Con Almeno 5 Istruzioni ᅅᅆᅇᅈᅉ  Flow Chart: Un diagramma che rappresenta il flusso di un programma attraverso forme geometriche.

 Inizio e Fine: Ovalo.  Input: Parallelogrammi.  Processi: Rettangoli.  Output: Parallelogrammi ibridi.  Decisioni: Rombi che aprono due percorsi (sì/no).  Costrutti di Base: Sequenze, decisioni e cicli. I cicli possono essere pre-test o post-test.  Esempio di Flow Chart:  Inizio (ovale)  Inserisci 4 numeri (parallelepipedo, input)  Fai la loro media (rettangolo, processo)  Verifica se maggiore di TOT (rombo)  Se sì, mostra "SI" (parallelepipedo ibrido, output)  Se no, mostra "NO" (parallelepipedo ibrido, output)  Fine (ovale) Illustrare I 4 Modelli Di Deployment Del Cloud Computing 㐌㐍  Cloud Computing: Insieme di risorse computazionali accessibili da qualsiasi luogo, economiche e on- demand.  Caratteristiche:  Servizio self-service on-demand.  Forte capacità di connessione.  Risorse condivise.  Elasticità e adattabilità.  Servizio misurabile.  Modelli di Servizio:  SaaS (Software as a Service): Software accessibile via internet.  PaaS (Platform as a Service): Piattaforme per sviluppare applicazioni.  IaaS (Infrastructure as a Service): Infrastrutture virtuali.  Modelli di Sviluppo:  Private Cloud: Risorse dedicate a un singolo utente.  Community Cloud: Risorse condivise tra una comunità specifica.  Public Cloud: Risorse disponibili al pubblico.  Hybrid Cloud: Combinazione di modelli diversi. Descrivere Brevemente Virus E Malware ऄअआ

  1. Definire i dati di ingresso e uscita.
  2. Progettare l'algoritmo.
  3. Programmare l'applicazione.
  4. Testing per verificare il funzionamento.
  5. Scrivere la documentazione.
  6. Sviluppare e distribuire l'applicazione.
  7. Manutenzione e aggiornamenti. Illustrare La Classificazione Della Rete Di Calcolatori In Base Alla Forma Della Rete ዅ  Reti di Calcolatori: Internet è la rete delle reti, con dispositivi connessi tramite cavi o wireless.  Tipologie di Rete:  Reti a Bus: Cavo centrale a cui sono collegati dispositivi passivi.  Reti a Stella: Hub centrale con nodi connessi; se l'hub fallisce, l'intero sistema si ferma.  Reti ad Anello: Forma circolare con dati che viaggiano in una sola direzione.  Reti a Maglia: Nodi interconnessi che offrono massima efficienza ma richiedono manutenzione complessa.  Reti Ibride: Combinano diverse tipologie di rete. Illustrare Le Principali Caratteristiche Delle Architetture Client-Server 2-Tier, 3-Tier, N-Tier 㒗㒘㒙㒚㒛  Architettura Client-Server: Composta da client (computer che fa richieste) e server (che soddisfa le richieste).  Tipologie:  2-Tier: Client e server comunicano direttamente.  3-Tier: Introduzione di un livello intermedio (application server) per gestire la logica di business.  N-Tier: Architettura scalabile con più livelli, migliorando la gestione e la sicurezza. Architetture Client-Server 㒗㒘㒙㒚㒛 Caratteristiche Principali  Definizione: Un'architettura di rete è composta dai componenti e dalle connessioni che identificano come i componenti comunicano. L'architettura client-server è una delle più diffuse.  Componenti: Comprende un client (computer con browser) che fa richieste e un server che soddisfa tali richieste. I server sono dispositivi passivi.  Configurazioni: Le architetture client-server possono essere 2-tier, 3-tier o n-tier, con complessità e prestazioni crescenti:  2-tier: Un client e un server che esegue tutti i componenti software. È economica e adatta a piccole aziende (10-100 utenti), ma non scalabile.  3-tier: Due server, separando la gestione dei dati. Migliora la scalabilità, ma non offre ridondanza (se un server si guasta, il sistema non funziona).  N-tier: Molti client e server che si dividono le funzioni, creando un'architettura ridondante, affidabile e scalabile, adatta a grandi organizzazioni (oltre 1000 utenti).

 Flessibilità e Scalabilità: I server possono essere aggiornati indipendentemente dai client, e il sistema può adattarsi rapidamente alle esigenze. Definizione di Elaboratore 㓧㓨㓩㓪  Sinonimo: Il termine "elaboratore" si riferisce a computer e calcolatori, capaci di eseguire istruzioni programmate e gestire grandi quantità di dati.  Funzioni: Permette la condivisione delle informazioni a livello globale.  Aspetti Fondamentali dell'Informatica:  Rappresentazione delle informazioni tramite codifica.  Elaborazione delle informazioni.  Conservazione delle informazioni nelle memorie interne o esterne.  Distribuzione delle informazioni tramite Internet. Caratteristiche della CPU nella Macchina di Von Neumann 㐛㐜㐝  Composizione: La CPU è composta da tre elementi:  CU (Control Unit): Gestisce l'estrazione e la scrittura delle informazioni dalla memoria, interpreta i bit e comunica con altri dispositivi.  ALU (Arithmetic Logic Unit): Esegue operazioni aritmetiche e logiche.  Registri (RE): Memoria ad accesso ultra rapido che tiene traccia delle informazioni e dei dati in esecuzione.  Funzionamento: La CPU utilizza la RAM per comunicare con altri dispositivi e gestisce i dati temporaneamente. Se la RAM è insufficiente, utilizza l'hard disk, riducendo le prestazioni.  System Bus: Un sistema di comunicazione tra CPU e dispositivi che include:  Control Bus: Trasmette segnali di stato.  Address Bus: Trasferisce indirizzi di memoria.  Data Bus: Trasporta i dati.  Multitasking: La CPU può gestire più operazioni contemporaneamente grazie agli interrupt, superando le inefficienze del polling loops. Differenze tra Software di Base e Software Applicativo ᅅᅆᅇᅈᅉ  Software di Base: Include il sistema operativo e strumenti come compilatori e interpreti. È essenziale per il funzionamento del computer e gestisce le risorse hardware.  Software Applicativo: Comprende programmi specifici per funzioni avanzate, come editing di testo, fogli di calcolo, e applicazioni per e-commerce.  Sistema Operativo: È il software di base più importante, gestisce le risorse hardware e funge da intermediario tra programmi e hardware. Esistono vari tipi di sistemi operativi, come Windows e Linux, ognuno con caratteristiche specifiche. Proprietà di un Linguaggio Strutturato ၵၶၷၸ  Definizione: Un linguaggio strutturato è facile da scrivere e leggere, riducendo la complessità e facilitando la manutenzione.

Modelli di Sviluppo di Applicazioni Mobile ᢯ᢰᢱᢲᢳ  Tipologie:  App Native: Sviluppate specificamente per un sistema operativo.  Web App: Accessibili tramite browser, responsive e adattabili a vari dispositivi.  Hybrid App: Combina elementi delle app native e web, permettendo una maggiore flessibilità.  Evoluzione: L'uso di dispositivi mobili è cresciuto esponenzialmente, con applicazioni sempre più integrate nella vita quotidiana. Storia Dei Cellulari ᢯ᢰᢱᢲᢳ Evoluzione Dei Cellulari  Inizio: I cellulari erano inizialmente progettati solo per effettuare chiamate e inviare SMS, con funzionalità limitate come giochi semplici e editor di suonerie.  Rivoluzione: L'introduzione di internet sui dispositivi mobili tramite WAP (Wireless Application Protocol) ha segnato un cambiamento significativo, anche se inizialmente non ha avuto molto successo a causa di problemi di esperienza utente e velocità.  Smartphone: La vera svolta è avvenuta nel 2007 con l'iPhone di Apple e nel 2008 con Google Android, portando a un'esplosione nello sviluppo di applicazioni. Tipi Di App ᢵᢶᢷᢸᢹᢺ  App Native:  Specifiche per una piattaforma mobile e conformi al sistema operativo del dispositivo.  Possono accedere a funzioni del dispositivo come galleria e calendario.  Sviluppo costoso a causa della necessità di conoscenze specifiche del sistema operativo.  Responsive Web App:  Utilizzano tecnologie web standard come HTML5, JavaScript e CSS3.  Non richiedono conoscenze specifiche dei sistemi operativi.  Aggiornamenti immediati per tutti gli utenti.  Hybrid App:  Combinano elementi delle app native e delle web app.  Scritte in HTML5 e JavaScript, possono accedere a funzioni del dispositivo.  Esempio: Booking. Caratteristiche Del World Wide Web ዅ  Definizione: Il WWW è un insieme di informazioni e applicazioni disponibili su internet, creato da Tim Berners-Lee al CERN.  Protocollo: Basato su HTTP, che utilizza TCP/IP per la comunicazione.  Ipertesto: Le pagine web possono essere statiche o dinamiche e sono ora multimediali, includendo testo, immagini, audio e video.  Accesso: Le pagine sono pubblicate su web server e raggiungibili tramite indirizzi IP pubblici.

Strutture Dati Non Primitive ᅅᅆᅇᅈᅉ  Definizione: Le strutture dati organizzano i dati in modo efficiente nella memoria del computer.  Tipi:  Lineari: Organizzate in sequenza (es. array, liste).  Liste: Possono essere pile (LIFO) o code (FIFO).  Non Lineari:  Alberi: Strutture gerarchiche con un nodo principale (radice) e nodi terminali (foglie).  Grafi: Insiemi di nodi collegati da archi. Algoritmi: Definizione E Criteri Fondamentali ᜵᜶᜷  Definizione: Un algoritmo è una sequenza finita di istruzioni non ambigue per risolvere un problema.  Costrutti: Comprende sequenze di azioni, decisioni e cicli.  Caratteristiche:  Eseguibilità: Deve essere eseguibile.  Finitezza: Deve terminare.  Non Ambiguità: Deve essere chiaro e preciso.  Efficienza: Utilizzare il minor numero di risorse possibile. Dispositivi Di Input/Output 㒗㒘㒙㒚㒛  Input: Mouse e tastiera sono i principali dispositivi di input. Il monitor può fungere sia da input che da output.  Output: Monitor e stampante (ora multifunzione) sono i principali dispositivi di output. Gli altoparlanti forniscono output audio. System Bus E Difetto Della Macchina Di Von Neumann 㐛㐜㐝  Difetto: Il "collo di bottiglia" tra CPU e RAM causava inattività della CPU.  System Bus: Un sistema di comunicazione tra CPU, memoria e dispositivi di I/O, composto da:  Control Bus: Segnala la prontezza alla trasmissione.  Address Bus: Trasmette l'indirizzo di memoria.  Data Bus: Trasmette le informazioni. Ciclo Fetch And Execute Della CPU ㎯  Ciclo: La CPU esegue operazioni misurate in GHz, con un ciclo di recupero ed esecuzione delle istruzioni dalla RAM.  Componenti: Include CU (Control Unit), ALU (Arithmetic Logic Unit) e registri. Definizione Di Software 㓧㓨㓩㓪  Definizione: Il software è la parte intelligente del computer, costituita dai programmi che ne permettono il funzionamento.  Tipi:

  1. Documentazione.
  2. Deployment.
  3. Manutenzione. Linguaggi Di Programmazione 㒗㒘㒙㒚㒛  Definizione: Linguaggio comprensibile per l'uomo, più vicino al linguaggio naturale rispetto al linguaggio macchina.  Esempi: Assembly, utilizzato in applicazioni storiche come il programma per la missione sulla Luna. Linguaggi Di Programmazione 㒗㒘㒙㒚㒛 Linguaggio Macchina e Assembly  Linguaggio Macchina: È il linguaggio fondamentale del computer, composto da sequenze di 0 e 1 che rappresentano lo stato acceso o spento dei transistor. Questo linguaggio è complesso e difficile da scrivere e leggere, rendendo il processo di correzione dei bug lungo e noioso.  Assembly: È un linguaggio di basso livello più comprensibile per l'uomo, utilizzato anche per missioni storiche come quella sulla Luna. Tuttavia, non è direttamente leggibile dalle macchine, quindi è necessario un dispositivo chiamato Assembler per tradurlo in linguaggio macchina. Linguaggi Di Alto Livello  Definizione: I linguaggi di alto livello sono progettati per essere più vicini al linguaggio naturale umano, facilitando la scrittura, lettura e manutenzione del codice.  Caratteristiche:  Facili e veloci da scrivere e leggere.  Utilizzano un vocabolario, una sintassi e una semantica formali.  Permettono una gestione migliore del codice sorgente e una più facile individuazione dei bug.  Tipi:  Compilatori: Linguaggi come Fortran, C, C++ che traducono il codice sorgente in codice eseguibile prima dell'esecuzione.  Interpreti: Linguaggi come Java e C# che traducono il codice in tempo reale durante l'esecuzione, risultando più lenti. "I linguaggi di alto livello, insieme ai linker e ai debugger, permettono ai programmatori di scrivere e leggere più velocemente." Database e Gestione Dati ᅅᅆᅇᅈᅉ Classificazione Delle Basi Di Dati  Necessità: Con l'aumento dei dati da gestire, è emersa la necessità di sistemi di database condivisi per evitare inefficienze.  DBMS: Il Database Management System consente la gestione dei dati in modo indipendente dall'applicativo, permettendo modifiche senza alterare il software. Strutture Dati  Dati Primitivi e Non Primitivi:  Primitivi: Supportati dal linguaggio di programmazione.

 Non Primitivi: Possono essere lineari (array, liste, file, code) o non lineari (alberi, grafi).  Struttura Relazionale: Introdotta da Codd nel 1970, si basa su relazioni matematiche tra insiemi di dati, unificando simbolismo e metodologia. Reti Di Calcolatori ዅ Tipi Di Reti  Classificazione per Estensione:  LAN: Reti locali (domestiche o aziendali).  MAN: Reti metropolitane (urbane).  WAN: Reti geografiche (nazionali o continentali).  Internet: Rete delle reti.  Classificazione per Forma:  Rete a bus, rete a stella, rete ad anello, rete a maglia e rete ibrida. Applicazioni e Protocollo Di Comunicazione 㕷㕸㕹㕺㕻㕼㕽 Posta Elettronica e FTP  Posta Elettronica: Inizialmente creata per inviare messaggi, oggi consente l'invio di documenti. Utilizza protocolli come SMTP (invio) e POP3 (ricezione).  FTP: Protocollo di trasferimento file, essenziale per la condivisione di documenti prima della nascita del WWW. Motori Di Ricerca  Funzione: I motori di ricerca come Google e Yahoo organizzano e restituiscono informazioni in base a parole chiave.  Accessibilità: I motori di ricerca sono gratuiti e forniscono accesso rapido a una vasta gamma di informazioni. Cloud Computing 㐌㐍 Caratteristiche Fondamentali  Self Service On Demand: Gli utenti possono accedere alle risorse quando necessario.  Affidabilità: Connessione forte e stabile.  Elasticità: Adattamento alle variazioni della domanda.  Convenienza: Riduzione dei costi grazie alla condivisione delle risorse.  Misurabilità: Consumo delle risorse misurabile e spesso pagato a consumo. Modelli Di Deployment  Private Cloud: Risorse private.  Community Cloud: Risorse condivise tra un gruppo limitato.  Public Cloud: Risorse pubbliche.  Hybrid Cloud: Combinazione di risorse private e pubbliche.