SlideShare una empresa de Scribd logo
1 de 23
TecNM - ITS de Guasave
Ingeniería Mecatrónica
Programación Básica
Unidad 4: Arreglos, estructuras y uniones
guasave.tecnm.mx
Temario de la unidad
PROGRAMACIÓN BÁSICA
Competencia de la unidad: Construye 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.
• Definición de 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.
PROGRAMACIÓN BÁSICA
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.
PROGRAMACIÓN BÁSICA
Representación
Gráfica de un Arreglo
PROGRAMACIÓN BÁSICA
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.
PROGRAMACIÓN BÁSICA
Acceso al valor contenido en 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.
PROGRAMACIÓN BÁSICA
Ejercicio:
• Hacer un programa que capture la 20 números en un arreglo de
igual tamaño y determine la suma total de los mismos y su media
aritmética.
PROGRAMACIÓN BÁSICA
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.
PROGRAMACIÓN BÁSICA
Ejercicio:
• Hacer un programa que capture un arreglo de 20 posiciones, una
vez lleno pedir por teclado un número y buscar si se encuentra
dentro del arreglo indicando la posición del mismo.
PROGRAMACIÓN BÁSICA
Ejercicio:
• Hacer un programa que capture un arreglo de 20 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 cero se pasa a la
posición 19 del segundo arreglo, etc.
PROGRAMACIÓN BÁSICA
Matrices o arreglos multidimencionales
• 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.
PROGRAMACIÓN BÁSICA
Además, es usual dibujarla como lo ilustra la figura siguiente:
• 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.
PROGRAMACIÓN BÁSICA
• 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.
PROGRAMACIÓN BÁSICA
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];
PROGRAMACIÓN BÁSICA
¿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}};
• El valor inicial corresponde a la casilla 0,0 (fila cero, columna cero) y tiene
el valor de 1, en la fila cero columna uno tenemos el valor de 2, en la fila
uno columna cero el valor de 3 y finalmente en la fila uno columna uno el
valor de 4
PROGRAMACIÓN BÁSICA
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 myMatriz1[2][2] = {{1,2},{1,1}}; //Matriz con 4 elementos
int num = myMatriz[0][0]; // Obtiene el valor de la primer casilla
cout << num << endl; // despliega el valor obtenido (que es 1)
PROGRAMACIÓN BÁSICA
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”;
PROGRAMACIÓN BÁSICA
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 con su ubicación (x, y).
PROGRAMACIÓN BÁSICA
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.
PROGRAMACIÓN BÁSICA
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:
PROGRAMACIÓN BÁSICA
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
Bibliografía
Cairó, Osvaldo. (2005). Metodología de la Programación. Tercera edición.
AlfaOmega. México, D. F.
PROGRAMACIÓN BÁSICA

Más contenido relacionado

Similar a Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras

Similar a Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras (20)

Aplicación de arreglos bidimensionales
Aplicación de arreglos bidimensionalesAplicación de arreglos bidimensionales
Aplicación de arreglos bidimensionales
 
Arreglos y matrices c++
Arreglos y matrices c++Arreglos y matrices c++
Arreglos y matrices c++
 
Luis Gamboa
Luis  GamboaLuis  Gamboa
Luis Gamboa
 
Arreglos y matrices
Arreglos y matricesArreglos y matrices
Arreglos y matrices
 
Matlab
MatlabMatlab
Matlab
 
Matlab
MatlabMatlab
Matlab
 
Matlab
MatlabMatlab
Matlab
 
Matlab
MatlabMatlab
Matlab
 
Matlab
MatlabMatlab
Matlab
 
Introduccion al lenguaje c_EderHenriquez
Introduccion al lenguaje c_EderHenriquezIntroduccion al lenguaje c_EderHenriquez
Introduccion al lenguaje c_EderHenriquez
 
Computacion ii cap i
Computacion ii cap iComputacion ii cap i
Computacion ii cap i
 
computacion
computacioncomputacion
computacion
 
07 Arrays.pptx
07 Arrays.pptx07 Arrays.pptx
07 Arrays.pptx
 
Introducción a Matlab
Introducción a MatlabIntroducción a Matlab
Introducción a Matlab
 
Matrices
MatricesMatrices
Matrices
 
Curso de introduccion_al_matlab
Curso de introduccion_al_matlabCurso de introduccion_al_matlab
Curso de introduccion_al_matlab
 
Sesion 10 Arreglos Vectores y matrices.pptx
Sesion 10 Arreglos Vectores y matrices.pptxSesion 10 Arreglos Vectores y matrices.pptx
Sesion 10 Arreglos Vectores y matrices.pptx
 
MaTLAB - MN-2DA SESION.pptx
MaTLAB - MN-2DA SESION.pptxMaTLAB - MN-2DA SESION.pptx
MaTLAB - MN-2DA SESION.pptx
 
Unidad 7 Arreglos.pdf
Unidad 7 Arreglos.pdfUnidad 7 Arreglos.pdf
Unidad 7 Arreglos.pdf
 
Trabajo de arreglo
Trabajo de arregloTrabajo de arreglo
Trabajo de arreglo
 

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
 

Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras

  • 1. TecNM - ITS de Guasave Ingeniería Mecatrónica Programación Básica Unidad 4: Arreglos, estructuras y uniones guasave.tecnm.mx
  • 2. Temario de la unidad PROGRAMACIÓN BÁSICA Competencia de la unidad: Construye 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. • Definición de 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. PROGRAMACIÓN BÁSICA
  • 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. PROGRAMACIÓN BÁSICA
  • 5. Representación Gráfica de un Arreglo PROGRAMACIÓN BÁSICA
  • 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. PROGRAMACIÓN BÁSICA
  • 7. Acceso al valor contenido en 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. PROGRAMACIÓN BÁSICA
  • 8. Ejercicio: • Hacer un programa que capture la 20 números en un arreglo de igual tamaño y determine la suma total de los mismos y su media aritmética. PROGRAMACIÓN BÁSICA
  • 9. 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. PROGRAMACIÓN BÁSICA
  • 10. Ejercicio: • Hacer un programa que capture un arreglo de 20 posiciones, una vez lleno pedir por teclado un número y buscar si se encuentra dentro del arreglo indicando la posición del mismo. PROGRAMACIÓN BÁSICA
  • 11. Ejercicio: • Hacer un programa que capture un arreglo de 20 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 cero se pasa a la posición 19 del segundo arreglo, etc. PROGRAMACIÓN BÁSICA
  • 12. Matrices o arreglos multidimencionales • 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. PROGRAMACIÓN BÁSICA
  • 13. Además, es usual dibujarla como lo ilustra la figura siguiente: • 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. PROGRAMACIÓN BÁSICA
  • 14. • 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. PROGRAMACIÓN BÁSICA
  • 15. 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]; PROGRAMACIÓN BÁSICA
  • 16. ¿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}}; • El valor inicial corresponde a la casilla 0,0 (fila cero, columna cero) y tiene el valor de 1, en la fila cero columna uno tenemos el valor de 2, en la fila uno columna cero el valor de 3 y finalmente en la fila uno columna uno el valor de 4 PROGRAMACIÓN BÁSICA
  • 17. 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 myMatriz1[2][2] = {{1,2},{1,1}}; //Matriz con 4 elementos int num = myMatriz[0][0]; // Obtiene el valor de la primer casilla cout << num << endl; // despliega el valor obtenido (que es 1) PROGRAMACIÓN BÁSICA
  • 18. 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”; PROGRAMACIÓN BÁSICA
  • 19. 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 con su ubicación (x, y). PROGRAMACIÓN BÁSICA
  • 20. 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. PROGRAMACIÓN BÁSICA
  • 21. 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: PROGRAMACIÓN BÁSICA
  • 22. 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
  • 23. Bibliografía Cairó, Osvaldo. (2005). Metodología de la Programación. Tercera edición. AlfaOmega. México, D. F. PROGRAMACIÓN BÁSICA