I COMMARELLI

-MODELLO DI VON NEUMANN

Il modello di Von Neumann si occupa dell'hardware ed è composta da:

  • CPU (central process uniti);

  • MEMORIE;

  • PERIFERICHE.

La connessione tra questi sottosistemi è realizzata mediante un altro dispositivo, noto come BUS.


La CPU è un interprete di istruzioni, formato da:

  • ALU: esegue le operazioni matematiche e logiche;

  • CU: legge le istruzioni, le decodifica e le esegue ed effettua i controlli delle attività necessarie per l'esecuzione;

  • REGISTRI: sono molto veloci e con una capacità ridotta, costituiscono una memoria speciale per l'ALU poiché contengono le istruzioni di controllo necessarie per il suo funzionamento e i risultati temporanei.

La CPU esegue i programmi memorizzati nella memoria centrale procedendo nel modo seguente:

  • estrarre le istruzioni del programma della memoria;

  • le interpreta;

  • le esegue una dopo l'altra, fino ad ottenere il risultato.


La MEMORIA contiene i dati e i programmi e la sua capacità è espressa in multipli di Byte.

Le dimensioni di memoria sono espresse come multipli molto più grandi:

  • Kilobytes;

  • Megabytes;

  • Gigabytes;

  • Terabytes.

I dispositivi di memoria possono essere suddivisi in più classi, in dipendenza della capacità e della velocità. Esistono due classi principali: la memoria centrale e la memoria secondaria.

La memoria Centrale ha una funzione di supporto alla CPU perché fornisce le istruzioni del programma in esecuzione e i dati su cui operare. È composta da un insieme di celle, ciascuna delle quali può memorizzare una parte delle informazioni. La memoria centrale è la:


  • RAM: memoria ad accesso casuale e di tipo volatile, cioè il suo contenuto va perso quando si spegne il computer. Contiene i dati e le istruzioni dei programmi in esecuzione.

La memoria CACHE è destinata ad ospitare dati di frequente utilizzo, consente un accesso più veloce a informazioni di recente acquistate e utilizzate; è una memoria molto utile ed è disponibile per ulteriori archiviazioni temporanee.

La memoria DI MASSA è più lenta, ha un'elevata capacità di immagazzinare i dati ed è stabile, per questo è utilizzata per la memorizzazione permanente di dati e programmi.


Le PERIFERICHE I/O sotto il controllo e coordinamento del processore, consentono l'interazione tra il computer e l'utente, in particolare consentono l'immissione dei dati all'interno del computer e la comunicazione all'esterno dei risultati ottenuti con l'elaborazione.

Per unità di Input si intende un dispositivo che consente di immettere dei dati nel computer. Per unità di Output si intende un dispositivo che riceve dal sistema i risultati dell'elaborazione dei dati e li trasmette all'utente.

-LA CODIFICA DELLE INFORMAZIONI


Le informazioni possono essere memorizzate in vari modi, ma noi usiamo: il metodo analogico e il metodo digitale. Analogico è quando l'informazione è memorizzata come un segnale continuo. Digitale è quando i valori discreti sono usati per rappresentare le informazioni come il codice binario.

Codificare significa convertire i dati digitali in un formato che può essere memorizzato, trasmesso o elaborato.

La teoria dell'informazione studia la quantificazione e la compressione dell'informazione, la sua applicazione nell'informatica può essere fatta risalire all'epoca delle schede perforate, quando CLAUDE SHANNON, un matematico pubblicò un documento chiamato "A MATHEMATICAL THEORY OF COMMUNICATION". In questo modo SHANNON descrive dei metodi e delle regole per una trasmissione efficiente dei dati. Queste regole poi vennero modificate e furono chiamate "teorema di Shannon". Lo scopo della codifica dei dati è quello di ridurre la quantità di dati utilizzati nella comunicazione per raggiungere un obiettivo specifico.

-CODIFICA DEI TESTI

Una codifica di caratteri è un modo di rappresentare il testo in forma digitale. Specifica come i dati binari sono convertiti in codici che possono essere letti come caratteri dagli esseri umani e interpretati dai computer.

La codifica del testo è lo schema con cui il testo viene codificato in un formato binario per la memorizzazione. Lo scopo della codifica è quello di permettere ai dati di essere memorizzati in un computer in uno qualsiasi dei vari modi e successivamente codificati nella forma originale. Il termine è più comunemente applicato alla conversione da un testo in lingua naturale in una forma leggibile dal computer, un processo chiamato codifica del testo del computer, ma può anche essere applicato alla conversione analoga tra diversi linguaggi informatici e sistemi di scrittura.

-CODIFICA ASCII

Ascii è l'acronimo di American Standard Code for Information Interchange, un insieme di simboli usati per rappresentare lettere, numeri e segni di punteggiatura. La codifica Ascii è un modo di rappresentare questi caratteri in modo che il computer possa capirli.

-I NUMERI BINARI

Il sistema numerico binario è un sistema posizionale, esso utilizza solo due numeri 0 e 1. Per indicare che un numero è scritto utilizzando il codice binario si racchiude il numero tra parentesi e poi si mette il 2 come pedice.

Per convertire un numero binario in un numero decimale si ricorre alla forma polinomiale, si parte dalla prima cifra a destra assegnando le posizioni alle cifre del numero, poi moltiplichiamo a partire dalla prima cifra a destra per 20, 21, 22, 23 e così per tutte le altre cifre sommando infine i risultati delle potenze avremo il numero decimale.

Per convertire un numero decimale in numero binario bisogna dividere il numero per 2 e successivamente continuare a dividere i quozienti ottenuti per 2 fino ad ottenere come quoziente uno 0. I resti delle divisioni scritti in ordine inverso ci daranno il numero binario. Supponiamo di voler trasformare il numero 136 in un numero binario:

136: 2 = 68 resto 0

68: 2 = 34 resto 0

34: 2 = 17 resto 0

17: 2 = 8 resto 1

8: 2 = 4 resto 0

4: 2 = 2 resto 0

2: 2 = 1 resto 0

1: 2 = 0 resto 1

136 = (10001000)2

SOMMA CON NUMERI BINARI


COMPLEMENTO A 2


-SISTEMA ESADECIMALE

Il sistema esadecimale è un sistema di numerazione posizionale in base usa 16 simboli, che sono:

  • Le cifre da 0 a 9

  • Le lettere dalla A alla F

Per svolgere le conversioni tra il sistema esadecimale e altri sistemi numerici si usano metodi differenti. Tra le conversioni più diffuse abbiamo:

  • Dal sistema esadecimale a quello decimale;

  • Dal sistema decimale a esadecimale;

  • Da esadecimale a binario

  • Da binario a esadecimale

-DA ESADECIMALE A DECIMALE

Per svolgere la conversione da esadecimale a decimale occorre:

  • Assegnare la posizione alle cifre del numero da convertire, partendo dalla prima cifra a destra e spostandosi verso sinistra;

  • Scrivere il valore di ogni cifra nel sistema decimale;

  • Moltiplicare il valore della prima cifra per 16 elevato a 0, il valore della seconda cifra 16 elevato a 1 e così via, fino a esaurirle tutte;

  • Sommare i prodotti così ottenuti

-DA DECIMALE A ESADECIMALE

Per passare dal decimale a esadecimale si procede così:


Se il numero da convertire è maggiore di 15 si deve:

  • Dividere il numero per 16 e calcolare il quoziente e il resto della divisione;

  • Dividere il numero per 16 e continuare a dividere ogni nuovo quoziente sempre per 16, fino a quando non si ottiene un quoziente nullo;

  • Scrivere i resti della divisione in ordine inverso rispetto a come sono stati ottenuti, e separarli l'uno dall'altro con un trattino

  • Convertire i resti maggiori di 9 in lettere servendosi della tabella esadecimale e cancellare i trattini di separazione

-L'ALGEBRA DI BOOLE


Nel lavoro di programmazione capita spesso di dover ricorrere ai principi della logica degli enunciati ed occorre conoscere almeno alcuni connettivi base dell'algebra degli enunciati detta anche algebra booleana o di Boole.


Si definisce enunciato una proposizione che può essere soltanto vera oppure soltanto falsa e che non può mai essere contemporaneamente vera e falsa oppure indeterminata.


Nell'algebra di Boole un enunciato può essere semplice oppure composto.


Un enunciato composto è un enunciato formato da due o più enunciati semplici (chiamati sotto enunciati) collegati tra loro attraverso appositi connettivi logici.


Nell'algebra di Boole i connettivi logici si dividono in connettivi logici fondamentali connettivi logici derivati


I CONNETTIVI LOGICI FONDAMENTALI

  • Congiunzione logica(And o Et)

    • Il connettivo logico And è un operatore binario completamente definito. L'enunciato composto p and Q risulta vero solo nel caso in cui entrambi gli enunciati semplici P e Q sono veri, mentre risulta falso in tutti gli altri casi.

Congiunzione logica(Or o Vel)

Il connettivo logico Or è un operatore binario completamente definito. L'enunciato composto p Or q risulta falso solo nel caso in cui entrambi gli enunciati semplici P e Q sono falsi mentre risulta vero in tutti gli altri casi.

Negazione logica (Not o Non)

il connettivo logico Not è un operatore unitario. L'enunciato composto not P risulta vero se l'enunciato semplice P è falso mentre risulta falso se l'enunciato semplice P è vero ossia assume valore di verità opposto rispetto al valore di verità posseduto dall'enunciato semplice su cui viene applicato.

I tre connettivi logici - And, Or e Not - si definiscono fondamentali.

Infatti tutti gli altri connettivi logici possibili sono chiamati connettivi derivati in quanto possono essere espressi mediante un'opportuna combinazione di uno o più connettivi logici fondamentali.

-LE TAVOLE DI VERITA'

Combinando in vario modo gli enunciati semplici generici del tipo P, Q, R ed i connettivi logici fondamentali e/o derivati si possono ottenere enunciati molto più complessi.


Il valore di verità di una forma enunciativa è noto quando si conoscono i valori di verità delle sue variabili.


Il numero di colonne di una tavola di verità non è noto a priori e dipende dalla complessità della forma enunciativa da calcolare.


Esempio: Supponiamo di voler conoscere i valori di verità enunciativa 

Esempio: Supponiamo di voler conoscere i valori di verità enunciativa 

              -LE IMMAGINI


Le immagini sono formate da una griglia con tanti quadratini chiamati pixel. I pixel sono un'unità costituente dell'immagine. Nelle immagini di un computer ci sono 16 milioni di colori ottenuti dall'unione dei tre colori principali: VERDE, ROSSO, BLU. Ognuno di questi 3 ha 28 di combinazioni che moltiplicandole otteniamo tutti i colori. Nelle immagini dal nero al bianco ci sono 256 scale di grigio. Ogni pixel nelle immagini in bianco e nero può avere 28 combinazioni.

BIANCO=0

NERO=1

-CODIFICA DELLE IMMAGINI

Il termine codifica delle immagini si riferisce alla tecnica con cui le informazioni all'interno di un'immagine vengono registrate e memorizzate digitalmente. Il processo di codificare un'immagine vuol dire prendere un'immagine originale e convertirla in un formato che può essere utilizzato da un particolare dispositivo.


Le immagini possono avere due tipi di formati:

  • LOSSY: quando alcuni dati possono essere persi durante il processo di codifica. Alcuni formati possono essere (JPEG, PNG, GIF, TIFF). Questi file sono compressi per ridurre le dimensioni dei file. Li rende più piccoli e veloci da scaricare con una perdita di qualità dell'immagine

  • LOSSLESS: dove i dati non vengono persi durante il processo di codifica. Alcuni formati possono essere ( BMP, SVG, TGA, ICO). Non hanno perdite di qualità e sono più adatti per immagini con grandi livelli di dettaglio come ad esempio i loghi.


I formati JPG, PNG, GIF, BMP sono quelli più usati per memorizzare immagini digitali sul web:

  1. Un file GIF può avere 256 colori per immagine e 256 fotogrammi.

  2. Un file JPEG ha più di 16 milioni di colori diversi con trasparenza che permette alle immagini di essere sovrapposte ad altri oggetti.

  3. Un file PNG possono avere milioni di colori con sfondi trasparenti ma senza animazioni

  4. Il formato WebP è stato creato da google nel 2010 su Chrome ma non è molto usato.

-LA RISOLUZIONE DELLE IMMAGINI

La risoluzione delle immagini si riferisce al numero dei pixel contenuti in un'immagine. Più grande è il numero dei pixel per pollice, allora sarà migliore l'aspetto delle immagini su schermo o stampate su carta.


Un'immagine è una rappresentazione visiva di un oggetto, una scena, una persona o un concetto. Le immagini possono essere di due tipi:


  • IMMAGINI RASTER: sono immagini scannerizzate o create da un computer costituite da una serie di pixel su una griglia con dimensione piccola per la quantità di dettagli che contengono.( design, videogiochi, effetti speciali dei film). Non perdono qualità. Possono essere in uno dei formati conosciuti quali JPG, PNG, GIF oppure TIFF.

  • IMMAGINI VETTORIALI: composte da espressioni matematiche e geometriche con risoluzione infinita


La codifica delle immagini è anche il processo di trasformazione dei dati dell'immagine in un altro formato, ad esempio la conversione dei dati raster in dati vettoriali.


-                  IL SUONO

Anche i suoni possono essere rappresentati in forma digitale come le immagini.

Un suono è un'alterazione della pressione dell'aria che, quando rilevata, ad esempio dall'orecchio umano, viene trasformata in un stimolo uditivo al cervello.

La durata, l'intensità e la frequenza della vibrazione sono le quantità fisiche che rendono un suono diverso da ogni altro.

Mediante un microfono le variazioni della pressione dell'aria (vibrazioni) vengono trasformate in un segnale elettrico.


Fisicamente un suono è rappresentato come un'onda (onda sonora) che descrive la variazione della pressione dell'aria nel tempo.

La rappresentazione in forma d'onda è analogica però non è utilizzabile in informatica, data l'impossibilità di trattare informazioni di tipo continuo.

È necessario trovare quindi un modo per codificare in forma digitale (numerica), cioè assegnare numeri che rappresentano il valore dell'ampiezza della curva in istanti successivi.


Le fasi fondamentali per la digitalizzazione sono:

- campionamento

- quantizzazione di un campione

- codifica

-IL CAMPIONAMENTO

Si effettuano campionamenti dell'onda (cioè si misura il valore dell'onda a intervalli costanti di tempo).


Quanto più frequentemente il valore di intensità dell'onda viene campionato, tanto più precisa sarà la sua rappresentazione.


Tasso di Nyquist: per ricostruire il segnale è necessario e sufficiente un numero di campioni almeno due volte la frequenza dell'onda (o della sua componente di massima frequenza).

-LA DIGITALIZZAZIONE DEI CAMPIONI

La sequenza dei valori numerici ottenuta dai campioni può essere facilmente digitalizzata.

-LA QUANTIZZAZIONE E CODIFICA

Un dispositivo (detto ADC Analog-Digital converter): trasforma impulsi elettrici (i campioni) in una sequenza di numeri

Il numero di bit destinati alla rappresentazione dei valori numerici ripartisce i valori di tensione in un insieme di livelli discreti: ad esempio con 8 bit (1 byte) si distinguono 256 livelli di tensione.

-IL SOFTWARE

Il software indica l'insieme delle componenti intangibili elettroniche di elaborazione ed è il contrario dell'hardware, cioè la parte materiale dello stesso sistema. Genericamente si intende l'insieme dei programmi impiegati in un sistema di elaborazione dati che gestisce il funzionamento di un elaboratore. Si distingue in :

  • software di sistema: quello relativo al sistema operativo dell'elaboratore elettronico

  • software di base: insieme dei programmi e delle procedure di utilità generale impiegabili da altri programmi;

  • software applicativo: relativo ai programmi applicativi progettati per particolari funzioni che possono essere ad esempio la scrittura, elaborazione di immagini, la gestione dei dati e altro.

-IL SISTEMA OPERATIVO

Il sistema operativo è un software di base che consente all'utente di interfacciarsi con l'elaboratore e un interprete che ci consente di accedere ai software applicativi, ovvero le applicazioni.

Il percorso su cui è salvato si chiama path. Quando l'elaboratore è spento, il sistema operativo viene conservato nelle memorie di massa o nell'hardisk: pennette, chiavette ecc... All'accensione dell'elaboratore c'è una parte di caricamento che si chiama bootstrap. La procedura di bootstrap è memorizzata nella memoria ROM del computer. La CPU legge ed esegue l'elenco di istruzioni di bootstrap nella ROM per inizializzare la macchina. Il sistema operativo viene caricato nella memoria RAM ed eseguito. Una volta in esecuzione si può accedere al pannello di controllo del s.o. e avviare gli altri programmi che serviranno all'utente.

Alcuni esempi di sistema operativi sono: IOS,WINDOWS, ANDROID...

-QUALI SONO I SISTEMI OPERATIVI PIÙ DIFFUSI?

I sistemi operativi vengono di solito precaricati sui computer che si trovano sul mercato, dando così la possibilità alle persone di utilizzare subito il computer acquistato con il sistema operativo fornito. Tuttavia, se uno lo desidera, è possibile aggiornare o anche cambiare il sistema operativo già presente nel proprio PC. L'interfaccia grafica di ogni sistema operativo cambia però sia in termini di apparenza visiva che di modalità di interazione, quindi se si passa a un sistema operativo diverso l'ambiente di utilizzo potrebbe risultare poco familiare, specialmente durante i primi tempi. Microsoft ha creato il sistema operativo Windows a metà degli anni ottanta.

-MICROSOFT WINDOWS

Windows si trova già installato sulla maggior parte dei nuovi PC, fissi e portatili, il che contribuisce a renderlo il sistema operativo più popolare al mondo. MACOS macOS è una linea di sistemi operativi creati dalla Apple che viene precaricato su tutti i computer Macintosh. Uno dei motivi di questa differenza è che i computer della Apple tendono ad essere più costosi degli altri.

-LINUX

I vantaggi di un sistema operativo Linux sono che è completamente gratuito e che ci sono molte distribuzioni, cioè versioni, tra cui poter scegliere.


Ogni sistema operativo ha un proprio linguaggio di controllo. Il linguaggio di controllo è composto da un elenco di comandi utili per eseguire o controllare le operazioni e le attività del sistema. Si tratta di un linguaggio formale. Pertanto ogni comando ha una propria sintassi e una grammatica molto rigida. I comandi sono impartiti dall'utente tramite la riga di comando CLI (Command Line Interface).

E' un sistema formato da strati, per evitare accessi esterni. Gli strati sono:

1. CORE

2. Gestore memoria (gestisce lo scambio di informazioni tra il CORE e il resto)

3. Gestione i/o (gestisce le periferiche)

4. Gestione file o file system (gestisce le informazioni file)

5. Interprete dei comandi

6. Interfaccia utente (applicazione)


IL NUCLEO (CORE) 

 Sono i programmi che eseguono i comandi operativi comunicando direttamente con l'hardware del sistema. Gestisce le risorse fisiche del sistema per consentire l'esecuzione dei programmi. E' il livello più basso.


IL GESTORE DELLA MEMORIA

Questi programmi gestiscono la memoria del computer e la distribuiscono ai programmi in esecuzione.


IL GESTORE I/O

Sono i programmi che gestiscono le operazioni di input/output del computer. Si occupano di trasferire i dati dalla memoria centrale alle altre unità del sistema e viceversa.


IL GESTORE FILE (FILE SYSTEM)

Questi programmi si occupano del sistema di archiviazione dei file del computer (detto FILE SYSTEM).


INTERFACCIA UTENTE (APPLICAZIONI)

Sono i programmi che comunicano direttamente con l'utente. Ad esempio, la linea di comando del DOS o di Linux, oppure

l'interfaccia grafica (GUI) di Windows e Android. E' lo strato più alto del sistema operativo, quello più vicino all'uomo.

LA FILTER BUBBLE

La filter bubble è un fenomeno di isolamento tipico dei siti internet che tracciano le azioni dell'utente. È dovuto al comportamento di algoritmi che propongono all'utente informazioni corrispondenti alle sue opinioni e al suo punto di vista. Le attività che hanno come conseguenza la formazione delle bolle di filtraggio, del resto, sono numerose e non sempre facilmente identificabili: la maggior parte dei siti web conserva cookies e dati di navigazione dei propri utenti in modo da offrire loro un'esperienza quanto più personalizzata possibile. Lo stesso fanno i social media grazie ad algoritmi che tengono conto delle preferenze dell'utente. La prima teorizzazione della filter bubble risale al 2010 quando Eli Pariser la definì un ecosistema personalizzato dell'informazione creato dagli algoritmi.

I vantaggi della filter bubble sono:

  • Reperire velocemente i contenuti informativi senza un inutile sovraccarico di dati
  • Trovare una conferma delle nostre opinioni grazie alla selezione di informazioni riguardanti i nostri punti di vista

Gli svantaggi della filter bubble sono:

  • Delegati a meccanismi di intelligenza artificiale di cui ignoriamo il funzionamento
  • Confinano i nostri orizzonti con gruppi che hanno le nostre stesse opinioni

La filter bubble viene accostata a quella dalle fake news perché sono create artificialmente grazie a degli algoritmi. L'utente spesso non verifica se la notizia è vera ma tende a condividerlo in base al numero di visualizzazioni che fanno credere che la notizia sia vera. Chi crea le fake news usa dei fake account. Il problema principale è quello che le notizie vere vengano affogate dalle fake news

Per evitare la filter bubble bisogna seguire anche pagine diverse dalle proprie opinioni e bisogna usare motori di ricerca che non raccolgono informazioni sull'utente.

Blibiografia:

Appunti informatica Prof. Fornaro

https://www.youmath.it


ALGORITMO

PROCEDIMENTO EURISTICO

Basato sull'intuizione e sullo stato temporaneo delle cose, con l'obiettivo di creare nuova conoscenza. Ha poche combinazioni ed è più rapido di quello algoritmico, ma non si è certi di arrivare a una soluzione del problema.

RISOLUZIONE EURISTICA:

1. Suddivisione del problema in più fasi;

2. Costruzione di un modello mentale del problema;

3. Cercare di impostare un piano per la soluzione: strategie, come applicarle, ostacoli;

4. Mettere in atto il piano di soluzione ideato;

5. Valutazione degli esiti.

PROCEDIMENTO ALGORITMICO

E' più lento rispetto a quello euristico perché ha più combinazioni (2^21), ma è sicuro che si arriva a una soluzione del problema.

L'algoritmo è una sequenza finita di passi e istruzioni dettagliate che ci consentono di arrivare alla soluzione di un problema.

Ha 5 caratteristiche:

  • non ambiguo: c'è solo un modo per interpretarlo;

  • completo: deve risolvere tutti i problemi di un dato dominio;

  • deterministico: a fronte degli stessi input deve produrre gli stessi risultati;

  • finito: ha un numero finito di passi;

  • generale: fornisce una soluzione per tutti i problemi di una classe.


Per l'analisi del problema ci sono due metodi:

  • metodo top-down: dividere il problema in più sottoproblemi più semplici e risolverli uno ad uno;

  • metodo bottom-up: si parte dalla soluzione per capire il procedimento che si è utilizzato per arrivarci.


Il Flowchart

Per risolvere il problema si pensa ad un algoritmo e si trasforma in simboli che possono riconoscere tutti, chiamato diagramma di flusso o flowchart.


Blocco di inizio o di fine 

Blocco di inizio e di fine (iniziale e terminale): sono usati per indicare l'inizio e la fine del programma e sono unici, cioè non possiamo ritrovarli più volte.

Assegnamento 

L'assegnamento ha la forma di un rettangolo e serve a svolgere calcoli matematici.

Blocco di comunicazione 

Blocco di comunicazione: rappresenta input e output e ha la forma di un parallelogramma. Si inseriscono i nomi delle variabili ("contenitori di dati" che hanno: un nome che serve ad identificarle e un valore che corrisponde al dato contenuto al suo interno), che ci serviranno per sviluppare il nostro problema.

Condizione

Ha la forma di un rombo e al suo interno viene scritta la condizione. Successivamente ci sono due frecce del si e del no che possono essere chiamate ramo del vero e del falso. Alla fine c'è il nodo di congiunzione che indica il punto in cui i due percorsi alternativi si riuniscono per proseguire insieme con l'algoritmo.

Gli Archi Orientati

Gli archi orientati sono delle frecce che ci indicano il susseguirsi dei dati all'interno del codice.

ALGOBUILD

AlgoBuild è un software didattico pensato per lo studio della programmazione e degli algoritmi. Presenta un ambiente visuale in cui realizzare i flow-chart rispettando le regole della programmazione strutturata. Il programma prodotto viene visualizzato ed è modificabile anche in forma di pseudo-codice.

IL CICLO 

Si parla di ciclo in un diagramma di flusso quando un'istruzione viene ripetuta più volte prima di arrivare alla fine dell'algoritmo.

Quindi si ripete un'istruzione se una condizione è VERA e si smette quando la condizione risulta FALSA.

Esistono due macrocategorie di CICLI:

  • Cicli PRECONDIZIONALI che mettono la condizione prima di inserire il codice, che a sua volta si divise in:
  • Ciclo FOR se l'espressione di controllo è vera, la funzione FOR esegue il blocco delle istruzioni. Il ciclo FOR si interrompe quando una condizione è falsa. Inoltre, questo ciclo è basato su una variabile contatore cioè una variabile numerica intera il cui ruolo è tenere traccia del numero di volte che si è eseguito il ciclo.

  • Ciclo WHILE-DO Il ciclo WHILE è una struttura iterativa, cioè una struttura che consente di ripetere delle istruzioni. Il ciclo consiste in un blocco di codice e una condizione. La condizione viene valutata e, se la condizione è vera viene eseguito il codice all'interno di tutto ciò che segue nel blocco. Questo si ripete fino a quando la condizione diventa falsa.

  • Cicli POSTCONDIZIONALI mettono prima il codice e dopo la condizione:
  • DO WHILE dove se la condizione è VERA si ripete il ciclo, altrimenti si passa all'istruzione successiva. Un ciclo do while è un'istruzione che esegue un blocco di codice e quindi ripete il blocco esce dal ciclo a seconda di una data condizione booleana. Per prima cosa in questo ciclo viene eseguito il codice all'interno del blocco. Quindi la condizione viene valutata. Se la condizione è vera, il codice all'interno del blocco viene eseguito nuovamente. Questo si ripete fino a quando la condizione diventa falsa.                                                                                                                                                  

Nei cicli WHILE DO e DO WHILE non sappiamo quante volte dobbiamo eseguire il ciclo.

ESEMPI CON ALGOBUILD

1) Dato n1 e n2 calcola la somma.

Ragionamento:

1. scrivere in input i numeri;

1.1 addizionare i due numeri per ottenere la somma;

2. mostrare in output la somma.

2) Dato n1 e n2 calcolare la media e se la media è maggiore di 20 dire maggiore altrimenti minore.

Ragionamento:

1. scrivere in input i numeri;

1.1 calcolare la somma addizionando i numeri;

1.2 dividere la somma per quanti sono i numeri;

2. inserire condizione;

2.1 se la media è maggiore allora andrà sul ramo vero, altrimenti sul falso.

3) Fare la tabellina del 5.

Ragionamento:

1. Inserire n in input;

1.1 Assegnare a un altra variabile un numero;

2. Usare il ciclo for;

2.1 Se è vero aggiungere alla prima variabile 1;

3. Mostrare in output il risultato.

4)Un parcheggio a pagamento è aperto dalle ore 6 alle ore 24 di ogni giorno della settimana. Le tariffe sono differenziate a seconda del tipo di veicolo in base al seguente schema:

1. auto piccole: 1 ora € 2,00, frazione successiva € 2,00;

2. auto grandi e medie: 1 ora € 3,00, frazione successiva € 2,00;

3. station wagon e SUV: 1 ora € 3,00, frazione successiva € 3,00;

4. furgoni: 1 ora € 4,00, frazione successiva € 3,00.

Dati gli orari di ingresso e di uscita e il tipo di veicolo, calcola l'importo da pagare.

Ragionamento:

1. inserire orario di ingresso/uscita e tipo di veicolo;

1.1 scrivere in input l'ora di ingresso;

1.2 controllare se l'ora è compresa fra 6 e 24 attraverso un ciclo post-condizionale;

1.3 scrivere in inputi minuti di ingresso;

1.4 controllare se i minuti di ingresso sono compresi fra 0 e 59 attraverso un ciclo post-condizionale;

1.5 scrivere in input l'ora di uscita;

1.6  controllare se l'ora è compresa fra 6 e 24 attraverso un ciclo post-condizionale;

1.7 scrivere in input i minuti di uscita;

1.8 controllare se i minuti sono compresi fra 0 e 59 attraverso un ciclo post-condizionale;

1.9 inserire in input tipo di veicolo;

1.10 controllare se sia autPicc / autMed / SUV / furg con un ciclo post-condizionale;

2. associare la tariffa al tipo di veicolo;

2.1 se ora = 0 e minuti <60 allora ora =1 

2.2 se ora > 0 e minuti > 0 allora ora = ora+1

2.3 se autPic, prezzo =2*ora

2.4 se autMed, prezzo = 2*(ora-1)+3

2.5 se SUV, prezzo = 3*ora

2.6 se furg, prezzo = 3*(ora-1)+4

3. mostra prezzo in output.


Blibiografia: 

Appunti Informatica Prof. Fornaro

Svolto da:

Arcadio Cristian,
Gallo Cristiana,
Scozio Francesco Pio,
Tarantino Martina,
Vitale Veronica
© 2023 Lezioni di Informatica Tutti i diritti riservati.
Creato con Webnode Cookies
Crea il tuo sito web gratis! Questo sito è stato creato con Webnode. Crea il tuo sito gratuito oggi stesso! Inizia