non serve che la seconda condizione sia composta
|
|
- Gaetana Leone
- 5 anni fa
- Visualizzazioni
Transcript
1 istruzioni condizionali Osservazioni: si tratta di un unica istruzione if-else if (temperatura > 30) printf("molto caldo\n"); else... non serve che la seconda condizione sia composta if (temperatura > 30) printf("molto caldo\n"); else /* il valore di temperatura e <= 30 */ if (temperatura > 20) Non c è bisogno di una congiunzione del tipo (temperatura <= 30) && (temperatura > 20) (analogamente per gli altri casi). Attenzione: il seguente codice if (temperatura > 30) print("molto caldo\n"); if (temperatura > 20) print("caldo\n"); ha ben altro significato (quale?) E. Occhiuto Fondamenti Teorici e Programmazione- 437AA pag. 1
2 istruzioni condizionali Ambiguità dell else if (a >= 0) if (b >= 0) print("b positivo"); else print("???"); printf("???") può essere la parte else del primo if = print("a negativo"); del secondo if = print("b negativo"); L ambiguità sintattica si risolve considerando che un else riferimento all if più vicino, dunque if (a > 0) if (b > 0) print("b positivo"); else print("b negativo"); fa sempre Perché un else si riferisca ad un if precedente, bisogna inserire quest ultimo in un blocco if (a > 0) { if (b > 0) print("b positivo"); } else print("a negativo"); E. Occhiuto Fondamenti Teorici e Programmazione- 437AA pag. 2
3 istruzioni condizionali Soluzioni dell esercizio delle multe Sono corrette? confrontarle tra loro Una soluzione: if (velocita> 200) multa= 1000; else if (velocita > 160) multa= 500; else if (velocita>130) multa= 200; print(multa); Un altra soluzione: if (velocita> 130) multa= 200; if (velocita > 160) multa= 500; if (velocita > 200) multa= 1000; print(multa); Ancora un altra soluzione: if (velocita> 130) multa=200; else if (velocita > 160) multa= 500; else if (velocita>200) multa= 1000; print(multa); Calcolare lo stato per i 3 programmi. E. Occhiuto Fondamenti Teorici e Programmazione- 437AA pag. 3
4 istruzioni condizionali Esercizio dato un numero che rappresenta il grado alcolico di una bevanda stampare un messaggio secondo la seguente tabella: gradi alcolici g messaggio 40 < g superalcolico 20 < g 40 alcolico 15 < g 20 vino liquoroso 12 < g 15 vino forte 10.5 < g 12 vino normale g 10.5 vino leggero E. Occhiuto Fondamenti Teorici e Programmazione- 437AA pag. 4
5 istruzioni condizionali Esempio: Dati tre valori che rappresentano le lunghezze dei lati di un triangolo, stabilire se si tratti di un triangolo equilatero, isoscele o scaleno. Algoritmo 1. confronta i lati a coppie, fin quando non 2. hai raccolto una quantità di informazioni sufficiente a prendere la decisione 3. stampa il risultato E. Occhiuto Fondamenti Teorici e Programmazione- 437AA pag. 5
6 istruzioni condizionali var primo=2.3, secondo=2.3, terzo=5.6; if (primo == secondo) { if (secondo == terzo) print("equilatero\n"); else print("isoscele\n"); } else { if (secondo == terzo) print("isoscele\n"); else if (primo == terzo) print("isoscele\n"); else print("scaleno\n"); } E. Occhiuto Fondamenti Teorici e Programmazione- 437AA pag. 6
7 istruzioni condizionali Esercizio Risolvere il problema del triangolo utilizzando il seguente un diverso algoritmo che conta i lati uguali: Algoritmo: Confronta i lati contando quante coppie sono uguali se non ci sono coppie uguali, il triangolo è è scaleno se c è una sola coppia di lati uguali, il triangolo è isoscele se ci sono due coppie di lati uguali, il triangolo è equilatero E. Occhiuto Fondamenti Teorici e Programmazione- 437AA pag. 7
8 Modularizzazione Quando abbiamo a che fare con un problema complesso spesso lo suddividiamo in problemi più semplici che risolviamo separatamente, per poi combinare insieme le soluzioni dei sottoproblemi al fine di determinare la soluzione del problema di partenza. Esempio: La moltiplicazione di numeri con molte cifre viene suddivisa in moltiplicazioni cifra per cifra e i risultati di queste ultime vengono combinate insieme mediante addizioni. Questo procedimento è applicabile anche alla programmazione. si suddivide un problema complesso in problemi di volta in volta più semplici una volta individuati (sotto)problemi sufficientemente elementari si risolvono questi ultimi direttamente si combinano le soluzioni dei sottoproblemi per ottenere la soluzione del problema di partenza E. Occhiuto Fondamenti Teorici e Programmazione- 437AA pag. 8
9 Approccio top-down: si parte dall alto, considerando il problema nella sua interezza e si procede verso il basso per raffinamenti successivi fino a ridurlo ad un insieme di sottoproblemi elementari Approccio bottom-up: ci si occupa prima di risolvere singole parti del problema, senza averne necessariamente una visione d insieme, per poi risalire procedendo per aggiustamenti successivi fino ad ottenere la soluzione globale. I linguaggi di programmazione mettono a disposizione dei meccanismi di astrazione che favoriscono un approccio modulare Astrazione sui dati - il programmatore può definire nuovi tipi di dato specifici per il particolare problema (tipi di dato astratti) in JavaScript gli oggetti, che vedrete nel corso più avanzato. Astrazione funzionale - il programmatore può estendere le funzionalità del linguaggio definendo sottoprogrammi che risolvono (sotto)problemi specifici. i sottoprogrammi sono di solito parametrici possono essere (ri)usati alla stessa stregua delle operazioni built-in del linguaggio E. Occhiuto Fondamenti Teorici e Programmazione- 437AA pag. 9
10 In JavaScript i sottoprogrammi si realizzano attraverso le funzioni. Una funzione può essere vista come una scatola nera: parametri di ingresso F valore calcolato risolve un sottoproblema specifico attraverso i parametri e il risultato scambia informazioni con il programma principale e con altre funzioni Esempio: x abs x x succ x + 1 b, e exp b e x 1,..., x n sum n x i i=1 E. Occhiuto Fondamenti Teorici e Programmazione- 437AA pag. 10
11 Esempio: Definizione di succ in JavaScript function succ(x) { return x+1; } Uso della funzione var z=0; var y; y = succ(z); print(y); print(succ(y)); E. Occhiuto Fondamenti Teorici e Programmazione- 437AA pag. 11
12 Il linguaggio deve mettere a disposizione strumenti per definire nuove operazioni astratte (funzioni) usare le nuove operazioni definite Distinguiamo due momenti diversi: la definizione della funzione definisce il codice che realizza l operazione astratta e la chiamata della funzione corrisponde all utilizzo della funzione Ad una stessa definizione possono corrispondere diverse chiamate (come y = succ(x) e print(succ(y))) nell esempio precedente). Nella definizione della funzione, il codice fa riferimento agli argomenti o parametri formali della funzione (nell esempio x) = un parametro formale non corrisponde ad un valore: è semplicemente un riferimento simbolico (ad un argomento della funzione) E. Occhiuto Fondamenti Teorici e Programmazione- 437AA pag. 12
13 Definizione di Funzione Consideriamo la seguente funzione che calcola true se il primo parametro è un multiplo del secondo, false altrimenti: function multiplo(m, n) { var resto=m%n; //dichiarazione di una variabile locale return (resto==0); } I parametri formali sono m ed n Per esercizio riscrivere la funzione multiplo senza usare la variabile resto E. Occhiuto Fondamenti Teorici e Programmazione- 437AA pag. 13
14 Al momento della chiamata, alla funzione vengono forniti i valori degli argomenti, o parametri attuali, rispetto ai quali effettuare il calcolo function multiplo (m, n) {...} if (multiplo(34,17)) print (34+ " multiplo di "+17); //prima chiamata var x=67, y=13, r; //dichiarazione multipla if (multiplo(x,y)) print (x+ " multiplo di "+y); //seconda chiamata Prima chiamata multiplo(34,17) 34 è il parametro attuale corrispondente a m 17 è il parametro attuale corrispondente a n Seconda chiamata multiplo(x,y) x è il parametro attuale corrispondente a m y è il parametro attuale corrispondente a n E. Occhiuto Fondamenti Teorici e Programmazione- 437AA pag. 14
15 : definizione Sintassi: intestazione blocco dove blocco è il corpo della funzione cioè {istruzione 1...istruzione k } intestazione è l intestazione della funzione ed ha la seguente forma: function identificatore (parametri-formali) function è una parola riservata (keyword) identificatore specifica il nome della funzione ed è un qualsiasi identificatore JavaScript valido parametri-formali è una sequenza (eventualmente vuota) di identificatori separati da virgole Esempi: intestazioni di funzione function succ (x) I formali di succ? function multiplo(m,n) I formali di multiplo? N.B. Nella definizione di funzione non ci deve essere un ; tra l intestazione ed il corpo. E. Occhiuto Fondamenti Teorici e Programmazione- 437AA pag. 15
16 : chiamata (invocazione, attivazione) Sintassi: identificatore (parametri-attuali) identificatore è il nome della funzione lista-parametri-attuali è una lista di espressioni separate da virgola i parametri attuali devono corrispondere in numero ai parametri formali (non sempre vero in JavaScript) Esempi: chiamate di funzioni var x=3; var v, z, y=1;... if (multiplo(x+3, succ(y))) print (...) ; v= multiplo(succ(succ(0)), x%2);... N.B. Una chiamata di funzione è anch essa un espressione, quindi può essere a sua volta un parametro attuale. E. Occhiuto Fondamenti Teorici e Programmazione- 437AA pag. 16
17 La programmazione nel linguaggio JavaScript Input (altre funzioni) Attenzione questo NON è lo standard di JavaScript ma un modo definite da noi per ottenere l input in modo semplice, analogamente alla print. Abbiamo 2 funzioni: una per leggere sequenze di caratteri (stringhe) e l altra per leggere numeri. Vediamo prima la lettura delle stringhe: L intestazione della funzione per la lettura delle stringhe è: function askstring() È una funzione senza parametri che restituisce una stringa. Provoca l apertura di una finestra, nella quale è vengono scritti i caratteri digitati sulla tastiera. Quando invoco askstring dopo l apertura della finestra il programma si mette in attesa che l utente immetta un valore e dia l ok. La sequenza di caratteri (stringa) immessa viene restituita come risultato della funzione. Non è possibile generare errori perchè tutti i caratteri immessi da tastiera possono essere contenuti nella stringa. E. Occhiuto Fondamenti Teorici e Programmazione- 437AA pag. 17
18 La programmazione nel linguaggio JavaScript Lettura dei numeri L intestazione della funzione è function asknum(): questa è una fuzione senza parametri che restituisce un numero. provoca l apertura di una finestra nella quale vengono scritti i caratteri digitati sulla tastiera, ma la sequenza di caratteri (stringa) immessa viene convertita in un numero e il numero ottenuto viene restituito come risultato della funzione ma... Cosa succede se la stringa non è convertibile ad un numero? In questo caso la funzione ignora la stringa inserita e chiede un altra stringa, finchè la stringa inserita non risulta convertibile ad un numero. E. Occhiuto Fondamenti Teorici e Programmazione- 437AA pag. 18
19 La programmazione nel linguaggio JavaScript L esempio del calcolo del massimo di 3 numeri letti dall input Esempio: function massimoditre(x,y,z){ var massimo=x; if (massimo<y) massimo=y; if (massimo<z) massimo=z; return massimo; } print("il massimo e "+massimoditre(asknum(),asknum(),asknum())); E. Occhiuto Fondamenti Teorici e Programmazione- 437AA pag. 19
20 Semantica (informale) di una chiamata di funzione Dentro il corpo di una funzione (o nel programma principale) F compare una chiamata di un altra funzione G F (sia esso il programma principale o una funzione) viene detto chiamante G viene detta funzione chiamata Esempio: nel programma principale c è un assegnamento x = asknum(); = il programma principale è il chiamante, asknum il chiamato Una chiamata di funzione è un espressione, la cui valutazione avviene come segue: viene sospesa l esecuzione di F e viene ceduto il controllo a G, dopo aver opportunamente associato i parametri attuali ai parametri formali (passaggio dei parametri, fra poco... ) vengono eseguite le istruzioni di G, a partire dalla prima l esecuzione di G termina con l esecuzione di un istruzione speciale (istruzione return) che calcola il risultato della chiamata (è il valore dell espressione corrispondente alla chiamata) al termine dell esecuzione di G il controllo ritorna a F, che prosegue l esecuzione a partire dal punto in cui G era stata attivata E. Occhiuto Fondamenti Teorici e Programmazione- 437AA pag. 20
21 Valore di ritorno di una funzione: istruzione return Esempio: Funzione che restituisce il massimo tra due interi. function max(m, n) { if (m >= n) return m; else return n; } Chiamata di max, ad esempio dal programma: var i, j, massimo; i=asknum(); j=asknum(); massimo = max(i,j); print("massimo = "+massimo); } Il programma principale tramite i parametri attuali comunica alla funzione max i valori sui quali calcolare la funzione (il valore delle variabili i,j). La funzione max tramite il valore di ritorno comunica il risultato al programma principale. E. Occhiuto Fondamenti Teorici e Programmazione- 437AA pag. 21
22 Nel corpo deve esserci l istruzione return espressione; la cui esecuzione comporta: il calcolo del valore di espressione: questo valore viene restituito al chiamante come risultato dell esecuzione della funzione la cessione del controllo alla funzione chiamante Osservazioni l esecuzione di return espressione comporta la terminazione dell esecuzione della funzione Esempio: function max( m, n) { if (m >= n) return m; else return n; print("pippo"); /* non viene mai eseguita */ } E. Occhiuto Fondamenti Teorici e Programmazione- 437AA pag. 22
Le funzioni in JavaScript. Modularizzazione
Modularizzazione Quando abbiamo a che fare con un problema complesso spesso lo suddividiamo in problemi più semplici che risolviamo separatamente, per poi combinare insieme le soluzioni dei sottoproblemi
DettagliProf. E. Occhiuto INFORMATICA 242AA a.a. 2010/11 pag. 1
Modularizzazione Quando abbiamo a che fare con un problema complesso spesso lo suddividiamo in problemi più semplici che risolviamo separatamente, per poi combinare insieme le soluzioni dei sottoproblemi
DettagliEspressioni booleane. Esempio: temperatura <= 0 velocita > velocita max
Espressioni booleane Espressioni booleane il linguaggio deve consentire di descrivere espressioni booleane cioé espressioni che ritornino come risultato valori di verit : vero o falso (guardie di condizionali
DettagliIn C i sottoprogrammi si realizzano attraverso le funzioni. Una funzione può essere vista come una scatola nera:
Modularizzazione Quando abbiamo a che fare con un problema complesso spesso lo suddividiamo in problemi più semplici che risolviamo separatamente, per poi combinare insieme le soluzioni dei sottoproblemi
DettagliCome va usato il codice dei caratteri
Espressioni booleane Come va usato il codice dei caratteri Convertiamo una lettera minuscola in maiuscolo: char lower = k ; char upper = (char) (lower - a + A ); printf("%c", upper); Convertiamo un carattere
DettagliLa programmazione nel linguaggio JavaScript. Il programma
Il programma Nei linguaggi di programmazione il programma è una funzione che ha come argomento i dati digitati in input e opportunamente convertiti. la descrizione della funzione (ovvero il programma)
DettagliGià, ma per preparare pasta choux e crema ho bisogno delle relative ricette!
Bigné alla crema Come si preparano i bigné alla crema? si prepara la pasta choux si depositano piccole quantità di impasto sulla teglia si fanno cuocere per 7-8 minuti, ottenendo i bigné si prepara la
DettagliFunzioni, Stack e Visibilità delle Variabili in C
Funzioni, Stack e Visibilità delle Variabili in C Programmazione I e Laboratorio Corso di Laurea in Informatica A.A. 2016/2017 Calendario delle lezioni Lez. 1 Lez. 2 Lez. 3 Lez. 4 Lez. 5 Lez. 6 Lez. 7
DettagliLezione 22: Funzioni e File Giovedì 18 Novembre 2010
Università di Salerno Corso di FONDAMENTI DI INFORMATICA Corso di Laurea Ingegneria Corso B Docente : Ing. Anno Accademico 2010-2011 Lezione 22: Funzioni e File Giovedì 18 Novembre 2010 exp(x): calcolo
DettagliOperatori di confronto (o relazionali)
Operatori di confronto (o relazionali) Gli operatori di confronto permettono di confrontare 2 valori di un dominio sul quale è definito un ordinamento. I due valori devono essere dello stesso tipo (?)
Dettagli7 - Programmazione procedurale: Dichiarazione e chiamata di metodi ausiliari
7 - Programmazione procedurale: Dichiarazione e chiamata di metodi ausiliari Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa
DettagliStruttura dei programmi C Nel semplice programma che abbiamo appena analizzato possiamo già vedere la struttura generale di un programma C.
Struttura programmi C Struttura dei programmi C Nel semplice programma che abbiamo appena analizzato possiamo già vedere la struttura generale di un programma C. /* DIRETTIVE DI COMPILAZIONE */ #include
DettagliIterazione determinata e indeterminata
Iterazione determinata e indeterminata Le istruzioni iterative permettono di ripetere determinate azioni più volte: un numero di volte fissato = iterazione determinata, Esempio: fai un giro del parco di
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
DettagliFunzioni. Dott. R. Gori, Dott. A. Rama INFORMATICA 242AA a.a. 2011/12 pag. 1 Funzioni
Modularizzazione Quando abbiamo a che fare con un problema complesso spesso lo suddividiamo in problemi più semplici che risolviamo separatamente, per poi combinare insieme le soluzioni dei sottoproblemi
Dettagliosservazione: 1 MCD(m,n) min(m,n) = si provano i numeri compresi tra 1 e min(m,n) conviene iniziare da min(m,n) e scendere verso 1
Esempio: Leggere due interi positivi e calcolarne il massimo comun divisore. MCD(12, 8) = 4 MCD(12, 6) = 6 MCD(12, 7) = 1 Sfruttando direttamente la definizione di MCD osservazione: 1 MCD(m,n) min(m,n)
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
DettagliCompletiamo le istruzioni condizionali: Istruzione switch Può essere usata per realizzare una selezione a più vie. Sintassi:
Completiamo le istruzioni condizionali: Istruzione switch Può essere usata per realizzare una selezione a più vie. Sintassi: switch (espressione) { case espressione-1: istruzioni-1... case espressione-n:
DettagliDefinizione di metodi in Java
Definizione di metodi in Java Un metodo in Java definisce un operazione ad alto livello (sottoprogramma) che consente di manipolare dati e oggetti. Durante la computazione effettuata da un programma, un
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
DettagliEsercitazione 3. Espressioni booleane I comandi if-else e while
Esercitazione 3 Espressioni booleane I comandi if-else e while Esercizio Si consideri la seguente istruzione: if (C1) if (C2) S1; else S2; A quali delle seguenti interpretazioni corrisponde? if (C1) if
DettagliProcedure e funzioni A. Ferrari
Procedure e funzioni A. Ferrari Procedura Una procedura può essere rappresentata come una macchina in grado di eseguire un certo compito quando attivata. In un primo tempo la macchina deve essere costruita:
DettagliIl linguaggio C. Prof. E. Occhiuto INFORMATICA 242AA a.a. 2010/11 pag. 1
Il linguaggio C I linguaggi di programmazione ad alto livello sono linguaggi formali ( sintassi e semantica formalmente definite) però sono compatti e comprensibili. Le tipologie di linguaggi sono: procedurali
DettagliIl linguaggio JavaScript
Il linguaggio JavaScript JavaScript è un linguaggio di programmazione ad alto livello compatto e comprensibile. sintassi e semantica sono formalmente definite, compatto e comprensibile. appartiene alla
DettagliCosa si intende con stato
Il concetto di stato Cosa si intende con stato I una particolare configurazione delle informazioni di una macchina, che in qualche modo memorizza le condizioni in cui si trova, e che cambia nel tempo passando
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
Dettagliint main(){ int numero; /* numero di cui voglio calcolare il fattoriale */ int fatt; /* memorizzo il fattoriale di numero */ int somma=0;
Problema: CALCOLARE LA SOMMA DEI FATTORIALI DEI PRIMI 100 NUMERI NATURALI 0!+1!+2! + 99! #include int fattoriale(int); Calcolo fattoriale int main(){ int numero; /* numero di cui voglio calcolare
DettagliEsercizi Programmazione I
Esercizi Programmazione I 9 Novembre 201 Esercizio 1 Valutare e dare il tipo delle seguenti espressioni condizionali. 1 char a= a, b= b ; // a ha v a l o r e decimale 97 2 i n t i= 1, j= 2 ; 3 double x=
DettagliLinguaggio C: le funzioni. Introduzione e sintassi
ISIS "Guido Tassinari" di Pozzuoli Indirizzo Informatico - Articolazione Informatica Informatica Prof. A.S. 2012/2013 Linguaggio C: le funzioni. Introduzione e sintassi 21/10/2012 Introduzione Spesso alcuni
DettagliCorso di PHP. Prerequisiti. 5 Funzioni
Corso di PHP 5 Funzioni 1 Prerequisiti Programmazione elementare in Php Tecnica top-down Concetto matematico di funzione Compilazione e link di programmi Esecuzione di funzioni Uso di parametri 2 1 Introduzione
DettagliUnità A1 Funzioni MODULO Java 2
Dare una breve descrizione dei termini introdotti: (A) CONOSCENZA TERMINOLOGICA Passaggio parametri per valore Passaggio parametri per indirizzo Parametri formali e attuali Regole di visibilità Ambiente
DettagliLinguaggio C: le funzioni. Introduzione e sintassi
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C: le funzioni. Introduzione e sintassi La presente dispensa
DettagliModularizzazione del software
Modularizzazione del software Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2006/2007 Fortran 90: Subroutine e function DIS - Dipartimento di informatica e sistemistica
DettagliInformatica (A-K) 12. Linguaggio C -3
Introduzione alle funzioni in C Informatica (A-K) 12. Linguaggio C -3 int main() int i,n, fattoriale=1; printf( Inserire Numero: ); scanf( %d, &n); for (i =2; i
DettagliLaboratorio di Programmazione M-Z
Diretta Laboratorio di Programmazione M-Z Docente: Dott.ssa Alessandra Lumini alessandra.lumini@unibo.it Università di Bologna, Sede di Cesena Divide et impera Dividere un problema in sottoproblemi più
DettagliEsercitazione 2. Espressioni booleane Il comando if-else
Esercitazione 2 Espressioni booleane Il comando if- Espressioni booleane L espressione (i==100) è un espressione booleana. La sua valutazione può restituire solo uno dei due valori booleani true = 1 (in
DettagliPaolo Bison. Fondamenti di Informatica A.A. 2006/07 Università di Padova
Introduzione ai sottoprogrammi Paolo Bison Fondamenti di Informatica A.A. 2006/07 Università di Padova Introduzione al corso, Paolo Bison, FI06, 2007-02-06 p.1 Struttura programma formato da vari elementi
DettagliFondamenti di Informatica T1. Lab 03 Istruzioni. Lab03 1
Fondamenti di Informatica T1 Lab 03 Istruzioni Lab03 1 Esercizio 1 Realizzare un programma che legga da input tre numeri interi e stampi a video la loro somma e la media. Lab03 2 #include main()
DettagliCorso di Fondamenti di Informatica
Corso di Fondamenti di Informatica Le classi di istruzioni in C++ 1 Le classi di istruzioni in C++ SEQUENZIALI Statement semplice Statement composto CONDIZIONALI if < expr.> else switch case
DettagliSwitch. Unità 3. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER
Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi Docenti Metodi Numerici prof. Vittoria Bruni vittoria.bruni@sbai.uniroma1.it Programmazione prof. Domenico
DettagliNotazione e convenzioni in questi lucidi
Notazione e convenzioni in questi lucidi Il programma, ovvero la descrizione della funzione da calcolare, è scritto dall utente come una sequenza di caratteri. le sequenze di caratteri sono anche dette,
DettagliSi dica quale funzione calcola la funzione Foo : function Foo(x){ var i=1,j=0; while (j<x){i=i*2;j++;} return (i);
Esercizio 1- Testo 1 Si dica quale funzione calcola la funzione Foo : function Foo(x){ var i=1,j=0; while (j
Dettagli2 Operatori matematici e costrutto if
Questa dispensa propone esercizi sulla scrittura di algoritmi, in linguaggio C, utili alla comprensione delle operazioni tra numeri e del costrutto condizionale if. Si introducono anche le due funzioni
DettagliL ELABORATORE ELETTRONICO!
L ELABORATORE ELETTRONICO! Il calcolatore elettronico è uno strumento in grado di eseguire insiemi di azioni ( mosse ) elementari le azioni vengono eseguite su oggetti (dati) per produrre altri oggetti
Dettagliosservazione: 1 MCD(m,n) min(m,n) = si provano i numeri compresi tra 1 e min(m,n) conviene iniziare da min(m,n) e scendere verso 1
Esempio: Leggere due interi positivi e calcolarne il massimo comun divisore. MCD(12, 8) = 4 MCD(12, 6) = 6 MCD(12, 7) = 1 Sfruttando direttamente la definizione di MCD osservazione: 1 MCD(m,n) min(m,n)
DettagliA.A. 2018/2019. Fondamenti di Programmazione in MATLAB FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE. Docente Prof. Raffaele Pizzolante
A.A. 2018/2019 Fondamenti di Programmazione in MATLAB Strutturazione del Codice Sorgente Docente Prof. Raffaele Pizzolante FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE Fondamenti di Programmazione in MATLAB:
DettagliIstruzioni di controllo: SEQUENZA
Istruzioni di controllo: SEQUENZA Negli esempi visti in precedenza gli algoritmi sono stati descritti come sequenze di passi elementari del tipo Passo 1. azione 1 Passo 2. azione 2... Abbiamo utilizzato
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
DettagliLaboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale
Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Algoritmi e Programmazione Stefano Cagnoni Il problema
DettagliLaboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale
Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Il problema di fondo Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Algoritmi e Programmazione Stefano
DettagliIndividuazione di sottoproblemi
Individuazione di sottoproblemi Quando il problema è complesso conviene partire con una individuazione di sottoproblemi Scriviamo un algoritmo contenente azioni o condizioni complesse per l esecutore che
DettagliProf. Pagani Corrado INTRODUZIONE AL LINGUAGGIO C
Prof. Pagani Corrado INTRODUZIONE AL LINGUAGGIO C IL LINGUAGGIO C Nel 1972 Dennis Ritchie nei Bell Laboratories progettò il linguaggio C Il linguaggio possiede tutti i costrutti di controllo dei linguaggi
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Strutture di Controllo Parte 2 Istruzioni Condizionali G. Mecca M. Samela Università della Basilicata Istruzioni Condizionali >> Sommario Sommario Introduzione
DettagliStrutturare il codice: sottoprogrammi
Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Motivazioni Alcuni problemi si presentano frequentemente durante lo sviluppo di un programma
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
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[]
DettagliFUNZIONI. Esempi (pseudo-c): dare un nome a una espressione rendere tale espressione parametrica. float f(){ * sin(0.75); } float f1(int x) {
Spesso può essere utile avere la possibilità di costruire nuove istruzioni che risolvano parti specifiche di un problema Una funzione permette di dare un nome a una espressione rendere tale espressione
DettagliProgrammazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo
Programmazione Orientata agli Oggetti Emilio Di Giacomo e Walter Didimo Una metafora dal mondo reale la fabbrica di giocattoli progettisti Un semplice giocattolo Impara i suoni Dall idea al progetto Toy
DettagliStrutture di Controllo Condizionali e Operatori Logici e Relazionali
Linguaggio C Strutture di Controllo Condizionali e Operatori Logici e Relazionali 1 Strutture di Controllo! Controllano il flusso di esecuzione di un programma Istruzioni di selezione: permettono di selezionare
DettagliElaboratore Elettronico
L ELABORATORE ELETTRONICO Il calcolatore elettronico è uno strumento in grado di eseguire insiemi di azioni ( mosse ) elementari le azioni vengono eseguite su oggetti (dati)) per produrre rre altri oggetti
DettagliProgrammare. Definire una sequenza di istruzioni che specificano come effettuare una elaborazione
Python Programmare Definire una sequenza di istruzioni che specificano come effettuare una elaborazione Le istruzioni devono essere date in un linguaggio comprensibile dal calcolatore. In generele questi
DettagliIng. Lorenzo Vismara
Ing. Lorenzo Vismara ! "# #!$#%&# '(!)&!*)&#*$# +!, +$-.(( #!((%&#, #!& %&) /$#01&! 0#( 3452 $ 6#( 1 2 &## #!7 #89): #;##( 1? )#&)< $9): #@82 #)AA)#&#&$( #7)& @B && ##@A&#C 7 $C#&7 @B A&#)@#7&#
DettagliStrutture di Controllo Condizionali e Operatori Logici e Relazionali
Linguaggio C Strutture di Controllo Condizionali e Operatori Logici e Relazionali 1 Strutture di Controllo n Controllano il flusso di esecuzione di un programma Istruzioni di selezione: permettono di selezionare
DettagliMETODI in Java. Prof.Angela Bonifati. Metodi e Sottoprogrammi
Fondamenti di Informatica METODI in Java Prof.Angela Bonifati 1 Metodi e Sottoprogrammi Mentre in Java tramite le classi e gli oggetti è possibile definire nuovi tipi di dati, tramite i metodi è possibile
DettagliAmbienti di Programmazione per il Software di Base
Ambienti di Programmazione per il Software di Base Le Funzioni in C Esercizi sulle Funzioni svolti Esercizi sulle Funzioni da svolgere A.A. 2011/2012 Ambienti di Programmazione per il Software di Base
DettagliFondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio
Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Il problema di fondo Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio Algoritmi
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
DettagliControllo del flusso di esecuzione di un programma
Controllo del flusso di esecuzione di un programma I programmi sono eseguiti sequenzialmente, istruzione dopo istruzione, ma in alcuni casi il flusso di esecuzione può scegliere vie alternative o ripetersi
DettagliAlgoritmi, Strutture Dati e Programmi. UD 2.b: Programmazione in Pascal
Algoritmi, Strutture Dati e Programmi : Programmazione in Pascal Prof. Alberto Postiglione AA 2007-2008 Università degli Studi di Salerno Il Linguaggio di Programmazione Pascal Esistono molti linguaggi
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
DettagliTipi di dato strutturati: Array
Tipi di dato strutturati: Array I dati visti finora sono: numeri (interi o razionali), booleani le stringhe (sequenze di caratteri) ma i dati manipolati nelle applicazioni reali sono spesso complessi (o
DettagliFUNZIONI COME COMPONENTI SW FUNZIONI COME COMPONENTI SW FUNZIONI MODELLO CLIENTE/SERVITORE
FUNZIONI Spesso può essere utile avere la possibilità di costruire nuove istruzioni che risolvano parti specifiche di un problema Una funzione permette di dare un nome a una espressione rendere tale espressione
DettagliL ELABORATORE ELETTRONICO
L ELABORATORE ELETTRONICO Il calcolatore elettronico è uno strumento in grado di eseguire insiemi di azioni ( mosse ) elementari le azioni vengono eseguite su dati in ingresso (input) per produrre uno
DettagliFUNZIONI FUNZIONI COME COMPONENTI SW
FUNZIONI Spesso può essere utile avere la possibilità di costruire nuove istruzioni che risolvano parti specifiche di un problema Una funzione permette di dare un nome a una espressione rendere tale espressione
DettagliIstruzioni di selezione in Java 1
Ordine di esecuzione Istruzioni di selezione in Java Corso di laurea in Comunicazione digitale Nei metodi l ordine di esecuzione delle istruzioni è sequenziale se non specificato altrimenti Alcune istruzioni
DettagliSTRUTTURE DI CONTROLLO IN C. Docente: Giorgio Giacinto AA 2009/2010
Università degli Studi di Cagliari Corso di Laurea Specialistica in Ingegneria per l Ambiente ed il Territorio Corso di Laurea Specialistica in Ingegneria Civile - Strutture FONDAMENTI DI INFORMATICA 2
DettagliLaboratorio Progettazione Web Le funzioni in PHP. Angelica Lo Duca IIT-CNR 2012/2013
Laboratorio Progettazione Web Le funzioni in PHP Angelica Lo Duca IIT-CNR angelica.loduca@iit.cnr.it 2012/2013 Funzioni Una funzione è una sequenza di istruzioni che implementano una specifica funzionalità
DettagliFUNZIONI. attribuire un nome ad un insieme di istruzioni parametrizzare l esecuzione del codice
Funzioni FUNZIONI Spesso può essere utile avere la possibilità di costruire nuove istruzioni che risolvono parti specifiche di un problema Una funzione permette di attribuire un nome ad un insieme di istruzioni
DettagliProgrammare. Definire una sequenza di istruzioni che specificano come effettuare una elaborazione
Python Programmare Definire una sequenza di istruzioni che specificano come effettuare una elaborazione Le istruzioni devono essere date in un linguaggio comprensibile dal calcolatore. In generele questi
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
DettagliIl linguaggio C Funzioni e procedure
Il linguaggio C Funzioni e procedure modello cliente-servitore risultato Ambiente condiviso cliente servitore richiesta di servizio Sottoprogrammi Spesso può essere utile avere la possibilità di costruire
DettagliCaratteristiche generali del linguaggio Visual Basic
Caratteristiche generali del linguaggio Visual Basic Per ottenere un aiuto contestuale dall help di Visual Basic sulla sintassi di funzioni o, oppure su proprietà, eventi o metodi, basta selezionare la
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 II 3. Funzioni in C++ (parte 1)
Introduzione alle funzioni in C++ Fondamenti di Informatica II 3. Funzioni in C++ (parte 1) Corso di Laurea in Ingegneria Informatica A.A. 2008-2009 2 Semestre Corso (A-M) int main() int n, fattoriale=1;
DettagliI costrutti forniti dal linguaggio si dividono in corrispondenti classi di istruzioni
Classi di istruzioni In maniera simile a quanto fatto per i dati, un linguaggio mette a disposizione dei costrutti per realizzare la parte esecutiva dell algoritmo. Questa consiste di: Leggi i valori di
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
Dettagliciclo di vita della soluzione (informatica) di un problema
Università di Roma Tor Vergata L2-1 ciclo di vita della soluzione (informatica) di un problema errori run-time errori sintattici codice editor codice C++ compilatore esegui eseguibile OK risultati scorretti
Dettaglicout << "Inserisci un numero:" << endl; cin >> n; ris = n*2; cout << "Il doppio di " << n << " e " << ris << endl;
Funzioni int n, ris; cout n; ris = n*2; cout
DettagliJavaScript Core Language. Prof. Francesco Accarino IIS Atiero Spinelli Sesto San Giovanni via leopardi 132
JavaScript Core Language Prof. Francesco Accarino IIS Atiero Spinelli Sesto San Giovanni via leopardi 132 Condizioni L utilizzo di operatori relazionali e logici consente di formulare delle condizioni
Dettagli