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

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:

  1. Leggi il primo numero
  2. Leggi il secondo numero
  3. Effettua la somma ripetuta del primo numero per il secondo numero
  1. secondo numero
  2. Somma il primo numero tante volte quante è il valore del secondo
  3. 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:

  1. Leggi X
  2. Esegui X+X e ricordati il risultato in Y
  3. Esegui Y+X e ricordati il risultato in Z
  4. 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à:

  1. Italiano
  2. Pseudocodice
  3. Diagramma di flusso / Schema a blocchi
  4. 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

  1. Leggi il numero e mettilo nella variabile X
  2. Calcola X-1 e metti il risultato in Y
  3. 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
Dettagli
Publisher
A.A. 2020-2021
6 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher LucaTosetti_ 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à Politecnico di Milano o del prof Mirandola Raffaela.