Lez ione 2. Diagrammi a blocchi
|
|
- Giacomo Manzoni
- 8 anni fa
- Visualizzazioni
Transcript
1 Lez ione 2 Diagrammi a blocchi Analisi strutturata Diagrammi a blocchi E un linguaggio formale di tipo grafico per rappr es entare gli algoritmi Attraverso il diagramma a blocchi (o flow char t) si può indicare l or dine di esecuzione delle istruz ioni. Un particolare s imbol o grafico detto blocco elementare è associato ad ogni tipo di istruzione elementar e I blocchi sono collegati tra l or o tr amite fr ecce che indicano il susseguirsi delle i s truz ioni 1
2 Diagr amma a blocchi I blocchi elementari sono: begin blocco iniziale Leggi X blocco di lettura A blocco az ione end Scr ivi X falso C vero blocco finale blocco di scrittura blocco di controllo Sottopr ogr amma Con il blocco A sottoprogramma si indica un sottoprogramma di cui è nota l a rappr es entaz ione i n diagramma a bl occhi 2
3 Diagr amma a blocchi Un diagramma a bl occhi descrive un algoritmo se: ha un blocco iniz iale e uno finale è cos tituito da un numero finito di blocchi azione e/ o blocchi lettura/scrittura e/ o blocchi di controllo ciascun blocco elementare s oddis fa l e condiz ioni di validità Diagr amma a blocchi Condiz ioni di validità ciascun blocco az ione, lettura/scrittura ha una s ola freccia entr ante e una s ola fr ecci a us cente ciascun blocco di controllo ha una s ola fr ecci a entr ante e due uscenti ciascuna fr ecci a entr a i n un blocco o s i innesta s u una altra fr ecci a ciascun blocco è r aggiungibile dal blocco iniziale il blocco finale è r aggiungibile da qual s i as i altro blocco 3
4 Eserciz io Scrivere un algoritmo e r appres entar lo tr amite un diagramma a bl occhi per i seguenti problemi: attraversare la s tr ada calcolare l ar ea del triangolo trovare il max di due numer i moltiplicare due numer i (usando s olo l operaz ione di somma) Analisi strutturata Analisi volta alla s tes ur a di descrizioni di algoritmi tramite diagrammi a bl occhi di tipo strutturato Un diagramma a bl occhi strutturato è pi ù facilmente compr ens ibile e modificabile In un diagramma s tr uttur ato non apparir à mai una i s tr uz i one di salto incondizionato 4
5 Analisi strutturata T eorema di Bohm- Jacopini Ogni diagramma a bl occhi non strutturato è s empre trasformabile in un diagramma a blocchi strutturato ad esso equivalente dove due di agr ammi sono equivalenti se partendo dagli stessi dati iniziali producono gli stessi risultati Analisi strutturata Una des cr i z i one è di tipo s trutturato s e i blocchi sono collegati tramite i seguenti schemi di flus s o s tr uttur ato: schema di sequenza schema di selezione schema di iterazione 5
6 Analisi strutturata Schema di sequenza due o più schemi di flusso s ono es eguiti in succes s i one Nota: lo s chema di sequenza è s tr utturato s e e s olo s e l o s ono i blocchi S1 e S2 begin S1 S2 end Analisi strutturata Schema di selezione esiste un blocco di controllo che per mette di scegliere quale s chema di flusso debba es s ere es eguito tra due s chemi, in funzione del valore di verità del controllo falso begin C vero S1 falso S2 begin C vero S1 end end 6
7 Analisi strutturata Schema di iterazione (ciclo o loop) modo conciso per descrivere az ioni che devono ess ere ripetute begin begin falso C end S vero S C end vero falso Analisi strutturata Nota: I due s chemi non sono equivalenti: in un caso lo schema S è es eguito almeno una volta e nell altr o potrebbe non essere mai eseguito La condiz i one ver o/ fals o per il controllo possono essere inver tite: si parla di iteraz ione per vero quando S è es eguito finché la condiz i one s u C è ver a e iteraz ione per falso nell altro cas o 7
8 Note s ullo schema di iterazione Quando è neces s ar io es eguir e lo s tes s o ins ieme di operazioni più volte s i adotta un particolare schema di iterazione: è cos tituito da una s equenz a di azioni di assegnazione dette istruz ioni di inizializzazione una i ter az i one (r ipetiz ione) di una s equenz a di azioni (iteraz ione) per un numero s pecificato di volte Analisi strutturata iniz ializ z az ione iniz ializ z az ione iteraz ione falso Condiz ione di fine ci cl o Condiz ione di fine ci cl o vero falso vero iteraz ione 8
9 Analisi strutturata Condiz ione di fine ciclo: viene contr ollata dopo l esecuz ione di ogni blocco di iterazione può essere con controllo in coda al ciclo o con controllo in testa Analisi strutturata Un ciclo è detto enumerativo quando è noto a priori il numero di volte che deve essere es eguito si usa l a tecnica del contatore per controllarne l esecuz ione: si usa ci oè una var i abile detta contatore del ciclo che viene iniz ializzata opportunamente pr ima di iniziare il ciclo e poi viene incr ementata (o decrementata) fino a r aggiungere un valore prefissato, permettendo cos ì di eseguire una i ter az i one un numero speciicato di volte 9
10 Analisi strutturata Un ciclo e indefinito quando non è noto a pr i or i il numero di volte che deve essere es eguito Questo accade quando la condi z i one di fine ciclo dipende dal valore di una o più variabili che o dipendono dall interazione con l esterno o vengono modificate all inter no dell iter az ione in modo complesso Eserciz i Ricerca di un elemento in un vettore Determinare il massimo numero in un vettore Media di un vettore 10
11 Soluz ione: T rova begin i 0 i i+ 1 vero V[i]= k falso falso i= 100 vero succes s o insucces s o end Soluz ione: Max begin i 1 max V[i] i i+ 1 falso V[i]> max vero max V[i] falso i= 100 vero end 11
12 Soluz ione: Media begin input V[K] i 0 m 0 i i+ 1 m m+ V[i] falso i= K vero m m/k output m end I programmi Per fare s ì che un algoritmo s ia effettivamente utilizzabile da un esecutore automati co occorre eliminare l e ambi guità ci r ca l a codi fi ca dei dati e l interaz ione con gli esseri umani in generale durante l a s tes ur a di un programma ci si deve pr eoccupar e dei limiti nell intervallo di rappr es entaz ione dei numeri, della dur ata non nulla delle oper az ioni, etc La s oluz i one i ntegr ata di queste pr oblematiche e di quelle dell algoritmo in sé r is ulta compl essa e r ichiede al ta competenz a 12
13 Linguaggi di alto livello Per facilitare la s tes ur a dei programmi sono s tati definiti linguaggi di programmaz ione di alto livello che permettono di descrivere le s oluz ioni dei problemi ad un livello di astrazione di poco inferiore a quanto visto fino ad ora per gli algoritmi permettono di descrivere le oper az ioni di ingresso/uscita permettono di definire il tipo dei dati sono traducibili automaticamente in linguaggio macchi na Diversità dei linguaggi Sono s tati sviluppati diversi linguaggi Fortran, Lisp, Cobol, Basic, Pascal, C, C+ +, Java, Prolog i linguaggi si caratterizzano per sintassi: l insieme delle r egole che s pecificano come comporre is tr uz ioni ben formate semantica: l insieme delle r egole che s pecificano come associare ad una i s tr uz i one una az i one da compi er e la di ver s i tà fr a i vari linguaggi può cons istere nella s i ntassi (le s tesse az ioni vengono des critte con termini diversi) o nella s emanti ca 13
14 VBA Il Visual Basic for Application La documentaz ione Le cos tanti e le var iabili L assegnaz ione Gli operatori L arte della pr ogr ammaz i one La s oluz i one di un problema tr ami te un programma è un procedimento che non si esaurisce s olo nello s crivere l i nee di codice in un dato linguaggio di programmaz ione, ma comprende una fas e di progetto che pr ecede e di verifica che s egue la s cr i ttur a del codice 14
15 L arte della pr ogr ammaz i one Definiz ione del problema Algoritmo per la s ol uz i one del problema Codifica Debugging Validazione Documentaz ione Manutenz ione Definiz ione del problema Definiz ione degli ingressi e del le us ci te quali variabili quale dominio per ogni variabile Ris oluz ione delle ambiguità Scomposiz ione i n problemi più semplici 15
16 Algor itmo Soluz ione in pseudocodice Soluz ione in diagramma a bl occhi strutturato Codifica T raduz ione del l algor itmo in istruzioni del linguaggio di programmaz ione 16
17 Debugging Correzione degl i errori sintattici e semantici Errori sintattici espressioni non valide o non ben formate nel linguaggio di programmazione Errori semantici comportamento non aderente alle as pettative/alla intenz ionalità del programmatore Validaz ione T est su tutte le condiz i oni operative del programma Caso degli input estremi (vettori di dimensione 0 o 1, variabili nulle) 17
18 Documentaz ione Inserimento di commenti esplicativi nelle var ie parti del programma per facilitarne l a compr ens ione dopo molto tempo dalla s ua stesura o per terze per s one Manutenz ione Modifica del programma per soddis fare i l cambiamento delle s peci fi che con cui deve operare 18
19 Commenti L importanz a dei commenti e della documentaz ione: i programmi vengono utilizzati più volte nel corso di tempi lunghi (mesi, anni) fare cambiamenti (aggiunta di caratteristiche) risolvere errori documentare il programma s er ve per rendere chiar o ed evidente lo scopo delle var ie par ti del codice Commenti Si devono evitare commenti inutili Es: Set the variable x to 5 x=5 Si deve evitar e di inserirne troppo pochi Un buon modo per verificare i l livello di commento è quello di leggere s olo i commenti (e non il codice) ed ottenere una chi ar a i dea di cosa fa un programma e di come lo fa 19
20 Commenti La s i ntassi per aggiungere commenti in VBA è commento T utto ciò che s egue un apostrofo è cons i der ato un commento ed è i gnor ato dal VBA Es empio: Dichiarazioni Dim Nome as String name = ActiveDocument.Name Acquisisci nome Continuaz ione delle linee Può essere più conveniente per la l ettur a da parte di un essere umano s pezzare s u più linee il codice tr oppo lungo Lo s i fa con un carattere di underscore _ pr eceduto da uno s paz io e andando a capo subito dopo Es empio: ActiveDocument.Paragraphs(1).Alignment = _ wdalignparagraphcenter 20
21 Le cos tanti Vi sono due tipi di costanti costanti letterali costanti simboliche Le costanti letterali sono valor i specifici, come numeri, date, stringhe che non possono essere modificate e che s ono us ate es attamente come vengono s cr itte Es empio: num=45 nome= Mario Rossi oggi=#1/5/03# Le cos tanti Le cos tanti simboliche fanno invece us o di un nome per riferirsi alla cos tante letter ale per indicare che un nome s i riferisce ad una costante s i premette al nome l identificativo Const Es empio: Const nome = Giovanni Verdi 21
22 Le cos tanti E buona nor ma di chi ar ar e tutte l e cos tanti simboliche all inizio della pr ocedur a i n cui sono utilizzate questo per migliorare la l eggibilità Enumer az ioni Quando vi è un insieme ampio di costanti numeriche inter e s i può utilizzare il costrutto enum la s i ntassi è: Enum nome_complessivo si=0 no=1 forse=2 End Enum 22
23 Enumer az ioni Es empio: If risposta = si Then Che è meglio di If risposta = 0 Then Un caso comune è di usare il costrutto enum per definire i colori in VBA: Enum ColorConstants vbblue= vbred=255 End Enum Variabili e tipi di dati Una var i abile è una s catola (una l ocaz i one di memoria) che può contenere valor i di tipo s pecificato Il valore contenuto può variar e durante i l programma, da cui il nome var iabile 23
24 T ipi di dato Vi sono 5 tipi di dato predefiniti in VBA: Tipo Dimensione Intervallo Byte Boolean 2 true/false Integer Long 4 2 miliardi Single 4-3.4E E38 Double 8-1.8E E324 Currency 8 1E16 Date 8 1/1/100 12/31/9999 Object 4 String variabile Variant 16 La di chi ar az i one di variabili Dichiarare una var i abile s ignifi ca defi ni r ne i l nome ed il tipo Le var iabili si dichiarano nel seguente modo Dim NomeVariabile As TipoDato ovver o pr emettendo lo s pecificator e Dim al nome della var i abi l e e facendo s eguir e As e il tipo di dato 24
25 Nomi per variabili Qualsiasi carattere al fabetico (maius colo e minuscolo) e il segno di underscore _ vanno bene per formare il nome di una var i abile si possono us ar e anche numer i a patto che non siano i primi caratteri del nome Esempi corretti: nome_cognome nome23 NomeCognome Esempi non corretti: 23nome nome%cognome Nota Se non dichiarate i l tipo VBA assumerà che i l tipo s ia Var i ant si possono mettere pi ù dichiaraz ioni su una stessa l i nea come in Dim a As Integer, b As Integer, d As Double non si possono dichiarare con Dim a, b As Integer, d As Double cioè ogni variabile deve aver e s peci fi cato il tipo 25
26 Variabili implicite!! Attenzione!! Purtroppo il Basic per mette di utilizzare variabili senza che s i ano precedentemente dichiar ate! Una var i abile di questo tipo viene cons ider ata Variant e di chi ar ata automati camente ed implicitamente quando viene us ata questo è un pessimo s tile di programmaz ione e buona nor ma di chi ar ar e tutte le var i abili con il loro tipo all inizio del programma che l e us a Nota E facile veder e come ques to possa cr ear e errori difficili da i ndi vi duar e si pensi ad un programma dove indichiamo una variabile che debba contener e i l risultato di un calcolo con il nome ilmiorisultato e per sbaglio utilizziamo s uccessivamente l a var i abile indicandola con il nome llmiorisultato in questo cas o il VBA is tanz ier à automaticamente una nuova var iabile che non conterrà il dato che ci aspettiamo! 26
27 Dichiaraz ione es plicita Per rendere l a di chi ar az i one dell e var i abi li obbligator ia s i premette al programma l istruz ione Option Explicit questo fa i n modo che venga s egnal ato come errore l uso non dichiarato di una var i abi l e T ipo numer ico I numeri possono essere manipolati e memoriz z ati tramite var iabili di tipo Integer, Long, Single, Double e Currency In generale avr emo a che far e s olo con Integer per trattare inter i (positivi e negativi) Single per trattare numer i decimali (positivi e negativi) 27
28 T ipo Booleano Il tipo Boolean prende s ol o due val or i true e false è utile quando vogliamo realizzare funz ioni che possano verificare dell e condi z i oni su proposiz ioni e deter minar ne il valore di verità T ipo stringa Il tipo s tring è una s equenz a di caratteri La s tr i nga vuota non ha al cun carattere Una s tr i nga può contenere letter e, numeri, segni di interpunzione ma può anche contener e car atter i speciali di controllo come ad es : vbcrlf per andare a capo vbt ab per inserire un segno di tabulazione 28
29 Concatenaz ione di stringhe Per unire fr a di loro una o più stringhe s i usa l operatore di concatenazione & Es empio: Dim nome As String Dim cognome As String Dim ris As String nome= Mario cognome= Rossi ris=nome & cognome T ipo Data Per mettono la manipolaz ione e la memoriz z az ione di dati di tipo Data Si possono assegnare tr amite cos tanti letterali di data come in Dim dt As Date dt=#1/2/98# o in forma di stringa dt = January 12, 2001 Nota: noi non le us er emo 29
30 T ipo Var iant Il tipo Variant permette di memorizzare un qualsiasi altro tipo di dato in genere è uno s preco di memoria utilizzare i variant invece che il tipo appropriato si pensi ad es empio ad un vettore di interi di grosse dimens ioni inoltre mantener e l infor maz ione del tipo di dato associato con una var i abi l e per mette di evitare errori logici Oggetti di Word Il VBA per Word fornis ce un elevato numero di tipi di dato s pecifico per Word Fra ques ti : Document Font Paragraph T able etc 30
31 Dichiaraz ione e as s egnaz ione di Oggetti La di chi ar az i one di una var i abile di un tipo oggetto avviene nel modo us uale tr amite lo s pecificator e Dim Dim doc As Document Dim fnt As Font L assegnazione invece avviene diver s amente: si deve pr emetter e lo s pecificatore Set Set doc = ActiveDocument Vettori Un vettore o array è una collezione di dati che sono manipolabili tramite uno s tesso nome e un indice. Si dichiara nel modo s eguente Dim vet(1 To 100) As Integer oppur e Dim vet(99) As Integer infatti se s i omette il primo indice ques to viene cons ider ato 0 31
32 Vettori dinamici Nel caso in cui non sia nota a pr i or i la dimensione dei dati si può dichiarare un vettore come Dim vect() As Integer dopodichè è possibile s peci ficar ne la dimensione utilizzando l istruz ione ReDim ReDim vect(1 To 100) Preserve Il ridimensionamento di un vettore compor ta l a distruz ione dei dati contenuti così non sarebbe possibile r idimens ionar e un vettore via via che ne s or gesse l a necessità durante l es ecuz ione di un programma per conservare i dati si inserisce lo s pecificator e Preserve, ottenendo: ReDim Preserve vect(1 To 200) 32
33 UBound Nel caso in cui si voglia conos cer e l a di mens i one di un vettore di nami co s i utilizza l a funz i one UBound che r es ti tui s ce il limite s uper ior e (Upper Bound) del vettore UBound(vect) Nota: un vettore di capacità 100 elementi può contenerne un numero minore: UBound restituisce la capaci tà del vettore e non quanti elementi effettivamente ci siano La vis i bilità (s cope) Le var iabili (stesso identico discors o per le cos tanti) hanno una vis ibilità all inter no delle varie par ti che copongono un programma ciò s ignifica che le var i abili possono essere dichiarate in un punto del programma ed us ate in un altro quando una var i abile non è pi ù visibile non si può più fare r ifer imento ad essa 33
34 Vis ibilità Le var iabili possono avere vis ibi lità l ocal e o globale hanno vis ibilità globale quelle var iabili dichiarate al di fuori di ogni procedura hanno visibilità l ocal e le var i abili dichiarate all interno di una pr ocedur a o funz ione La i ni z i al i zzazione delle var iabili Quando una pr ocedur a i ni z i a l a pr opr i a esecuz ione tutte le var i abili sono inizializzate con un valore di default (in genere 0 per i numeri e l a s tr i nga nulla per le s tr inghe) tuttavia è bene non affidarsi a ques te iniz ializzazioni automatiche è buona nor ma i ni z i alizzare es plicitamente le tutte le var iabili 34
35 Gli operatori Gli operatori sono dei simboli e par ole chiave in VBA us ati per rappres entar e i n modo più compatto istruz ioni frequenti Gli operatori si dividono in: operatori aritmetici operatori di stringa operatori logici operatori comparativi Operatori Operatori aritmetici addiz ione + sottrazione - moltiplicazione * divis ione / divisione inter a \ es ponente ^ modulo Mod 35
36 Operatori Operatori di stringa concatenaz ione & Operatori logici E AND O OR negaz ione NOT Operatori Operatori comparativi Egualianza = Maggiore > Minore < Magg. eguale >= oppure => Minore eguale <= oppure =< Non eguale <> oppure >< 36
VBA. Il Visual Basic for Application. Funz ioni
VBA Il Visual Basic for Application Le funz ioni Le procedure Funz ioni µ E pos s ibile (e cons igliato) s comporre un problema i n sotto- problemi e combinar e poi assieme le s oluz i oni per ottenere
DettagliDI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1
DIAGRAMMI A BLOCCHI TEORIA ED ESERCIZI 1 1 Il linguaggio dei diagrammi a blocchi è un possibile formalismo per la descrizione di algoritmi Il diagramma a blocchi, o flowchart, è una rappresentazione grafica
DettagliRisolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati
Algoritmi Algoritmi Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Il procedimento (chiamato algoritmo) è composto da passi elementari
DettagliProf. Giuseppe Chiumeo. Avete già studiato che qualsiasi algoritmo appropriato può essere scritto utilizzando soltanto tre strutture di base:
LA STRUTTURA DI RIPETIZIONE La ripetizione POST-condizionale La ripetizione PRE-condizionale INTRODUZIONE (1/3) Avete già studiato che qualsiasi algoritmo appropriato può essere scritto utilizzando soltanto
DettagliDAL 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
DettagliLe variabili di Visual Basic consentono di memorizzare temporaneamente valori durante
Tiipii dii Datii iin Viisuall Basiic Le variabili di Visual Basic consentono di memorizzare temporaneamente valori durante l'esecuzione di un'applicazione. Alle variabili è associato un nome, utilizzato
DettagliDescrizione di un algoritmo
Descrizione di un algoritmo Un algoritmo descrive due tipi fondamentali di oper: calcoli ottenibili tramite le oper primitive su tipi di dato (valutazione di espressioni) che consistono nella modifica
DettagliLezione 8. La macchina universale
Lezione 8 Algoritmi La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale= l informazione
DettagliIntroduzione alla Programmazione e Applicazioni per la Finanza M2 (Prodotti Derivati) Lezione 9
Introduzione alla Programmazione e Applicazioni per la Finanza M2 (Prodotti Derivati) Lezione 9 Anno accademico 2006-07 Titolare corso: Prof. Costanza Torricelli Docente: Dott.ssa Marianna Brunetti Variabili
DettagliAppunti di Sistemi Elettronici
Prof.ssa Maria Rosa Malizia 1 LA PROGRAMMAZIONE La programmazione costituisce una parte fondamentale dell informatica. Infatti solo attraverso di essa si apprende la logica che ci permette di comunicare
DettagliLINGUAGGI DI PROGRAMMAZIONE
LINGUAGGI DI PROGRAMMAZIONE Il potere espressivo di un linguaggio è caratterizzato da: quali tipi di dati consente di rappresentare (direttamente o tramite definizione dell utente) quali istruzioni di
DettagliLez ione 3. I blocchi di istruzione
Lez ione 3 Istruz ioni di controllo Istruz ioni Iterative I blocchi di istruzione µ Si e già detto come le is truz i oni elementari siano cos trutti identificati dal fatto di essere scritti su di una uni
DettagliLinguaggi e Paradigmi di Programmazione
Linguaggi e Paradigmi di Programmazione Cos è un linguaggio Definizione 1 Un linguaggio è un insieme di parole e di metodi di combinazione delle parole usati e compresi da una comunità di persone. È una
DettagliDall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni
Dall Algoritmo al Programma Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni IL PROGRAMMA Gli algoritmi sono modelli di descrizione astratti e per controllarne il funzionamento devono essere
DettagliIntroduzione a Visual Basic Lezione 1 Concetti base e istruzioni condizionali
a Visual Basic Lezione 1 Concetti base e istruzioni condizionali Mario Alviano Introduzione all informatica Università della Calabria http://alviano.net/introinfo A.A. 2008/09 Introduzione Un esempio:
DettagliAlgoritmo. I dati su cui opera un'istruzione sono forniti all'algoritmo dall'esterno oppure sono il risultato di istruzioni eseguite precedentemente.
Algoritmo Formalmente, per algoritmo si intende una successione finita di passi o istruzioni che definiscono le operazioni da eseguire su dei dati (=istanza del problema): in generale un algoritmo è definito
DettagliArduino: Programmazione
Programmazione formalmente ispirata al linguaggio C da cui deriva. I programmi in ARDUINO sono chiamati Sketch. Un programma è una serie di istruzioni che vengono lette dall alto verso il basso e convertite
DettagliGli algoritmi: definizioni e proprietà
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Gli algoritmi: definizioni e proprietà La presente dispensa e da
DettagliSommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.
Algoritmi 1 Sommario Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. 2 Informatica Nome Informatica=informazione+automatica. Definizione Scienza che si occupa dell
DettagliI file di dati. Unità didattica D1 1
I file di dati Unità didattica D1 1 1) I file sequenziali Utili per la memorizzazione di informazioni testuali Si tratta di strutture organizzate per righe e non per record Non sono adatte per grandi quantità
DettagliMetodologie di programmazione in Fortran 90
Metodologie di programmazione in Fortran 90 Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2007/2008 Fortran 90: Metodologie di programmazione DIS - Dipartimento di
DettagliIntroduzione. Informatica B. Daniele Loiacono
Introduzione Informatica B Perchè studiare l informatica? Perchè ha a che fare con quasi tutto quello con cui abbiamo a che fare ogni giorno Perché è uno strumento fondamentale per progettare l innovazione
DettagliCorso di Informatica
Corso di Informatica Modulo T3 1-Sottoprogrammi 1 Prerequisiti Tecnica top-down Programmazione elementare 2 1 Introduzione Lo scopo di questa Unità è utilizzare la metodologia di progettazione top-down
DettagliProgetto Lauree Scientifiche Liceo Classico L.Ariosto, Ferrara Dipartimento di Matematica Università di Ferrara 24 Gennaio 2012
Progetto Lauree Scientifiche Liceo Classico L.Ariosto, Ferrara Dipartimento di Matematica Università di Ferrara 24 Gennaio 2012 Concetti importanti da (ri)vedere Programmazione imperativa Strutture di
DettagliRichiesta pagina PHP (es: index.php)
PHP PHP = personal home page SERVER Richiesta pagina PHP (es: index.php) Server Web (Apache) in ascolto sulla porta 80, si accorge che la pagina richiesta è una pagina PHP in base all'estensione o con
Dettagli3 - Variabili. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
3 - Variabili Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di
DettagliAlgebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica
Fondamenti di Informatica Algebra di Boole: Concetti di base Fondamenti di Informatica - D. Talia - UNICAL 1 Algebra di Boole E un algebra basata su tre operazioni logiche OR AND NOT Ed operandi che possono
DettagliCenni su algoritmi, diagrammi di flusso, strutture di controllo
Cenni su algoritmi, diagrammi di flusso, strutture di controllo Algoritmo Spesso, nel nostro vivere quotidiano, ci troviamo nella necessità di risolvere problemi. La descrizione della successione di operazioni
DettagliUtilizzo del linguaggio Basic utilizzando l interfaccia di Excel Silvia Patacchini
Introduzione all utilizzo di Visual Basic for Application Utilizzo del linguaggio Basic utilizzando l interfaccia di Excel Silvia Patacchini PROGRAMMAZIONE Insieme delle attività da svolgersi per creare
Dettagli4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0
Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice
DettagliProgrammazione in Java (I modulo) Lezione 3: Prime nozioni
Programmazione in Java (I modulo) Lezione 3: Prime nozioni La volta scorsa Abbiamo avuto un primo assaggio! Abbiamo visto come usare l editor per scrivere un programma Java. Abbiamo analizzato riga per
Dettaglivoid funzioneprova() { int x=2; cout<<"dentro la funzione x="<<x<<endl; }
FUNZIONI 57. Cosa servono le funzioni? A spezzare il programma in diverse parti relativamente indipendenti fra loro, ovvero interagenti sono attraverso i parametri di input ed IL VALORE di uscita. In questo
DettagliFasi di creazione di un programma
Fasi di creazione di un programma 1. Studio Preliminare 2. Analisi del Sistema 6. Manutenzione e Test 3. Progettazione 5. Implementazione 4. Sviluppo 41 Sviluppo di programmi Per la costruzione di un programma
DettagliIntroduzione agli algoritmi e alla programmazione in VisualBasic.Net
Lezione 1 Introduzione agli algoritmi e alla programmazione in VisualBasic.Net Definizione di utente e di programmatore L utente è qualsiasi persona che usa il computer anche se non è in grado di programmarlo
DettagliIntroduzione alla programmazione in C
Introduzione alla programmazione in C Testi Consigliati: A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. M. Ritchie Linguaggio C P. Tosoratti Introduzione all informatica Materiale
DettagliLa selezione binaria
Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Introduzione L esecuzione di tutte le istruzioni in sequenza può non è sufficiente per
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 Problema Strategia
DettagliLe stringhe. Le stringhe
Informatica: C++ Gerboni Roberta Stringhe di caratteri (esempi di utilizzo dei vettori) Nel linguaggio C++ una stringa è semplicemente un vettore di caratteri Vettori di caratteri La stringa "hello" è
DettagliVariabili e tipi di dato
Variabili e tipi di dato Tutte le variabili devono essere dichiarate, specificandone il tipo La dichiarazione deve precedere l uso Il tipo è un concetto astratto che esprime: L allocazione di spazio per
DettagliEVOLUZIONE DEI LINGUAGGI DI ALTO LIVELLO
EVOLUZIONE DEI LINGUAGGI DI ALTO LIVELLO Linguaggi di programmazione classificati in base alle loro caratteristiche fondamentali. Linguaggio macchina, binario e fortemente legato all architettura. Linguaggi
DettagliINTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI
INTRODUZIONE AGLI ALGORITMI Prima di riuscire a scrivere un programma, abbiamo bisogno di conoscere un metodo risolutivo, cioè un metodo che a partire dai dati di ingresso fornisce i risultati attesi.
Dettagli3. La sintassi di Java
pag.9 3. La sintassi di Java 3.1 I tipi di dati statici In Java, come in Pascal, esistono tipi di dati statici predefiniti e sono i seguenti: byte 8 bit da -128 a 127 short 16 bit coincide con l integer
Dettagli[MANUALE VISUAL BASIC SCUOLA24ORE PROF.SSA PATRIZIA TARANTINO] 14 dicembre 2008
Se devo memorizzare più valori che sono in qualche modo parenti dal punto di vista logico, posso usare il concetto di vettore di variabili (array). Ad esempio, se devo memorizzare le temperature di tutti
DettagliFunzioni in C. Violetta Lonati
Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni
Dettagli+ / operatori di confronto (espressioni logiche/predicati) / + 5 3 9 = > < Pseudo codice. Pseudo codice
Pseudo codice Pseudo codice Paolo Bison Fondamenti di Informatica A.A. 2006/07 Università di Padova linguaggio testuale mix di linguaggio naturale ed elementi linguistici con sintassi ben definita e semantica
DettagliCorrettezza. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 10. A. Miola Novembre 2007
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 10 Correttezza A. Miola Novembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Correttezza 1 Contenuti Introduzione alla correttezza
DettagliPer scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli
CODICE Le fonti in cui si possono trovare tutorial o esempi di progetti utilizzati con Arduino si trovano nel sito ufficiale di Arduino, oppure nei forum di domotica e robotica. Il codice utilizzato per
DettagliStrutture. Strutture e Unioni. Definizione di strutture (2) Definizione di strutture (1)
Strutture Strutture e Unioni DD cap.10 pp.379-391, 405-406 KP cap. 9 pp.361-379 Strutture Collezioni di variabili correlate (aggregati) sotto un unico nome Possono contenere variabili con diversi nomi
DettagliAppunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso
Università Roma Tre Facoltà di Scienze M.F.N. 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)
DettagliTipicamente un elaboratore è capace di trattare domini di dati di tipi primitivi
TIPI DI DATO Tipicamente un elaboratore è capace di trattare domini di dati di tipi primitivi numeri naturali, interi, reali caratteri e stringhe di caratteri e quasi sempre anche collezioni di oggetti,
DettagliUso di base delle funzioni in Microsoft Excel
Uso di base delle funzioni in Microsoft Excel Le funzioni Una funzione è un operatore che applicato a uno o più argomenti (valori, siano essi numeri con virgola, numeri interi, stringhe di caratteri) restituisce
DettagliAlgebra Booleana ed Espressioni Booleane
Algebra Booleana ed Espressioni Booleane Che cosa è un Algebra? Dato un insieme E di elementi (qualsiasi, non necessariamente numerico) ed una o più operazioni definite sugli elementi appartenenti a tale
DettagliAPPUNTI SUL LINGUAGGIO DI PROGRAMMAZIONE PASCAL
APPUNTI SUL LINGUAGGIO DI PROGRAMMAZIONE PASCAL In informatica il Pascal è un linguaggio di programmazione creato da Niklaus Wirth ed é un linguaggio di programmazione strutturata. I linguaggi di programmazione
DettagliConcetto di Funzione e Procedura METODI in Java
Fondamenti di Informatica Concetto di Funzione e Procedura METODI in Java Fondamenti di Informatica - D. Talia - UNICAL 1 Metodi e Sottoprogrammi Mentre in Java tramite le classi e gli oggetti è possibile
DettagliStruttura logica di un programma
Struttura logica di un programma Tutti i programmi per computer prevedono tre operazioni principali: l input di dati (cioè l inserimento delle informazioni da elaborare) il calcolo dei risultati cercati
DettagliJava:Struttura di Programma. Fabio Scanu a.s. 2014/2015
Java:Struttura di Programma Fabio Scanu a.s. 2014/2015 Altre Attenzioni da riservare Java è Case Sensitive: La variabile «a» e la variabile «A» sono diverse Java ha alcune regole di scrittura: I nomi delle
DettagliMatematica in laboratorio
Unità 1 Attività guidate Attività 1 Foglio elettronico Divisibilità tra numeri naturali Costruisci un foglio di lavoro per determinare se a è divisibile per b, essendo a e b due numeri naturali, con a
DettagliEXCEL FUNZIONI PRINCIPALI
EXCEL FUNZIONI PRINCIPALI Funzione SE() Sintassi: SE(VERIFICA, VALORE SE VERO, VALORE SE FALSO): verifica un valore e ritorna una risposta in base al risultato vero/falso Esempio: =SE(A2=15; "OK"; "NO")
DettagliGli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori
Gli array Array e puntatori Laboratorio di Informatica I un array è un insieme di elementi (valori) avente le seguenti caratteristiche: - un array è ordinato: agli elementi dell array è assegnato un ordine
DettagliCorso di Informatica
Corso di Informatica Modulo T2 3-Compilatori e interpreti 1 Prerequisiti Principi di programmazione Utilizzo di un compilatore 2 1 Introduzione Una volta progettato un algoritmo codificato in un linguaggio
DettagliINFORMATICA - I puntatori Roberta Gerboni
1 2 I puntatori in C++ Il puntatore un tipo di dato scalare, che consente di rappresentare gli indirizzi delle variabili allocate in memoria. Dominio: Il dominio di una variabile di tipo puntatore è un
DettagliDefinizione di nuovi tipi in C
Definizione di nuovi tipi in C typedef Ancora sui tipi di dato Ogni elaboratore è intrinsecamente capace di trattare domini di dati di tipi primitivi numeri naturali, interi, reali caratteri e stringhe
DettagliMATLAB. Caratteristiche. Dati. Esempio di programma MATLAB. a = [1 2 3; 4 5 6; 7 8 9]; b = [1 2 3] ; c = a*b; c
Caratteristiche MATLAB Linguaggio di programmazione orientato all elaborazione di matrici (MATLAB=MATrix LABoratory) Le variabili sono matrici (una variabile scalare equivale ad una matrice di dimensione
DettagliFONDAMENTI di INFORMATICA L. Mezzalira
FONDAMENTI di INFORMATICA L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software
DettagliConvertitori numerici in Excel
ISTITUTO DI ISTRUZIONE SUPERIORE G. M. ANGIOY CARBONIA Convertitori numerici in Excel Prof. G. Ciaschetti Come attività di laboratorio, vogliamo realizzare dei convertitori numerici con Microsoft Excel
DettagliCorso di Laurea in INFORMATICA
Corso di Laurea in INFORMATICA Algoritmi e Strutture Dati MODULO 2. Algebre di dati Dati e rappresentazioni, requisiti delle astrazioni di dati, costrutti. Astrazioni di dati e dati primitivi. Specifica
DettagliFORMULE: Operatori matematici
Formule e funzioni FORMULE Le formule sono necessarie per eseguire calcoli utilizzando i valori presenti nelle celle di un foglio di lavoro. Una formula inizia col segno uguale (=). La formula deve essere
DettagliAllocazione dinamica della memoria - riepilogo
Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica In breve Storage duration Allocazione dinamica della
DettagliEsempi di algoritmi. Lezione III
Esempi di algoritmi Lezione III Scopo della lezione Implementare da zero algoritmi di media complessità. Verificare la correttezza di un algoritmo eseguendolo a mano. Imparare a valutare le prestazioni
DettagliNozione di algoritmo. Gabriella Trucco
Nozione di algoritmo Gabriella Trucco Programmazione Attività con cui si predispone l'elaboratore ad eseguire un particolare insieme di azioni su particolari informazioni (dati), allo scopo di risolvere
DettagliElementi di Informatica
Università degli Studi di Udine Facoltà di Ingegneria CORSO DI LAUREA IN SCIENZE dell ARCHITETTURA Elementi di Informatica Algoritmi, e Programmi D. Gubiani 29 marzo 2010 D. Gubiani Algoritmi, e Programmi
DettagliCorso di Laurea Ingegneria Informatica Fondamenti di Informatica
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa E01 Esempi di programmi A. Miola Ottobre 2011 1 Contenuti Vediamo in questa lezione alcuni primi semplici esempi di applicazioni
DettagliCOS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA
LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware COS È UN LINGUAGGIO? Un linguaggio è un insieme di parole e di metodi di combinazione delle
DettagliINFORMATICA 1 L. Mezzalira
INFORMATICA 1 L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software del modello
DettagliEsercizi su. Funzioni
Esercizi su Funzioni ๒ Varie Tracce extra Sul sito del corso ๓ Esercizi funz_max.cc funz_fattoriale.cc ๔ Documentazione Il codice va documentato (commentato) Leggibilità Riduzione degli errori Manutenibilità
DettagliEsercizi di programmazione in C
Esercizi di programmazione in C Esercizio 1 Scrivere un programma in linguaggio C che legga da tastiera una sequenza di lunghezza ignota a priori di numeri interi positivi. Il programma, a partire dal
DettagliGestione dei File in C
Gestione dei File in C Maurizio Palesi DIIT Università di Catania Viale Andrea Doria 6, 95125 Catania mpalesi@diit.unict.it http://www.diit.unict.it/users/mpalesi Sommario In questo documento saranno introdotte
DettagliGESTIONE INFORMATICA DEI DATI AZIENDALI
GESTIONE INFORMATICA DEI DATI AZIENDALI Alberto ZANONI Centro Vito Volterra Università Tor Vergata Via Columbia 2, 00133 Roma, Italy zanoni@volterra.uniroma2.it Rudimenti di programmazione Programming
DettagliAnalizzatore lessicale o scanner
Analizzatore lessicale o scanner Lo scanner rappresenta un'interfaccia fra il programma sorgente e l'analizzatore sintattico o parser. Lo scanner, attraverso un esame carattere per carattere dell'ingresso,
DettagliAlgoritmi. Maurizio Palesi. Maurizio Palesi 1
Algoritmi Maurizio Palesi Maurizio Palesi 1 Cos è Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Un algoritmo è un metodo per la soluzione
DettagliAlgoritmi, dati e programmi
1 Algoritmi, dati e programmi 2 Informatica Informatica: Scienza che studia l informazione e la sua elaborazione. informazione rappresentazione dell informazione (dati) dati elaborazione dei dati tramite
DettagliInizializzazione, Assegnamento e Distruzione di Classi
Inizializzazione, Assegnamento e Distruzione di Classi Lezione 9 Operazioni Automatiche In ogni programma C++ oggetti classe vengono gestiti automaticamente dal compilatore Inizializzati al momento della
DettagliLaboratorio di Informatica
Laboratorio di Informatica Introduzione a Python Dottore Paolo Parisen Toldin - parisent@cs.unibo.it Argomenti trattati Che cosa è python Variabili Assegnazione Condizionale Iterazione in una lista di
DettagliLe L z e ione n e d i d V isu s a u l B asi s c Prof.ssa Paola Goi 1
Lezione di Visual Basic Prof.ssa Paola Goi 1 VISUAL BASIC E un ambiente di programmazione che permette una programmazione: VISUALE AD EVENTI Per creare programmi applicativi nel sistema operativo Windows.
DettagliLABORATORIO DI PROGRAMMAZIONE 2012 2013 EDIZIONE 1, TURNO B
LABORATORIO DI PROGRAMMAZIONE 2012 2013 EDIZIONE 1, TURNO B 23.XI.2012 VINCENZO MARRA Indice Esercizio 1 1 Menu 1 Tempo: 35 min. 2 Commento 1 2 Esercizio 2 2 Ordinamento e ricerca binaria con la classe
DettagliLinguaggi per COMUNICARE. Il linguaggio è un sistema codificato di segni che consente la comunicazione, intesa come scambio di informazioni
Linguaggi per COMUNICARE Il linguaggio è un sistema codificato di segni che consente la comunicazione, intesa come scambio di informazioni Sintassi e semantica dei linguaggi Un informazione può : Essere
DettagliLezione 2 OPERAZIONI ARITMETICHE E LOGICHE ARCHITETTURA DI UN ELABORATORE. Lez2 Informatica Sc. Giuridiche Op. aritmetiche/logiche arch.
Lezione 2 OPERAZIONI ARITMETICHE E LOGICHE ARCHITETTURA DI UN ELABORATORE Comunicazione importante dalla prossima settimana, la lezione del venerdì si terrà: dalle 15:00 alle 17.15 in aula 311 l orario
Dettagli1 introdurre le monete per l importo necessario. 2 selezionare la quantità di zucchero. 3 selezionare la bevanda desiderata
Esempi di Problema: Prendere un Caffè al Distributore Università degli Studi di Udine Facoltà di Ingegneria CORSO DI LAUREA IN SCIENZE dell ARCHITETTURA Elementi di Informatica, e Programmi D. Gubiani
DettagliEsercizi Capitolo 6 - Alberi binari di ricerca
Esercizi Capitolo 6 - Alberi binari di ricerca Alberto Montresor 23 settembre 200 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile
DettagliLibrerie digitali. Video. Gestione di video. Caratteristiche dei video. Video. Metadati associati ai video. Metadati associati ai video
Video Librerie digitali Gestione di video Ogni filmato è composto da più parti Video Audio Gestito come visto in precedenza Trascrizione del testo, identificazione di informazioni di interesse Testo Utile
DettagliDefinire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12};
ESERCIZI 2 LABORATORIO Problema 1 Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12}; Chiede all'utente un numero e, tramite ricerca
DettagliRealizzazione di Politiche di Gestione delle Risorse: i Semafori Privati
Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati Condizione di sincronizzazione Qualora si voglia realizzare una determinata politica di gestione delle risorse,la decisione se ad
DettagliIntroduzione al Foglio Elettronico
Microsoft Excel Introduzione al Foglio Elettronico Il Foglio Elettronico Si presenta come una grande tabella su un foglio di carta Le celle contengono differenti dati Numeri Testo Date Ecc I dati possono
DettagliGUIDA ALLA RILEVANZA
GUIDA ALLA RILEVANZA Posizionamento per Rilevanza Suggerimenti per una migliore visibilità su ebay www.egolden.it Vers. 1.1 Questa guida puo essere ridistribuita con l obbligo di non modificarne contenuto
DettagliAmmortamento di un debito
Algoritmi e dintorni: Ammortamento di un debito: Ricerca del tasso Prof. Ettore Limoli Ammortamento di un debito In questa nostra trattazione non ci addentreremo in problemi di matematica finanziaria o
DettagliLa programmazione. Sviluppo del software
La programmazione problema Sviluppo del software idea (soluzione informale) algoritmo (soluzione formale) programma (traduzione dell algoritmo in una forma comprensibile da un elaboratore elettronico)
DettagliIL LINGUAGGIO Visual Basic
Caratteristiche del linguaggio VB Linguaggio basato sugli eventi IL LINGUAGGI Visual Basic I programmi non sono procedurali, poiche non seguono una sequenza operativa. gni programma si basa infatti su
DettagliSemantica Assiomatica
Semantica Assiomatica Anche nella semantica assiomatica, così come in quella operazionale, il significato associato ad un comando C viene definito specificando la transizione tra stati (a partire, cioè,
DettagliMatlab: Strutture di Controllo. Informatica B
Matlab: Strutture di Controllo Informatica B Tipo di dato logico È un tipo di dato che può avere solo due valori true (vero) 1 false (falso) 0 I valori di questo tipo possono essere generati direttamente
Dettagli