al finalizar el curso el alumno será capaz de: diseñar algoritmos utilizando estructuras...

22
Algoritmos y Estructuras de Datos LIA. Suei Chong Sol, MCE.

Upload: luis-miguel-roldan-palma

Post on 24-Jan-2016

221 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Al finalizar el curso el alumno será capaz de: Diseñar algoritmos utilizando estructuras estáticas de datos y programación modular

Algoritmos y Estructuras de Datos

LIA. Suei Chong Sol, MCE.

Page 2: Al finalizar el curso el alumno será capaz de: Diseñar algoritmos utilizando estructuras estáticas de datos y programación modular

Objetivo General.

Al finalizar el curso el alumno será capaz de:

Diseñar algoritmos utilizando

estructuras estáticas de datos y

programación modular.

Page 3: Al finalizar el curso el alumno será capaz de: Diseñar algoritmos utilizando estructuras estáticas de datos y programación modular

Temario

1.- Tipos de datos estructurados2. Operaciones sobre cadenas de

caracteres3. Diseño modular4. Estructuras de datos estáticas

Page 4: Al finalizar el curso el alumno será capaz de: Diseñar algoritmos utilizando estructuras estáticas de datos y programación modular

Método de Evaluación

Evaluación 100%

1er. Examen

20%

2do. Examen

40%

Tareas y Prácticas

20%

Proyecto20%

Page 5: Al finalizar el curso el alumno será capaz de: Diseñar algoritmos utilizando estructuras estáticas de datos y programación modular

Sesiones.

1. Miércoles 8 de Junio de 20112. Miércoles 15 de Junio de 20113. Miércoles 22 de Junio de 2011

4. Miércoles 6 de Julio de 20115. Miércoles 13 de Julio de 20116. Miércoles 20 de Julio de 2011

Page 6: Al finalizar el curso el alumno será capaz de: Diseñar algoritmos utilizando estructuras estáticas de datos y programación modular

Forma de trabajo. Tareas: Deberás realizar y entregar 6 tareas durante el

cuatrimestre. El alumno que no entregue ninguna tarea queda

automáticamente reprobado. Estas tareas se entregan en la página del curso el

siguiente martes después de ser asignada, máximo a las 11:59 pm.

No se reciben tareas extemporáneas No se reciben tareas enviadas a email del

docente, ni por cualquier otro medio que no sea la página de la materia.

Las tareas copy-paste o duplicadas serán anuladas.

Page 7: Al finalizar el curso el alumno será capaz de: Diseñar algoritmos utilizando estructuras estáticas de datos y programación modular

Exámenes:

Los dos exámenes se presentarán en el CEA (Favor de checar y respetar el horario del CEA)

Los exámenes estarán disponibles:› Parcial 1: del 30 de Junio al 02 de Julio› Parcial 2: del 21 al 23 de Julio

La revisión del Parcial 1 se realizará en la sesión 4

La revisión del Parcial 2 se realizará en la fecha acordada por el grupo después de terminadas las sesiones.

Page 8: Al finalizar el curso el alumno será capaz de: Diseñar algoritmos utilizando estructuras estáticas de datos y programación modular

Sitio Web del curso

www.uvmsistemas.weebly.com

Aquí encontrarás: Calendario de actividades Guías de Estudio Entrega de Tareas

Page 9: Al finalizar el curso el alumno será capaz de: Diseñar algoritmos utilizando estructuras estáticas de datos y programación modular

1. Tipos Estructurados

Arreglos Unidimensionales y Bidimensionales

Page 10: Al finalizar el curso el alumno será capaz de: Diseñar algoritmos utilizando estructuras estáticas de datos y programación modular

Diferencia entre las variables simples y estructuradas.

Simples: Es sólo un espacio ó caja de memoria. Solo puede tener un valor cada vez.

Estructuradas: Es toda una colección de casillas de memoria, se puede almacenar más de un elemento a la vez con una condición:

***Todos los elementos deben ser del mismo

tipo

Page 11: Al finalizar el curso el alumno será capaz de: Diseñar algoritmos utilizando estructuras estáticas de datos y programación modular

Es una colección de datos que se caracterizan por suorganización y las operaciones que se definen en ella. Los

datos de tipo estándar pueden ser organizados en diferentes estructuras de datos: estáticas y dinámicas.

Estructura de Datos

ArregloUn arreglo es una colección de datos del mismo tipo, que se almacenan en posiciones consecutivas de memoria y

reciben un nombre común.

Page 12: Al finalizar el curso el alumno será capaz de: Diseñar algoritmos utilizando estructuras estáticas de datos y programación modular

• Finita: Todo arreglo tiene un límite; es decir, debe

determinarse cuál será el número máximo de elementos que podrán formar parte del arreglo.

• Homogénea: Todos los elementos del arreglo deben ser del mismo tipo.

• Ordenada: Se puede determinar cuál es el primer elemento, el segundo, el tercero,.... y el n-ésimo elemento.

Un arreglo es una colección finita, homogénea y

ordenada de elementos

Page 13: Al finalizar el curso el alumno será capaz de: Diseñar algoritmos utilizando estructuras estáticas de datos y programación modular

Los arreglos se clasifican de acuerdo a sus dimensiones en:

• - Unidimensionales (vectores)• - Bidimensionales (tablas o matrices)• - Multidimensionales (tres o más

dimensiones)

Clasificación.

Elemento 0

Elemento 1

….

….

Elemento n

Arreglo Unidimensional.

Page 14: Al finalizar el curso el alumno será capaz de: Diseñar algoritmos utilizando estructuras estáticas de datos y programación modular

Arreglo Bidimensional…

Elemento 1,1 Elemento 1,.. Elemento 1,n

Elemento 2,1 Elemento 2,.. Elemento 2,n

Elemento 3,1 Elemento 3,… Elemento 3,n

….. .…. .…

Elemento m,1 Elemento m,… Elemento m,n

Page 15: Al finalizar el curso el alumno será capaz de: Diseñar algoritmos utilizando estructuras estáticas de datos y programación modular

Declaración de Arreglos.La declaración involucra tres elementos:

• Tipo de dato• nombre y • tamaño

De acuerdo a sus dimensiones las maneras de declararlo son:

a) Arreglo unidimension

al también llamado vector:

Page 16: Al finalizar el curso el alumno será capaz de: Diseñar algoritmos utilizando estructuras estáticas de datos y programación modular

Int arreglo [fila][columna]

Tipo de Dato

Nombre

Num de filas

Num. De columnas

b) Arreglo bidimensional, también llamado Matriz:

Page 17: Al finalizar el curso el alumno será capaz de: Diseñar algoritmos utilizando estructuras estáticas de datos y programación modular

#include <iostream.h>

void main(){int calificacion[10];int i; for (i=0; i<10; i++) //Llenado del arreglo { cout<<"Dame la calificación "<<i+1<<"-> "; cin>>calificacion[i]; } for (i=0; i<10; i++) //Impresión del arreglo { cout<<calificacion[i] <<endl; }

}

Ejemplo de Vector

Page 18: Al finalizar el curso el alumno será capaz de: Diseñar algoritmos utilizando estructuras estáticas de datos y programación modular

La forma como pueden ser accesados los elementos de un arreglo, es de la siguiente forma:

listanum[2] = 15; /* Asigna 15 al 3er elemento del arreglo listanum*/

num = listanum[2]; /* Asigna el contenido del 3er elemento a la variable num */

Acceso al vector

Page 19: Al finalizar el curso el alumno será capaz de: Diseñar algoritmos utilizando estructuras estáticas de datos y programación modular

#include <iostream.h>void main (){int i, j;int matriz[7][15];

for (i=0; i<7; i++) //llenar la matriz for(j=0; j<15 ; j ++) { cout<<"INTRODUCE EL ELEMENTO "<<i<<","<<j<<": "; cin>>matriz[i][j]; }

for (i=0; i<7; i++) //imprimir la matriz for(j=0; j<15 ; j ++) { cout<<matriz[i][j]<<endl; }

}

Ejemplo de Matriz

Page 20: Al finalizar el curso el alumno será capaz de: Diseñar algoritmos utilizando estructuras estáticas de datos y programación modular

Acceso a la matriz

tabladenums[2][3] = 15; /* Asigna 15 al elemento de la 3ª fila y la 4ª columna*/

num = tabladenums[25][16];

En C se permite la inicialización de arreglos, debiendo seguir el siguiente formato:

tipo nombre_arr[ tam1 ][ tam2 ] … [ tamN] = {lista-valores};

Por ejemplo: int i[10] = {1,2,3,4,5,6,7,8,9,10};

int num[3][4]={0,1,2,3,4,5,6,7,8,9,10,11};

Page 21: Al finalizar el curso el alumno será capaz de: Diseñar algoritmos utilizando estructuras estáticas de datos y programación modular

Ejercicios..

Elabore un programa que permita leer una lista de 10 números reales en un arreglo, calcule la suma y promedio de los mismos.

Crea un programa que permita al usuario llenar un arreglo con 8 números enteros. Desplegar los números pares calculando su respectiva media aritmética.

Crea un programa que permita al usuario llenar con números enteros mayores que 30, una matriz de 3*3 . Desplegar en pantalla el contenido de la matriz.

Generar e imprimir un vector de 10 números enteros y encontrar el mayor de ellos.

Page 22: Al finalizar el curso el alumno será capaz de: Diseñar algoritmos utilizando estructuras estáticas de datos y programación modular

Tarea 1..

1.- Visitar: http://

www.mailxmail.com/curso-aprende-programar/estructuras-datos-arreglos

http://aldeafraypedrodeagreda.files.wordpress.com/2009/12/11-arreglos-multidimensionales.pdf

2.- Ver video tutorial: Video 3.- Realizar la Práctica 1

Subir a la página de la materia en PRACTICA 1 a más tardar el

Martes 14 de Junio a las 11:59 pm.