PROBLEMA ALGORITMO PROGRAMMA LINGUAGGI di PROGRAMMAZIONE

Slides:



Advertisements
Presentazioni simili
Linguaggi algoritmici
Advertisements

Dati strutturati A. Ferrari.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità G1 Dati strutturati.
Ripasso R1 Dati strutturati.
PROGRAMMARE IN PASCAL (le basi)
Algoritmi e Programmazione
Informatica Generale Marzia Buscemi
3. Programmazione strutturata (testo di riferimento: Bellini-Guidi)
Fondamenti di Informatica I CDL in Ingegneria Elettronica - A.A CDL in Ingegneria Elettronica - A.A Strutture di controllo Ing.
3. Programmazione strutturata (testo di riferimento: Bellini-Guidi)
Fondamenti di Informatica CDL in Ingegneria Gestionale - A.A Strutture di controllo Ing. Simona Colucci.
Dr. Francesco Fabozzi Corso di Informatica
Fondamenti di Informatica
INFORMATICA Strutture iterative
1 Istruzioni, algoritmi, linguaggi. 2 Algoritmo per il calcolo delle radici reali di unequazione di 2 o grado Data lequazione ax 2 +bx+c=0, quali sono.
Introduzione agli algoritmi. Definizione Sistema di regole e procedure di calcolo ben definite che portano alla soluzione di un problema con un numero.
Informatica Problema Algoritmo Programma
Informatica di base A.A. 2003/2004 Algoritmi e programmi
Informatica 2. Concetti fondamentali di programmazione Programmare vuol dire scrivere un algoritmo in un linguaggio che faccia funzionare un calcolatore.
Corso di Laurea in Biotecnologie Informatica (Programmazione)
Introduzione alla programmazione ll
Introduzione alla programmazione lll
DAL PROBLEMA ALL'ALGORITMO Problemi e Programmi Paolo Amico
Somma = A + B start Stampa Somma Leggi A,B stop Sub SOMMA( ) Dim A, B as Integer A = InputBox("Immetti un numero") B = InputBox(Immetti un secondo numero)
ALGORITMI E PROGRAMMAZIONE STRUTTURATA
Selezione (=scelta) con “if-else”
Strutture di controllo in C -- Flow Chart --
CAPITOLO 7.
Algoritmi e Programmazione (in C) Stefano Cagnoni e Monica Mordonini
Gli algoritmi.
ELEMENTI DI PROGRAMMAZIONE
File I record.
Algoritmi e Programmazione strutturata
Array a un dimensione : vettori
INFORMATICA MATTEO CRISTANI.
CODIFICA Da flow-chart a C++.
TURBOPASCAL …. ripassiamo - prof. V. Riboldi -.
Lezione 6 Strutture di controllo Il condizionale
Strutture di Controllo
Programmare in Visual Basic
Algoritmo Ordinamento di 3 Numeri
Appunti di Java (J2SDK 1.4.2, JDK 1.6.0) prof. Antonella Schiavon settembre 2009.
Programmazione Strutturata
TURBOPASCAL …. ripassiamo - prof. V. Riboldi -.
DIVERTIRSI CON SCRATCH
Dal problema all’ algoritmo
Il ciclo while.  Permette di ripetere un blocco di istruzioni fino a quando non si verifica un determinato evento  Il ciclo while può essere realizzato.
ALGORITMI Un algoritmo (detto anche procedura, prescrizione, processo, routine, metodo) è un insieme di regole (dette anche direttive o istruzioni) che,
Introduzione a Javascript
R 255 G 211 B 8 R 255 G 175 B 0 R 127 G 16 B 162 R 163 G 166 B 173 R 104 G 113 B 122 R 234 G 234 B 234 R 175 G 0 B 51 R 0 G 0 B 0 R 255 G 255 B 255 Supporting.
Lez. 9 (13/14)Elementi di Programmazione1 Lezione 9 Valutazione di espressioni File di testo sequenziali.
Lez 4 (13/14)Elementi di Programmazione1 Strutture di controllo 2.
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali
13 ottobre Decisioni F. Bombi 13 ottobre 2002.
Relazione sulle strutture dati Svolta da: Buccella Simone Strutture di dati Aree di memoria Puntatore numericibooleani alfabetici Statici dinamici Puntatori.
PRIMI ELEMENTI DI PROGRAMMAZIONE
Linguaggio C: Le basi Stefano Cagnoni e Monica Mordonini
Realizzazione software
1 Informatica Generale Marzia Buscemi Ricevimento: Giovedì ore , Dipartimento di Informatica, stanza 306-PS o per posta.
Algoritmi e Programmazione (in C) Stefano Cagnoni e Monica Mordonini
Diagrammi a blocchi.
Informatica e Informatica di Base
Problemi, algoritmi e programmazione
ALGORITMI Dal problema al programma Definizione di algoritmo
Programmazione dei Calcolatori Elettronici
Strutture di controllo
Unità di apprendimento 6 Dal problema al programma.
Istruzioni e algoritmi. Istruzioni Operative I passi elementari che compongono l’algoritmo sono le istruzioni. Distinguiamo: Istruzioni di input Istruzioni.
Basi di Java Strutture base di Java. Basi di java ▪Variabili ▪Operatori ▪Condizioni e Cicli ▪Array.
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali
Transcript della presentazione:

PROBLEMA ALGORITMO PROGRAMMA LINGUAGGI di PROGRAMMAZIONE Dim a,b as integer Private sub cmdcalcola_click() A=val(…..) B=val(…..) ….. End Sub PROBLEMA ALGORITMO PROGRAMMA LINGUAGGI di PROGRAMMAZIONE Diagrammi a blocchi Pseudocodifica

La successione ordinata di passi elementari che portano alla soluzione di un problema prende il nome di ALGORITMO. DEFINIZIONE MA … Un algoritmo, per essere definito tale, deve avere le seguenti caratteristiche: deve possedere un numero finito di passi deve essere comprensibile e non ambiguo per chi ne usufruisce deve risolvere tutti i problemi di una specifica CLASSE (si definisce CLASSE la totalità dei problemi con le stesse caratteristiche, p.e. la somma di 2 numeri) 4. a parità di condizioni iniziali (ossia con gli stessi dati di input ) deve fornire gli stessi risultati ( ossia gli stessi dati di output)

Gli algoritmi possono essere rappresentati sostanzialmente in 2 modi: in modo verbale, utilizzando cioè termini e parole del linguaggio comune, utilizzando cioè la cosiddetta pseudocodifica in modo grafico, utilizzando cioè i cosiddetti diagrammi a blocchi (flow chart) che prevedono la seguente simbologia: Blocchi di inizio e fine algoritmo Inizio Fine Blocco di assegnazione/elaborazione p.e. a  b oppure c  a+ b Blocco per l’introduzione e la visualizzazione dei dati Blocco decisionale per prendere strade diverse all’interno dell’algoritmo

OPPURE Un algoritmo può essere costituito da passi elementari Lettura dati / scrittura dati (operazioni di I/O) Operazioni di assegnazione/elaborazione OPPURE da passi strutturati (Complessi) / Strutture di Programmazione SEQUENZA SELEZIONE ITERAZIONE

STRUTTURA SEQUENZALE La struttura sequenziale, detta anche sequenza, è un passo elaborativo costituito da una successione di passi elementari di tipo I/O oppure assegnazione/elaborazione. In senso più generale si tratta di una successione di passi elementari o complessi. ........... A=B+1 C=B*4 D=B mod 5 .........

Struttura selettiva a 2 vie La struttura selettiva, detta anche selezione, è un passo elaborativo che prevede l’esecuzione di istruzioni diverse in base al valore di verità di una certa condizione. Tale struttura può essere di 2 tipi: a 1 via a 2 vie

Struttura selettiva a 1 via IF condizione then Istruzione 1 Istruzione 2 End if Struttura selettiva a 2 vie … IF condizione then Istruzione 1 Istruzione 2 else istruzione 3 istruzione 4 End if

Struttura iterativa a condizione finale a condizione iniziale La struttura iterativa, detta anche ciclo o iterazione, è un passo elaborativo che prevede la ripetizione di un certo numero di istruzioni fino a che una certa condizione cambia di stato. Tale struttura può essere di 2 tipi: a condizione finale a condizione iniziale

Struttura iterativa a condizione finale Do Istruzione 1 Istruzione 2 Istuzione 3 Loop until condizione

Struttura iterativa a a condizione iniziale Do while condizione Istruzione 1 Istruzione 2 Istuzione 3 Loop

La programmazione strutturata In passato non venivano usate unicamente queste strutture di programmazione ma, in particolare per realizzare la struttura iterativa veniva usata una istruzione “malefica”, la GOTO che permetteva di saltare da una istruzione all’altra del programma rendendo il programma stesso difficile da leggere e da modificare. Fu poi raccomandata la programmazione strutturata che raccomandava l’uso di sole 3 strutture fondamentali.

La programmazione strutturata Il fondamento della programmazione strutturata risulta quindi essere il teorema di Bohm e Jacopini formalizzato nel 1966 Il teorema di Bohm e Jacopini afferma che tutti gli algoritmi possono essere scritti senza nessuna istruzione di salto incondizionato (goto), utilizzando solo le strutture di controllo sequenza, selezione e iterazione. Un programma strutturato è più chiaro e quindi più facile da leggere, da testare, da correggere e da modificare Aumenta la leggibilità e la modificabilità dei programmi con conseguente abbattimento dei costi legati alla manutenzione.

Introdotti N numeri interi NUM; visualizzare la loro somma 4 X 4. Es. 4 5 2 8 4 9 2 12 -2 0 4 Dim num, n, k, c, s As Integer Dim s As Integer Private Sub cmdcalcola_Click() k = 0 c = 0 s = 0 n = Val(InputBox("inserisci la quantità dei numeri da introdurre", "fase di input")) Do num = Val(InputBox("inserisci un numero", "fase di input")) k = k + 1 c = c + 1 s = s + num Loop Until c = 4 Or k = n MsgBox "somma=" + CStr(s), vbInformation, "fase di output *** somme parziali" Loop Until k = n End Sub

TIPI di DATI TIPI di DATI sono classificati in due categorie: tipi elementari (o tipi semplici) in cui i dati non sono costituiti da altri dati, si tratta cioè di dati atomici; tipi strutturati, in cui i dati sono rappresentati da aggregazioni dalle quali è possibile estrarre i singoli dati tramite appropriate operazioni.

TIPI di DATI Ogni linguaggio di programmazione prevede alcuni tipi di dati sia semplici che strutturati (tipi primitivi). Per esempio in Visual Basic i TIPI ELEMENTARI o SEMPLICI sono: INTERO (Dim A as integer) REALE (Dim A as single, Dim B as double) CARATTERE (Dim A as char) BOOLEANO (DIm A as boolean) Le VARIABILI SEMPLICI sono entità del tipo specificato associate a una locazione di memoria la cui lunghezza è stabilita dal tipo con un NOME e un CONTENUTO.

TIPI di DATI DATI SEMPLICI In Visual Basic i TIPI ELEMENTARI o SEMPLICI predefiniti sono: INTERO  Dim A as integer REALE  Dim A as single, Dim B as double CARATTERE  Dim A as char BOOLEANO  DIm A as boolean Le VARIABILI SEMPLICI sono entità del tipo specificato associate a una locazione di memoria la cui lunghezza è stabilita dal tipo con un NOME e un CONTENUTO.

TIPI di DATI DATI STRUTTURATI I dati strutturati (STRUTTURA di DATI) corrispondono invece ad un raggruppamento di dati organizzati in base a un criterio, così da poter essere considerati come un unico oggetto. In Visual Basic i TIPI di DATI STRUTTURATI predefiniti sono: VETTORE (o ARRAY)  Dim A(1 to 10) as integer RECORD  …………….

I VETTORI DIM V(1 TO 10) as INTEGER Un VETTORE o ARRAY (a una dimensione) è una struttura di dati di tipo SEQUENZIALE, ossia gli elementi componenti sono disposti uno di fianco all’altro costituita da un insieme di elementi OMOGENEI tra di loro individuabili mediante un INDICE che indica la posizione del singolo elemento nella struttura. Il vettore ha un NOME COLLETTIVO mentre ogni elemento ha un NOME INDIVIDUALE dato dal nome collettivo seguito tra parentesi da un indice. DIM V(1 TO 10) as INTEGER

I VETTORI 5 -2 13 -9 11 10 18 V 6 1 2 3 4 5 7 8 9 10 Ci si riferisce al singolo elemento con la sintassi V(valore dell’indice) V(1) contiene il dato intero 5 V(2) contiene il dato intero -2 V(3) contiene il dato intero …….. V(4) contiene il dato intero …….. V(5) contiene il dato intero …….. V(6) contiene il dato intero …….. V(7) contiene il dato intero …….. V(8) contiene il dato intero …….. V(9) contiene il dato intero …….. V(10) contiene il dato intero ……..