BIOINFO3 - Lezione 15 ISTRUZIONI

Slides:



Advertisements
Presentazioni simili
Sottoprogrammi: funzioni e procedure
Advertisements

Scomposizione funzionale
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità E1 Dallanalisi del problema alla definizione dellalgoritmo.
Analisi – Progettazione - Programmazione
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità F2 Selezione.
Linguaggi algoritmici
Costruzione di un semplice programma che opererà su uno smartphone
Selezione A. Ferrari.
Evoluzione dei linguaggi di programmazione
Algoritmi e Programmazione
Informatica Generale Susanna Pelagatti
3. Programmazione strutturata (testo di riferimento: Bellini-Guidi)
Corso di Robotica Residenza Universitaria Alcantara 20 Gennaio 2005
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.
Il computer ragiona? Problemi e algoritmi.
Il Software: Obiettivi Programmare direttamente la macchina hardware è molto difficile: lutente dovrebbe conoscere lorganizzazione fisica del computer.
Informatica Problema Algoritmo Programma
Informatica 2. Concetti fondamentali di programmazione Programmare vuol dire scrivere un algoritmo in un linguaggio che faccia funzionare un calcolatore.
1 Corso di Informatica (Programmazione) Lezione 11 (19 novembre 2008) Programmazione in Java: controllo del flusso (iterazione)
Programmazione Un programma descrive al computer, in estremo dettaglio, la sequenza di passi necessari a svolgere un particolare compito L’attività di.
Introduzione alla programmazione ll
Introduzione alla programmazione lll
DAL PROBLEMA ALL'ALGORITMO Problemi e Programmi Paolo Amico
Fondamentidi Programmazione Corso: Fondamenti di Programmazione Classe: PARI-DISPARI Docente: Prof. Luisa Gargano Testo: Aho, Ulman, Foundations of Computer.
Primi Elementi di Programmazione in C++
Fondamenti di Informatica Algoritmi
Algoritmi e Programmazione (in C) Stefano Cagnoni e Monica Mordonini
Gli algoritmi.
Algoritmi e diagrammi di flusso
Elementi di Informatica
Elementi di Informatica
Dall’algoritmo al programma.
ELEMENTI DI PROGRAMMAZIONE
2000 Prentice Hall, Inc. All rights reserved. Capitolo 3 (Deitel) Lo sviluppo di programmi strutturati Indice degli argomenti Introduzione 3.2 -
INFORMATICA MATTEO CRISTANI.
L’ingegneria del software
PROGRAMMAZIONE: linguaggi
BIOINFO3 - Lezione 221 Listruzione IF-ELSE prevede un secondo blocco di istruzioni da eseguire in alternativa al primo nel caso la condizione sia falsa.
BIOINFO3 - Lezione 321 ACCESSO REMOTO AL SERVER SIBILLA Attraverso Internet è possibile accedere al server sibilla.cribi.unipd.it. Potrete così effettuare.
BIOINFO3 - Lezione 201 Come in ogni corso di introduzione ad un linguaggio di programmazione, proviamo a scrivere lormai celebre primo programma di prova.
BIOINFO3 - Lezione 111 CGI-BIN CGI-BIN sono chiamati i programmi la cui esecuzione può essere richiesta attraverso il WEB. Il server web (httpd) della.
BIOINFO3 - Lezione 211 INPUT La lettura di un input dallo standard input (tastiera) si effettua utilizzando lespressione. Quando il programma incontra.
BIOINFO3 - Lezione 331 SUBROUTINE IN PERL Una subroutine (funzione, metodo, procedura o sottoprogramma), e` una prozione di codice all`interno di un programma.
ECDL Patente europea del computer
COME RAGIONA UN COMPUTER
DIVERTIRSI CON SCRATCH
Linguaggi algoritmici
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.
Rappresentazione degli algoritmi
La ricorsione.
Informatica Lezione 5 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
1 Parte 2 Fondamenti di programmazione. 2 Definizione intuitiva di algoritmo Elenco finito di istruzioni che specificano una serie di operazioni, eseguendo.
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali
13 ottobre Decisioni F. Bombi 13 ottobre 2002.
PRIMI ELEMENTI DI PROGRAMMAZIONE
Algoritmi.
Realizzazione software
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
Il computer ragiona? Problemi e algoritmi. Paola Pianegonda2 Cos’è un problema?  Problema è qualsiasi situazione della quale non conosciamo la soluzione.
Programmazione dei Calcolatori Elettronici
Dal problema al programma
Strutture di controllo
Informatica Problemi e algoritmi. una situazione che pone delle domande cui si devono dare risposte. Col termine problema o situazione problematica s’indica.
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.
Dal PROBLEMA all’ALGORITMO
Transcript della presentazione:

BIOINFO3 - Lezione 15 ISTRUZIONI Un’ISTRUZIONE è un ordine fornito ad una entità esecutrice di eseguire un’AZIONE Ad esempio, possiamo dire ad un nostro amico di porgerci un libro, oppure “dire” alla nostra televisione di mostrarci il primo canale… L’esecutore potrà essere in grado di svolgere solo un insieme limitato di azioni (es. la TV, un frullatore), oppure potrà essere GENERAL PURPOSE, cioè capace di eseguire una grande varietà di azioni (es. l’uomo, il computer) ESECUTORE istruzione azione BIOINFO3 - Lezione 15

BIOINFO3 - Lezione 15 PROGRAMMI Una sequenza di istruzioni forma un PROGRAMMA. La sequenza delle azioni corrispondenti è chiamata PROCESSO Es: Televisione: mostrami il canale 1, poi alza il volume, poi abbassa la luminosità ESECUTORE istruzione1 azione1 istruzione2 istruzionen ……….. azione2 ……. azionen PROGRAMMA PROCESSO BIOINFO3 - Lezione 15

BIOINFO3 - Lezione 15 IL COMPUTER Il computer è un esecutore general purpose in grado di accettare istruzioni fornitegli utilizzando un particolare LINGUAGGIO. E’ inoltre incredibilmente veloce e preciso. Bisogna però sempre ricordarsi che è in grado di eseguire solo ed esattamente quanto gli viene richiesto. Non ha alcuna capacità di capire quello che sta facendo, né tantomeno verificare se ciò corrisponde esattamente ai nostri desideri BIOINFO3 - Lezione 15

BIOINFO3 - Lezione 15 ALGORITMO Con il termine ALGORITMO si indica la sequenza di azioni necessarie (o le corrispondenti istruzioni) per risolvere un particolare problema. Differenza tra PROCESSO e ALGORITMO (sempre che esista una tale differenza). Il termine algoritmo è spesso usato infatti tranquillamente come sinonimo sia di processo sia di programma La differenza, comunque, è un po’ sottile. Un processo è un insieme generico di azioni, eventualmente anche fini a se stesse. Un algoritmo è invece finalizzato alla soluzione di un particolare problema. Un programma rappresenta una implementazione dell’algoritmo, cioè la sua traduzione in un linguaggio comprensibile dal computer BIOINFO3 - Lezione 15

SOLUZIONE DI UN PROBLEMA BIOINFO3 - Lezione 15 SOLUZIONE DI UN PROBLEMA L’approccio tipicamente utilizzato (in informatica) per risolvere un problema e quindi per sviluppare un algoritmo (eventualmente tradotto poi in un programma scritto in un qualche linguaggio di programmazione) è detto TOP-DOWN. Il problema è spezzato in diversi sottoproblemi e anziché risolvere l’intero problema nella sua complessità si tentano di risolvere i singoli sottoproblemi più semplici problema sottoprobleman sottoproblema1 sottoproblema2 BIOINFO3 - Lezione 15

BIOINFO3 - Lezione 15 FLOW-CHART Una notazione usata per descrivere un algoritmo è quella cosiddetta dei FLOW-CHART (diagrammi di flusso). Un diagramma di flusso descrive il “flusso” delle azioni da svolgere rappresentandolo in una forma grafica. In questa notazione si disegnano dei blocchi, ciascuno dei quali rappresenta una azione (un’istruzione), connessi tra loro da archi orientati, che permettono di identificare l’ordine in cui effettuare le azioni BIOINFO3 - Lezione 15

BIOINFO3 - Lezione 15 INIZIO E FINE L’inizio e la fine di un algoritmo in un flow-chart sono rappresentati da un blocco di tipo ovale. All’interno del blocco normalmente è scritto se si tratta di un blocco di INIZIO o di FINE. Il significato è ovvio: un blocco di inizio è sempre il primo blocco di un flow-chart, mentre un blocco di fine fa terminare l’esecuzione dell’algoritmo INIZIO FINE BIOINFO3 - Lezione 15

BIOINFO3 - Lezione 15 AZIONE GENERICA Quando vogliamo rappresentare l’esecuzione di una azione generica si usa un blocco rettangolare. All’interno del blocco è indicata l’azione. Nella maggior parte dei casi l’azione consiste nell’assegnare ad una VARIABILE il risultato di una ESPRESSIONE calcolata in quel momento. Esempio: “ricava il valore della variabile A, somma 1 a questo valore ed assegna il risultato alla variabile A stessa” Se prima del blocco la variabile A valeva 3, una volta eseguita l’istruzione (effettuata l’operazione) varrà 4 AZIONE A=A+1 BIOINFO3 - Lezione 15

BIOINFO3 - Lezione 15 TEST I test permettono di definire esecuzioni alternative. A seconda del risultato di un’espressione logica (che quindi sarà o VERO o FALSO) è possibile scegliere quale delle due esecuzioni alternative dovrà essere effettivamente intrapresa. Arrivati al blocco di test, rappresentato da un rombo, viene valutata l’espressione logica indicata. Se questa è VERA si prosegue per il percorso indicato con “vero”, se FALSA si prosegue per l’altro percorso falso TEST vero BIOINFO3 - Lezione 15

BIOINFO3 - Lezione 15 INPUT Se desideriamo passare all’algoritmo un valore (che quindi potrà variare da esecuzione ad esecuzione) si disegna un parallelogramma Normalmente all’interno del blocco è indicato il nome della variabile destinata a ricevere il valore di input Ad esempio in un algoritmo che prepara la dieta di una persona un dato di input potrebbe essere il peso della persona (che è un parametro variabile da persona a persona e anche nel tempo, per la stessa persona) da fornire di volta in volta ad ogni differente esecuzione dell’algoritmo. In quest’esempio possiamo chiamare PESO la variabile a cui assegnare il valore ricevuto dall’esterno PESO BIOINFO3 - Lezione 15

OUTPUT In questo caso la simbologia è piuttosto varia. BIOINFO3 - Lezione 15 OUTPUT In questo caso la simbologia è piuttosto varia. All`inizio si usavano blocchi diversi a seconda del tipo di apparecchiatura che portava in output i risultati. C’era un simbolo per le stampanti, un simbolo per il video, un simbolo per il disco, uno per il nastro magnetico, uno per le schede perforate e così via… Oggi preferibilmente viene usato invece lo stesso simbolo a parallelogramma usato per l’input BIOINFO3 - Lezione 15

BIOINFO3 - Lezione 15 UN ESEMPIO Vogliamo disegnare un semplice flow-chart che prepari una dieta personalizzata in base al peso di una persona, fornito in input BIOINFO3 - Lezione 15

BIOINFO3 - Lezione 15 UN ALTRO ESEMPIO Leggere un numero in input. Se pari dividerlo per 2, se dispari moltiplicarlo per 2. Stampare il risultato BIOINFO3 - Lezione 15

ESEMPI DI ESECUZIONE inizio 5a a pari? 5 pari? falso a=a*2=5*2=10 BIOINFO3 - Lezione 15 ESEMPI DI ESECUZIONE inizio 5a a pari? 5 pari? falso a=a*2=5*2=10 stampare a 10 fine ------------------------ 8a a pari? 8 pari? vero a=a/2=8/2=4 stampare a 4 BIOINFO3 - Lezione 15

BIOINFO3 - Lezione 15 UN ALTRO ESEMPIO Leggere dei numeri dall’input e sommarli finchè non viene letto un numero negativo. Stampare il numero dei numeri letti e la loro somma e media. BIOINFO3 - Lezione 15

ESECUZIONE inizio n=0, s=0 3a a<0? 3<0? falso n=n+1=0+1=1 BIOINFO3 - Lezione 15 ESECUZIONE inizio n=0, s=0 3a a<0? 3<0? falso n=n+1=0+1=1 s=s+a=0+3=3 7a a<0? 7<0? falso n=n+1=1+1=2 s=s+a=3+7=10 -1a a<0? -1<0? vero n>0? 2>0? vero m=s/n=10/2=5 stampare n,s,m  2 10 5 fine BIOINFO3 - Lezione 15

BIOINFO3 - Lezione 15 ESERCIZIO Provate voi adesso: Leggere dei numeri da input fino a trovarne uno uguale a 0. Stampare il valore massimo dei numeri letti BIOINFO3 - Lezione 15

BIOINFO3 - Lezione 15 Esercizio 11. Disegnare un flow-chart per risolvere il seguente problema. Leggere da input due numeri a e b. Se i due numeri sono uguali stampare “NUMERI UGUALI”. Altrimenti stampare “NUMERI DIVERSI” Esercizio 12. Leggere una frase f da input. Leggere un numero n da input. Stampare n volte la frase f BIOINFO3 - Lezione 15

RIEPILOGO Istruzioni Programmi Algoritmi e soluzione di problemi BIOINFO3 - Lezione 15 RIEPILOGO Istruzioni Programmi Algoritmi e soluzione di problemi Flow-Chart: blocchi di inizio e fine, di azione, di test, di input e output BIOINFO3 - Lezione 15