vuoi
o PayPal
tutte le volte che vuoi
Algoritmi e Esecutori
Tosetti Luca 15/09/2020Esecutori-Algoritmi6. Aggiungi un pizzico di sale 2
Tosetti Luca 15/09/2020Esecutori-Algoritmi7. Togli dal fuoco quando l'albume è cotto
Tuttavia questa ricetta ad esempio è troppo ambigua per poter essere considerata un algoritmo, questo per diversi motivi:
- "un cucchiaio" "pizzico di sale" - Non si conosce l'effettiva quantità di sale
- non si conosce la padella
- L'esecutore che deve prendere - non sa rompere l'uovo
- Potrebbe come si un adulto parli italiano
Si dà per scontato che l'esecutore sia un adulto che parla italiano.
Ipotizzando adesso di avere un problema ovvero:
Problema: Prodotto di 2 interi positivi tramite somme ripetute
Es: 2,5 2*5 2+2+2+2+2
E andando a considerare come esecutore dell'eventuale algoritmo volto a risolvere questo problema:
Esecutore: Persona adulta che parla italiano
La sequenza di istruzioni, ovvero il procedimento, ovvero l'algoritmo potrebbe essere:
- Leggi il primo numero
- Leggi il secondo numero
- Effettua la somma ripetuta del primo numero per il secondo numero
- secondo numero
- Somma il primo numero tante volte quante è il valore del secondo
- Scrivi il risultato
Tuttavia anche in questo caso si hanno alcune ambiguità:
- Il punto 3 non è elementare, dato che comprende la realizzazione da parte dell'esecutore di più azioni
- Si dà per scontato che l'esecutore sappia quali siano il primo e il secondo numero da leggere
- Si dà per scontato che l'esecutore sappia dove scrivere il risultato delle somme
Tosetti Luca 15/09/2020
Algoritmi-Linguaggi di scrittura
Ora invece andiamo ad analizzare lo stesso problema di cui però si affida la risoluzione ad un esecutore automatico (Computer):
Specifica del problema:
- Dati Oggetti su cui lavora il nostro algoritmo
- Variabili: Si tratta di dati che possono variare nel tempo o essere modificati
- Costanti: Dati il cui valore rimane costante nel tempo
- Operazioni Elaborazioni che posso fare sui dati
- Flusso di controllo Le possibili successioni dei
passi dell'algoritmo:
- Leggi X
- Esegui X+X e ricordati il risultato in Y
- Esegui Y+X e ricordati il risultato in Z
- Stampa Z
Nel caso di un esecutore automatico, ovvero di un computer, la parte che si occupa di andare ad utilizzare i dati per calcolare il risultato è la CPU.
CPU (Central Processing Unit): Si occupa di eseguire l'algoritmo secondo il flusso di controllo.
Inoltre all'interno di un algoritmo possiamo trovare numerosi tipi di operazioni:
- Aritmetiche
- Relazionale
- Logiche
- Confronto (<, >, <=, >=, ==)
- Assegnamento Y = X+X
Per poter scrivere un algoritmo ci sono diverse possibilità:
- Italiano
- Pseudocodice
- Diagramma di flusso / Schema a blocchi
- Linguaggio di programmazione
Tosetti Luca 15/09/2020
Algoritmi-Diagrammi di flusso
In riferimento a questo, andando a considerare un nuovo problema come:
Problema: Dato un numero trova e stampa il suo
- Leggi il numero e mettilo nella variabile X
- Calcola X-1 e metti il risultato in Y
- Stampa Y
La scrittura di tale algoritmo in pseudocodice sarà:
Pseudocodice: 1. Leggi X 2. Y = X-1 3. Stampa Y
Per quanto riguarda la rappresentazione dell'algoritmo mediante un diagramma di flusso, occorre prima di procedere alla sua realizzazione andare a definire i vari simboli e forme utilizzate in tali diagrammi: - Blocco di inizio e blocco di fine - Operazioni - Input/Output - Condizioni