clase 10: arreglos - ninaspro.cl · temario de la clase 1. definición de arreglo 2. definición de...

32
Clase 10: Arreglos Profesoras de Cátedra: Pía Cortés Antonia Larrañaga

Upload: others

Post on 19-Jul-2020

13 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Clase 10: Arreglos - ninaspro.cl · Temario de la clase 1. Definición de arreglo 2. Definición de vector 3. Ejemplos 4. Ejemplos con ciclos

Clase 10: Arreglos

Profesoras de Cátedra:Pía CortésAntonia Larrañaga

Page 2: Clase 10: Arreglos - ninaspro.cl · Temario de la clase 1. Definición de arreglo 2. Definición de vector 3. Ejemplos 4. Ejemplos con ciclos

¿Quiénes somos?

Page 3: Clase 10: Arreglos - ninaspro.cl · Temario de la clase 1. Definición de arreglo 2. Definición de vector 3. Ejemplos 4. Ejemplos con ciclos

Diapo Pía

Soy casi Astrónoma, estoy terminando el Magíster en Astronomía en la Universidad de Chile. Estudio planetas extrasolares y programo todo el día. Me gusta leer, las hamburguesas y los gatos.

Page 4: Clase 10: Arreglos - ninaspro.cl · Temario de la clase 1. Definición de arreglo 2. Definición de vector 3. Ejemplos 4. Ejemplos con ciclos

Diapo Anto

Estudié Ingeniería Eléctrica en la U. de Chile. Actualmente trabajo en The Not Company, donde hacemos comida vegana a partir de inteligencia artificial. Me gusta cocinar, tejer, hacer yoga y los gatos.

Page 5: Clase 10: Arreglos - ninaspro.cl · Temario de la clase 1. Definición de arreglo 2. Definición de vector 3. Ejemplos 4. Ejemplos con ciclos

Temario de la clase

1. Definición de arreglo

2. Definición de vector

3. Ejemplos

4. Ejemplos con ciclos

Page 6: Clase 10: Arreglos - ninaspro.cl · Temario de la clase 1. Definición de arreglo 2. Definición de vector 3. Ejemplos 4. Ejemplos con ciclos

Definición de arreglo

Page 7: Clase 10: Arreglos - ninaspro.cl · Temario de la clase 1. Definición de arreglo 2. Definición de vector 3. Ejemplos 4. Ejemplos con ciclos

¿Qué es un arreglo?

Un grupo o colección finita y ordenada de elementos.

Permite almacenar un conjunto de datos de un mismo tipo.

-123 49 0 36 42 33 90

0 1 2 3 4 5 6

Page 8: Clase 10: Arreglos - ninaspro.cl · Temario de la clase 1. Definición de arreglo 2. Definición de vector 3. Ejemplos 4. Ejemplos con ciclos

Arreglos en C++

int edades [4];

float estaturas [3];

bool estados [5];

string nombres [2];

Tipo Tamaño

Si conoces el tamaño de tu arreglo, pero no sabes exactamente qué datos contiene, puedes

declararlo así

Page 9: Clase 10: Arreglos - ninaspro.cl · Temario de la clase 1. Definición de arreglo 2. Definición de vector 3. Ejemplos 4. Ejemplos con ciclos

Arreglos en C++

int edades [] = {45, 21, 33, 1};

float estaturas [] = {1.50, 1.67, 1.32};

bool estados [] = {true, true, false, true, false};

string nombres [] = {“María”, “Julián”};

Tipo

Si conoces tus datos, puedes

ponerlos directamente

Page 10: Clase 10: Arreglos - ninaspro.cl · Temario de la clase 1. Definición de arreglo 2. Definición de vector 3. Ejemplos 4. Ejemplos con ciclos

Operaciones con arreglos

Creamos un arreglo de números enteros de la siguiente forma:

int numeros [] = {-123, 49, 0, 36, 42, 33, 90};

-123 49 0 36 42 33 90

0 1 2 3 4 5 6

Page 11: Clase 10: Arreglos - ninaspro.cl · Temario de la clase 1. Definición de arreglo 2. Definición de vector 3. Ejemplos 4. Ejemplos con ciclos

Operaciones con arreglos

Podemos acceder al elemento i de la siguiente forma:

cout << numeros[2];

-123 49 0 36 42 33 90

0 1 2 3 4 5 6

Page 12: Clase 10: Arreglos - ninaspro.cl · Temario de la clase 1. Definición de arreglo 2. Definición de vector 3. Ejemplos 4. Ejemplos con ciclos

Operaciones con arreglos

Podemos acceder al elemento i de la siguiente forma:

cout << numeros[2]; // Entrega 0

-123 49 0 36 42 33 90

0 1 2 3 4 5 6

Page 13: Clase 10: Arreglos - ninaspro.cl · Temario de la clase 1. Definición de arreglo 2. Definición de vector 3. Ejemplos 4. Ejemplos con ciclos

Definición de vector

Page 14: Clase 10: Arreglos - ninaspro.cl · Temario de la clase 1. Definición de arreglo 2. Definición de vector 3. Ejemplos 4. Ejemplos con ciclos

¿Qué es un vector?

Es otra estructura en C++, pero que también nos sirve para almacenar datos del mismo tipo.

Tenemos que incluir la librería vector: #include <vector>

-123 49 0 36 42 33 90

0 1 2 3 4 5 6

Page 15: Clase 10: Arreglos - ninaspro.cl · Temario de la clase 1. Definición de arreglo 2. Definición de vector 3. Ejemplos 4. Ejemplos con ciclos

Vectores en C++

vector<int> edades;

vector<float> estaturas;

vector<bool> estados;

vector<string> nombres;

Tipo

¡No es necesario que conozcas el tamaño de tu

vector!

Page 16: Clase 10: Arreglos - ninaspro.cl · Temario de la clase 1. Definición de arreglo 2. Definición de vector 3. Ejemplos 4. Ejemplos con ciclos

Vectores en C++

vector<int> edades = {45, 21, 33, 1};

vector<float> estaturas = {1.50, 1.67, 1.32};

vector<bool> estados = {true, true, false, true};

vector<string> nombres = {“María”, “Julián”};

Tipo

Si conoces tus datos, puedes

ponerlos directamente

Page 17: Clase 10: Arreglos - ninaspro.cl · Temario de la clase 1. Definición de arreglo 2. Definición de vector 3. Ejemplos 4. Ejemplos con ciclos

Operaciones con vectores

Podemos acceder al elemento i de las siguientes formas:

cout << numeros[2]; // Entrega 0cout << numeros.at(2); // Entrega 0

-123 49 0 36 42 33 90

0 1 2 3 4 5 6

Page 18: Clase 10: Arreglos - ninaspro.cl · Temario de la clase 1. Definición de arreglo 2. Definición de vector 3. Ejemplos 4. Ejemplos con ciclos

Operaciones con vectores

-123 49 0 36 42 33 90

0 1 2 3 4 5 6

front

Nos entrega el primer elemento

clear

Borra el contenido del vector, lo deja de tamaño cero

back

Nos entrega el último elemento

Page 19: Clase 10: Arreglos - ninaspro.cl · Temario de la clase 1. Definición de arreglo 2. Definición de vector 3. Ejemplos 4. Ejemplos con ciclos

Operaciones con vectores

-123 49 0 36 42 33 90

0 1 2 3 4 5 6

swap

Cambia el contenido de dos vectores

pop_back

Elimina el último elemento

push_back

Agrega un elemento al final

Page 20: Clase 10: Arreglos - ninaspro.cl · Temario de la clase 1. Definición de arreglo 2. Definición de vector 3. Ejemplos 4. Ejemplos con ciclos

Operaciones con vectores

-123 49 0 36 42 33 90

0 1 2 3 4 5 6

empty

Retorna true si el vector está vacío

resize

Cambia el tamaño del arreglo

size

Entrega el tamaño del vector

Page 21: Clase 10: Arreglos - ninaspro.cl · Temario de la clase 1. Definición de arreglo 2. Definición de vector 3. Ejemplos 4. Ejemplos con ciclos

Ejemplos con vectores

Page 22: Clase 10: Arreglos - ninaspro.cl · Temario de la clase 1. Definición de arreglo 2. Definición de vector 3. Ejemplos 4. Ejemplos con ciclos

Ejemplo

using namespace std;

int main (){ vector<int> notas = {43, 42, 67, 55}; cout<< notas.size() << endl; cout<< notas.front() << endl; cout<< notas.back() << endl;

}

Page 23: Clase 10: Arreglos - ninaspro.cl · Temario de la clase 1. Definición de arreglo 2. Definición de vector 3. Ejemplos 4. Ejemplos con ciclos

Ejemplo

using namespace std;

int main (){ vector<int> notas = {43, 42, 67, 55}; cout<< notas.size() << endl; // (1) cout<< notas.front() << endl; // (2) cout<< notas.back() << endl; // (3)

}

(1) 4(2) 43 (3) 55

Page 24: Clase 10: Arreglos - ninaspro.cl · Temario de la clase 1. Definición de arreglo 2. Definición de vector 3. Ejemplos 4. Ejemplos con ciclos

Ejemplo

using namespace std;

int main (){ vector<int> alturas = {1.43, 1.42, 1.67, 1.55};

alturas.pop_back(); cout << alturas.size()<< endl; alturas.push_back(1.80); cout << alturas.size() << endl;}

Page 25: Clase 10: Arreglos - ninaspro.cl · Temario de la clase 1. Definición de arreglo 2. Definición de vector 3. Ejemplos 4. Ejemplos con ciclos

Ejemplo (1) 3(2) 4

using namespace std;

int main (){ vector<int> alturas = {1.43, 1.42, 1.67, 1.55};

alturas.pop_back(); cout << alturas.size()<< endl; alturas.push_back(1.80); cout << alturas.size() << endl;}

Page 26: Clase 10: Arreglos - ninaspro.cl · Temario de la clase 1. Definición de arreglo 2. Definición de vector 3. Ejemplos 4. Ejemplos con ciclos

Ejemplo

using namespace std;

int main (){ vector<int> apellidos = {“Morales”, “Pérez”}; apellidos.clear(); cout << apellidos.size() << endl;

}

Page 27: Clase 10: Arreglos - ninaspro.cl · Temario de la clase 1. Definición de arreglo 2. Definición de vector 3. Ejemplos 4. Ejemplos con ciclos

Ejemplo Retorna 0 porque el vector quedó sin elementos

using namespace std;

int main (){ vector<int> apellidos = {“Morales”, “Pérez”}; apellidos.clear(); cout << apellidos.size() << endl;

}

Page 28: Clase 10: Arreglos - ninaspro.cl · Temario de la clase 1. Definición de arreglo 2. Definición de vector 3. Ejemplos 4. Ejemplos con ciclos

Ejemplos con ciclos

Page 29: Clase 10: Arreglos - ninaspro.cl · Temario de la clase 1. Definición de arreglo 2. Definición de vector 3. Ejemplos 4. Ejemplos con ciclos

Ejemplo

Para crear un juego, una de las partes requiere que recibamos 6 palabras y luego las imprimamos en orden inverso.

Page 30: Clase 10: Arreglos - ninaspro.cl · Temario de la clase 1. Definición de arreglo 2. Definición de vector 3. Ejemplos 4. Ejemplos con ciclos

#include <iostream>using namespace std;

int main(){

// Declaramos el arreglo string palabras[6];

// Guardamos los datos for (int i = 0; i < 6; i++) { cin >> palabras[i]; }

// Imprimimos los datos for (int i = 5; i >= 0; i--) { cout << palabras[i] << endl; } return 0;}

Page 31: Clase 10: Arreglos - ninaspro.cl · Temario de la clase 1. Definición de arreglo 2. Definición de vector 3. Ejemplos 4. Ejemplos con ciclos

Créditos diseños

● Macarena Ibsen, diseñadora gráfica, Branding NiñasPRO.

● Íconos de Freepik usados en estas diapositivas,

licenciados bajo Creative Commons BY 3.0.

https://www.flaticon.com/authors/freepik

Page 32: Clase 10: Arreglos - ninaspro.cl · Temario de la clase 1. Definición de arreglo 2. Definición de vector 3. Ejemplos 4. Ejemplos con ciclos

¿Preguntas?