L uomo come esecutore di algoritmi

Documenti analoghi
MODULO 07. La soluzione dei problemi mediante gli algoritmi

Unità di apprendimento 6. Dal problema al programma

Come ragiona il computer. Problemi e algoritmi

Introduzione all informatica

o Introduzione agli algoritmi o Rappresentazione delle Informazioni o Architettura del calcolatore o Reti di Calcolatori

Cosa è l Informatica?

Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe.

in termini informali: un algoritmo è una sequenza ordinata di operazioni che risolve un problema specifico

Corso di Informatica di Base

Introduzione alla programmazione

Caratteristiche di un calcolatore elettronico

3. Indicare cosa sta a significare la figura geometrica del rombo in un diagramma a blocchi

Unità di apprendimento 6. Dal problema al programma

Sistemi di Elaborazione delle Informazioni

Sistemi di Elaborazione delle Informazioni

CORSO DI INFORMATICA Maria Grazia Celentano

ALGORITMI E SOLUZIONI DI PROBLEMI

ELEMENTI DI INFORMATICA L. Ing. Claudia Chiusoli

Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura

ELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE)

Concetti Introduttivi. Il Computer

ALGORITMI: PROPRIETÀ FONDAMENTALI

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore

Introduzione agli Algoritmi

Algoritmi e Programmi

Rappresentazione con i diagrammi di flusso (Flow - chart)

PROBLEMI ALGORITMI E PROGRAMMAZIONE

L ELABORATORE ELETTRONICO

Corso di Informatica. Problemi ed algoritmi. Ing Pasquale Rota

Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Termine algoritmo da:

Sommario. Problema computazionale Sviluppo software Algoritmi. Istruzioni Sequenziali, Condizionali, Cicliche; Javascript

Algoritmi. Andrea Passerini Informatica. Algoritmi

Computer. Capitolo 2. 05/04/2012 continuazione 1

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

RAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO

Problemi, algoritmi, calcolatore

Gli algoritmi. Prof. Pasquale De Michele. Gli algoritmi. Pasquale De Michele

Algoritmi. Andrea Passerini Conoscenze informatiche e relazionali Corso di laurea in Scienze dell Ingegneria Edile

Formalismi per la descrizione di algoritmi

Il concetto di calcolatore e di algoritmo

INFORMATICA. Scienza dei calcolatori elettronici (computer science) Scienza dell informazione (information science)

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

1 Esercizi in pseudocodice

Algoritmi e (cenni sul) calcolatore

LA METAFORA DELL UFFICIO

Altrimenti, il M.C.D. di a e b è anche divisore di r (e.g. a=15,b=6,r=3 che è il M.C.D.)

Algoritmi. Informatica B. Daniele Loiacono

Elementi di Informatica e Programmazione

INFORmazione+autoMATICA. Perché saperne di piu? Le fasi della programmazione. Cosa intendiamo per programmazione

Università degli Studi di Verona. Algoritmie Diagrammidiflusso. Gennaio Sergio Marin Vargas. Dipartimento di Biotecnologie

Algoritmi. Informatica B. Daniele Loiacono

3. Programmi e algoritmi

Laboratorio di Calcolo di Aerodinamica: II Lezione

DISPENSE DI PROGRAMMAZIONE

Lez. 5 La Programmazione. Prof. Salvatore CUOMO

Come ragiona il computer

1 Esercizi in pseudo-codice

Informatica Generale Andrea Corradini Gli algoritmi e la risoluzione di problemi

Sviluppo di programmi

TEORIE E TECNICHE PER LA COMUNICAZIONE DIGITALE

Lez. 8 La Programmazione. Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1) 1

Introduzione. Informatica B. Daniele Loiacono

Università degli Studi di Brescia INFORMATICA. Dipartimento di Ingegneria Meccanica e Industriale

Lezione n. 2i Informatica e tecnologia informatica Sistema di elaborazione Algoritmo Linguaggi di programmazione Realizzazione di un programma

INTRODUZIONE ALLA PROGRAMMAZIONE

Un algoritmo è costituito da una serie di passaggi che portano alla risoluzione di un problema.

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

PROGRAMMAZIONE (Corso A)

Concetti di base dell ICT

L ELABORATORE ELETTRONICO!

Laurea triennale - Comunicazione&DAMS - UNICAL. Dr. Annamaria Bria 1

Teoria dell Informazione

n Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati

Elementi di programmazione

Sviluppo di programmi

CORSO DI PROGRAMMAZIONE E INFORMATICA GENERALE 1

Introduzione alla programmazione Algoritmi e diagrammi di flusso. Sviluppo del software

Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 30/06/2016/ Foglio delle domande / VERSIONE 1

Laboratorio di Informatica. Introduzione

Algoritmi e soluzione di problemi

Sommario. Problema computazionale Sviluppo software Algoritmi. Istruzioni Sequenziali, Condizionali, Cicliche; Javascript

Algoritmi. Pagina 1 di 5

Introduzione al funzionamento di un calcolatore elettronico

generalità concetti di base

Dal problema a un programma comprensibile dal calcolatore. Il Progetto degli Algoritmi. Dall analisi del problema all esecuzione

Corso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a

Le fasi della programmazione

La formalizzazione dell informazione: Dati e Diagrammi di Flusso

ALGORITMI E PROGRAMMAZIONE STRUTTURATA. Prof R. Bresolin a.s

Introduzione ai Calcolatori Elettronici

INFORMATICA Algoritmi come formalizzazione della risoluzione di un problema

Definizione. E un insieme ordinato di istruzioni che risolvono un problema. Da al- Khwarizmi: importante matematico Arabo nato nel 780 circa a Baghdad

DEFINIZIONI SMART E RELATIVE ESERCITAZIONI

Fondamenti di Informatica

Transcript:

L uomo come esecutore di algoritmi l L algoritmo è l insieme di azioni elementari che consentono di risolvere un problema trasformando i dati iniziali del problema stesso nel risultato. l Un algoritmo è quindi qualunque sequenza ordinata di passi semplici che hanno lo scopo di portare a termine un compito più complesso, qualunque sia la natura del problema

L uomo come esecutore di algoritmi l L esecutore dell algoritmo non è sempre un calcolatore, anzi, il più delle volte è un uomo che esegue un algoritmo, anche senza saperlo l Noi stessi, tutti i giorni, eseguiamo delle operazioni in sequenza, come quelle di alzarci, vestirci, andare a scuola ecc., che non sono altro che un algoritmo

L uomo come esecutore di algoritmi l E possibile descrivere anche questi algoritmi mediante un linguaggio grafico che è alla base della rappresentazione di tutti gli algoritmi: il flow chart l la differenza con gli algoritmi che devono essere poi eseguiti da un calcolatore sta nella codifica finale nel linguaggio di programmazione: se l esecutore è un essere umano li scriviamo in lingua italiana in modo che l uomo li possa capire se è un calcolatore in codice binario in modo che la CPU del nostro personal computer li possa eseguire

l Il modi più semplice utilizzato per scrivere un algoritmo è quello che utilizza i diagrammi a blocchi (o flowchart, diagrammi di flusso ) l Si tratta di una rappresentazione grafica, di facile interpretazione per chiunque

l Il diagramma a blocchi di figura descrive le operazioni necessarie per effettuare il calcolo del perimetro e dell area di un quadrato

l Possiamo distinguere tre diversi elementi grafici utilizzati per differenziare la natura delle operazioni. l Blocco terminale: usato solo per indicare l inizio e la fine dell algoritmo, che devono essere unici nel diagramma

l Blocco di comunicazione: al suo interno vengono scritte le operazioni di dialogo tra l uomo e la macchina (leggi, scrivi ecc.). l Blocco di elaborazione: contiene le istruzioni vere e proprie che compiono operazioni.

l Le operazioni vengono eseguite seguendo le frecce, una dopo l altra, quindi in sequenza l La sequenza di operazioni è la caratteristica principale di un algoritmo, ed è la struttura fondamentale di un programma scritto in un linguaggio di programmazione.

l Il diagramma di flusso viene trasformarlo nel linguaggio di progetto (o metalinguaggio) l Viene scritto in sequenza, ad esempio come nel modo seguente:

l Il metalinguaggio è l ultimo passo per arrivare alla scrittura di un programma in linguaggio di programmazione l Dopo la scrittura del programma in metalinguaggio è sufficiente tradurre ogni singola istruzione nel formato richiesto dal linguaggio Pascal

l Esempio: Quanto costa andare a scuola l Calcoliamo il costo settimanale di carburante utilizzato per andare a scuola l Innanzitutto individuiamo lo operazioni da eseguire, cioè l algoritmo che risolve il problema: 1. calcolare il numero di litri di benzina consumati 2. calcolare il costo totale del carburante giornaliero 3. determinare il costo settimanale

l E necessario avere a disposizione alcuni dati da fornire al programma, in modo che esso possa elaborarli l Questi dati, chiamati dati di ingresso (o input), sono: 1. il costo di un litro di carburante 2. il numero di chilometri tra la casa e la scuola 3. il numero di chilometri che il mezzo utilizzato effettua con un litro di carburante

l I risultati della elaborazione prendono il nome di dati in uscita (o output) del programma e vengono comunicati all utente l Possiamo ora scrivere il diagramma di flusso del programma

l

l La traduzione in metalinguaggio è la seguente

l L algoritmo che abbiamo scritto ha la proprietà di essere generico l Può essere utilizzato per la risoluzione di problemi simili senza che venga specificato: il tipo di automezzo utilizzato il tipo di percorso effettuato il carburante impiegato l Potrebbe ad esempio essere applicato al calcolo dei costi di trasporto aereo di carbone dalle miniere del Sud Africa a Parigi!

l La sequenza delle istruzioni è ordinata, cioè esiste un ordine preciso in base al quale vengono eseguite le istruzioni l Queste non possono essere scambiate di posto tra di loro l Il numero di operazioni deve essere finito: possono essere anche moltissime, ma non in numero infinito, altrimenti l algoritmo non terminerebbe mai

l Ogni operazione deve essere chiara, in modo che l esecutore la possa comprendere ed eseguire ogni istruzione senza errori di interpretazione l Deve sempre esserci una fine: sia che venga prodotto un risultato valido sia che non esista soluzione l I risultati devono essere gli stessi tutte le volte che l algoritmo viene eseguito sugli stessi dati, anche se dovesse essere utilizzato un diverso elaboratore