Esercitazione 5. Procedure e Funzioni Il comando condizionale: switch
|
|
- Niccolina Bianco
- 7 anni fa
- Visualizzazioni
Transcript
1 Esercitazione 5 Procedure e Funzioni Il comando condizionale: switch
2 Comando: switch-case switch (espressione) { /* espressione deve essere case costante1: istruzione1 di tipo int o char */ [break]; case costante2: istruzione2 /* costante2 deve essere una costante int o char */ [break]; case costante3: istruzione3 [break]; [default: istruzione ]
3 Comando: switch-case switch (espressione) { case costante1: case costante2: case costante3: [default: istruzione1 [break]; istruzione2 [break]; istruzione3 [break]; istruzione ] se il valore di espressione è uguale a costante1 viene eseguita istruzione1 provoca l uscita immediata dallo switch-case viene eseguita se espressione non corrisponde a nessuna costante
4 Comando: switch-case /* Esempio utilizzo switch-case */ #include <stdio.h> int main ( ) { int x; printf ( Digita una cifra: ); scanf ( %d, &x); switch (x) { case 0 : printf ( zero\n ); break; case 1 : printf ( uno\n ); break; case 2 : printf ( due\n ); break; case 3 : printf ( tre\n ); break; case 4 : printf ( quattro\n ); break; case 5 : printf ( cinque\n ); break; default : printf( non previsto ); break;
5 Comando: switch-case /* Scrivere un programma che riceve in input un numero intero x e stampa pari se x {0,2,4, dispari se x {1,3,5, altrimenti altro */ #include <stdio.h> int main ( ) { int x; printf ( Digita una cifra: ); scanf ( %d, &x); switch (x) { case 0 : case 2 : case 4 : printf ( pari\n ); break; case 1 : case 3 : case 5 : printf ( dispari\n ); break; default : printf ( altro\n ); break;
6 Esercizio Scrivere un programma che legge una data (il giorno, il mese e l anno) e determina la data del giorno successivo. #include <stdio.h> int main ( ) { int giorno, mese, anno,giorni_del_mese; /* lettura della data */ printf("data (giorno, mese, anno)? "); scanf("%d%d%d", &giorno, &mese, &anno);
7 /* calcola il numero dei giorni del mese */ switch (mese) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: giorni_del_mese = 31; break; case 4: case 6: case 9: case 11: giorni_del_mese = 30; break; case 2: // bisestile se divisib. per 4 ma non per 100 opp. divisib per 400 if ( (anno % 4 == 0 && anno % 100!=0) (anno %400 ==0) ) giorni_del_mese = 29; else giorni_del_mese = 28; break; /* fine switch */
8 /* aggiorna la data del mese successivo */ if (giorno == giorni_del_mese) { giorno = 1; if (mese == 12) { mese = 1; anno++; else mese++; else giorno++; /* stampa la data aggiornata */ printf("\n Il giorno successivo e : %d/%d/%d", giorno, mese, anno); /* fine */
9 Esercizio Scrivere un programma che calcola l area di un poligono che può essere o un triangolo (T) o un rettangolo (R). ALGORITMO chiedere all utente di inserire il carattere T se si vuole calcolare l area di un triangolo, il carattere R se si vuole calcolare l area di un rettangolo chiedere all utente di inserire i valori della base e dell altezza invocare una funzione generica area che calcola l area del poligono specificato dall utente
10 #include <stdio.h> /* dichiarazione della funzione generica area */ double area (double, double, char); /* tipo dei parametri formali */ int main ( ) { /* inizio della funzione principale */ double b, h, a; char p; printf ( Inserire poligono (T per triangolo/r per rettangolo): \n ); scanf ( %c, &p); printf ( Inserire base: \n ); scanf ( %lf, &b); printf ( Inserire altezza: \n ); scanf ( %lf, &h);
11 a = area (b, h, p); /* invocazione della funzione area */ /* parametri attuali */ printf ( Area: %lf, a); /* fine della funzione principale main */ /* definizione della funzione area */ double area (double base, double altezza, char poligono) { /* parametri formali */ switch (poligono) { case T : return (base * altezza)/2.0; case R : return base * altezza; default: return -1; /* fine della funzione area */
12 Esercizio Dire quali delle seguenti invocazioni della funzione area (definita sopra) sono corrette. double area (double, double, char); 1) char p = T ; a = area (12, 7.0, p); 2) a = area (12, 7.0, T ); 3) a = area ( T, 12, 7.0); 4) a = area (12, 7.0);
13 Soluzione 1) char p = T ; a = area (12, 7.0, p); /* invocazione corretta */ 2) a = area (12, 7.0, T ); /* invocazione corretta */ 3) a = area ( T, 12, 7.0); /* invocazione errata */ 4) a = area (12, 7.0); /* invocazione errata */ I parametri attuali devono essere dello stesso tipo, nello stesso numero e ordine dei parametri formali.
14 Passaggio dei parametri I parametri formali sono quelli dichiarati per tipo, numero e ordine nella definizione della funzione. I parametri attuali sono invece quelli che vengono passati alla funzione all atto della chiamata (o invocazione). Passaggio dei parametri per valore In C il passaggio dei parametri avviene sempre e soltanto per valore. Ciò significa che all atto dell invocazione di una funzione ogni parametro formale è inizializzato con il valore del corrispondente parametro attuale.
15 Passaggio dei parametri #include <stdio.h> void f (int y) { y++; return; main ( ) { int x = 4; f (x); 4 x ambiente di main 4 y ambiente di f
16 Esercizio /* Scrivere una funzione che calcola il fattoriale di un numero dato */ int fattoriale (int n) /* n è il parametro formale della procedura */ { int i; /* i e fact sono variabili locali alla procedura */ int fact =1; for (i=2; i<=n; i++) fact = fact *i; return fact;
17 Craps: un gioco di dadi Scriviamo un programma che simula il noto gioco d azzardo craps basato sull uso di una coppia di dadi a sei facce. Il gioco inizia con un giocatore che lancia due dadi: se ha totalizzato 7 o 11 il giocatore ha vinto, se ha totalizzato 2 o 12 il giocatore ha perso, altrimenti, se il totale è il numero n, il giocatore deve continuare a lanciare i dadi fino a quando o totalizza di nuovo il numero n, e in questo caso ha vinto oppure totalizza un 7 e così ha perso
18 Craps: un gioco di dadi Scriviamo l algoritmo per il programma craps: lancia due dadi e trovane la somma se la somma è 7 o 11 il giocatore ha vinto, se la somma è 2 o 12 il giocatore ha perso, Funzione tira_dadi altrimenti, se la somma è il numero n, fisso il punteggio ad n e continuo il gioco finché non ho né vinto né perso lancio di nuovo i dadi se la somma è uguale al punteggio il giocatore ha vinto se la somma è 7 il giocatore ha perso stampa a video il risultato del gioco Funzione stampa_risultato
19 Craps: un gioco di dadi /***************************************************************************** *********************** programma per giocare a craps *****************/ #include<stdio.h> #include<stdlib.h> /* prototipi delle funzioni usate */ int tira_dadi(void); /* simula il lancio dei dadi */ void stampa_risultati(int risult); /* se l argomento è 1 stampa Hai vinto se l argomento è 2 stampa Hai perso */
20 int main ( ) { int stato_gioco, somma_dadi, punteggio; somma_dadi = tira_dadi( ); /* effettua il primo lancio */ switch(somma_dadi) { case 7: case 11: stato_gioco=1; break; /* vince al primo lancio */ case 2: case 12: stato_gioco=2; break; /* perde al primo lancio */ default: stato_gioco=0; /* memorizzo il punteggio punteggio=somma_dadi; e continuo a giocare */ while (stato_gioco==0) { // continua a lanciare finché non somma_dadi = tira_dadi( ); if (somma_dadi ==punteggio) stato_gioco=1; // vince con il punteggio else if (somma_dadi==7) stato_gioco=2; // opp perde con il 7 stampa_risultati( stato_gioco); /* chiusa la funzione main */
21 int tira_dadi ( ) { int dado1, dado2, somma; dado1 = 1+ rand()%6; dado2 = 1+ rand()%6; somma = dado1+dado2; /** definizioni delle funzioni usate **/ printf( Il giocatore ha tirato %d + %d = %d, dado1, dado2, somma); return somma; void stampa_risultati (int finale) { if (finale == 1) printf( Hai vinto!\n ); else printf( Hai perso \n ); return;
22 Conversione di base Scrivere una funzione ricorsiva che dato un numero intero positivo n stampa la sua rappresentazione binaria. ESEMPIO: Convertire il numero 35 dalla base 10 alla base 2 35 : 2 = 17 resto 1 17 : 2 = 8 resto 1 8 : 2 = 4 resto 0 4 : 2 = 2 resto 0 2 : 2 = 1 resto 0 1 : 2 = 0 resto 1 La rappresentazione binaria del numero 35 é
23 Soluzione #include <stdio.h> void convert (int n) { int k; k = n/2; if (k > 0) convert(k); printf( %d, n%2); int main( ) { int n; printf ( Dammi un numero intero positivo: \n ); scanf( %d, &n); printf( la conversione binaria di %d e :, n); convert(n);
24 Esercizio Dire per quali valori dei parametri attuali la seguente procedura termina. int prova_costrutti (int x, int y) { int z = 0; if (y = z) return 1; else { while (x!= y) prova_costrutti (2*x, 2*y); return z;
25 Esercizio int prova_costrutti (int x, int y) { int z = 0; x =? y =? z = 0 if (y = z) return 1; else { while (x!= y) prova_costrutti (2*x, 2*y); return z; x =? y = 0 z = 0 La procedura termina quando viene chiamata con x = 0.
26 Esercizio Per quali valori dei parametri attuali la seguente procedura termina correttamente? Quali sono i possibili valori restituiti? int foo (int a, int b) { int z=0; if (b=0) return 3; else { while (a == 3) z = foo(a, 2*b); return z;
27 Soluzione int foo (int a, int b) { /* procedura ricorsiva */ int z=0; if (b=0) /* la condizione è sempre falsa */ return 3; else { while (a == 3) /* se viene eseguito questo ciclo z = foo(a, 2*b); non termina mai */ return z; La procedura termina se a!= 3. In tal caso restituisce 0.
INFORMATICA DI BASE Linguaggio C Prof. Andrea Borghesan
INFORMATICA DI BASE Linguaggio C Prof. Andrea Borghesan venus.unive.it/borg borg@unive.it Ricevimento lunedì, prima o dopo lezione 1 Le funzioni in C Le funzioni vengono utilizzate per 3 motivi: Riusabilità
DettagliERRATA CORRIGE. void SvuotaBuffer(void); void SvuotaBuffer(void) { if(getchar()!=10) {svuotabuffer();} }
ERRATA CORRIGE Pulizia del buffer di input: come fare? (1) Dopo aver richiamato getchar() per prelevare un carattere dal buffer di input, inseriamo una seconda chiamata a getchar(), senza assegnare il
DettagliUn esempio per iniziare. Il controllo del programma in C. Altri cenni su printf() Esercizi (printf) printf( 8!=%d, fatt);
Un esempio per iniziare Il controllo del programma in C DD Cap.3 pp.91-130 /* calcolo di 8!*/ #include #define C 8 int main() int i=1; int fatt=1; while (i
DettagliStudio sulla funzione rand del linguaggio C
Studio sulla funzione rand del linguaggio C di Cavenaghi Mattia matricola 64096 Progetto di Tecniche di Simulazione matricola 64096 Indice: Introduzione Le regole del Craps pag. Il codice del gioco pag.
DettagliEsercitazione 6. Array
Esercitazione 6 Array Arrays Array (o tabella o vettore): è una variabile strutturata in cui è possibile memorizzare un numero fissato di valori tutti dello stesso tipo. Esempio int a[6]; /* dichiarazione
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
DettagliLaboratorio di Programmazione: Linguaggio C Lezione 9 del 27 novembre 2013
Laboratorio di Programmazione: Linguaggio C Lezione 9 del 27 novembre 2013 Damiano Macedonio Giochi d Azzardo Note Iniziali Per generare un numero casuale basta includere la libreria stdlib.h e utilizzare
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[]
DettagliIstruzioni Condizionali in C
Concetti chiave Istruzioni Condizionali in C Tipi di Istruzioni Condizionali Espressioni Blocchi d istruzioni Istruzioni Condizionali: if-else Istruzioni Condizionali: switch-case Istruzione break Istruzioni
DettagliIstruzioni iterative (o cicliche)
Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Istruzioni iterative (o cicliche) Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica (Canale di Ingegneria
DettagliFunzioni e. Alessandra Giordani Mercoledì 16 maggio 2012
Funzioni e passaggio parametri Alessandra Giordani agiordani@disi.unitn.it Mercoledì 16 maggio 2012 http://disi.unitn.it/~agiordani/ Cosa vedremo oggi Le funzioni Il passaggio dei parametri Le dichiarazioni
DettagliEsercitazione 4. Comandi iterativi for, while, do-while
Esercitazione 4 Comandi iterativi for, while, do-while Comando for for (istr1; cond; istr2) istr3; Le istruzioni vengono eseguite nel seguente ordine: 1) esegui istr1 2) se cond è vera vai al passo 3 altrimenti
DettagliLinguaggio C - le strutture di controllo: sequenza, selezione, iterazione
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C - le strutture di controllo: sequenza, selezione, iterazione
DettagliLe Strutture di controllo Del Linguaggio C. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni
Le Strutture di controllo Del Linguaggio C Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni STRUTTURE DI CONTROLLO PRIMITIVE SEQUENZA SELEZIONE (o scelta logica) ITERAZIONE NON PRIMITIVE
DettagliEsercitazione 3. Oggi sono stati effettuati semplici esercizi in C utilizzando le seguenti istruzioni: if...else, while, printf, scanf
Riassunto Esercitazione 3 Oggi sono stati effettuati semplici esercizi in C utilizzando le seguenti istruzioni: if...else, while, printf, scanf Sono state introdotte anche le seguenti relazioni: uguaglianza:
DettagliELEMENTI DI INFORMATICA L-B. Ing. Claudia Chiusoli
ELEMENTI DI INFORMATICA L-B Ing. Claudia Chiusoli Materiale Lucidi delle lezioni Date degli appelli Testi di esami precedenti Informazioni e contatti http://www.lia.deis.unibo.it/courses/ Programma del
DettagliRealizzare un programma che legga da input tre numeri interi e stampi a video la loro somma e la media.
Esercizio 1 Realizzare un programma che legga da input tre numeri interi e stampi a video la loro somma e la media. #include Esercizio 1 - Soluzione int main() int num1, num2, num3, somma; float
DettagliEsercizio 2 (punti 7) Dato il seguente programma C: #include <stdio.h> int swap(int * nome, int length);
Fondamenti di Informatica L-A (A.A. 004/005) - Ingegneria Informatica Prof.ssa Mello & Prof. Bellavista I Prova Intermedia del 11/11/004 - durata h - COMPITO B Esercizio 1 (punti 1) Una associazione di
DettagliStringhe. In C le stringhe ben formate sono in realtà array di caratteri terminati sempre da un carattere speciale, \0, detto anche
Fondamenti di Informatica T-1 modulo 2 Laboratorio 04: stringhe 1 Stringhe In C le stringhe ben formate sono in realtà array di caratteri terminati sempre da un carattere speciale, \0, detto anche terminatore
DettagliProgramma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Reti di Calcolatori
Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Reti di Calcolatori Architettura del calcolatore Elementi di Programmazione Esempi di algoritmi e programmi Conversione
DettagliComplementi. - Ridefinizione di tipo - - Costrutto switch - - Programmazione su più file - - Parametri della funzione main - Funzione system -
Complementi - Ridefinizione di tipo - - Costrutto switch - - Programmazione su più file - - Parametri della funzione main - Funzione system - Università degli Studi di Brescia Prof. Massimiliano Giacomin
DettagliISTRUZIONI ISTRUZIONI
ISTRUZIONI Le istruzioni esprimono azioni che, una volta eseguite, comportano una modifica permanente dello stato interno del programma o del mondo circostante. Le strutture di controllo permettono di
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=
DettagliProgrammare in C. Esempio: Algoritmo del Risveglio
MASTER Information Technology Excellence Road (I.T.E.R.) Programmare in C (strutture di controllo) Maurizio Palesi Salvatore Serrano Master ITER Informatica di Base Maurizio Palesi, Salvatore Serrano 1
DettagliIl linguaggio C. Notate che...
Il linguaggio C Notate che... 1 Il C è un linguaggio a blocchi int main (void) { blocco } 2 Il C è un linguaggio a blocchi (2) Non è possibile mischiare dichiarazioni e comandi! int main (void) { } Dichiarazione
DettagliEsercitazione 12. Esercizi di Ricapitolazione
Esercitazione 12 Esercizi di Ricapitolazione Esercizio Scrivere un programma che, dato un numero intero positivo, stampa la sua rappresentazione binaria. ALGORITMO Scriviamo una procedura stampa_bin che,
DettagliIstruzioni di ciclo. Unità 4. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi
Corso di Ingegneria Clinica BCLR Domenico Daniele Bloisi Docente Ing. Domenico Daniele Bloisi, PhD Ricercatore Dipartimento di Ingegneria Informatica, Automatica e Gestionale Antonio Ruberti Via Ariosto
DettagliElementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I
Lezione 4 Elementi lessicali e espressioni logiche Matricole 2-3 Elementi lessicali il linguaggio C ha un suo vocabolario di base i cui elementi sono detti token esistono 6 tipi di token: parole chiave
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
DettagliLinguaggio C. Esercizio 1
Linguaggio C Esercizi su puntatori e liste Walter Didimo (e-mail:didimo@dia.uniroma3.it) supplemento al Corso di Calcolatori Elettronici (Riccardo Torlone) 1 Esercizio 1 Siano p e q due puntatori a variabili
DettagliLe funzioni, e le istruzioni di input/output
Linguaggio C Le funzioni, e le istruzioni di input/output 1 Funzioni! Sono sottoprogrammi per svolgere un particolare compito! Sequenze di istruzioni (raggruppate tramite le parentesi graffe) alle quali
DettagliInformatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica
Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica Dipartimento di Elettronica, Informazione e Bioingegneria Informatica B Sezione D Franchi Alessio Mauro,
DettagliProgrammazione I - Laboratorio
Programmazione I - Laboratorio Esercitazione 1 - Variabili, costanti, strutture di controllo e input/output Gianluca Mezzetti 1 Paolo Milazzo 2 1. Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/
DettagliAlgoritmi e basi del C Struttura di un programma
Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 17 Marzo 2015 Compitini Compitini di INFO: 24 Aprile 2015 4.15pm @ C.G.1 (Ed. 9) 21
DettagliStrutture di Controllo
Strutture di Controllo Informatica B Istruzioni condizionali #include int main() char c; printf("inserire il carattere maiuscolo: "); scanf("%c", &c); printf("la traduzione e' %c\n",c+32); return
DettagliEsercitazione 5. Corso di Fondamenti di Informatica. Laurea in Ingegneria Informatica
Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Esercitazione 5 Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica (Canale di Ingegneria delle Reti
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 di programmazione in C
Esercizi di programmazione in C Esercizio 1 Scrivere un programma in linguaggio C che legga da tastiera una sequenza di lunghezza ignota a priori di numeri interi positivi. Il programma, a partire dal
DettagliSwitch. Unità 3. Corso di Laboratorio di Informatica Ingegneria Clinica BCLR. Domenico Daniele Bloisi
Corso di Ingegneria Clinica BCLR Domenico Daniele Bloisi Docente Ing. Domenico Daniele Bloisi, PhD Ricercatore Dipartimento di Ingegneria Informatica, Automatica e Gestionale Antonio Ruberti Via Ariosto
DettagliProgrammazione a moduli in C
Funzioni Programmazione a moduli in C Politecnico di Milano Motivazioni Alcuni programmi possono essere molto, molto complessi E utile poter partizionare il lavoro di progettazione in sottolavori più semplici
DettagliCorso di Reti di Calcolatori L-A
Università degli Studi di Bologna Facoltà di Ingegneria Corso di Reti di Calcolatori L-A Esercitazione 9 (svolta) RPC: Inizializzazione Strutture Dati sul Server Luca Foschini Anno accademico 2010/2011
DettagliArray. Maurizio Palesi Salvatore Serrano. In C si possono definire tipi strutturati Vi sono due costruttori fondamentali
MASTER Information Technology Excellence Road (I.T.E.R.) Array Maurizio Palesi Salvatore Serrano Master ITER Informatica di Base Maurizio Palesi, Salvatore Serrano 1 Tipi di dato stutturati In C si possono
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
DettagliPolitecnico di Torino Sede di Alessandria Corso di informatica Programmazione in c: introduzione. e mail: sito: users.iol.
Politecnico di Torino Sede di Alessandria Corso di informatica Programmazione in c: introduzione prof. Lorenzo Porcelli e mail: genna18@iol.it sito: users.iol.it/genna18 Risoluzione di un problema Dato
DettagliEsercizio 1: funzione con valore di ritorno di tipo puntatore
Esercitazione Fondamenti di Informatica B Corso di Laurea in Ingegneria Meccanica 7 Esercitazione: 14 dicembre 2005 Esercizi su ricorsione, manipolazione stringhe, strutture dinamiche Problema: Esercizio
DettagliLezione 9: Puntatori a funzioni. Tipi enumerativi e orientati ai bit
Lezione 9: Puntatori a funzioni. Tipi enumerativi e orientati ai bit Vittorio Scarano Laboratorio di Informatica I Corso di Laurea in Informatica Università degli Studi di Salerno Struttura della lezione
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
DettagliLIA. LIA - DEIS - Facoltà di Ingegneria - Università di Bologna Elementi di informatica L
LIA - DEIS - Facoltà di Ingegneria - Università di Bologna Elementi di informatica L Corso di laurea in Ingegneria Chimica - Anno Accademico 2007-2008 Funzioni Esercizio 3.3 Si scriva un programma in linguaggio
DettagliLa gestione dei caratteri in C
in C In C i caratteri sono gestiti mediante variabili di tipo char (interi a 8 bit) Ad ogni carattere corrisponde un codice numerico ASCII (American Standard Code for Information Interchange) Un esempio
DettagliIntroduzione al C. Esercitazione 6. Raffaele Nicolussi. Corso di Fondamenti di Informatica Ingegneria Clinica
Corso di Fondamenti di Informatica Ingegneria Clinica Esercitazione 6 Raffaele Nicolussi Esercizio 1 Si scriva una funzione in linguaggio C che riceve in ingresso un numero intero A letto da tastiera,
DettagliFondamenti di Informatica T-1 Modulo 2
Fondamenti di Informatica T-1 Modulo 2 1 Obiettivi di questa esercitazione 1. Passaggio dei parametri per valore/riferimento 2. Trattamento degli errori: funzioni che restituiscono anche codici di errore
DettagliEsercizio 1: calcolo del massimo di una sequenza (versione 1)
Esercitazione Fondamenti di Informatica B Corso di Laurea in Ingegneria Meccanica 2 Esercitazione: 12 ottobre 2005 Primi esercizi in C Esercizio 1: calcolo del massimo di una sequenza (versione 1) Si legga
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
DettagliLinguaggio C: le funzioni
Linguaggio C: le funzioni prof. Lorenzo Porcelli e mail: genna18@iol.it sito: http://users.iol.it/genna18 Introduzione attraverso un esempio Problema: Conoscendo le misure di n rettangoli, determinare
DettagliFondamenti di Informatica T-1 Modulo 2
Fondamenti di Informatica T-1 Modulo 2 1 Obiettivi di questa esercitazione 1. Array 2 Esercizio 1 Creare un programma che legga da input un numero non noto a priori di interi (al più 10) terminati da 0.
DettagliLinguaggio C. Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore.
Linguaggio C Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore. 1 Funzioni Generalizzazione del concetto di funzione algebrica: legge che associa a valori delle variabili
DettagliInformatica e elementi di informatica medica. Laboratori del 9 e del 12 Aprile 2010
Informatica e elementi di informatica medica Laboratori del 9 e del 12 Aprile 2010 Calcolo geometrico 1 Esercizio 1: Calcolo geometrico Scrivere un programma che chieda all utente di indicare la lunghezza
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
DettagliInformatica 1. Prova di recupero 21 Settembre 2001
Informatica 1 Prova di recupero 21 Settembre 2001 Si risolvano i seguenti esercizi. Ai fini della determinazione del voto finale il loro punteggio andrà sommato al punteggio del laboratorio. Il tempo complessivo
DettagliLaboratorio di programmazione
Laboratorio di programmazione Lezione II Tatiana Zolo zolo@cs.unipr.it 1 IL PROGRAMMA C++ Istruzioni (espressioni terminate da ; ) istruzioni di dichiarazione (es. int x = 0;); istruzioni di assegnamento
DettagliAlcuni esercizi. 1. Valutazione in cortocircuito 2. If e if innestati 3. Switch 4. Cicli
Alcuni esercizi 1. Valutazione in cortocircuito 2. If e if innestati 3. Switch 4. Cicli Esercizio 1 (valutazione in cortocircuito) int main() int a=5, b=5, c=5; if (a>0 (a=a+1) ) printf( %d, a); if (b>0
DettagliElementi di Informatica e Programmazione PPING 20 aprile 2010 Non saranno corretti elaborati scritti confusamente o con grafia difficilmente leggibile
Non saranno corretti elaborati scritti confusamente o con grafia difficilmente leggibile Cognome: Nome: Matricola: 2 Punti 1. Dato il numero binario 11100.101: (a) fornire la sua rappresentazione ottale;
DettagliLa gestione della memoria dinamica Heap
Laboratorio di Algoritmi e Strutture Dati La gestione della memoria dinamica Heap Prof. Luigi Lamberti 2005 Cenni sui Processi Un Programma è un insieme di Istruzioni memorizzato in un file con le costanti
DettagliLinguaggio C - Funzioni
Linguaggio C - Funzioni Funzioni: Il linguaggio C è di tipo procedurale; ogni programma viene suddiviso in sottoprogrammi, ognuno dei quali svolge un determinato compito. I sottoprogrammi si usano anche
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
Dettagli5 - Istruzioni condizionali
5 - Istruzioni condizionali Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it
DettagliEsercitazione 3. Corso di Fondamenti di Informatica
Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Esercitazione 3 Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica (Canale di Ingegneria delle Reti
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
DettagliEsercizi proposti. Funzioni. Esercizio Confronto tra date. Esercizi proposti. Analisi. Controlli
Esercizio Confronto tra date Esercizio Quadrato Esercizio Indovina numero Funzioni 2 Esercizio Confronto tra date Si scriva un programma che chieda all utente di inserire due date (giorno, mese, anno)
DettagliESERCIZI DI PROGRAMMAZIONE DA SVOLGERE INDIVIDUALMENTE - parte 1 -
ESERCIZI DI PROGRAMMAZIONE DA SVOLGERE INDIVIDUALMENTE - parte 1 - Elementi di Informatica e Programmazione Università di Brescia 1 1: ESERCIZI DI BASE - di livello di difficoltà inferiore rispetto all
DettagliNon ci sono vincoli sul tipo degli elementi di un vettore Possiamo dunque avere anche vettori di
ARRAY DI PUNTATORI Non ci sono vincoli sul tipo degli elementi di un vettore Possiamo dunque avere anche vettori di puntatori Ad esempio: char * stringhe[4]; definisce un vettore di 4 puntatori a carattere
DettagliScope delle variabili e passaggio parametri. Danilo Ardagna Politecnico di Milano
Scope delle variabili e passaggio parametri Danilo Ardagna Politecnico di Milano 1-4-2014 Introduzione! Con le funzioni è stato introdotto un meccanismo per definire dei piccoli programmi all interno di
DettagliEsercizi di programmazione in linguaggio C - Costrutto iterazione
Esercizi di programmazione in linguaggio C - Costrutto iterazione prof. Roberto uligni 1. [potenze1] Scrivere un programma che visualizzi il valore di tutte le prime n potenze di 2 con n richiesto all'utente
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
DettagliLe Funzioni e la Ricorsione
Aula V Dip. di Matematica G. Castelnuovo Univ. di Roma La Sapienza Le Funzioni e la Ricorsione Igor Melatti Slides disponibili (assieme ad altro materiale) in: http://www.dsi.uniroma1.it/ melatti/programmazione1.2007.2008.html
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
Dettagli# include<stdio.h> int main() { // Dichiarazioni int n; int i;
/* CALCOLIAMO I DIVISORI DI UN NUMERO. INSERIAMO UN CONTROLLO CHE IL NUMERO SIA EFFETTIVAMENTE POSITIVO UTILIZZIAMO IL DO...WHILE PER SEMPLIFICARE IL CODICE # include int main() // Dichiarazioni
DettagliCapitolo 5 - Funzioni
Capitolo 5 - Funzioni Divide and conquer Introduzione Costruire un programma da pezzi più piccoli o da singole componenti Questi pezzi più piccoli sono chiamati moduli Ogni singolo pezzo è più facilmente
Dettagli$QDOLVLGHOSURJUDPPDTXDGUDWR
$QDOLVLGHOSURJUDPPDTXDGUDWR /* */ calcolare l area del quadrato #include main(){ int lato, area; printf("lato "); scanf("%d", &lato); if(lato < 0) printf("errore nei dati \n"); else { area =
DettagliEs 1. Scrivere un programma che verifica se una terna di numeri interi e' pitagorica
Es 1. Scrivere un programma che verifica se una terna di numeri interi e' pitagorica 1. Analisi del problema INPUT (variabili e tipo)? Tre numeri interi x,y,z:int OUTPUT? Si/No MA... Capire il problema:
DettagliBreve Manuale di Riferimento sulla Sintassi Linguaggi C++ e FORTRAN
Breve Manuale di Riferimento sulla Sintassi Linguaggi e versione aggiornata al 05/02/2004 Sommario Elementi di Base... 2 Dati, Tipi e Dichiarazioni... 2 Tipi di Dato di Base... 2 Tipi di Dato Strutturati...
Dettagliuguale livello gerarchico non vi sono funzioni più importanti di altre main main
FUNZIONI in C/C++ Un programma C++ è un insieme di funzioni indipendenti e di uguale livello gerarchico (nel senso che non vi sono funzioni più importanti di altre o dotate, in qualche modo, di diritti
Dettaglinome (lista_parametri) Funzioni funzioni predefinite: sqrt(x) log(x) usare queste funzioni significa: specificare il valore degli argomenti
Università di Roma Tor Vergata L9-1 Funzioni funzioni predefinite: sqrt(x) log(x) usare queste funzioni significa: specificare il valore degli argomenti utilizzare il valore restituito quanti argomenti
DettagliCORSO DI PROGRAMMAZIONE
ISTITUTO TECNICO INDUSTRIALE G. M. ANGIOY SASSARI CORSO DI PROGRAMMAZIONE ISTRUZIONE DI SELEZIONE MULTIPLA DISPENSA 02.03 02-03_Switch_[ver_15] Questa dispensa è rilasciata sotto la licenza Creative Common
Dettagli! Istruzioni Condizionali. ! Cicli. n while do n do while n for n go to. n If n else n switch
Linguaggio C ! Istruzioni Condizionali n If n else n switch! Cicli n while do n do while n for n go to 2 Il controllo di flusso 3 ! Le istruzioni di controllo di flusso si dividono in! Selezioni condizionali!
DettagliLaboratorio di informatica Ingegneria Clinica. Esercitazione 2 10 Ottobre 2011
Laboratorio di informatica Ingegneria Clinica Esercitazione 2 10 Ottobre 2011 Istruzioni Istruzioni di Input/Output Istruzioni di assegnamento Istruzioni di controllo Permettono di modificare il flusso
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
DettagliIL PRIMO PROGRAMMA IN C
IL PRIMO PROGRAMMA IN C LO SCOPO Si vuole scrivere un programma in linguaggio C che chieda all utente di introdurre da tastiera due numeri interi e visualizzi il valore della loro somma sul video SOLUZIONE
DettagliScelte ed alternative. Esercizi risolti
1 Esercizio Indovina cosa... Esercizi risolti Determinare che cosa fa il seguente frammento di programma in linguaggio C: int a, b, c; scanf("%d", &a); scanf("%d", &b); if(a>b) { c = a ; a = b ; b = c
DettagliEsercitazione 7. Procedure e Funzioni
Esercitazione 7 Procedure e Funzioni Esercizio Scrivere un programma che memorizza in un array di elementi di tipo double le temperature relative al mese corrente e ne determina la temperatura massima,
DettagliFondamenti di Informatica T-1 Modulo 2
Fondamenti di Informatica T-1 Modulo 2 1 Obiettivi di questa esercitazione 1. Passaggio dei parametri per valore/riferimento 2. Trattamento degli errori: funzioni che restituiscono anche codici di errore
Dettaglimain() { int i; int a[10]={1,2,3,4,5,6,7,8,9,10}; /* inizializzazione in fase di definizione */ int b[10];
ESERCIZI ARRAY 1. Scrivere un programma che inizializza un vettore monodimensionale di interi e poi copia il vettore in un altro vettore della stessa dimensione. 2. In una gara il punteggio di ciascun
DettagliCorso di Informatica 1 Esercitazione n. 4
Corso di Informatica 1 Esercitazione n. 4 Marco Liverani Esercizio n. 1 Letti in input due numeri interi n > 0 e k > 1 costruire un array A di n numeri interi casuali minori di 100 che non siano multipli
DettagliObiettivi di questa esercitazione
Fondamenti di Informatica T-1 Modulo 2 1 Obiettivi di questa esercitazione 1. Passaggio dei parametri per valore/riferimento 2. Trattamento degli errori: funzioni che restituiscono anche codici di errore
DettagliErrori frequenti Cicli iterativi Array. Cicli e array. Laboratorio di Programmazione I. Corso di Laurea in Informatica A.A.
Cicli e array Laboratorio di Programmazione I 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 Lez. 8 - Introduzione all ambiente
DettagliEsempio: L EURO-CONVERTITORE (1) Scopo
Esempio: L EURO-CONVERTITORE (1) Scopo Realizzare un sistema software per la conversione di euro in lire. In particolare, si vuole, definire un euro-covertitore e, dati due oggetti di tipo euro convertitore
DettagliFondamenti di Informatica 1 Ing.Gestionale (A.A ) - docente Sandro Moriggi RECUPERO. cognome nome
Compito 1 Segnare una sola delle risposte indicate; una risposta errata ha un punteggio = 0; una risposta mancante ha un punteggio = 0; più di 1 risposta (incluso modifica della risposta segnata): annullata
Dettagligiapresente( ) leggi( ) char * strstr(char * cs, char * ct) NULL
Materiale di ausilio utilizzabile durante l appello: tutto il materiale è a disposizione, inclusi libri, lucidi, appunti, esercizi svolti e siti Web ad accesso consentito in Lab06. L utilizzo di meorie
DettagliSi possono applicare solo a variabili (di tipi interi, floating o puntatori), ma non a espressioni generiche (anche se di questi tipi).
Operatori di incremento e decremento: ++ e -- ++ e -- sono operatori unari con la stessa priorità del meno unario e associatività da destra a sinistra. Si possono applicare solo a variabili (di tipi interi,
DettagliSviluppo di programmi. E ora, finalmente. Si comincia! 1. Analizzare il problema. 2. Progettare una soluzione (1) E necessario capire:
Sviluppo di programmi Per scrivere un programma C corretto bisogna: E ora, finalmente Si comincia! DD Cap. pp.4974 Analizzare il problema (input, output, casi estremali) 2. Progettare una soluzione (algoritmo)
Dettagli