Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Fopr tema 13, Apuntes de Introducción a los Ordenadores

Asignatura: Introducció als Computadors, Profesor: Bernardino Casas, Carrera: Enginyeria Informàtica, Universidad: UPC

Tipo: Apuntes

2015/2016

Subido el 13/12/2016

naz_dhammi-1
naz_dhammi-1 🇪🇸

2 documentos

1 / 15

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
1/29
Definició i declaració
Operacions bàsiques amb matrius
Exercicis de repàs
13. Introducció a la programació (en C++)
Matrius
Bernardino Casas
bcasas@cs.upc.edu
Bernardino Casas 13. Introducció a la programació (en C++)
2/29
Definició i declaració
Operacions bàsiques amb matrius
Exercicis de repàs
Objectius de la sessió
3Conèixer com crear matrius estàtiques i dinàmiques.
3Saber accedir al valor d’una casella en concret d’una
matriu.
3Poder afegir i eliminar files i columnes en matrius
dinàmiques.
3Saber com demanar el nombre de files i columnes que
una matriu en un moment donat.
Bernardino Casas 13. Introducció a la programació (en C++)
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff

Vista previa parcial del texto

¡Descarga Fopr tema 13 y más Apuntes en PDF de Introducción a los Ordenadores solo en Docsity!

1/

Definició i declaració Operacions bàsiques amb matrius Exercicis de repàs

13. Introducció a la programació (en C++)

Matrius

Bernardino Casas

[email protected]

Bernardino Casas 13. Introducció a la programació (en C++)

2/

Definició i declaració Operacions bàsiques amb matrius Exercicis de repàs

Objectius de la sessió

3 Conèixer com crear matrius estàtiques i dinàmiques. 3 Saber accedir al valor d’una casella en concret d’una matriu. 3 Poder afegir i eliminar files i columnes en matrius dinàmiques. 3 Saber com demanar el nombre de files i columnes que té una matriu en un moment donat.

3/

Definició i declaració Operacions bàsiques amb matrius Exercicis de repàs

Índex

(^1) Definició i declaració Matrius estàtiques Matrius dinàmiques

(^2) Operacions bàsiques amb matrius Consulta/modificació de caselles de la matriu Afegir/eliminar files i columnes Nombre de files i columnes

(^3) Exercicis de repàs

Bernardino Casas 13. Introducció a la programació (en C++)

4/

Definició i declaració Operacions bàsiques amb matrius Exercicis de repàs

Matrius estàtiques Matrius dinàmiques

Índex

(^1) Definició i declaració Matrius estàtiques Matrius dinàmiques

(^2) Operacions bàsiques amb matrius Consulta/modificació de caselles de la matriu Afegir/eliminar files i columnes Nombre de files i columnes

(^3) Exercicis de repàs

7/

Definició i declaració Operacions bàsiques amb matrius Exercicis de repàs

Matrius estàtiques Matrius dinàmiques

Índex

(^1) Definició i declaració Matrius estàtiques Matrius dinàmiques

(^2) Operacions bàsiques amb matrius Consulta/modificació de caselles de la matriu Afegir/eliminar files i columnes Nombre de files i columnes

(^3) Exercicis de repàs

Bernardino Casas 13. Introducció a la programació (en C++)

8/

Definició i declaració Operacions bàsiques amb matrius Exercicis de repàs

Matrius estàtiques Matrius dinàmiques

Declaració d’una matriu estàtica

Sintaxis:

t i p u s nom[ f i l e s ] [ c o l s ] ;

Semàntica: tipus indica el tipus de dades de les caselles de la matriu. nom és l’identificador amb el qual ens referim a la matriu. files és el nombre de files de la matriu. cols és el nombre de columnes de la matriu. Exemples: int mat [ 3 ] [ 4 ] ; double mat [ 7 ] [ 1 5 ] ;

9/

Definició i declaració Operacions bàsiques amb matrius Exercicis de repàs

Matrius estàtiques Matrius dinàmiques

Índex

(^1) Definició i declaració Matrius estàtiques Matrius dinàmiques

(^2) Operacions bàsiques amb matrius Consulta/modificació de caselles de la matriu Afegir/eliminar files i columnes Nombre de files i columnes

(^3) Exercicis de repàs

Bernardino Casas 13. Introducció a la programació (en C++)

10/

Definició i declaració Operacions bàsiques amb matrius Exercicis de repàs

Matrius estàtiques Matrius dinàmiques

Declaració d’una matriu dinàmica (I)

Sintaxis:

v e c t o r < v e c t o r < t i p u s > > nom ( f i l e s , v e c t o r < t i p u s >( c o l s ) ) ;

Semàntica: tipus indica el tipus de dades de les caselles de la matriu. nom és l’identificador amb el qual ens referim a la matriu. files és el nombre de files de la matriu. cols és el nombre de columnes de la matriu. Exemples: v e c t o r < v e c t o r < int > > mat ( 3 , v e c t o r < int > ( 4 ) ) ; v e c t o r < v e c t o r < double > > mat ( 7 , v e c t o r < double > ( 1 5 ) ) ;

13/

Definició i declaració Operacions bàsiques amb matrius Exercicis de repàs

Matrius estàtiques Matrius dinàmiques

typedef

typedef és una paraula reservada en C++ i serveix per assignar un nom alternatiu (alias) a tipus existents. S’usa sovint per simplificar la declaració d’un tipus de dades complex o per donar un nom més descriptiu. Amb això estem indicant que existeix un nou tipus que podrem usar en la creació de variables. Exemple: typedef v e c t o r < int > Taula ; typedef int Array [ 1 0 0 ] ;

... Taula t 1 ; // t1 és una variable de tipus vector ... Array t 2 ; // t2 és una variable de tipus int[100]

Bernardino Casas 13. Introducció a la programació (en C++)

14/

Definició i declaració Operacions bàsiques amb matrius Exercicis de repàs

Matrius estàtiques Matrius dinàmiques

Recordatori: Estructura d’un programa

15/

Definició i declaració Operacions bàsiques amb matrius Exercicis de repàs

Consulta/modificació de caselles de la matriu Afegir/eliminar files i columnes Nombre de files i columnes

Índex

(^1) Definició i declaració Matrius estàtiques Matrius dinàmiques

(^2) Operacions bàsiques amb matrius Consulta/modificació de caselles de la matriu Afegir/eliminar files i columnes Nombre de files i columnes

(^3) Exercicis de repàs

Bernardino Casas 13. Introducció a la programació (en C++)

16/

Definició i declaració Operacions bàsiques amb matrius Exercicis de repàs

Consulta/modificació de caselles de la matriu Afegir/eliminar files i columnes Nombre de files i columnes

Índex

(^1) Definició i declaració Matrius estàtiques Matrius dinàmiques

(^2) Operacions bàsiques amb matrius Consulta/modificació de caselles de la matriu Afegir/eliminar files i columnes Nombre de files i columnes

(^3) Exercicis de repàs

19/

Definició i declaració Operacions bàsiques amb matrius Exercicis de repàs

Consulta/modificació de caselles de la matriu Afegir/eliminar files i columnes Nombre de files i columnes

Exemple 1

typedef v e c t o r < char > F i l a ; typedef v e c t o r < char > Matriu ;

Matriu ma( 4 , F i l a ( 5 , ’ ’ ) ) ; ma [ 1 ] [ 2 ] = ’A’ ; ma [ 3 ] [ 4 ] = ’T’ ; ma [ 6 ] [ 2 ] = ’A’ ; ma [ 1 ] [ 1 2 ] = ’A’ ;

Bernardino Casas 13. Introducció a la programació (en C++)

20/

Definició i declaració Operacions bàsiques amb matrius Exercicis de repàs

Consulta/modificació de caselles de la matriu Afegir/eliminar files i columnes Nombre de files i columnes

Exemple 1: solució

typedef v e c t o r < char > F i l a ; typedef v e c t o r < F i l a > Matriu ; // error en el tipus de la Fila

Matriu ma( 4 , F i l a ( 5 , ’ ’ ) ) ; ma [ 1 ] [ 2 ] = ’A’ ; ma [ 3 ] [ 4 ] = ’T’ ; ma [ 6 ] [ 2 ] = ’A’ ; // error l’index de les files va de 0.. ma [ 1 ] [ 1 2 ] = ’A’ ; // error l’index de les columnes va de 0..

1 ’ ’ ’ ’ ’A’ ’ ’ ’ ’

3 ’ ’ ’ ’ ’ ’ ’ ’ ’T’

21/

Definició i declaració Operacions bàsiques amb matrius Exercicis de repàs

Consulta/modificació de caselles de la matriu Afegir/eliminar files i columnes Nombre de files i columnes

Índex

(^1) Definició i declaració Matrius estàtiques Matrius dinàmiques

(^2) Operacions bàsiques amb matrius Consulta/modificació de caselles de la matriu Afegir/eliminar files i columnes Nombre de files i columnes

(^3) Exercicis de repàs

Bernardino Casas 13. Introducció a la programació (en C++)

22/

Definició i declaració Operacions bàsiques amb matrius Exercicis de repàs

Consulta/modificació de caselles de la matriu Afegir/eliminar files i columnes Nombre de files i columnes

Afegir i eliminar files a una matriu dinàmica

Per afegir o esborrar una fila a una matriu dinàmica s’ha de fer servir el mètode push_back() o pop_back() respectivament. Exemple: typedef v e c t o r < int > F i l a ; typedef v e c t o r < F i l a > Matriu ; Matriu m( 1 1 , F i l a ( 7 , 0 ) ) ;

// afegeix una fila al final de la matriu on cada casella d’aquesta // nova fila val - m. push_back ( F i l a ( 7 , − 1 ) ) ;

... m. pop_back ( ) ; // esborra l’ultima fila de la matriu

24/

Definició i declaració Operacions bàsiques amb matrius Exercicis de repàs

Consulta/modificació de caselles de la matriu Afegir/eliminar files i columnes Nombre de files i columnes

Exemple 2

typedef v e c t o r < int > F i l a ; typedef v e c t o r < F i l a > Matriu ;

Matriu ma( 2 , F i l a ( 3 , 0 ) ) ; ma [ 1 ] [ 2 ] = 1 ; ma [ 1 ] [ 2 ] += 3 ; ma[ma [ 0 ] [ 2 ] ] [ 1 ] = ma [ 1 ] [ 2 ] ; ma. push_back ( F i l a ( 3 , 1 ) ) ; ma [ 2 ] [ 2 ] = 2 ;

Bernardino Casas 13. Introducció a la programació (en C++)

25/

Definició i declaració Operacions bàsiques amb matrius Exercicis de repàs

Consulta/modificació de caselles de la matriu Afegir/eliminar files i columnes Nombre de files i columnes

Índex

(^1) Definició i declaració Matrius estàtiques Matrius dinàmiques

(^2) Operacions bàsiques amb matrius Consulta/modificació de caselles de la matriu Afegir/eliminar files i columnes Nombre de files i columnes

(^3) Exercicis de repàs

26/

Definició i declaració Operacions bàsiques amb matrius Exercicis de repàs

Consulta/modificació de caselles de la matriu Afegir/eliminar files i columnes Nombre de files i columnes

Nombre de files i columnes d’una matriu dinàmica

Per saber el nombre de files i columnes de la matriu dinàmica s’ha de fer servir el mètode size () (que té la classe vector). Exemple: Matriu m( 1 1 , F i l a ( 7 ) ) ;

// escriu el nombre de files cout << m. s i z e ( ) << endl ;

// escriu el nombre de columnes cout << m[ 0 ]. s i z e ( ) << endl ;

Bernardino Casas 13. Introducció a la programació (en C++)

27/

Definició i declaració Operacions bàsiques amb matrius Exercicis de repàs

Índex

(^1) Definició i declaració Matrius estàtiques Matrius dinàmiques

(^2) Operacions bàsiques amb matrius Consulta/modificació de caselles de la matriu Afegir/eliminar files i columnes Nombre de files i columnes

(^3) Exercicis de repàs