DAL DIAGRAMMA AL CODICE



Похожие документы
Prof. Giuseppe Chiumeo. Avete già studiato che qualsiasi algoritmo appropriato può essere scritto utilizzando soltanto tre strutture di base:

DI 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

Descrizione di un algoritmo

Algebra Booleana ed Espressioni Booleane

Introduzione a Visual Basic Lezione 1 Concetti base e istruzioni condizionali

Progetto Lauree Scientifiche Liceo Classico L.Ariosto, Ferrara Dipartimento di Matematica Università di Ferrara 24 Gennaio 2012

Cenni su algoritmi, diagrammi di flusso, strutture di controllo

INFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze della Comunicazione Università degli Studi di Salerno

Per realizzare un programma in VB

Algoritmo. I dati su cui opera un'istruzione sono forniti all'algoritmo dall'esterno oppure sono il risultato di istruzioni eseguite precedentemente.

+ / operatori di confronto (espressioni logiche/predicati) / = > < Pseudo codice. Pseudo codice

Matematica in laboratorio

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Gli algoritmi: definizioni e proprietà

Le L z e ione n e d i d V isu s a u l B asi s c Prof.ssa Paola Goi 1


IL LINGUAGGIO Visual Basic

Lezione 8. La macchina universale

Struttura logica di un programma

Utilizzo del linguaggio Basic utilizzando l interfaccia di Excel Silvia Patacchini

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:

Appunti di Sistemi Elettronici

Algebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

La selezione binaria

APPUNTI SUL LINGUAGGIO DI PROGRAMMAZIONE PASCAL

Corso di Visual Basic (Parte 8)

Automatizzare i compiti ripetitivi. I file batch. File batch (1) File batch (2) Visualizzazione (2) Visualizzazione

GUIDA BASE DI PASCAL

STRUTTURE (O COSTRUTTI) DI CONTROLLO

Esempi di algoritmi. Lezione III

Appunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso

RAPPRESENTAZIONE GRAFICA DEGLI ALGORITMI

Introduzione al MATLAB c Parte 2

Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a prof.

Matlab: Strutture di Controllo. Informatica B

La programmazione. Sviluppo del software

Corso di Informatica

Istruzioni condizionali. Istruzioni condizionali IF-THEN- ELSE IF-THEN-ELSE. Statistica computazionale Carla Rampichini a.a.

Richiesta pagina PHP (es: index.php)

Come ragiona il computer. Problemi e algoritmi

Applicazioni grafiche

GESTIONE INFORMATICA DEI DATI AZIENDALI

Arduino: Programmazione

EXCEL FUNZIONI PRINCIPALI

AREA RETTANGOLO LIRE IN EURO

Preparati per il compito in classe Modulo 5

DAL PROBLEMA ALL'ALGORITMO AL PROGRAMMA SCRITTO IN Come. Scopo principale dell informatica è risolvere problemi con i calcolatori.

3. Programmazione strutturata (testo di riferimento: Bellini-Guidi)

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI

Esercizi di programmazione in C

regola(1,[e,f],b) regola(2,[m,f],e) regola(3,[m],f) regola(4,[b,f],g) regola(5,[b,g],c) regola(6,[g,q],a)

Variabili e tipi di dato

1) Dati in ingresso 2 numeri, l algoritmo calcola e stampa a video la loro somma

Realizzare semplici applicazioni windows

Funzioni in C. Violetta Lonati

Nozione di algoritmo. Gabriella Trucco

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

Algoritmi di Ricerca. Esempi di programmi Java

Invio SMS. DM Board ICS Invio SMS

Introduzione ai Metodi Formali

ESERCIZI DI PROBLEM SOLVING E COMPOSIZIONE DEI DIAGRAMMI DI FLUSSO per le classi terza

PROVA INTRACORSO TRACCIA A Pagina 1 di 6

Introduzione agli algoritmi e alla programmazione in VisualBasic.Net

Testing: basato su analisi dinamica del codice. Metodi Formali: basato su analisi statica del codice.

Appunti del corso di Informatica 1. 6 Introduzione al linguaggio C

Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Strutture. Strutture e Unioni. Definizione di strutture (2) Definizione di strutture (1)

ALGORITMI 1. GLI ALGORITMI 2. IL LINGUAGGIO DI PROGETTO

3 - Variabili. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

Il sapere tende oggi a caratterizzarsi non più come un insieme di contenuti ma come un insieme di metodi e di strategie per risolvere problemi.

MATLAB. Caratteristiche. Dati. Esempio di programma MATLAB. a = [1 2 3; 4 5 6; 7 8 9]; b = [1 2 3] ; c = a*b; c

Semantica Assiomatica

JAVASCRIPT. Tale file è associato alla pagina web mediante il tag <script> inserito nella sezione <head> con la seguente sintassi:

Esercizi su. Funzioni

Convertitori numerici in Excel

Lezione II: Web server e ambiente di lavoro

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP)

LINGUAGGI DI PROGRAMMAZIONE

Laboratorio di Informatica

OSSIF WEB. Manuale query builder

ISI s.r.l. Corso di Access 05 CREARE UN ELENCO MAILING ED INVIARE MESSAGGI DI POSTA ELETTRONICA Pag. 1/6

1238 1*8 2 +2*8 1 +3*8 0

10 - Programmare con gli Array

La grafica. La built-in funzione grafica plot. x spezzata poligonale. discretizzato

Cicli. Cicli. Il ciclo for. Comandi per eseguire ripetutamente porzioni di codice Due tipi disponibili in Matlab: Cicli: For While Controllo

ci sono più problemi che programmi esiste un problema che non si può risolvere con un programma

Ammortamento di un debito

Semantica dei programmi. La semantica dei programmi è la caratterizzazione matematica dei possibili comportamenti di un programma.

FORMULE: Operatori matematici

Corso di Esercitazioni di Programmazione

Introduzione alla programmazione in C

Excel. A cura di Luigi Labonia. luigi.lab@libero.it

Транскрипт:

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 in cui i blocchi devono essere eseguiti

Un diagramma di flusso Esistono 4 tipi di blocchi. Istruzioni di inizio fine Operazioni di lettura (input) o scrittura(output) Operazioni o assegnazioni Strutture di controllo

Istruzioni di inizio e fine

Operazioni di lettura (input) o scrittura(output)

Operazioni o assegnazioni calcola A+5

Strutture di controllo Selezione o alternativa Iterazione o ripetizione

Programma = algoritmo + dati La struttura del programma consiste in: -Una parte in cui si dichiarano tutte le variabili del programma e il loro tipo; -Una parte contenente le istruzioni che descrivono l algoritmo risolutivo utilizzato.

Istruzioni Le istruzioni si suddividono in: Istruzioni di Input (lettura) Istruzioni di Output (scrittura) Istruzioni di Assegnazione Istruzioni di controllo

Input sta a Text Box... In Visul basic le istruzioni di input vengono effettuate tramite alcuni oggetti: TEXT BOX COMBO BOX INPUT BOX

Input in Visual Basic Le istruzioni tipiche di input in visual basic sono: variabile=txtnome.text variabile=combo variabile=inputbox( testo di input )

...come output sta a label In Visul basic le istruzioni di output vengono effettuate tramite alcuni oggetti: Label MsgBox Print

Output in Visual Basic Le istruzioni tipiche di output in visual basic sono: lblnome.caption= altro testo & variabile & altro testo MsgBox( messaggio da visualizzare ) Print variabile

Convertire Occorre ricordare che gli oggetti del visual basic utilizzati per gli input lavorano con le stringhe e quindi occorre convertire da stringhe in valori numerici se si hanno delle variabili di tipo numerico. Abbiamo alcune funzione predefinite per far questo: Cint(da stringa a integer) Cdbl(da stringa a double)

Convertire Nel caso del output,visto che nel visul basic gli oggetti atti a tale scopo lavorano su stringhe,occorre convertire i valori numerici in alfanumerici. Abbiamo una funzione predefinita per fa questo CStr(da numerico a stringa)

Convertire:esempi Input(da stringa in numerico) output (da numerico a stringa) variabile=cint (txtnome.text) variabile=cdbl (combo) variabile=cint(inputbox( testo opzionale )) lblnome.caption= altro testo &CStr(variabile) & altro testo MsgBox=

Istruzioni di assegnazione spesso compaiono espressioni, cioè formule o regole di calcolo che specificano sempre un valore o risultato: sconto=(valoreiniziale*10)/100 prezzofinale=valoreiniziale-sconto delta = b ^ 2-4 * a * c x1 = -b - Sqr(delta) / 2 * a NB: Sqr(X) è una funzione predefinita che restituisce la radice quadra di X

Problematica sul controllo Le strutture di controllo permettono di definire il percorso (flusso) di ogni istruzione all'interno di un programma; La programmazione strutturata propone tre schemi: Sequenza Selezione Iterazione

Risultato fondamentale TEOREMA (Böhm-Jacopini) : Dato un programma, ne esiste uno equivalente che utilizza esclusivamente le tre strutture di controllo fondamentali: sequenza, selezione e iterazione.

La sequenza La sequenza è il più semplice dei tre costrutti fondamentali e viene utilizzato quando le istruzioni devono essere eseguite ordinatamente, con lo stesso ordine con cui sono scritte, per cui l istruzione successiva è quella in posizione successiva. E spesso indicata col termine blocco.

Selezione o alternativa La selezione o alternativa permette di effettuare una scelta fra due possibili alternative. Per effettuare la scelta occorre valutare una condizione. Possiamo distinguere cinque tipi di alternative: a una via a due vie a cascata annidata Multipla

Alternativa a una via In Visual Basic IF condizione THEN istruzione END IF

Alternativa a due vie In Visual Basic IF condizione THEN istruzione1 ELSE istruzione2 END IF

Selezione in cascata In Visual basic: IF condizione1 THEN istruzione1 ELSE istruzione2 END IF IF condizione2 THEN istruzione4 ELSE istruzione3 END IF

Selezione annidata In Visual Basic IF condizione1then IF condizione2 THEN istruzione1 ELSE istruzione2 END IF ELSE istruzione3 END IF

Selezione annidata2 In Visual Basic IF condizione1then IF condizione2 THEN istruzione1 ELSE istruzione2 END IF ELSE istruzione3 END IF

Selezione multipla In Visual Basic SELECT CASE scelta CASE 1 istruzione1 CASE 2 istruzione2 CASE ELSE istruzione3 END SELECT

Selezione multipla: esempi Alcune istruzioni possibili in Visual basic possono essere: Case lunedi per indicare un singolo valore Case 2,4,7 per indicare più valori Case 2 to 7 per indicare i valori compresi in un certo intervallo N.B: la variabile scelta può essere sia di tipo numerico che alfanumerico

esempio sulla selezione multipla creare un agenda settimanale INIZIO leggi giorno lun mesg vai in 3a giorno mar dom mer mesg vai in 5a mesg g.libero mesg g.festivo case else mesg non hai digitato un giorno della settimana! scrivi mesg

Operatori di relazione < <= > >= <> = minore di minore o uguale di maggiore di maggiore o uguale di Diverso uguale

Esercizio 1 : Calcolo del massimo tra due numeri Codice: ' input x=cint(txtx.text) y=cint(txty.text) 'blocco selezione a 2 vie if x>y then else massimo=x massimo=y end if 'output lblrisultato.caption=cstr(massimo)

Esercizio 2: nel seguente algoritmo dire per quali condizioni è eseguita l istruzione c? e l istruzione b? e l istruzione a? falso vero condizione1 Istruzione c falso condizione2 vero Istruzione b Istruzione a

Esercizio 3: nel seguente algoritmo dire per quali condizioni è eseguita l istruzione c? e l istruzione b? e l istruzione a? falso condizione1 vero falso condizione2 vero falso condizione2 vero Istruzione d Istruzione c Istruzione b Istruzione a

Esercizio 4: il segmento di programma riportato sotto presenta delle istruzioni inutili: if a=0 then lblmessaggio.caption= valore nullo else if a<>0 then lblmessaggio.caption= valore diverso da zero end if end if scritta in questo modo che tipo di struttura è?

Esercizio 5: compare nella label lblmessaggio dopo l esecuzione delle seguenti istruzioni: A=5 B=3 if A>B then C=A-B else C=B-A end if lblmessaggio.caption=c A=2 B=7 if A>B then C=A-B else C=B-A end if lblmessaggio.caption=c

Eserizio6: Su una certa somma di denaro viene applicata un imposta in base al seguente schema: Somma < 5000 imposta =5% Somma compresa tra 5000 e 10000 imposta = 10% Somma >10000 imposta =15% Calcolare la somma finale

Eserizio6: Diagramma a blocchi

' input somma=cdbl(txtsomma.text) 'blocco selezione multipla Select case somma Eserizio6: Codice case 0 to 5000 somma=somma+(somma*5)/100 case 5000 to 10000 somma=somma+(somma*10)/100 case is >10000 somma=somma+(somma*15)/100 case else somma=0 End select 'output lblrisultato.caption=cstr(somma)

Iterazione o Ripetizione I costrutti di iterazione detti anche di ripetizione o cicli, consentono di eseguire molte volte la stessa istruzione fino al verificarsi di una condizione. Due tipi: Condizionale: la ripetizione viene decisa in base al risultato di un test, da effettuarsi ad ogni iterazione: ripeti Istruzione finchè succede una certa cosa; mentre succede una certa cosa esegui Istruzione; Il test può essere fatto all inizio o alla fine. Enumerativa: ripetizione di un azione per un numero di volte determinato (o determinabile) all inizio dell esecuzione dell istruzione ripeti tot volte Sono equivalenti ma appropriati in situazioni diverse!

Ripetizione postcondizionale In Visual Basic Do istruzione Loop Until condizione Che equivale a: 1 Si esegue l istruzione 2 Viene valuta la condizione se il valore è FALSO si torna al passo 1 3 Se il valore è VERO si esce dal ciclo

Postcondizionale Con una ripetizione postcondizionale, se la condizione è inizialmente vera, il blocco di istruzioni verrà comunque eseguita almeno una volta. Per essere sicuri che il ciclo termini, esso dovrà contenere qualche istruzione che modifichi il valore di verità dell espressione.

Ripetizione precondizionale In Visual Basic Do While condizione istruzione Loop Che equivale a: 1 Valuta la condizione 2 Se il valore è VERO si esegue l istruzione e si torna al passo 1 3 Se il valore è FALSO si esce dal ciclo

Precondizionale Se la condizione è inizialmente falsa, l istruzione del ciclo non viene mai eseguita. Quindi un istruzione con una ripetizione precondizionale può: essere eseguito più volte non essere mai eseguito Attenzione: L istruzione interna ad una ripetizione precondizionale deve alla fine rendere falsa la condizione perchè il ciclo si fermi, altrimenti si va avanti all infinito (loop)

Ripetizione enumerativa In certi casi si conosce a priori il numero delle iterazioni che devono essere eseguite Esiste una struttura di ripetizione che funziona esattamente in questo modo: utilizza una variabile contatore che viene inizializzata ad un valore particolare e successivamente incrementata fino ad un valore massimo. Per ogni valore che il contatore assume viene ripetuta l esecuzione di un blocco di istruzioni.

Ripetizione enumerativa In Visual Basic FOR c<=max TO max STEP salto istruzione Next c Che equivale a: 1 Inizializza il contatore al valore min; 2 Se condizione è FALSA esci, altrimenti vai alla 3; 3 Esegui l istruzione 4 Incrementa contatore del valore salto 5 vai alla 2

Esempi

Esempio 1: Calcolo dell area di un rettangolo Tabella delle variabili Nome Descrizione Tipo Utilizzo base Base del rettangolo numerico Input altezza Altezza del rettangolo numerico Input area Area del rettangolo numerico Output

Esempio 1: Calcolo dell area di un rettangolo Interfaccia grafica Diagramma a blocchi

Esempio 1: Calcolo dell area di un rettangolo In Visual basic 'dichiarazione variabili dim base as integer dim altezza as integer dim area as double Private Sub btcalcola_click() 'input con text box base=cint(txtbase.text) altezza=cint(txtaltezza.text) 'blocco istruzioni area=base*altezza 'output con label lblarea.caption= Area = & CStr(area) End Sub Diagramma a blocchi

Esempio 2: Calcolo della media di tre numeri interi Tabella delle variabili Nome Descrizione Tipo Utilizzo a Primo numero numerico Input b Secondo numero numerico Input c Terzo numero numerico Input somma media Somma dei numeri a,b e c Media dei numeri a,b e c numerico numerico Lavoro Output

Esempio 2: Calcolo della media di tre numeri Interfaccia grafica Diagramma a blocchi

Esempio 2: Calcolo della media di tre numeri In Visual Basic 'dichiarazione variabili dim a as integer dim b as integer dim c as integer dim somma as integer dim media as double Private Sub btcalcola_click() 'input con text box a=cint(txta.text) b=cint(txtb.text) c=cint(txtc.text) 'blocco istruzioni somma=a+b+c media=somma/3 'output con label lblmedia.caption= Media = & CStr(media) End Sub Diagramma a blocchi

Esempio 3: Dato il nome e l anno di nascita di una persona, calcolarne l età Tabella delle variabili Nome Descrizione Tipo Utilizzo nome a_nascita a-attuale Nome della persona Anno di nascita della persona Anno attuale alfanumerico numerico numerico Input Input Input età Età della persona numerico Output

Esempio 3: Calcolo eta di una persona Interfaccia grafica Diagramma a blocchi

Esempio 3: Calcolo eta di una persona In Visual Basic 'dichiarazione variabili dim nome as string dim anno_nascita as integer dim anno_attuale as integer dim eta as integer Private Sub btcalcola_click() 'input con text box nome=txtnome.text anno_nascita=cint(txtnascita.text) anno_attuale=cint(txtattuale.text) 'blocco istruzioni eta=anno_attuale - anno_nascita 'output con label lbleta.caption= Il sign & nome & ha & CStr(eta) End Sub Diagramma a blocchi

Esempio 4: Visualizzare i numeri da 1 a 10 Tabella della variabili Nome n Descrizione Numero di elementi da visualizzare Tipo numerico Utilizzo costante cont num Numero che conta gli elementi visualizzati (contatore) Numero da visualizzare numerico numerico Lavoro/ Output Output

Esempio 4: Visualizzare i numeri da 1 a 10 Diagrammi a blocchi (post, pre, enumerativa)

Esempio 4: Visualizzare i numeri da 1 a 10 In Visual Basic 'dichiarazione costanti const n=10 'dichiarazione variabili dim num as integer Private Sub btvisualizza_click() 'inizializzazione num=0 'blocco post condizionale Do 'istruzioni num=num+1 'output con label lblnum.caption= Cstr(num) Loop Until num=10 'uscita ciclo End Sub Diagramma a blocchi

Esempio 4: Visualizzare i numeri da 1 a 10 In Visual Basic 'dichiarazione costanti const n=10 'dichiarazione variabili dim num as integer Private Sub btvisualizza_click() 'inizializzazione num=0 'blocco precondizionale Do while num <= n 'istruzioni num=num+1 'output con print print num Loop 'uscita ciclo End Sub Diagramma a blocchi

Esempio 4: Visualizzare i numeri da 1 a 10 In Visual Basic 'dichiarazione costanti const n=10 'dichiarazione variabili dim cont as integer Private Sub btvisualizza_click() 'blocco enumerativa For cont=1 To n Step 1 'output con print print cont Next cont 'uscita ciclo End Sub NB: step 1 e il cont del next possono essere omessi Diagramma a blocchi

Esercizi: Calcolo dell area di un quadrato, dato il perimetro Calcolo del massimo tra due numeri Calcolo la somma tra due numeri Scrivere la somma dei primi n numeri interi

Esercizio 2: Calcolo dell area di un quadrato dato il perimetro Tabella delle variabili Nome perimetro Descrizione Perimetro del quadrato Tipo numerico Utilizzo Input lato Lato del quadrato numerico Lavoro area Area del quadrato numerico Output

Esercizio 2: Calcolo dell area di un quadrato INIZIO Diagramma a blocchi leggi perimetro lato perimetro / 4 area lato * lato scrivi area FINE

Esercizio 3: Calcolo del massimo tra due numeri Tabella delle variabili Nome Descrizione X Primo numero Tipo numerico Utilizzo Input Y Secondo numero numerico Input massimo Massimo tra X e Y numerico Output

Esercizio 3: Calcolo del massimo tra due numeri INIZIO Diagramma a blocchi falso leggi X,Y X < Y vero massimo X massimo Y scrivi massimo FINE

Esercizio 1: Somma tra due numeri Tabella delle variabili Nome Descrizione X Primo addendo Tipo numerico Utilizzo Input Y Secondo addendo numerico Input somma Somma tra X e Y numerico Output

Esercizio 1: Somma tra due numeri INIZIO Diagramma a blocchi leggi numero X leggi numero Y somma X + Y scrivi somma FINE

somma Esercizio 4: Somma primi n numeri interi Tabella delle variabili: Nome n conta Descrizione Numero di elementi da sommare Numero che conta gli elementi sommati (contatore) Somma dei numeri (accumulatore) Tipo numerico numerico numerico Utilizzo Input lavoro Output

Esercizio 4: Diagramma a blocchi INIZIO leggi n somma 0 conta 1 conta <= n vero somma = somma+conta falso conta=conta+1 scrivi somma FINE