Dall analisi alla codifica (2)
|
|
- Sibilla Sassi
- 5 anni fa
- Visualizzazioni
Transcript
1 Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 09 Dall analisi alla codifica (2) Dall analisi alla codifica (2) 1
2 Contenuti Problemi di ingresso e uscita - esercizi Lunghezza di una sequenza di numeri interi Perimetro di un triangolo Equazioni di primo e secondo grado Elevamento a potenza Dall analisi alla codifica (2) 2
3 Esercizi Per tutti gli esercizi che seguono svolgere i seguenti passi: Definire la specifica del problema indicando sinteticamente: Il problema I dati di input Le pre-condizioni che devono soddisfare i dati di input I dati di output Le post-condizioni che devono soddisfare i dati di output Scrivere l algoritmo risolutivo in pseudo-codice e/o con il diagramma a blocchi Scrivere la traccia del processo di esecuzione per almeno un dato insieme di dati di input Scrivere la codifica Java ed eseguire il programma su diversi dati di input 3
4 Lunghezza di una sequenza Si consideri il seguente problema di ingresso-uscita si vuole leggere dalla tastiera una sequenza non vuota di numeri interi, disposti su una singola linea e separati da spazi, calcolare la lunghezza della sequenza (ovvero, il numero di elementi della sequenza) e visualizzarla sullo schermo Scrivi una sequenza di numeri interi La lunghezza della sequenza è 4 Dall analisi alla codifica (2) 4
5 Lunghezza di una sequenza Problema lettura di una sequenza di numeri interi e calcolo della lunghezza Dati di ingresso una sequenza di numeri interi A1, A2,..., AN Pre-condizione N>0, i numeri sono disposti su una singola linea e separati da spazi Dati di uscita un numero L Post-condizione L è uguale alla lunghezza N della sequenza A1, A2,..., AN Dall analisi alla codifica (2) 5
6 Lunghezza di una sequenza Una variante del problema della lettura e somma di una sequenza di numeri interi bisogna leggere dalla tastiera una sequenza di numeri interi ma non bisogna calcolarne la somma bisogna piuttosto contare il numero degli elementi È possibile scrivere un algoritmo come adattamento di quello della somma di una sequenza di numeri non ripartendo da zero anziché gestire la variabile somma va gestita una variabile lunghezza che inizialmente deve valere zero ogni volta che viene letto un elemento deve essere incrementata di uno lunghezza viene usata per contare il numero degli elementi della sequenza che sono stati letti al termine, è uguale alla lunghezza della sequenza Dall analisi alla codifica (2) 6
7 Algoritmo per il calcolo della lunghezza di una sequenza (pseudocodifica) 1. leggi una sequenza di numeri interi e calcolane la lunghezza lunghezza 1.1 inizialmente lunghezza vale zero lunghezza = 0; 1.2 finché ci sono altri elementi nella sequenza, leggili e incrementa lunghezza while (!Lettore.in.eoln() ) { leggi un elemento della sequenza numero dalla tastiera numero = Lettore.in.leggiInt(); incrementa lunghezza lunghezza = lunghezza + 1; 2. visualizza lunghezza System.out.println(lunghezza); Dall analisi alla codifica (2) 7
8 Algoritmo per il calcolo della lunghezza di una sequenza (diagramma a blocchi) input (A1,,An) l = 0 Ci sono ancora numeri da leggere? No Si num = numero letto l = l+1 scrivi l Fine assegnazione selezione iterazione 8
9 Lunghezza di una sequenza: codifica import fiji.io.*; /* Applicazione che calcola la lunghezza di una sequenza di numeri dati in input */ class LunghezzaSequenza{ public static void main(string[] args){ int num; int l; //precondizioni sequenza non vuota l=0; System.out.println("Scrivi una sequenza non vuota di numeri interi"); /* finche' non viene dato invio */ while (!Lettore.in.eoln()){ /*lettura di un numero ad ogni iterazione */ num = Lettore.in.leggiInt(); l=l+1; System.out.print("lunghezza calcolata "); System.out.println(l); Dall analisi alla codifica (2) 9
10 Perimetro di un triangolo Si consideri il seguente problema di ingresso-uscita leggere dalla tastiera le coordinate dei vertici di un triangolo, calcolare il perimetro del triangolo e visualizzarlo sullo schermo Scrivi le coordinate del primo vertice: 2 2 Scrivi le coordinate del secondo vertice: 4 6 Scrivi le coordinate del terzo vertice: 8 2 Il perimetro del triangolo è Dall analisi alla codifica (2) 10
11 Perimetro di un triangolo Problema Calcolare il perimetro di un triangolo date le coordinate dei suoi vertici Input Coordinate dei vertici x1,y1 x2,y2 x3,y3 Pre-condizioni nessuna Output Un numero P Post-condizioni P è il perimetro del triangolo di vertici x1,y1 x2,y2 x3,y3 Dall analisi alla codifica (2) 11
12 Perimetro di un triangolo input (x1,y1,x2,y2,x3,y3) assegnazione d12=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)) d13=sqrt((x1-x3)*(x1-x3)+(y1-y3)*(y1-y3)) d23=sqrt((x2-x3)*(x2-x3)+(y2-y3)*(y2-y3)) perimetro = d12 + d13 + d23 Scrivi perimetro Fine 12
13 Perimetro di un triangolo import fiji.io.*; /* Applicazione che calcola e visualizza * il perimetro di un triangolo. */ class PerimetroTriangolo { public static void main(string[] args) { A che serve? Indica che la classe usa classi del package fiji.io, in particolare int x1, y1; // coordinate primo vertice int x2, y2; // coordinate secondo vertice int x3, y3; // coordinate terzo vertice double d12, d13, d23; // distanze tra i vertici double perimetro; // perimetro del triangolo /* imposta le coordinate dei vertici */ System.out.println("CALCOLO DEL PERIMETRO DI UN TRIANGOLO"); System.out.println("scrivi le coordinate del primo vertice"); x1 = Lettore.in.leggiInt(); y1 = Lettore.in.leggiInt(); System.out.println("scrivi le coordinate del secondo vertice"); x2 = Lettore.in.leggiInt(); y2 = Lettore.in.leggiInt(); System.out.println("scrivi le coordinate del terzo vertice"); x3 = Lettore.in.leggiInt(); y3 = Lettore.in.leggiInt(); Dall analisi alla codifica (2) segue...
14 Perimetro di un triangolo Esiste un metodo che calcola la potenza? Math.pow (vedere documentazione classe Math)... segue... /* calcola la distanza tra p1 e p2 */ d12 = Math.sqrt((x1-x2)*(x1-x2) + (y1-y2)*(y1-y2)); d13 = Math.sqrt((x1-x3)*(x1-x3) + (y1-y3)*(y1-y3)); d23 = Math.sqrt((x2-x3)*(x2-x3) + (y2-y3)*(y2-y3)); /* calcola il perimetro del triangolo */ perimetro = d12 + d13 + d23; /* visualizza il perimetro */ System.out.print("Il perimetro del triangolo e' "); System.out.println(perimetro); System.out sa eseguire anche una operazione print, che visualizza l argomento, ma senza poi andare a capo (come fa println) Dall analisi alla codifica (2) 14
15 Equazioni di 1 e 2 grado Si consideri il seguente problema di ingresso-uscita Leggere da tastiera i coefficienti di un equazione di primo o secondo grado, calcolare la/e radice/i dell equazione e visualizzarla/e sullo schermo Scrivi i coefficienti dell equazione Le radici dell equazione sono -4 e -1 Dall analisi alla codifica (2) 15
16 Equazioni di 1 e 2 grado Problema Input Calcolo delle radici di un equazione di primo o secondo grado i coefficienti a, b, c dell equazione ax 2 +bx+c Pre-condizioni a e b non entrambi nulli Output le radici dell equazione, x1 e x2, oppure segnalazione di non esistenza di radici Post-condizioni a*x1 2 + b*x1 + c = 0 e a*x2 2 + b*x2 + c = 0 Dall analisi alla codifica (2) 16
17 Equazioni di 1 e 2 grado Si input (a,b,c) a = 0 No selezione assegnazione Si b = 0 No delta = b*b-4*a*c Scrivi no soluzione x1 = -c/b Scrivi 1 soluzione,x1 Si Scrivi no soluzione delta < 0 No x1 =(-b + sqrt(delta))/2*a x2 =(-b - sqrt(delta))/2*a Scrivi x1 e x2 Fine Dall analisi alla codifica (2) 17
18 Equazioni di 1 e 2 grado Programma: Calcolo radici equazione di 1 e 2 grado Variabili: double a, b, c, delta, x1, x2; Istruzioni: input(a,b,c) if (a==0){ if (b==0) scrivi( non esistono soluzioni ); else{ x1 = -c/b; scrivi( unica soluzione, x1); else{ delta = b*b - 4*a*c; if (delta < 0) scrivi( non esistono soluzioni ); else{ x1 = (-b + sqrt(delta))/2*a; x2 = (-b - sqrt(delta))/2*a; scrivi( soluzioni:, x1, x2); Dall analisi alla codifica (2) 18
19 Equazioni di 1 e 2 grado import fiji.io.*; /** Applicazione che calcola le radici reali delle equazioni di secondo grado */ class Equazioni2grado{ public static void main(string[] args){ double a,b,c; //coefficenti dell'equazione double delta; //valore del delta double x1,x2; //radici reali, se esistono /*lettura dei coefficienti da input */ System.out.println("Scrivi i coefficienti dell'equazione"); a = Lettore.in.leggiDouble(); b = Lettore.in.leggiDouble(); c = Lettore.in.leggiDouble(); Dall analisi alla codifica (2) 19
20 Equazioni di 1 e 2 grado if (a==0){ if (b==0) System.out.println("l'eq. non ha soluzioni"); else{ x1 = -c/b; System.out.println("l'eq. ha 1 sola soluzione"); System.out.println(x1); else{ //a<>0 /* calcolo del delta */ delta = b*b-4*a*c; /* verifica se il delta e' positivo o nullo */ if (delta<0) System.out.println("l'equazione non ammette soluzioni"); else{ x1 = (-b+math.sqrt(delta))/(2*a); x2 = (-b-math.sqrt(delta))/(2*a); System.out.print("le soluzioni sono "); System.out.print(x1); System.out.print(" e "); System.out.println(x2); Dall analisi alla codifica (2) 20
21 Elevamento a potenza Si consideri il seguente problema di ingresso-uscita Leggere da tastiera due numeri naturali positivi (o nulli), base ed esponente, calcolare l elevamento a potenza, base esp, e visualizzare il risultato sullo schermo Scrivi la base: 10 Scrivi l esponente: 2 La potenza è 100 Dall analisi alla codifica (2) 21
22 Elevamento a potenza Problema Calcolare l elevamento a potenza tra numeri naturali positivi (o nulli) Input Base, esp Pre-condizioni Base ed esp interi positivi o nulli Base ed esp non entrambi nulli Output pot Post-condizioni pot = base esp Dall analisi alla codifica (2) 22
23 Elevamento a potenza No input (base,esp) base==0 and esp==0 Si selezione assegnazione iterazione pot = 1 esp > 0 Si pot = pot * base No Scrivi errore esp = esp - 1 scrivi pot Fine Dall analisi alla codifica (2) 23
24 Elevamento a potenza Programma: Variabili: Elevamento a potenza int base; int esp; int pot; Istruzioni: 1. input(base, esp) 2. if (base==0 AND esp ==0) 3. scrivi( errore ); else{ 4. pot = 1; 5. while (esp > 0) { 6. pot = pot * base; 7. esp = esp 1; 8. scrivi pot; Dall analisi alla codifica (2) 24
25 Elevamento a potenza: traccia del processo di esecuzione Istruzione base esp pot La variabile pot contiene il valore della potenza Dall analisi alla codifica (2) 25
26 Elevamento a potenza: codifica import fiji.io.*; /* elevamento a potenza tra numeri naturali positivi (o nulli) */ class Potenza { public static void main(string[] args) { /* Definizione variabili */ int base; // base int esp; // esponente int pot; // risultato /** Corpo programma **/ System.out.println("elevamento a potenza:"); System.out.print("base: "); base = Lettore.in.leggiInt(); System.out.print("esponente:"); esp = Lettore.in.leggiInt();... segue... Dall analisi alla codifica (2) 26
27 Elevamento a potenza... segue... if ((base == 0) && (esp == 0)) System.out.println("errore"); else{ pot = 1; while (esp > 0) { pot = pot * base; esp = esp - 1; System.out.println("risultato = " + pot); Dall analisi alla codifica (2) 27
Dall analisi alla codifica (2)
Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 10 Dall analisi alla codifica (2) Aprile 2010 Dall analisi alla codifica (2) 1 Contenuti Problemi di ingresso e uscita (esempi ed esercizi)
DettagliEsempi di programmi. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa E01. A. Miola Settembre 2007
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa E01 Esempi di programmi A. Miola Settembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Esempi di programmi - 1 1 Contenuti
DettagliDall analisi alla codifica (1)
Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 09 Dall analisi alla codifica (1) Aprile 2010 Dall'analisi alla codifica (1) 1 Contenuti... Problemi e algoritmi comprensione del problema
DettagliProblemi, algoritmi e oggetti
Fondamenti di informatica Oggetti e Java Luca Cabibbo Capitolo 5 Marzo 2007 1 Fondamenti di informatica: Oggetti e Jav Contenuti... Problemi e algoritmi comprensione del problema identificazione di un
DettagliCorso di Laurea Ingegneria Informatica Fondamenti di Informatica 1
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa E04 Esempi di algoritmi e programmi C. Limongelli - A. Miola Settembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Esempi
DettagliCorso di Laurea Ingegneria Informatica Fondamenti di Informatica
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa E04 Esempi di algoritmi e programmi C. Limongelli - A. Miola Novembre 2009 http://www.dia.uniroma3.it/~java/fondinf/ Esempi di
DettagliCorso di Laurea Ingegneria Informatica Fondamenti di Informatica
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa E03 Esempi di algoritmi e programmi A. Miola Novembre 2011 1 Contenuti q Progettazione di algoritmi q Problemi di ingresso - uscita
DettagliCorso di Laurea Ingegneria Informatica Fondamenti di Informatica 1
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa E03 Esempi di algoritmi e programmi A. Miola Settembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Esempi di algoritmi e
DettagliCorso di Laurea Ingegneria Civile Fondamenti di Informatica. Esercizi sui metodi. Carla Limongelli. Maggio Esercizi 1
Corso di Laurea Ingegneria Civile Fondamenti di Informatica Esercizi sui metodi Carla Limongelli Maggio 2010 Esercizi 1 Passaggio di parametri di tipo primitivo Indicare che cosa viene visualizzato sullo
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
DettagliCorso di Laurea Ingegneria Civile Elementi di Informatica. Esercizi. Carla Limongelli. Esercizi 1
Corso di Laurea Ingegneria Civile Elementi di Informatica Esercizi Carla Limongelli Esercizi 1 Quanti giorni in un mese? Scrivere un metodo che ricevuto in input un mese e un anno, restituisca il numero
DettagliIterazione. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa E07. C. Limongelli Novembre 2007
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa E07 Iterazione C. Limongelli Novembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Iterazione 1 Contenuti Si vogliono formalizzare
DettagliCorso di Laurea Ingegneria Elementi di Informatica. Iterazione. C. Limongelli. Iterazione
Corso di Laurea Ingegneria Elementi di Informatica C. Limongelli 1 Contenuti Si vogliono formalizzare diverse tecniche per la risoluzione di problemi di: Accumulazione Conteggio Verifica esistenziale Verifica
DettagliIterazione. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica. Dispensa E06. C. Limongelli Dicembre 2011
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa E06 C. Limongelli Dicembre 2011 1 Contenuti q Si vogliono formalizzare diverse tecniche per la risoluzione di problemi di: Accumulazione
DettagliFondamenti di Informatica T-1. Variabili, costanti e operazioni Selezione
Variabili, costanti e operazioni Selezione 2 Variabili Dichiarazione di una variabile: ; Esempio: variabile numerica intera numauto: int numauto; Assegnare alla variabile
DettagliCorso di Laurea Ingegneria Civile Fondamenti di Informatica. Dispensa 18. Iterazione. Maggio Iterazione
Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 18 Maggio 2010 1 Contenuti Si vogliono formalizzare diverse tecniche per la risoluzione di problemi di: Accumulazione Conteggio Verifica
DettagliCorso di Laurea Ingegneria Civile Fondamenti di Informatica. Dispensa 15 Definizione di metodi. Carla Limongelli Maggio Definizione di metodi 1
Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 15 Definizione di metodi Carla Limongelli Maggio 2010 Definizione di metodi 1 Contenuti Introduzione alla definizione di metodi Prototipo
DettagliCostrutto if. Come utilizzare il costrutto condizionale if
Costrutto if Come utilizzare il costrutto condizionale if Costrutto if (1/2) Il costrutto if permette di effettuare azioni diverse a seconda del valore di una certa condizione booleana. if (condizione)
DettagliCostrutto switch. Come utilizzare il costrutto switch
Costrutto switch Come utilizzare il costrutto switch Costrutto switch (1/4) Il costrutto if-else permette di selezionare le istruzioni da eseguire tra due alternative, a seconda del valore di una condizione
DettagliEspressioni. Operatori aritmetici e metodi della classe java.lang.math
Espressioni Operatori aritmetici e metodi della classe java.lang.math Assicurarsi di aver selezionato il progetto dal Package Explorer Aggiungere il package fiji.jar Selezionare dal menù: Project Properties
DettagliEspressioni. Operatori aritmetici e metodi della classe java.lang.math
Espressioni Operatori aritmetici e metodi della classe java.lang.math Assicurarsi di aver selezionato il progetto dal Package Explorer Aggiungere il package fiji.jar Selezionare dal menù: Project Properties
DettagliMetodi statici. Dichiarazione e chiamata di metodi statici
Metodi statici Dichiarazione e chiamata di metodi statici Cos è un metodo Un metodo è un blocco di istruzioni che fornisce una funzionalità e viene identificato con un nome Può avere dei parametri ed un
DettagliIstruzioni Condizionali
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa 10 Istruzioni Condizionali Carla Limongelli Novembre 2011 http://www.dia.uniroma3.it/~java/fondinf/ Istruzioni condizionali 1 Contenuti
DettagliLaboratorio di Informatica 4 Novembre 2005
Laboratorio di Informatica 4 Novembre 2005 Marco Iarusso Programmazione Java Ringraziamenti Parte della presente dispensa materiale didattico è derivato dalla dispensa prodotta da Luca Cabibbo Dip. Informatica
DettagliMetodi statci. Dichiarazione e chiamata di metodi statci
Metodi statci Dichiarazione e chiamata di metodi statci Cos è un metodo Un metodo è un blocco di istruzioni che fornisce una funzionalità e viene identificato con un nome Può avere dei parametri ed un
DettagliLaboratorio di Programmazione Lezione 2. Cristian Del Fabbro
Laboratorio di Programmazione Lezione 2 Cristian Del Fabbro Prossima lezione GIOVEDÌ 29 OTTOBRE 14:00 Input da tastiera package input; import java.io.*; public class Input { public static void main(string[]
DettagliRichiami di Fondamenti di Informatica - 1
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 2 Richiami di Fondamenti di Informatica - 1 A. Miola Febbraio 2008 http://www.dia.uniroma3.it/~java/fondinf1/ Richiami di FdI-1
DettagliFondamenti di Informatica
Fondamenti di Informatica (L-Z) Corso di Laurea in Ingegneria Gestionale Introduzione alla Programmazione Prof. Stefano Mariani Dott. Alket Cecaj Indice Il concetto di algoritmo Algoritmo vs. programma
DettagliLaboratorio di Python
, Input da tastiera, Iterazione incondizionata 7 marzo 2014 Sommario 1 2 3 Outline 1 2 3 Definizione di funzione import modulo Si importa il modulo specificato def nome_f(par 1,, par n ) : Si definiscono
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
DettagliDefinizione di classi
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa E05 Definizione di classi A. Miola Novembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Definizione di classi 1 Contenuti
DettagliEsercitazione Laboratorio di Informatica 2 Novembre 2005
Esercitazione Laboratorio di Informatica 2 Novembre 2005 iarusso@dia.uniroma3.it Ricevimento il giovedì 14:00-16:00 Laboratorio Intelligenza Artificiale Via della Vasca Navale, 79, 2 piano Overview Installazione
DettagliClassi e array. Viene ora affrontato un problema di definizione di una classe in cui una variabile d istanza è di tipo array
Classi e array Viene ora affrontato un problema di definizione di una classe in cui una variabile d istanza è di tipo array Si vuole definire una classe Polinomio per la rappresentazione di polinomi a
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
DettagliCorso di Laurea Ingegneria Civile Fondamenti di Informatica. Dispensa 07. Oggetti e Java. Marzo Programmazione Java 1
Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 07 Oggetti e Java Marzo 2010 Programmazione Java 1 Contenuti Il linguaggio Java Applicazioni Java e il metodo main Esempi di applicazioni
DettagliIstruzioni Condizionali
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 6 Istruzioni Condizionali Carla Limongelli Settembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Istruzioni condizionali
DettagliSviluppo di programmi
Sviluppo di programmi FASE 1: Dare un nome al problema partendo dall analisi del problema FASE 2: Scrivere la specifica funzionale FASE 3: Scrittura dell algoritmo FASE 3.1: Introduzione delle variabili
DettagliEsempi di Problemi Iterativi
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa E07 C. Limongelli Dicembre 2011 1 Contenuti q Esercizi: Palindroma Anagramma Fibonacci 2 Palindroma q Scrivere un programma che
DettagliCapitolo 16 Iterazione
Capitolo 16 Accesso a sequenze I problemi esaminati in questo capitolo hanno lo scopo di accedere ed elaborare delle sequenze sequenze immesse dall utente lette dalla tastiera di lunghezza nota con un
DettagliIterazione (introduzione)
Fondamenti di informatica Oggetti e Java (introduzione) Capitolo 17 (estratto) ottobre 2015 1 Contenuti Accesso a sequenze Accumulazione Conteggio Altre aggregazioni Verifica esistenziale Verifica universale
DettagliFondamenti di Informatica 6. Algoritmi e pseudocodifica
Vettori e matrici #1 Fondamenti di Informatica 6. Algoritmi e pseudocodifica Corso di Laurea in Ingegneria Civile A.A. 2010-2011 1 Semestre Prof. Giovanni Pascoschi Le variabili definite come coppie
DettagliFondamenti di Informatica T-1. Introduzione al linguaggio Java Input/output, variabili, tipi
Introduzione al linguaggio Java Input/output, variabili, tipi 2 Programmi e linguaggi Algoritmo sequenza finita di passi per risolvere in un tempo finito un problema Linguaggio di programmazione notazione
DettagliLezione 6 programmazione in Java
Lezione 6 programmazione in Java Nicola Drago drago@sci.univr.it Dipartimento di Informatica Università di Verona Anteprima Le costanti I vettori Cos è un vettore Come si usa I vari tipi di vettori Esempi
DettagliEsempi di Problemi Iterativi
Corso di Laurea Ingegneria Civile Elementi di Informatica Esempi di Problemi Iterativi C. Limongelli Esempi di Problemi Iterativi 1 Contenuti Esercizi: Palindroma Anagramma Fibonacci Esempi di Problemi
DettagliLaboratorio di Matematica e Informatica 1
Laboratorio di Matematica e Informatica 1 Matteo Mondini Antonio E. Porreca matteo.mondini@gmail.com porreca@disco.unimib.it Dipartimento di Informatica, Sistemistica e Comunicazione Università degli Studi
DettagliIntroduzione al MATLAB c Parte 2
Introduzione al MATLAB c Parte 2 Lucia Gastaldi Dipartimento di Matematica, http://dm.ing.unibs.it/gastaldi/ 24 settembre 2007 Outline 1 M-file di tipo Script e Function Script Function 2 Elementi di programmazione
DettagliProgrammazione in Java e gestione della grafica. Lezione 6
Programmazione in Java e gestione della grafica Lezione 6 La scorsa lezione.. Operatori incremento/decremento ++ -- Istruzione while Riscritto programmi precedenti usando istruzione while Esercizio della
DettagliInformatica (A-K) 5. Algoritmi e pseudocodifica
Vettori e matrici #1 Informatica (A-K) 5. Algoritmi e pseudocodifica Corso di Laurea in Ingegneria Civile & Ambientale A.A. 2011-2012 2 Semestre Prof. Giovanni Pascoschi Le variabili definite come coppie
DettagliCompitino di Laboratorio di Informatica CdL in Matematica 13/11/2007 Teoria Compito A
Matematica 13/11/2007 Teoria Compito A Domanda 1 Descrivere, eventualmente utilizzando uno schema, gli elementi funzionali di una CPU. Domanda 2 Java è un linguaggio compilato o interpretato? Motivare
Dettagliprint((math.floor(1345/10)%10); print (Math.floor(1345/100)%10); Le funzioni in JavaScript
Funzioni Funzioni predefinite della libreria matematica Funzioni disponibili: Math.sqrt(x) radice quadrata Math.log(x) logaritmo naturale in base e di x Math.abs(x) valore assoluto di x Math.ceil(x) arrotonda
DettagliAlgebra di Boole: Concetti di base. E un algebra basata su tre operazioni logiche
Fondamenti di Informatica Algebra di Boole: Concetti di base Fondamenti di Informatica - D. Talia - UNICAL Algebra di Boole E un algebra basata su tre operazioni logiche OR AND NOT Ed operandi che possono
DettagliEsercizi su array. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica. Dispensa E08. C. Limongelli Gennaio 2012
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa E08 Esercizi su Array C. Limongelli Gennaio 2012 1 Contenuti q Esercizi: Lettura e stampa di un array Massimo elemento di un array
Dettagli6 - Blocchi e cicli. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
6 - Blocchi e cicli Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://pages.di.unipi.it/milazzo milazzo di.unipi.it
DettagliFondamenti di Informatica T-1
Fondamenti di Informatica T-1 Introduzione al linguaggio Java - Input/Output, Variabili, Tipi Tutor: Allegra De Filippo allegra.defilippo@unibo.it a.a. 2015/2016 Fondamenti di Informatica T-1 Allegra De
DettagliESEMPIO 1. #include <math.h> void eq2gr(float a, float b, float c, int* reali, float* x1,float* x2)
ESEMPIO 1 Dati tre valori a, b, c, relativi all'equazione di secondo grado ax 2 + bx + c = 0: indicare se le radici sono reali o complesse tramite un intero vero/falso se le radici sono reali, calcolarle.
DettagliEsercizi su Array. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa E09. C. Limongelli Novembre 2007
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa E09 Esercizi su Array C. Limongelli Novembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Esercizi su array 1 Contenuti Esercizi:
DettagliRisoluzione di un problema
Algoritmi Risoluzione di un problema Descrizione di un problema! Individuazione di un ALGORITMO! Metodo risolutivo (progetto) Introduzione 2 Algoritmo Sequenza finita di mosse che risolve in un tempo finito
DettagliINTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Struttura di un programma Java
Fondamenti di Informatica INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA 1 Struttura di un programma Java Un programma Java consiste in un insieme di definizioni di classi. In genere
DettagliPROBLEMI E ALGORITMI
Fondamenti di Informatica PROBLEMI E ALGORITMI Fondamenti di Informatica - D. Talia - UNICAL 1 Specifica di un algoritmo Primo approccio, scrittura diretta del programma: la soluzione coincide con la codifica
DettagliArray. Definizione e utilizzo di vettori
Array Definizione e utilizzo di vettori Array (1/2) Un array o vettore rappresenta un insieme di elementi dello stesso tipo. Sintassi per la creazione di un array: tipo_elementi[] nome; nome = new tipo_elementi[numero_elementi];
DettagliLaboratorio di Python
, Istruzione di condizione 3 marzo 2015 Sommario 1 Outline 1 Scrivere uno script 1 Aprire IDLE di Python. 2 Dal menù del programma aprire un nuovo file. 3 Scrivere la funzione. 4 Salvare ed eseguire il
DettagliLaboratorio di programmazione
Laboratorio di programmazione 9 novembre 2016 (Trump Day!) Lo scheletro dei vostri programmi deve essere import java.io.*; import java.util.*; public class... { public static void main( String[] args )
DettagliPROGRAMMA SVOLTO DI INFORMATICA ANNO SCOLASTICO 2013/2014. DOCENTE: Villani Chiara
LICEO SCIENTIFICO STATALE "FILIPPO LUSSANA" V i a A n g e l o Ma j, 1 2 4 1 2 1 B E R G AMO 035 237502 Fax: 035 236331 Sito e contatti: www.liceolussana.com Codice fiscale: 80026450165 PROGRAMMA SVOLTO
DettagliFondamenti di Informatica
Vettori e matrici #1 Le variabili definite come coppie sono dette variabili scalari Fondamenti di Informatica 5. Algoritmi e pseudocodifica Una coppia è una variabile
DettagliLab 04 Programmazione Strutturata"
Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni Lab 04 Programmazione Strutturata" Lab04 1 Valutazione in cortocircuito (1)" In C, le espressioni booleane sono valutate
DettagliIstruzioni Ripetitive
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa 11 Istruzioni Ripetitive Carla Limongelli Novembre 2011 http://www.dia.uniroma3.it/~java/fondinf/ Istruzioni ripetitive 1 Contenuti
DettagliFondamenti di Informatica T1 Introduzione al linguaggio Java Input/Output-Variabili-Tipi
Fondamenti di Informatica T1 Introduzione al linguaggio Java Input/Output-Variabili-Tipi Tutor Melissa Licciardello melissa.licciardell2@unibo.it Melissa Licciardello Fondamenti di Informatica T1 1 / 15
DettagliPROGRAMMAZIONE: Le strutture di controllo
PROGRAMMAZIONE: Le strutture di controllo Prof. Enrico Terrone A. S: 2008/09 Le tre modalità La modalità basilare di esecuzione di un programma è la sequenza: le istruzioni vengono eseguite una dopo l
DettagliCostrutti iterativi. Utilizzo dei costrutti iterativi
Costrutti iterativi Utilizzo dei costrutti iterativi Costrutti iterativi (1/3) I costrutti iterativi permettono di eseguire ripetutamente del codice Il linguaggio Java mette a disposizione tre costrutti
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
DettagliLaboratorio di Programmazione Laurea in Bioinformatica
Laboratorio di Programmazione Laurea in Bioinformatica 28 novembre 2007 1 Programmazione strutturata 1.1 Esercizio 1 Si scriva lo pseudocodice di un programma che calcola la media di due numeri reali.
DettagliLaboratorio di Programmazione Laurea in Bioinformatica
Laboratorio di Programmazione Laurea in Bioinformatica 15 dicembre 2008 1 Programmazione strutturata 1.1 Esercizio 1 Si scriva lo pseudocodice di un programma che calcola la media di due numeri reali.
DettagliFondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011
Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario Istruzioni di controllo Iterative Condizionali Algoritmi e Diagrammi di flusso Esercizi 28/03/2011 2 Istruzioni iterative while do
DettagliDecomposizione per scelta
Decomposizione per scelta T C F P1 P2 Codifica if ( C ) T C F P1 P1 P2 else P2 C : condizione da verificare (espressione booleana a valore VERO/FALSO). Parentesi obbligatorie P1 : istruzione da eseguire
DettagliIstruzioni Ripetitive
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa 11 Istruzioni Ripetitive Carla Limongelli Novembre 2009 http://www.dia.uniroma3.it/~java/fondinf/ Istruzioni ripetitive 1 Contenuti
DettagliSintassi e semantica delle istruzioni strutturate in Java
Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 14 Sintassi e semantica delle istruzioni strutturate in Java Carla Limongelli Aprile 2010 1 Contenuti Classificazione delle istruzioni
DettagliINFORMATICA. Strutture iterative
INFORMATICA Strutture iterative Strutture iterative Si dice ciclo (loop) una sequenza di istruzioni che deve essere ripetuta più volte consecutivamente. Si consideri ad esempio il calcolo del fattoriale
DettagliCorso di Laurea Ingegneria Informatica Fondamenti di Informatica
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa E04 Esempi di algoritmi e programmi C. Limongelli - A. Miola Novembre 2011 1 Contenuti q Somma di una sequenza di numeri interi
DettagliLaboratorio di Python
Istruzione di condizione, Input da tastiera, Università di Bologna 6 e 8 marzo 2013 Sommario 1 Tipi di errore e Debugging 2 3 4 Outline Tipi di errore e Debugging 1 Tipi di errore e Debugging 2 3 4 Esercizio
DettagliArray mono- e bi-dimensionali Cicli while e do-while
111 Fondamenti di Informatica Array mono- e bi-dimensionali Cicli while e -while Fondamenti di Informatica - D. Talia - UNICAL 1 111 Array Monodimensionali Nell uso di array L operazione sull indice può
DettagliIL LINGUAGGIO JAVA. Input, Tipi Elementari e Istruzione Condizionale. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica
Fondamenti di Informatica IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica - D. Talia - UNICAL 1 Primo esempio di un programma Java Semplicissimo programma
DettagliSintassi Java PA RTE 1 FONDAMEN TI DI I N FORMAT ICA PER IL CORSO DI LAUREA I N M AT EMAT ICA PA O L A L E C C A
Sintassi Java PA RTE 1 FONDAMEN TI DI I N FORMAT ICA PER IL CORSO DI LAUREA I N M AT EMAT ICA PA O L A L E C C A D I PA R T I M E N T O D I M AT E M AT I C A, U N I V E R S I TÀ D I T R E N TO paola.lecca@unitn.it
DettagliLinguaggio Testuale. E un formalismo che consente di rappresentare gli algoritmi mediante semplici istruzioni in linguaggio «parlato»
Linguaggio Testuale E un formalismo che consente di rappresentare gli algoritmi mediante semplici istruzioni in linguaggio «parlato» Delle volte viene chiamato metalinguaggio, e l algoritmo scritto tramite
DettagliAlgoritmi di Ricerca. Esempi di programmi Java
Fondamenti di Informatica Algoritmi di Ricerca Esempi di programmi Java Fondamenti di Informatica - D. Talia - UNICAL 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare
DettagliUn oggetto per la lettura dalla tastiera
Fondamenti di informatica Oggetti e Java ottobre 2012 1 Un oggetto per la lettura dalla tastiera Le API di Java hanno un oggetto System.in che rappresenta la tastiera del calcolatore, ma che non è semplice
DettagliIstruzioni decisionali
Istruzioni decionali 1. if 2. if-else 3. switch 91 if-else Sintas if (espresone) istruzione_1 else istruzione_2 92 1 if-else else: : semantica Viene valutata espresone Se l espresone è vera (cioè assume
DettagliStrutture di Controllo
Strutture di Controllo Istruzioni condizionali e cicli http://www.dia.uniroma3.it/~roselli/ roselli@dia.uniroma3.it Credits Materiale a cura del Prof. Franco Milicchio Introduzione Fino ad ora, il nostro
DettagliArray e Oggetti. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica. Dispensa 17. A. Miola Gennaio 2012
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa 17 A. Miola Gennaio 2012 1 Contenuti q Array paralleli q Array e oggetti q Ricerca sequenziale q Ricerca binaria q Fusione di sequenze
DettagliEsercizi. Espressioni. ESERCIZIO 1 Determinare le precedenze e quindi l ordine di esecuzione delle operazioni a*(b+-(c/d)/e)*(f-g%h)
Esercizi Espressioni ESERCIZIO 1 Determinare le precedenze e quindi l ordine di esecuzione delle operazioni a*(b+-(c/d)/e)*(f-g%h) 1 ESERCIZIO 2 int i,n; i=10; n=i++%5; Domanda i=? n=? i=10; n=++i%5; Domanda
DettagliTIPI DI DATO. T = { D, {F 1,...,F n }, {P 1,...,P m } } Un tipo di dato T è definito come:
TIPI DI DATO Un tipo di dato T è definito come: un dominio di valori, D un insieme di funzioni F 1,..,F n sul dominio D un insieme di predicati P 1,..,P m sul dominio D T = { D, {F 1,...,F n }, {P 1,...,P
DettagliEsempi. Esempio utilizzo di classi
Esempi Uso classi Esempio utilizzo di classi La Classe InterfacciaConsole ha Il metodo costruttore InterfacciaConsole() Ed il seguente metodo: int richiedinumero(string richiesta) Stampa a video la stringa
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
Dettagli