Esercizi. Piero Demichelis 1
|
|
|
- Adolfo Grosso
- 9 anni fa
- Visualizzazioni
Transcript
1 Esercizi Piero Demichelis 1
2 Equazione di II grado Legge i coefficienti a, b e c si a = 0? no si b = 0? no delta = b*b 4*a*c si c = 0? no Equazione di I grado: x= -(c / b) Equazione Equazione w = 2*a indeterminata impossibile w = -(b / w) 1 w 2 = delta / w delta < 0? no si Radice reali: x 1 = w 1 + w 2 x 2 = w 1 - w 2 no delta = 0? si Radice doppia x = -(b / (2 * a)) Radice complesse coniugate: x = w 1 ± j w 2 Piero Demichelis 2
3 Equazione di II grado #include <stdio.h> #include <math.h> float a, b, c, delta; float x1, x2, w, w1, w2, mdelta; main() printf ("Coeff. a = "); /* legge i tre coefficienti a, b, c */ scanf ("%f",&a); printf ("\ncoeff. b = "); scanf ("%f",&b); printf ("\ncoeff. c = "); scanf ("%f",&c); Piero Demichelis 3
4 Equazione di II grado if (a == 0) /* a = 0? */ /* si, non è di II grado! */ if (b == 0) /* b = 0? */ if (c == 0) /* si, non è neppure di I grado! */ printf ("\nequazione indeterminata\n"); else printf ("\nequazione impossibile\n"); else /* b diverso da 0; è di I grado! */ x1 = - (c / b); printf ( \nequazione di I grado: x = %f\n", x1); else /* a è diverso da 0; è di II grado! */ Piero Demichelis 4
5 Equazione di II grado /* a è diverso da 0 è di II grado! */ delta = b * b - 4 * a * c; w = 2 * a; w1 = - (b / w); mdelta = delta; if (mdelta < 0 ) mdelta = - mdelta; w2 = sqrt (mdelta) / w; / * radice quadrata del discriminante */ if (delta == 0) /* discriminante nullo? */ printf ( \nradice doppia: x=%f\n", w1); /* si */ else /* no, il discriminante è diverso da 0 */ if (delta < 0) /* discriminante < 0? */ /* si */ printf ("\nradici complesse e coniugate:\n"); printf ("parte reale= %f ", w1); printf (" parte immag.= %f\n", w2); Piero Demichelis 5
6 Equazione di II grado else /* no, discriminante > 0 */ x1 = w1 + w2; /* calcola le due soluzioni */ x2 = w1 - w2; printf ("\n Radici reali: x1= %f\n x2= %f\n", x1, x2); /* chiusura dell else di if (delta == 0) */ /* chiusura dell else di if (a == 0) */ /* fine del main */ Piero Demichelis 6
7 Lire / Euro Programma per la conversione Lire/Euro e viceversa. L'input del programma sia la lettera L per Lire o E per Euro, seguita da uno spazio e dalla cifra da convertire: nel primo caso un'intero lungo, nel secondo caso un reale. Esempio di esecuzione: > Introduci la richiesta: >L > lire corrispondono a euro Piero Demichelis 7
8 Lire / Euro Analisi. A seconda che il primo parametro introdotto (che è un carattere) sia L oppure E occorre eseguire in modo differenziato la lettura successiva: di un intero lungo se era L ; di un float se era E ; La lettura va pertanto suddivisa in due fasi: dapprima si legge un carattere e poi, in base al valore di questo carattere, si esegue la lettura di un intero o di un float. Piero Demichelis 8
9 Lire / Euro #include <conio.h> /* solo per Turbo C */ #include <stdio.h> #define rapp main() long int lire; double euro; char carat; clrscr(); /* solo per Turbo C */ printf ("\nintrodurre la richiesta: "); scanf ("%c", &carat); /* legge un carattere */ Piero Demichelis 9
10 Lire / Euro if (carat == 'L') /* è L? */ scanf ("%ld", &lire); /* si, legge le lire */ euro = (float)lire / rapp; /* converte in euro */ printf ("\n%ld lire equivalgono a %lf euro\n", lire, euro); else if (carat == 'E') /* non è L, è E? */ scanf ("%lf ", &euro); /* si, legge gli euro */ lire = (int)(euro * rapp); /* converte in lire */ printf ("\n%lf euro equivalgono a %ld lire\n", euro, lire); else /* non è né L né E, errore! */ printf ("\ncarattere non lecito\n"); Piero Demichelis 10
11 Anno bisestile Scrivere un programma che legga da tastiera un valore intero rappresentante un anno e stabilisca se è o meno un anno bisestile. Si ricordi che un anno per essere bisestile deve essere divisibile per 4 ma non per 100 a meno che sia divisibile per 400. Ad esempio il 2004 è un anno bisestile così come il 2000 mentre non lo è il Piero Demichelis 11
12 Anno bisestile Uso una variabile logica che chiamo bisestile, posta al valore vero se l anno è bisestile, al valore falso altrimenti. Pseudocodice - Ipotizzo che non sia bisestile (bisestile = falso); - divisibile per 4? si, ipotizzo sia bisestile (bisestile = vero); divisibile anche per 100? si, divisibile per 400? se no non è bisestile (bisestile = falso); - Visualizzo il risultato Piero Demichelis 12
13 Anno bisestile #include <conio.h> /* solo per Turbo C */ #include <stdio.h> #define falso 0 #define vero 1 main() int anno; int bisestile; clrscr(); /* solo per Turbo C */ printf ("\nintrodurre l anno: "); scanf ("%d", &anno); bisestile = falso; /* ipotizza che non sia bisestile */ Piero Demichelis 13
14 Anno bisestile if ((anno % 4) == 0) bisestile = vero; /* divisibile per 4: potrebbe essere bisestile */ if ((anno % 100) == 0) /* divisibile per 100? */ if ((anno % 400)!= 0) /* si, divisibile per 400? */ bisestile = falso; /* no, non bisestile */ if (bisestile) printf ("\n Bisestile!"); else printf ("\n Non Bisestile!"); Piero Demichelis 14
15 Fattoriale Realizzare un programma per il calcolo del fattoriale. Si ricorda che il fattoriale è definito come: n! = n (n-1) (n-2) con 0! = 1 - legge da tastiera il valore di n (compreso tra 0 e val_max); - Inizializza fattoriale (cioè il risultato) a 1; - finché n è maggiore di zero: moltiplica fattoriale per n ed attribuisci il risultato a fattoriale; decrementa n di un unità; - visualizza fattoriale. Piero Demichelis 15
16 Fattoriale #include <stdio.h> #define val_max 12 main () long int n, totale; printf ( \nfattoriale di: "); scanf ("%ld", &n); totale = 1; Piero Demichelis 16
17 Fattoriale if ((n >= 0) && (n <= val_max)) while (n > 0) totale *= n; n--; printf ("\nfattoriale di %ld = %ld\n", n, totale); else printf ("\nfattoriale non calcolabile, "); printf ("introdurre valori compresi tra 0 e %d", val_max); Piero Demichelis 17
18 MCD Scrivere un programma in linguaggio C che prenda in input da tastiera tre numeri interi e ne calcoli il massimo comune divisore. Il massimo comune divisore è il più grande tra i divisori comuni ai tre numeri. Le soluzioni possibili sono numerose, più o meno eleganti, ne proponiamo due: 1. con un indice che cresce da 1 a uno qualsiasi dei tre numeri si cerca i divisori comuni: l ultimo trovato è il mcd; 2. si cerca il minimo tra i tre numeri e poi, a partire da quel minimo e decrementando a ogni ciclo si cerca il primo divisore comune che è proprio il mcd. Piero Demichelis 18
19 MCD (1 a soluzione) #include <stdio.h> main() int x1, x2, x3, ind, mcd, min; printf ("\nintroduci il primo numero: "); scanf ("%d", &x1); printf ("\nintroduci il secondo numero: "); scanf ("%d", &x2); printf ("\nintroduci il terzo numero: "); scanf ("%d", &x3); for (ind = 1; ind <= x1; ind++) if ((x1 % ind) == 0 && (x2 % ind) == 0 && (x3 % ind) == 0) mcd = ind; printf("\nmcd = %d", mcd); Piero Demichelis 19
20 MCD (2 a soluzione) #include <stdio.h> #define falso 0 #define vero 1 main() int x1, x2, x3, trovato, mcd, min; printf ("\nintroduci il primo numero: "); scanf ("%d", &x1); min = x1; printf ("\nintroduci il secondo numero: "); scanf ("%d", &x2); if (x2 < min) min = x2; Piero Demichelis 20
21 MCD (2 a soluzione) printf ("\nintroduci il terzo numero: "); scanf ("%d", &x3); if (x3 < min) min = x3; trovato = falso; while (!trovato) if ((x1%min == 0) && (x2%min == 0) && (x3%min == 0)) mcd = min; trovato = vero; else min--; printf ("\nmcd = %d", mcd); Piero Demichelis 21
22 Matrice Realizzare un programma in C che richieda da tastiera due interi M e N e generi una matrice M x N. Gli elementi della matrice (a i,j ), con i che varia da 1 a M e j che varia da 1 a N, devono essere calcolati mediante la relazione: a i,j = i * j Infine occorre visualizzare la matrice sottoforma di tabellina. Esempio: se N = 2 e M = 3 si deve visualizzare: Piero Demichelis 22
23 Matrice #include <stdio.h> #include <stdlib.h> #define NMAX 30 int main () int matrice[nmax][nmax]; int righe, col, i, j; printf ("\nnumero di righe: "); scanf ("%d",&righe); printf ("\nnumero di colonne: "); scanf ("%d",&col); Piero Demichelis 23
24 Matrice for (i=1; i <= righe; i++) for (j=1; j <= col; j++) matrice[i][j] = i*j; printf (" %4d ", matrice[i][j]); printf ("\n"); /* fine programma */ Oppure (senza usare la struttura dati matrice): for (i=1; i <= righe; i++) for (j=1; j <= col; j++) printf (" %4d ", i * j); printf ("\n"); /* fine programma */ Piero Demichelis 24
25 Matrice (2) Leggere da tastiera la dimensione di una matrice quadrata di numeri interi. Successivamente leggere ancora da tastiera i valori di tutti gli elementi della matrice. Infine calcolare e visualizzare la somma degli elementi della diagonale principale e il valor medio degli elementi della diagonale secondaria Piero Demichelis 25
26 Matrice (2) #include <stdio.h> #include <conio.h> #define MAX 10 /* dimensione massima */ void main() int num_r, riga, col; int matrix[max][max]; long sommaprinc=0; long sommasec=0; clrscr(); printf ( \ndimensione della matrice: "); scanf ("%d", &num_r); Piero Demichelis 26
27 Matrice (2) /* Riempimento della matrice */ for (riga=1; riga<=num_r; riga++) for (col=1; col<=num_r; col++) printf ("\nelemento %d %d : ", riga, col); scanf ("%d", &matrix[riga][col]); /* Somma gli elementi sulle due diagonali */ for (riga=1; riga<=num_r; riga++) sommaprinc += matrix[riga][riga]; sommasec += matrix[riga][num_r+1-riga]; Piero Demichelis 27
28 Matrice (2) /* Visualizza risultati */ printf ("\nla somma è %ld", sommaprinc); printf ("\nla media è %lf", (double)sommasec/(double)num_r); Piero Demichelis 28
29 Coseno Realizzare una funzione per il calcolo del coseno di un angolo espresso in radianti. Utilizzare allo scopo lo sviluppo in serie: x x x cos ( x ) = 1 + +L 2! 4! 6! Realizzare inoltre il programma di prova che confronti il valore dalla funzione di libreria cos(x) col valore calcolato con lo sviluppo in serie. Piero Demichelis 29
30 Coseno Osservando la formula dello sviluppo in serie si vede come ogni termine può essere ricavato dal precedente come per il seno, con la relazione ricorrente: fatt = fa tt. prec. La differenza sta nelle inizializzazioni: N x x + 1 N + 2 ( ) ( ) - il primo termine ora vale 1 - il denominatore n parte da 0 Piero Demichelis 30
31 Coseno #include <stdio.h> #include <math.h> /* prototipo della funzione */ double cosenox(double x); main() double angolo; printf ( \nangolo in radianti: "); scanf ("%lf", &angolo); printf ("\ncoseno di %lf = %lf", angolo, cosenox(angolo)); printf("\nla funzione di libreria fornisce %lf ", cos(angolo)); Piero Demichelis 31
32 Coseno /* funzione per il coseno x */ double cosenox(double x) const double soglia = ; double accosenx, termine, termass, n; /* Inizializzazione variabili */ termine = 1; /* primo termine */ n = 0; /* denominatore */ accosenx = 1; /* accumulatore di risultato */ termass = 1; /* valore assoluto del primo termine */ Piero Demichelis 32
33 Coseno while (termass > soglia) /* contributo del nuovo termine */ termine *= -x * x /((n+1) * (n + 2)); /* accumula in accosenx */ accosenx += termine; /* aggiorna il denominatore */ n += 2; /* ricava valore assoluto del termine appena calcolato */ termass = fabs(termine); return (accosenx); Piero Demichelis 33
34 MCD di un insieme di numeri Leggere da tastiera la quantità di numeri sui quali ricercare successivamente il MCD. Leggere poi quei numeri salvandoli in un vettore (di interi) e successivamente calcolare e visualizzare il MCD. Analisi: Il problema è simile al precedente basta estendere la ricerca del divisore comune. Anziché tre numeri siamo ora in presenza di una serie di numeri la cui consistenza non è nota al momento della scrittura del programma. Risulta pertanto indispensabile memorizzare la sequenza in un vettore di dimensioni opportune il controllo sul resto ottenuto dalla divisione tra ogni numero e il divisore (presunto MCD) dovrà necessariamente essere gestito tramite un ciclo (for è il più adatto). Piero Demichelis 34
35 #include <conio.h> #include <stdio.h> #define falso 0 #define vero 1 MCD di un insieme di numeri main() int num, vett[100], mcd, min, i; int trovato, noresto; clrscr(); printf ("\nsu quanti numeri calcolo il MCD?: "); scanf ("%d", &num); Piero Demichelis 35
36 MCD di un insieme di numeri /* Legge i num numeri previsti mediante un ciclo for */ /* contemporaneamente trova il minimo controllando */ /* il loro valore man mano che vengono introdotti */ min = 32767; /* massimo valore per un intero */ for (i = 0; i < num; i++) printf ("\nintroduci il numero di indice %d: ", i); scanf ("%d", &vett[i]); if (vett[i] < min) min = vett[i]; Piero Demichelis 36
37 MCD di un insieme di numeri trovato = falso; while (!trovato) noresto = vero; for (i = 0; i < num; i++) if (vett[i] % min!= 0) noresto = falso; if (noresto) mcd = min; trovato = vero; else min--; printf ("\nmcd = %d", mcd); Piero Demichelis 37
38 Esempio: giorni nell anno Realizzare un programma che legga da tastiera l anno di riferimento e la sigla del primo giorno di quell anno (1 gennaio) composta dai primi tre caratteri del nome (ad esempio: 2003 mer) e visualizzi sul video una tabella in cui sono indicati, per ogni mese dell anno, quante volte occorre ciacun giorno della settimana. Si rammenta che sono bisestili gli anni divisibili per 4 ma, tra quelli multipli di 100, solo quelli che sono divisibili per 400. Piero Demichelis 38
39 Esempio: giorni nell anno Esempio di tabella in uscita: 2003 gen feb mar apr mag giu lug ago set ott nov dic lun 4 4 mar 4 4 mer 5 ecc. gio 5 ven 5 sab 4 dom 4 Piero Demichelis 39
40 Esempio: codice 2 su 5 Generare tutti i codici 2 su 5 (5 bit, di cui due bit devono essere a 1 e tre bit a zero), li si memorizzi in un'opportuna base dati e li si visualizzi sul videoterminale. (Si rammenti che i codici binari possono essere visti come numeri interi (senza segno), per cui è sufficiente generare tutti i codici di 5 bit e poi scartare quelli che non soddisfano la condizione di avere 2 bit ad uno e 3 a zero.) Successivamente confrontare i codici a due a due e, per ciascuna coppia, confrontare i bit a parità di posizione, conteggiando il numero di bit diversi tra di loro (il numero di bit diversi viene detto distanza tra i codici). Il programma calcoli e stampi il massimo e il minimo della distanza tra i codici. Piero Demichelis 40
Esercizi 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
ESEMPIO: le variabili LETTURA/SCRITTURA DI VARIABILI. Specifica Leggere da tastiera un intero, un carattere, un float e un double. Stamparli a video.
ESEMPIO: le variabili LETTURA/SCRITTURA DI VARIABILI Specifica Leggere da tastiera un intero, un carattere, un float e un double. Stamparli a video. LETTURA/SCRITTURA DI VARIABILI Codice #include
Esercitazione 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
PROGRAMMAZIONE: Le strutture di controllo
PROGRAMMAZIONE: Le strutture di controllo Prof. Enrico Terrone A. S: 2008/09 Le tre modalità La modalità basilare di esecuzione di un programma è la sequenza: le istruzioni vengono eseguite una dopo l
Esercizi C su array e matrici
Politecnico di Milano Esercizi C su array e matrici Massimo, media e varianza,, ordinamento, ricerca e merge, matrice simmetrica, puntatori Array Array o vettore Composto da una serie di celle int vett[4]
MATT. POME. MATT. POME. MATT. POME. MATT. POME. MATT. POME. MATT. POME. MATT. POME. MATT. POME. MATT. POME. MATT. POME. MATT. POME.
TURNI FARMACIE APRILE 2016 Sab. 2 apr. Dom. 3 apr. Sab. 9 apr. Dom. 10 apr. Sab. 16 apr. Dom. 17 apr. Sab. 23 apr. Dom. 24 apr. Lun. 25 apr. Sab. 30 apr. Dom. 1 mag. MATT. POME. MATT. POME. MATT. POME.
Le 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
Realizzare 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
INFORMATICA DI BASE Linguaggio C Prof. Andrea Borghesan
INFORMATICA DI BASE Linguaggio C Prof. Andrea Borghesan venus.unive.it/borg [email protected] Ricevimento lunedì, prima o dopo lezione 1 Le funzioni in C Le funzioni vengono utilizzate per 3 motivi: Riusabilità
SOLUZIONE ESERCIZIO 1
SOLUZIONE ESERCIZIO 1 Progettare un algoritmo che dati tre numeri (voti) a, b, c che possono assumere i valori interi da 18 a 30, calcoli la loro media. #include void main() { int a, b, c; float
Esercitazione 5. Procedure e Funzioni Il comando condizionale: switch
Esercitazione 5 Procedure e Funzioni Il comando condizionale: switch Comando: switch-case switch (espressione) { /* espressione deve essere case costante1: istruzione1 di tipo int o char */ [break]; case
Esercitazione 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:
Breve 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...
Un 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
acquisizione numero elementi del primo insieme e del secondo insieme, finché elprimoinsieme oppure elsecondoinsieme > EL_INS
Esercitazione Fondamenti di Informatica B Corso di Laurea in Ingegneria Meccanica 3 Esercitazione: 20 ottobre 2004 Esercizi su array e applicazione delle regole di conversione di tipo Esercizi presenti:
Strutture. Strutture e Unioni. Definizione di strutture (2) Definizione di strutture (1)
Strutture Strutture e Unioni DD cap.10 pp.379-391, 405-406 KP cap. 9 pp.361-379 Strutture Collezioni di variabili correlate (aggregati) sotto un unico nome Possono contenere variabili con diversi nomi
Problema. Vettori e matrici. Vettori. Vettori
e matrici Ver. 2.4 2010 - Claudio Fornaro - Corso di programmazione in C Problema Si vuole un programma che chieda 10 numeri dalla tastiera e li visualizzi dall ultimo al primo Soluzione attuale (con le
PROGRAMMA SVOLTO DI INFORMATICA ANNO SCOLASTICO 2013/2014. DOCENTE: Villani Chiara
LICEO SCIENTIFICO STATALE "FILIPPO LUSSANA" V i a A n g e l o Ma j, 1 2 4 1 2 1 B E R G AMO 035 237502 Fax: 035 236331 Sito e contatti: www.liceolussana.com Codice fiscale: 80026450165 PROGRAMMA SVOLTO
Esercizi 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
ESECUZIONE DI PROGRAMMI C SU MACCHINE REALI. Docente: Giorgio Giacinto AA 2008/2009. formalizzazione degli algoritmi in linguaggio C
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
Linguaggio C: le funzioni
Linguaggio C: le funzioni prof. Lorenzo Porcelli e mail: [email protected] sito: http://users.iol.it/genna18 Introduzione attraverso un esempio Problema: Conoscendo le misure di n rettangoli, determinare
Esercitazione 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
Le 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
Sviluppo di programmi
Sviluppo di programmi Per la costruzione di un programma conviene: 1. condurre un analisi del problema da risolvere 2. elaborare un algoritmo della soluzione rappresentato in un linguaggio adatto alla
Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni
Dall Algoritmo al Programma Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni IL PROGRAMMA Gli algoritmi sono modelli di descrizione astratti e per controllarne il funzionamento devono essere
Programmazione I - Laboratorio
Programmazione I - Laboratorio Esercitazione 3 - Array Gianluca Mezzetti 1 Paolo Milazzo 2 1. Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ mezzetti mezzetti di.unipi.it 2. Dipartimento
Creare una funzione float square(float x). La funzione deve restituire il quadrato del parametro x.
Funzioni Esercizio 1 Creare una funzione float square(float x). La funzione deve restituire il quadrato del parametro x. Creare un altra funzione, di nome float cube(float x), che restituisce invece il
Laboratorio 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[]
Esercizi 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=
ESERCIZI DI PROGRAMMAZIONE. - condizionali e cicli -
ESERCIZI DI PROGRAMMAZIONE - condizionali e cicli - Elementi di Informatica e Programmazione Università di Brescia 1 Esercizio 1: dal tema d esame ING-INF del 28 gennaio 2009 Si sviluppi un programma in
HOMEWORKS. in modo che il programma stampi N ripetizioni della stringa HelloWorld (su righe diverse), con N inserito dall utente.
HOMEWORKS Questi esercizi saranno proposti di tanto in tanto e forniti sempre SENZA soluzioni. Come materiale complementare ai libri di testo e alle lezioni frontali e di esercitazione, si consiglia di
Non 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
Introduzione alla programmazione in C(++)
Testi Testi Consigliati: Introduzione alla programmazione in C(++) A. Kelley & I. Pohl C didattica e programmazione A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. D. M. M. Ritchie
Esercitazione 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
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,
Esercizio 1 Liste: calcolo perimetro di un poligono
Esercitazione Fondamenti di Informatica B Corso di Laurea in Ingegneria Meccanica 12 Esercitazione: 28 gennaio 2005 Esercizi su liste, ricorsione, file. Scaletta Esercizio 1 Liste: calcolo perimetro di
Matrici. Matrici.h Definizione dei tipi. Un po di esercizi sulle matrici Semplici. Media difficoltà. Difficili
Matrici Un po di esercizi sulle matrici Semplici Lettura e scrittura Calcolo della trasposta Media difficoltà Calcolo del determinante Difficili Soluzione di sistemi lineari È veramente difficile? 1 Matrici.h
Fondamenti 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.
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
Introduzione alla programmazione Algoritmi e diagrammi di flusso. Sviluppo del software
Introduzione alla programmazione Algoritmi e diagrammi di flusso F. Corno, A. Lioy, M. Rebaudengo Sviluppo del software problema idea (soluzione) algoritmo (soluzione formale) programma (traduzione dell
Algoritmi e basi del C Struttura di un programma
Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio [email protected] Ver. aggiornata al 17 Marzo 2015 Compitini Compitini di INFO: 24 Aprile 2015 4.15pm @ C.G.1 (Ed. 9) 21
Lezione 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
ESERCIZI SU IF/WHILE. Esercizio 1) Legge due numeri e controlla se il primo è multiplo del secondo.
ESERCIZI SU IF/WHILE Esercizio 1) Legge due numeri e controlla se il primo è multiplo del secondo. #include void main () int m, n; printf("inserire il primo numero:\n"); scanf ("%d", &m); printf("inserire
Laboratorio di programmazione
Laboratorio di programmazione Lezione II Tatiana Zolo [email protected] 1 IL PROGRAMMA C++ Istruzioni (espressioni terminate da ; ) istruzioni di dichiarazione (es. int x = 0;); istruzioni di assegnamento
Caratteri e stringhe
Caratteri e stringhe Caratteri Dato che un computer può memorizzare esclusivamente sequenze di bit, per memorizzare un carattere (e quindi testi) è necessario stabilire una convenzione che associa a un
Array in Fortran 90. Ing. Luca De Santis. Anno accademico 2006/2007. DIS - Dipartimento di informatica e sistemistica
Array in Fortran 90 Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2006/2007 Fortran 90: array DIS - Dipartimento di informatica e sistemistica 1 / 25 Cosa vedremo
Array Tipi di dato semplici e strutturati strutturati array elementi omogenei numero d ordine indice lunghezza dimensione
Array Tipi di dato semplici e strutturati i tipi di dato visti finora erano tutti semplici: int, char, float,... i dati manipolati sono spesso complessi (o strutturati) con componenti elementari o strutturate
Appunti del corso di Informatica 1. 6 Introduzione al linguaggio C
Università di Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Marco Liverani ([email protected])
a.a Codice corso: 21012, HOMEWORKS
HOMEWORKS Questi esercizi saranno proposti ogni 2 settimane e forniti sempre SENZA soluzioni. Come materiale complementare ai libri di testo e alle lezioni frontali e di esercitazione, si consiglia di
Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C
Università di Roma Tre Facoltà di Scienze M.F.N. Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Marco Liverani ([email protected])
RICORSIONE - schema ricorsivo (o induttivo) si esegue l'azione S, su un insieme di dati D, mediante eventuale esecuzione di
RICORSIONE - schema ricorsivo (o induttivo) si esegue l'azione S, su un insieme di dati D, mediante eventuale esecuzione di esempio CERCA 90 NEL SACCHETTO = estrai num Casi num 90 Effetti CERCA 90 NEL
Introduzione alla programmazione Esercizi risolti
Esercizi risolti 1 Esercizio Si determini se il diagramma di flusso rappresentato in Figura 1 è strutturato. A B C D F E Figura 1: Diagramma di flusso strutturato? Soluzione Per determinare se il diagramma
Problemi, algoritmi e oggetti
Fondamenti di informatica Oggetti e Java Luca Cabibbo Capitolo 5 Marzo 2007 1 Fondamenti di informatica: Oggetti e Jav Contenuti... Problemi e algoritmi comprensione del problema identificazione di un
MAPPA MULTIPLI E DIVISORI
MAPPA MULTIPLI E DIVISORI 1 MULTIPLI E DIVISORI divisibilità definizione di multiplo criteri di divisibilità definizione di divisore numeri primi e numeri composti scomposizione in fattori primi calcolo
2015 Cambridge Exams Dates / Fees
KET Febbraio sab 21 febbraio 03 gennaio Ven 13 Feb - Lun 23 Feb 20 Mar 15 14 Apr 15 KET Marzo sab 14 marzo 24 gennaio Ven 6 Mar - Lun 16 Mar 14 Apr 15 06 Mag 15 KET Maggio A sab 16 maggio 28 marzo Ven
Prova di Laboratorio del [ Corso A-B di Programmazione (A.A. 2004/05) Esempio: Media Modalità di consegna:
Prova di Laboratorio del 12.1.2005 [durata 90 min.] Corso A-B di Programmazione (A.A. 2004/05) 1. Leggere da tastiera un insieme di numeri interi ed inserirli in un vettore A 2. Calcolare tramite una funzione
Primi passi col linguaggio C
Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Come introdurre un linguaggio di programmazione? Obiettivi: Introduciamo una macchina astratta
Esempio (if): equazione di secondo grado
Esempio (if): equazione di secondo grado /* Programma che calcola le radici di un equazione di secondo grado: ax2+bx+c=0 */ #include /*libreria standard matematica*/ main() { float a,b,c; /*coefficienti
Appunti, esempi ed esercizi sui linguaggi C/C++
Appunti, esempi ed esercizi sui linguaggi C/C++ Dispense e materiale didattico su http://www.eclecticforce.com/ Ambiente di sviluppo Dev C++ http://www.bloodshed.net/devcpp.html // commento su una linea
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
Le 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
ERRATA 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
Scelte 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
Struttura dei programmi C
Programmi C Struttura dei Programmi C Dichiarazione delle variabili Operazioni di Ingresso/Uscita Fondamenti di Informatica 1 Struttura dei programmi C Un programma C deve contenere, nell'ordine: una parte
Esercitazione 8. Array multidimensionali
Esercitazione 8 Array multidimensionali Prodotto di due matrici Una matrice può essere rappresentata in C con un array bidimensionale. Consideriamo il seguente problema: date due matrici mat1[n] [P] mat2[p]
Variabili e Istruzioni
Exit Menù Variabili e Istruzioni 1 Le Variabili Una VARIABILE è un oggetto identificato da un NOME e da uno STATO, detto CONTENUTO o VALORE. Possiamo immaginarla come una scatola contenuto Pippo 11 nome
Esercizio 1. Esercizio 1 Soluzione
Esercizio 1 I numeri complessi Data la notazione cartesiana di un numero complesso (in parte reale ed immaginaria), Realizzare una procedura che ne restituisca la notazione polare (tramite parametri passati
Istruzioni 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
Esercitazione 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
ESERCITAZIONE N.8. Il calcolatore ad orologio di Gauss. L aritmetica dell orologio di Gauss. Operazioni e calcoli in Z n
Il calcolatore ad orologio di Gauss ESERCITAZIONE N.8 18 novembre L aritmetica dell orologio di Gauss Operazioni e calcoli in Z n 1, 1, -11, sono tra loro equivalenti ( modulo 12 ) Rosalba Barattero Sono
A lezione sono stati presentati i seguenti passi per risolvere un problema:
Calcolo delle radici di un polinomio Problema: Dati i coefficienti a,b,c di un polinomio di 2 grado della forma: ax^2 + bx + c = 0, calcolare le radici. A lezione sono stati presentati i seguenti passi
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
Istituto Tecnico Industriale M. M. Milano Polistena. Classe III D a.s. 2015/2016 C++ Guida Base
Istituto Tecnico Industriale M. M. Milano Polistena Classe III D a.s. 2015/2016 C++ Guida Base Prof. Rocco Ciurleo - ITIS M. M. Milano Polistena - 3 D a.s. 2015/2016 1 Le Origini Il Linguaggio C++ è il
Errori 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
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
FUNZIONI. La libreria standard del C fornisce una ricca collezione di funzioni, come le funzioni:
FUNZIONI La libreria standard del C fornisce una ricca collezione di funzioni, come le funzioni: double sqrt(double) double pow (double, double) della libreria matematica, che abbiamo già usato anche senza
