Algebra Lineare Esercizi assegnati.

Slides:



Advertisements
Presentazioni simili
C C++ &.
Advertisements

Puntatori Linguaggio C.
Introduzione al linguaggio C++
C++ Di Marco Cozzani.
INFORMATICA Altre Istruzioni di I/O
Sottoprogrammi: funzioni e procedure
Uso avanzato di C.
Introduzione al linguaggio C
LE FUNZIONI IN C Sommario 1 Introduzione 2 Moduli di programma in C
PUNTATORI Introduzione
Differenze tra C e C++ Commenti: Adesso puoi inserire dei commenti tra // e la fine della linea. Usare le librerie C: In C++ puoi anche chiamare una funzione.
Introduzione al linguaggio C
INFORMATICA Strutture iterative
Indirizzi delle variabili A ogni variabile sono associati tre concetti fondamentali: il valore memorizzato; il tipo dati di appartenenza; lindirizzo. Il.
FUNZIONI DI BIBLIOTECA
Caratteri e stringhe di caratteri
Ambito delle variabili
Funzioni definite dall’utente
PROGRAMMI DI RICERCA E ORDINAMENTO
Prof.ssa Chiara Petrioli -- Fondamenti di programmazione, a.a. 2009/2010 Corso di Fondamenti di programmazione a.a. 2009/2010 Prof.ssa Chiara Petrioli.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Puntatori Marco D. Santambrogio – Ver. aggiornata al 21 Marzo 2013.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Stringhe e Puntatori Marco D. Santambrogio – Ver. aggiornata al 18 Marzo 2013.
Informatica 2. Concetti fondamentali di programmazione Programmare vuol dire scrivere un algoritmo in un linguaggio che faccia funzionare un calcolatore.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Introduzione a JAVA Anno Accademico 2009/2010.
1 Corso di Informatica (Programmazione) Lezione 12 (19 novembre 2008) Programmazione in Java: i metodi statici.
INFORMATICA Altre Istruzioni di I/O. © Piero Demichelis 2 Funzioni di I/O Per la lettura e la scrittura da videoterminale il C prevede numerose istruzioni.
Le classi Definizione di classe Attributi e metodi di una classe Costruttori e distruttori Private e public Funzioni friend Il puntatore this.
Esercizio: Copiare un file in un nuovo file mediante le funzioni read e write.
A.A. 2010/2011Ambienti di Programmazione per il Software di Base1 (Es. – 6) Ambienti di Programmazione per il Software di Base Le Stringhe in C Input.
Esercizi FUNZIONI Passaggio di parametri per valore, variabili e tipi locali e globali, prototipo.
Esercizi Puntatori, struct con campi puntatore, puntatori a struct, rapporto tra array e puntatori. FUNZIONI Passaggio di parametri per indirizzo, passaggio.
I File.
Il Linguaggio C.
Le funzioni.
CODIFICA Da flow-chart a C++.
Il linguaggio C Le funzioni C Language Il passaggio dei parametri
Cicli in Fortran I cicli consentono di eseguire una sequenza di istruzioni più di una volta due tipi: Cicli iterativi Cicli while.
Programmazione di Calcolatori
void binario(int n); …………………
Programmazione di Calcolatori
Prof.ssa Chiara Petrioli -- Fondamenti di programmazione, a.a. 2009/2010 Corso di Fondamenti di programmazione a.a. 2009/2010 Prof.ssa Chiara Petrioli.
Unità Didattica 3 Linguaggio C
Lo sviluppo top down Le funzioni
G. Amodeo, C. Gaibisso Programmazione di Calcolatori Lezione XVIII Le matrici Programmazione di Calcolatori: le matrici 1.
C. Gaibisso Programmazione di Calcolatori Lezione XIV I vettori Programmazione di Calcolatori: i vettori 1.
Programmazione di Calcolatori
Università degli Studi di BresciaA.A. 2012/2013 Fondamenti di Programmazione Docente: Alessandro SaettiA.A. 2012/2013 Università degli Studi di Brescia.
2000 Prentice Hall, Inc. All rights reserved. Attivazione di funzioni La chiamata/attivazione di funzione viene indicata citando il nome della funzione.
Appunti di Java (J2SDK 1.4.2, JDK 1.6.0) prof. Antonella Schiavon settembre 2009.
Corso di Programmazione Grafica e Laboratorio Daniele Marini
1 Esempi domande di esame. 2 Dato il seguente programma #include int main(){ int *p,j=9,i=5; p=&j; *p=i; printf("%d %d %d\n", i,j,*p); scanf("%d",p);/*
Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni – BCOR Ingegneria Elettronica – BELR Introduzione al C Esercitazione 5 D. Bloisi, A.
1 Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza Valentina Ciriani ( ) Laboratorio di programmazione Lezione 11 e 12 -
Ripetizione La vera potenza dei programmi per computer risiede nella capacità di ripetere lo stesso calcolo o sequenza di istruzioni più volte, ogni volta.
#include void main() { int a,b,c,; float s, x,x1,x2,delta,alfa,beta; int num[3]; int i; printf("La forma classica dell'equazione di 2° grado è: a*x^2+b*x+c=0\n.
Prof.ssa Chiara Petrioli -- corso di programmazione 1, a.a. 2006/2007 Corso di Programmazione 1 a.a.2006/2007 Prof.ssa Chiara Petrioli Corso di Laurea.
Dato un vettore di reali di dimensione DIM, si inseriscano N elementi presi da tastiera, si utilizzi 0 per terminare l’inserimento. Ordinare gli elementi.
1 FONDAMENTI DI INFORMATICA II Ingegneria Gestionale a.a ° Ciclo Template.
Vettori, indirizzi e puntatori Finora abbiamo usato gli indirizzi nel chiamare  la funzione scanf()  le altre funzioni per riferimento Tuttavia la vera.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Puntatori Marco D. Santambrogio – Ver. aggiornata al 11 Ottobre 2014.
Informatica 4 Funzioni. FUNZIONE: definizione MATEMATICA Relazione (o applicazione) binaria tra due insiemi A e B che associa a ogni elemento di A un.
Programmazione in Java
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Puntatori Marco D. Santambrogio – Ver. aggiornata al 11 Marzo 2014.
Operatori di incremento e decremento
Laboratorio di Linguaggi... altre D O M A N D E ! Marco Tarini Università dell’Insubria Facoltà di Scienze Matematiche, Fisiche e Naturali di Varese Corso.
Copyright © Istituto Italiano Edizioni Atlas
Il C `e un linguaggio di programmazione di uso generale, originariamente sviluppato per la scrittura del sistema operativo Unix, ed oggi disponibile su.
Lezione n. Parole chiave: Corso di Laurea: Insegnamento: Docente: A.A Salvatore Cuomo Esercizi sui dati strutturati 13 Tipi di dati strutturati.
Lezione n. Parole chiave: Corso di Laurea: Insegnamento: Docente: A.A Salvatore Cuomo Esercizi su stringhe e file 15 Stringhe e file.
Linguaggio C: Funzioni e Puntatori Laboratorio di Programmazione Gruppo 1.
Transcript della presentazione:

Algebra Lineare Esercizi assegnati

Esercizi assegnati Algortimi e codici C per: Prodotto scalare - vettore Prodotto scalare - matrice Prodotto matrice - vettore Prodotto matrice - matrice

Prodotto scalare - vettore Moltiplicando uno scalare a per un vettore B si ottiene un nuovo vettore i cui elementi sono il prodotto dello scalare per tutti gli elementi del vettore iniziale. read (a) for i = 1, n B(i) = a * B(i) endfor

Prodotto scalare - matrice Moltiplicando uno scalare a per una matrice B si ottiene una nuova matrice i cui elementi sono il prodotto dello scalare per tutti gli elementi della matrice iniziale. read (a) for i = 1, n for j = 1, m B(i,j) = a * B(i,j) endfor

Prodotto matrice - vettore Moltiplicando una matrice A per un vettore B si ottiene un vettore C i cui elementi sono determi-nati dal prodotto della corrispondente riga di A per il vettore B. for i = 1, n C(i) = 0 for j = 1, m C(i) = C(i) + A(i,j) * B(j) endfor

Prodotto matrice - matrice Moltiplicando una matrice A per una matrice B si ottiene una matrice C i cui elementi sono determinati dal prodotto della corrispondente riga di A per la corrispondente colonna di B. for i = 1, n for k = 1, p C(i,k) = 0 for j = 1, m C(i,k) = C(i,k) + A(i,j) * B(j,k) endfor

Uso delle functions in C

Uso delle functions Riduzione delle linee di codice sequenze di istruzioni identiche da ripetere più volte in punti diversi del programma Semplificazione della scrittura del codice Trsportabilità (riutilizzazione) in altri programmi

Definizione di function Definizione del Tipo int, float, char, etc. Attribuzione di un nome p.e. main Dichiarazione degli argomenti p.e. main è priva di argomenti, per cui ( ) Corpo della funzione racchiuso tra { }

Dichiarazione di function Nessaria se: il codice della function segue il codice della main il codice della function è in un file separato (opzione -c del compilatore) Non necessaria se il codice della function precede il codice della main

Scambio dati function/main Function riceve dati da main attraverso gli argomenti formali (tipizzati) Main riceve un valore dello stesso tipo della function attraverso l’istruzione return La function NON restituisce risultati mediante gli argomenti Per restituire risultati attraverso gli argomenti si DEVONO usare i puntatori

Scoping (portata) delle variabili Le variabili della function possono essere: gli argomenti (parametri) con valori ricevuti da function chiamante variabili locali, ossia variabili dichiarate ed utilizzate all’interno della function In caso di omonimia con variabili esterne la function riconosce ed usa solo le definizioni locali Le variabili locali sono sconosciute esternamente

Esempio di function 1 (1/4) #include <stdio.h> main () { float epsis, rmins, epsilons (), rminsi (); double epsid, rmind, epsilond (), rmindo (); rmins = rminsi (); rmind = rmindo(); epsis = epsilons (); epsid = epsilond (); printf ("\nL'r-min s.p.: %e \n", rmins); printf ("L'r-min d.p.: %e \n", rmind); printf ("\nL'eps.ma. s.p.: %e \n", epsis); printf ("L'eps.ma. D.p.: %e \n\n", epsid); } /* continua */

(2/4) float rminsi () { float e, rmin; e = 1.; while (e != 0.) } return rmin; double rmindo () double f, rmin; f = 1.; while (f != 0.) rmin = f; f = rmin/2; /* continua */ (2/4)

(3/4) float epsilons () { float a, b, epsi; a = 1.; do b = 1.; a = epsi/2; b = b + a; } while (b != 1.); return epsi; /* continua */

(4/4) double epsilond () { double c, d, epsi; d = 1.; do c = 1.; c = c + d; } while (c != 1.); return epsi;

Esempio di function 2 (main) #include <stdio.h> main () { float epsis, rmins, epsilons (), rminsi (); double epsid, rmind, epsilond (), rmindo (); rmins = rminsi (); rmind = rmindo(); epsis = epsilons (); epsid = epsilond (); printf ("\nL'r-min s.p.: %e \n", rmins); printf ("L'r-min d.p.: %e \n", rmind); printf ("\nL'eps.ma. s.p.: %e \n", epsis); printf ("L'eps.ma. D.p.: %e \n\n", epsid); }

Esempio di function 2 (sub 1/3) #include <stdio.h> float rminsi () { float e, rmin; e = 1.; while (e != 0.) rmin = e; e = rmin/2; } return rmin; double rmindo () double f, rmin; f = 1.; while (f != 0.) rmin = f; f = rmin/2; /* continua */

Esempio di function 2 (sub 2/3) float epsilons () { float a, b, epsi; a = 1.; do b = 1.; epsi = a; a = epsi/2; b = b + a; } while (b != 1.); return epsi; /* continua */

Esempio di function 2 (sub 3/3) double epsilond () { double c, d, epsi; d = 1.; do c = 1.; epsi = d; d = epsi/2; c = c + d; } while (c != 1.); return epsi;

Esempio di function 3 (1/4) #include <stdio.h> void rminsi (float *rmin) { float e; e = 1.; while (e != 0.) *rmin = e; e = *rmin/2; } void rmindo (double *rmin) double f; f = 1.; while (f != 0.) *rmin = f; f = *rmin/2; } /*continua */

Esempio di function 3 (2/4) void epsilons (float *epsi) { float a, b; a = 1.; do b = 1.; *epsi = a; a = *epsi/2; b = b + a; } while (b != 1.); } /*continua */

Esempio di function 3 (3/4) void epsilond (double *epsi) { double c, d; d = 1.; do c = 1.; *epsi = d; d = *epsi/2; c = c + d; } while (c != 1.); } /*continua */

Esempio di function 3 (4/4) main () { float epsis, rmins; double epsid, rmind; rminsi (&rmins); rmindo (&rmind); epsilons (&epsis); epsilond (&epsid); printf ("\nL'r-min s.p.: %e \n", rmins); printf ("L'r-min d.p.: %e \n", rmind); printf ("\nL'eps.ma. s.p.: %e \n", epsis); printf ("L'eps.ma. D.p.: %e \n\n", epsid); }