Cos è la programmazione?
|
|
- Lucia Puglisi
- 6 anni fa
- Visualizzazioni
Transcript
1 La programmazione
2 Cos è la programmazione? Termine usato per indicare le attività che trasformano l esigenza di risolvere un Problema in un Programma, inteso come sistema informatico capace di risolvere una classe di problema Problema molto ampio, nostro scopo essere in grado di: Realizzare un programma per risolvere un dato problema mediante un computer
3 Il problema Quando ci troviamo di fronte ad un problema? Ogni volta che ci troviamo di fronte alla necessità di ottenere qualcosa che non sia direttamente raggiungibile a partire da dei dati (il risultato) Chi risolve il problema? Il problem-solver è colui che si occupa di trovare una soluzione (l algoritmo) che ci consenta di raggiungere il risultato a partire dai dati di ingresso Chi mette in pratica l algoritmo? Un esecutore che può essere umano o meccanico
4 Le tappe Problema Formulazione del problema Algoritmo Costruzione del metodo di soluzione Esecutore Esecuzione della soluzione
5 Gli Algoritmi
6 Algoritmo Un algoritmo è una sequenza di azioni che permette di trasformare i dati di partenza del problema per ottenere la soluzione Dati in ingresso Azione 1 Azione 2 Azione n Dati in uscita (Soluzione)
7 Proprietà dell algoritmo Finito ogni esecuzione deve terminare Generale deve risolvere una classe di problemi Completo deve contenere l indicazione delle azioni da compiere in tutti i casi possibili Non ambiguo interpretazione univoca Eseguibile ogni azione deve essere nota all esecutore Se tutte le proprietà elencate sono soddisfatte, l algoritmo potrà essere eseguito più volte producendo lo stesso risultato
8 Descrizione dell algoritmo Proprietà della descrizione di un algoritmo: Indicazione dei dati su cui deve operare Sequenza esatta delle azioni da compiere Specifica dei controlli che determinano l ordine con cui le azioni vanno eseguite La prima azione che deve essere eseguita La sequenza esatta delle azioni L azione d arresto
9 L esecutore Per poter conseguire il risultato deve: Disporre dell algoritmo Essere in grado di capire la descrizione dell algoritmo Essere in grado di eseguire effettivamente le azioni Disporre dei dati iniziali Comunicare il risultato
10 Descrivere l algoritmo Il linguaggio con cui si descrive un algoritmo non è un linguaggio di programmazione Esistono linguaggi grafici fanno uso di simboli grafici linguaggi lineari fanno uso di simboli alfanumerici
11 Esempi di linguaggi Alcuni esempi di linguaggi di descrizione degli algoritmi: Diagrammi di flusso (Flow chart) Carte strutturate Rappresentazioni ad albero
12 Flow chart Vanno bene nel momento in cui occorre descrivere un processo sequenziale Le azioni non si sovrappongono I simboli usati sono: Inzio o fine di un processo Decisione Comunicazioni con l esterno Azione Flusso
13 Flow chart: regole Ogni Flow chart contiene almeno: un inizio uno o più azioni eventualmente dei blocchi decisionali Regole: Ogni blocco di azione contiene una freccia entrante ed una uscente Ciascun blocco decisionale contiene una freccia entrante e due frecce uscenti Ciascuna freccia può entrare in un blocco, oppure si inserisce in un altra freccia Ciascun blocco è raggiungibile dal blocco iniziale Il blocco finale è raggiungibile dal blocco iniziale
14 Flow chart: esempio Inizio A1 false A2 true A3 Fine
15 Sequenza Selezione Iterazione Schemi di composizione fondamentali A partire da questi, si definiscono i grafi di flusso strutturati
16 Sequenza Questo schema fondamentale di composizione descrive la sequenzialità di due azioni elementari Inizio A1 A2 Fine
17 Selezione Questo schema fondamentale di composizione descrive la selezione tra due alternative A1 true Inizio Fine false A2
18 Iterazione Questo schema fondamentale di composizione descrive l iterazione (la ripetizione) di una azione quando una condizione è verificata. Esistono due modelli che si differenziano sul momento in cui viene valutata la condizione true Inizio true A1 Inizio A1 false false Fine Fine
19 Grafi di flusso strutturati Descrivono un algoritmo componendo gli schemi fodamentali true A1 true false A4 true false Inizio Fine false A2 true false A3
20 Esempio finale: la telefonata (1) Si supponga che le azioni note siano: Solleva il ricevitore Attendi il segnale Componi il numero Attendi risposta Chiacchiera Deponi il ricevitore
21 Esempio finale: la telefonata (2) Inizio Solleva ricevitore Attendi segnale Componi cifra true Ancora cifre? false true Libero? false Attendi risposta Chiacchiera Deponi ricevitore Fine
22 Alcuni algoritmi notevoli Algoritmo di scambio, ovvero: come scambiare il valore di due variabili? L algoritmo base che introduce l assegnamento Dati due valori 10 e 20, contenuti rispettivamente in due variabili x e y Risultato: x contenga 20 e y contenga 10 inizio Leggi x Leggi y tmp <- x x <- y y <- tmp Print x e y fine
23 Alcuni algoritmi notevoli Massimo fra due numeri Dati due numeri in ingresso, trovare il massimo tra i due e stamparlo true inizio Leggi x Leggi y x>y false max <- x max <- y Print max fine
24 Progettazione di algoritmi Se il problema è semplice, l algoritmo è facilmente individuabile Se il problema è complesso, si riduce la sua complessità utilizzando generalmente un approccio chiamato TOP-DOWN: Scomporre in sotto problemi più semplici Progettare un algoritmo per ciascun sotto-problema Eventualmente si itera inizio Scomponi Semplice? true fine
25 Top-Down Aumenta il numero complessivo di problemi da risolvere, ma la difficoltà di ciascuno è minore Quando ci si ferma? Quando si giunge ad individuare sotto-problemi i cui algoritmi utilizzano azioni che sono comprensibili all esecutore I sotto-problemi devono fra loro essere indipendenti dal punto di vista della loro progettazione ma fra loro cooperano per giungere al risultato finale del problema iniziale
26 Esempio: max tra 3 numeri inizio Leggi x, y, z true x>y false x>z false true y>z false max <- x max <- z max <- y max <- z Print max fine
27 Linguaggi di programmazione
28 Un esecutore particolare: il computer L algoritmo va codificato mediante un linguaggio di programmazione le cui azioni sono espresse tramite operazioni La codifica dell algoritmo mediante un linguaggio di programmazione comprensibile direttamente o indirettamente è definita programma
29 Linguaggi di programmazione Linguaggio di codifica Il computer... Basso livello Linguaggio macchina lo esegue direttamente Linguaggio assembler necessita dell assembler Alto livello Linguaggio di programmazione necessita di un traduttore
30 Il linguaggio macchina Gli algoritmi sono codificati in word di 0 e 1 Codifica usata fino alla prima metà degli anni 50 Durante la seconda metà degli anni 50, il linguaggio con cui l uomo comunicava con la macchina cominciò ad alzarsi di livello la fatica di tradurre i programmi fu affidata al calcolatore
31 Il linguaggio Assembler Definisce un set di istruzioni elementari Si avvicina molto al linguaggio macchina Corrispondenza quasi biunivoca fra istruzione e numero di operazioni eseguite dal sistema Se siete interessati possiamo vedere degli esempi a titolo informativo
32 Linguaggi ad alto livello Linguaggio molto vicino al linguaggio naturale Le istruzioni sono molto astratte: ognuna di esse può corrispondere ad un elevato numero di operazioni da parte della macchina facilitano la vita al programmatore Esempi: Java C C++ Pascal
33 Comparazione tra linguaggi Linguaggio ad alto livello: Uscire dalla stanza Linguaggio basso livello: Individuare la porta Girarsi verso la porta Fare un passo, poi un altro Girare la maniglia
34 Le tappe Problema Formulazione del problema Algoritmo Costruzione del metodo di soluzione Codifica Codifica dell algoritmo in un linguaggio di programmazione Traduttore Traduzione del programma in codice comprensibile Esecutore Computer
35 Il traduttore Quando si utilizza un linguaggio diverso da quello macchina occorre un traduttore Il traduttore traduce in istruzioni macchina i sorgenti dei programmi Le istruzioni macchina corrispondono ad operazioni elementari che interagiscono direttamente con gli elementi del computer (registri e memoria) Occorre il traduttore specifico del linguaggio di programmazione usato e del tipo di processore montato sul computer
36 Tipi di traduttori Esistono due tipi di traduttori: Compilatori Traducono un programma scritto in un linguaggio ad alto livello in linguaggio macchina Interpreti Traducono un programma scritto in un linguaggio ad alto livello in linguaggio macchina e simultaneamente lo eseguono
37 Traduzione tramite compilatore Il Compilatore traduce un programma scritto in linguaggio ad alto livello in un programma in codice macchina per uno specifico hardware Programma Compilatore Programma in Linguaggio Macchina Dati in ingresso Esecuzione del Programma In Linguaggio Macchina Dati in uscita
38 Traduzione ed esecuzione tramite Interprete L Interprete traduce un programma in linguaggio ad alto livello in codice macchina per uno specifico hardware Viene tradotta un istruzione alla volta che viene subito eseguita Programma Interprete Programma in Linguaggio Macchina Dati in ingresso Esecuzione del Programma In Linguaggio Macchina Dati in uscita
39 Traduzione dei Programmi Java Codice Intermedio: Byte Code codice portabile a basso liv. simile all assembler, indipendente dall hardware invisible al programmatore Java L Interprete traduce dal byte code al codice macchina Java Program Java Compiler Byte-Code Program Byte-Code Interpreter Machine-Language Instructions Data for Java Program Java Virtual Machine Computer Execution of Machine-Language Instructions Output of Java Program
40 Tipi di Errori Sintattici Run-Time Logici
41 Errori Sintattici Errori grammaticali Identificati dal compilatore ( compiler-time error ) automaticamente con messaggi di errore, I più facili da correggere Il codice non può essere eseguito fino a che tutti gli errori sintattici non sono stati corretti Esempio: pint anzichè print
42 Errori a Run-Time Errori in esecuzione (run-time) Non sempre facili da identificare I messaggi di errore possono non essere di aiuto Esempio: Divisione per zero se nell esecuzione si cerca di dividere per zero, il programma termina con messaggio di errore
43 Errori Logici Se un programma viene compilato ed eseguito senza messaggi di errore, ciò non significa che il programma è corretto! Errore nel disegno (algoritmo) o nell implementazione I più difficili da trovare e correggere
44 Esempi di errori Logici Errore nell algoritmo: mediaoffivescores = SumOfScores/2 (doveva dividere per 5) Errore di implementazione: sum = a - b; (doveva essere sum = a + b; )
45 Paradigmi di Programmazione Programmazione Procedurale (o imperativa) Un programma è composto da istruzioni che realizzano trasformazioni di stato. Uno stato è identificato da tutti i valori di un certo insieme di variabili ad un certo stadio dell esecuzione Programmazione Funzionale Un programma è un espressione che viene valutata per ottenere un risultato Programmazione Logica Un programma è un insieme di fatti e regole, la sua esecuzione equivale alla realizzazione di una dimostrazione Programmazione orientata agli Oggetti Un programma è un insieme di oggetti (astrazioni della realtà) che comunicano fra loro tramite scambio di messaggi
Lez. 8 La Programmazione. Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1) 1
Lez. 8 La Programmazione Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1) 1 Dott. Pasquale De Michele Dott. Raffaele Farina Dipartimento di Matematica e Applicazioni Università di Napoli
DettagliLez. 5 La Programmazione. Prof. Salvatore CUOMO
Lez. 5 La Programmazione Prof. Salvatore CUOMO 1 2 Programma di utilità: Bootstrap All accensione dell elaboratore (Bootsrap), parte l esecuzione del BIOS (Basic Input Output System), un programma residente
DettagliIntroduzione alla programmazione
Introduzione alla programmazione Risolvere un problema Per risolvere un problema si procede innanzitutto all individuazione Delle informazioni, dei dati noti Dei risultati desiderati Il secondo passo consiste
DettagliDISPENSE DI PROGRAMMAZIONE
DISPENSE DI PROGRAMMAZIONE Modulo 1 Risolvere problemi con l elaboratore: dal problema all algoritmo (Parte II) I Linguaggi di descrizione degli algoritmi - Notazioni grafiche (parte 1) Il linguaggio dei
DettagliLinguaggi, Traduttori e le Basi della Programmazione
Corso di Laurea in Ingegneria Civile Politecnico di Bari Sede di Foggia Fondamenti di Informatica Anno Accademico 2011/2012 docente: Prof. Ing. Michele Salvemini Sommario Il Linguaggio I Linguaggi di Linguaggi
DettagliIntroduzione alla programmazione. Walter Didimo
Introduzione alla programmazione Walter Didimo Programmi Un programma è una frase (anche molto lunga) che descrive delle azioni che devono essere svolte da un calcolatore La frase deve essere dettagliata
DettagliModulo 1. Concetti base della Tecnologia dell informazione. Prof. Nicolello Cristiano. Modulo 1
Concetti base della Tecnologia dell informazione Algoritmi Come interpreta un computer un problema? Algoritmi Algoritmo: sequenza ordinata di istruzioni per risolvere un problema (tradotto: sequenza di
DettagliIl linguaggio di programmazione Python
Università Roma Tre Dipartimento di Matematica e Fisica Percorso Abilitante Speciale Classe A048 Matematica Applicata Corso di Informatica Il linguaggio di programmazione Python Marco Liverani (liverani@mat.uniroma3.it)
DettagliRappresentazione 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
DettagliElementi di programmazione
Fondamenti di Informatica per la Sicurezza a.a. 2003/04 Elementi di programmazione Stefano Ferrari Università degli Studi di Milano Dipartimento di Tecnologie dell Informazione Stefano Ferrari Università
DettagliLinguaggi di Programmazione
Linguaggi di Programmazione 1 Linguaggio naturale e linguaggio macchina La comunicazione uomo-macchina avviene attraverso formalismi che assumono la forma di un linguaggio. Caratteristiche del Linguaggio
DettagliProgramma 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
DettagliElementi di programmazione
Fondamenti di Informatica per la Sicurezza a.a. 2008/09 Elementi di programmazione Stefano Ferrari UNIVERSITÀ DEGLI STUDI DI MILANO DIPARTIMENTO DI TECNOLOGIE DELL INFORMAZIONE Stefano Ferrari Università
DettagliProblema: 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
DettagliELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE)
1 LEZIONE 9 ELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE) Laboratorio di Informatica per l Educazione A. A. 2014/2015 IN SINTESI (ELABORAZIONE) Con i COMPUTER, le macchine diventano
DettagliInformatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura
Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE Francesco Tura francesco.tura@unibo.it 1 Lo strumento dell informatico: ELABORATORE ELETTRONICO [= calcolatore = computer] Macchina multifunzionale Macchina
DettagliUnità di apprendimento 6. Dal problema al programma
Unità di apprendimento 6 Dal problema al programma Unità di apprendimento 6 Lezione 1 Conosciamo gli algoritmi e i linguaggi In questa lezione impareremo: cos è un problema come affrontarlo come descrivere
DettagliEsempio. Le istruzioni corrispondono a quelle di sopra, ma sono scritte in modo simbolico. E indipendente dalla machina
Il compilatore C Astrazione Linguaggio macchina implica la conoscenza dei metodi usati per la rappresentazione dell informazioni nella CPU Linguaggio Assembly è il linguaggio delle istruzioni che possono
DettagliTeoria dell Informazione
Corso di Laurea Magistrale in Scienze dell Informazione Editoriale, Pubblica e Sociale Teoria dell Informazione Cosa è l informazione L informazione è qualcosa che si possiede e si può dare ad un altro
DettagliAlgoritmi e Linguaggi
Algoritmi e Linguaggi Programmi e linguaggi Un calcolatore è solo un esecutore rapidissimo di istruzioni Un programma è un insieme di istruzioni codificate in un opportuno linguaggio 2 / 21 Linguaggi e
DettagliIntroduzione a Java. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi132 Sesto San Giovanni
Introduzione a Java IIS Altiero Spinelli Via Leopardi132 Sesto San Giovanni Linguaggi di programmazione Ogni programma viene scritto utilizzando un linguaggio specializzato, formale e comprensibile da
DettagliLA 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
DettagliAlgoritmi, linguaggi e programmi. Emilio Di Giacomo e Walter Didimo
Algoritmi, linguaggi e programmi Emilio Di Giacomo e Walter Didimo Risolvere i problemi Il calcolatore permette di risolvere molti problemi, ma sfortunatamente non tutti Il concetto di algoritmo consente
DettagliLinguaggi di Programmazione
Linguaggi di Programmazione E una notazione con cui e possibile descrivere gli algoritmi. Programma: e la rappresentazione di un algoritmo in un particolare linguaggio di programmazione. In generale, ogni
DettagliI Linguaggi di Programmazione
I Linguaggi di Programmazione 1 Linguaggio naturale e linguaggio macchina La comunicazione uomo-macchina avviene attraverso formalismi che assumono la forma di un linguaggio. Caratteristiche del Linguaggio
DettagliIntroduzione alla Programmazione. Giselda De Vita
Introduzione alla Programmazione Giselda De Vita - 2015 1 Sulla base dell ambito in cui si colloca il problema da risolvere, è opportuno adottare un linguaggio piuttosto che un altro: ² Calcolo scientifico:
DettagliAlgoritmi, linguaggi e programmi. Emilio Di Giacomo e Walter Didimo
Algoritmi, linguaggi e programmi Emilio Di Giacomo e Walter Didimo Problemi e algoritmi Il calcolatore permette di risolvere in maniera automatica diversi problemi "di calcolo". Es: calcolo della media
DettagliDAGLI ALGORITMI AI LINGUAGGI. Linguaggi di Programmazione
DAGLI ALGORITMI AI LINGUAGGI Linguaggi di Programmazione E` una notazione con cui e` possibile descrivere gli algoritmi. Programma: e` la rappresentazione di un algoritmo in un particolare linguaggio di
DettagliLINGUAGGI DI ALTO LIVELLO
LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware Linguaggi di alto livello Barriera di astrazione C Fortran Modula-2 Cobol Algol Basic Ada
DettagliCosa è un programma. Informatica di Base -- R.Gaeta 18
Cosa è un programma Il programma è la scatola nera che risolve il problema computazionale; Il programma è una sequenza di istruzioni che devono essere eseguite; Il programma è la traduzione per il computer
DettagliUnità di apprendimento 6. Il software: dal linguaggio alla applicazione
Unità di apprendimento 6 Il software: dal linguaggio alla applicazione Unità di apprendimento 6 Lezione 2 Conosciamo i linguaggi di programmazione In questa lezione impareremo: che cos è un linguaggio
DettagliFondamenti di programmazione!! Parte 2!
Fondamenti di programmazione!! Parte 2! 1! Definizione intuitiva di algoritmo! n Elenco finito di istruzioni che specificano una serie di operazioni, eseguendo le quali e possibile risolvere ogni istanza
DettagliAlgoritmi 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)
DettagliUnità di apprendimento 6. Dal problema al programma
Unità di apprendimento 6 Dal problema al programma Unità di apprendimento 6 Lezione 2 Impariamo a fare i diagrammi a blocchi In questa lezione impareremo: come descrivere l algoritmo risolutivo utilizzando
DettagliLinguaggi 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
DettagliCorso 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
DettagliRAPPRESENTAZIONE 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
DettagliMODULO 07. La soluzione dei problemi mediante gli algoritmi
MODULO 07 La soluzione dei problemi mediante gli algoritmi MODULO 07 Unità didattica 02 Impariamo a fare i diagrammi a blocchi In questa lezione impareremo: come descrivere l algoritmo risolutivo utilizzando
DettagliAltrimenti, 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
DettagliFormalismi 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
DettagliUnità Didattica 2 I Linguaggi di Programmazione
Unità Didattica 2 I Linguaggi di Programmazione 1 Linguaggio naturale e linguaggio macchina La comunicazione uomo-macchina avviene attraverso formalismi che assumono la forma di un linguaggio. Caratteristiche
DettagliLaboratorio 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
DettagliCONCETTI FONDAMENTALI
CONCETTI FONDAMENTALI Algoritmo Procedura di trasformazione di un insieme di dati iniziali in un insieme di risultati finali mediante una sequenza di istruzioni. Linguaggio di programmazione Programma
DettagliInformatica. Informatica. Problema - soluzione. Algoritmi, dati e programmi. Introduzione ai concetti di: Distinguiamo tra: problema
Algoritmi, dati e programmi 1 Algoritmi, dati e programmi 2 Informatica Informatica informatica informazione mezzi mezzi fisici procedure Algoritmi, dati e programmi rappresentazione dell informazione
Dettagli3. 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
DettagliLinguaggi di alto livello, compilatori e interpreti
Linguaggi di alto livello, compilatori e interpreti Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Il punto della situazione STATO DATI
DettagliAlgoritmi. 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
DettagliPROBLEMI 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
DettagliCome 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
DettagliLinguaggi di programmazione
Linguaggi di programmazione Fondamenti di Informatica Daniele Loiacono Ho definito un algoritmo e adesso? Daniele Loiacono Dall algoritmo all esecuzione q Come deve essere formalizzato un algoritmo affinché
DettagliLINGUAGGI DI ALTO LIVELLO. Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware
LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware 1 LINGUAGGI DI ALTO LIVELLO Barriera di astrazione Fortran Cobol Basic Pascal Python C
DettagliLezione 8. Soluzione di un problema Problema. Soluzione di un problema. Comprensione del Problema. Analisi. Introduzione agli algoritmi
Lezione 8 Introduzione agli algoritmi Lezione tratta dal libro: D. Sciuto, G. Buonanno, W. Fornaciari, L. Mari Introduzione ai sistemi informatici Seconda Edizione, McGraw-Hill Capitolo 2: La formalizzazione
DettagliLINGUAGGI DI ALTO LIVELLO
LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware 1 LINGUAGGI DI ALTO LIVELLO Barriera di astrazione C Fortran Modula-2 Cobol Algol Basic
DettagliUniversità degli Studi di Verona. Algoritmie Diagrammidiflusso. Gennaio Sergio Marin Vargas. Dipartimento di Biotecnologie
Università degli Studi di Verona Dipartimento di Biotecnologie Laurea in Biotecnologie Corso di Informatica2014/2015 Algoritmie Diagrammidiflusso Gennaio 2015 - Sergio Marin Vargas Problemi e soluzioni
DettagliConcetti 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
DettagliCorso di Informatica. Problemi ed algoritmi. Ing Pasquale Rota
Corso di Problemi ed algoritmi Ing Pasquale Rota Argomenti Problemi ed algoritmi Proprietà degli algoritmi Pseucodice Diagrammi di flusso Problemi ed algoritmi - Ing. Pasquale Rota 2 Proprietà degli algoritmi
DettagliLinguaggi di programmazione
Parte 2 Linguaggi di programmazione Livello di Astrazione per la Codifica di un Algoritmo Si può risolvere un problema senza prima fissare un insieme di azioni, di mosse elementari possibili per l elaboratore?
DettagliAppunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso
Università Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso Marco Liverani (liverani@mat.uniroma3.it)
DettagliAXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori
AXO - Architettura dei Calcolatori e Sistema Operativo organizzazione strutturata dei calcolatori I livelli I calcolatori sono progettati come una serie di livelli ognuno dei quali si basa sui livelli
DettagliIntroduzione agli algoritmi
Introduzione agli algoritmi Consideriamo un lettore di CD musicali portatile Questo ha a disposizione: pulsanti di controllo display che indica se il lettore è in funzione il brano che è attualmente riprodotto
DettagliAlgoritmo. La programmazione. Algoritmo. Programmare. Procedimento di risoluzione di un problema
Algoritmo 2 Procedimento di risoluzione di un problema La programmazione Ver. 2.4 Permette di ottenere un risultato eseguendo una sequenza finita di operazioni elementari Esempi: Una ricetta di cucina
DettagliProblemi, algoritmi, calcolatore
Problemi, algoritmi, calcolatore Informatica e Programmazione Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin Problemi, algoritmi, calcolatori Introduzione
Dettagliin 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
DettagliConcetti di Base sulla Programmazione. Prof.Ing.S.Cavalieri
Concetti di Base sulla Programmazione Prof.Ing.S.Cavalieri 1 La Programmazione Dato un problema INFORMATICO, programmare significa: Definire i dati in ingresso e il risultato che si vuole raggiungere Definire
DettagliLinguaggi di programmazione
Linguaggi di programmazione Programmazione L attività con cui si predispone l elaboratore ad eseguire un particolare insieme di azioni su particolari dati, allo scopo di risolvere un problema Dati Input
DettagliConcetti di base dell ICT
Informatica Linguaggio di programmazione Computer Bit Algoritmo Linguaggio macchina Informatica: Informazione automatica Gli anglosassoni usano il termine Computer Science = Scienza dei Calcolatori Computer:
DettagliIl Software programmabili programma algoritmo
Il Software La proprietà fondamentale dei calcolatori e` quella di essere programmabili cioè in grado di svolgere compiti diversi a seconda delle istruzioni fornite dall utente mediante un programma, ossia
DettagliFondamenti di Algoritmi
Fondamenti di Algoritmi Corsi di Informatica Grafica Prof. Manuel Roveri Dipartimento di Elettronica e Informazione roveri@elet.polimi.it Indice Algoritmi: Definizione Diagrammi di Flusso Esempi ed esercizi
DettagliALGORITMI: PROPRIETÀ FONDAMENTALI
ALGORITMI: PROPRIETÀ FONDAMENTALI Non si può risolvere un problema senza prima fissare un insieme di azioni, i di mosse elementari possibili per l'esecutore. Bisogna conoscerne le caratteristiche, le mosse
DettagliLA 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
DettagliProgrammazione: Sommario
Programmazione: Sommario Concetti di Base della Programmazione; Algoritmi; Diagrammi di Flusso; Istruzioni Sequenziali, Condizionali, Cicliche; Logo Variabili, Procedure e Parametri; 1 Il Problema computazionale
DettagliL ELABORATORE ELETTRONICO!
L ELABORATORE ELETTRONICO! Il calcolatore elettronico è uno strumento in grado di eseguire insiemi di azioni ( mosse ) elementari le azioni vengono eseguite su oggetti (dati) per produrre altri oggetti
DettagliCapitolo 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,
DettagliIl Concetto Intuitivo di Calcolatore. Esercizio. I Problemi e la loro Soluzione. (esempio)
Il Concetto Intuitivo di Calcolatore Elementi di Informatica e Programmazione Ingegneria Gestionale Università degli Studi di Brescia Docente: Prof. Alfonso Gerevini Variabile di uscita Classe di domande
DettagliLA METAFORA DELL UFFICIO LAVAGNA DI PROGRAMMA SPORTELLO UTENTE LAVAGNA DI LAVORO
LA METAORA DELL UICIO LAAGNA DI LAORO Lavagna di lavoro Lavagna di programma Sportello utenti Capo Ufficio Impiegato Chiamiamo variabili le posizioni sulla lavagna, identificate ognuna da un nome distinto,
DettagliInformatica! appunti dalle lezioni dal 18/09/2012 al 28/09/2012!!
Informatica! appunti dalle lezioni dal 18/09/2012 al 28/09/2012!! Definizioni! Informatica: scienza per l elaborazione automatica dell informazione! Informatica = Informazione + Automatica! Informazione:
DettagliDispense di Informatica Anno Scolastico 2008/2009 Classe 3APS. Dall'Algoritmo al Programma
Istituto Tecnico Statale Commerciale Dante Alighieri Cerignola (FG) Dispense di Informatica Anno Scolastico 2008/2009 Classe 3APS Dall'Algoritmo al Programma Pr.: 002 Ver.:1.0 Autore: prof. Michele Salvemini
DettagliProgrammazione I. Fondamenti di programmazione. Problemi, Algoritmi, Diagrammi di flusso
Programmazione I Fondamenti di programmazione ( Lezione I ) Problemi, Algoritmi, Diagrammi di flusso Fabrizio Messina messina@dmi.unict.it www.dmi.unict.it/~messina Algoritmo Dato un problema, un algoritmo
DettagliLinguaggi e traduttori
Operatore giuridico d impresa Informatica Giuridica A.A 2004/2005 I Semestre Linguaggi e traduttori Lezione 3 prof. Monica Palmirani Produzione del Software il software si genera trasformando l algoritmo
DettagliMacchina Astratta: struttura e realizzazione.
Macchina Astratta: struttura e realizzazione. Sommario Macchina Astratta e l interprete di Macchina Hight e Low Level Languages Implementazione di un Linguaggio Macchina Intermedia Gerarchia di Macchine
DettagliC++ Barriera di astrazione. Barriera di astrazione. Basic. Basic. Lisp. Lisp. Pascal. Prolog. Pascal. Prolog. Cobol. Fortran IMPERATIVI FUNZIONALI
Linguaggi di alto livello Barriera di astrazione C Fortran Cobol Modula-2 Basic Pascal Algol Ada Lisp Smalltalk Simula67 Scheme C++ Prolog ML AN - 1995 Linguaggi di alto livello IMPERATIVI C Fortran Modula-2
DettagliProgrammazione. Andrea Passerini Informatica. Programmazione
Andrea Passerini passerini@disi.unitn.it Informatica Linguaggi di programmazione Il calcolatore è in grado di comprendere solo istruzioni in linguaggio macchina. Il linguaggio macchina non è adatto alla
DettagliINFORMATICA. Scienza dei calcolatori elettronici (computer science) Scienza dell informazione (information science)
INFORMATICA Cosa è l informatica Scienza dei calcolatori elettronici (computer science) Scienza dell informazione (information science) E una scienza E una tecnologia Cosa può essere automatizzato nell
DettagliIntroduzione agli Algoritmi
Introduzione agli Algoritmi Informatica Sara Zuppiroli A.A. 2012-2013 Informatica () Introduzione agli Algoritmi A.A. 2012-2013 1 / 25 Risoluzione dei problemi Dalla descrizione del problema all individuazione
DettagliTraduzione e interpretazione
Traduzione e interpretazione Parte dei lucidi sono stati gentilmente forniti dal Prof. Salza VII.1 Linguaggi di programmazione Linguaggi ad alto livello Maggiore espressività Maggiore produttività Migliore
Dettagli; programma MOV AX, DATO_1. ; somma al contenuto dell' accumulatore il contenuto del registro B
Linguaggi di programmazione Il linguaggio base di un elaboratore è il linguaggio macchina. Linguaggio macchina: insieme di istruzioni espresse nel formato numerico (binario) di un particolare processore.
DettagliSistemi 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
DettagliDispensa 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
Dettaglila traduzione dei programmi ed introduzione a Java
la traduzione dei programmi ed introduzione a Java programmi descrizioni di algoritmi effettuate tramite linguaggi di programmazione lo stesso algoritmo, fissato un linguaggio di programmazione, può essere
DettagliSommario. Problema computazionale Sviluppo software Algoritmi. Istruzioni Sequenziali, Condizionali, Cicliche; Javascript
Sommario Problema computazionale Sviluppo software Algoritmi Diagrammi di Flusso; Pseudo Codice Istruzioni Sequenziali, Condizionali, Cicliche; Javascript Il Problema computazionale È computazionale un
DettagliMacchine astratte, linguaggi, interpretazione, compilazione
Macchine astratte, linguaggi, interpretazione, compilazione 1 Macchine astratte una collezione di strutture dati ed algoritmi in grado di memorizzare ed eseguire programmi componenti della macchina astratta
DettagliInformatica. Elaborazione di informazione
Lauree triennali della Facoltà di Medicina LEZIONE 6 Algoritmi, dati e programmi 1 Elaborazione di informazione Introduzione ai concetti di: algoritmo programma dato linguaggio di programmazione diagramma
DettagliSistemi di Elaborazione delle Informazioni
SCUOLA DI MEDICINA E CHIRURGIA Università degli Studi di Napoli Federico II Corso di Sistemi di Elaborazione delle Informazioni Dott. Francesco Rossi a.a. 2016/2017 1 I linguaggi di programmazione e gli
DettagliInformatica. Traccia. Algoritmi, dati e programmi. Elaborazione di informazione. informazione. rappresentazione dell informazione (dati) dati
1 2 Informatica Algoritmi, dati e programmi Informatica: Scienza che studia l informazione e la sua elaborazione. informazione rappresentazione dell informazione (dati) dati elaborazione dei dati tramite
DettagliSviluppo 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
DettagliIl 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
DettagliFondamenti VBA. Che cos è VBA
Fondamenti VBA Che cos è VBA VBA, Visual Basic for Application è un linguaggio di programmazione, inserito nelle applicazioni Office di Microsoft (Ms Word, Ms Excel, Ms PowerPoint, Visio). VBA è una implementazione
DettagliProgrammi e Oggetti Software
Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 06 Programmi e Oggetti Software Marzo 2010 Programmi e Oggetti Software 1 Contenuti Cosa è un programma Cosa significa programmare Il
DettagliIntroduzione alla programmazione strutturata
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Prof. ELIO TOPPANO Facoltà di Ingegneria Università degli Studi di Udine Introduzione alla programmazione strutturata 2001 Pier Luca Montessoro, Elio
Dettagli