Progetto d esame. Elementi di Informatica. Esercitazione 1. Esercizio 1. #include <stdio.h> #include <cstdlib> #include <math.

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Progetto d esame. Elementi di Informatica. Esercitazione 1. Esercizio 1. #include <stdio.h> #include <cstdlib> #include <math."

Transcript

1 Progetto d esame Elementi di Informatica Esercizio 1 Esercitazione 1 #include <cstdlib> #include <math.h> float a,b,c; printf("inserire il primo valore: \n"); scanf("%f",&a); printf("inserire il secondo valore \n"); scanf("%f",&b); c=a+b; printf("la somma vale: %f \n",c); c=a-b; printf("la differenza vale: %f \n ",c); c=a*b; printf("il prodotto vale: %f \n ",c); c=a/b; printf("il quoziente vale: %f \n ",c); c=fmod(a,b); printf("il modulo vale: %f \n ",c); c=sqrt(a); printf("la radice del primo numero vale: %f \n ",c); c=sqrt(b);

2 printf("la radice del secondo numero vale: %f \n ",c); c=pow(a,3); printf("la potenza di 3 del primo numero vale: %f \n ",c); c=pow(b,3); printf("la potenza di 3 del secondo numero vale: %f \n ",c); system("pause"); return 0; Esercizio 2 (parte 1) #include <cstdlib> float i; float m=1; float n; do{ m=m*i; while(i!=36); n=m/36; printf("il prodotto vale %f",n); system("pause"); return 0; Esercizio 2 (parte 2)

3 #include <cstdlib> float i; float m=1; float n; do{ if(i!=11){ m=m*i; n=m/36;else{ do{ m=m*i;while(i!=36); do{ m=m*i;while(i!=36); n=m/1296; while(i!=36); printf("il prodotto vale %f \n",n); system("pause"); return 0;

4 Esercizio 3 (Domande di teoria) Rispondere alle seguenti domande. 1. Cosa si intende per funzione nel linguaggio C? 2. Cosa e' la dichiarazione di una funzione e il corpo di una funzione? 3. A cosa servono i parametri di una funzione? 4. Qual e la differenza tra il passaggio di parametri per valore o per referenza? 1) In generale, in informatica, un problema originale complesso può essere risolto tramite composizione di soluzioni di sottoproblemi più semplici. Tale ragionamento pone le basi nella scrittura modulare di un algoritmo mediante il quale un algoritmo che risolve un problema complesso può essere composto da algoritmi che risolvono sottoproblemi semplici individuati scomponendo il problema originale. Pertanto si individuano all interno del programma di partenza delle sequenze di istruzione alle quali viene dato un nome ben preciso e che rappresentano i sottoprogrammi detti anche moduli. Ognuno di questi moduli dovrà possedere un singolo e ben precisato compito e deve essere dotato di un solo ingresso ed una sola uscita (1 IN 1 OUT). Se, inoltre, associo a tale modulo un return, ovvero una specifica sul tipo di dato che essa ritornerà in output all'utente, allora tale modulo viene detto Funzione, altrimenti Procedura. In informatica, le funzioni sono analoghe a quelle matematiche; infatti le variabili indipendenti sono i parametri, ovvero i valori che si danno in input alla funzione. In generale i parametri rappresentano indirizzi di memoria o valori numerici indispensabili ad una funzione per eseguire le sue operazioni; d altra parte è possibile creare anche funzioni che non hanno parametri. Per capirci, il main() è una funzione a zero parametri e termina con il return zero. L'importanza, e i vantaggi di una funzione stanno nel fatto che può essere chiamata in diversi punti del programma di cui fa parte ogni volta in cui si ha la necessità di farlo come se fosse una singola istruzione senza la necessità di doverne riscrivere ogni volta il relativo codice, cui si aggiunge una più facile progettazione del software secondo la classica filosofia del divide et impera a cui si ispira la progettazione top down. 2) Detto questo, la struttura di una funzione si compone di due elementi fondamentali: - Titolo: Nel Titolo, detto anche Dichiarazione di una funzione, si indicano l identificatore della funzione, ovvero il suo nome, ed i parametri. - Corpo: Il Corpo, detto anche Definizione della funzione, si compone della sequenza di dichiarazioni di variabili interne e di istruzioni che vanno a definire in maniera operativa il modulo e le sue funzionalità. 3-4) Come già detto, un generico programma è composto da un insieme strutturato di moduli per poterne facilitare la scrittura. Tuttavia, dal momento che una generica funzione può essere usata più volte in uno stesso programma o in programmi diversi, la si può scrivere in forma parametrica mediante la quale si vanno ad utilizzare delle generiche variabili, dette parametri formali. Soltanto all atto della attivazione da parte del programma chiamante della funzione stessa si associano ai parametri formali i dati effettivi sui

5 quali è libera di effettuare le proprie operazioni; si ottengono così i parametri effettivi. In particolare esistono due diversi meccanismi di sostituzione dei parametri effettivi con quelli formali (sia per le funzioni che per le procedure): - Sostituzione per valore - Sostituzione per referenza. Il meccanismo di sostituzione per valore assegna al parametro formale della funzione il valore del corrispondente parametri effettivo. Tale metodo è vantaggioso poiché garantisce che la variabile passata come parametro effettivo non viene alterata dalla funzione stessa; questo perché la funzione, al momento della chiamata, copia i valori dei parametri effettivi nei corrispondenti parametri formali lavorando di fatto su una copia. Pertanto tutte le modifiche che vengono effettuate nella esecuzione del sottoprogramma su tali variabili formali non riguardano in alcun modo le variabili effettive. Il meccanismo di sostituzione per riferimento, d altra parte, fornisce al parametro formale della funzione l indirizzo di memoria del corrispondente parametro effettivo. In questo modo, il parametro formale non è una copia bensì un informazione attraverso cui si lavora direttamente sul parametro effettivo. In particolare, la dichiarazione di tipo accompagnata dall operatore & indica un parametro formale per il quale è stata usata la sostituzione per riferimento; in tale caso, il parametro formale è un alias ovvero un nome alternativo del parametro effettivo e ogni modifica apportata al parametro formale è una modifica al parametro effettivo a tutti gli effetti, in quanto si tratta della stessa variabile Da ciò, forniamo un esempio di funzione che calcola la somma di due numeri dati: float FunzioneSomma (float a, float b){ float x=2; float y=3; float Somma=0; float SommaDiDueNumeri; SommaDiDueNumeri=a+b; return(sommadiduenumeri); Somma=FunzioneSomma(x,y); Nel titolo della funzione compaiono, dunque, il suo identificatore che per semplicità abbiamo chiamato FunzioneSomma ed i parametri formali di tipo float a e b. Successivamente nel corpo della funzione è stata definita una ulteriore variabile il cui identificatore per semplicità abbiamo chiamato SommaDiDueNumeri

6 ed a cui abbiamo assegnato l operazione di somma dei parametri a e b. In ultimo, si osservi l istruzione return(sommadiduenumeri): innanzitutto, il tipo della variabile SommaDiDueNumeri deve essere compatibile con quello indicato nella intestazione per il nome della funzione, inoltre tale return rappresenta il codominio della funzione stessa che mi permette di specificare il valore restituito, dall operazione effettuata, che verrà poi passato nel programma chiamate. Successivamente, nel main, si introduce una nuova variabile Somma che procede alla chiamata della funzione precedentemente descritta. Si noti che è stato effettuato, in tale circostanza, un passaggio di parametri per valore il quanto i parametri della FunzioneSomma saranno non più quelli formali, ma quelli effettivi dichiarati nel main (x e y). Esercizio 4 #include <math.h> #include <cstdlib> float SommaDiDueNumeri(float a, float b); float MoltiplicazioneDiDueNumeri (float a, float b); float DivisioneDiDueNumeri (float a, float b); int ModuloDiDueNumeri (int a, int b); float RadiceQuadrataDelPrimoNumero (float a); float RadiceQuadrataDelSecondoNumero (float b); float PotenzaDi3DelPrimoNumero (float a); float PotenzaDi3DelSecondoNumero (float b); float x,y,z; printf("inserire il primo valore: \n "); scanf("%f",&x); printf("inserire il secondo valore: \n "); scanf("%f",&y);

7 z=sommadiduenumeri(x,y); printf("\n La somma dei due numeri e': %f",z); z=moltiplicazionediduenumeri(x,y); printf(" \n Il prodotto dei due numeri e': %f",z); z=divisionediduenumeri(x,y); printf(" \n Il quoziente dei due numeri e': %f",z); z=modulodiduenumeri(x,y); printf("\n Il modulo dei due numeri e':%f",z); z=radicequadratadelprimonumero(x); printf("\n La radice quadrata del primo numero vale :%f",z); z=radicequadratadelsecondonumero(y); printf("\n La radice quadrata del secondo numero vale :%f",z); z=potenzadi3delprimonumero(x); printf("\n La potenza di 3 del primo numero vale:%f",z); z=potenzadi3delsecondonumero(y); printf("\n La potenza di 3 del secondo numero vale :%f",z); float SommaDiDueNumeri(float a,float b){ float c; c=a+b; return c ; float MoltiplicazioneDiDueNumeri (float a, float b){ float c; c=a*b; float DivisioneDiDueNumeri (float a, float b){ float c;

8 c=a/b; int ModuloDiDueNumeri (int a, int b){ int c; c=a%b; float RadiceQuadrataDelPrimoNumero (float a){ float c; c=sqrt(a); float RadiceQuadrataDelSecondoNumero (float b){ float c; c=sqrt(b); float PotenzaDi3DelPrimoNumero (float a){ int c; c=pow(3,a); float PotenzaDi3DelSecondoNumero (float b){ int c; c=pow(3,b);

9 Esercizio 5 #include <cstdlib> float Funz(){ float i; float m=1; float n; do{ if(i!=11 ){ m=m*i; n=m/36;else{ do{ m=m*i;while(i!=36); do{ m=m*i;while(i!=36); n=m/1296; while(i!=36); return n; float a; a=funz(); printf("il prodotto vale: %f\n",a); system("pause");

10 return 0; Esercitazione 2 Esercizio 1 #include <iostream> #include <string.h> #define numeromassimoletteretitolo 50 #define numeromassimoletterecorpo 1000 #define numeromassimoarticoli 10 #define numeromassimopagine 10 typedef struct{ int numeroarticolo; char titolo[numeromassimoletteretitolo]; char corpo[numeromassimoletterecorpo]; articolodelgiornale; typedef struct{ int numeropagina; articolodelgiornale articolo[numeromassimoarticoli]; paginadelgiornale; typedef struct{ int paginetotali; paginadelgiornale pagina[numeromassimopagine]; giornale;

int main(){ int numero; /* numero di cui voglio calcolare il fattoriale */ int fatt; /* memorizzo il fattoriale di numero */ int somma=0;

int 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

Dettagli

Corso sul linguaggio Java

Corso sul linguaggio Java Corso sul linguaggio Java Modulo JAVA2 2.1- Funzioni 1 Prerequisiti Programmazione elementare in Java Tecnica top-down Concetto matematico di funzione Compilazione e link di programmi Esecuzione di funzioni

Dettagli

Informatica (A-K) 12. Linguaggio C -3

Informatica (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

Dettagli

Struttura di un. Struttura dei programmi C

Struttura di un. Struttura dei programmi C Parte 4 Struttura di un Programma Struttura dei programmi C Un programma C deve essere contenuto in uno o più file (salvo diversa specifica, per ora si assume in un file): 1. Una parte contenente direttive

Dettagli

Concetto di Funzione e Procedura METODI in Java

Concetto di Funzione e Procedura METODI in Java Fondamenti di Informatica Concetto di Funzione e Procedura METODI in Java Fondamenti di Informatica - D. Talia - UNICAL 1 Metodi e Sottoprogrammi Mentre in Java tramite le classi e gli oggetti è possibile

Dettagli

Introduzione alla Ricorsione

Introduzione alla Ricorsione Introduzione alla Corso di Informatica A Vito Perrone Indice La formulazione in termini ricorsivi di problemi e algoritmi La ricorsione come strumento di programmazione L esecuzione dei sottoprogrammi

Dettagli

METODI in Java. Prof.Angela Bonifati. Metodi e Sottoprogrammi

METODI 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

Dettagli

Laboratorio di informatica Ingegneria meccanica

Laboratorio di informatica Ingegneria meccanica Laboratorio di informatica Ingegneria meccanica Esercitazione 8 21 Novembre 2007 Funzioni in C Un programma C si compone di funzioni E' disponibile una collezione predefinita di funzioni che possono essere

Dettagli

Tipi di dato semplici

Tipi di dato semplici Tipi di dato semplici Perché dichiarare una variabile? 2 Una variabile rappresenta uno spazio di memoria centrale Prima dell esecuzione del programma deve essere chiaro quanto spazio serve al programma

Dettagli

Tipi di dato semplici

Tipi di dato semplici Tipi di dato semplici Informatica B Tipi di dati q In C esistono diversi tipi di dato built-in, tra cui int: numeri interi float: numeri con virgola (singola precisione) double : numeri con virgola (doppia

Dettagli

Strutturare il codice: sottoprogrammi

Strutturare 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

Dettagli

Esercizi. FUNZIONI Passaggio di parametri per valore, variabili e tipi locali e globali, prototipo. Funzioni

Esercizi. FUNZIONI Passaggio di parametri per valore, variabili e tipi locali e globali, prototipo. Funzioni Politecnico di Milano Esercizi FUNZIONI Passaggio di parametri per valore, variabili e tipi locali e globali, prototipo Definizione: Funzioni tipo_ritornato nome (lista di parametri) istruzioni; Segnatura

Dettagli

Esercizio 1: parole nel testo

Esercizio 1: parole nel testo Esercitazione Fondamenti di Informatica B Corso di Laurea in Ingegneria Meccanica 6 Esercitazione: 11 novembre 2005 Esercizi di riepilogo in preparazione alla prima prova intermedia Problema (tratto da

Dettagli

Do...While() Break Continue Concetto di Funzione e Procedura METODI in Java

Do...While() Break Continue Concetto di Funzione e Procedura METODI in Java Fondamenti di Informatica Do...While() Break Continue Concetto di Funzione e Procedura METODI in Java Prof.Angela Bonifati 1 Istruzione while int vet1[] = new int[20]; int vet2[] = new int[20]; for(int

Dettagli

Introduzione al C. Esercitazione 6. Raffaele Nicolussi. Corso di Fondamenti di Informatica Ingegneria Clinica

Introduzione 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,

Dettagli

Esercizio 2 (punti 7) Dato il seguente programma C: #include <stdio.h> int swap(int * nome, int length);

Esercizio 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

Dettagli

Introduzione al linguaggio C Primi programmi

Introduzione al linguaggio C Primi programmi Introduzione al linguaggio C Primi programmi Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica

Dettagli

a.a Codice corso: 21012

a.a Codice corso: 21012 ESERCIZIO 1 Scrivere un programma in linguaggio C che lette dallo standard input due sequenze vettoriali ordinate di interi V1[n], V2[m] ne crei una terza V3[n+m] anch essa ordinata, che contenga tutti

Dettagli

3 Costrutti while, for e switch

3 Costrutti while, for e switch Questa dispensa propone esercizi sulla scrittura di algoritmi, in linguaggio C, utili alla comprensione dei costrutti while, for e switch. I costrutti per costruire cicli in C sono il while, la variante

Dettagli

Tutorato Elementi di Informatica 2018

Tutorato Elementi di Informatica 2018 Università degli Studi di Cagliari Pattern Recognition & Application Lab Dipartimento di Ingegneria Elettrica ed Elettronica Tutorato Elementi di Informatica 2018 Esercitazione 2 Introduzione e Tipi di

Dettagli

Elementi DI INFORMATICA. Linguaggio C

Elementi DI INFORMATICA. Linguaggio C Università degli Studi di Cagliari Corso di Laurea in Ingegneria Elettronica Elementi DI INFORMATICA http://agile.diee.unica.it A.A. 2015/2016 Ing. Marco Ortu Diee, secondo piano Tel. 070-6755774 mail:

Dettagli

Laboratorio di Programmazione M-Z

Laboratorio 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ù

Dettagli

Introduzione al linguaggio C Funzioni

Introduzione al linguaggio C Funzioni Introduzione al linguaggio C Funzioni Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Violetta Lonati

Dettagli

Dati strutturati in C

Dati strutturati in C Dati strutturati in C Fondamenti di Informatica Array Perchè usare gli array? float venditegennaio, venditefebbraio, venditemarzo, venditeaprile, venditemaggio, venditegiugno, venditeluglio, venditeagosto,

Dettagli

Esercizio 1: media di numeri reali (uso funzioni e struct)

Esercizio 1: media di numeri reali (uso funzioni e struct) Esercitazione Fondamenti di Informatica B Corso di Laurea in Ingegneria Meccanica 5 Esercitazione: 2 novembre 2005 Esercizi sulle funzioni Esercizio 1: media di numeri reali (uso funzioni e struct) Le

Dettagli

Dati due punti sul piano calcolare la loro distanza

Dati due punti sul piano calcolare la loro distanza Introduzione al C Primo esempio in C Dati due punti sul piano calcolare la loro distanza Soluzione: la distanza fra due punti si calcola secondo il teorema di Pitagora, con la formula: y Distanza = (lato12

Dettagli

Tempo di vita e scope delle variabili

Tempo di vita e scope delle variabili Tempo di vita e scope delle variabili Richiami sulla struttura di un programma C Un programma C deve essere contenuto in uno o più file (salvo diversa specifica, per ora si assume tutto in un unico file):

Dettagli

Fondamenti di Informatica L-A

Fondamenti di Informatica L-A Fondamenti di Informatica L-A Esercitazione del 30/10/07 Ing. Giorgio Villani Ripasso Teoria Ciclo do while do {istruzioni while(espressione); int i; do { printf( Scegli un numero tra 1 e 3 ); scanf( %d,

Dettagli

Introduzione al linguaggio C Puntatori

Introduzione al linguaggio C Puntatori Introduzione al linguaggio C Puntatori Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Violetta Lonati

Dettagli

Opinione calcolamedia( ) Opinione inverti( )

Opinione calcolamedia( ) Opinione inverti( ) 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 memorie

Dettagli

Introduzione al linguaggio C Puntatori

Introduzione al linguaggio C Puntatori Introduzione al linguaggio C Puntatori Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica 19 ottobre 2017

Dettagli

PRIMA PROVA INTERMEDIA DEL MODULO DI

PRIMA PROVA INTERMEDIA DEL MODULO DI PRIMA PROVA INTERMEDIA DEL MODULO DI MOTIVARE IN MANIERA CHIARA LE SOLUZIONI PROPOSTE A CIASCUNO DEGLI ESERCIZI SVOLTI ESERCIZIO 1 (4 punti) L espressione booleana F = A + B ha un espressione equivalente

Dettagli

Definizione di funzione. <tipo> <nome_funzione> (<lista_parametri>) { <definizioni di variabili> <istruzioni> }

Definizione di funzione. <tipo> <nome_funzione> (<lista_parametri>) { <definizioni di variabili> <istruzioni> } Avvertenza Quanto segue NON è un libro, ma è una copia dei lucidi usati a lezione che NON sostituisce i libri di testo adottati e consigliati per l insegnamento di Informatica Generale. Questa copia è

Dettagli

Informatica A (per gestionali) A.A. 2004/2005. Esercizi C. Funzioni: variabili e tipi locali e globali, passaggio parametri per valore, prototipo

Informatica A (per gestionali) A.A. 2004/2005. Esercizi C. Funzioni: variabili e tipi locali e globali, passaggio parametri per valore, prototipo Informatica A (per gestionali) A.A. 2004/2005 Esercizi C Funzioni: variabili e tipi locali e globali, passaggio parametri per valore, prototipo Indice 1 Funzioni: passaggio di parametri per valore, variabili

Dettagli

Linguaggio 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. 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

Dettagli

Il linguaggio C. Notate che...

Il 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

Dettagli

Fondamenti di Informatica L-A

Fondamenti di Informatica L-A Fondamenti di Informatica L-A Esercitazione del 18/10/07 Ing. Giorgio Villani Ripasso Teoria Caratteri char x; x = a ; printf( Il carattere e %c, x); putchar(x); scanf( %c, &x); x = getchar(); Ripasso

Dettagli

ESERCIZIO: Analisi di un programma. Dato il seguente programma C:

ESERCIZIO: Analisi di un programma. Dato il seguente programma C: : Analisi di un programma Dato il seguente programma C: #include #define D 4 float A(float V[], int k) {int i; float s=0.0; for(i=0;i

Dettagli

Il linguaggio C Funzioni e procedure

Il 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

Dettagli

Esercizio 1: funzione con valore di ritorno di tipo puntatore

Esercizio 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

Dettagli

3 Costrutti while, for e switch

3 Costrutti while, for e switch Questa dispensa propone esercizi sulla scrittura di algoritmi, in linguaggio C, utili alla comprensione dei costrutti while e for e switch. I costrutti per costruire cicli in C sono il while (e la variante

Dettagli

Fattorizzazione e curve ellittiche polinomi di II, II e IV grado

Fattorizzazione e curve ellittiche polinomi di II, II e IV grado Fattorizzazione e curve ellittiche polinomi di II, II e IV grado Di Cristiano Armellini (cristiano.armellini@alice.it) Torniamo ancora una volta al problema della fattorizzazione p=ab e descriviamo un

Dettagli

Funzioni. Unità 1. Domenico Daniele Bloisi. Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR

Funzioni. Unità 1. Domenico Daniele Bloisi. Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Domenico Daniele Bloisi Docenti Parte I prof. Silvio Salza salza@dis.uniroma1.it http://www.dis.uniroma1.it/~salza/fondamenti.htm

Dettagli

Fondamenti di Informatica: Ingegneria Meccanica Prova scritta del 12 luglio 2008

Fondamenti di Informatica: Ingegneria Meccanica Prova scritta del 12 luglio 2008 Fondamenti di Informatica: Ingegneria Meccanica Prova scritta del 12 luglio 2008 Gli studenti dell a.a. 2007-2008 e 2006-2007 (6CFU) devono svolgere i 6 esercizi. Gli studenti degli anni precedenti non

Dettagli

Nota: Si consideri il valore di pi greco.

Nota: Si consideri il valore di pi greco. ESERCIZIO 1 (Costrutti condizionali + Casting delle variabili) Realizzare un programma che, dato in ingresso un angolo specificato in gradi come un numero intero, fornisca la relativa conversione in radianti.

Dettagli

La struttura dei programmi

La struttura dei programmi La struttura dei programmi Docente: Ing. Edoardo Fusella Dipartimento di Ingegneria Elettrica e Tecnologie dell Informazione Via Claudio 21, 4 piano laboratorio SECLAB Università degli Studi di Napoli

Dettagli

IL PRIMO PROGRAMMA IN C

IL 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

Dettagli

IEIM Esercitazione 1 Primi passi con la programmazione" Alessandro A. Nacci -

IEIM Esercitazione 1 Primi passi con la programmazione Alessandro A. Nacci - IEIM 2018-2019 Esercitazione 1 Primi passi con la programmazione" Alessandro A. Nacci alessandro.nacci@polimi.it - www.alessandronacci.it 1 Chi sono - Alessandro Nacci, PhD - Nato nel 1987 - Imprenditore

Dettagli

PROGETTAZIONE TOP-DOWN E BOTTOM-UP

PROGETTAZIONE TOP-DOWN E BOTTOM-UP PROGETTAZIONE TOP-DOWN E BOTTOM-UP Top-down e bottom-up sono strategie di elaborazione dell'informazione e di gestione delle conoscenze, riguardanti principalmente il software e, per estensione, altre

Dettagli

INTRODUZIONE AL LINGUAGGIO C

INTRODUZIONE AL LINGUAGGIO C INTRODUZIONE AL LINGUAGGIO C Problema: Somma di 2 numeri In PASCAL-LIKE begin Somma { dichiarazione delle variabili var: a,b,c: reali { inizializzazione di a e b a:=5. b:=7. { calcolo della somma di a

Dettagli

Introduzione all uso delle funzioni in C++

Introduzione all uso delle funzioni in C++ Introduzione all uso delle funzioni in C++ Roberto Basili University of Rome Tor Vergata, Department of Computer Science, Systems and Production, 00133 Roma (Italy), basili@info.uniroma2.it January 24,

Dettagli

Primo programma in C Esercizi risolti

Primo programma in C Esercizi risolti Esercizi risolti 1 Esercizio Somma di due numeri Si scriva un programma in linguaggio C che legga due valori interi e visualizzi la loro somma. 3 /* File: somma.c */ 4 /* proposta esercizio "Somma di due

Dettagli

Es 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 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:

Dettagli

S = n cos j 1) e stampa a video il risultato S quando è verificata una delle seguenti condizioni: Condizione 1: S 3 apple 0.01 Condizione 2: n > 100

S = n cos j 1) e stampa a video il risultato S quando è verificata una delle seguenti condizioni: Condizione 1: S 3 apple 0.01 Condizione 2: n > 100 Prova in itinere del 14 Novembre 2014 - COMPITO A nx 1 ( n cos j 1) j 4 j=1 e stampa a video il risultato S quando è verificata una delle seguenti condizioni: Condizione 1: S 3 apple 0.01 Condizione 2:

Dettagli

Esercitazione 11. Liste semplici

Esercitazione 11. Liste semplici Esercitazione 11 Liste semplici Liste semplici (o lineari) Una lista semplice (o lineare) è una successione di elementi omogenei che occupano in memoria una posizione qualsiasi. Ciascun elemento contiene

Dettagli

Linguaggio C - sezione dichiarativa: costanti e variabili

Linguaggio C - sezione dichiarativa: costanti e variabili Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C - sezione dichiarativa: costanti e variabili La presente

Dettagli

La funzione main() La funzione main(), presente in tutti i programmi C, è una funzione come tutte le altre

La funzione main() La funzione main(), presente in tutti i programmi C, è una funzione come tutte le altre La funzione main() La funzione main(), presente in tutti i programmi C, è una funzione come tutte le altre Unica particolarità: viene chiamata dal Sistema Operativo, appena il programma viene avviato Non

Dettagli

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter Informatica B a.a 2005/06 (Meccanici 4 squadra) Scaglione: da PO a ZZZZ PhD. Ing. Michele Folgheraiter Funzionamento macchina di von Neumann clock Memoria Centrale: Tutta l informazione prima di essere

Dettagli

Esercizi. La funzione swapint() primo tentativo

Esercizi. La funzione swapint() primo tentativo Politecnico di Milano Esercizi Puntatori, struct con campi puntatore, puntatori a struct, rapporto tra array e puntatori. FUNZIONI Passaggio di parametri per indirizzo, passaggio di array. #include

Dettagli

ELEMENTI DI INFORMATICA L-B. Ing. Claudia Chiusoli

ELEMENTI 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

Dettagli

Tipi strutturati - struct

Tipi strutturati - struct Fondamenti di Programmazione A Appunti per le lezioni Gianfranco Rossi Tipi strutturati - struct Struttura dati (concreta) struct: sequenza di n elementi (n 0), rispettivamente di tipo t1,,tn (non necessariamente

Dettagli

NOTA SULLA CORREZIONE: Per ottenere un esito positivo è necessario svolgere un elaborato sufficiente in entrambe le parti.

NOTA SULLA CORREZIONE: Per ottenere un esito positivo è necessario svolgere un elaborato sufficiente in entrambe le parti. Parte 1 Tempo a disposizione: 40 min., Totale punti: 16 Materiale di ausilio utilizzabile durante l appello: Parte 1: Non è possibile consultare alcun materiale, né accedere al calcolatore. Parte 2: Tutto

Dettagli

Alcuni 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 Alcuni esercizi 1. Valutazione in cortocircuito 2. If e if innestati 3. Switch 4. Cicli Stampa di voti Esempio 1 (switch) Realizzare un programma che legge da input un voto (carattere tra A ed E ) e ne

Dettagli

LEZIONE 1 LE BASI DEL LINGUAGGIO C

LEZIONE 1 LE BASI DEL LINGUAGGIO C LEZIONE 1 LE BASI DEL LINGUAGGIO C Simone Marchesini Roberto Pagliarini Dipartimento di Informatica Università di Verona COS È? Il C è un linguaggio di programmazione che permette di salvare i valori in

Dettagli

Informatica/ Ing. Meccanica/ Ing. Edile/ Prof. Verdicchio/ 05/02/2014/ Foglio delle domande / VERSIONE 1

Informatica/ Ing. Meccanica/ Ing. Edile/ Prof. Verdicchio/ 05/02/2014/ Foglio delle domande / VERSIONE 1 Informatica/ Ing. Meccanica/ Ing. Edile/ Prof. Verdicchio/ 05/02/2014/ Foglio delle domande/ VERSIONE 1 1) Nell uso dei puntatori in C++ la scrittura -> vuol dire: a) riferimento b) dereferenziazione e

Dettagli

Corso sul linguaggio C Modulo Tipi di dato

Corso sul linguaggio C Modulo Tipi di dato Corso sul linguaggio C Modulo 1 1.3 - Tipi di dato 1 Prerequisiti Concetto di espressione Cenni sulla struttura del calcolatore 2 1 Introduzione In questa lezione si esaminano i tipi di dato. I tipi di

Dettagli

Esercitazione 4. Esercizio 1 (test anni bisestili) Dato il seguente codice rispondere alle seguenti domande:

Esercitazione 4. Esercizio 1 (test anni bisestili) Dato il seguente codice rispondere alle seguenti domande: Esercitazione 4 Esercizio 1 (test anni bisestili) Dato il seguente codice rispondere alle seguenti domande: Codice 1. Si descriva a parole cosa fa il programma 2. Si riscriva il programma utilizzando un

Dettagli

Compendio sottoinsieme del C++ a comune col C. (Libreria standard, Input/Output, Costanti, Dichiarazioni e typedef, Memoria Dinamica)

Compendio sottoinsieme del C++ a comune col C. (Libreria standard, Input/Output, Costanti, Dichiarazioni e typedef, Memoria Dinamica) Compendio sottoinsieme del C++ a comune col C (Libreria standard, Input/Output, Costanti, Dichiarazioni e typedef, Memoria Dinamica) Librerie 1/2 Il solo insieme di istruzioni di un linguaggio di programmazione

Dettagli

1: #include <stdio.h> 2: #include <stdlib.h> 3: 4: #define MAXDIM 10 5: 6: int main(int argc, char *argv[]) 7: { 8: int numrighe1, numcolonne1,

1: #include <stdio.h> 2: #include <stdlib.h> 3: 4: #define MAXDIM 10 5: 6: int main(int argc, char *argv[]) 7: { 8: int numrighe1, numcolonne1, 1: #include 2: #include 3: 4: #define MAXDIM 10 5: 6: int main(int argc, char *argv[]) 7: { 8: int numrighe1, numcolonne1, numrighe2, numcolonne2,i,j,k, max1,max2, operazione, scalare;

Dettagli

Lab 09 Gestione file di testo

Lab 09 Gestione file di testo Fondamenti di Informatica e Laboratorio T-AB e Fondamenti di Informatica T1 Ingegneria Elettronica e Telecomunicazioni e Ingegneria dell Automazione a.a. 2010/2011 Lab 09 Gestione file di testo Lab15 1

Dettagli

Funzioni, Stack e Visibilità delle Variabili in C

Funzioni, Stack e Visibilità delle Variabili in C Funzioni, Stack e Visibilità delle Variabili in C Laboratorio di Programmazione I Corso di Laurea in Informatica A.A. 2018/2019 Argomenti del Corso Ogni lezione consta di una spiegazione assistita da slide,

Dettagli

Funzioni come parametri

Funzioni come parametri Funzioni come parametri Obiettivi: Riprendere il modello computazionale alla base del linguaggio C (e mostrare i parametri del main) Presentare e sperimentare le funzioni come parametri di funzione 1 Modello

Dettagli

Astrazione Funzionale

Astrazione Funzionale FIL: Astrazione Funzionale Michele Nappi, Ph.D Dipartimento di Matematica e Informatica Università degli Studi di Salerno mnappi@unisa.it biplab.unisa.it it 089-963334 Divide et impera Costruire un programma

Dettagli

Scope delle variabili e passaggio parametri. Danilo Ardagna Politecnico di Milano

Scope 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

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Programmazione modulare (top-down) Fondamenti di Informatica 15. Funzioni in C++ (parte 1) Problemi complessi Conviene suddividere il programma in sottoprogrammi piu semplici mediante la metodologia di

Dettagli

Laboratorio di Informatica I

Laboratorio di Informatica I Struttura della lezione Lezione : Elementi lessicali del C Vittorio Scarano Corso di Laurea in Informatica Elementi lessicali e token Costanti Identificatori Operatori operatori di incremento/decremento

Dettagli

Esempi comparati while, do...while

Esempi comparati while, do...while Esempi comparati while, do...while Algoritmo. - inizializza Somma a zero - finchè la risposta è "continuazione" - visualizza messaggio - acquisisci un numero I - aggiungi I a Somma - domanda se continuare

Dettagli

Unità A1 Funzioni MODULO Java 2

Unità 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

Dettagli

Introduzione al linguaggio C Puntatori

Introduzione al linguaggio C Puntatori Introduzione al linguaggio C Puntatori Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica 19 ottobre 2016

Dettagli

Programmazione I (Classe 1) - prova da 12 fu

Programmazione I (Classe 1) - prova da 12 fu Programmazione I (Classe 1) - prova da 12 fu Quinto appello 27 Gennaio 2017 Docenti: De Prisco - Deufemia - Zizza Cognome: Nome: Matricola: Ritirato Riservato alla commissione d esame 1 2 3 4 5 6 7 8 TOT

Dettagli

FUNZIONI. attribuire un nome ad un insieme di istruzioni parametrizzare l esecuzione del codice

FUNZIONI. 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

Dettagli

Programmazione in C. La struttura del programma Variabili, espressioni, operazioni

Programmazione in C. La struttura del programma Variabili, espressioni, operazioni Programmazione in C La struttura del programma Variabili, espressioni, operazioni Struttura del programma // Area quadrato circoscritto // circonferenza /* Author: Lorenzo Course: info */ #include

Dettagli

La Programmazione. Cos è la programmazione? Concetti preliminari

La Programmazione. Cos è la programmazione? Concetti preliminari La Programmazione Cos è la programmazione? Concetti preliminari 1 Sommario La programmazione, questa sconosciuta Programmiamo Macchine Astratte Linguaggi di basso e alto livello e loro implementazione

Dettagli

Laboratorio di informatica Ingegneria meccanica

Laboratorio di informatica Ingegneria meccanica Laboratorio di informatica Ingegneria meccanica Lezione 7 19 novembre 2007 Concetto di modulo di un programma (1) Lo sviluppo di programmi complessi avviene tipicamente per composizione di moduli, ognuno

Dettagli

Laboratorio di Informatica

Laboratorio di Informatica Corso di Laurea in Informatica e Tecnologie per la Produzione del Software (Track B) - A.A. 2018/2019 Laboratorio di Informatica Programmazione Modulare (Parte 1) docente: Cataldo Musto cataldo.musto@uniba.it

Dettagli

Elementi di Informatica

Elementi di Informatica Corso di Laurea triennale in Ingegneria Chimica in condivisione con Corso di Laurea triennale in Ingegneria Navale e Scienze dei Materiali Elementi di Informatica A.A. 2016/17 prof. Mario Barbareschi Sottoprogrammi

Dettagli

Le Funzioni in C. Fondamenti di Informatica Anno Accademico 2010/2011. Corso di Laurea in Ingegneria Civile Politecnico di Bari Sede di Foggia

Le Funzioni in C. Fondamenti di Informatica Anno Accademico 2010/2011. Corso di Laurea in Ingegneria Civile Politecnico di Bari Sede di Foggia Le Funzioni in C Corso di Laurea in Ingegneria Civile Politecnico di Bari Sede di Foggia Fondamenti di Informatica Anno Accademico 2010/2011 docente: prof. Michele Salvemini 1/24 Sommario Le funzioni Il

Dettagli

Corso sul linguaggio C

Corso sul linguaggio C Corso sul linguaggio C Modulo 1 1.1 Istruzioni semplici 1 Prerequisiti Saper progettare algoritmi Saper descrivere algoritmi (NLS, ddf) Conoscere il concetto di espressione 2 1 Introduzione In questa lezione

Dettagli

Fondamenti di Informatica II 3. Funzioni in C++ (parte 1)

Fondamenti 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;

Dettagli

Variabili e Funzioni. Informatica 1 / 19

Variabili e Funzioni. Informatica 1 / 19 Variabili e Funzioni Informatica 1 / 19 Programmi C e Un programma C e composto da funzioni e variabili Variabile: memorizza valori appartenenti ad un insieme di definizione (dipendente dal tipo) Funzione:

Dettagli

Unità F1. Obiettivi. Il linguaggio C. Il linguaggio C++ Linguaggio C. Pseudolinguaggio. Primi programmi

Unità F1. Obiettivi. Il linguaggio C. Il linguaggio C++ Linguaggio C. Pseudolinguaggio. Primi programmi Obiettivi Unità F1 Primi programmi Conoscere il significato di dichiarazione e definizione di variabili Conoscere i tipi di dato numerici Essere in grado di realizzare semplici algoritmi in pseudolinguaggio

Dettagli