Definizione di algoritmo
|
|
|
- Luisa Damiani
- 9 anni fa
- Visualizzazioni
Transcript
1 L algoritmo Il termine algoritmo deriva da AL-KWHARIZMI, matematico arabo vissuto nell VIII secolo d.c. considerato il padre dell algebra. In realtà i primi algoritmi risalgono a 4000 anni fa e sono descritti nelle prime tavolette dell antica Mesopotamia e riguardano operazioni di misurazione della superficie quadrata. Il termine algoritmo è tutt ora utilizzato come sinonimo di: Procedura effettiva; Procedimento di calcolo; Metodo di risoluzione di un problema Insieme di regole per eseguire una determinata operazione
2 Definizione di algoritmo E un insieme di istruzioni elementari che consentono di risolvere il problema trasformando i dati iniziali del problema stesso nel risultato, cioè nell insieme dei dati finali che rappresentano la soluzione CARATTERISTICHE: 1. FINITO: l algoritmo deve essere composto da un numero finito di passi elementari che vengono eseguiti un numero finito di volte; 2. DETERMINISTICO: deve portare sempre allo stesso risultato; 3. REALIZZABILE: le istruzioni si devono poter effettuare; 4. GENERALE: deve risolvere una famiglia di problemi: 5. NON AMBIGUO: i passi che compongono l algoritmo devono essere interpretabili in modo univoco
3 Componenti di un algoritmo Dati iniziali e finali: sono gli elementi (iniziali o in ingresso) che vengono elaborati dall algoritmo e i risultati prodotti dall algoritmo (finali o in uscita) Istruzioni: sono i passi elementari da eseguire Dati di input Algoritmo Dati di output Ad ogni dato è associato un nome che lo identifica in modo univoco come, per esempio, area, lato, nome, ed è sempre buona norma dare ai dati nomi significativi che permettano di comprenderne il significato.
4 I dati e la loro classificazione Ci sono diversi modi di classificare i dati: In base alla modalità di interazione con l elaboratore; A seconda degli oggetti che rappresentano; In base alla possibilità di cambiare il valore del dato durante l esecuzione dell algoritmo
5 I dati e la loro classificazione Modalità di interazione con l elaboratore Input: dati forniti dall esterno e noti al momento dell esecuzione; Output: dati calcolati dall elaboratore e comunicati all esterno Interni o di lavoro: utlizzati dall algoritmo, trasparenti all utente e non vengono comunicati in output.
6 I dati e la loro classificazione A seconda degli oggetti che rappresentano possono essere di tre tipi; Numerici (interi o reali): contengono numeri, possono essere utilizzati per fare le operazioni aritmetiche; Alfanumerici: detti anche stringhe, contengono caratteri alfabetici, speciali e cifre non utilizzabili per le operazioni aritmetiche. Es: numero dell autobus, numero di telefono, p.iva, ecc Logici e booleani: possono valere VERO o FALSO e sono utlizzati quando si vuole indicare la possibilità di scelta tra due opzioni.
7 I dati e la loro classificazione In base alla possibilità di cambiare il valore del dato durante l esecuzione dell algoritmo si classificano come: Costanti: il valore del dato è immutato nel tempo. Variabili: il valore del dato può cambiare. Es. Calcolo dell area di un cerchio di cui si conosce il raggio. Area = raggio * raggio * π VARIABILE DI INPUT VARIABILE DI OUTPUT COSTANTE Fisicamente le variabili risiedono in memoria centrale: ad ogni variabile sono assegnate celle contigue in grado di memorizzare il valore.
8 Le istruzioni Sono i passi elementari che compongono l algoritmo e permettono di dare comandi all esecutore (computer) Istruzione di lettura (leggi) permette di assegnare ad una variabile un valore tramite la sua digitazione sulla tastiera del computer Istruzione di scrittura (scrivi) permette di visualizzare a video un messaggio o il valore della variabile Istruzione di assegnazione (=) permette di assegnare un valore ad una variabile. Tutte le volte che viene scritta un operazione di assegnazione è necessario assicurarsi che le variabili siano state inizializzate con un valore (non necessariamente lo zero)
9 Esempi di assegnazione A = 10; nome = Maria. Alla variabile viene assegnato un valore determinato (costante) A = B. Se B ha valore 5 anche A avrà lo stesso valore A = ( k + 3 ) / 2. Alla variabile A è assegnato il risultato dell espressione.
10 Rappresentazione degli algoritmi. Un modo semplice e intuitivo per rappresentare gli algoritmi potrebbe essere quello di numerare i passi, ma non è un metodo universale. Il metodo più diffuso è quello di assegnare ad ogni simbolo un preciso tipo di operazione Flow-chart o diagramma di flusso. INIZIO / FINE OPERAZIONE DI ASSEGNAZIONE LETTURA / SCRITTURA
11 Verifica degli algoritmi Dopo aver definito la sequenza di istruzioni necessarie per risolvere il problema dato, non abbiamo nessuno strumento che ci assicuri che la soluzione adottata sia corretta almeno fino a quando non saremo in grado di fare eseguire il programma dal computer. Per valutare la validità dell algoritmo è utile la sua simulazione o prova logica che si esegue seguendo passo passo l algoritmo, proprio come si comporterà il computer dovendo eseguire il programma.
12 Programmazione strutturata Gli schemi o strutture presenti in un algoritmo sono: struttura di sequenza struttura di selezione struttura di iterazione Quando nella programmazione si fa uso di queste strutture, la programmazione si dice strutturata. Le tecniche di questa programmazione nascono a metà degli anni sessanta, quando al crescere della attività di progettazione del software, si sentì la necessità di fornire regole nella progettazione in modo che i lavori prodotti fossero non solo più leggibili ma anche più manutenibili (cioè modificabili nel tempo). Il teorema di Böhm-Jacopini afferma: qualsiasi algoritmo può essere definito usando esclusivamente le strutture di sequenza, selezione e iterazione
13 Struttura sequenziale e di selezione STRUTTURA SEQUENZIALE: le operazioni descritte vanno eseguite una dopo l altra, secondo l ordine con cui son definite. STRUTTURA DI SELEZIONE: permette di impostare percorsi diversi in base a condizioni che possono essere o meno verificate nel corso dell esecuzione stessa. La condizione dovrà essere scritta secondo regole precise: saranno confrontate due espressioni tramite un operatore logico ( = > < <> >= <=).
14 Tipi di selezione Semplice a una via: se la condizione è vera allora Esercizio: dati in input il nome e l età di una persona stampa il nome e la scritta MAGGIORENNE se la persona è maggiorenne. Semplice a due vie : se la condizione è vera allora altrimenti.. Esercizio: dato in input un numero calcola il cubo se è maggiore di zero, il quadrato in caso contrario. In cascata: due o più condizioni. Esercizio: dato in input il nome e il prezzo di un prodotto, calcola e stampa il prezzo da pagare sapendo che se il prezzo è superiore a 3000 euro applichi il 6% di sconto e, inoltre, se il pagamento avviene in contanti, applica un ulteriore 2% di sconto. Visualizzare il prezzo aggiornato.
15 Tipi di selezione Annidata: la seconda condizione è presa in considerazione solo se la prima è vera Esercizio:dati due numeri se sono entrambi positivi farne la somma, altrimenti il prodotto. Composta: due condizioni con operatore AND. Esercizio: di una persona vengono forniti il nome e la data di nascita: stampa un messaggio di buon compleanno se compie gli anni nel giorno corrente
16 I dati in VB.NET Variabili: per definire le variabili è necessario usare la parola chiave DIM seguita dal nome e dal tipo. Il nome serve per poterla richiamare all interno del programma, il tipo indica il tipo di dato che potrà contenere. Ecco alcuni esempi: Dim I as integer Dim area as single Dim distanza as double Dim sesso as char Dim nome as string Dim risposta as boolean Costanti: vengono dichiarate facendo precedere la parola CONST e assegnando subito un valore. Const intestazione= Mio programma Const pigreco= 3.14 Const iva = 21
17 ISTRUZIONI DI INPUT/OUTPUT Vengono gestite tramite gli oggetti disponibili nel linguaggio: i più usati sono caselle di testo da inserire nel form e finestre di dialogo. GESTIONE DELL INPUT Casella di testo (textbox): la proprietà text rappresenta il valore contenuto nella casella. E di tipo string per cui se si deve effettuare la lettura di un numero lo si deve convertire da stringa a numerico con la funzione VAL. Es. nome=txtcasella.text numero = val(txtcasella.text) Inputbox (finestra di dialogo) consiste in una finestra con all interno una textbox e un messaggio di testo. Es. numero = val(inputbox( dammi il numero ))
18 ISTRUZIONI DI INPUT/OUTPUT GESTIONE DELL OUTPUT Etichetta (label) Es. label.text = nome Casella di testo (textbox) Es. casella.text = nome Msgbox (finestra di dialogo) può contenere il messaggio da visualizzare e concatenare il valore di una variabile da visualizzare o un altro messaggio. Es. msgbox ( il nome è: & nome)
19 Assegnazione in VB.NET Sono contrassegnate dal simbolo =. Var1 = costante Var1 = var2 Var1 = var1 + var2 Var1 = espressione Per evitare problemi è necessario che ciò che compare sulla destra dell = sia dello stesso tipo di ciò che compare a sinistra. Nelle istruzioni di assegnazione possono comparire gli operatori aritmetici per eseguire dei calcoli. (+, -, *, /, mod). Un particolare tipo di assegnazione in VisualBasic è la concatenazione di stringhe con &
20 Esercizi 1. Data la base e l altezza di un rettangolo, calcolare l area e il perimetro 2. Dato il nome e l anno di nascita di una persona, visualizzare l età. 3. Scrivere un programma che calcoli e visualizzi l ammontare della bolletta della luce di un utente, ricevendo in input il nome dell utente, il numero di Kwh della lettura precedente e il numero di kwh della lettura attuale. L ammontare della bolletta è dato dalla quota fissa, che deve esser fornita in input e dall importo relativo al consumo, considerando costante il costo per kwh ( euro 0,07 per kwh)
21 Strutture iterative La struttura iterativa (di ripetizione) consente di ripetere più volte la stessa istruzione o blocco di istruzioni finchè si verifica una determinata condizione. Viene chiamata anche struttura ciclica. Esistono due tipi di strutture iterative: Con il controllo in testa (precondizionale) Con il controllo in coda (postcondizionale)
22 Struttura iterativa precondizionale Struttura iterativa con controllo in testa (precondizionale). L iterazione potrebbe non essere mai eseguita e ciò accade quando la condizione di ciclo risulta falsa in partenza: Do While condizione Istruzione Loop è una istruzione o un blocco di istruzioni e viene eseguita fintanto che la condizione risulta vera
23 Struttura iterativa postcondizionale Struttura iterativa con controllo in coda (postcondizionale). L iterazione viene eseguita almeno una volta. Do Istruzione1 vengono eseguite in sequenza fintanto Istruzione2 che la condizione risulta falsa Istruzione N Loop until condizione
24 Il concetto di accumulatore e contatore Contatore è la variabile che si incrementa o decrementa all interno di un ciclo per calcolare il numero di volte che viene ripetuto un blocco di istruzioni. Accumulatore è la variabile usata per totalizzare un certo valore all interno di un ciclo. Esempio: media di N numeri.
25 Esercizi con strutture iterative 1. Scrivere un programma che visualizzi la tabellina del 2, a partire dal numero 2 e fino al numero Scrivere un programma che visualizza la successione dei numeri interi a partire da 1, finchè non rispondi negativamente alla domanda vuoi continuare? 3. Calcola la media dei voti di uno studente 4. Calcola quanto spendi in un negozio acquistando un certo numero di prodotti. Conosci il numero di prodotti che hai acquistato e, per ogni prodotto, inserisci il costo 5. Dati in input N numeri (N > 0), segnalare quanti sono i numeri positivi e quanti i numeri negativi. Visualizzare inoltre la somma dei positivi e dei negativi
26 Il record Ricordate che cos è un vettore? Un vettore è una variabile strutturata, formata da più elementi tutti dello stesso tipo. Contiene quindi dati omogenei. A volte c è la necessità di rappresentare dati di tipo diverso. Esempio: per rappresentare i dati di una persona è necessario avere a disposizione una variabile nome, (stringa) una variabile indirizzo,(stringa) una variabile età, (intero)tutte viste come un unica entità PERSONA. Il record è una variabile strutturata composta da elementi non omogenei, detti campi. Esempio PERSONA è un record composto dai campi nome, indirizzo, età.
27 La tabella E un vettore nel quale gli elementi sono record contenenti dati non omogenei tra di loro. Esempio: il listino prezzi di un bar è costituito da tanti elementi (uno per ogni prodotto) ciascuno dei quali è suddiviso in descrizione e prezzo. LISTINO indice descrizione Caffè Cappuccino Thè prezzo 1,00 1,20 1,50 Per accedere ad un campo è necessario definire l indice della tabella (i) e il nome dl campo di interesse, per esempio listino(i).prezzo.
28 Record e tabelle in VisualBasic Public Structure PERSONA Dim nome as String Dim indirizzo as String Dim eta as integer End Structure La dichiarazione di un tipo record definisce la struttura dei dati ma non contiene dati. Occorre quindi definire una variabile di tipo PERSONA in questo modo Dim Pers as PERSONA Per assegnare un valore ad un campo di Pers si scrive: Pers.nome= Rossi. Per eseguire operazioni su più campi del record si scrive: Pers.nome=txtnome.text Pers.indirizzo=txtinidirizzo.text Pers.eta=txteta.text With Pers.nome=txtnome.text.indirizzo=txtindirizzo.text.eta=txteta.text.End With
29 Record e tabelle in VisualBasic Quando è necessario memorizzare queste informazioni per diverse persone si può dichiarare un array di record, cioè una tabella: Dim Agenda(19) as PERSONA Se l indice della tabella è I, ricordando che l indice della prima componente è zero, i riferimenti ai campi si scrivono: Agenda(i).nome Agenda(i).indirizzo Agenda(i).età Oppure: With Agenda(i) End With.nome =txtnome.text.indirizzo=txtindirizzo.text.eta=txteta.text
Algoritmi e soluzione di problemi
Algoritmi e soluzione di problemi Dato un problema devo trovare una soluzione. Esempi: effettuare una telefonata calcolare l area di un trapezio L algoritmo è la sequenza di operazioni (istruzioni, azioni)
PROBLEMI ALGORITMI E PROGRAMMAZIONE
PROBLEMI ALGORITMI E PROGRAMMAZIONE SCIENZE E TECNOLOGIE APPLICATE CLASSE SECONDA D PROGRAMMARE = SPECIFICARE UN PROCEDIMENTO CAPACE DI FAR SVOLGERE AD UNA MACCHINA UNA SERIE ORDINATA DI OPERAZIONI AL
Introduzione alla programmazione Algoritmi e diagrammi di flusso. Sviluppo del software
Introduzione alla programmazione Algoritmi e diagrammi di flusso F. Corno, A. Lioy, M. Rebaudengo Sviluppo del software problema idea (soluzione) algoritmo (soluzione formale) programma (traduzione dell
Strutture di Controllo
Introduzione Strutture di Controllo per strutture condizionali e cicliche Quando si affronta la programmazione si devono indicare al computer delle istruzioni da eseguire. Se il computer potesse comprendere
Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe.
Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe. 1) Comprendere il problema 2) Stabilire quali sono le azioni da eseguire per risolverlo 3) Stabilire la
Come ragiona il computer. Problemi e algoritmi
Come ragiona il computer Problemi e algoritmi Il problema Abbiamo un problema quando ci poniamo un obiettivo da raggiungere e per raggiungerlo dobbiamo mettere a punto una strategia Per risolvere il problema
Dal Problema all Algoritmo. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni
Dal Problema all Algoritmo Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Cosa Impareremo Informazioni e codici Definizione e soluzione di un problema Individuazione dei dati Definizione
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.)
Elaboratore Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni sui dati digitale l informazione è rappresentata in forma numerica
Strutture dati e loro organizzazione. Gabriella Trucco
Strutture dati e loro organizzazione Gabriella Trucco Introduzione I linguaggi di programmazione di alto livello consentono di far riferimento a posizioni nella memoria principale tramite nomi descrittivi
Rappresentazione con i diagrammi di flusso (Flow - chart)
Rappresentazione con i diagrammi di flusso (Flow - chart) Questo tipo di rappresentazione grafica degli algoritmi, sviluppato negli anni 50, utilizza una serie di simboli grafici dal contenuto evocativo
VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.
Excel VBA VBA Visual Basic for Application VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. 2 Prima di iniziare. Che cos è una variabile?
UD 3.2b: Programmazione in Pascal (1)
UD 3.2b: Programmazione in Pascal (1) Il Linguaggio di Programmazione Pascal Esistono molti linguaggi di programmazione. Per motivi didattici utilizzeremo una versione ridotta di un linguaggio di programmazione
Algoritmi e diagrammi di flusso
Algoritmi e diagrammi di flusso Pablo Genova [email protected] I. I. S. Angelo Omodeo Mortara Indirizzo Tecnico-Economico A. S. 2015 2016 Cos'è un algoritmo? Algoritmo: procedimento che risolve
Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura
Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE Francesco Tura [email protected] 1 Lo strumento dell informatico: ELABORATORE ELETTRONICO [= calcolatore = computer] Macchina multifunzionale Macchina
Modulo 1 Concetti di base della Tecnologia dell Informazione
Modulo 1 Concetti di base della Tecnologia dell Informazione 1.0.1.1 1.0.1.2 1.0.1.3 Algoritmi Definizione di algoritmo e sua rappresentazione grafica Per algoritmo si intende un procedimento, che permette
Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Termine algoritmo da:
Algoritmi Algoritmi Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Termine algoritmo da: http://it.wikipedia.org/wiki/al-khwarizmi Un
VBA Principali Comandi
VBA Principali Comandi Sintassi Significato Esempio Dim As Dichiarazione Dim x As Integer di una variabile Dim , , ,.,
Corso di Informatica di Base
Corso di Informatica di Base A.A. 2011/2012 Algoritmi e diagrammi di flusso Luca Tornatore Cos è l informatica? Calcolatore: esecutore di ordini o automa Programma: insieme di istruzioni che possono essere
Algoritmi. Pagina 1 di 5
Algoritmi Il termine algoritmo proviene dalla matematica e deriva dal nome di in algebrista arabo del IX secolo di nome Al-Khuwarizmi e sta ad indicare un procedimento basato su un numero finito operazioni
Corso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a
Dott.ssa Maria Carmela De Bonis a.a. 2013-14 Programmi Un elaboratore riceve dei dati in ingresso, li elabora secondo una sequenza predefinita di operazioni e infine restituisce il risultato sotto forma
Sviluppo di programmi
Sviluppo di programmi Per la costruzione di un programma conviene: 1. condurre un analisi del problema da risolvere 2. elaborare un algoritmo della soluzione rappresentato in un linguaggio adatto alla
Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore
Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori Elementi di Programmazione Algoritmi e programmi Algoritmo Sequenza
in termini informali: un algoritmo è una sequenza ordinata di operazioni che risolve un problema specifico
Click to edit Algoritmo Master title style algoritmo: un insieme ordinato di operazioni non ambigue ed effettivamente computabili che, quando eseguito, produce un risultato e si arresta in un tempo finito
PROBLEMI E ALGORITMI VESPIA CATERINA LICEO CLASSICO AGLI ANGELI
PROBLEMI E ALGORITMI prof.ssa VESPIA CATERINA LICEO CLASSICO AGLI ANGELI C O N T E N U T I Problemi. Concetto di algoritmo. Caratteristiche di un algoritmo. Descrizione di algoritmi - Diagrammi di flusso.
VISUAL BASIC FOR APPLICATION
VISUAL BASIC FOR APPLICATION LA PIATTAFORMA DI SVILUPPO GLI ELEMENTI DI VBA Finestra di progetto: mostra l elenco gerarchico dei progetti aperti e di tutti i moduli di codice e finestre di interfaccia
Dalla prima lezione. LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 7 VARIABILI E COSTANTI 28/02/2016. Concetto di algoritmo
LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 7 VARIABILI E COSTANTI Marco Lapegna Dipartimento di Matematica e Applicazioni Universita degli Studi di Napoli Federico II wpage.unina.it/lapegna
Diagrammi di flusso. Un metodo per rappresentare graficamente gli algoritmi. sotto programma. Input/ Output. Start. predicato Elaborazione Stop
Diagrammi di flusso Un metodo per rappresentare graficamente gli algoritmi. Input/ Output sotto programma Start predicato Elaborazione Stop La programmazione strutturata Un algoritmo è strutturato in blocchi
PROGRAMMAZIONE: Le strutture di controllo
PROGRAMMAZIONE: Le strutture di controllo Prof. Enrico Terrone A. S: 2008/09 Le tre modalità La modalità basilare di esecuzione di un programma è la sequenza: le istruzioni vengono eseguite una dopo l
Dall algoritmo al programma
Dall algoritmo al programma Il concetto di algoritmo Un algoritmo è una sequenza di passi necessari per risolvere un problema o eseguire una computazione In alcuni casi, lo stesso problema/computazione
6 - Blocchi e cicli. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
6 - Blocchi e cicli Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://pages.di.unipi.it/milazzo milazzo di.unipi.it
Sistemi Web per il turismo - lezione 3 -
Sistemi Web per il turismo - lezione 3 - Software Si definisce software il complesso di comandi che fanno eseguire al computer delle operazioni. Il termine si contrappone ad hardware, che invece designa
Programmazione in Java (I modulo)
Programmazione in Java (I modulo) Lezione 4 Variabili di tipo primitivo. Dichiarazione di costanti Conversioni di tipo: operatore cast Altri operatori di assegnamento Operazioni aritmetiche e di confronto
DESCRIZIONI RIGOROSE c7
DESCRIZIONI RIGOROSE c7 Es. cucinare la pasta asciutta per una famiglia La descrizione rigorosa della strategia risolutiva prevede Analisi del problema (con chiara individuazione degli obiettivi e dei
= < < < < < Matematica 1
NUMERI NATURALI N I numeri naturali sono: 0,1,2,3,4,5,6,7,8,9,10,11,12,13,... L insieme dei numeri naturali è indicato con la lettera. Si ha cioè: N= 0,1,2,3,4,5,6,7,.... L insieme dei naturali privato
Diagrammi a blocchi 1
Diagrammi a blocchi 1 Sommario Diagrammi di flusso, o a blocchi. Analisi strutturata. Esercizi. 2 Diagrammi a blocchi È un linguaggio formale di tipo grafico per rappresentare gli algoritmi. Attraverso
Caratteristiche di un linguaggio ad alto livello
Caratteristiche di un linguaggio ad alto livello Un linguaggio ad alto livello deve offrire degli strumenti per: rappresentare le informazioni di interesse dell algoritmo definire le istruzioni che costituiscono
LA METAFORA DELL UFFICIO
LA METAFORA DELL UFFICIO Lavagna di lavoro Lavagna di programma Sportello utenti Impiegato Capo Ufficio LAVAGNA DI LAVORO Chiamiamo variabili le posizioni sulla lavagna, identificate ognuna da un nome
RAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO
RAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO Rappresentazione degli algoritmi Problema Algoritmo Algoritmo descritto con una qualche notazione Programma Defne del procedimento
Introduzione agli algoritmi e alla programmazione in VisualBasic.Net
Introduzione agli algoritmi e alla programmazione in VisualBasic.Net Definizione di utente e di programmatore L utente è colui che usa il computer anche se non è in grado di programmarlo. Il programmatore
1 Esercizi in pseudocodice
Questa dispensa propone esercizi sulla scrittura di algoritmi in un linguaggio semiformale, utile all acquisizione delle abilità essenziali per implementare algoritmi in qualsiasi linguaggio di programmazione.
Indice. Prefazione. 3 Oggetti e Java 53
Prefazione xv 1 Architettura dei calcolatori 1 1.1 Calcolatori e applicazioni 1 1.1.1 Alcuni esempi di applicazioni 3 1.1.2 Applicazioni e interfacce 4 1.2 Architettura dei calcolatori 7 1.2.1 Hardware
PROGRAMMAZIONE STRUTTURATA
PROGRAMMAZIONE STRUTTURATA Programmazione strutturata 2 La programmazione strutturata nasce come proposta per regolamentare e standardizzare le metodologie di programmazione (Dijkstra, 1965) Obiettivo:
Algoritmi e Programmi
Algoritmi e Programmi Algoritmi e Programmi Le azioni che si compiono ogni giorno sono finalizzate alla risoluzione di problemi. Problema di elaborazione Insieme dati di partenza Risultato ricerca Algoritmi
Diagrammi a blocchi 1
Diagrammi a blocchi 1 Sommario Diagrammi di flusso, o a blocchi." Analisi strutturata." Esercizi. 2 Diagrammi a blocchi È un linguaggio formale di tipo grafico per rappresentare gli algoritmi." Attraverso
3. Indicare cosa sta a significare la figura geometrica del rombo in un diagramma a blocchi
0.1.1.1 Definire un algoritmo 1. Con il termine algoritmo si intende: a) il software utilizzato in un calcolatore b) l elenco finito di istruzioni necessario per risolvere un problema c) un elaboratore
MODULO 4: LE STRUTTURE ITERATIVE: FOR, WHILE E DO LOOP UNTIL
MODULO 4: LE STRUTTURE ITERATIVE: FOR, WHILE E DO LOOP UNTIL La struttura di ripetizione o iterativa o ciclo Essa, in generale, consente di ripetere l esecuzione di una porzione di algoritmo più volte,
Laboratorio di Informatica. Esercitazione su algoritmi e diagrammi di flusso
Laboratorio di Informatica Esercitazione su algoritmi e diagrammi di flusso Algoritmi, programmi e dati Algoritmo = insieme di istruzioni che indicano come svolgere operazioni complesse su dei dati attraverso
DAL DIAGRAMMA AL CODICE
DAL DIAGRAMMA AL CODICE Un diagramma di flusso Appare, come un insieme di blocchi di forme diverse che contengono le istruzioni da eseguire, collegati fra loro da linee orientate che specificano la sequenza
LA METAFORA DELL UFFICIO
LA METAFORA DELL UFFICIO Lavagna di lavoro Lavagna di programma Sportello utenti Impiegato Capo Ufficio LAVAGNA DI LAVORO Chiamiamo variabili le posizioni sulla lavagna, identificate ognuna da un nome
Le Strutture di controllo Del Linguaggio C. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni
Le Strutture di controllo Del Linguaggio C Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni STRUTTURE DI CONTROLLO PRIMITIVE SEQUENZA SELEZIONE (o scelta logica) ITERAZIONE NON PRIMITIVE
Dati aggregati. Violetta Lonati
Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica - in breve: Definizione di tipi Array Stringhe Strutture
Variabili. Unità 2. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER
Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi Docenti Metodi Numerici prof. Vittoria Bruni [email protected] Programmazione prof. Domenico
Il concetto di calcolatore e di algoritmo
Il concetto di calcolatore e di algoritmo Elementi di Informatica e Programmazione Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Informatica
DEFINIZIONI SMART E RELATIVE ESERCITAZIONI
DEFINIZIONI SMART E RELATIVE ESERCITAZIONI A B C D E 1 2 3 4 5 6 7 8 9 MODULO 3 Creazione e gestione di fogli di calcolo MODULO 3 CREAZIONE E GESTIONE DI FOGLI DI CALCOLO Gli elementi fondamentali del
Un esempio per iniziare. Il controllo del programma in C. Altri cenni su printf() Esercizi (printf) printf( 8!=%d, fatt);
Un esempio per iniziare Il controllo del programma in C DD Cap.3 pp.91-130 /* calcolo di 8!*/ #include #define C 8 int main() int i=1; int fatt=1; while (i
Introduzione alla programmazione Esercizi risolti
Esercizi risolti 1 Esercizio Si determini se il diagramma di flusso rappresentato in Figura 1 è strutturato. A B C D F E Figura 1: Diagramma di flusso strutturato? Soluzione Per determinare se il diagramma
Costrutti condizionali e iterativi
Costrutti condizionali e iterativi Introduction to Fortran 90 Paolo Ramieri, CINECA Aprile 2014 Strutture di controllo Le strutture di controllo permettono di alterare la sequenza di esecuzione delle istruzioni
Lezione 5. La macchina universale
Lezione 5 Algoritmi Diagrammi di flusso La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale=
28/02/2014 Copyright V. Moriggia
Informatica per la Finanza 3 Le variabili in VBA Altri I/O 28/02/2014 Copyright 2005-2007 V. Moriggia 1 28/02/2014 3.2 Le variabili in VBA V. Moriggia 1 28/02/2014 3.3 Dichiarazione di variabili in VBA
Algebra di Boole: Concetti di base. E un algebra basata su tre operazioni logiche
Fondamenti di Informatica Algebra di Boole: Concetti di base Fondamenti di Informatica - D. Talia - UNICAL Algebra di Boole E un algebra basata su tre operazioni logiche OR AND NOT Ed operandi che possono
Algoritmi e loro proprietà. Che cos è un algoritmo? Un esempio di algoritmo
1 Cos è l informatica? L informatica è la scienza della rappresentazione e dell elaborazione dell informazione Algoritmi e loro proprietà Proprietà formali degli Algoritmi Efficienza rispetto al tempo
Programma svolto di INFORMATICA. Classe 3 - indirizzo MERCURIO A.S. 2009/2010
ISTITUTO TECNICO COMMERCIALE N. DELL ANDRO - Santeramo in Colle (BA) Programma svolto di INFORMATICA Classe 3 - indirizzo MERCURIO A.S. 2009/2010 Proff. Rosalia Barbara Schiavarelli, Antonio Antonicelli
Esercitazione 3. Espressioni booleane I comandi if-else e while
Esercitazione 3 Espressioni booleane I comandi if-else e while Esercizio Si consideri la seguente istruzione: if (C1) if (C2) S1; else S2; A quali delle seguenti interpretazioni corrisponde? if (C1) if
UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA. Introduzione alla programmazione
UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA Introduzione alla programmazione Riferimenti Emanuele Goldoni Laboratorio Reti (MN) Tel. 0376-286234 E-mail: [email protected] Slide sul sito
2. Algoritmi e Programmi
12 2. Algoritmi e Programmi Dato un problema, per arrivare ad un programma che lo risolva dobbiamo: individuare di cosa dispongo: gli input; definire cosa voglio ottenere: gli output; trovare un metodo
Esempio di Patto Formativo per la classe terza
Esempio di Patto Formativo per la classe terza COMPETENZE TRASVERSALI rispettare le consegne e la puntualità nell esecuzione dei compiti assegnati lavorare costruttivamente in gruppo e individualmente
Variabili e Istruzioni
Exit Menù Variabili e Istruzioni 1 Le Variabili Una VARIABILE è un oggetto identificato da un NOME e da uno STATO, detto CONTENUTO o VALORE. Possiamo immaginarla come una scatola contenuto Pippo 11 nome
Lezione 7: La Formalizzazione degli Algoritmi - Strutture di Controllo e Selettive La Programmazione Strutturata (3 p) Giovedì 21 Ottobre 2010
Università di Salerno Corso di FONDAMENTI DI INFORMATICA Corso di Laurea Ingegneria Corso B Docente : Ing. Anno Accademico 2010-2011 Lezione 7: La Formalizzazione degli Algoritmi - Strutture di Controllo
Concetti Introduttivi. Il Computer
Concetti Introduttivi Il Computer Introduzione Informazione Notizia, dato o elemento che consente di avere conoscenza più o meno esatta di fatti, situazioni, modi di essere Messaggio Tutto ciò che porta
Laboratorio di Programmazione
Laboratorio di Programmazione Laurea in Bioinformatica Docente: Carlo Drioli Web: www.scienze.univr.it/fol/main?ent=oi&id=39990 Programmazione: Dati Strutture di controllo Algoritmi Materiale tratto dai
VARIABILI E COSTANTI
VARIABILI E COSTANTI - Variabili e costanti - 1 PROBLEMA: Calcolo dell area di un triangolo di base b e altezza h. area = b ------------ h 2 ESEMPIO: b = 2,4 h = 1,5 area = 2,4 -------------------- 1,5
Dispensa di Informatica II.1
ALGORITMI La dispensa di seguito proposta si pone come tutorial per poter porre le basi per la realizzazione di algoritmi che poi potranno eventualmente essere sviluppati in moduli software con metodologia
La ricerca dicotomica
La ricerca dicotomica Se l array è ordinato, la ricerca di un elemento può essere realizzata in modo più efficiente rispetto alla ricerca sequenziale, utilizzando la ricerca dicotomica. Si usa il termine
Linguaggi di programmazione - Principi e paradigmi 2/ed Maurizio Gabbrielli, Simone Martini Copyright The McGraw-Hill Companies srl
Approfondimento 2.1 Non è questo il testo dove trattare esaurientemente queste tecniche semantiche. Ci accontenteremo di dare un semplice esempio delle tecniche basate sui sistemi di transizione per dare
Capitolo 3 L elaborazione e la strutturazione dell informazione
Capitolo 3 L elaborazione e la strutturazione dell informazione Problemi e algoritmi Definire il problema Eliminare le ambiguità nella formulazione del problema Individuare il risultato che si vuole ottenere,
Algoritmi e basi del C Struttura di un programma
Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio [email protected] Ver. aggiornata al 17 Marzo 2015 Compitini Compitini di INFO: 24 Aprile 2015 4.15pm @ C.G.1 (Ed. 9) 21
Formalismi per la descrizione di algoritmi
Formalismi per la descrizione di algoritmi Per descrivere in passi di un algoritmo bisogna essere precisi e non ambigui Il linguaggio naturale degli esseri umani si presta a interpret non univoche Si usano
Sviluppo di programmi. E ora, finalmente. Si comincia! 1. Analizzare il problema. 2. Progettare una soluzione (1) E necessario capire:
Sviluppo di programmi Per scrivere un programma C corretto bisogna: E ora, finalmente Si comincia! DD Cap. pp.4974 Analizzare il problema (input, output, casi estremali) 2. Progettare una soluzione (algoritmo)
Matlab : le basi. Vediamo ora un esercizio di calcolo: Il volume di una sfera è dato da V=4*π*r 3 /3 dove r è il raggio.
Matlab : le basi Vediamo ora un esercizio di calcolo: Il volume di una sfera è dato da V=4*π*r 3 /3 dove r è il raggio. Usare Matlab per calcolare il raggio di una sfera che ha un volume maggiore del 30%
PROGRAMMA EFFETTIVAMENTE SVOLTO
A.S. 2015/2016 CLASSE 2 SEZ P PROGRAMMA EFFETTIVAMENTE SVOLTO DOCENTE Prof. Massimo Leone DISCIPLINA Informatica UDA1: Dal problema al programma. Le strutture di controllo Definizione di algoritmo Le operazioni
Descrizione delle operazioni di calcolo. Espressioni costanti semplici
Descrizione delle operazioni di calcolo Come abbiamo detto l interprete è in grado di generare nuovi valori a partire da valori precedentemente acquisiti o generati. Il linguaggio di programmazione permette
Algoritmi e dintorni: La radice quadrata Prof. Ettore Limoli. Formule iterative
Algoritmi e dintorni: La radice quadrata Prof. Ettore Limoli Formule iterative L algoritmo che, comunemente, viene presentato a scuola per l estrazione della radice quadrata è alquanto laborioso e di scarsa
Linguaggio C - le strutture di controllo: sequenza, selezione, iterazione
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C - le strutture di controllo: sequenza, selezione, iterazione
Le strutture di controllo in C++
Le strutture di controllo in C++ Docente: Ing. Edoardo Fusella Dipartimento di Ingegneria Elettrica e Tecnologie dell Informazione Via Claudio 21, 4 piano laboratorio SECLAB Università degli Studi di Napoli
Informatica Generale Andrea Corradini Gli algoritmi e la risoluzione di problemi
Informatica Generale Andrea Corradini 12 - Gli algoritmi e la risoluzione di problemi Sommario Che significa risolvere un problema? Algoritmi e programmi Rappresentazione di algoritmi Lo pseudocodice Primitive
Linguaggi di programmazione
Linguaggi di programmazione Problema Algoritmo Programma Progettista Programmatore Progetto Programma Esecutore Computer Comittente Utente Dal problema all algoritmo Problema Risolutore ed esecutore Algoritmo
Algoritmo per l ordinamento di un array
Algoritmo per l ordinamento di un array Spesso si ha la necessità di lavorare con vettori ordinati, cioè si devono mettere gli elementi in ordine alfabetico se sono stringhe o in in ordine di grandezza
Cosa si intende con stato
Il concetto di stato Cosa si intende con stato I una particolare configurazione delle informazioni di una macchina, che in qualche modo memorizza le condizioni in cui si trova, e che cambia nel tempo passando
ALGORITMI. Obiettivo: risolvere problemi mediante l uso di un elaboratore elettronico. Elaboratore elettronico
ALGORITMI Obiettivo: risolvere problemi mediante l uso di un elaboratore elettronico Dati input Elaboratore elettronico Risultati Per risolvere un problema è necessario fornire una descrizione chiara e
Il Linguaggio C. Caratteristiche. Caratteristiche. Esempio di programma in C. Tipi di dato primitivi in C. Dati
Caratteristiche Il Linguaggio C Linguaggio sequenziale (lineare), imperativo, strutturato a blocchi usabile anche come linguaggio di sistema software di base sistemi operativi compilatori... FI - Algoritmi
Programmazione strutturata
Corso di Fondamenti di Informatica Corso di Laurea in Ingegneria Gestionale (L-Z) 3. (testo di riferimento: Bellini-Guidi) Ing. Michele Ruta 1di 29 Linguaggi di programmazione Un programma è un algoritmo
