I COLLEGHI

IL MODELLO DI VON NEUMANN

Il modello di Von Neumann è la prima struttura nata per la creazione di un elaboratore.

Essa viene denominata così dato l'inventore Von Neumann.

Questa struttura è costituita da 4 sottoinsiemi principali:


CPU

La CPU (central process unit) è il cervello del computer, da esso passano tutti i dati, le informazioni, e i comandi dagli altri elementi dell'hardware.

La CPU viene chiamata anche nano-CPU date le sue dimensioni e viene posta all'interno del PC in un socket.

Essa è collegata a tutti i componenti tramite dei cavi elettrici chiamati anche BUS.

Dai Core 2000 ai 12000: come sono cambiate le prestazioni delle CPU Intel |  Hardware Upgrade

BUS

Il BUS in informatica è un canale che si trova all'interno del nostro elaboratore che permette il trasporto di dati, comandi e informazioni dall'esterno (periferiche) e dall'interno del PC(componentistica).

esistono tre tipi di BUS

BUS INDIRIZZI:

-È il BUS attraverso il quale la CPU decide in quale indirizzo andare a scrivere o a leggere informazioni; sia le celle di memoria (RAM) sia le periferiche di I/O sono infatti divise in zone e porte, ognuna delle quali ha un dato indirizzo. La memoria viene usualmente suddivisa in segmenti, pagine, e locazioni interne o inter-pagina. Dopo aver comunicato l'indirizzo tramite questo bus, la scrittura o lettura avviene normalmente tramite il bus dati.

BUS DATI:

- Il bus dati viene utilizzato per lo scambio di informazioni tra i vari dispositivi solitamente come le periferiche di i/o.Bus (informatica) - Wikipedia

BUS CONTROLLO:

-Il bus controllo è un insieme di collegamenti il cui scopo è coordinare le attività del sistema; tramite esso, la CPU può decidere quale componente deve scrivere sul bus dati in un determinato momento, quale indirizzo leggere sul bus indirizzi, quali celle di memoria devono essere scritte e quali invece lette, etc. Infatti la memoria e tutti gli altri componenti comunicano con la CPU attraverso un unico bus condiviso; questo significa che senza un controllo da parte della CPU si verrebbero a creare dei conflitti e delle collisioni.

Per agevolare e rendere efficienti i vari processi sui bus, di norma, almeno su computer abbastanza recenti, vengono utilizzati meccanismi di controllo supplementari, quali interrupt hardware e software, e soprattutto firmware.

MEMORIE

Le memorie sono il secondo componente più importante di un PC, esse servono per la conservazione dei dati e per la velocità di trasmissione di essi.

Le memorie sono tre:


RAM:

-La memoria RAM è la memoria fondamentale dell'elaboratore, senza di essa non potremmo usare il nostro computer.

La RAM è una memoria volatile, ovvero i dati utilizzati sul momento, se non salvati, verranno persi.

Una delle funzioni principali è anche quella di mantenere in sé il SO che all'accensione del dispositivo si troverà in una delle caselle della RAM.

Memoria RAM Crucial per computer fissi | Crucial IT

ROM:

-La memoria ROM (read only memory) è un supporto di archiviazione di massa nella quale vengono inseriti tutti i dati che noi vogliamo salvare nel dispositivo.

Dal momento che i dati contenuti nella memoria ROM possono essere modificati (se possibile) con grande difficoltà e in maniera molto lenta, le memorie di questo tipo sono utilizzate per contenere e distribuire Firmware BIOS e altri programmi necessari nella fase di avvio del dispositivo stesso. La memoria di sola lettura, inoltre, è non volatile: ciò vuol dire che conserva i dati anche nel caso in cui non riceva alimentazione per lunghi periodi.

Read Only Memory - Wikipedia

-La memoria cache è una memoria dell'hardware, veloce e anche relativamente piccola.

un dispositivo hardware ideato per velocizzare le operazioni di accesso alla memoria (sia in lettura sia in scrittura) da parte del processore. La cache, infatti, è un componente hardware che, affiancato alla memoria principale del sistema (ovvero l' hard disk), serve a immagazzinare dati utili a eseguire con maggior velocità le future richieste di accesso alla memoria effettuate dal processore. All'interno della memoria cache possono essere conservati dati e valori appena "trattati" dal processore o duplicati di dati conservati su altri supporti di memoria presenti nella macchina (come, per l'appunto, il disco rigido) e che, per un motivo o per l'altro, potranno essere richieste a breve dall'unità centrale di calcolo.

PERIFERICHE I/O

Le periferiche di input e di output sono dei dispositivi hardware i quali servono a dare comandi all'elaboratore ma anche a dare risposte all'utente.

Le periferiche di input servono per dare un relativo comando all'elaboratore che tramite il bus dati verrà indirizzato verso il processore per far sì che noi possiamo vedere il comando dato sul monitor del nostro computer.

Le periferiche di output quindi serviranno per mostrare all'utente il comando dato dei dispositivi esterni all'elaboratore definiti da quest'ultimo periferiche di input.

Periferiche di un computer, input e output - ✓ Tu digitale

SOFTWARE ON PLATFORM

Per decenni abbiamo utilizzato il web 1.0, ma negli ultimi anni è stato implementato il web 2.0 (o web dinamico). Con il web 2.0, nascono i cosiddetti software (o Service) on platform, che presentano tantissime novità rispetto ai soliti software che scarichiamo sui nostri elaboratori. Tutti i software on platform sono gratis e possiamo utilizzarli ovunque. I software normali devono essere installati su un elaboratore, mentre i software on platform si trovano nel cloud, una memoria presente sul web, che quindi non necessita di trovarsi in un luogo ben preciso. Essi, però, per essere utilizzati necessitano di connessione ad internet, quindi senza di essa non possiamo accedervi. Per accedervi bisogna loggarsi e dopo ci troveremo in un'area privata. Un esempio di software on platform è Google Documenti.

Con questo cambiamento, cambia anche il modo di elaborare le informazioni: mentre prima venivano elaborate nell'elaboratore, adesso vengono elaborate su internet, questo processo viene chiamato business logica, ed è la capacità di risolvere un problema.

Un altro tipo di software è il software Open Office: esso è gratis, ma il suo problema è che va installato su un dispositivo. Altri software gratis sono Freeware, Shareware ed i cosiddetti Open Source (software disponibili a tutti), che possiamo distruggere.

Il Freeware è un software gratuito che presenta diversi limiti, a differenza del software Open Source, esso può non essere condivisibile o modificabile da chi lo utilizza. Molti freeware sono molto utili e vantaggiosi, ma molte volte sono talvolta non sicuri e contengono virus, per questo bisogna evitare le piattaforme insicure e fare attenzione al download.Cos'è il freeware? (Definizione freeware) – Comeaprire blog

Lo Shareware è un software gratuito che, però, è disponibile solo per un breve periodo di prova, dopodiché, bisogna disinstallare il programma secondo l'EULA o acquistarlo per mantenerlo per tutta la vita (lifetime).

Quindi, la differenza sostanziale tra shareware e freeware è che il freeware è un software gratuito a tempo illimitato, mentre lo shareware è un software gratuito a tempo limitato.

TRASFORMAZIONE DI UN SUONO IN CODICE BINARIO

Un suono è una perturbazione delle onde (vibrazioni), esso possiede un'ampiezza ed un tempo di propagazione.

                                                                    Figura 1 ↑

a.

La rappresentazione digitale (o numerica) assegna dei numeri che rappresentano ogni volta il valore dell'aI suoni sono un tipo di informazione con il quale siamo costantemente in contatto, pensiamo al linguaggio, alla musica, ai rumori. Anche i suoni, essendo informazione, dunque, possono essere rappresentati in forma digitale.

La codifica dei suoni si basa sulla codifica delle onde che li producono, a sua volta basata su una procedura chiamata campionamento. Il campionamento consiste nel considerare l'onda che costituisce il suono solo in determinati istanti temporali.

Fisicamente un suono è rappresentato come un'onda che descrive la variazione della pressione dell'aria nel tempo, può essere quindi rappresentato su un piano cartesiano come vediamo nella figura 1 (vedi in alto). Sull'asse delle ascisse viene rappresentato il tempo, sull'asse delle ordinate viene rappresentata la variazione di pressione corrispondente al suono stesso. Ci sono due modi di rappresentare un suono: la rappresentazione analogica e la rappresentazione digitale.

La rappresentazione analogica descrive esattamente l'analogo della quantità fisica in esame e fornisce una descrizione continua dell'onda sonora. Le rappresentazioni analogiche non sono adatte all'informaticmpiezza in tutti gli istanti di tempo. I numeri rappresentano l'andamento della curva di ampiezza. Inoltre, questa rappresentazione fornisce una descrizione discreta del suono preso in considerazione.

Durante il campionamento viene effettuata la discretizzazione, cioè quando trasformiamo una misura continua in misura discreta. Ma in base a cosa dobbiamo effettuare il campionamento? Quanti campioni dobbiamo prendere? La risposta a queste domande sono le tecniche di campionamento, Nyquist e Shannon.

COMPLEMENTO A DUE

Il complemento a due è la tecnica più famosa per eseguire la rappresentazione di un numero binario con segno di informatica.

Partendo da un numero di segno conosciuto, quindi, possiamo, grazie al complemento a due, sapere il valore del suo opposto.

Per eseguire il complemento a due correttamente, però, bisogna prima calcolare il complemento a uno del numero che vogliamo rappresentare. Il complemento a uno consiste nel fare la negazione del numero, cioè a scambiare tutti i valori di uno con zero e viceversa. Esempio: 000111 diventa 111000.

Dopo aver fatto ciò arriviamo finalmente al vero e proprio complemento a due: aggiungiamo uno al numero trovato dopo aver fatto il complemento a uno.

Riprendiamo l'esempio precedente: 111000 + 1= 111001.

111001 sarà il complemento a due del numero 000111.

TRASFORMAZIONE DI VIDEO IN CODICE BINARIO

Per codificare i video rendendoli codici binari sfruttiamo la sequenza di immagini: infatti, i video sono una sequenza di immagini, che in informatica si chiamano "frame". L'occhio umano riesce a distinguere 25/30 frame al secondo, infatti per i video è inutile e svantaggioso superare questa soglia, perché non garantisce alcuna ulteriore precisione e occupa troppo spazio.

I frame (o fotogrammi) si susseguono in modo costante durante tutta la durata del video. La velocità viene misurata in fotogrammi al secondo (FPS), questa velocità si chiama frame rate. Alcune frame rate conosciute sono: 24 FPS utilizzate spesso nei Cinema, 25 FPS nelle televisioni PAL e 30 FPS nelle televisioni NTSC. Un video che segue lo standard televisivo è chiamato interlacciato.

CODICE BINARIO

Un codice binario riproduce le informazioni soltanto attraverso l'uso di due diversi stati. Conosciamo il sistema binario soprattutto nell'ambito dei computer, nel cui interno funziona tutto con gli uni e gli zeri. È così che vengono memorizzati i dati ed eseguiti i calcoli. La trasformazione da decimale a binario consiste nel dividere il numero in questione per 2 e se ci sarà il resto nella colonna di destra mettiamo il numero 1 invece se non verrà nessun tipo di resto si metterà 0. La parte finale consiste nel leggere il numero di destra dal basso verso l'alto.

CODICE ASCII

Il codice ASCII è uno schema di codifica dei caratteri alfanumerici introdotto negli anni '60. ASCII originale utilizza una stringa binaria lunga 7 cifre, che gli consente di rappresentare 128 caratteri. Una versione successiva di codice ASCII chiamato ASCII esteso utilizza 8 cifre lunga stringa binaria dandogli la capacità di rappresentare 256 caratteri diversi.Il codice ASCII include, principalmente, due tipi di caratteri, che sono caratteri di controllo (rappresentati da 0-31 decimale e 127 decimale) e caratteri stampabili (rappresentati da 32-126 decimale). Ad esempio, alla cancellazione della chiave di controllo viene assegnato il valore 127 decimale rappresentato da 1111111. Il carattere a, a cui viene assegnato il valore 97 decimale, è rappresentato da 1100001. Infine, l'ASCII può rappresentare lettere in entrambi i casi, numeri, simboli e chiavi di controllo.E il codice ASCII nacque appunto come codice a 7 bit, due più del vecchio codice Baudot. Usando la notazione binaria ogni simbolo è rappresentato da un numero a 7 cifre, da 0000000 a 1111111, in decimale da 0 a 127, 128 caratteri in tutto.D'altro canto, ASCII acronimo di American Standard Code for Information Interchange, è una codifica standard per i caratteri alfanumerici utilizzati nei computer e nei dispositivi correlati. ASCII è stato introdotto dallo United States of America Standards Institute (USASI) ora noto come American National Standards Institute. Non possiamo addentrarci nel mondo del Codice ASCII senza conoscerne la storia. L'acronimo ASCII sta per American Standard Code for Information Interchange ossia Codice Standard Americano per lo scambio di informazioni. Questo è il nome scelto per indicare il sistema di codifica dei caratteri a 7 bit utilizzato inizialmente nei calcolatori ed in seguito implementato nei sistemi operativi dei computer e di altri dispositivi informatici. Ed è proprio grazie a questo sistema di codifica di caratteri e simboli e le sue successive evoluzioni se oggi possiamo scrivere email e testi e possiamo arricchire i nostri messaggi con gli emoji. Il Codice ASCII è stato ideato nel 1961 da Bob Bemer un ingegnere dell'IBM ed è stato pubblicato nel 1968 dall'ANSI (American National Standards Institute). Il sistema basato su 7 bit consente la rappresentazione di 128 caratteri e la possibilità di impartire particolari comandi al computer.Per rispondere ad esigenze più complesse è stato aggiunto in seguito un bit, cosa che ha permesso di estendere il Codice ASCII a 256 caratteri. Il sistema ad 8 bit è noto come ASCII esteso. Attualmente il sistema di codifica più utilizzato a livello globale è Unicode che rappresenta l'evoluzione del codice ASCII. Si tratta di un codice che può essere programmato con variabili da 32, 16 ed 8 bit. A differenza del Codice ASCII, Unicode è in grado di codificare tutte le lingue e consente di inserire oltre a numerosi simboli matematici anche i caratteri dell'alfabeto Braille, ideogrammi e le simpatiche e note faccine (emoji) che utilizziamo ogni giorno su Facebook e Whatsapp. A questo punto non possiamo non introdurre anche UTF-8, il codice designato come il successore di ASCII. UTF-8 è la codifica principale di Unicode per Internet che copre tutti i caratteri alfabetici di quasi tutte le lingue del mondo.


CODICE ESADECIMALE

Il codice esadecimale (o sistema numerico decimale) è un sistema numerico posizionale in base 16, cioè composto da 16 simboli, a differenza del sistema numerico decimale che a 10 simboli. Nel codice esadecimale i simboli sono: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F. Il codice esadecimale è molto usato in informatica, grazie alla sua stretta relazione con il codice binario.

Il sistema esadecimale è usato nella tecnologia informatica e facilita la leggibilità di grandi numeri o lunghe sequenze di bit. Questi sono raggruppati per quattro bit ciascuno e convertiti in numeri esadecimali. Il risultato: lunghe sequenze di uno e zero diventano numeri esadecimali più brevi, che a loro volta possono essere divisi in gruppi di due o quattro. Quindi, i numeri esadecimali sono una forma più compatta di rappresentazione di sequenze di bit. Il sistema è usato, tra l'altro, nell'indirizzo sorgente e di destinazione dell'IP, nel codice ASCII e nella descrizione dei codici di colore nel web design nel linguaggio CSS.

Il grande vantaggio del sistema esadecimale è la compattezza dei suoi numeri, poiché la base 16 consente di utilizzare meno cifre per rappresentare un dato numero rispetto al formato binario o decimale. Inoltre, convertire i numeri esadecimali in numeri binari e viceversa è relativamente veloce e semplice.

LE TAVOLE DI VERITA' E L'ALGEBRA DI BOOLE

Per capire cosa sono e come funzionano le tavole di verità bisogna sapere cos'è un enunciato. Un enunciato è una proposizione oggettiva di cui si può dire vero o falso. Un enunciato può essere semplice o composto. Un enunciato semplice è composto da un singolo enunciato, mentre un enunciato composto è formato da tanti enunciati semplici. Detto questo, possiamo dare una definizione di "Tavola di verità".

Una tavola di verità è una tabella usata per determinare il valore di verità degli enunciati composti con i connettivi logici. Ad ogni connettivo logico è associata una tavola di verità, in cui viene specificato il valore di verità dell'enunciato.

Fino ad ora abbiamo citato i connettivi logici, ma adesso vediamo cosa sono precisamente.

I connettivi logici uniscono due enunciati in un unico enunciato, in modo da determinare il suo valore di verità. I connettivi logici fondamentali sono due: ∧ e ∨. Il primo segno si chiama "and", ed è una congiunzione. Il secondo si chiama, invece, "or", ed è una disgiunzione. Ci sono altri connettivi logici non meno importanti come il "not" (che nega l'enunciato e si indica con un trattino sopra alla lettera), "NAND" e "NOR".

La tavola di verità nasce dall'algebra "Booleana" (di George Boole), l'algebra formata da 1 e 0. In questo particolare tipo di algebra, le variabili possono solo assumere valore di vero o falso (valori di verità).

IL SISTEMA OPERATIVO

Il sistema operativo è un software di base che permette di interfacciare l'utente con l'elaboratore ed è contenuto principalmente nelle memorie di massa tranne quando avviamo il pc che si sposta nella RAM.

Esso ha una struttura a strati, ogni strato ha una funzione specifica che mette in lavoro anche il processore e le memorie.

Le sue funzioni sono:

  • CORE (KERNEL) (È il cuore del sistema operativo)

  • GESTORE MEMORIE (Mette in contatto il sistema operativo con le memorie RAM e ROM)

  • GESTIONE PERIFERICHE (Il sistema operativo è in grado di percepire all'istante la posizione delle periferiche)

  • FILE SYSTEM (Permette di creare, modificare e eliminare cartelle e file)

CORE (KERNEL)

Il core è la parte principale del sistema operativo che in informatica viene inteso come "nucleo elaborativo".

Il suo compito è quello di garantire un accesso sicuro e controllato nei programmi in esecuzione e nell'hardware permettendo anche di utilizzare più programmi insieme e riconoscendone, la posizione(scheduling) e dando accesso al hardware(multitasking).

Il core nasce successivamente all'invenzione dei primi computer, essi infatti avviavano un programma alla volta e per avviarne un secondo avrebbero dovuto resettare il proprio elaboratore.

L'invenzione del CORE infatti ha permesso a molti utenti di ottimizzare il tempo di utilizzo di un elaboratore e per velocizzare il lavoro con esso fatto.

GESTORE DELLE MEMORIE

La gestione memorie nel sistema operativo è uno degli aspetti più importanti perché, la RAM(memoria più importante) deve essere gestita tramite i principi di equità dando il massimo delle prestazioni.

In poche parole la gestione delle memorie cerca di gestire al meglio lo spazio dell'elaboratore massimizzando l'uso e ottimizzando il tempo di uso della CPU così da non sovraccaricare il computer.

Quindi lo scopo principale della gestione delle memorie è risparmiare tempo nell'utilizzo dei componenti più importanti e soprattutto gestire al meglio la posizione, le prestazioni, e lo spazio dell'elaboratore.


GESTORE DELLE PERIFERICHE

Questa parte del sistema operativo è in grado di capire quali e quante periferiche di i/o si stanno utilizzando con il computer. Serve anche ad aggiornare i driver delle proprie periferiche di input(mouse, tastiera) e di output(schede grafiche, cuffie, schermo). Quindi il gestore periferiche permette al sistema operativo di interfacciarsi con dei comandi che vengono dall'esterno ed è infatti per questo che esistono i driver.

I driver sono un secondo processore all'interno del proprio computer che trasferisce i comandi alla CPU che li trasferisce a sua volta al monitor il quale, essendo una periferica di output, ci mostra a noi utenti il comando dato. Questo processo si chiama buffering.

IL FILE SYSTEM

Il file system è il sistema di archiviazione dei file su un supporto di memorie (memorie di massa) e organizza scrittura, ricerca, lettura, memorizzazione, modifica e creazione ed eliminazione dei file. È una parte fondamentale del sistema operativo chiamato anche GUI ed è un pezzo di software che permette di interfacciarsi con i File all'interno dell'elaboratore e permette di modificarli, crearli, e eliminarli. La sua funzione è quella di ordinare anche le cartelle e i file distinguendoli tra di loro con nomi diversi; se un file ha lo stesso nome di un altro verrà sostituito uno dei due. Permette il salvataggio dei file di un software applicativo sotto forma di documento all'interno di una memoria di massa e ogni file è caratterizzato da una espansione che finisce in "espansione" ad esempio:

  • .docx (word)

  • .jpg

APPLICAZIONI

Il termine applicazione in informatica indica un software installato all'interno della memoria di massa del PC. Le applicazioni sono tutti i software che all'accensione del pc noi vediamo nel desktop. Le applicazioni all'avvio verranno caricate sulla memoria RAM e alla loro chiusura ritroveremo la pagina desktop con tutte le applicazioni non avviate.

Differenza tra un approccio algoritmico e un approccio euristico


L'approccio euristico in informatica è una metodologia di problem solving che prevede l'utilizzo di tecniche euristiche per trovare soluzioni approssimate a problemi complessi. Questo tipo di approccio si basa sull'idea di utilizzare la creatività e l'esperienza dell'utente per trovare soluzioni valide, anche se non necessariamente ottimali .Le tecniche euristiche sono spesso utilizzate in ambito di intelligenza artificiale per migliorare le prestazioni degli algoritmi di apprendimento automatico. Ad esempio, l'uso di algoritmi genetici può essere considerato un approccio euristico per la ricerca di soluzioni a problemi di ottimizzazione .L'approccio euristico si contrappone all'approccio deterministico, che cerca di risolvere i problemi in modo più sistematico e rigoroso. Tuttavia, l'approccio deterministico può spesso essere troppo oneroso in termini di tempo e risorse, soprattutto quando si tratta di problemi complessi. In definitiva, l'approccio euristico in informatica può essere un'utile alternativa per risolvere problemi complessi in modo efficiente, sfruttando la creatività e l'esperienza dell'utente, e può essere utilizzato in combinazione con l'approccio deterministico per ottenere i migliori risultati.

L'approccio top-down e bottom-up

L'approccio Top-Down e Bottom-Up sono due metodologie utilizzate nel campo dell'informatica per risolvere problemi complessi. Entrambi gli approcci hanno pro e contro e sono utilizzati a seconda della situazione e delle esigenze .L'approccio Top-Down è un metodo di risoluzione dei problemi che inizia dall'alto verso il basso, partendo dal problema generale e suddividendo il problema in problemi più piccoli sempre più specifici. In questo modo, si può avere una visione d'insieme del problema e individuare le soluzioni specifiche per ogni problema più piccolo . L'approccio Top-Down è spesso utilizzato nella progettazione di software, dove si parte dalla definizione dei requisiti generali, per poi scendere nel dettaglio delle funzionalità specifiche. Questo tipo di approccio consente di avere una visione d'insieme del problema e di suddividere il lavoro in modo efficace tra i membri del team. L'approccio Bottom-Up, invece, è un metodo di risoluzione dei problemi che inizia dal basso verso l'alto, partendo dai dettagli e dalle informazioni specifiche per costruire una soluzione globale. In questo caso, si parte dall'analisi dei dati e delle informazioni specifiche per poi elaborare una soluzione globale. L'approccio Bottom-Up è spesso utilizzato nell'analisi dei dati, dove i dati vengono utilizzati per creare una visione d'insieme del problema. Questo tipo di approccio consente di identificare i dettagli e le specifiche del problema e di elaborare una soluzione efficace a partire dalle informazioni specifiche. In conclusione, sia l'approccio Top-Down che Bottom-Up sono metodologie utilizzate per risolvere problemi complessi, ma differiscono nell'approccio utilizzato per affrontare il problema. L'approccio Top-Down è utile per avere una visione d'insieme del problema e suddividere il lavoro in modo efficace, mentre l'approccio Bottom-Up è utile per identificare i dettagli del problema e elaborare una soluzione efficace a partire dalle informazioni specifiche.


L' algoritmo

l'algoritmo è una sequenza di passi finiti e di istruzioni logicamente organizzate che ci permette di arrivare alla soluzione di un problema o di risolvere una specifica operazione con un risultato sicuro; viene usato per la creazione di software e sistemi informatici.

Viene usato anche per la creazione di linguaggi di programmazione più semplici e più utilizzati quotidianamente dai tecnici.

É caratterizzato da una serie di blocchi/parti con un lavoro specifico, i quali sono collegati tra loro da delle frecce di implicazione.

Le parti sono:

1. INPUT: in questa sezione vengono inserite le variabili che verranno valorizzate dall'utente che deciderà appunto quale valore darli.

2. OUTPUT: è il risultato dell'algoritmo dopo aver calcolato l'input, può essere un valore numerico, un immagine, una stringa di testo o un qualsiasi risultato.

3. RAGIONAMENTO: è una serie di passi numerati da seguire per la creazione dell'algoritmo affinché segua i passaggi in ordine.

4. VARIABILI: sono dei dati assegnati all'algoritmo e memorizzati da esso e servono per manipolare il funzionamento dei valori durante lo svolgimento dell'esercizio. Vengono usate per mantenere il valore temporaneamente effettuando calcoli e operazioni con esso. Vengono scritte attraverso il metodo "cable notation"

5. CONDIZIONE: è una dichiarazione di una determinata espressione che può essere vera o falsa e a seconda di ciò l'algoritmo cambierà risultato. Può essere definita if (se).

I Cicli

I Cicli: Che cosa sono?

I cicli sono un tipo di struttura di controllo che ci consente di ripetere un certo numero di volte le stesse operazioni. Esso si utilizza nel momento in cui abbiamo bisogno di ripetere una serie di azioni nella risoluzione di un problema. Quindi, non sono altro che delle rappresentazioni grafiche nei flow chart. I cicli sono uno strumento fondamentale per la gestione del flusso di controllo all'interno di un programma. Le azioni contenute nel ciclo prendono il nome di blocco del ciclo. La condizione è spesso legata a delle variabili che prendono il nome di variabili guida.

I Cicli: Le tipologie

I cicli possono essere di due tipologie, vediamole insieme:

  • CICLI PRE-CONDIZIONALI: in questo tipo di ciclo si mette la condizione prima di fare il codice, quindi il blocco del ciclo potrebbe anche non essere mai eseguito. I tipi di cicli pre-condizionali sono principalmente due, e sono ciclo FOR e ciclo WHILE-DO. Nel ciclo FOR noi sappiamo precisamente e a priori quante volte eseguire il ciclo, ed esso si distingue dal ciclo WHILE-DO proprio per questo, infatti in quest'ultimo non sappiamo quante volte dobbiamo eseguire il ciclo, inoltre, il WHILE è la forma più generica di ciclo. Tra i due cicli, tuttavia, il più usato in programmazione è il ciclo FOR. La scelta fra questi due tipi è legata a valori di leggibilità e chiarezza del codice, infatti qualunque algoritmo che usa il ciclo FOR può essere trasformato in una forma che usa il ciclo WHILE-DO (e viceversa).
  • CICLI POST-CONDIZIONALI: in questo tipo di ciclo si mette la condizione dopo l'inizio del codice e il blocco del ciclo viene eseguito almeno una volta. L'esempio più comune di ciclo post-condizionale è il ciclo DO-WHILE. Nel ciclo DO-WHILE, come in quello WHILE, non sappiamo quante volte eseguire il ciclo, in esso, sono eseguite prima le istruzioni che formano il blocco del ciclo e dopo è eseguita la condizionale per stabilire se ripetere il ciclo oppure no. Se la condizione è vera si ripete il ciclo, se è falsa il codice continua e si passa al prossimo passaggio.


ESERCIZIO 1

Dato N1 ed N2 calcolare la somma

Richiedere in input N1 e N2; assegnare alla variabile SOMMA<- N1+N2 e ottenere cosi in output la SOMMA.


ESERCIZIO 2

Dato N1 ed N2 calcolare la media e se la media è maggiore di 20 in output scrivere "Maggiore" altrimenti "Minore".

Richiedere in input N1 e N2; assegnare alla variabile SOMMA<- N1+N2 e alla variabile MEDIA<- SOMMA/2; creare un ciclo if che abbia come condizione la MEDIA>20 se è vera allora stampare in output MAGGIORE se è falsa stampare MINORE.

ESERCIZIO 3

Calcolare l'angolo esterno di un triangolo il cui angolo interno è alfa e l'angolo esterno è beta.

Ricordare che beta = 360° - alfa

Richiedere in input alfa, assegnare a beta <- 360° - alfa e infine stampare in output beta.

ESERCIZIO 3.1

Riprogettare l'Esercizio 3 gestendo l'eventualità che alfa sia maggiore di 360°.

Richiedere in input alfa; creare in seguito un ciclo if avente come condizione alfa>360 e se è vero bisogna calcolare in assegnamento  il QUOZIENTE<-alfa/360°  e calcolare alfa<-360-resto se invece è falsa arrivare direttamente a beta<-360-alfa e infine stampare in output beta.


ESERCIZIO 4


Richiedere in input M; dividere M /3 e costruire una condizione tra M1 e M2. Se M1>M2, se è vero si divide per M1/2 se è falsa bisogna fare un'altra condizione con M1,M2>M3  se è vera dividere M3/2 se invece è falso l'esercizio finisce. 

.

ESERCIZIO 5

Risolvere un equazione di primo grado espressa in forma ax+b=0

Inserire ax in input, inserire b in input, assegnare a b come nuovo valore il suo precedente cambiato di segno; assegnare ad x il  valore di b/a, stampare in output x.



.

ESERCIZIO 6

Risolvere un equazione del tipo ax+bx+cx+dx+e+f+g+h=0

Inserire ax,bx,cx,dx in input, inserire e,f,g,hin input, assegnare alla variabile k il valore della somma tra a,b,c,d e alla variabile I la somma di e,f,g,h; assegnare a I come nuovo valore il suo precedente cambiato di segno; assegnare ad x il valore di I/K, stampare in output x. 


ESERCIZIO 7 

Prendere in input 3 numeri e stampare il più grande

Richiedere in input N1,N2,N3 creare un ciclo if avente come condizione N1>N2 se è vero creare un altro ciclo if N1>N3 se quest'ultimo è vero stampare in output N1 se è falso stampare in output N3; se il primo ciclo if era falso creare un altro ciclo if avente come condizione N2>N3 se quest'ultimop è vero stampare N2 se è falso stampare N3.


ESERCIZIO 8

Un parcheggio a pagamento è aperto dalle ore 6 alle ore 24 di ogni giorno della settimana. Le tariffe sono differenziate in base al tipo di veicolo: le auto piccole 1 ora 2 euro frazione successiva 2 euro, auto grandi e medie un 1 ora 3 euro frazione successiva 2 euro, station wagon e SUV 1 ora 3 euro frazione successiva 3 euro, furgoni 1 ora 4 euro frazione successiva 3 euro. Dati gli orari di ingresso e di uscita e il tipo di veicolo calcola l'importo da pagare.

1) Inserire ora di ingresso e di uscita e tipo di veicolo

1.1) Scrivere in input l'ora di ingresso 

1.2) Se l'ora è compresa tra 6 e 24, attraverso un ciclo 

post-condizionale

1.3) Scrivere in input i minuti

1.4) Controllare se i minuti sono compresi tra 0 e 59 attraverso un ciclo post-condizionale  

1.5) Scrivere in input l'ora di uscita

1.6) Se l'ora di uscita è compresa tra 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 tra 0 e 59 attraverso un ciclo post- condizionale.

1.9) Inserire in input i tipi di veicoli.

1.10) Controllare che sia autpic, autmedia, station wagon o SUV, o furgone attraverso un ciclo post-condizionale 

2) Associare la tariffa al tipo di veicolo

2.1) Se ora=0 e minuti<60 assegnamento ora=1 

2.2) Se ora> 0 e minuti>0 -> ora= ora +1 

2.3) Se autpic prezzo= 2 * ora 

2.4) Se autmedia prezzo= 2* ( ora-1) +3

2.5) Se SUV prezzo= 3*ora 

2.6) Se furgone prezzo= 3* (ora-1) +4

3) Mostra prezzo in output


ESERCIZIO 9

Stampare la tabellina di un numero preso in input se e solo se questo N>0 e n<13

Prendere in input un numero attraverso un do-while verificare se il n>0 e n<13 se è falso richiedere un altro numero se è vero assegnare alla variabile I il valore 1; attraverso un ciclo for  controllare se I<=10  se è falso uscire se è vero assegnare alla variabile x il valore n*I; stampare in output la x assegnare ad I il valore i+1.

  


BIBLIOGRAFIA E SITOGRAFIA

fastweb.it

itisavona.it

okpedia.it

youmath.it


LAVORO FATTO DA: RAFFAELE MEDICI, LUCA DELLO IACOVO, RAFFAELE LANZA, GIUSEPPE VITALE E MARIANNA MOTOLESE

© 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