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


Appunti base informatica, Dispense di Fondamenti di informatica

Linguaggio Python, Programmazione, Suono, Immagine, Turtle

Tipologia: Dispense

2020/2021

Caricato il 04/08/2022

hoaukou
hoaukou 🇮🇹

4

(1)

10 documenti

1 / 16

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
INFORMATICA
INFORMATICA: Trattamento e elaborazione automatica delle informazioni per mezzo del calcolatore
(messaggio)
INFORMAZIONE: Scambio di conoscenze, ovvero il significato che viene attribuito ad esse. Ha contenuto
informativo (messaggio) e può essere un testo scritto o parlato (lettere, simboli speciali) o numeri (cifre
decimali, numeri interi e reali). Viaggia su un canale di comunicazione (supporto).
SUPPORTO: Trasmette l'informazione, che può essere contenuta su più supporti, che possono contenere
diversi tipi di informazioni. Un supporto può essere una tastiera, suoni, codici, alfabeto, etc. Non tutti i
supporti possono trasportare tutte le informazioni. Il numero delle informazioni supportate dipende dalle
configurazioni del supporto, più ce ne sono più informazioni abbiamo. Contiene il linguaggio bit (0 e 1).
Il rapporto tra supporto ed informazione comporta due azioni:
- CODIFICA: Convertire dall’informazione al supporto, cioè da simboli, gestiti dagli umani, a BIT, cioè
la rappresentazione digitale, operata dal mittente e detta anche scrittura, ovvero rappresentazione
concreta di quello che abbiamo in mente, es. comporre un messaggio.
- DECODIFICA: interpreta la codifica dal supporto all’informazione, ovvero da BIT a simboli. Viene
operata dal destinatario, ed è detta anche lettura dell’informazione, ovvero tradurre la forma
concreta in astratta. Es. la foto al momento dello scatto si codifica in bit, quando la riapriamo si
decodifica.
Emittente e destinatario condividono il supporto.
Ogni sistema di codifica e decodifica comporta tre aspetti:
- quali simboli sono accettati (alfabeto)
- quali sono le configurazioni dei simboli accettate (Riarrangio il vocabolario)
- quali sono le convenzioni di informazione associate alle configurazioni (semantica)
Il tipo di codifica si può definire sulla base del numero di configurazioni degli elementi dell’alfabeto.
Per questo si dice che è una codifica è in base N se N è il numero dei simboli.
- Codifica decimale > 10 simboli
- Codifica alfabetica di base > 21 simboli
Tutti i numeri e le parole formano il vocabolario.
CALCOLATORE: Sistema che deve leggere, scrivere e memorizzare le informazioni, esegue operazioni
matematiche e confronti tra informazioni. Non ha intelligenza propria. Si dice che i calcolatori sono
dispositivi bistabili.
ELABORATORE: Macchina complessa costituita da diversi elementi che interagiscono per una specifica
funzione. Si parla di sistema di elabo-razione, coordinato dal sistema operativo.
BIT: Claude Shannon ha definito matematicamente l’unità di misura della quantità di informazione, il bit
(binary digit) che rappresenta uno dei due valori possibili e cioè 0 e 1. È una quantità fisicamente
codificabile in un dispositivo elettronico. Indica la presenza-assenza di segnale elettrico e magnetico,
rappresentabili e memorizzabili tramite circuiti digitali.
CODIFICA BINARIA: usa solo questi i simboli 0 e 1, tutte le informazioni che il computer elabora sono
codificate in sequenze in cui compaiono soltanto questi due simboli.
BYTE: Le informazioni che il calcolatore gestisce sono più di due, quindi si usano più sequenze di bit, in
genere sequenze di 8 bit cioè 1 byte.
Il calcolatore rappresenta l’informazione che gestisce tramite sequenze di bit:
- Rappresentazione esterna comprensibile per l’essere umano (decodifica)
- Rappresentazione interna in byte per lgente di calcolo (codifica)
L’informazione transita continuamente tra le due forme.
ARCHITETTURA DI UN CALCOLATORE: Il calcolatore è formato da due macro componenti:
- Hardware (fisso)
- Software:
Software di base operativo per la gestione del sistema (qualcuno l’ha programmato per
noi).
Software applicativo per l’uso del sistema (si appoggia il software di base) ed è installato a
posteriori
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff

Anteprima parziale del testo

Scarica Appunti base informatica e più Dispense in PDF di Fondamenti di informatica solo su Docsity!

INFORMATICA

INFORMATICA : Trattamento e elaborazione automatica delle informazioni per mezzo del calcolatore (messaggio) INFORMAZIONE : Scambio di conoscenze, ovvero il significato che viene attribuito ad esse. Ha contenuto informativo (messaggio) e può essere un testo scritto o parlato (lettere, simboli speciali) o numeri (cifre decimali, numeri interi e reali). Viaggia su un canale di comunicazione (supporto). SUPPORTO : Trasmette l'informazione, che può essere contenuta su più supporti, che possono contenere diversi tipi di informazioni. Un supporto può essere una tastiera, suoni, codici, alfabeto, etc. Non tutti i supporti possono trasportare tutte le informazioni. Il numero delle informazioni supportate dipende dalle configurazioni del supporto, più ce ne sono più informazioni abbiamo. Contiene il linguaggio bit ( 0 e 1). Il rapporto tra supporto ed informazione comporta due azioni:

  • CODIFICA : Convertire dall’informazione al supporto, cioè da simboli, gestiti dagli umani, a BIT, cioè la rappresentazione digitale, operata dal mittente e detta anche scrittura, ovvero rappresentazione concreta di quello che abbiamo in mente, es. comporre un messaggio.
  • DECODIFICA : interpreta la codifica dal supporto all’informazione, ovvero da BIT a simboli. Viene operata dal destinatario, ed è detta anche lettura dell’informazione, ovvero tradurre la forma concreta in astratta. Es. la foto al momento dello scatto si codifica in bit, quando la riapriamo si decodifica. Emittente e destinatario condividono il supporto. Ogni sistema di codifica e decodifica comporta tre aspetti:
  • quali simboli sono accettati (alfabeto)
  • quali sono le configurazioni dei simboli accettate (Riarrangio il vocabolario)
  • quali sono le convenzioni di informazione associate alle configurazioni (semantica) Il tipo di codifica si può definire sulla base del numero di configurazioni degli elementi dell’alfabeto. Per questo si dice che è una codifica è in base N se N è il numero dei simboli.
  • Codifica decimale > 10 simboli
  • Codifica alfabetica di base > 21 simboli Tutti i numeri e le parole formano il vocabolario. CALCOLATORE : Sistema che deve leggere, scrivere e memorizzare le informazioni, esegue operazioni matematiche e confronti tra informazioni. Non ha intelligenza propria. Si dice che i calcolatori sono dispositivi bistabili. ELABORATORE : Macchina complessa costituita da diversi elementi che interagiscono per una specifica funzione. Si parla di sistema di elabo-razione, coordinato dal sistema operativo. BIT : Claude Shannon ha definito matematicamente l’unità di misura della quantità di informazione, il bit (binary digit) che rappresenta uno dei due valori possibili e cioè 0 e 1. È una quantità fisicamente codificabile in un dispositivo elettronico. Indica la presenza-assenza di segnale elettrico e magnetico, rappresentabili e memorizzabili tramite circuiti digitali. CODIFICA BINARIA : usa solo questi i simboli 0 e 1, tutte le informazioni che il computer elabora sono codificate in sequenze in cui compaiono soltanto questi due simboli. BYTE : Le informazioni che il calcolatore gestisce sono più di due, quindi si usano più sequenze di bit, in genere sequenze di 8 bit cioè 1 byte. Il calcolatore rappresenta l’informazione che gestisce tramite sequenze di bit:
  • Rappresentazione esterna comprensibile per l’essere umano (decodifica)
  • Rappresentazione interna in byte per l’gente di calcolo (codifica) L’informazione transita continuamente tra le due forme. ARCHITETTURA DI UN CALCOLATORE: Il calcolatore è formato da due macro componenti:
  • Hardware (fisso)
  • Software:
  • Software di base operativo per la gestione del sistema (qualcuno l’ha programmato per noi).
  • Software applicativo per l’uso del sistema (si appoggia il software di base) ed è installato a posteriori

Funzioni di base che è un calcolatore deve assolvere:

  • Trasferimento dei dati da una componente all’altra
  • Scambio dei dati con l’utente
  • Elaborazione di calcoli per assolvere ad una richiesta
  • Controllo delle varie componenti e la loro interazione
  • Memorizzazione delle informazioni Ogni componente esegue una serie di passi specificati a priori, nota come algoritmo. ALGORITMO : È il procedimento da seguire per raggiungere un certo obiettivo e quali operazioni devono essere eseguite per portarlo a termine. elementi essenziali di un algoritmo sono:
  • Dati : ciò che deve essere elaborato
  • Istruzioni semplici: i singoli passi che devono essere compiuti sui dati
  • Istruzioni complesse: combinazione di più istruzioni semplici. L’insieme delle istruzioni complesse definisce un programma , ovvero quegli algoritmi che risolvono problemi tramite l’elaborazione elettronica dei dati. Fa parte del macro componente software. Useremo i termini algoritmo e programma indifferentemente. Gli elementi essenziali nello svolgimento dei programmi da parte delle componenti sono:
  • Dati
  • Istruzioni o comandi
  • Indirizzi ARCHITETTURA DI VON NEUMANN: È un’architettura a programma memorizzato. Dati e istruzioni dei programmi vanno codificati come bit e memorizzati nello stesso luogo. L’unità centrale di elaborazione preleva dalla memoria dati o istruzioni in momenti e contesti diversi. CPU (PROCESSORE): Elabora e accede ai dati del bus, quindi esegue i programmi. Controlla l’esecuzione, secondo il ciclo macchina (o ciclo fisso): prelevamento > decodifica > esecuzione (fetch, decode, execute).
  • FETCH (lettura) : Si accede alla prima istruzione, la si porta al Registro Istruzioni, quindi diviene l’istruzione in corso.
  • DECODE : Si trasferiscono i dati nei registri opportuni.
  • EXECUTE : Si esegue l’istruzione sui dati; si incrementa il PC di 1. Questa sequenza viene detta anche ciclo di esecuzione dell’istruzione. la sequenzialità delle operazioni è nota come pipeling , che causa degli stati di attesa. Lo stato inattivo può essere superato se gli organi possono operare contemporaneamente. INTERFACCIA INPUT/OUTPUT: Servono per lo scambio dati, collegano le periferiche al calcolatore. BUFFER (o MEMORIA DI TRANSITO) : Risolve i problemi, e i dati vengono memorizzati all’interno. Senza una gestione dei tempi, si corre il rischio che avvengano sovrapposizioni e sfasature:
  • In fase di pre fetch, si corre il rischio che l’istruzione caricata non possa essere mandata in esecuzione, e quindi venga sovrascritta da quella successiva, causando errori.
  • Se ho un grosso file che mi impegna la periferica, il buffer potrebbe essere impegnato. SINCRONIZZAZIONE : Si devono sincronizzare le operazioni svolte in parallelo. Nella CPU è integrato un orologio (Timer clock) che scandisce degli intervalli in tempi costanti, corrisponde al tempo necessario per svolgere le operazioni base della CPU. CLOCK : Si misura in cicli/secondi Herz (quanti cicli in un secondo). Ad ogni impulso di clock si esegue un ciclo macchina. La velocità di un microprocessore dipende dalla frequenza del suo clock. Più è breve il clock più è veloce il processore. MICROPROCESSORI : Caratteristiche: repertorio di istruzioni (configurazioni di bit), frequenza di clock, ampiezza del bus (numero di bit che possono essere trasferiti nel bus interno del processore: a 32 bit, a 64 bit), coprocessori (specializzati per operazioni complesse), dimensioni della memoria cache. Sono dispositivi elettronici molto complessi, composti da transitor. TRANSITOR (Bit) : Interruttore elettronico che realizza il funzionamento di 1 bit (una connotazione assume stato 0 o 1) UNITÀ CENTRALE DI ELABORAZIONE : realizzata fisicamente sottoforma di microprocessore (chip). È costituita da:
  • Unità di controllo (CU ): svolge funzioni di controllo, decide quali istruzioni eseguire

PERIFERICHE (MEMORIA SECONDARIA O DI MASSA): Ci permettono di interagire col calcolatore. Sono connesse alla Macchina di Von Neumann attraverso le interfacce di I/O. Possono essere: dischi, nastri, CD, DVD, chiavette USB, hardisk esterno. Memorizzano grandi quantità di informazioni, ma è lenta. Le informazioni non si perdono spegnendo la macchina. BUS DI SISTEMA: Trasferisce e transita i dati attraverso le porte, interconnette le componenti interne del calcolatore. Collega due unità funzionali alla volta: una trasmette e l’altra riceve. Distinguiamo 3 bus:

  • BUS DATI
  • BUS INDIRIZZI
  • BUS CONTROLLI SISTEMA OPERATIVO : è un programma che controlla l’esecuzione di programmi e agisce come interfaccia tra le applicazioni e l’hardware del calcolatore. È il gestore delle risorse, quindi utilizza in modo efficiente memoria, processore e periferiche. Fornisce una macchina astratta, cioè rende il computer accessibile all’utente esterno. I problemi di un sistema operativo sono: la protezione e l’efficienza delle risorse, l’ending di processi in crash. È un gestore dei processi: gestisce l’elenco con priorità dei programmi pronti per l’esecuzione e selezione del programma prossimo da eseguire, in quanto deve assicurare che il processore rimanga inutilizzato il minor tempo possibile. Lo Stato può essere: in esecuzione, pronto o in attesa. È un gestore della memoria: riserva spazio e memoria per dati e programmi e carica in memoria i programmi prima dell’esecuzione. È un gestore delle periferiche: gestisce la comunicazione con i dispositivi. Ha un file system: gestisce la memorizzazione il recupero di informazioni. È un interprete dei comandi. programmi di utilità sono: librerie di programmi che forniscono servizi, traduttori dei programmi in linguaggio macchina, editor di testi, programmi di grafica. Nasconde ai programmatori i dettagli dell’hardware e fornisce un API facile da usare, agendo come intermediario. Controlla il funzionamento del calcolatore in modo particolare:
  • In un sistema classico : il meccanismo di controllo è esterno al sistema controllato.
  • In un elaboratore : lascia il controllo alle applicazioni e si affida al processore per riottenerlo. MACCHINA ASTRATTA: IL MODELLO CIPOLLA: Rappresenta il sistema operativo come una successione di strati costruiti sopra un nocciolo, costituito dalla macchina hardware. Ha sei livelli di astrazione ed ognuno usa le funzionalità di quello sotto, è invisibile a quello sopra, e fornisce servizi al livello superiore. EVOLUZIONE STORICA DEI SISTEMI OPERATIVI:
  • PRIMA GENERAZIONE 1945- 1955 : valvole, macchine enormi, poco affidabili. Vi era un solo team che faceva tutto a mano. Programmi in linguaggio macchina assoluto (codice binario). Non vi era il sistema operativo. ENIAC è considerato il primo calcolatore: occupava una stanza di 30 mq e pesava 30 t.
  • SECONDA GENERAZIONE 1955- 1965 : transistor, sistemi commerciali molto grossi e costosi. Compare il concetto di job , un programma la cui esecuzione veniva richiesta da un utilizzatore del computer. il programmatore scriveva su carta il programma, un addetto perforava una serie di schede col programma e le consegnava ad un operatore. L’operatore le inseriva e attendeva il risultato. Alla fine lo restituiva al programmatore Il problema principale è che molte risorse restavano in utilizzate. I lotti rappresentano un primo miglioramento con i sistemi operativi batch. I sistemi operativi batch avevano più programmatori, più programmi per uno stesso operatore e per una macchina. Più programmi sono organizzati in un lotto e vi era la restituzione dei risultati dei singoli programmi ai programmatori.
  • TERZA GENERAZIONE 1965- 1985 : avvento dei circuiti integrati e aumento velocità, nacquero sistemi operativi multiprogrammati. I vantaggi furono che il processore non è lasciato inattivo durante attese lunghe e la memoria viene utilizzata al meglio. sviluppo dei sistemi di telecomunicazione delle reti di calcolatori. Nascono i sistemi multiterminale e multiutente gestiti

come Jobs: il calcolatore centrale serve contemporaneamente diversi utenti, offrendo fette di tempo macchina a turno, finito il tempo, il controllo passa ad un altro utente.

  • QUARTA GENERAZIONE 1985-OGGI: nascono i sistemi di elaborazione per singolo utente, necessità di un ambiente virtuale per accesso remoto ad altri utenti e risorse condivise. Avvento dei sistemi operativi in rete e delle reti locali (LAN).

SISTEMA DI NUMERAZIONE : insieme di pochi simboli (cifre) che consente di rappresentare infiniti valori numerici. Sono codici posizionali cioè il valore dipende dalla posizione occupata dalle cifre. Si parte da zero, il resto si prende dal basso verso l’alto. Possiamo fare la dissezione delle parti fondamentali di un numero e darne una rappresentazione polinomiale. Il sistema di numerazione decimale utilizza 10 simboli (0-9), quello binario due cifre (0-1). Il sistema di numerazione decimale è a BASE 10 ; il sistema di numerazione binaria è a BASE 2 ; il sistema di numerazione esadecimale è a BASE 16. CONTARE IN BINARIO: I numeri successivi all’ultima cifra disponibile del sistema di numerazione, si rappresentano accostando una unità al numero rappresentato dalla cifra di destra. Il numero può essere riempito con zeri in modo da mantenere lo stesso numero di cifre. Per ogni cifra binaria: si segna la posizione, si calcola il peso in base 2, si moltiplica il peso per la cifra binaria corrispondente e si sommano tutti i pesi moltiplicati per la cifra binaria. DA DECIMALE A BINARIO : Si divide il numero sempre per due fino a quando il quoziente fa zero, si prendono tutti resti in ordine inverso dall’ultimo al primo. SISTEMA ESADECIMALE: È molto usato per la visualizzazione compatta di dati binari. Le cifre sono 0,1, 2,…, 9, A, B, C, D, E, F. Ad ogni cifra esadecimale corrisponde un gruppo di 4 bit. CONVERSIONE DA ESADECIMALE A BINARIO: la conversione si realizza cifra per cifra. Riempire il quartetto con zeri davanti se il numero di bit è inferiore a quattro. CONVERSIONE DA BINARIO A ESADECIMALE : prevede la scomposizione del numero binario in gruppi di quattro, partendo da destra, e poi si converte ogni gruppo con il tradizionale metodo polinomiale. Lo 0 davanti non cambia il valore del numero. IL SUONO : È una sensazione percepita dall’organo dell’udito stimolato da un agente esterno. Identificato da una grandezza fisica a forma d’onda periodica: ha origine dalla vibrazione di un corpo elastico che ha un andamento ondulatorio, si propaga modificandosi attraverso un mezzo solido, liquido o gassoso e arriva alla membrana timpanica e la stimola. Le caratteristiche di un suono dipendono da tre parametri: frequenza, ampiezza e timbro. A ciascuna corrisponde una sensazione oggettiva. LA FREQUENZA : È il parametro che permette di distinguere se alcuni suoni sono acuti o gravi, si parla di altezza del suono. Si misura in Herz: 1 Herz = un ciclo al secondo. L’inverso della frequenza è il periodo T. tiene conto della dimensione del corpo che ha generato il suono; i suoni più acuti sono generati da oggetti di piccole dimensioni, quelli gravi da oggetti più grossi. L’INTENSITÀ : È il parametro che tiene conto della forza dell’evento che ha generato il suono. È l’ampiezza dell’onda. Si misura in decibel. DECIBEL : la misura più usata in acustica, esprime secondo una scala logaritmica in base 10, il rapporto fra due grandezze omogenee. È 10 volte il logaritmo in base 10 del rapporto di due grandezze omogenee. In alcuni casi tale misura si può immaginare assoluta, quando al denominatore si pone una misura stabilita per convenzione internazionale. Assume anche valori negativi, quando fra le grandezze, quella che appare al numeratore è minore di quella che appare al denominatore. La misura di riferimento è quella dell’intensità sonora, espressa in riferimento alla soglia di udibilità. IL TIMBRO: È il parametro che permette di discriminare tra: suoni emessi da sorgenti diverse anche se con la stessa intensità e frequenza. Il parametro percettivo del timbro è la forma d’onda. I suoni emessi da uno

  • AAC (.aac, .mp4): È un formato di compressione audio creato da MPEG, fornisce una qualità audio superiore al formato MP3 a parità di fattori di compressione. Viene utilizzato da Apple nei suoi prodotti dedicati all’audio, per le consolle PlayStation, Nintendo DS e Wii.
  • WMA (.wma): È una tecnologia di compressione dei dati audio sviluppato da Microsoft. Fa parte del Windows media frame work. È incompatibile con i lettori di tipo iPod. CODEC ( co dificatori- dec odificatori): sono strumenti software che consentono di convertire il suono da analogico a digitale e viceversa. Esistono due tipi di codec:
  • A/D da analogico a digitale
  • D/A da digitale ad analogico IMMAGINI E COMPUTER: La trasformazione analogica digitale avviene quando fotografiamo qualcosa con il nostro smartphone. Le immagini si dividono in più categorie:
  • Immagini reali: acquisite da una scena reale
  • Immagini artificiali o di sintesi: generate all’interno del calcolatore, possono simulare scene reali.
  • Immagini miste : ottenute da combinazioni tra componenti reali e sintetici. La digitalizzazione di un’immagine: l’immagine deve essere tradotta in una serie di bit. le due fasi della digitalizzazione sono:
  • Campionamento spaziale: È la suddivisione del campo di variabilità dell’immagine in sotto intervalli. L’immagine varia nello spazio. Si divide lo spazio in una griglia, i cui elementi sono i campioni. Suddivido l’immagine in pixel = picture element.
  • Quantizzazione: il valore assunto dall’immagine deve essere codificato in binario. L’informazione è il colore. Quantizzare vuol dire associare il colore al campione. occorre assegnare ai pixel valori finiti di intensità luminosa. I valori dipendono dal numero di bit. Es. In un’immagine in cui ci sono tre toni di grigio, dobbiamo quantizzare tre differenti colori. L’indicheremo con 0,1 e 2. A ogni numero associo la corrispondente codifica binaria. Bastano 2 bit per rappresentare tre numeri. ASPECT RATIO: È il rapporto tra la larghezza e l’altezza di un’immagine:
  • Altezza > numero di righe
  • Larghezza > numero di colonne La notazione matematica è indicata sottoforma di frazione, come <<x:y>> o <<x/y>>, Dove X e la larghezza e Y l’altezza. PIXEL ASPECT RATIO: rapporto larghezza/altezza del pixel:
  • Excel rettangolari su alcuni dispositivi
  • pixel 1:1 per l’elaborazione ERRORE DI QUANTIZZAZIONE : avviene quando il valore quantizzato differisce da quello reale. ONDA ELETTROMAGNETICA: è l’effetto di una vibrazione di un campo elettrico e di un campo magnetico che si propagano nello spazio alla stessa velocità. La variazione di un campo elettrico nel tempo produce un campo magnetico. I campi sono perpendicolari tra di loro. Producono un’onda elettromagnetica con precise caratteristiche fisiche. LO SPETTRO ELETTROMAGNETICO: è formato dalle possibili frequenze di onde elettromagnetiche. Lo spettro visibile è ciò che il nostro occhio è in grado di percepire dello spettro elettromagnetico esistente. È l’insieme di radiazioni elettromagnetiche. Si dice spettro di una sorgente di radiazione l’insieme delle radiazioni che la sorgente emette. LO SPETTRO DELLA LUCE: è una piccola porzione che arriva sulla terra. Le lunghezze d’onda dello spettro visibile sono:
  • da 380 nm: luce violetta, sotto i 380 nm: ultravioletti
  • a 760 nm: luce rossa, sopra i 760 nm: infrarosso Fino a circa 1 nm le percepiamo come calore. I COLORI : molti colori si possono ottenere mescolando pochi colori di base:
  • Si sommano le luci, sintesi additiva (Rosso, verde e blu) : fenomeno fisico, due fasci di luce colorata proiettate sulla parete bianca i riflessi. il giallo è un colore prodotto dalla mescolanza additiva del rosso e del verde.
  • Si assorbe la luce, sintesi sottrattiva (ciano, magenta e giallo). Le piante odiano la luce verde, per questo non l’assorbono. La luce verde raggiunge e stimola i recettori dell’occhio. Le piante amano le altre radiazioni luminose, che non raggiungono il nostro occhio. Si ottengono i colori primari complementari ottenuti dal colore RGB ed eliminando una componente. Ogni colore assorbito, si dice filtrato. Per ottenere il verde concatenano i filtri fino ad eliminare tutti i colori tranne quello di interesse. Es. pellicola d’inchiostro ciano, elimina rosso, pellicola d’inchiostro giallo, elimina il blu, otteniamo il verde. colori si creano aggiungendo colori al nero fino al bianco. Gli ambienti dove viene utilizzato il colore additivo sono quella di emissione proprio. L’insieme dei colori base forma lo spazio dei colori. Base di tre colori: rosso, verde e blu. RGB : modello di colore derivato dalla sintesi additiva. Ogni colore è rappresentato tramite una terna di numeri reali in [0, 1].
  • (0,0,0,): nero
  • (1,0,0): rosso
  • (1,1,1): bianco In formato esadecimale: ogni componente viene rappresentata con due cifre. TRUECOLOR : Questo sistema ha 8 bit per componente di colore con 256 valori possibili. IL LINGUAGGIO DEI COLORI: ruolo fondamentale dei colori nella creazione di una videata: focalizzazione e evidenziazione. Conviene non esagerare con l’utilizzo dei colori, massimo cinque per videata. BIANCO : colore stimolante NERO : ottimo per lo sfondo ROSSO : colore forte VERDE : colore e riposante, permette di cogliere i particolari di un’immagine BLU : colore rilassante GIALLO : interpretato rapidamente dall’occhio VIOLA : il colore con la massima energia ARANCIO : induce all’ottimismo FORMATI PER IMMAGINI:
  • JPG : è un formato che usa una compressione con perdita di dati. Corrisponde a una perdita di qualità nell’immagine proporzionale a livello di compressione che verrà scelto. A bassi livelli di compressione la perdita di qualità è nulla. Se aumentiamo il livello di compressione dobbiamo controllare che l’immagine sia di buona qualità. Formato per immagini immagini fotografiche o immagini con sfumature leggere e continue. Non sopporta le trasparenze. Non adatto per il trattamento di immagini vettoriali o contenenti testo. La cosa migliore è ottenere immagini JPEG dall’immagine originale. Esiste un formato chiamato JPEG selettivo che permette di esportare un’immagine con una diversa compressione applicata alle varie parti che lo compongono.
  • WINDOWS BITMAP (.BMP): È un formato dati utilizzato per la rappresentazione di immagini sui sistemi operativi Windows. Fu introdotto con Windows 3. 0 nel 1990.
  • GIF: non lavora a perdita di dati, ma può esportare solo immagini che contengono al massimo 256 colori. Se l’originale contiene un numero più elevato di colori, la perdita di qualità sarà significativa. Usa colori a 8 bit ed è efficace per comprimere immagini vettoriali, geometriche o testo. Supporta la trasparenza. Le immagini permettono anche di creare delle piccole animazioni, che si realizzano con semplici tool grafici o con la tecnica del cartone animato.
  • PNG: non è supportato da tutti i tipi di browser, ma è possibile installare un plugin per visualizzare le immagini PNG. Supporta colori fino a 32 bit e può contenere la trasparenza.non è una perdita dati, però produce file di grandi dimensioni. VIDEO : È una comunicazione basata su immagini in movimento che danno l’illusione di un movimento continuo.
  • siano eseguibili dal risolutore in un tempo finito
  • producono conseguenze osservabili Se conducono allo stesso risultato si dice che è un algoritmo a una natura sequenziale e deterministica. PENSIERO COMPUTAZIONALE: ci permette di osservare, organizzare le informazioni, pianificare passi per risolvere i problemi. I DIAGRAMMI A BLOCCHI : servono per rappresentare graficamente gli algoritmi, sono utili nelle prime fasi per acquisire il pensiero computazionale. PROGRAMMAZIONE : È l’insieme delle attività e tecniche che uno o più persone specializzate svolgono per creare un programma. Costituisce la traduzione o codifica di un algoritmo per tale problema in programma scritto in un certo linguaggio:
  • Linguaggio macchina, basso livello : formato binario. Non consente l’uso di etichette o simboli per indicare locazione di memoria o istruzioni adibite a compiti specifici. Difficile da modificare e creare dati. I calcolatori della prima generazione potevano essere programmati soltanto linguaggio macchina. Un programma scritto in linguaggio macchina è un programma oggetto.
  • Linguaggio ad alto livello: è possibile scrivere i programmi in un linguaggio più vicino all’utente. È possibile focalizzarsi più sul problema e su come risolverlo, che sul modo di scrivere e codificare le istruzioni. Un programma scritto il linguaggio di alto livello è un programma sorgente. LA TRADUZIONE: il programma scritto in linguaggio di alto livello deve essere tradotto in linguaggio macchina Don traduttore.
  • Compilatori : effettuano la traduzione del programma del linguaggio di programmazione sorgente al codice macchina. Hanno programmi più efficienti e necessitano una nuova traduzione in caso di errori Runtime. Utilizza il calcolatore e il loader:
  • Il compilatore: trasforma il programma sorgente in codice oggetto. Vi sono quattro fasi di lavoro: analisi delle stringhe di testo, della correttezza sintattica delle frasi, della correttezza semantica, e generazione del codice binario. Include l’assemblatore.
  • Il loader: non è un passo di traduzione, scarica il file eseguibile in memoria centrale.
  • Interpreti : effettuano le 4 fasi delle traduzioni istruzione per istruzione del programma sorgente. Hanno programmi meno efficienti e una correzione interattiva degli errori. Ogni istruzione tradotta e seguita direttamente. Le librerie utilizzate sono le Runtime. LINGUAGGIO DI SCRIPTING : È un linguaggio di programmazione interpretato, ogni singola espressione viene tradotto in linguaggio macchina ed eseguito dal calcolatore. Il programmatore si disinteressa delle risorse di sistema che il programma finito dovrà impiegare. LINGUAGGIO PYTHON : È un linguaggio di programmazione caratterizzato dalla versatilità, Per la scrittura di codici di alta qualità. L’alta qualità dipende da uniformità e leggibilità. Presenta molti montaggi:
  • Qualità del software
  • Portabilità dei programmi: I programmi possono essere eseguiti sulla maggior parte delle piattaforme esistenti, è un’operazione immediata che non richiede competenze. La portabilità si estende a molti aspetti: interfacce grafiche e sistemi web based.
  • Librerie: Python è dotato di un’ampia collezione di librerie standard; che consente di seguire operazioni di alto livello. È possibile estendere le funzionalità di Python con librerie esterne, che permettono di: costruire siti web, programmare numeriche avanzata e sviluppare giochi.
  • Integrazione di componenti Python gode di un’ampia platea di utenza, nella realizzazione di applicazioni e servizi: viene usato da Google, YouTube, Netflix, NASA, Dropbox. Python 3.x è il presente del futuro del linguaggio. GLI OGGETTI IN PYTHON : in Python ogni cosa è un oggetto, ossia parte di memoria riservata a contenere un’entità avente un suo significato. Esistono quattro tipologie di oggetti:
  • di tipo predefinito o primitivo , aventi una definizione assiomatica, non sono scomponibili in altri tipi.
  • di tipo composto o strutture dati , tipi complessi formati da tipi primitivi.
  • elementi del programma , pezzi consistenti di codice assolvendo un determinato compito
  • L’oggetto nullo , non avente valore.

LE VARIABILI: per identificare una variabile occorrono quattro parametri: indirizzo, il nome, il contenuto e il tipo della variabile. Una variabile può essere considerata come una scatola in grado di contenere un solo oggetto. Ogni scatola ha un nome univoco che la distingue dalle altre. Il contenuto è un oggetto, è possibile aprirla in qualsiasi momento per accedere all’oggetto, oppure per scrivere un nuovo contenuto. Supponiamo di avere le due variabili città e anno : città è una variabile contenente testo, di tipo stringa, anno è una variabile numerica di tipo intero. Che variabili devono essere prima dichiarate poi assegnate. Si tratta di due operazioni differenti:

  • la dichiarazione di una variabile consiste nello specificare il nome della variabile e il tipo di dato che dovrà contenere.
  • assegnazione di una variabile consiste nell’assegnare un contenuto ad una variabile. Le variabili in Python godono della tipizzazione dinamica, vengono dichiarate ed assegnate in un’unica definizione secondo la notazione: nome_variabile = oggetto L’operazione di assegnazione permette di assegnare al nome_variabile l’oggetto specificato. I nomi di variabili sono composti da lettere, numeri e underscore. Il primo carattere non può essere un numero. Non può essere utilizzata prima che le venga assegnato un valore e può riferirsi ad un oggetto di qualsiasi tipo. Il tipo di una variabile viene inferito dall’interprete Python. È possibile accedere al tipo inferito tramite la funzione type. X è di tipo intero. USO DEI COMMENTI : I commenti di un programma hanno lo scopo di descrivere le caratteristiche funzionali di determinate istruzioni o blocchi di programma. Sono utili per inibire l’esecuzione di alcune parti di codice. Interprete ignora i commenti, che non vengono eseguiti. Il simbolo # inizia un commento che si estende fino a fine riga. LA FUNZIONE INPUT : per inserire un valore da tastiera si usa la funzione input. L’argomento della funzione input tra parentesi viene mostrato a video e rappresenta il messaggio che viene visualizzato all’utente che usa il programma per specificare cosa deve essere inserito da tastiera. Uso di variabili, basterà fare riferimento alla variabile numero per indicare il valore immesso dall’utente. PYTHON E I VALORI NUMERICI: i valori numerici che Python gestisce sono di tre tipi:
  • Interi
  • Float
  • Complessi PYTHON E LE ESPRESSIONI MATEMATICHE : le parentesi possono essere usate per raggruppare. CONVERSIONI A TIPO NUMERICO: le funzioni di conversione a tipo numerico sono intere e Float.
  • Int(x): ritorna X convertito in intero
  • Float(x): ritorna X convertito in Floating point OPERAZIONI SULLE VARIABILI NUMERICHE : è possibile utilizzarle nelle espressioni invece dei numeri. OPERATORI DI CONFRONTO : gli operatori di confronto tornano un valore booleano, che può essere vero o falso. È possibile utilizzarli tra variabili numeriche. LE STRINGHE : possono essere considerate come la rappresentazione del testo. Il tipo stringa è definito tramite doppi apici o gli apici singoli. È possibile rappresentare sia i singoli apici che i doppi apici all’interno di una stringa, utilizzando la combinazione opposta per fare in modo che l’elemento interno non causi una chiusura stringa anticipata. Un carattere è sempre un tipo stringa con un solo elemento. La concatenazione delle stringhe avviene quando mettiamo una stringa dietro l’altra, e ne creiamo una nuova.

L’istruzione ELIF equivale a else If e definisce un’alternativa intermedia: aggancia un’altra istruzione If. L’ultima alternativa è sempre introdotto con else.

  • la struttura iterativa : consente di eseguire un blocco di istruzioni più volte. Il numero di ripetizioni può essere predefinito oppure no. Può essere: - a passi predefiniti - condizionale: Il blocco d’istruzioni viene ripetuto fino a quando una condizione si mantiene vera. Al termine di un’esecuzione del blocco, si ritorna a valutare la condizione. Se la condizione è una modificato il suo valore di verità, il blocco viene rieseguito. Per eseguire il blocco almeno una volta, la condizione deve essere vera alla prima valutazione. La struttura iterativa condizionale Python è nota come ciclo while. L’intestazione contiene la parola riservata while seguita dalla condizione che deve essere valutata. A chiudere l’intestazione, il simbolo <<:>>. È fondamentale che tra le istruzioni, nel blocco del ciclo, ce ne sia almeno una che gestisca lo stato della condizione affinché il valore della di verità possa essere modificato. Se la condizione rimane sempre nello stesso stato, il blocco viene eseguito all’infinito in un loop. L’utente può intervenire chiudendo le finestre shell. Il ciclo for è la struttura iterattiva che consente di ripetere il blocco di codice è un numero predefinito di volte. L’intestazione contiene la parola chiave for seguita da un’operazione che consente di indicizzare le iterazioni, cioè scansionare un intervallo numerico intero. si usa la funzione range(start, stop, step) che consente di definire l’intervallo numerico sulla base dei due parametri passati come argomento: - start è incluso - stop è escluso - step e il passo, ovvero l’incremento tra un numero e il successivo La funzione scansiona gli elementi appartenenti all’intervallo definito e per ognuno di questi viene eseguita un’iterazione. LE PROPOSIZIONI: Quando si valutano scelte, bisogna analizzare dei fatti e quindi agire secondo il risultato della valutazione. Il risultato della valutazione può essere vero o falso.i fatti da valutare sono proposizioni. spesso si ci trova a dover valutare più fatti contemporaneamente. GLI OPERATORI LOGICI : permettono di valutare contemporaneamente più fatti. Producono un unico risultato. sono come gli operatori matematici: prendono due fatti e tornano un risultato. Sono:
  • and : torna vero solo quando i fatti sono veri
  • or : torna vero quando uno dei fatti è vero
  • not : Nega un fatto TABELLE DI VERITÀ : rappresenta nel funzionamento degli operatori logici. GLI OPERATORI LOGICI IN PYTHON : in poi con i valori di verità vero e falso sono implementati dalle parole riservate True e False (con le iniziali in maiuscolo). Gli operatori logici sono implementati rispettivamente dalle parole and, or e not. Per gli operatori and e or è possibile utilizzare i simboli speciali <&> e <|>; L’uso delle parole riservate mantiene il vantaggio che, sono mnemoniche. LISTA : una lista è una sequenza ordinata di elementi. Per definire una lista l’annotazione a parentesi quadre, indica l’insieme degli elementi all’interno separati da virgole ( mia_lista = [elemento1, elemento2,…] La variabile mia_lista contiene una lista di elementi. Una lista può avere qualsiasi numero e qualsiasi tipo di elementi, e non devono essere tutti dello stesso tipo. Una lista con tutti elementi dello stesso tipo è una lista omogenea. Una lista con elementi di tipo diverso una lista mista.

INDICIZZAZIONE: consente di accedere ad un elemento della lista facendo riferimento al suo indice, secondo la sintassi lista[indice]. La numerazione degli indici segue le stesse regole dell’indicizzazione delle stringhe:

  • il primo elemento è imposizione 0
  • L’ultimo elemento è imposizione - 1. PORZIONI DI LISTE : tramite l’operatore di slicing è possibile accedere a sotto porzioni della lista secondo la sintassi lista[inizio:fine]. Nell’operatore di slicing:
  • inizio è l’indice del primo elemento della sotto lista e viene incluso
  • fine è l’indice dell’ultimo elemento della sotto lista e viene escluso Anche per le liste valgono le varianti di slicing:
  • [inizio:] : seleziona la sotto lista dall’elemento di posizione inizio
  • [:fine]: seleziona la sotto lista dal primo elemento della lista fino all’elemento di posizione fine. OPERATORI IN E NOT SULLE LISTE: permettono di stabilire se un oggetto appartiene ad una lista. Restituiscono valori di verità in base al risultato del controllo. Sulle liste non è possibile verificare il contenimento di sotto liste. OPERATORI + E * SULLE LISTE:
  • L’operatore + si applica a due liste; l’effetto di questo operatore e creare una terza lista che contiene gli elementi della prima e della seconda.
  • **L’operatore *** si applica ad una lista e ad un numero intero. L’effetto è di creare una seconda lista contenente tante ripetizioni della prima quanto indicato dal numero. LA MUTABILITÀ : le liste sono oggetti mutabili, possono essere modificate. La mutabilità di una lista si realizza attraverso tre operazioni base:
  • sostituzione di elementi: prevede:
  • accesso all’elemento o alla porzione di elementi da sostituire
  • Assegnazione del nuovo valore in sostituzione del precedente
  • inserimento di nuovi elementi: avviene tramite:
  • identificazione di una porzione vuota collocata nel punto in cui si vuole inserire il nuovo contenuto
  • riempimento della porzione vuota tramite assegnazione del nuovo contenuto. Una porzione vuota è uno slice del tipo lista[indice:indice] Le funzioni Python più utilizzate per l’inserimento di nuovi elementi sulle liste sono:
  • l.append(e): Aggiungere elemento e alla fine della lista l
  • l.extend(seq): aggiunge gli elementi della sequenza seq alla fine della lista L
  • l.insert(i, elem): aggiunge L’elemento elem alla lista L in posizione i se è positivo, in posizione i - 1 se i negativo Le funzioni Python più utilizzate sulle liste sono:
  • Len (1) : torna la lunghezza della lista L, ovvero il numero di elementi che la compongono.
  • Max(1): Torna l’elemento maggiore della lista L, gli elementi devono essere confrontabili.
  • Min(1): torna l’elemento minore della lista L, gli elementi devono essere confrontabili.
  • cancellazione di elementi: I metodi Python più utilizzati per la cancellazione di elementi dalle liste sono:

FUNZIONE GOTO : serve per andare in un punto preciso dello schermo CUSTOMIZZARE L’AMBIENTE TURTLE: customizzare vuol dire personalizzare le impostazioni di default della libreria:

  • colore del tratto
  • dimensione del tratto
  • colore di sfondo
  • riempimento delle figure chiuse disegnate
  • la velocità del tratto Riempire di colore le figure richiede la specifica nel colore di riempimento, il punto di inizio il punto finale.
  • specifica calore di riempimento
  • perché prima di iniziare a tracciare la figura
  • al termine della figura PENUP E PENDOWN: permettono di sollevare la tartaruga con la sabbia di Ri appoggiare la tartaruga sulla s