SlideShare una empresa de Scribd logo
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

Más contenido relacionado

La actualidad más candente

Memoria Estatica
Memoria EstaticaMemoria Estatica
Memoria EstaticaJ M
 
Reporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamientoReporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamientoTAtiizz Villalobos
 
Ejercicios de programacion if - switch-case
Ejercicios de programacion   if  -   switch-caseEjercicios de programacion   if  -   switch-case
Ejercicios de programacion if - switch-caseGuillermo Viaje
 
Resolución de ejercicios compuertas lógicas
Resolución de ejercicios compuertas lógicasResolución de ejercicios compuertas lógicas
Resolución de ejercicios compuertas lógicasCarlos Gascón
 
Ejemplos Para Dev C++
Ejemplos Para Dev C++Ejemplos Para Dev C++
Ejemplos Para Dev C++cemayoral
 
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
 
9 Curso de POO en java - variables, constantes y objetos
9 Curso de POO en java - variables, constantes y objetos9 Curso de POO en java - variables, constantes y objetos
9 Curso de POO en java - variables, constantes y objetosClara Patricia Avella Ibañez
 
Lenguaje c diapositivas
Lenguaje c diapositivasLenguaje c diapositivas
Lenguaje c diapositivasstarduslex
 
Ejercicios resueltos de punteros 12a15
Ejercicios resueltos de punteros 12a15Ejercicios resueltos de punteros 12a15
Ejercicios resueltos de punteros 12a15rasave
 

La actualidad más candente (20)

Estructura Repetitiva MIENTRAS (While) con PSeInt
Estructura Repetitiva MIENTRAS (While) con PSeIntEstructura Repetitiva MIENTRAS (While) con PSeInt
Estructura Repetitiva MIENTRAS (While) con PSeInt
 
Memoria Estatica
Memoria EstaticaMemoria Estatica
Memoria Estatica
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de control
 
Estructuras en c++
Estructuras en c++Estructuras en c++
Estructuras en c++
 
Reporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamientoReporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamiento
 
Funciones en C++
Funciones en C++Funciones en C++
Funciones en C++
 
Ejercicios de programacion if - switch-case
Ejercicios de programacion   if  -   switch-caseEjercicios de programacion   if  -   switch-case
Ejercicios de programacion if - switch-case
 
Arreglos c++
Arreglos c++Arreglos c++
Arreglos c++
 
Tipos De Datos Abstractos Colas
Tipos De Datos Abstractos ColasTipos De Datos Abstractos Colas
Tipos De Datos Abstractos Colas
 
Resolución de ejercicios compuertas lógicas
Resolución de ejercicios compuertas lógicasResolución de ejercicios compuertas lógicas
Resolución de ejercicios compuertas lógicas
 
Arreglos
ArreglosArreglos
Arreglos
 
Ejemplos Para Dev C++
Ejemplos Para Dev C++Ejemplos Para Dev C++
Ejemplos Para Dev C++
 
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
 
9 Curso de POO en java - variables, constantes y objetos
9 Curso de POO en java - variables, constantes y objetos9 Curso de POO en java - variables, constantes y objetos
9 Curso de POO en java - variables, constantes y objetos
 
Arreglos unidimensionales
Arreglos unidimensionalesArreglos unidimensionales
Arreglos unidimensionales
 
ESTRUCTURAS ANIDADAS
ESTRUCTURAS ANIDADASESTRUCTURAS ANIDADAS
ESTRUCTURAS ANIDADAS
 
Lenguaje c diapositivas
Lenguaje c diapositivasLenguaje c diapositivas
Lenguaje c diapositivas
 
Pilas, colas, y listas estructura de datos
Pilas, colas, y listas estructura de datosPilas, colas, y listas estructura de datos
Pilas, colas, y listas estructura de datos
 
Arreglos en C
Arreglos en CArreglos en C
Arreglos en C
 
Ejercicios resueltos de punteros 12a15
Ejercicios resueltos de punteros 12a15Ejercicios resueltos de punteros 12a15
Ejercicios resueltos de punteros 12a15
 

Destacado (8)

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
 
Programación 1: funciones en C
Programación 1: funciones en CProgramación 1: funciones en C
Programación 1: funciones en 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
 

Similar a Programación 1: arreglos en C

Similar a 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
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
 
Programacion
ProgramacionProgramacion
Programacion
 
Programacion
ProgramacionProgramacion
Programacion
 
Modulo3
Modulo3Modulo3
Modulo3
 
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
 
Ejercicios C
Ejercicios CEjercicios C
Ejercicios C
 

Más 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
 

Más 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...
 

Último

Trabajo Mecanismos de cuatro barras.pdf
Trabajo  Mecanismos de cuatro barras.pdfTrabajo  Mecanismos de cuatro barras.pdf
Trabajo Mecanismos de cuatro barras.pdfIvanIsraelPiaColina
 
Instalación de GLPI en Debian Linux paso a paso
Instalación de GLPI en Debian Linux paso a pasoInstalación de GLPI en Debian Linux paso a paso
Instalación de GLPI en Debian Linux paso a pasosanjinesfreddygonzal
 
Redes GSM en la tecnología en la segunda
Redes GSM en la tecnología en la segundaRedes GSM en la tecnología en la segunda
Redes GSM en la tecnología en la segundaanonimussecreto
 
Mecánica de fluidos 1 universidad continental
Mecánica de fluidos 1 universidad continentalMecánica de fluidos 1 universidad continental
Mecánica de fluidos 1 universidad continentalJOSHUASILVA36
 
Norma TEMA para intercambiadores -1.pptx
Norma TEMA para intercambiadores -1.pptxNorma TEMA para intercambiadores -1.pptx
Norma TEMA para intercambiadores -1.pptxdarksoldier655
 
ACT MECANISMO DE 4 BARRAS ARTICULADAS.PDF
ACT MECANISMO DE 4 BARRAS ARTICULADAS.PDFACT MECANISMO DE 4 BARRAS ARTICULADAS.PDF
ACT MECANISMO DE 4 BARRAS ARTICULADAS.PDFDavidMorales257484
 
Mecanismos de transferencia de un generador de vapor
Mecanismos de transferencia de un generador de vaporMecanismos de transferencia de un generador de vapor
Mecanismos de transferencia de un generador de vaporalema3825
 
SISTEMA ARTICULADO DE CUATRO BARRAS .pdf
SISTEMA ARTICULADO DE CUATRO BARRAS .pdfSISTEMA ARTICULADO DE CUATRO BARRAS .pdf
SISTEMA ARTICULADO DE CUATRO BARRAS .pdfIvanIsraelPiaColina
 
MARCO antonio - capacitacion de aguas de lluvia .pptx
MARCO antonio - capacitacion de aguas de lluvia .pptxMARCO antonio - capacitacion de aguas de lluvia .pptx
MARCO antonio - capacitacion de aguas de lluvia .pptxFelicitasAsuncionDia
 
Escenario económico - Desarrollo sustentable
Escenario económico - Desarrollo sustentableEscenario económico - Desarrollo sustentable
Escenario económico - Desarrollo sustentableJosPealoza7
 
1 METABOLISMO PROTEICO. el metabolismo docx
1 METABOLISMO PROTEICO. el metabolismo docx1 METABOLISMO PROTEICO. el metabolismo docx
1 METABOLISMO PROTEICO. el metabolismo docxssuser80acf9
 
tema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptx
tema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptxtema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptx
tema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptxDianaSG6
 
Ciclo de Refrigeracion aplicado a ToniCorp.pptx
Ciclo de Refrigeracion aplicado a ToniCorp.pptxCiclo de Refrigeracion aplicado a ToniCorp.pptx
Ciclo de Refrigeracion aplicado a ToniCorp.pptxUniversidad de Guayaquil
 
PresentaciónReto_Equipo6 Explicacion del reto de freno electromagnetico
PresentaciónReto_Equipo6 Explicacion del reto de freno electromagneticoPresentaciónReto_Equipo6 Explicacion del reto de freno electromagnetico
PresentaciónReto_Equipo6 Explicacion del reto de freno electromagneticoa00834109
 
GUIA II SUSTANCIA MATERIALES PELIGROSOS.pdf
GUIA II SUSTANCIA MATERIALES PELIGROSOS.pdfGUIA II SUSTANCIA MATERIALES PELIGROSOS.pdf
GUIA II SUSTANCIA MATERIALES PELIGROSOS.pdfElybe Hernandez
 
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 20.5 PREFERIDO.wbk.wbk SEG...
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 20.5 PREFERIDO.wbk.wbk SEG...TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 20.5 PREFERIDO.wbk.wbk SEG...
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 20.5 PREFERIDO.wbk.wbk SEG...FRANCISCOJUSTOSIERRA
 

Último (20)

Trabajo Mecanismos de cuatro barras.pdf
Trabajo  Mecanismos de cuatro barras.pdfTrabajo  Mecanismos de cuatro barras.pdf
Trabajo Mecanismos de cuatro barras.pdf
 
Instalación de GLPI en Debian Linux paso a paso
Instalación de GLPI en Debian Linux paso a pasoInstalación de GLPI en Debian Linux paso a paso
Instalación de GLPI en Debian Linux paso a paso
 
Tasaciones La Florida - Peñalolén - La Reina
Tasaciones La Florida - Peñalolén - La ReinaTasaciones La Florida - Peñalolén - La Reina
Tasaciones La Florida - Peñalolén - La Reina
 
Redes GSM en la tecnología en la segunda
Redes GSM en la tecnología en la segundaRedes GSM en la tecnología en la segunda
Redes GSM en la tecnología en la segunda
 
Mecánica de fluidos 1 universidad continental
Mecánica de fluidos 1 universidad continentalMecánica de fluidos 1 universidad continental
Mecánica de fluidos 1 universidad continental
 
Deusto Ingeniería 24 (Año 2023) - Universidad de Deusto
Deusto Ingeniería 24 (Año 2023) - Universidad de DeustoDeusto Ingeniería 24 (Año 2023) - Universidad de Deusto
Deusto Ingeniería 24 (Año 2023) - Universidad de Deusto
 
Norma TEMA para intercambiadores -1.pptx
Norma TEMA para intercambiadores -1.pptxNorma TEMA para intercambiadores -1.pptx
Norma TEMA para intercambiadores -1.pptx
 
Sistemas de posicionamiento global (G.P.S.).pdf
Sistemas de posicionamiento global (G.P.S.).pdfSistemas de posicionamiento global (G.P.S.).pdf
Sistemas de posicionamiento global (G.P.S.).pdf
 
ACT MECANISMO DE 4 BARRAS ARTICULADAS.PDF
ACT MECANISMO DE 4 BARRAS ARTICULADAS.PDFACT MECANISMO DE 4 BARRAS ARTICULADAS.PDF
ACT MECANISMO DE 4 BARRAS ARTICULADAS.PDF
 
Mecanismos de transferencia de un generador de vapor
Mecanismos de transferencia de un generador de vaporMecanismos de transferencia de un generador de vapor
Mecanismos de transferencia de un generador de vapor
 
Tasaciones Ñuñoa - La Reina - Las Condes
Tasaciones Ñuñoa - La Reina - Las CondesTasaciones Ñuñoa - La Reina - Las Condes
Tasaciones Ñuñoa - La Reina - Las Condes
 
SISTEMA ARTICULADO DE CUATRO BARRAS .pdf
SISTEMA ARTICULADO DE CUATRO BARRAS .pdfSISTEMA ARTICULADO DE CUATRO BARRAS .pdf
SISTEMA ARTICULADO DE CUATRO BARRAS .pdf
 
MARCO antonio - capacitacion de aguas de lluvia .pptx
MARCO antonio - capacitacion de aguas de lluvia .pptxMARCO antonio - capacitacion de aguas de lluvia .pptx
MARCO antonio - capacitacion de aguas de lluvia .pptx
 
Escenario económico - Desarrollo sustentable
Escenario económico - Desarrollo sustentableEscenario económico - Desarrollo sustentable
Escenario económico - Desarrollo sustentable
 
1 METABOLISMO PROTEICO. el metabolismo docx
1 METABOLISMO PROTEICO. el metabolismo docx1 METABOLISMO PROTEICO. el metabolismo docx
1 METABOLISMO PROTEICO. el metabolismo docx
 
tema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptx
tema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptxtema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptx
tema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptx
 
Ciclo de Refrigeracion aplicado a ToniCorp.pptx
Ciclo de Refrigeracion aplicado a ToniCorp.pptxCiclo de Refrigeracion aplicado a ToniCorp.pptx
Ciclo de Refrigeracion aplicado a ToniCorp.pptx
 
PresentaciónReto_Equipo6 Explicacion del reto de freno electromagnetico
PresentaciónReto_Equipo6 Explicacion del reto de freno electromagneticoPresentaciónReto_Equipo6 Explicacion del reto de freno electromagnetico
PresentaciónReto_Equipo6 Explicacion del reto de freno electromagnetico
 
GUIA II SUSTANCIA MATERIALES PELIGROSOS.pdf
GUIA II SUSTANCIA MATERIALES PELIGROSOS.pdfGUIA II SUSTANCIA MATERIALES PELIGROSOS.pdf
GUIA II SUSTANCIA MATERIALES PELIGROSOS.pdf
 
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 20.5 PREFERIDO.wbk.wbk SEG...
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 20.5 PREFERIDO.wbk.wbk SEG...TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 20.5 PREFERIDO.wbk.wbk SEG...
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 20.5 PREFERIDO.wbk.wbk SEG...
 

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