SlideShare une entreprise Scribd logo
1  sur  26
Télécharger pour lire hors ligne
Programación 1
Estructuras de datos en C
Angel Vázquez-Patiño
angel.vazquezp@ucuenca.edu.ec
Departamento de Ciencias de la Computación
Universidad de Cuenca
12 de septiembre de 2017
12/09/17 Angel Vázquez-Patiño 2/26
Objetivos
1. Entender el uso de arreglos
2. Realizar operaciones de acceso de elementos
3. Implementar programas usando arreglos
12/09/17 Angel Vázquez-Patiño 3/26
Contenido
Arreglos unidimensionales
Arreglos bidimensionales (matrices)
12/09/17 Angel Vázquez-Patiño 4/26
Arreglos unidimensionales
12/09/17 Angel Vázquez-Patiño 5/26
Arreglos unidimensionales
Arreglo
●
Espacio de memoria que permite almacenar
una colección de elementos, todos del mismo
tipo
12/09/17 Angel Vázquez-Patiño 6/26
Arreglos unidimensionales
●
Dimensión: número de elementos en el arreglo
●
Índice: número que identifica de manera única
a cada elemento del arreglo con un número
●
En C, C++ o Java el índice comienza en cero
12/09/17 Angel Vázquez-Patiño 7/26
Arreglos unidimensionales
●
Los lenguajes de programación permiten la
declaración de arreglos de cualquier tipo y
prácticamente de cualquier tamaño
Declaración
tipo nombre[dimensión];
●
Se debe usar un nombre nemotécnico
Referencia
●
Tanto para asignar un valor o para obtener un
elemento, se usa el índice
¿ ?
12/09/17 Angel Vázquez-Patiño 8/26
Arreglos unidimensionales
#include<stdio.h>
int main(){
char vocales[5];
vocales[0] = 'a';
vocales[1] = 'e';
for(int i=0; i<5; i++)
printf("%cn", vocales[i]);
}
12/09/17 Angel Vázquez-Patiño 9/26
Arreglos unidimensionales
Ejercicios
1) Cree un arreglo de cinco elementos, asígnele
valores numéricos enteros manualmente y
muéstrelos en pantalla
2) Cree un arreglo de 10 elementos, inserte los
valores numéricos con decimales que desee de
la manera que quiera y muestre en pantalla la
media de todos los valores
3) Cree un arreglo con el abecedario con el
mínimo número de líneas de programación
12/09/17 Angel Vázquez-Patiño 10/26
Arreglos unidimensionales
Ejercicios
4) Cree un arreglo donde usted indique la
dimensión por teclado y cree una función que
rellene el arreglo con los múltiplos de un
número pedido por teclado. E.g., si definió un
arreglo de 5 elementos y eligió un 3 en la
función, el arreglo contendrá 3, 6, 9, 12, 15.
Finalmente, muéstrelos en pantalla usando otra
función distinta
12/09/17 Angel Vázquez-Patiño 11/26
Arreglos unidimensionales
Ejercicios
5) Un histograma para una colección de datos es
una secuencia de parejas de la forma (d, f),
donde d es un dato y f es su frecuencia en la
colección. E.g., suponga que se le pide a 10
personas calificar con las letras a, b, c, d o e el
desempeño del gobierno actual, y que se
obtienen las siguientes respuestas: c, b, c, d, e,
a, b, b, d, c. Implemente una función que haga
un histograma para una lista de hasta 100
valores, donde cada valor está en el intervalo a-e
12/09/17 Angel Vázquez-Patiño 12/26
Arreglos unidimensionales
Ejercicios
6) Implemente una función que califique un examen
de selección múltiple. En cada una de las
preguntas del examen se debió elegir una de cinco
opciones: A, B, C, D y E. Los parámetros:
●
Cada una de las respuestas dadas por el estudiante
●
Las respuestas correctas
La función devuelve la nota obtenida. Esta nota
corresponde al número de aciertos que tuvo el
estudiante
12/09/17 Angel Vázquez-Patiño 13/26
Arreglos unidimensionales
Ejercicios
7) Implemente un algoritmo que lea un arreglo de
números enteros y un número x, y escriba en la
pantalla las posiciones del arreglo donde está
x. Por ejemplo, si el arreglo tiene los números
1, 2, 3, 100, 23, 2, 2 y 1 y x es 2, el programa
debe escribir: 1, 5 y 6
12/09/17 Angel Vázquez-Patiño 14/26
Arreglos unidimensionales
Otra forma de declarar un arreglo en C
#include<stdio.h>
int main(){
char vocales[] = {'a', 'e',
'i', 'o', 'u'};
for(int i=0; i<5; i++)
printf("%cn", vocales[i]);}
12/09/17 Angel Vázquez-Patiño 15/26
1#include<stdio.h>
2int main(){
3 int edad[] = {45, 23, 11, 9};
4 double estatura[] = {1.73, 1.67,
1.56};
5 char sexo[] = {'m', 'f', 'f'};
6 _Bool visitar[] = {0, 1, 0};
7 for(int i=0; i<3; i++)
8 printf("Edad: %dt Estatura:
%ft Sexo: %ct Visitar: %dn",
edad[i], estatura[i], sexo[i],
visitar[i]);}
12/09/17 Angel Vázquez-Patiño 16/26
Arreglos unidimensionales
Conocer el número de elementos de un arreglo
1#include<stdio.h>
2int main(){
3 int edad[] = {23,15,46,78};
4 size_t nEle =
sizeof(edad)/sizeof(edad[0]);
5 printf("%zu", nEle);
6}
12/09/17 Angel Vázquez-Patiño 17/26
Arreglos bidimensionales (matrices)
12/09/17 Angel Vázquez-Patiño 18/26
Matrices
●
Conjunto de filas y columnas que contienen
elementos de un mismo tipo datos
(0, 0) (0, 1) (0, 2) (0, 3)
(1, 0) (1, 1) (1, 2) (1, 3)
(2, 0) (2, 1) (2, 2) (2, 3)
Columnas
Filas
12/09/17 Angel Vázquez-Patiño 19/26
Matrices
Declaración
tipo nombre[#Filas][#Columnas];
●
Se debe usar un nombre nemotécnico
Referencia
●
Tanto para asignar un valor o para obtener un
elemento, se usa el índice de la fila y de la
columna:
arreglo[#Fila][#Columna]
12/09/17 Angel Vázquez-Patiño 20/26
1#include<stdio.h>
2int main(){
3 int notas[4][3];
4 notas[0][0] = 7;
5 notas[2][1] = 3;
6 for(int i=0; i<4; i++){
7 for(int j=0; j<3; j++)
8 printf("%dt", notas[i][j]);
9 printf("n");
10 } }
12/09/17 Angel Vázquez-Patiño 21/26
Matrices
Ejercicio
Dada una matriz de n filas y m columnas:
1)Encontrar los elementos de la diagonal principal
2)Multiplicar los elementos de la diagonal principal por un
escalar
3)Indicar si es nula (todos los elementos son ceros)
4)Indicar si es triangular superior (todos los elementos por
debajo de la diagonal principal son nulos) o inferior (son
nulos todos los elementos situados por encima de dicha
diagonal)
5)Indicar si es diagonal (si es a la vez triangular superior e
inferior, sólo tienen elementos en la diagonal principal)
12/09/17 Angel Vázquez-Patiño 22/26
Matrices
Conocer el número de filas y columnas de una matriz
1#include<stdio.h>
2int main(){
3 int m[4][3];
4 int f=(sizeof(m)/sizeof(m[0]));
5 int c=(sizeof(m)/sizeof(m[0]
[0]))/f;
6 printf("F: %dt C: %d", f, c);}
12/09/17 Angel Vázquez-Patiño 23/26
Conceptos y términos importantes
12/09/17 Angel Vázquez-Patiño 24/26
Conceptos y términos importantes
●
Conocer el número de elementos de un arreglo
unidimensional
●
Conocer el número de elementos de un arreglo
bidimensional
●
Recorrer arreglos
●
Asignación y obtención de datos de un arreglo
12/09/17 Angel Vázquez-Patiño 25/26
Referencia
●
Gustedt, J., 2017. Modern C. France.
Revisar
●
Fernando Ureña Gómez, Ejercicios propuestos
y resueltos arreglos o arrays en pseudocódigo
http://goo.gl/8Jlck0
●
Vázquez-Patiño, A., 2017. Ejercicios Básicos
de Programación, 1st ed. Departamento de
Ciencias de la Computación, Universidad de
Cuenca, Cuenca, Ecuador.
https://goo.gl/X0UTxi
12/09/17 Angel Vázquez-Patiño 26/26
Preguntas

Contenu connexe

Tendances

1.5. parametros agrupados
1.5.  parametros agrupados1.5.  parametros agrupados
1.5. parametros agrupadosITCM
 
Lista de raptor sus comandos y su función
Lista de raptor sus comandos y su funciónLista de raptor sus comandos y su función
Lista de raptor sus comandos y su funciónAna Ruth G H
 
Ejemplos de algoritmos con estructuras repetitivas
Ejemplos de algoritmos con estructuras repetitivasEjemplos de algoritmos con estructuras repetitivas
Ejemplos de algoritmos con estructuras repetitivasJunior Solano de Arco
 
Arreglos Bidimensionales - Java - NetBeans
Arreglos Bidimensionales - Java - NetBeansArreglos Bidimensionales - Java - NetBeans
Arreglos Bidimensionales - Java - NetBeansDaniel Gómez
 
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
 
21 problemas de algoritmo resueltos
21 problemas de algoritmo resueltos21 problemas de algoritmo resueltos
21 problemas de algoritmo resueltosRoldan El Gato
 
Polimorfismo resumen
Polimorfismo resumenPolimorfismo resumen
Polimorfismo resumenwouyrmz
 
Memoria Estatica
Memoria EstaticaMemoria Estatica
Memoria EstaticaJ M
 
EJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOSEJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOS1002pc3
 
Ejercicio 2 diagrama de flujo
Ejercicio 2 diagrama de flujoEjercicio 2 diagrama de flujo
Ejercicio 2 diagrama de flujolisvancelis
 
Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)Juan Astudillo
 
Ejemplos Para Dev C++
Ejemplos Para Dev C++Ejemplos Para Dev C++
Ejemplos Para Dev C++cemayoral
 
Memoria dinamica
Memoria dinamicaMemoria dinamica
Memoria dinamicagusolis93
 
Algoritmos 50 ejemplos (1)
Algoritmos 50 ejemplos (1)Algoritmos 50 ejemplos (1)
Algoritmos 50 ejemplos (1)Andres Rivero
 
Programación modular en Introducción a la Programación
Programación modular en Introducción a la ProgramaciónProgramación modular en Introducción a la Programación
Programación modular en Introducción a la ProgramaciónFacultad de Ciencias y Sistemas
 

Tendances (20)

1.5. parametros agrupados
1.5.  parametros agrupados1.5.  parametros agrupados
1.5. parametros agrupados
 
Aplicaciones de los árboles y grafos
Aplicaciones de los árboles y grafosAplicaciones de los árboles y grafos
Aplicaciones de los árboles y grafos
 
Lista de raptor sus comandos y su función
Lista de raptor sus comandos y su funciónLista de raptor sus comandos y su función
Lista de raptor sus comandos y su función
 
Programación 3: colas
Programación 3: colasProgramación 3: colas
Programación 3: colas
 
Pruebas de escritorio
Pruebas de escritorioPruebas de escritorio
Pruebas de escritorio
 
Ejemplos de algoritmos con estructuras repetitivas
Ejemplos de algoritmos con estructuras repetitivasEjemplos de algoritmos con estructuras repetitivas
Ejemplos de algoritmos con estructuras repetitivas
 
Arreglos Bidimensionales - Java - NetBeans
Arreglos Bidimensionales - Java - NetBeansArreglos Bidimensionales - Java - NetBeans
Arreglos Bidimensionales - Java - NetBeans
 
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++
 
21 problemas de algoritmo resueltos
21 problemas de algoritmo resueltos21 problemas de algoritmo resueltos
21 problemas de algoritmo resueltos
 
Polimorfismo resumen
Polimorfismo resumenPolimorfismo resumen
Polimorfismo resumen
 
Tipos de Datos Abstractos (TDA)
Tipos de Datos Abstractos (TDA)Tipos de Datos Abstractos (TDA)
Tipos de Datos Abstractos (TDA)
 
Memoria Estatica
Memoria EstaticaMemoria Estatica
Memoria Estatica
 
EJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOSEJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOS
 
Ejercicio 2 diagrama de flujo
Ejercicio 2 diagrama de flujoEjercicio 2 diagrama de flujo
Ejercicio 2 diagrama de flujo
 
Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)
 
Ejemplos Para Dev C++
Ejemplos Para Dev C++Ejemplos Para Dev C++
Ejemplos Para Dev C++
 
Memoria dinamica
Memoria dinamicaMemoria dinamica
Memoria dinamica
 
Algoritmos 50 ejemplos (1)
Algoritmos 50 ejemplos (1)Algoritmos 50 ejemplos (1)
Algoritmos 50 ejemplos (1)
 
Programación 1: funciones en C
Programación 1: funciones en CProgramación 1: funciones en C
Programación 1: funciones en C
 
Programación modular en Introducción a la Programación
Programación modular en Introducción a la ProgramaciónProgramación modular en Introducción a la Programación
Programación modular en Introducción a la Programación
 

En vedette

En vedette (7)

Programación 1: introducción a C
Programación 1: introducción a CProgramación 1: introducción a C
Programación 1: introducción a C
 
Machine learning: presentación
Machine learning: presentaciónMachine learning: presentación
Machine learning: presentación
 
Teoría de redes: presentación
Teoría de redes: presentaciónTeoría de redes: presentación
Teoría de redes: presentación
 
Programación 1: algoritmos
Programación 1: algoritmosProgramación 1: algoritmos
Programación 1: algoritmos
 
Programación 1: estructuras de control
Programación 1: estructuras de controlProgramación 1: estructuras de control
Programación 1: estructuras de control
 
Programación 1: tipos básicos de datos en C
Programación 1: tipos básicos de datos en CProgramación 1: tipos básicos de datos en C
Programación 1: tipos básicos de datos en C
 
Programación 1: cadenas en C
Programación 1: cadenas en CProgramación 1: cadenas en C
Programación 1: cadenas en C
 

Similaire à Programación 1: arreglos en C

Similaire à Programación 1: arreglos en C (20)

Practica 9 Laboratorio de Computación para Ingenieros FI
Practica 9 Laboratorio de Computación para Ingenieros FIPractica 9 Laboratorio de Computación para Ingenieros FI
Practica 9 Laboratorio de Computación para Ingenieros FI
 
arreglos y matrices
arreglos  y matricesarreglos  y matrices
arreglos y matrices
 
Pres arreglosmat animacion
Pres arreglosmat animacionPres arreglosmat animacion
Pres arreglosmat animacion
 
Programación 1: estructuras de datos
Programación 1: estructuras de datosProgramación 1: estructuras de datos
Programación 1: estructuras de datos
 
Transparencias8
Transparencias8Transparencias8
Transparencias8
 
Tema 5 - Estructuras de datos.pdf
Tema 5 - Estructuras de datos.pdfTema 5 - Estructuras de datos.pdf
Tema 5 - Estructuras de datos.pdf
 
07 Arrays.pptx
07 Arrays.pptx07 Arrays.pptx
07 Arrays.pptx
 
Arreglos y matrices
Arreglos y matricesArreglos y matrices
Arreglos y matrices
 
Arreglos en C
Arreglos en CArreglos en C
Arreglos en C
 
Arreglos
ArreglosArreglos
Arreglos
 
7. operadores y estructura secuencial
7. operadores y estructura secuencial7. operadores y estructura secuencial
7. operadores y estructura secuencial
 
Arreglos
ArreglosArreglos
Arreglos
 
Arreglos en PSeInt
Arreglos en PSeIntArreglos en PSeInt
Arreglos en PSeInt
 
Modulo3
Modulo3Modulo3
Modulo3
 
Programacion
ProgramacionProgramacion
Programacion
 
Programacion
ProgramacionProgramacion
Programacion
 
7.arreglos en java
7.arreglos en  java7.arreglos en  java
7.arreglos en java
 
Revista digital
Revista digitalRevista digital
Revista digital
 
Informe de proyecto final
Informe de proyecto finalInforme de proyecto final
Informe de proyecto final
 
Ejercicios introduccion a la programación en C
Ejercicios  introduccion a la programación en CEjercicios  introduccion a la programación en C
Ejercicios introduccion a la programación en C
 

Plus de Angel Vázquez Patiño

Valores extremos y comportamiento de las funciones y de sus gráficas
Valores extremos y comportamiento de las funciones y de sus gráficasValores extremos y comportamiento de las funciones y de sus gráficas
Valores extremos y comportamiento de las funciones y de sus gráficasAngel Vázquez Patiño
 
Causality and climate networks approaches for evaluating climate models, trac...
Causality and climate networks approaches for evaluating climate models, trac...Causality and climate networks approaches for evaluating climate models, trac...
Causality and climate networks approaches for evaluating climate models, trac...Angel Vázquez Patiño
 
Diferencias finitas y Ecuación de calor
Diferencias finitas y Ecuación de calorDiferencias finitas y Ecuación de calor
Diferencias finitas y Ecuación de calorAngel Vázquez Patiño
 
Puntos ordinarios y singularidades de una EDO lineal
Puntos ordinarios y singularidades de una EDO linealPuntos ordinarios y singularidades de una EDO lineal
Puntos ordinarios y singularidades de una EDO linealAngel Vázquez Patiño
 
Métodos de resolución de EDOs mediante series
Métodos de resolución de EDOs mediante seriesMétodos de resolución de EDOs mediante series
Métodos de resolución de EDOs mediante seriesAngel Vázquez Patiño
 
Solución en series de EDOs no lineales de orden mayor a uno y de un sistema d...
Solución en series de EDOs no lineales de orden mayor a uno y de un sistema d...Solución en series de EDOs no lineales de orden mayor a uno y de un sistema d...
Solución en series de EDOs no lineales de orden mayor a uno y de un sistema d...Angel Vázquez Patiño
 
Problemas que originan sistemas de ecuaciones
Problemas que originan sistemas de ecuacionesProblemas que originan sistemas de ecuaciones
Problemas que originan sistemas de ecuacionesAngel Vázquez Patiño
 
Linealización de sistemas de primer orden
Linealización de sistemas de primer ordenLinealización de sistemas de primer orden
Linealización de sistemas de primer ordenAngel Vázquez Patiño
 
Fundamentos de Computación y Programación
Fundamentos de Computación y ProgramaciónFundamentos de Computación y Programación
Fundamentos de Computación y ProgramaciónAngel Vázquez Patiño
 
Causality Strength Signatures for Measuring GCMs Performance: The South Ameri...
Causality Strength Signatures for Measuring GCMs Performance: The South Ameri...Causality Strength Signatures for Measuring GCMs Performance: The South Ameri...
Causality Strength Signatures for Measuring GCMs Performance: The South Ameri...Angel Vázquez Patiño
 

Plus de Angel Vázquez Patiño (20)

Funciones, límites y continuidad
Funciones, límites y continuidadFunciones, límites y continuidad
Funciones, límites y continuidad
 
Integral definida e integración
Integral definida e integraciónIntegral definida e integración
Integral definida e integración
 
Valores extremos y comportamiento de las funciones y de sus gráficas
Valores extremos y comportamiento de las funciones y de sus gráficasValores extremos y comportamiento de las funciones y de sus gráficas
Valores extremos y comportamiento de las funciones y de sus gráficas
 
Derivada y diferenciación
Derivada y diferenciaciónDerivada y diferenciación
Derivada y diferenciación
 
Causality and climate networks approaches for evaluating climate models, trac...
Causality and climate networks approaches for evaluating climate models, trac...Causality and climate networks approaches for evaluating climate models, trac...
Causality and climate networks approaches for evaluating climate models, trac...
 
Diferencias finitas y Ecuación de calor
Diferencias finitas y Ecuación de calorDiferencias finitas y Ecuación de calor
Diferencias finitas y Ecuación de calor
 
Puntos ordinarios y singularidades de una EDO lineal
Puntos ordinarios y singularidades de una EDO linealPuntos ordinarios y singularidades de una EDO lineal
Puntos ordinarios y singularidades de una EDO lineal
 
La ecuación diferencial de Legendre
La ecuación diferencial de LegendreLa ecuación diferencial de Legendre
La ecuación diferencial de Legendre
 
Solución en series de y' = f(x,y)
Solución en series de y' = f(x,y)Solución en series de y' = f(x,y)
Solución en series de y' = f(x,y)
 
Métodos de resolución de EDOs mediante series
Métodos de resolución de EDOs mediante seriesMétodos de resolución de EDOs mediante series
Métodos de resolución de EDOs mediante series
 
Solución en series de EDOs no lineales de orden mayor a uno y de un sistema d...
Solución en series de EDOs no lineales de orden mayor a uno y de un sistema d...Solución en series de EDOs no lineales de orden mayor a uno y de un sistema d...
Solución en series de EDOs no lineales de orden mayor a uno y de un sistema d...
 
Problemas que originan sistemas de ecuaciones
Problemas que originan sistemas de ecuacionesProblemas que originan sistemas de ecuaciones
Problemas que originan sistemas de ecuaciones
 
Linealización de sistemas de primer orden
Linealización de sistemas de primer ordenLinealización de sistemas de primer orden
Linealización de sistemas de primer orden
 
Sistemas de EDOs
Sistemas de EDOsSistemas de EDOs
Sistemas de EDOs
 
Método de la secante
Método de la secanteMétodo de la secante
Método de la secante
 
Iteraciones de punto fijo
Iteraciones de punto fijoIteraciones de punto fijo
Iteraciones de punto fijo
 
Objetos y variables en Python
Objetos y variables en PythonObjetos y variables en Python
Objetos y variables en Python
 
Definiciones de Error
Definiciones de ErrorDefiniciones de Error
Definiciones de Error
 
Fundamentos de Computación y Programación
Fundamentos de Computación y ProgramaciónFundamentos de Computación y Programación
Fundamentos de Computación y Programación
 
Causality Strength Signatures for Measuring GCMs Performance: The South Ameri...
Causality Strength Signatures for Measuring GCMs Performance: The South Ameri...Causality Strength Signatures for Measuring GCMs Performance: The South Ameri...
Causality Strength Signatures for Measuring GCMs Performance: The South Ameri...
 

Dernier

PERFORACIÓN Y VOLADURA EN MINERÍA APLICADO
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADOPERFORACIÓN Y VOLADURA EN MINERÍA APLICADO
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADOFritz Rebaza Latoche
 
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfLA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfbcondort
 
Practica PLC MIcrologix 1400 con pantalla HMI y servomotor
Practica PLC MIcrologix 1400 con pantalla HMI y servomotorPractica PLC MIcrologix 1400 con pantalla HMI y servomotor
Practica PLC MIcrologix 1400 con pantalla HMI y servomotorkavowog624
 
CALCULO DE ENGRANAJES RECTOS SB-2024.pptx
CALCULO DE ENGRANAJES RECTOS SB-2024.pptxCALCULO DE ENGRANAJES RECTOS SB-2024.pptx
CALCULO DE ENGRANAJES RECTOS SB-2024.pptxCarlosGabriel96
 
CLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptxCLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptxbingoscarlet
 
JM HIDROGENO VERDE- OXI-HIDROGENO en calderas - julio 17 del 2023.pdf
JM HIDROGENO VERDE- OXI-HIDROGENO en calderas - julio 17 del 2023.pdfJM HIDROGENO VERDE- OXI-HIDROGENO en calderas - julio 17 del 2023.pdf
JM HIDROGENO VERDE- OXI-HIDROGENO en calderas - julio 17 del 2023.pdfMiguelArango21
 
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICA
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICAINTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICA
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICAJOSLUISCALLATAENRIQU
 
Quimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdfQuimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdfs7yl3dr4g0n01
 
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZgustavoiashalom
 
Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der RoheAportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der RoheElisaLen4
 
nomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestacionesnomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestacionesCarlosMeraz16
 
libro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacioneslibro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacionesRamon Bartolozzi
 
Six Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo processSix Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo processbarom
 
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023RonaldoPaucarMontes
 
MANTENIBILIDAD Y CONFIABILIDAD DE LOS SISTEMAS MECANICOS
MANTENIBILIDAD Y CONFIABILIDAD DE LOS SISTEMAS MECANICOSMANTENIBILIDAD Y CONFIABILIDAD DE LOS SISTEMAS MECANICOS
MANTENIBILIDAD Y CONFIABILIDAD DE LOS SISTEMAS MECANICOSRicardo Chegwin
 
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...GuillermoRodriguez239462
 
Desigualdades e inecuaciones-convertido.pdf
Desigualdades e inecuaciones-convertido.pdfDesigualdades e inecuaciones-convertido.pdf
Desigualdades e inecuaciones-convertido.pdfRonaldLozano11
 
2. Cristaloquimica. ingenieria geologica
2. Cristaloquimica. ingenieria geologica2. Cristaloquimica. ingenieria geologica
2. Cristaloquimica. ingenieria geologicaJUDITHYEMELINHUARIPA
 
Sesion 6 _ Curso Integrador II_TSZVQJ.pdf
Sesion 6 _ Curso Integrador II_TSZVQJ.pdfSesion 6 _ Curso Integrador II_TSZVQJ.pdf
Sesion 6 _ Curso Integrador II_TSZVQJ.pdfOmarPadillaGarcia
 
Herramientas de la productividad - Revit
Herramientas de la productividad - RevitHerramientas de la productividad - Revit
Herramientas de la productividad - RevitDiegoAlonsoCastroLup1
 

Dernier (20)

PERFORACIÓN Y VOLADURA EN MINERÍA APLICADO
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADOPERFORACIÓN Y VOLADURA EN MINERÍA APLICADO
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADO
 
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfLA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
 
Practica PLC MIcrologix 1400 con pantalla HMI y servomotor
Practica PLC MIcrologix 1400 con pantalla HMI y servomotorPractica PLC MIcrologix 1400 con pantalla HMI y servomotor
Practica PLC MIcrologix 1400 con pantalla HMI y servomotor
 
CALCULO DE ENGRANAJES RECTOS SB-2024.pptx
CALCULO DE ENGRANAJES RECTOS SB-2024.pptxCALCULO DE ENGRANAJES RECTOS SB-2024.pptx
CALCULO DE ENGRANAJES RECTOS SB-2024.pptx
 
CLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptxCLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptx
 
JM HIDROGENO VERDE- OXI-HIDROGENO en calderas - julio 17 del 2023.pdf
JM HIDROGENO VERDE- OXI-HIDROGENO en calderas - julio 17 del 2023.pdfJM HIDROGENO VERDE- OXI-HIDROGENO en calderas - julio 17 del 2023.pdf
JM HIDROGENO VERDE- OXI-HIDROGENO en calderas - julio 17 del 2023.pdf
 
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICA
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICAINTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICA
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICA
 
Quimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdfQuimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdf
 
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
 
Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der RoheAportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
 
nomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestacionesnomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestaciones
 
libro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacioneslibro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operaciones
 
Six Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo processSix Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo process
 
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
 
MANTENIBILIDAD Y CONFIABILIDAD DE LOS SISTEMAS MECANICOS
MANTENIBILIDAD Y CONFIABILIDAD DE LOS SISTEMAS MECANICOSMANTENIBILIDAD Y CONFIABILIDAD DE LOS SISTEMAS MECANICOS
MANTENIBILIDAD Y CONFIABILIDAD DE LOS SISTEMAS MECANICOS
 
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
Resistencia-a-los-antimicrobianos--laboratorio-al-cuidado-del-paciente_Marcel...
 
Desigualdades e inecuaciones-convertido.pdf
Desigualdades e inecuaciones-convertido.pdfDesigualdades e inecuaciones-convertido.pdf
Desigualdades e inecuaciones-convertido.pdf
 
2. Cristaloquimica. ingenieria geologica
2. Cristaloquimica. ingenieria geologica2. Cristaloquimica. ingenieria geologica
2. Cristaloquimica. ingenieria geologica
 
Sesion 6 _ Curso Integrador II_TSZVQJ.pdf
Sesion 6 _ Curso Integrador II_TSZVQJ.pdfSesion 6 _ Curso Integrador II_TSZVQJ.pdf
Sesion 6 _ Curso Integrador II_TSZVQJ.pdf
 
Herramientas de la productividad - Revit
Herramientas de la productividad - RevitHerramientas de la productividad - Revit
Herramientas de la productividad - Revit
 

Programación 1: arreglos en C

  • 1. Programación 1 Estructuras de datos en C Angel Vázquez-Patiño angel.vazquezp@ucuenca.edu.ec Departamento de Ciencias de la Computación Universidad de Cuenca 12 de septiembre de 2017
  • 2. 12/09/17 Angel Vázquez-Patiño 2/26 Objetivos 1. Entender el uso de arreglos 2. Realizar operaciones de acceso de elementos 3. Implementar programas usando arreglos
  • 3. 12/09/17 Angel Vázquez-Patiño 3/26 Contenido Arreglos unidimensionales Arreglos bidimensionales (matrices)
  • 4. 12/09/17 Angel Vázquez-Patiño 4/26 Arreglos unidimensionales
  • 5. 12/09/17 Angel Vázquez-Patiño 5/26 Arreglos unidimensionales Arreglo ● Espacio de memoria que permite almacenar una colección de elementos, todos del mismo tipo
  • 6. 12/09/17 Angel Vázquez-Patiño 6/26 Arreglos unidimensionales ● Dimensión: número de elementos en el arreglo ● Índice: número que identifica de manera única a cada elemento del arreglo con un número ● En C, C++ o Java el índice comienza en cero
  • 7. 12/09/17 Angel Vázquez-Patiño 7/26 Arreglos unidimensionales ● Los lenguajes de programación permiten la declaración de arreglos de cualquier tipo y prácticamente de cualquier tamaño Declaración tipo nombre[dimensión]; ● Se debe usar un nombre nemotécnico Referencia ● Tanto para asignar un valor o para obtener un elemento, se usa el índice ¿ ?
  • 8. 12/09/17 Angel Vázquez-Patiño 8/26 Arreglos unidimensionales #include<stdio.h> int main(){ char vocales[5]; vocales[0] = 'a'; vocales[1] = 'e'; for(int i=0; i<5; i++) printf("%cn", vocales[i]); }
  • 9. 12/09/17 Angel Vázquez-Patiño 9/26 Arreglos unidimensionales Ejercicios 1) Cree un arreglo de cinco elementos, asígnele valores numéricos enteros manualmente y muéstrelos en pantalla 2) Cree un arreglo de 10 elementos, inserte los valores numéricos con decimales que desee de la manera que quiera y muestre en pantalla la media de todos los valores 3) Cree un arreglo con el abecedario con el mínimo número de líneas de programación
  • 10. 12/09/17 Angel Vázquez-Patiño 10/26 Arreglos unidimensionales Ejercicios 4) Cree un arreglo donde usted indique la dimensión por teclado y cree una función que rellene el arreglo con los múltiplos de un número pedido por teclado. E.g., si definió un arreglo de 5 elementos y eligió un 3 en la función, el arreglo contendrá 3, 6, 9, 12, 15. Finalmente, muéstrelos en pantalla usando otra función distinta
  • 11. 12/09/17 Angel Vázquez-Patiño 11/26 Arreglos unidimensionales Ejercicios 5) Un histograma para una colección de datos es una secuencia de parejas de la forma (d, f), donde d es un dato y f es su frecuencia en la colección. E.g., suponga que se le pide a 10 personas calificar con las letras a, b, c, d o e el desempeño del gobierno actual, y que se obtienen las siguientes respuestas: c, b, c, d, e, a, b, b, d, c. Implemente una función que haga un histograma para una lista de hasta 100 valores, donde cada valor está en el intervalo a-e
  • 12. 12/09/17 Angel Vázquez-Patiño 12/26 Arreglos unidimensionales Ejercicios 6) Implemente una función que califique un examen de selección múltiple. En cada una de las preguntas del examen se debió elegir una de cinco opciones: A, B, C, D y E. Los parámetros: ● Cada una de las respuestas dadas por el estudiante ● Las respuestas correctas La función devuelve la nota obtenida. Esta nota corresponde al número de aciertos que tuvo el estudiante
  • 13. 12/09/17 Angel Vázquez-Patiño 13/26 Arreglos unidimensionales Ejercicios 7) Implemente un algoritmo que lea un arreglo de números enteros y un número x, y escriba en la pantalla las posiciones del arreglo donde está x. Por ejemplo, si el arreglo tiene los números 1, 2, 3, 100, 23, 2, 2 y 1 y x es 2, el programa debe escribir: 1, 5 y 6
  • 14. 12/09/17 Angel Vázquez-Patiño 14/26 Arreglos unidimensionales Otra forma de declarar un arreglo en C #include<stdio.h> int main(){ char vocales[] = {'a', 'e', 'i', 'o', 'u'}; for(int i=0; i<5; i++) printf("%cn", vocales[i]);}
  • 15. 12/09/17 Angel Vázquez-Patiño 15/26 1#include<stdio.h> 2int main(){ 3 int edad[] = {45, 23, 11, 9}; 4 double estatura[] = {1.73, 1.67, 1.56}; 5 char sexo[] = {'m', 'f', 'f'}; 6 _Bool visitar[] = {0, 1, 0}; 7 for(int i=0; i<3; i++) 8 printf("Edad: %dt Estatura: %ft Sexo: %ct Visitar: %dn", edad[i], estatura[i], sexo[i], visitar[i]);}
  • 16. 12/09/17 Angel Vázquez-Patiño 16/26 Arreglos unidimensionales Conocer el número de elementos de un arreglo 1#include<stdio.h> 2int main(){ 3 int edad[] = {23,15,46,78}; 4 size_t nEle = sizeof(edad)/sizeof(edad[0]); 5 printf("%zu", nEle); 6}
  • 17. 12/09/17 Angel Vázquez-Patiño 17/26 Arreglos bidimensionales (matrices)
  • 18. 12/09/17 Angel Vázquez-Patiño 18/26 Matrices ● Conjunto de filas y columnas que contienen elementos de un mismo tipo datos (0, 0) (0, 1) (0, 2) (0, 3) (1, 0) (1, 1) (1, 2) (1, 3) (2, 0) (2, 1) (2, 2) (2, 3) Columnas Filas
  • 19. 12/09/17 Angel Vázquez-Patiño 19/26 Matrices Declaración tipo nombre[#Filas][#Columnas]; ● Se debe usar un nombre nemotécnico Referencia ● Tanto para asignar un valor o para obtener un elemento, se usa el índice de la fila y de la columna: arreglo[#Fila][#Columna]
  • 20. 12/09/17 Angel Vázquez-Patiño 20/26 1#include<stdio.h> 2int main(){ 3 int notas[4][3]; 4 notas[0][0] = 7; 5 notas[2][1] = 3; 6 for(int i=0; i<4; i++){ 7 for(int j=0; j<3; j++) 8 printf("%dt", notas[i][j]); 9 printf("n"); 10 } }
  • 21. 12/09/17 Angel Vázquez-Patiño 21/26 Matrices Ejercicio Dada una matriz de n filas y m columnas: 1)Encontrar los elementos de la diagonal principal 2)Multiplicar los elementos de la diagonal principal por un escalar 3)Indicar si es nula (todos los elementos son ceros) 4)Indicar si es triangular superior (todos los elementos por debajo de la diagonal principal son nulos) o inferior (son nulos todos los elementos situados por encima de dicha diagonal) 5)Indicar si es diagonal (si es a la vez triangular superior e inferior, sólo tienen elementos en la diagonal principal)
  • 22. 12/09/17 Angel Vázquez-Patiño 22/26 Matrices Conocer el número de filas y columnas de una matriz 1#include<stdio.h> 2int main(){ 3 int m[4][3]; 4 int f=(sizeof(m)/sizeof(m[0])); 5 int c=(sizeof(m)/sizeof(m[0] [0]))/f; 6 printf("F: %dt C: %d", f, c);}
  • 23. 12/09/17 Angel Vázquez-Patiño 23/26 Conceptos y términos importantes
  • 24. 12/09/17 Angel Vázquez-Patiño 24/26 Conceptos y términos importantes ● Conocer el número de elementos de un arreglo unidimensional ● Conocer el número de elementos de un arreglo bidimensional ● Recorrer arreglos ● Asignación y obtención de datos de un arreglo
  • 25. 12/09/17 Angel Vázquez-Patiño 25/26 Referencia ● Gustedt, J., 2017. Modern C. France. Revisar ● Fernando Ureña Gómez, Ejercicios propuestos y resueltos arreglos o arrays en pseudocódigo http://goo.gl/8Jlck0 ● Vázquez-Patiño, A., 2017. Ejercicios Básicos de Programación, 1st ed. Departamento de Ciencias de la Computación, Universidad de Cuenca, Cuenca, Ecuador. https://goo.gl/X0UTxi