IL CONCETTO DI ALGORITMO

Slides:



Advertisements
Presentazioni simili
Esercizio Usate il ciclo repeat until (controllo post condizionale) per simulare il prodotto N x M con M somme di N. Esempio: 5 x 3 equivale a fare 5 +5.
Advertisements

Analisi – Progettazione - Programmazione
Linguaggi algoritmici
Selezione A. Ferrari.
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
1 Istruzioni, algoritmi, linguaggi. 2 Algoritmo per il calcolo delle radici reali di unequazione di 2 o grado Data lequazione ax 2 +bx+c=0, quali sono.
Informatica Problema Algoritmo Programma
Università degli Studi di Bergamo Facoltà di Lingue e Letterature Straniere Facoltà di Lettere e Filosofia A.A Informatica generale 1 Appunti.
Istruzioni Decisionali
Strutture di controllo in C -- Flow Chart --
Fondamenti di Informatica Algoritmi
Elementi di Informatica
ELEMENTI DI PROGRAMMAZIONE
PROGRAMMAZIONE: linguaggi
TURBOPASCAL …. ripassiamo - prof. V. Riboldi -.
La comunicazione uomo … macchina
Problema: come dividere due numeri
TURBOPASCAL …. ripassiamo - prof. V. Riboldi -.
COME RAGIONA UN COMPUTER
Rappresentazione degli algoritmi
L’ELABORATORE ELETTRONICO uno strumento in grado di eseguire insiemi di azioni (“mosse”) elementari le azioni vengono eseguite su oggetti (dati) per produrre.
Algoritmi e Programmazione (in C) Stefano Cagnoni e Monica Mordonini
Informatica e Informatica di Base
GLI ALGORITMI Appunti preparati dalla prof.ssa Maria D’Angelo.
Informatica Problemi e algoritmi. una situazione che pone delle domande cui si devono dare risposte. Col termine problema o situazione problematica s’indica.
Unità di apprendimento 6 Dal problema al programma.
Istruzioni e algoritmi. Istruzioni Operative I passi elementari che compongono l’algoritmo sono le istruzioni. Distinguiamo: Istruzioni di input Istruzioni.
Script bash I file di comandi in Linux. BASH  Bourne Again Shell  Modalità interattiva o batch (file di comandi)  Ambiente di programmazione “completo”
Unità di apprendimento 6 Dal problema al programma.
Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica FONDAMENTI DI INFORMATICA Domenico Talia
Programmazione: Iterazione Esistono tre tipi di iterazione fondamentali e vedremo la corrispondenza dei relativi diagrammi a blocchi e la loro traduzione.
1 Elementi DI INFORMATICA Università degli Studi di Cagliari Corso di Laurea in Ingegneria Elettronica Linguaggio C A.A. 2011/2012
Parte 2 Programmare in Matlab – I Sommario: Introduzione: m-file Strutture condizionali e cicli –Istruzione “if” + Operatori logici in MatlabIstruzione.
INFORMATICA ALGORITMI, PROGRAMMI, E LINGUAGGI DI PROGRAMMAZIONE.
Algoritmo algoritmo: un insieme ordinato di operazioni non ambigue ed effettivamente computabili che, quando eseguito, produce un risultato e si arresta.
© 2007 SEI-Società Editrice Internazionale, Apogeo
LA PROGRAMMAZIONE: Algoritmi e programmi
La rappresentazione degli algoritmi
Algoritmi Avanzati a.a.2014/2015 Prof.ssa Rossella Petreschi
DAL DIAGRAMMA AL CODICE
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali
Dal problema al processo risolutivo
Richiami di concetti generali
PROGRAMMAZIONE SHELL -
I DIAGRAMMI DI FLUSSO Vantaggi e svantaggi.
Algoritmi e soluzioni di problemi
DIRIGERE L’INNOVAZIONE
Dal problema al processo risolutivo
Unità di apprendimento 7
Programmazione strutturata
Forme per rappresentare l’algoritmo:
Dal problema al programma
I DIAGRAMMI DI FLUSSO Vantaggi e svantaggi.
Classe III A A.s – 2012 Programma di Informatica
IL CONCETTO DI ALGORITMO
Cos’è computabile? “si dicono computabili quelle funzioni che, in linea di principio, possono essere calcolate con un elaboratore adeguatamente.
Programmare.
Linguaggio C++ Selezione.
© 2007 SEI-Società Editrice Internazionale, Apogeo
Dall’analisi del problema alla definizione dell’algoritmo
A = InputBox("Immetti un numero")
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica
Il Diagramma di Flusso Docente: Maria Savina Rossi Alunne:
Unità D2 Dal problema all’algoritmo
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica
Informatica CdL Scienze e Tecniche Psicologiche a.a
Informatica CdL Scienze e Tecniche Psicologiche a.a
La programmazione strutturata
Algoritmi.
ALGORITMO E’ una successione finita di passi che consente di risolvere tutti i problemi di una classe e di determinare il risultato. Caratteristiche: Finito.
Transcript della presentazione:

IL CONCETTO DI ALGORITMO

Un algoritmo è un elenco finito di istruzioni univocamente interpretabili ,ciascuna delle quali deve essere precisamente definita e la cui esecuzione si arresta per fornire i risultati di una classe di problemi per ogni valore dei dati di ingresso.

Proprietà di un algoritmo Non ambiguità: le istruzioni devono essere univocamente interpretabili dall’esecutore dell’algoritmo Eseguibilità: l’esecutore deve essere in grado di eseguire ogni istruzione in un tempo finito. Finitezza: l’esecuzione di un algoritmo deve terminare in un tempo finito per ogni insieme di valori in ingresso.

Oggi con il termine algoritmo si indica la sequenza finita di passi effettuabili per risolvere una classe di problemi in un tempo finito.

Definizione di problema Un problema è un quesito nel cui enunciato si forniscono i dati necessari per giungere ,mediante calcoli o elaborazioni ,alla soluzione richiesta nell’enunciato stesso.

Che cosa significa risolvere un problema ? Dal punto di vista informatico ,risolvere un problema significa ricercare ed esprimere un elenco di istruzioni (algoritmo) che ,interpretate da un esecutore,conducano da determinate informazioni iniziali (dati) a informazioni finali (risultati).

Entità coinvolte Nel processo di risoluzione di un problema, sono generalmente coinvolte le seguenti entità: Committente :colui che pone il quesito. Risolutore: colui che mette a punto l’algoritmo stabilendo quali calcoli e/o elaborazioni sono necessarie per ottenere i risultati richiesti. Esecutore: chi, uomo o macchina, esegue l’algoritmo Utente:chi fornisce i dati iniziali all’ esecutore e attende i risultati.

Differenza fra risultato e soluzione Risultato :è costituito dall’insieme dei dati finali. Soluzione:è l’algoritmo che permette di ottenere i risultati. Definizione di istruzione L’istruzione è un comando elementare che dice all’esecutore qual è l’operazione da eseguire in quel momento.

Differenza fra classe di problemi e istanza di problema Una classe di problemi è un problema nel cui enunciato almeno un dato è fornito in forma generica (parametro) Un’ istanza di problema è un problema nel cui enunciato tutti i dati sono forniti tramite valori specifici(costanti)

Per esempio l’enunciato “Calcolare l’area di un rettangolo di base B e altezza H “rappresenta una classe di problemi ,mentre “Calcolare l’area di un rettangolo di base 4 e altezza 6 “ è una delle infinite istanze della stessa classe di problemi.

Definizione di programma Il programma è un algoritmo espresso con un linguaggio di programmazione (Pascal,C,C++.Java,..)

I dati su cui opera un algoritmo sono costanti e variabili Un dato è costante quando il suo valore non può essere aggiornato durante l’esecuzione dell’algoritmo Una variabile è una coppia <nome , valore> :può essere immaginata come una scatola sulla quale è scritto un nome e che può contenere un valore NOME

Un formalismo che permette di rappresentare gli algoritmi è il diagramma di flusso E’ composto da una serie di blocchi contenenti le istruzioni e connessi mediante frecce. Ogni blocco ha un ramo di ingresso e uno o più rami di uscita.

Le forme dei blocchi sono: Rettangolo :indica una operazione(ad esempio un assegnamento) A B

Rombo:indica una diramazione ,cioè la verifica di una condizione Rombo:indica una diramazione ,cioè la verifica di una condizione .Se la condizione è vera si seguirà il ramo vero(true) altrimenti si seguirà il ramo falso (false) Condizione True False

Parallelogramma: indica una operazione di ingresso o uscita Leggi Num

Ciclo While Do Condizione Falso Vero Istruzione

Ellissi: indica l’inizio o la fine dell’algoritmo.

Esempio di algoritmo con i diagrammi di flusso:” dati in input due numeri interi stabilire il più grande tra i due “ Inizio A,B Vero Falso A>B A B Fine

Traduzione in Pascal dell’algoritmo precedente Program calcola_max; Var A,B: integer; Begin Writeln (‘Inserisci il 1° numero’); Readln (A); Writeln (‘Inserisci il 2° numero’); Readln (B); IF A > B Then Writeln (A) Else Writeln (B); End.