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 completi di informatica (2017/2018), Appunti di Elementi di Informatica

Algoritmi Numeri binari, logica booleana e porte logiche Architettura di sistemi informatici Introduzione al software di sistema e alle macchine virtuali Reti di computer, Internet e www Introduzione ai linguaggi di programmazione di alto livello

Tipologia: Appunti

2017/2018

Caricato il 09/04/2018

mattia-madonna
mattia-madonna 🇮🇹

1 documento

1 / 17

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
algoritmi
algoritmo(definizione generica): una sequenza finita di operazioni elementari che
presso un valore in entrata ne generano uno in uscita
un algoritmo è un insieme di operazioni, per le quali deve esistere un ordinamento
chiaro e non ambiguo.
un’operazione è non ambigua quando può essere eseguita dall’agente di calcolo
senza ulteriori semplificazioni o spiegazioni.
quando un’operazione è non ambigua è detta primitiva (un algoritmo deve essere
costituito solo da primitive.
“eseguibile” significa che deve esistere un processo un processo computazionale
che permetta all’agente di calcolo di eseguire l’operazione.
devono produrre un risultato dopo un l’esecuzione di un numero finito di operazioni
algoritmo (definizione rigorosa): insieme ordinato di operazioni non ambigue ed
effettivamente computabili che, quando eseguito, produce un risultato e si arresta in
un tempo finito.
numeri binari, logica booleana e porte
logiche.
rappresentazione binaria
esistono due tipi di rappresentazione delle informazioni:
rappresentazione esterna: è il modo in cui le informazioni vengono rappresentate
dall’uomo e in cui vengono immesse dalla tastiera o visualizzate sullo schermo.
rappresentazione interna: è il modo in cui vengono archiviate nella memoria del
computer.
il computer utilizza il sistema di numerazione binario. si tratta del sistema di
numerazione posizionale in base 2.
in ogni computer esiste un numero massimo di cifre binarie che può essere utilizzato
per memorizzare un intero. globalmente 16, 32 e 64 bit.
rappresentazione binaria di suoni e immagini
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff

Anteprima parziale del testo

Scarica Appunti completi di informatica (2017/2018) e più Appunti in PDF di Elementi di Informatica solo su Docsity!

algoritmi

algoritmo(definizione generica): una sequenza finita di operazioni elementari che presso un valore in entrata ne generano uno in uscita

un algoritmo è un insieme di operazioni, per le quali deve esistere un ordinamento chiaro e non ambiguo.

un’operazione è non ambigua quando può essere eseguita dall’agente di calcolo senza ulteriori semplificazioni o spiegazioni.

quando un’operazione è non ambigua è detta primitiva (un algoritmo deve essere costituito solo da primitive.

“eseguibile” significa che deve esistere un processo un processo computazionale che permetta all’agente di calcolo di eseguire l’operazione.

devono produrre un risultato dopo un l’esecuzione di un numero finito di operazioni

algoritmo (definizione rigorosa): insieme ordinato di operazioni non ambigue ed effettivamente computabili che, quando eseguito, produce un risultato e si arresta in un tempo finito.

numeri binari, logica booleana e porte

logiche.

rappresentazione binaria

esistono due tipi di rappresentazione delle informazioni:

rappresentazione esterna: è il modo in cui le informazioni vengono rappresentate dall’uomo e in cui vengono immesse dalla tastiera o visualizzate sullo schermo. rappresentazione interna: è il modo in cui vengono archiviate nella memoria del computer.

il computer utilizza il sistema di numerazione binario. si tratta del sistema di numerazione posizionale in base 2.

in ogni computer esiste un numero massimo di cifre binarie che può essere utilizzato per memorizzare un intero. globalmente 16, 32 e 64 bit.

rappresentazione binaria di suoni e immagini

il suono è un’informazione di tipo analogico. in una rappresentazione digitale, i valori di un dato oggetto possono essere rappresentati tramite lettere e numeri, in una analogica, gli oggetti possono assumere qualsiasi valore l’ ampiezza dell’onda rappresenta l’intensità del suono il periodo è il tempo necessario all’onda per completare un ciclo la frequenza è il numero totale di cicli per unità di tempo misurata in hertz, determina inoltre l’ altezza (pitch) del suono.

l’onda per essere digitalizzata deve essere sottoposta al campionamento: in alcuni punti dell’onda vengono assegnati dei valori, così l’onda apparirà come una sequenza di valori numerici. per riprodurre con precisione l’onda originale bisogna utilizzare la frequenza di campionamento e la risoluzione dei bit.

frequenza di campionamento: misura quante volte al secondo si esegue il campionamento dell’onda.

risoluzione dei bit: il numero di bit utilizzato per codificare ciascun campione.

anche le immagini sono costituite da dati analogici ma possono essere memorizzate tramite rappresentazione binaria. il processo di campionamento, definito spesso scansione , consiste nella misurazione dei valori di intensità nei punti distinti situati a intervalli regolari su tutta la superficie dell’immagine. questi punti vengono chiamati pixel.

questa forma di rappresentazione delle immagini è detta grafica raster. il formato piu’ comune per la memorizzazione delle immagini è lo schema di codifica RGB(Red Green Blue). si utilizza un byte per ciascun colore che consente di rappresentare un intervallo tra 0 e 255. questo schema consente di rappresentare 2^24 colori differenti e viene definito true-color.

logica booleana e porte logiche

la costruzione dei circuiti dei computer si basa sul ramo della matematica e della logica simbolica denominato logica booleana. quest’area tratta le regole di manipolazione dei 2 valori logici, vero(valore binario 1) e falso(valore binario 0).

definiamo un’ espressione booleana come qualsiasi espressione che da come risultato vero o falso.

l’operazione AND produce il valore vero se solo entrambi i suoi operandi sono veri. l’operazione OR produce il valore falso sole se entrambi i suoi operandi sono falsi. l’operazione NOT richiede solo un operatore unario e se il valore in ingresso è vero il valore in uscita è falso e viceversa.

significato: preleva una copia del contenuto della cella di memoria con l’indirizzo indicato e restituisce tale contenuto come risultato dell’operazione ( lettura non distruttiva )

  • write(indirizzo, valore) significato: memorizza il valore specificato nella cella indicata dall’indirizzo ( scrittura distruttiva )

una delle caratteristiche della ram è che il tempo necessario ad eseguire un’operazione di lettura/scrittura è lo stesso per tutti i 2^n indirizzi. questo tempo detto tempo di accesso alla memoria, ha valori tipicamente compresi tra 5 e 20 ns ( 1nsec = 10^-9 sec).

registri di memoria

questi 2 registri sono utilizzati per implementare le operazioni di lettura e scrittura.

il registro degli indirizzi di memoria MAR (memory address register) contiene l’indirizzo della cella da leggere o scrivere.

il registro dei dati in memoria MDR (memory data register) contiene i dati letti o scritti.

memoria cache

principio di località: quando il pc usa qualcosa, probabilmente lo userà ancora molto presto, e probabilmente userà i suoi “vicini” molto presto. la prima volta che il pc fa riferimento a un dato, dovrebbe spostare il dato stesso dalla normale memoria ram a una speciale memoria ad alte prestazioni denominata memoria cache. la memoria cache è tipicamente da 5 a 10 volte piu’ veloce della ram ma molto piu’ piccola, dell’ordine di centinaia di kb o di pochi mb invece che di gb. la dimensione ridotta non è un problema perchè il pc non memorizza nella cache tutti i dati, ma solo gli elementi utilizzati piu’ di recente e che probabilmente serviranno ancora nell’immediato futuro.

quando il pc necessita di informazioni non esegue immediatamente l’operazione di lettura, ma svolge tre passaggi.

  • cerca le informazioni prima nella memoria cache
  • se le informazioni non sono nella memoria cache, allora il pc vi accede dalla memoria ram piu’ lenta.
  • (^) copia i dati letti nella cache, insieme alle k locazioni di memoria successive. se la cache è piena, rimuove gli elementi utilizzati meno recentemente.

ingresso, uscita e memoria di massa.

le unità di I / O sono dispositivi che consentono al pc di comunicare e interagire con il mondo esterno, oltre che di memorizzare informazioni.

la ram è volatile nel senso che le informazioni vanno perdute quando viene interrotta l’alimentazione elettrica. senza una memoria a lungo termine, non volatile le informazioni non potrebbero essere conservate dopo lo spegnimento della macchina ma a questo provvedono i dispositivi di memoria di massa come dischi e nastri.

2 principi trascendono le caratteristiche specifiche dei singoli dispositivi : i metodi di accesso I/O e i controllore I/O esistono due tipi fondamentali di dispositivi di I/O: quelli che rappresentano le informazioni in una forma leggibile dall’uomo e quelle che le rappresentano in forma leggibile dalla macchina. i primi includono dispositivi come tastiera e monitor; i secondi, solitamente indicati come sistemi di memoria di massa, includono dischi fissi, cd e dvd. Esistono due forme di dispositivi di memoria di massa: DASD(direct access storage device) e SASD(sequential access storage device).

l’unità aritmetico/logica

l’unità aritmetico/logica(ALU, arithmetic logic unit) è il sottosistema che esegue le operazioni logiche e matematiche. L’ALU è costituita da tre parti:

  • (^) i REGISTRI
  • le INTERCONNESSIONI tra le componenti
  • la CIRCUITERIA I registri sono collegati all’ALU attraverso il BUS (percorso per segnali elettrici).

L’unità di controllo

La piu’ importante caratteristica dell’architettura di Von Neumann è il programma memorizzato, una sequenza di istruzioni in linguaggio macchina memorizzate come valori binari. Spetta all’ unità di controllo prelevare (fetch) dalla memoria la prossima istruzione da eseguire, decodificarla (decode), ovvero determinare che cosa fare e eseguirla (execute) inviando il comando appropriato all’ALU alla memoria o ai controllori di I/O.

Istruzioni in linguaggio macchina

Le istruzioni che possono essere decodificate ed eseguite dall’unità di controllo di un pc sono rappresentate in linguaggio macchina.

  • (^) scheduler. Questo programma di sistema mantiene un elenco di programmi pronti ad essere eseguiti dal processore.
  • programmi di utilità. Queste raccolte di routine di libreria forniscono servizi utili all’utente (editor di testi).

Linguaggio assemblativo

I linguaggi assemblativi (assembly) sono pensati per le persone e sono chiamati linguaggi di seconda generazione o piu’ opportunamente linguaggi di programmazione di basso livello. C++ e JAVA sono linguaggi di programmazione di alto livello pensati per l’utente. Un programma scritto in linguaggio assemblativo si chiama programma sorgente. Il programma dev’essere tradotto in un programma corrispondente in linguaggio macchina, chiamato programma oggetto. Questa traduzione è svolta da un software di sistema chiamato assemblatore. Una volta che è stato prodotto il programma oggetto, le sue istruzioni possono essere caricate in memoria tramite il loader ed eseguite dal processore.

I linguaggi assemblativi consentono al programmatore di fare riferimento ai codici operativi usando un nome simbolico detto codice mnemonico; inoltre, un altro vantaggio consente di usare indirizzi simbolici invece di indirizzi numerici. In linguaggio assemblativo si può associare un’etichetta (LABEL) a qualsiasi istruzione o dato nel programma. La LABEL diventa un identificatore permanente per l’istruzione o il dato(una LABEL è un nome posizionato all’inizio di un’istruzione).

Sistemi operativi

Il sistema operativo è in esecuzione ogni volta che nessun altro software dell’utente o di sistema usa il processore. Il suo compito è attendere che un comando sia inviato tramite tastiera, mouse o altri dispositivi. I comandi del SO solitamente richiedono accesso a risorse hardware, servizi software o informazioni. Dopo che un utente inserisce un comando il SO determina quale software deve caricare il programma e lo mette in esecuzione.

Reti di computer, internet e world wide

web.

Collegamenti

Una rete di computer è un insieme di pc indipendenti connessi allo scopo di condividere informazioni e risorse. I singoli pc sono indicati come nodi , ost e terminali, e possono essere di qualsiasi tipo. Agli inizi il modo piu’ comune per trasmettere i dati era costituito dalle reti telefoniche commutate : quando si compone un numero telefonico tra il chiamante e il chiamato viene stabilito temporaneamente un circuito , che permane per tutta la durata della chiamata. La rete telefonica, basata sulla comunicazione vocale, è un mezzo di comunicazione analogico. Per poter trasmettere i segnali binari sulla linea telefonica è necessario convertirli attraverso un modem che modula o altera un segnale analogico standard chiamato portante. Una linea DSL (digital subscriber line) utilizza un insieme di frequenze diverso da quelle della linea telefonica e trasmette segnali digitali e non analogici. Spesso la linea DSL è asimmetrica : la velocità di trasmissione cambia nella direzione di download rispetto alla direzione di upload. Questo perchè la maggior parte degli utenti scarica piu’ dati di quelli che invia.

Le fibre ottiche sono dei filamenti vetrosi realizzati in modo da poter condurre la luce. La discontinuità dell’indice di rifrazione tra i materiali del nucleo del mantello intrappola la radiazione luminosa finchè questa non mantiene un angolo abbastanza radente. Negli ambienti commerciali e professionali viene utilizzato l’ ethernet , che consente di trasmettere dati sulle linee dedicate all’’interno di un edificio.

Reti LAN

Una rete LAN (local area network) connette dispositivi hardware vicini tra loro. Nella topologia a BUS, tutti i nodi sono connessi ad una singola linea di comunicazione condivisa. La topologia ad ANELLO connette i nodi di rete in modo circolare. La topologia a STELLA ha un singolo nodo centrale connesso a tutti gli altri siti. Esistono due modi per realizzare una rete LAN ethernet. Nel primo, chiamato cavo condiviso, un cavo viene letteralmente steso in un edificio. Gli utenti si inseriscono sul cavo nel punto piu’ vicino usando un dispositivo chiamato Transceiver. Un ripetitore è un dispositivo che si limita ad amplificare ed inoltrare un segnale. Un Bridge , detto anche Switch è un dispositivo più intelligente che conosce i nodi localizzati su ciascuna rete separata; Esamina ciascun messaggio per verificare se va inoltrato da una rete all'altra. Nel secondo approccio per realizzare una lan Ethernet non vi è cavo condiviso steso nell'edificio, ma un dispositivo denominato HUB è localizzato in un locale detto armadio di interconnessione. L’HUB Contiene diverse porte , con un cavo che va da ciascuna porta a un interfaccia Ethernet localizzata nel muro di una stanza dell'edificio.

society, un'associazione professionale No profit e non governativa composta da oltre 100 organizzazioni mondiali in 180 paesi. i protocolli che governano l'attività di Internet sono impostati come gerarchia a più livelli, in cui ciascun livello si occupa di un aspetto delle comunicazioni complessive. La gerarchia di protocolli internet, detta anche Stack (pila) di protocolli ha 5 livelli. Livello fisico

I protocolli del livello fisico governano lo scambio di cifre binarie sul canale di comunicazione fisico, come un cavo a fibre ottiche, Un doppino in rame o un canale radio. 5 applicazione 4 trasporto 3 rete 2B controllo collegamento logico 2A controllo accesso al mezzo 1 fisico

Livello di collegamento dati

I protocolli di livello fisico che hanno un canale di bit tra due macchine connesse da un collegamento di comunicazioni. Tuttavia il collegamento Non è un canale privo di errori. i bit in uscita potrebbero non essere una copia esatta di quelli in entrata e questo crea un problema di rilevamento a correzione degli errori. Questo è il problema del framing, o tramatura. spetta ai protocolli di collegamento dati il compito di provvedere alla gestione degli errori e al framing. il processo è svolto in due fasi chiamate livello 2a, controllo di accesso al mezzo, il livello 2b, controllo di collegamento logico. tentando di inviare due o più messaggi nello stesso tempo si ottiene un groviglio di tutti i messaggi senza uscita. in questo ambiente, la trasmissione di un messaggio richiede come primo passo di determinare come allocare la linea condivisa tra le macchine di in concorrenza. i protocolli di controllo dell'accesso al mezzo Determina come arbitrare la proprietà di una linea condivisa quando più nodi vogliono inviare messaggi allo stesso tempo. La maggior parte dei protocolli di controllo dell'accesso al mezzo, incluso ethernet, Adotta un approccio basato sulla contesa in cui non esiste un'autorità centrale e tutti i nodi competono alla pari per la priorità della linea. Quando un nodo Vuole inviare un messaggio, prima verifica se la linea è attualmente in uso. se due o più utenti vogliono inviare un messaggio mentre la linea è in uso virgola entrambi ne controllano lo stato. non appena la linea risulta libera, entrambi gli utenti trasmettono nello stesso tempo. si verifica una collisione, evento comune nelle reti basate sulla concorrenza come Ethernet. In questo caso tutte le informazioni vanno perse.

Il motivo della popolarità di Ethernet è che il controllo è distribuito.La responsabilità per le attività di rete è condivisa da tutti i nodi, Invece di essere affidata ad un singolo centro di controllo Master. È compito dei protocolli di controllo di collegamento logico, livello 2b, garantire che il messaggio in viaggio su questo canale arrivi correttamente a destinazione. algoritmo ARQ (Automatic repeat request) è la base per tutti i protocolli di controllo del collegamento dati attualmente in uso.

Livello di rete

Spetta ai protocolli del livello di rete il compito di recapitare un messaggio dal sito in cui è stato creato alla sua destinazione finale. come parte di questa attività di consegna, ogni nodo deve condividere l'uso dello stesso schema di indirizzamento dei nodi, in modo che ciascuno sia in grado di identificare la destinazione finale. perciò, le responsabilità fondamentale del livello di rete sono: creare uno schema di indirizzamento universale per tutti i nodi di rete recapitare i messaggi tra due nodi qualsiasi nella rete. il livello di rete è il collante che tiene insieme l'intera rete, in internet si chiama ip, per internet protocol. Questi nomi host non sono i nomi effettivi che i nodi usano per identificarsi l'un l'altro in Ip. i nodi utilizzano A questo scopo indirizzo IP a 32 bit spesso scritti come quattro quartine numeriche di 8 bit con cifre da 0 a 255. è compito di una speciale applicazione internet denominata DNS (Domain name System) convertire un nome di host simbolico nel suo indirizzo ip.

Livelli di trasporto

Ogni computer ha un indirizzo IP che lo identifica univocamente, ma in esso potrebbero trovarsi in esecuzione molti programmi applicativi, ognuno che svolge il proprio lavoro. serve un secondo di livello di indirizzamento che identifichi non solo una macchina specifica, ma anche un programma specifico in esecuzione su di essa. questo identificatore di programma, solitamente costituito da un numero intero, è chiamato numero di porta. Assegnare i numeri di Porta i programmi e ricordare la corrispondenza tra i programmi e porte è un compito che rientra nei protocolli del livello di trasporto. ogni computer host ha un unico indirizzo ip, ma potrebbe avere più porte attive contemporaneamente Il protocollo http, che consente di accedere a pagine web remote Usa sempre la porta 80. il livello di trasporto rappresenta questo tipo di servizio speciale: il suo compito è quello di creare un servizio di recapito di alta qualità, privo di errori, che preservi l'ordine dei messaggi inviati, posto al di sopra dei servizi di recapito poco affidabili forniti dall’IP. su internet virgola il principale protocollo di trasporto tcp (transport Control protocol).

memorizzati su sistemi in tutto il mondo per esempio le informazioni possono essere distribuite tra le sedi sparse in tutto il mondo di una multinazionale, e condivise quando serve, utilizzando il database distribuito. molti siti di rete oggi forniscono un servizio detto di archivio informativo o information utility.

Introduzione ai linguaggi di

programmazione di alto livello.

linguaggi di alto livello

Linguaggio assemblativo Presenta i seguenti svantaggi:

  • il programmatore deve gestire manualmente gli spostamenti dei dati tra le locazioni di memoria
  • il programmatore deve osservare un compito con una vista microscopica, suddividendo i minuscole sottoattività in corrispondenza con le attività svolte nelle singole locazioni di memoria
  • un programma di linguaggio assemblativo è specifico della macchina istruzioni sono simili a quelle del linguaggio naturale linguaggi di programmazione di alto livello sono stati creati per superare questi problemi. perciò, da un programma scritto in linguaggio di alto livello Ci aspettiamo che:
  • il programmatore non debba occuparsi dei dettagli circa lo spostamento degli elementi di dati in memoria
  • il programmatore posso osservare le attività da un punto di vista macroscopico, ragionando a un livello più alto di risoluzione dei problemi.
  • i programmi siano portabili e non specifici della macchina
  • Istruzioni di programmazione siano più vicine Al linguaggio naturale. linguaggi di programmazione di alto livello sono spesso detti linguaggi di terza generazione, Considerando la progressione del linguaggio macchina prima generazione Al linguaggio assemblativo seconda generazione Al linguaggio di alto livello terza generazione.

software di sistema è corrispondente al traduttore del linguaggio di alto livello si chiama compilatore. invece di tradurre direttamente il codice oggetto, spesso il compilatore traduce le istruzioni di alto livello in un codice di basso livello abbastanza vicino al linguaggio macchina, lasciando il passaggio finale ad un altro traduttore. poi il codice oggetto corrispondente può essere registrato in una libreria di codice. un programma può quindi richiedere una copia di tale codice oggetto, per includere nel proprio. un componente del software di sistema detto Linker inserisce il codice oggetto richiesto dalle librerie di codice nel codice oggetto del programma richiedente. il codice oggetto risultante viene spesso chiamato modulo eseguibile.

Linguaggi procedurali

Un programma scritto in un linguaggio procedurale è costituito da sequenze di istruzioni che elaborano dati, accedono alla memoria e trasferiscono informazioni da e verso i dispositivi periferici. spetta al programmatore realizzare la sequenza appropriata di comando imperativi, o istruzioni, che, una volta eseguiti dal computer, svolgono il compito desiderato. Linguaggi procedurali sono caratterizzati da Cicli sequenziali prelievo codifica esecuzione. I linguaggi procedurali possono differire nel modo in cui le istruzioni devono essere disposte una riga e nel modo in cui si possono definire nomi delle variabili, oltre che nel modo in cui si assegna un nuovo valore a una variabile, nel meccanismo fornito dal linguaggio per il controllo del flusso tramite istruzioni condizionali e cicli, e Nelle istruzioni di ingresso e uscita.

La gestione della complessità Divide et impera.

Nella programmazione procedurale si adotta spesso una metodologia di suddivisione del problema in sottoproblemi componenti detta Divide et impera. Dividendo il problema in porzioni più piccole è possibile governare la complessità che altrimenti si sovrapporrebbe se si guardasse il problema nella sua interezza. la metodologia Divide et impera si riflette nella struttura del programma risultante in cui il karité sarà diviso in moduli detti sottoprogrammi ho anche procedure e funzioni ciascuno dei quali svolge Una precisa porzione del compito complessivo. Io sottoprogrammi svolgeranno il loro compito coordinati da un programma principale che avrà cura di invocare ciascun sottoprogramma ogni volta che si debba affrontare il compito cui questo è proposto.

La programmazione orientata agli oggetti

Nella programmazione orientata agli oggetti (oop object oriented programming) L'approccio è diverso. un programma è considerato come una simulazione di una parte del mondo che rappresenta il dominio di interesse. tale dominio è popolato da oggetti. in un sistema bancario, ad esempio, gli oggetti potrebbero essere conti correnti. ogni oggetto è un esempio tratto da una classe di oggetti simili. la classe dei conti di deposito in una banca dispone di certe proprietà, come nome, codice fiscale, tipo di conto e saldo. ogni singolo conto corrente in banca è un esempio un oggetto della classe dei conti correnti, e ciascuno ha valori specifici per le proprietà comuni. ogni oggetto di una classe, perciò, ai propri valori di dati. nel codice che realizza una classe di cui un oggetto una semplice istanza, tali sotto attività sono strutturate come appositi sottoprogrammi chiamati i metodi della classe. invece di chiedere direttamente una classe di svolgere una sotto attività, chiediamo un oggetto della classe di farlo. tali oggetti hanno valore di dati per le proprietà di classe. vi sono tre termini spesso associati alla programmazione orientata agli oggetti:

creazione di pagine ed applicazioni per il World Wide Web Entrambi questi linguaggi si basano sul concetto di marcatore o tag. In HTML un insieme di tag utilizzabile è fisso e non può essere ampliato all'utente. Per consentire la creazione tag personalizzati è stato sviluppato xml, un metalinguaggio utilizzabile per la specifica di nuovi linguaggi di marcatura. le pagine HTML scritte con i soliti sono immodificabili o, come si usa dire, statiche. un linguaggio di scripting è un linguaggio leggero che viene interpretato Cioè tradotto ed eseguito Istruzione per istruzione. frammenti di codice scritti in un linguaggio di scripting possono essere annidati nelle pagine web per renderle attive o dinamiche piuttosto che statiche. JavaScript è un linguaggio di scripting orientato agli oggetti con la sintassi simile a quella di giava, ma molto meno complesso, che possiede degli oggetti predefiniti i metodi sono in grado di manipolare dinamicamente il contenuto, cioè tag di una pagina web.

Paradigmi di programmazione alternativi

Un paradigma è un modello Struttura mentale per rappresentare o ragionare su qualcosa. il paradigma del linguaggio di programmazione procedurali dice che al computer fornito una sequenza di istruzioni dettagliate. ogni istruzione accade o modifica il contenuto di una locazione di memoria. In effetti la programmazione in linguaggio procedurale consiste in:

  • pianificare l'algoritmo;
  • catturare le operazioni non ambigue ed effettivamente calcolabili come istruzioni di programma Tre paradigmi alternativi per i linguaggi di programmazione mi sono quelli che considera la reazione di un programma come:
  • una combinazione di varie trasformazioni su elementi programmazione funzionale
  • una serie di deduzioni logiche da fatti noti programmazione logica
  • più copie della stessa sottoattività o più sottoattività dello stesso problema volte simultaneamente da diversi processori programmazione parallela.

La programmazione funzionale trova le sue origini con la progettazione del linguaggio LISP( list Processing). Il linguaggio possiede già alcune funzioni primitive.

La programmazione logica si allontana ulteriormente al paradigma procedurale nel non specificare con esattezza come un dato compito vada svolto. nella programmazione logica, infatti, vengono asseriti Come avere un insieme di fatti E sulla base di essi un programma logico Cerca di definire o dedurre altre parti. i linguaggi di programmazione logica Sono talvolta chiamati linguaggi dichiarativi in contrasto con i linguaggi imperativi Perché i programmi logici invece di impartire comandi fanno dichiarazioni o asseriscono che diversi fatti sono veri.