Anteprima
Vedrai una selezione di 3 pagine su 10
Introduzione ai sistemi operativi Pag. 1 Introduzione ai sistemi operativi Pag. 2
Anteprima di 3 pagg. su 10.
Scarica il documento per vederlo tutto.
Introduzione ai sistemi operativi Pag. 6
1 su 10
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

APERTA

Quasi nessuno dei problemi appena elencati può essere risolto con un computer. A maggior ragione possiamo ritenere che questo sia vero se pensiamo al fatto che un computer non è in grado di fare nulla se non gli si dice cosa fare. Spetta all'uomo analizzare il problema, trovare la soluzione e fare in modo che il computer esegua esattamente le istruzioni che portano alla soluzione.

Qual è il vantaggio di utilizzare un computer? Quello, dopo aver scritto la procedura di risoluzione, di poter ripetere tale procedura in continuazione, liberando l'uomo da attività ripetitive.

Alla base dell'informatica intesa come elaborazione dell'informazione c'è il concetto fondamentale di ALGORITMO, che è un elenco:

  • fini
  • non ambiguo
  • realizzabile
  • dei passi necessari per giungere ad un certo risultato a partire da certi dati di partenza

Una ricetta di cucina è a tutti gli effetti un algoritmo, cioè una procedura da seguire.

passo passo per ottenere un risultato. Il termine algoritmo deriva dalla latinizzazione del nome del matematico persiano Muhammad ibn Musa al-Khwarizmi (algoritmo deriva dal suo cognome) vissuto fra il 780 e l'850, ritenuto uno dei primi autori ad aver impiegato questo concetto in modo esplicito.

esercizio INTRODUZIONE AI SISTEMI OPERATIVI 3 algoritmo per il calcolo della somma delle potenze di 2, con esponente da 0 a 9:

  1. Somma le potenze di 2 con esponente da 0 a 9
  2. L'ultimo termine che aggiungerai sarà 512
  3. Sottrai 1 da 512, ottenendo 511
  4. Somma 512 a 511 ed otterrai la risposta: 1023
  5. Questa è la procedura

Nella moderna notazione algebrica l'algoritmo appena illustrato ha la seguente forma generale:

Per dimostrare che il termine a sinistra del simbolo di uguale è equivalente al termine a destra dell'uguale iniziamo a svolgere i calcoli partendo dal termine a sinistra dell'uguale, che nel linguaggio naturale ha il seguente significato:

“Somma le potenze di 2 conesponente da 0 a 9”, ovvero:elevare un numero ad un certo esponente n intero significa moltiplicare quel numero n-1 volte per se stesso= 1+ 2 x 2+ 2 x 2 x 2+ 2 x 2 x 2 x 2+ 2 x 2 x 2 x 2 x 2+ 2 x 2 x 2 x 2 x 2 x 2+ 2 x 2 x 2 x 2 x 2 x 2 x 2+ 2 x 2 x 2 x 2 x 2 x 2 x 2 x 2+ 2 x 2 x 2 x 2 x 2 x 2 x 2 x 2 x 2= 1 +2 + 4 + 8 + 16 + 32 + 64 + 128 + 256 b+ 512= 1023Consideriamo ora il secondo termine dell'equazione precedente:2^9 + (2^9 - 1)= 512 + (512 - 1)512 + 511= 1023nel 1945, George Polya scrisse un libro intitolato: "How to Solve It: A New Aspect of Mathematical Method”descrizione del tutto generale del processo di risoluzione dei problemi, applicabile anche al di fuori del campostrettamente matematico.La strategia proposta da Polya può essere riassunta in tre punti:1) Capire il problemaQuando ci viene dato un problema da risolvere la prima cosa che dobbiamo fare è porci delle domande:INTRODUZIONE AI SISTEMI OPERATIVI

1) Cosa conosco del problema? Che informazioni devo analizzare per trovare la soluzione? Come sarà la soluzione? Che casi particolari esistono? Come posso sapere di aver trovato la soluzione?

2) Fare uso di cose già note

Non bisogna reinventare la ruota. Se un problema simile è già stato risolto in precedenza, basta ripetere la stessa procedura.

Ad esempio, trovare la temperatura massima e la temperatura minima in un elenco di temperature implica la stessa procedura che si applica per trovare la moneta di maggior valore e quella di minor valore nel portafogli. Si tratta di trovare il numero più alto e quello più basso in un insieme di numeri.

3) Divide et impera

Dobbiamo sempre cercare di ridurre un grande problema ad una serie di piccoli problemi che siamo in grado di risolvere singolarmente.

Fare le pulizie in una casa è certamente faticoso, soprattutto se le stanze da pulire sono molte. Ma se consideriamo le stanze singolarmente il problema ci appare

Il metodo proposto da Polya viene detto euristico. Si tratta di un approccio alla risoluzione dei problemi che non segue un percorso ben definito, ma si affida all'intuito e allo stato contingente delle circostanze.

Per semplificare l'analisi dei problemi in informatica si fa uso dei diagrammi di flusso, detti anche diagrammi a blocchi o flow chart.

Un diagramma di flusso o diagramma a blocchi è una rappresentazione grafica di un algoritmo. Ogni diagramma di flusso è costruito collegando fra loro tramite frecce dei simboli grafici particolari detti blocchi elementari. Le frecce indicano l'esatta sequenza di esecuzione delle istruzioni.

I blocchi iniziale e finale devono essere sempre presenti in un diagramma di flusso. Essi indicano dove la procedura inizia e dove finisce, dove finisce/inizia il flusso.

Il blocco di lettura (input) viene utilizzato quando è necessario che

esempio il calcolo della somma dei due numeri. (è quello che simula il processore del computer)stessa forma per entrambi → rettangolo, bisogna scrivere cosa fa l'azione→ blocco di decisione viene utilizzato quando si vuole descrivere una scelta che il computer deve fare, ad esempio se il risultato del calcolo è maggiore di un certo valore, allora esegui un'azione, altrimenti esegui un'altra azione. (è quello che simula una condizione)→ blocco di connessione viene utilizzato per collegare i vari blocchi tra loro, in modo da indicare l'ordine in cui devono essere eseguiti.

Esempio la somma di due numeri, ma anche il controllo ortografico di un testo, oppure un comando di stampa. I comandi impartiti al computer attraverso la scelta di una voce da menù oppure il clic su un pulsante di una finestra di dialogo sono pure esempi di azioni.

→ rettangolo

→ blocco di controllo viene impiegato tutte le volte che si rende necessario rappresentare una domanda la cui condizione di veridicità implica la scelta di un percorso piuttosto che di un altro. Per esempio, nel caso di un sito web per la vendita di prodotti online, quando l'utente ha inserito i dati relativi all'indirizzo di spedizione si rende necessario un test per verificare se la nazione a cui i prodotti devono essere inviati è la stessa del magazzino di chi vende i prodotti: se la nazione è la stessa il blocco di controllo proseguirà con un blocco azione che aggiungerà al costo del prodotto il costo delle normali spese di spedizione; in caso contrario

sarà necessario verificare qual'è l'anazione di destinazione e applicare la tariffa di spedizione adeguata.→ rombo Un diagramma a blocchi descrive un algoritmo se: ha un blocco iniziale e un blocco finale; è costituito da un numero finito di blocchi elementari di tipo azione e/o lettura/scrittura e/o controllo; ciascun blocco elementare soddisfa le condizioni di validità. CONDIZIONI DI VALIDITÀ PER I BLOCCHI ELEMENTARI: i blocchi azione e lettura/scrittura hanno una sola freccia entrante e una sola freccia uscente; i blocchi di controllo hanno una sola freccia entrante e due frecce uscenti; le frecce entrano in un blocco o si collegano ad altre frecce; Ogni blocco è raggiungibile dal blocco iniziale; INTRODUZIONE AI SISTEMI OPERATIVI 6 il blocco finale è raggiungibile da ogni altro blocco. Analisi strutturata: qualunque algoritmo può essere implementato impiegando solamente tre strutture: la sequenza, la selezione e

l'iterazione (teorema di Böhm-Jacopini).

sequenza: è il normale elenco di istruzioni da eseguire una dopo l'altra secondo l'ordine in cui sono state scritte.

Selezione: è la scelta fra due percorsi dipendente da una condizione che può essere vera o falsa.

Iterazione (ciclo o loop): è un insieme di istruzioni che vengono ripetute fino a quando una certa condizione non cambia di stato.

ESERCIZI

Per ciascuno dei problemi di seguito elencati trovare un algoritmo risolutivo e rappresentarlo mediante un diagramma a blocchi:

Recarsi all'Accademia di Santa Giulia di Brescia a partire dalla propria abitazione

INTRODUZIONE AI SISTEMI OPERATIVI 7

Preparare una

pizza————————————————————————————————————————————————————————————————————————————————————————————————————&mdashsecondo————————————————————————————→

INTRODUZIONE AI SISTEMI OPERATIVI 8

Calcolare il perimetro di un triangolo a partire dalla richiesta del tipo di triangolo (equilatero, isoscele o scaleno)

————————→

Stabilire se un numero inserito da un utente è pari oppure dispari

————————————————————————————→

Effettuare una ricerca in

internet———————————————————————————————————————————→Accedere al proprio account di posta elettronica——————————————————————————

Dettagli
Publisher
A.A. 2021-2022
10 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher gaia_vettore di informazioni apprese con la frequenza delle lezioni di Fondamenti di informatica e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Accademia di belle arti Santagiulia o del prof Scienze matematiche Prof.