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

Post on 24-Jan-2016

222 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Algoritmos y Estructuras de Datos

LIA. Suei Chong Sol, MCE.

Objetivo General.

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

Método de Evaluación

Evaluación 100%

1er. Examen

20%

2do. Examen

40%

Tareas y Prácticas

20%

Proyecto20%

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

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.

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.

Sitio Web del curso

www.uvmsistemas.weebly.com

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

1. Tipos Estructurados

Arreglos Unidimensionales y Bidimensionales

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

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.

• 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

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.

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

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:

Int arreglo [fila][columna]

Tipo de Dato

Nombre

Num de filas

Num. De columnas

b) Arreglo bidimensional, también llamado Matriz:

#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

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

#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

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

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.

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.

top related