SlideShare una empresa de Scribd logo
1 de 26
Ingeniería en Sistemas Computacionales
Fundamentos de Programación
Unidad V: Arreglos (Vectores)
Este material de clase fue desarrollado para la asignatura Fundamentos de Programación clave SCD-1008, de la carrera de
Ing. En Sistemas Computacionales, plan 2010.
FUNDAMENTOS DE PROGRAMACION
Competencia:
• Construir programas que utilicen arreglos unidimensionales y
multidimensionales para solucionar problemas.
Arreglos
• En clase ya conocimos algunos tipos básicos como por ejemplo los tipos
char, int y float. El lenguaje C++ permite, además, construir estructuras
más complejas a partir de estos tipos básicos. Una de las construcciones
que podemos definir son los arreglos.
• Arreglo: Colección ordenada de elementos de un mismo tipo. Ordenada
significa que cada elemento tiene una ubicación determinada dentro del
arreglo y debemos conocerla para poder accederlo.
FUNDAMENTOS DE PROGRAMACIÓN
Sintaxis:
tipo nombre_variable[longitud];
Ejemplo:
int matricula[20];
• Con esto diremos que nombre_variable es un arreglo de longitud
elementos del tipo necesitado. Cabe destacar que longitud debe ser
cualquier expresión entera constante mayor que cero.
FUNDAMENTOS DE PROGRAMACIÓN
Representación
Gráfica de un
Arreglo
FUNDAMENTOS DE PROGRAMACIÓN
Asignación de un arreglo:
nombre_variable[índice] = valor o expresión del tipo requerido;
Ejemplos:
calificaciones[9]=(cal1+cal2+cal3)/3;
calificaciones[7]=95;
• El índice debe ser una expresión del tipo entero en el rango [0, longitud-1].
• Cabe destacar que C++ no revisa que el valor de la expresión sea menor a
longitud, simplemente asigna el valor a esa posición de memoria como si
formara parte del arreglo.
FUNDAMENTOS DE PROGRAMACIÓN
Acceso al contenido de un arreglo:
• nombre_variable[índice]; es valor del tipo requerido que puede ser
asignado a una variable, o pasado como parámetro, imprimirlo, etc.
• Aquí también vale la aclaración de que el índice debe estar dentro del
rango de definición del arreglo, C++ no revisará que esto sea cierto y
devolverá lo contenido en la posición de memoria correspondiente a un
arreglo de mayor longitud, el dato obtenido de esta manera es basura.
FUNDAMENTOS DE PROGRAMACIÓN
Ejercicio: Hacer un programa que capture un arreglo de 10
posiciones, una vez lleno pedir por teclado un número y
buscar si se encuentra dentro del arreglo indicando la
posición del mismo.
FUNDAMENTOS DE PROGRAMACIÓN
Ejercicio: Hacer un programa que capture la 10 números en
un arreglo de igual tamaño y determine la suma total de los
mismos y el promedio.
FUNDAMENTOS DE PROGRAMACIÓN
Ejercicio: Capturar 3 arreglos de 5 posiciones. Después multiplicar el primero
por el segundo y al resultado sumarle el tercero, guardar el resultado final en un
cuarto arreglo, el cual debe ser desplegado en pantalla.
FUNDAMENTOS DE PROGRAMACIÓN
Ejercicio: Hacer un programa que con arreglos
de 10 posiciones capture lo siguiente:
• Matricula de estudiante.
• Calificación en una materia con 3 parciales.
• Desplegar en pantalla el promedio por
alumno
• Desplegar en pantalla el promedio del
grupo.
FUNDAMENTOS DE PROGRAMACIÓN
Ejercicio:
• Hacer un programa que capture un arreglo de 10
posiciones, y a la vez llene un segundo arreglo con
el valor en la posición contraria, es decir, lo
capturado en la posición 0 se pasa a la posición 9
del segundo arreglo, etc.
FUNDAMENTOS DE PROGRAMACIÓN
Ejercicio:
• Hacer un programa que capture las infracciones de velocidad en la estación
de policía.
• Capturar en vectores de 10 posiciones los sig. Datos: Número de licencia,
velocidad registrada (k/h), velocidad limite (k/h), multa.
• Además indicar la suma total de las multas.
FUNDAMENTOS DE PROGRAMACIÓN
Matrices
• Una matriz es una estructura de datos, o más técnicamente, un espacio de
memoria que permite almacenar una colección de elementos, todos del
mismo tipo.
• La diferencia con los arreglos está en que, en las matrices, los elementos
no están organizados linealmente sino que su organización es
bidimensional, es decir, en filas y columnas.
• Conviene imaginar una matriz como una organización de celdas de
memoria, o casillas, en cada una de las cuales se puede guardar un
elemento de la colección.
FUNDAMENTOS DE PROGRAMACIÓN
Además, es usual dibujarla
como lo ilustra la figura
siguiente:
FUNDAMENTOS DE PROGRAMACIÓN
• Esta figura representa un matriz de cuatro filas (numeradas verticalmente
de 0 a 3) y seis columnas (numeradas horizontalmente de 0 a 5).
• En cada una de las 24 celdas o casillas se puede guardar un dato.
• La dimensión o tamaño de una matriz es el número filas por el número de
columnas.
• Debe ser claro entonces que la figura anterior es la gráfica de una matriz de
dimensión 4x6.
• La numeración de las filas y las columnas determina que cada una de las
casillas de una matriz tiene asociados dos números índice que la
identifican de manera única.
• A estos números se les llama índice de fila e índice de columna,
respectivamente.
• En el seudocódigo, y también en C y C++, las filas y las columnas se
numeran desde 0 y finalizan en n-1.
FUNDAMENTOS DE PROGRAMACIÓN
Declaración de una matriz en C++:
• La sintaxis es casi la misma excepto que hemos añadido un par de
corchetes "[ ]" más esta vez y al interior de éstos debemos poner el
número de filas y columnas máximas de la matriz, respectivamente.
Ejemplo:
int myMatriz1[10][5];
float myMatriz2[5][10];
string myMatriz3[15][15];
FUNDAMENTOS DE PROGRAMACIÓN
¿Cómo inicializar una matriz en C++?
• En cuanto tenemos declarado una matriz, es posible asignarle valores a
cada una de sus casillas, sus valores deben coincidir con el tipo de dato que
le asignamos a dicha matriz.
Ejemplo:
int myMatriz[2][2] = {{1,2}, {3,4}};
FUNDAMENTOS DE PROGRAMACIÓN
 El valor inicial corresponde a la fila cero, columna cero [0][0]
y tiene el valor de 1;
 En la fila cero, columna uno [0][1] tenemos el valor de 2;
 En la fila uno, columna cero [1][0] el valor de 3;
 Finalmente, en la fila uno, columna uno [1][1] el valor de 4.
Otra forma de hacerlo es con ciclos, dentro de los cuales se asigna un valor
inicial a cada casilla de la matriz, puede ser un cero en el caso de las matrices
numéricas o una cadena vacía para las tipo cadena.
Ejemplo:
int edades[3][2];
for (int i = 0; i < 3; i++) { // ciclo para filas
for (int j = 0; j < 2; j++) { // ciclo para columnas
edades[ i ][ j ]=0;
} // cierra ciclo de columnas
} // cierra ciclo de filas
FUNDAMENTOS DE PROGRAMACIÓN
Obtener el valor de una casilla específica
• Para acceder al valor de una casilla nuevamente haremos uso de los
corchetes, pero esta vez no para declarar tamaños (porque eso ya lo
hicimos) sino para indicar posiciones (fila y columna).
Ejemplo:
int myMatriz[2][2] = {{7,2},{1,4}}; //Matriz con 4 elementos
int num = myMatriz[0][0]; //Obtiene el valor de la casilla
cout << num << endl; //Despliega el valor obtenido que es 7
FUNDAMENTOS DE PROGRAMACIÓN
Recorrer una matriz en C++
• Para obtener todos los datos que se encuentran al interior de una matriz,
debemos acceder a cada posición, esto se hace fácilmente con dos ciclos
for (anidados).
• La lógica de este procedimiento es la siguiente:
 El primer ciclo for comenzará desde cero e irá hasta el número de filas-
1, la variable de control que generalmente llamamos “i”;
 El segundo ciclo for irá de cero al número de columnas-1 y
normalmente se usa la variable llamada “j”;
FUNDAMENTOS DE PROGRAMACIÓN
Ejemplo:
int main() {
int edades[3][2] = {{1,2},{9,8},{14,21}};
for (int i = 0; i < 3; i++) { // ciclo para filas
for (int j = 0; j < 2; j++) { // ciclo para columnas
cout << edades[ i ][ j ] << endl;
} // cierra ciclo de columnas
} // cierra ciclo de filas
} // cierra main
FUNDAMENTOS DE PROGRAMACIÓN
• Ejercicio: Escribir un programa que lea una matriz de 3 filas y 3 columnas
de valores enteros. A continuación, el programa debe pedir el número de
una fila. El programa deberá devolver el valor máximo de esa fila.
FUNDAMENTOS DE PROGRAMACIÓN
• Ejercicio: Escribir un programa que lea una matriz de números enteros y
que devuelva la suma de los elementos positivos de la matriz y la suma de
los elementos negativos.
FUNDAMENTOS DE PROGRAMACIÓN
• Ejercicio: Escribir un programa que lea un matriz de enteros de 2 filas y 4
columnas y muestre por pantalla la traspuesta a dicha matriz. Ejemplo:
FUNDAMENTOS DE PROGRAMACIÓN
• Ejercicio: Se dice que una matriz tiene un punto de silla si alguna posición
de la matriz es el menor valor de su fila y a la vez el mayor de su columna.
Escribir un programa que tenga como entrada una matriz de números
enteros y calcule la posición de un punto de silla (si es que existe).
FUNDAMENTOS DE PROGRAMACIÓN

Más contenido relacionado

La actualidad más candente

Lenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretesLenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretesIsrael Castillo Cruz
 
Estructura de datos presentacion y sesion 1
Estructura de datos presentacion y sesion 1Estructura de datos presentacion y sesion 1
Estructura de datos presentacion y sesion 1Jesús Gómez Ávila
 
Lenguaje natural pseudocodigo diagramacion y programacion
Lenguaje natural pseudocodigo diagramacion y programacionLenguaje natural pseudocodigo diagramacion y programacion
Lenguaje natural pseudocodigo diagramacion y programacionClaudia Poza
 
Modelado Orientado a Objetos
Modelado Orientado a ObjetosModelado Orientado a Objetos
Modelado Orientado a ObjetosRafael Miranda
 
Estructura básica de un programa en C++
Estructura básica de un programa en C++Estructura básica de un programa en C++
Estructura básica de un programa en C++Rosbelia Balza
 
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...
Conceptos Unidad 1 Lenguajes Automatas Introducción  a  la Teoría de Lenguaje...Conceptos Unidad 1 Lenguajes Automatas Introducción  a  la Teoría de Lenguaje...
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...Hugo Alberto Rivera Diaz
 
Estructuras repetitivas - pseudocodigo
Estructuras repetitivas - pseudocodigoEstructuras repetitivas - pseudocodigo
Estructuras repetitivas - pseudocodigoRosbelia Balza
 
Ejercicios (Algoritmo: Pseudocódigo-Diagrama de Flujo)
Ejercicios (Algoritmo: Pseudocódigo-Diagrama de Flujo)Ejercicios (Algoritmo: Pseudocódigo-Diagrama de Flujo)
Ejercicios (Algoritmo: Pseudocódigo-Diagrama de Flujo)Natalia Alejandra
 
P. estructurada vs. programación orientada a objetos
P. estructurada vs. programación orientada a objetosP. estructurada vs. programación orientada a objetos
P. estructurada vs. programación orientada a objetosGeovanny Yungán
 
Elementos basicos de un programa
Elementos basicos de un programaElementos basicos de un programa
Elementos basicos de un programaDavid Tuarez
 
Ingeniería en sistemas computacionales (1)
Ingeniería en sistemas computacionales (1)Ingeniería en sistemas computacionales (1)
Ingeniería en sistemas computacionales (1)Shayde Hernandez
 
Fundamentos de Programacion - Unidad 1 conceptos basicos
Fundamentos de Programacion - Unidad 1 conceptos basicosFundamentos de Programacion - Unidad 1 conceptos basicos
Fundamentos de Programacion - Unidad 1 conceptos basicosJosé Antonio Sandoval Acosta
 
Ejercicios resueltos de programacion
Ejercicios resueltos de programacionEjercicios resueltos de programacion
Ejercicios resueltos de programacionJaime amambal
 
Parte 4 Máquinas De Turing
Parte 4  Máquinas De  TuringParte 4  Máquinas De  Turing
Parte 4 Máquinas De TuringRicardo Quintero
 
Arreglos o dimensiones en pseint
Arreglos o dimensiones en pseintArreglos o dimensiones en pseint
Arreglos o dimensiones en pseintDon Augusto
 

La actualidad más candente (20)

Lenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretesLenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretes
 
Estructura de datos presentacion y sesion 1
Estructura de datos presentacion y sesion 1Estructura de datos presentacion y sesion 1
Estructura de datos presentacion y sesion 1
 
Lenguaje natural pseudocodigo diagramacion y programacion
Lenguaje natural pseudocodigo diagramacion y programacionLenguaje natural pseudocodigo diagramacion y programacion
Lenguaje natural pseudocodigo diagramacion y programacion
 
Modelado Orientado a Objetos
Modelado Orientado a ObjetosModelado Orientado a Objetos
Modelado Orientado a Objetos
 
Estructura básica de un programa en C++
Estructura básica de un programa en C++Estructura básica de un programa en C++
Estructura básica de un programa en C++
 
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...
Conceptos Unidad 1 Lenguajes Automatas Introducción  a  la Teoría de Lenguaje...Conceptos Unidad 1 Lenguajes Automatas Introducción  a  la Teoría de Lenguaje...
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...
 
Memoria dinamica
Memoria dinamicaMemoria dinamica
Memoria dinamica
 
Estructura Repetitiva MIENTRAS (While) con PSeInt
Estructura Repetitiva MIENTRAS (While) con PSeIntEstructura Repetitiva MIENTRAS (While) con PSeInt
Estructura Repetitiva MIENTRAS (While) con PSeInt
 
ESTRUCTURAS ANIDADAS
ESTRUCTURAS ANIDADASESTRUCTURAS ANIDADAS
ESTRUCTURAS ANIDADAS
 
Estructuras repetitivas - pseudocodigo
Estructuras repetitivas - pseudocodigoEstructuras repetitivas - pseudocodigo
Estructuras repetitivas - pseudocodigo
 
Librerias de C++
Librerias de C++Librerias de C++
Librerias de C++
 
Ejercicios
EjerciciosEjercicios
Ejercicios
 
Ejercicios (Algoritmo: Pseudocódigo-Diagrama de Flujo)
Ejercicios (Algoritmo: Pseudocódigo-Diagrama de Flujo)Ejercicios (Algoritmo: Pseudocódigo-Diagrama de Flujo)
Ejercicios (Algoritmo: Pseudocódigo-Diagrama de Flujo)
 
P. estructurada vs. programación orientada a objetos
P. estructurada vs. programación orientada a objetosP. estructurada vs. programación orientada a objetos
P. estructurada vs. programación orientada a objetos
 
Elementos basicos de un programa
Elementos basicos de un programaElementos basicos de un programa
Elementos basicos de un programa
 
Ingeniería en sistemas computacionales (1)
Ingeniería en sistemas computacionales (1)Ingeniería en sistemas computacionales (1)
Ingeniería en sistemas computacionales (1)
 
Fundamentos de Programacion - Unidad 1 conceptos basicos
Fundamentos de Programacion - Unidad 1 conceptos basicosFundamentos de Programacion - Unidad 1 conceptos basicos
Fundamentos de Programacion - Unidad 1 conceptos basicos
 
Ejercicios resueltos de programacion
Ejercicios resueltos de programacionEjercicios resueltos de programacion
Ejercicios resueltos de programacion
 
Parte 4 Máquinas De Turing
Parte 4  Máquinas De  TuringParte 4  Máquinas De  Turing
Parte 4 Máquinas De Turing
 
Arreglos o dimensiones en pseint
Arreglos o dimensiones en pseintArreglos o dimensiones en pseint
Arreglos o dimensiones en pseint
 

Similar a Arreglos y Matrices en C (20)

Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructurasIng. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras
 
Los 5 fantasticos
Los 5 fantasticosLos 5 fantasticos
Los 5 fantasticos
 
arreglos y matrices
arreglos  y matricesarreglos  y matrices
arreglos y matrices
 
Arreglos y matrices c++
Arreglos y matrices c++Arreglos y matrices c++
Arreglos y matrices c++
 
Tutorial de matrices c#
Tutorial de matrices c#Tutorial de matrices c#
Tutorial de matrices c#
 
Tutorial de matrices c#
Tutorial de matrices c#Tutorial de matrices c#
Tutorial de matrices c#
 
Xxxxxxxxxxxxxx
XxxxxxxxxxxxxxXxxxxxxxxxxxxx
Xxxxxxxxxxxxxx
 
Tema 5 - Estructuras de datos.pdf
Tema 5 - Estructuras de datos.pdfTema 5 - Estructuras de datos.pdf
Tema 5 - Estructuras de datos.pdf
 
Arreglos y matrices
Arreglos y matricesArreglos y matrices
Arreglos y matrices
 
Programacion fantasticos
Programacion  fantasticosProgramacion  fantasticos
Programacion fantasticos
 
Modulo3
Modulo3Modulo3
Modulo3
 
Programacion
ProgramacionProgramacion
Programacion
 
Programacion
ProgramacionProgramacion
Programacion
 
Capitulo4 arreglos
Capitulo4 arreglosCapitulo4 arreglos
Capitulo4 arreglos
 
Estructura de Datos: Arreglos
Estructura de Datos: Arreglos Estructura de Datos: Arreglos
Estructura de Datos: Arreglos
 
VectoresMatricesI.ppt
VectoresMatricesI.pptVectoresMatricesI.ppt
VectoresMatricesI.ppt
 
VectoresMatricesI.ppt
VectoresMatricesI.pptVectoresMatricesI.ppt
VectoresMatricesI.ppt
 
Arreglos java
Arreglos javaArreglos java
Arreglos java
 
Computacion ii cap i
Computacion ii cap iComputacion ii cap i
Computacion ii cap i
 
computacion
computacioncomputacion
computacion
 

Más de José Antonio Sandoval Acosta

Ing. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujoIng. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujoJosé Antonio Sandoval Acosta
 
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacionIng. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacionJosé Antonio Sandoval Acosta
 
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmosIng. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmosJosé Antonio Sandoval Acosta
 

Más de José Antonio Sandoval Acosta (20)

Linea del tiempo de la inteligencia artificial.pptx
Linea del tiempo de la inteligencia artificial.pptxLinea del tiempo de la inteligencia artificial.pptx
Linea del tiempo de la inteligencia artificial.pptx
 
UNIDAD 2 CLASIFICACION DE LOS MATERIALES.pptx
UNIDAD 2 CLASIFICACION DE LOS  MATERIALES.pptxUNIDAD 2 CLASIFICACION DE LOS  MATERIALES.pptx
UNIDAD 2 CLASIFICACION DE LOS MATERIALES.pptx
 
croquis de aulas UAIM topolobampo FEB 2024
croquis de aulas UAIM topolobampo  FEB 2024croquis de aulas UAIM topolobampo  FEB 2024
croquis de aulas UAIM topolobampo FEB 2024
 
Ing. Mecatronica Prog. Básica, U5 Módulos
Ing. Mecatronica Prog. Básica, U5 MódulosIng. Mecatronica Prog. Básica, U5 Módulos
Ing. Mecatronica Prog. Básica, U5 Módulos
 
Ing. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujoIng. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujo
 
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacionIng. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
 
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmosIng. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
 
Manual de prácticas y antología para POO
Manual de prácticas y antología para  POOManual de prácticas y antología para  POO
Manual de prácticas y antología para POO
 
Aplicaciones móviles intro.
Aplicaciones móviles intro.Aplicaciones móviles intro.
Aplicaciones móviles intro.
 
Economia
EconomiaEconomia
Economia
 
ISCA-quimica-Equipo 2.pptx
ISCA-quimica-Equipo 2.pptxISCA-quimica-Equipo 2.pptx
ISCA-quimica-Equipo 2.pptx
 
Plantilla presentación.pptx
Plantilla presentación.pptxPlantilla presentación.pptx
Plantilla presentación.pptx
 
kitchenham.pptx
kitchenham.pptxkitchenham.pptx
kitchenham.pptx
 
Diagrama de Casos de Uso UML
Diagrama de Casos de Uso UMLDiagrama de Casos de Uso UML
Diagrama de Casos de Uso UML
 
Introducción al Diagrama de Clases UML
Introducción al Diagrama de Clases UMLIntroducción al Diagrama de Clases UML
Introducción al Diagrama de Clases UML
 
Diagrama de clases UML
Diagrama de clases UMLDiagrama de clases UML
Diagrama de clases UML
 
Diagrama UML Casos de Uso
Diagrama UML Casos de UsoDiagrama UML Casos de Uso
Diagrama UML Casos de Uso
 
Tema 3 - Comandos básicos.pdf
Tema 3 - Comandos básicos.pdfTema 3 - Comandos básicos.pdf
Tema 3 - Comandos básicos.pdf
 
Tema 1 - Intro.pdf
Tema 1 - Intro.pdfTema 1 - Intro.pdf
Tema 1 - Intro.pdf
 
Receta de albóndigas de res
Receta de albóndigas de resReceta de albóndigas de res
Receta de albóndigas de res
 

Último

Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaProyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaXjoseantonio01jossed
 
Linealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdfLinealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdfrolandolazartep
 
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALCHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALKATHIAMILAGRITOSSANC
 
Exposicion. del documentos de YPFB corporación
Exposicion. del documentos de YPFB corporaciónExposicion. del documentos de YPFB corporación
Exposicion. del documentos de YPFB corporaciónjas021085
 
Fisiología del Potasio en Plantas p .pdf
Fisiología del Potasio en Plantas p .pdfFisiología del Potasio en Plantas p .pdf
Fisiología del Potasio en Plantas p .pdfJessLeonelVargasJimn
 
Uso y Manejo de Extintores Lucha contra incendios
Uso y Manejo de Extintores Lucha contra incendiosUso y Manejo de Extintores Lucha contra incendios
Uso y Manejo de Extintores Lucha contra incendioseduardochavezg1
 
3039_ftg_01Entregable 003_Matematica.pptx
3039_ftg_01Entregable 003_Matematica.pptx3039_ftg_01Entregable 003_Matematica.pptx
3039_ftg_01Entregable 003_Matematica.pptxJhordanGonzalo
 
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfTAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfAntonioGonzalezIzqui
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxEduardoSnchezHernnde5
 
PRESENTACION DE CLASE. Factor de potencia
PRESENTACION DE CLASE. Factor de potenciaPRESENTACION DE CLASE. Factor de potencia
PRESENTACION DE CLASE. Factor de potenciazacariasd49
 
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxAMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxLuisvila35
 
Edificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCEdificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCANDECE
 
Manual de Usuario Estacion total Sokkia SERIE SET10K.pdf
Manual de Usuario Estacion total Sokkia SERIE SET10K.pdfManual de Usuario Estacion total Sokkia SERIE SET10K.pdf
Manual de Usuario Estacion total Sokkia SERIE SET10K.pdfSandXmovex
 
PPT ASISTENCIA TECNICA PRESENTACIÓN FT- ET.pdf
PPT ASISTENCIA TECNICA PRESENTACIÓN FT- ET.pdfPPT ASISTENCIA TECNICA PRESENTACIÓN FT- ET.pdf
PPT ASISTENCIA TECNICA PRESENTACIÓN FT- ET.pdfZamiertCruzSuyo
 
LEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdf
LEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdfLEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdf
LEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdfAdelaHerrera9
 
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdfCENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdfpaola110264
 
Propositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicacionesPropositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicaciones025ca20
 
Topografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasTopografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasSegundo Silva Maguiña
 
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdfCAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdfReneBellido1
 
Conservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de AlmeríaConservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de AlmeríaANDECE
 

Último (20)

Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaProyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
 
Linealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdfLinealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdf
 
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALCHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
 
Exposicion. del documentos de YPFB corporación
Exposicion. del documentos de YPFB corporaciónExposicion. del documentos de YPFB corporación
Exposicion. del documentos de YPFB corporación
 
Fisiología del Potasio en Plantas p .pdf
Fisiología del Potasio en Plantas p .pdfFisiología del Potasio en Plantas p .pdf
Fisiología del Potasio en Plantas p .pdf
 
Uso y Manejo de Extintores Lucha contra incendios
Uso y Manejo de Extintores Lucha contra incendiosUso y Manejo de Extintores Lucha contra incendios
Uso y Manejo de Extintores Lucha contra incendios
 
3039_ftg_01Entregable 003_Matematica.pptx
3039_ftg_01Entregable 003_Matematica.pptx3039_ftg_01Entregable 003_Matematica.pptx
3039_ftg_01Entregable 003_Matematica.pptx
 
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfTAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptx
 
PRESENTACION DE CLASE. Factor de potencia
PRESENTACION DE CLASE. Factor de potenciaPRESENTACION DE CLASE. Factor de potencia
PRESENTACION DE CLASE. Factor de potencia
 
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxAMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
 
Edificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCEdificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRC
 
Manual de Usuario Estacion total Sokkia SERIE SET10K.pdf
Manual de Usuario Estacion total Sokkia SERIE SET10K.pdfManual de Usuario Estacion total Sokkia SERIE SET10K.pdf
Manual de Usuario Estacion total Sokkia SERIE SET10K.pdf
 
PPT ASISTENCIA TECNICA PRESENTACIÓN FT- ET.pdf
PPT ASISTENCIA TECNICA PRESENTACIÓN FT- ET.pdfPPT ASISTENCIA TECNICA PRESENTACIÓN FT- ET.pdf
PPT ASISTENCIA TECNICA PRESENTACIÓN FT- ET.pdf
 
LEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdf
LEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdfLEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdf
LEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdf
 
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdfCENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
 
Propositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicacionesPropositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicaciones
 
Topografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasTopografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la Ingenierías
 
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdfCAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
CAP4-TEORIA EVALUACION DE CAUDALES - HIDROGRAMAS.pdf
 
Conservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de AlmeríaConservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de Almería
 

Arreglos y Matrices en C

  • 1. Ingeniería en Sistemas Computacionales Fundamentos de Programación Unidad V: Arreglos (Vectores) Este material de clase fue desarrollado para la asignatura Fundamentos de Programación clave SCD-1008, de la carrera de Ing. En Sistemas Computacionales, plan 2010.
  • 2. FUNDAMENTOS DE PROGRAMACION Competencia: • Construir programas que utilicen arreglos unidimensionales y multidimensionales para solucionar problemas.
  • 3. Arreglos • En clase ya conocimos algunos tipos básicos como por ejemplo los tipos char, int y float. El lenguaje C++ permite, además, construir estructuras más complejas a partir de estos tipos básicos. Una de las construcciones que podemos definir son los arreglos. • Arreglo: Colección ordenada de elementos de un mismo tipo. Ordenada significa que cada elemento tiene una ubicación determinada dentro del arreglo y debemos conocerla para poder accederlo. FUNDAMENTOS DE PROGRAMACIÓN
  • 4. Sintaxis: tipo nombre_variable[longitud]; Ejemplo: int matricula[20]; • Con esto diremos que nombre_variable es un arreglo de longitud elementos del tipo necesitado. Cabe destacar que longitud debe ser cualquier expresión entera constante mayor que cero. FUNDAMENTOS DE PROGRAMACIÓN
  • 6. Asignación de un arreglo: nombre_variable[índice] = valor o expresión del tipo requerido; Ejemplos: calificaciones[9]=(cal1+cal2+cal3)/3; calificaciones[7]=95; • El índice debe ser una expresión del tipo entero en el rango [0, longitud-1]. • Cabe destacar que C++ no revisa que el valor de la expresión sea menor a longitud, simplemente asigna el valor a esa posición de memoria como si formara parte del arreglo. FUNDAMENTOS DE PROGRAMACIÓN
  • 7. Acceso al contenido de un arreglo: • nombre_variable[índice]; es valor del tipo requerido que puede ser asignado a una variable, o pasado como parámetro, imprimirlo, etc. • Aquí también vale la aclaración de que el índice debe estar dentro del rango de definición del arreglo, C++ no revisará que esto sea cierto y devolverá lo contenido en la posición de memoria correspondiente a un arreglo de mayor longitud, el dato obtenido de esta manera es basura. FUNDAMENTOS DE PROGRAMACIÓN
  • 8. Ejercicio: Hacer un programa que capture un arreglo de 10 posiciones, una vez lleno pedir por teclado un número y buscar si se encuentra dentro del arreglo indicando la posición del mismo. FUNDAMENTOS DE PROGRAMACIÓN
  • 9. Ejercicio: Hacer un programa que capture la 10 números en un arreglo de igual tamaño y determine la suma total de los mismos y el promedio. FUNDAMENTOS DE PROGRAMACIÓN
  • 10. Ejercicio: Capturar 3 arreglos de 5 posiciones. Después multiplicar el primero por el segundo y al resultado sumarle el tercero, guardar el resultado final en un cuarto arreglo, el cual debe ser desplegado en pantalla. FUNDAMENTOS DE PROGRAMACIÓN
  • 11. Ejercicio: Hacer un programa que con arreglos de 10 posiciones capture lo siguiente: • Matricula de estudiante. • Calificación en una materia con 3 parciales. • Desplegar en pantalla el promedio por alumno • Desplegar en pantalla el promedio del grupo. FUNDAMENTOS DE PROGRAMACIÓN
  • 12. Ejercicio: • Hacer un programa que capture un arreglo de 10 posiciones, y a la vez llene un segundo arreglo con el valor en la posición contraria, es decir, lo capturado en la posición 0 se pasa a la posición 9 del segundo arreglo, etc. FUNDAMENTOS DE PROGRAMACIÓN
  • 13. Ejercicio: • Hacer un programa que capture las infracciones de velocidad en la estación de policía. • Capturar en vectores de 10 posiciones los sig. Datos: Número de licencia, velocidad registrada (k/h), velocidad limite (k/h), multa. • Además indicar la suma total de las multas. FUNDAMENTOS DE PROGRAMACIÓN
  • 14. Matrices • Una matriz es una estructura de datos, o más técnicamente, un espacio de memoria que permite almacenar una colección de elementos, todos del mismo tipo. • La diferencia con los arreglos está en que, en las matrices, los elementos no están organizados linealmente sino que su organización es bidimensional, es decir, en filas y columnas. • Conviene imaginar una matriz como una organización de celdas de memoria, o casillas, en cada una de las cuales se puede guardar un elemento de la colección. FUNDAMENTOS DE PROGRAMACIÓN
  • 15. Además, es usual dibujarla como lo ilustra la figura siguiente: FUNDAMENTOS DE PROGRAMACIÓN • Esta figura representa un matriz de cuatro filas (numeradas verticalmente de 0 a 3) y seis columnas (numeradas horizontalmente de 0 a 5). • En cada una de las 24 celdas o casillas se puede guardar un dato. • La dimensión o tamaño de una matriz es el número filas por el número de columnas. • Debe ser claro entonces que la figura anterior es la gráfica de una matriz de dimensión 4x6.
  • 16. • La numeración de las filas y las columnas determina que cada una de las casillas de una matriz tiene asociados dos números índice que la identifican de manera única. • A estos números se les llama índice de fila e índice de columna, respectivamente. • En el seudocódigo, y también en C y C++, las filas y las columnas se numeran desde 0 y finalizan en n-1. FUNDAMENTOS DE PROGRAMACIÓN
  • 17. Declaración de una matriz en C++: • La sintaxis es casi la misma excepto que hemos añadido un par de corchetes "[ ]" más esta vez y al interior de éstos debemos poner el número de filas y columnas máximas de la matriz, respectivamente. Ejemplo: int myMatriz1[10][5]; float myMatriz2[5][10]; string myMatriz3[15][15]; FUNDAMENTOS DE PROGRAMACIÓN
  • 18. ¿Cómo inicializar una matriz en C++? • En cuanto tenemos declarado una matriz, es posible asignarle valores a cada una de sus casillas, sus valores deben coincidir con el tipo de dato que le asignamos a dicha matriz. Ejemplo: int myMatriz[2][2] = {{1,2}, {3,4}}; FUNDAMENTOS DE PROGRAMACIÓN  El valor inicial corresponde a la fila cero, columna cero [0][0] y tiene el valor de 1;  En la fila cero, columna uno [0][1] tenemos el valor de 2;  En la fila uno, columna cero [1][0] el valor de 3;  Finalmente, en la fila uno, columna uno [1][1] el valor de 4.
  • 19. Otra forma de hacerlo es con ciclos, dentro de los cuales se asigna un valor inicial a cada casilla de la matriz, puede ser un cero en el caso de las matrices numéricas o una cadena vacía para las tipo cadena. Ejemplo: int edades[3][2]; for (int i = 0; i < 3; i++) { // ciclo para filas for (int j = 0; j < 2; j++) { // ciclo para columnas edades[ i ][ j ]=0; } // cierra ciclo de columnas } // cierra ciclo de filas FUNDAMENTOS DE PROGRAMACIÓN
  • 20. Obtener el valor de una casilla específica • Para acceder al valor de una casilla nuevamente haremos uso de los corchetes, pero esta vez no para declarar tamaños (porque eso ya lo hicimos) sino para indicar posiciones (fila y columna). Ejemplo: int myMatriz[2][2] = {{7,2},{1,4}}; //Matriz con 4 elementos int num = myMatriz[0][0]; //Obtiene el valor de la casilla cout << num << endl; //Despliega el valor obtenido que es 7 FUNDAMENTOS DE PROGRAMACIÓN
  • 21. Recorrer una matriz en C++ • Para obtener todos los datos que se encuentran al interior de una matriz, debemos acceder a cada posición, esto se hace fácilmente con dos ciclos for (anidados). • La lógica de este procedimiento es la siguiente:  El primer ciclo for comenzará desde cero e irá hasta el número de filas- 1, la variable de control que generalmente llamamos “i”;  El segundo ciclo for irá de cero al número de columnas-1 y normalmente se usa la variable llamada “j”; FUNDAMENTOS DE PROGRAMACIÓN
  • 22. Ejemplo: int main() { int edades[3][2] = {{1,2},{9,8},{14,21}}; for (int i = 0; i < 3; i++) { // ciclo para filas for (int j = 0; j < 2; j++) { // ciclo para columnas cout << edades[ i ][ j ] << endl; } // cierra ciclo de columnas } // cierra ciclo de filas } // cierra main FUNDAMENTOS DE PROGRAMACIÓN
  • 23. • Ejercicio: Escribir un programa que lea una matriz de 3 filas y 3 columnas de valores enteros. A continuación, el programa debe pedir el número de una fila. El programa deberá devolver el valor máximo de esa fila. FUNDAMENTOS DE PROGRAMACIÓN
  • 24. • Ejercicio: Escribir un programa que lea una matriz de números enteros y que devuelva la suma de los elementos positivos de la matriz y la suma de los elementos negativos. FUNDAMENTOS DE PROGRAMACIÓN
  • 25. • Ejercicio: Escribir un programa que lea un matriz de enteros de 2 filas y 4 columnas y muestre por pantalla la traspuesta a dicha matriz. Ejemplo: FUNDAMENTOS DE PROGRAMACIÓN
  • 26. • Ejercicio: Se dice que una matriz tiene un punto de silla si alguna posición de la matriz es el menor valor de su fila y a la vez el mayor de su columna. Escribir un programa que tenga como entrada una matriz de números enteros y calcule la posición de un punto de silla (si es que existe). FUNDAMENTOS DE PROGRAMACIÓN