SlideShare uma empresa Scribd logo
1 de 26
Baixar para ler offline
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

Mais conteúdo relacionado

Mais procurados

EJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOSEJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOS1002pc3
 
Algoritmos 50 ejemplos (1)
Algoritmos 50 ejemplos (1)Algoritmos 50 ejemplos (1)
Algoritmos 50 ejemplos (1)Andres Rivero
 
Ejercicio 1 diagrama de flujo
Ejercicio 1 diagrama de flujoEjercicio 1 diagrama de flujo
Ejercicio 1 diagrama de flujolisvancelis
 
Aplicación de arreglos bidimensionales
Aplicación de arreglos bidimensionalesAplicación de arreglos bidimensionales
Aplicación de arreglos bidimensionalesmarigelcontreras
 
02 Ejercicios Resueltos diagramas de flujo
02 Ejercicios Resueltos diagramas de flujo02 Ejercicios Resueltos diagramas de flujo
02 Ejercicios Resueltos diagramas de flujoTete Alar
 
52 ejercicios-resueltos-en-pseudocodigo
52 ejercicios-resueltos-en-pseudocodigo52 ejercicios-resueltos-en-pseudocodigo
52 ejercicios-resueltos-en-pseudocodigoepetekaun
 
Ejercicios resueltos de programacion
Ejercicios resueltos de programacionEjercicios resueltos de programacion
Ejercicios resueltos de programacionJaime amambal
 
Cuestionario de algoritmoss2
Cuestionario de algoritmoss2Cuestionario de algoritmoss2
Cuestionario de algoritmoss2Arazelii Puentez
 
EJERCICIOS DE ALGORITMOS RESUELTOS
EJERCICIOS DE ALGORITMOS RESUELTOS EJERCICIOS DE ALGORITMOS RESUELTOS
EJERCICIOS DE ALGORITMOS RESUELTOS Luis Eduardo
 
ANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOSANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOSEvans Balcazar
 
Programa en C++ ( escriba 3 números y diga cual es el mayor))
Programa en C++ ( escriba 3 números y diga cual es el mayor))Programa en C++ ( escriba 3 números y diga cual es el mayor))
Programa en C++ ( escriba 3 números y diga cual es el mayor))Alex Penso Romero
 
Diagrama de Flujos Ejemplos.
Diagrama de Flujos Ejemplos.Diagrama de Flujos Ejemplos.
Diagrama de Flujos Ejemplos.luismarlmg
 
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
 
Operaciones importantes de un arreglo bidimensional
Operaciones importantes de un arreglo bidimensionalOperaciones importantes de un arreglo bidimensional
Operaciones importantes de un arreglo bidimensionalCristian Quinteros
 
Cuestionario
CuestionarioCuestionario
CuestionarioJose Nava
 
Investigacion derivada-de-una-curva-en-forma-parametrica
Investigacion derivada-de-una-curva-en-forma-parametricaInvestigacion derivada-de-una-curva-en-forma-parametrica
Investigacion derivada-de-una-curva-en-forma-parametricaM Marcos
 
Logica de la Programación Problemas y Soluciones
Logica de la  Programación  Problemas y SolucionesLogica de la  Programación  Problemas y Soluciones
Logica de la Programación Problemas y SolucionesVideoconferencias UTPL
 
Unidad 03 variables, constantes y operadores
Unidad 03   variables, constantes y operadoresUnidad 03   variables, constantes y operadores
Unidad 03 variables, constantes y operadoresLorenzo Alejo
 

Mais procurados (20)

EJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOSEJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOS
 
Algoritmos 50 ejemplos (1)
Algoritmos 50 ejemplos (1)Algoritmos 50 ejemplos (1)
Algoritmos 50 ejemplos (1)
 
Ejercicio 1 diagrama de flujo
Ejercicio 1 diagrama de flujoEjercicio 1 diagrama de flujo
Ejercicio 1 diagrama de flujo
 
Aplicación de arreglos bidimensionales
Aplicación de arreglos bidimensionalesAplicación de arreglos bidimensionales
Aplicación de arreglos bidimensionales
 
02 Ejercicios Resueltos diagramas de flujo
02 Ejercicios Resueltos diagramas de flujo02 Ejercicios Resueltos diagramas de flujo
02 Ejercicios Resueltos diagramas de flujo
 
Aplicaciones de las ecuaciones diferenciales
Aplicaciones de las ecuaciones diferenciales Aplicaciones de las ecuaciones diferenciales
Aplicaciones de las ecuaciones diferenciales
 
52 ejercicios-resueltos-en-pseudocodigo
52 ejercicios-resueltos-en-pseudocodigo52 ejercicios-resueltos-en-pseudocodigo
52 ejercicios-resueltos-en-pseudocodigo
 
Ejercicios resueltos de programacion
Ejercicios resueltos de programacionEjercicios resueltos de programacion
Ejercicios resueltos de programacion
 
Cuestionario de algoritmoss2
Cuestionario de algoritmoss2Cuestionario de algoritmoss2
Cuestionario de algoritmoss2
 
Recursividad
RecursividadRecursividad
Recursividad
 
EJERCICIOS DE ALGORITMOS RESUELTOS
EJERCICIOS DE ALGORITMOS RESUELTOS EJERCICIOS DE ALGORITMOS RESUELTOS
EJERCICIOS DE ALGORITMOS RESUELTOS
 
ANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOSANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOS
 
Programa en C++ ( escriba 3 números y diga cual es el mayor))
Programa en C++ ( escriba 3 números y diga cual es el mayor))Programa en C++ ( escriba 3 números y diga cual es el mayor))
Programa en C++ ( escriba 3 números y diga cual es el mayor))
 
Diagrama de Flujos Ejemplos.
Diagrama de Flujos Ejemplos.Diagrama de Flujos Ejemplos.
Diagrama de Flujos Ejemplos.
 
Ejemplos de algoritmos con estructuras repetitivas
Ejemplos de algoritmos con estructuras repetitivasEjemplos de algoritmos con estructuras repetitivas
Ejemplos de algoritmos con estructuras repetitivas
 
Operaciones importantes de un arreglo bidimensional
Operaciones importantes de un arreglo bidimensionalOperaciones importantes de un arreglo bidimensional
Operaciones importantes de un arreglo bidimensional
 
Cuestionario
CuestionarioCuestionario
Cuestionario
 
Investigacion derivada-de-una-curva-en-forma-parametrica
Investigacion derivada-de-una-curva-en-forma-parametricaInvestigacion derivada-de-una-curva-en-forma-parametrica
Investigacion derivada-de-una-curva-en-forma-parametrica
 
Logica de la Programación Problemas y Soluciones
Logica de la  Programación  Problemas y SolucionesLogica de la  Programación  Problemas y Soluciones
Logica de la Programación Problemas y Soluciones
 
Unidad 03 variables, constantes y operadores
Unidad 03   variables, constantes y operadoresUnidad 03   variables, constantes y operadores
Unidad 03 variables, constantes y operadores
 

Destaque (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
 

Semelhante a Programación 1: arreglos en C

Semelhante 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 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
 

Mais 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
 

Mais 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

Presentación de Redes de alcantarillado y agua potable
Presentación de Redes de alcantarillado y agua potablePresentación de Redes de alcantarillado y agua potable
Presentación de Redes de alcantarillado y agua potableFabricioMogroMantill
 
Cereales tecnología de los alimentos. Cereales
Cereales tecnología de los alimentos. CerealesCereales tecnología de los alimentos. Cereales
Cereales tecnología de los alimentos. Cerealescarlosjuliogermanari1
 
Desigualdades e inecuaciones-convertido.pdf
Desigualdades e inecuaciones-convertido.pdfDesigualdades e inecuaciones-convertido.pdf
Desigualdades e inecuaciones-convertido.pdfRonaldLozano11
 
Presentacion de la ganaderia en la región
Presentacion de la ganaderia en la regiónPresentacion de la ganaderia en la región
Presentacion de la ganaderia en la regiónmaz12629
 
Determinación de espacios en la instalación
Determinación de espacios en la instalaciónDeterminación de espacios en la instalación
Determinación de espacios en la instalaciónQualityAdviceService
 
ATS-FORMATO cara.pdf PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf  PARA TRABAJO SEGUROATS-FORMATO cara.pdf  PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf PARA TRABAJO SEGUROalejandrocrisostomo2
 
Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Dr. Edwin Hernandez
 
Clasificación de Equipos e Instrumentos en Electricidad.docx
Clasificación de Equipos e Instrumentos en Electricidad.docxClasificación de Equipos e Instrumentos en Electricidad.docx
Clasificación de Equipos e Instrumentos en Electricidad.docxwilliam801689
 
ESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVO
ESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVOESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVO
ESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVOeldermishti
 
Libro de ingeniería sobre Tecnología Eléctrica.pdf
Libro de ingeniería sobre Tecnología Eléctrica.pdfLibro de ingeniería sobre Tecnología Eléctrica.pdf
Libro de ingeniería sobre Tecnología Eléctrica.pdfCristinCrdova1
 
PostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDPostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDEdith Puclla
 
“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...
“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...
“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...WeslinDarguinHernand
 
PRESENTACION DE LAS PLAGAS Y ENFERMEDADES DEL PALTO
PRESENTACION DE LAS PLAGAS Y ENFERMEDADES DEL PALTOPRESENTACION DE LAS PLAGAS Y ENFERMEDADES DEL PALTO
PRESENTACION DE LAS PLAGAS Y ENFERMEDADES DEL PALTOwillanpedrazaperez
 
Introduction to Satellite Communication_esp_FINAL.ppt
Introduction to Satellite Communication_esp_FINAL.pptIntroduction to Satellite Communication_esp_FINAL.ppt
Introduction to Satellite Communication_esp_FINAL.pptReYMaStERHD
 
Análisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdf
Análisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdfAnálisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdf
Análisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdfGabrielCayampiGutier
 
ELASTICIDAD PRECIO DE LA DEMaaanANDA.ppt
ELASTICIDAD PRECIO DE LA DEMaaanANDA.pptELASTICIDAD PRECIO DE LA DEMaaanANDA.ppt
ELASTICIDAD PRECIO DE LA DEMaaanANDA.pptRobertoCastao8
 
TIPOS DE SOPORTES - CLASIFICACION IG.pdf
TIPOS DE SOPORTES - CLASIFICACION IG.pdfTIPOS DE SOPORTES - CLASIFICACION IG.pdf
TIPOS DE SOPORTES - CLASIFICACION IG.pdfssuser202b79
 
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
 
SESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONAL
SESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONALSESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONAL
SESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONALEdwinC23
 
27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.pptjacnuevarisaralda22
 

Último (20)

Presentación de Redes de alcantarillado y agua potable
Presentación de Redes de alcantarillado y agua potablePresentación de Redes de alcantarillado y agua potable
Presentación de Redes de alcantarillado y agua potable
 
Cereales tecnología de los alimentos. Cereales
Cereales tecnología de los alimentos. CerealesCereales tecnología de los alimentos. Cereales
Cereales tecnología de los alimentos. Cereales
 
Desigualdades e inecuaciones-convertido.pdf
Desigualdades e inecuaciones-convertido.pdfDesigualdades e inecuaciones-convertido.pdf
Desigualdades e inecuaciones-convertido.pdf
 
Presentacion de la ganaderia en la región
Presentacion de la ganaderia en la regiónPresentacion de la ganaderia en la región
Presentacion de la ganaderia en la región
 
Determinación de espacios en la instalación
Determinación de espacios en la instalaciónDeterminación de espacios en la instalación
Determinación de espacios en la instalación
 
ATS-FORMATO cara.pdf PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf  PARA TRABAJO SEGUROATS-FORMATO cara.pdf  PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf PARA TRABAJO SEGURO
 
Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...
 
Clasificación de Equipos e Instrumentos en Electricidad.docx
Clasificación de Equipos e Instrumentos en Electricidad.docxClasificación de Equipos e Instrumentos en Electricidad.docx
Clasificación de Equipos e Instrumentos en Electricidad.docx
 
ESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVO
ESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVOESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVO
ESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVO
 
Libro de ingeniería sobre Tecnología Eléctrica.pdf
Libro de ingeniería sobre Tecnología Eléctrica.pdfLibro de ingeniería sobre Tecnología Eléctrica.pdf
Libro de ingeniería sobre Tecnología Eléctrica.pdf
 
PostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDPostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCD
 
“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...
“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...
“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...
 
PRESENTACION DE LAS PLAGAS Y ENFERMEDADES DEL PALTO
PRESENTACION DE LAS PLAGAS Y ENFERMEDADES DEL PALTOPRESENTACION DE LAS PLAGAS Y ENFERMEDADES DEL PALTO
PRESENTACION DE LAS PLAGAS Y ENFERMEDADES DEL PALTO
 
Introduction to Satellite Communication_esp_FINAL.ppt
Introduction to Satellite Communication_esp_FINAL.pptIntroduction to Satellite Communication_esp_FINAL.ppt
Introduction to Satellite Communication_esp_FINAL.ppt
 
Análisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdf
Análisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdfAnálisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdf
Análisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdf
 
ELASTICIDAD PRECIO DE LA DEMaaanANDA.ppt
ELASTICIDAD PRECIO DE LA DEMaaanANDA.pptELASTICIDAD PRECIO DE LA DEMaaanANDA.ppt
ELASTICIDAD PRECIO DE LA DEMaaanANDA.ppt
 
TIPOS DE SOPORTES - CLASIFICACION IG.pdf
TIPOS DE SOPORTES - CLASIFICACION IG.pdfTIPOS DE SOPORTES - CLASIFICACION IG.pdf
TIPOS DE SOPORTES - CLASIFICACION IG.pdf
 
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
 
SESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONAL
SESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONALSESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONAL
SESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONAL
 
27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt
 

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