SlideShare una empresa de Scribd logo
1 de 26
Descargar para leer sin conexión
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

ANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOSANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOSEvans Balcazar
 
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
 
Variables y Constantes en C++
Variables y Constantes en C++Variables y Constantes en C++
Variables y Constantes en C++ivanjvic
 
Algoritmo lineal
Algoritmo linealAlgoritmo lineal
Algoritmo linealdavisct
 
Ejercicios propuesto 3
Ejercicios propuesto 3Ejercicios propuesto 3
Ejercicios propuesto 3jfranco_123
 
Ecuaciones diferenciales lineales de primer orden y aplicaciones(tema 1)
Ecuaciones diferenciales lineales de primer orden y aplicaciones(tema 1)Ecuaciones diferenciales lineales de primer orden y aplicaciones(tema 1)
Ecuaciones diferenciales lineales de primer orden y aplicaciones(tema 1)Yerikson Huz
 
Arreglos o dimensiones en pseint
Arreglos o dimensiones en pseintArreglos o dimensiones en pseint
Arreglos o dimensiones en pseintDon Augusto
 
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
 
Arreglos programacion
Arreglos programacionArreglos programacion
Arreglos programacionashildir
 
Trabajo final programacion
Trabajo final programacionTrabajo final programacion
Trabajo final programacionCarlos G Mora
 
Ejercicios resueltos de java
Ejercicios resueltos de javaEjercicios resueltos de java
Ejercicios resueltos de javaFaral TF
 
Grafos eulerianos y hamiltonianos
Grafos eulerianos y hamiltonianosGrafos eulerianos y hamiltonianos
Grafos eulerianos y hamiltonianosAron Boza
 

La actualidad más candente (20)

ANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOSANALISIS DE ALGORITMOS
ANALISIS DE ALGORITMOS
 
02 Ejercicios Resueltos diagramas de flujo
02 Ejercicios Resueltos diagramas de flujo02 Ejercicios Resueltos diagramas de flujo
02 Ejercicios Resueltos diagramas de flujo
 
Arreglos c++
Arreglos c++Arreglos c++
Arreglos c++
 
Simulación - Unidad 2 numeros pseudoaleatorios
Simulación - Unidad 2 numeros pseudoaleatoriosSimulación - Unidad 2 numeros pseudoaleatorios
Simulación - Unidad 2 numeros pseudoaleatorios
 
52 ejercicios-resueltos-en-pseudocodigo
52 ejercicios-resueltos-en-pseudocodigo52 ejercicios-resueltos-en-pseudocodigo
52 ejercicios-resueltos-en-pseudocodigo
 
Exposicion Caminos de euler
Exposicion Caminos de eulerExposicion Caminos de euler
Exposicion Caminos de euler
 
Variables y Constantes en C++
Variables y Constantes en C++Variables y Constantes en C++
Variables y Constantes en C++
 
Algoritmo lineal
Algoritmo linealAlgoritmo lineal
Algoritmo lineal
 
Ejercicios propuesto 3
Ejercicios propuesto 3Ejercicios propuesto 3
Ejercicios propuesto 3
 
16 Curso de POO en java - arreglos unidimensionales
16 Curso de POO en java - arreglos unidimensionales16 Curso de POO en java - arreglos unidimensionales
16 Curso de POO en java - arreglos unidimensionales
 
Sintaxis del lenguaje c++
Sintaxis del lenguaje c++Sintaxis del lenguaje c++
Sintaxis del lenguaje c++
 
Ecuaciones diferenciales lineales de primer orden y aplicaciones(tema 1)
Ecuaciones diferenciales lineales de primer orden y aplicaciones(tema 1)Ecuaciones diferenciales lineales de primer orden y aplicaciones(tema 1)
Ecuaciones diferenciales lineales de primer orden y aplicaciones(tema 1)
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Arreglos o dimensiones en pseint
Arreglos o dimensiones en pseintArreglos o dimensiones en pseint
Arreglos o dimensiones en pseint
 
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++
 
Pruebas de escritorio
Pruebas de escritorioPruebas de escritorio
Pruebas de escritorio
 
Arreglos programacion
Arreglos programacionArreglos programacion
Arreglos programacion
 
Trabajo final programacion
Trabajo final programacionTrabajo final programacion
Trabajo final programacion
 
Ejercicios resueltos de java
Ejercicios resueltos de javaEjercicios resueltos de java
Ejercicios resueltos de java
 
Grafos eulerianos y hamiltonianos
Grafos eulerianos y hamiltonianosGrafos eulerianos y hamiltonianos
Grafos eulerianos y hamiltonianos
 

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

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
 
CALCULO SISTEMA DE PUESTA A TIERRA PARA BAJA TENSION Y MEDIA TENSION
CALCULO SISTEMA DE PUESTA A TIERRA PARA BAJA TENSION Y MEDIA TENSIONCALCULO SISTEMA DE PUESTA A TIERRA PARA BAJA TENSION Y MEDIA TENSION
CALCULO SISTEMA DE PUESTA A TIERRA PARA BAJA TENSION Y MEDIA TENSIONJuan Carlos Meza Molina
 
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
 
nomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestacionesnomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestacionesCarlosMeraz16
 
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNATINSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNATevercoyla
 
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHTAPORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHTElisaLen4
 
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
 
Quimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdfQuimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdfs7yl3dr4g0n01
 
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
 
2. Cristaloquimica. ingenieria geologica
2. Cristaloquimica. ingenieria geologica2. Cristaloquimica. ingenieria geologica
2. Cristaloquimica. ingenieria geologicaJUDITHYEMELINHUARIPA
 
Gestion de proyectos para el control y seguimiento
Gestion de proyectos para el control  y seguimientoGestion de proyectos para el control  y seguimiento
Gestion de proyectos para el control y seguimientoMaxanMonplesi
 
Ficha Tecnica de Ladrillos de Tabique de diferentes modelos
Ficha Tecnica de Ladrillos de Tabique de diferentes modelosFicha Tecnica de Ladrillos de Tabique de diferentes modelos
Ficha Tecnica de Ladrillos de Tabique de diferentes modelosRamiroCruzSalazar
 
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.pptoscarvielma45
 
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
 
Sistema de lubricación para motores de combustión interna
Sistema de lubricación para motores de combustión internaSistema de lubricación para motores de combustión interna
Sistema de lubricación para motores de combustión internamengual57
 
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
 
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
 
Herramientas de la productividad - Revit
Herramientas de la productividad - RevitHerramientas de la productividad - Revit
Herramientas de la productividad - RevitDiegoAlonsoCastroLup1
 
Ejemplos aplicados de flip flops para la ingenieria
Ejemplos aplicados de flip flops para la ingenieriaEjemplos aplicados de flip flops para la ingenieria
Ejemplos aplicados de flip flops para la ingenieriaAndreBarrientos3
 
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
 

Último (20)

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
 
CALCULO SISTEMA DE PUESTA A TIERRA PARA BAJA TENSION Y MEDIA TENSION
CALCULO SISTEMA DE PUESTA A TIERRA PARA BAJA TENSION Y MEDIA TENSIONCALCULO SISTEMA DE PUESTA A TIERRA PARA BAJA TENSION Y MEDIA TENSION
CALCULO SISTEMA DE PUESTA A TIERRA PARA BAJA TENSION Y MEDIA TENSION
 
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
 
nomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestacionesnomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestaciones
 
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNATINSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
INSUMOS QUIMICOS Y BIENES FISCALIZADOS POR LA SUNAT
 
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHTAPORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
 
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
 
Quimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdfQuimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdf
 
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
 
2. Cristaloquimica. ingenieria geologica
2. Cristaloquimica. ingenieria geologica2. Cristaloquimica. ingenieria geologica
2. Cristaloquimica. ingenieria geologica
 
Gestion de proyectos para el control y seguimiento
Gestion de proyectos para el control  y seguimientoGestion de proyectos para el control  y seguimiento
Gestion de proyectos para el control y seguimiento
 
Ficha Tecnica de Ladrillos de Tabique de diferentes modelos
Ficha Tecnica de Ladrillos de Tabique de diferentes modelosFicha Tecnica de Ladrillos de Tabique de diferentes modelos
Ficha Tecnica de Ladrillos de Tabique de diferentes modelos
 
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
 
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
 
Sistema de lubricación para motores de combustión interna
Sistema de lubricación para motores de combustión internaSistema de lubricación para motores de combustión interna
Sistema de lubricación para motores de combustión interna
 
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
 
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
 
Herramientas de la productividad - Revit
Herramientas de la productividad - RevitHerramientas de la productividad - Revit
Herramientas de la productividad - Revit
 
Ejemplos aplicados de flip flops para la ingenieria
Ejemplos aplicados de flip flops para la ingenieriaEjemplos aplicados de flip flops para la ingenieria
Ejemplos aplicados de flip flops para la ingenieria
 
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
 

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