






Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Sintesi lucidi prof. Cardone + capitoli 1, 2, 4 del manuale Javascript + esercitazioni
Tipologia: Appunti
1 / 10
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!







Dati memorizzati come sequenze di bit (=qualunque cosa possa avere due valori). Qualunque tipo di informazione può essere ridotto a una sequenza di zero e uno e quindi rappresentato in bit.
Ad ogni valore è assegnato un tipo che ne determina il ruolo (numeri, stringhe, valori booleani, oggetti, funzioni e valori indefiniti).
▲ Aritmetica
Le operazioni aritmetiche prendono due valori di tipo numerico e producono un nuovo numero.
I simboli +, -, *, / si chiamano operatori e servono rispettivamente per addizione, sottrazione, moltiplicazione e divisione. Il simbolo % rappresenta il resto (x%y = resto della divisione x/y).
▲ Numeri speciali
Infinity e -Infinity rappresentano il positivo e il negativo dell'infinito. I calcoli su base infinito non sono matematicamente affidabili: o non cambiano (es: infinity-1=infinity) o portano al terzo numero speciale: NaN “not a number” (es: 0/0, infinity-infinity)
Vengono sempre scritte su una riga. Per andare a capo si usa la formula \n (in questo caso la barra rovesciata chiama “carattere di escape”)
▲ Operatori di comparazione
I segni > e < sono operatori binari. Altri operatori sono >=, <=, ==, !=
▲ Operatori logici
&& (and) è un operatore binario il cui risultato è true solo se sono true entrambi i valori passati
|| (or) è un operatore binario il cui risultato è true quando è true almeno uno dei due valori passati
! (not) è un operatore unario che inverte il valore passato
Espressione = frammento di codice che produce un valore. Scopo: produrre un valore
▲ Valori espressi letteralmente
▲ Espressione tra parentesi
▲ (^) Operatore unario
▲ Operatore binario
Dichiarazione = espressione sta a proposizione come dichiarazione sta a periodo (programma: elenco di dichiarazione). Scopo: generare un cambiamento (effetti collaterali)
▲ Far comparire qualcosa sullo schermo
▲ Modificare lo stato interno della macchina
Variabili = per catturare e mantenere un valore. La parola chiave var definisce una variabile quando è seguita dal nome della stessa alla quale possiamo assegnare un valore iniziale aggiungendo un operatore = e un espressione (valore non immutabile). Una volta definita, la variabile può essere utilizzata come un’espressione il cui valore è quello della variabile stessa. Una singola dichiarazione var può definire più variabili, separandole con una virgola.
Valori restituiti = le funzioni possono anche produrre (o restituire) valori e in questi casi non hanno effetti collaterali.
Esecuzione lineare = struttura di controllo eseguita dall’alto al basso e da sinistra verso destra
Esecuzione condizionale = un valore booleano offre la possibilità di seguire due strade
▲ (^) Si indica con la parola chiave if: il codice viene eseguito soltanto se viene soddisfatta la condizione, in caso contrario il codice dichiarato viene saltato
▲ Else indica l'eventuale percorso alternativo nel caso in cui si vogliano impostare due percorsi di esecuzione alternativi
▲ Se abbiamo più di due possibilità di scelta, possiamo concatenare più if ed else.
Ciclo while = struttura di controllo ciclica che consente di tornare a un punti precedente del programma e ripetere le istruzioni per lo stato corrente
▲ (^) l'istruzione è eseguita finché l’espressione produce un valore che possa essere convertito in true
▲ per eseguire più dichiarazioni in un ciclo dobbiamo chiuderle tra parentesi graffe che le raggruppano e le fanno diventare una singola dichiarazione e prende il nome di blocco
Ciclo for = più breve e chiara del while
▲ dichiarazione di una variabile
▲ espressione che verifica se il ciclo deve continuare
▲ aggiornamento dello stato del ciclo (dopo ogni iterazione)
Commenti = annotazioni, appunti ignorati dal computer
▲ // + testo per comm. su una sola
▲ (^) /* + testo + */ per comm. Che vanno a capo
▲ pensiero ricorsivo
▲ (^) scelta della giusta rappresentazione della struttura e dei dati di un problema
▲ uso di proprietà invarianti del comportamento di un sistema
Informatica: studio del calcolo (cosa può essere calcolato e come)
▲ accetta dati in ingresso (in un formato opportuno)
▲ li elabora e ne restituisce i risultati in uscita
HARDWARE
SOFTWERE
▲ (^) come far comunicare i calcolatori in rete
▲ come strutturare le reti di calcolatori
▲ come realizzare la cooperazione e la risoluzione dei conflitti tra calcolatori che condividono risorse
Vogliamo programmare i movimenti di un robot in una stanza in modo che vada a prendere un oggetto. Un sistema di coordinate definisce le posizioni entro la stanza.
I comandi che il robot può eseguire sono:
▲ (^) un passo avanti
▲ (v) un passo indietro
▲ (>) un passo a destra
▲ (<) un passo a sinistra
Un programma è una sequenza di comandi, per esempio: ^^^>>vvv. Accade che questo programma sia equivalente a >>
Con i bit si rappresenta una scelta tra 2 alternative. Come rappresentare una scelta tra più di 2 alternative?
▲ In generale n bit permettono di rappresentare una scelta tra 2^n alternative.
▲ (^) Per rappresentare una scelta tra N >= 1 alternative sono necessari [logv2 N] bit
▲ (^) Logica: 1 = vero 0 = falso
▲ Aritmetica: 0+0 = 0 0+1 = 1 1+0 = 1 1+1 = 0
▲ Insiemistica: I = U (dove U è un insieme: l’universo) 0 = O/
▲ Elettrica: 1 = interruttore aperto, la corrente passa 0 = interruttore chiuso, la corrente non passa
Al momento della dichiarazione, ad una variabile viene associata una cella di memoria (o un gruppo di celle). Il valore di una variabile dichiarata ma non esplicitamente inizializzata deve essere considerato indefinito
x = E
Sulla sinistra di un assegnamento una variabile indica una cella di memoria. Sulla destra di un assegnamento una variabile rappresenta il valore scritto (al momento della sua valutazione) nella cella associata
Specifica Contratto tra utente e programmatore se i dati in ingresso soddisfano la condizione d’ingresso allora i dati in uscita soddisfano la condizione in uscita Quindi una specifica definisce
▲ dati in ingresso
▲ condizione d’ingresso (requisito sui dati s’ingresso)
▲ condizione d’uscita (relazione che lega dati in ingresso e dati in uscita)
Algoritmo Piano di azione che prescrive le azioni (che devono poter essere eseguite in modo meccanico) da compiere per risolvere un problema.
Correttezza (parziale) di un algoritmo rispetto ad una specifica Per ogni dato di ingresso che soddisfa la condizione di ingresso se l’esecuzione termina allora i dati in uscita soddisfano la condizione di uscita
Terminazione di un algoritmo Per ogni dato d’ingresso che soddisfa la condizione d’ingresso, l’algoritmo restituisce il risultato dopo un numero finito di passi.
Correttezza (totale) di un algoritmo rispetto ad una specifica Correttezza parziale + terminazione
Linguaggio di programmazione Collezione di costrutti componibili mediante regole di sintassi per formare, in particolare:
▲ espressioni: che possono essere valutate (da un calcolatore) per ottenere il loro valore
▲ istruzioni: che possono essere eseguite (da un calcolatore) per modificare lo stato della sua memoria
Compilatore Programma che traduce costrutti di un linguaggio di programmazione in costrutti di un altro linguaggio di programmazione di più basso livello.
Interprete Programma che esegue le istruzioni e valuta le espressioni di un programma.
BIT PER TRADURRE DA N° DECIMALE A N°BINARIO
7 decimale
…
es: il n° decimale 8 non si può tradurre con meno di 4 bit (ogni cifra del numero binario)
come si traduce il numero decimale 8 in numero binario? 2^3 (scritto in 1) = 8 2^2 (scritto in 0) = 0 2^1 (scritto in 0) = 0 2^0 (scritto in 0) = 0
1000 (8 + 0 + 0 + 0) = 8 (4bit)
come si traduce il numero decimale 24 in numero binario? 2^4 (scritto in 1) = 16 2^3 (scritto in 1) = 8 2^2 (scritto in 0) = 0 2^1 (scritto in 0) = 0 2^0 (scritto in 0) = 0
11000 (16 + 8 + 0 + 0 + 0) = 24 (5bit)
k h m 1 3 0 3 3 1 6 3 2 6 3 3 6 2 0 12 2 1 12 2 2 12 1 0 12 1 1 12 0 1/0/- (distrutta) FOR
var a = [2, 3, 4, 5, 6, 23, 1, 4] var flag = true; for (var i = 0; i < .length; i++){ if (a[i] % 2 != 0){ flag = true; } else { flag = false; i = a.length; } } document.write(flag);