portafolio de evidencias de unidad 1 y 2 de algoritmos de programacion

33
ALUMNO: ANTONIO DE JESUS LOPEZ CHAN MECANICA: 6 B1 N°CONTROL: 091020118 INSTITUTO TECNOLOGICO DE SALINA CRUZ PORTAFOLIO DE EVIDENCIAS UNIDAD I Y

Upload: pechan003

Post on 10-Aug-2015

54 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: Portafolio de Evidencias de Unidad 1 y 2 de Algoritmos de Programacion

ALUMNO: ANTONIO DE JESUS LOPEZ CHAN MECANICA: 6 B1 N°CONTROL: 091020118

INSTITUTO TECNOLOGICO DE SALINA CRUZ

PORTAFOLIO DE EVIDENCIAS

UNIDAD I

Y

UNIDAD II

Page 2: Portafolio de Evidencias de Unidad 1 y 2 de Algoritmos de Programacion

INSTITUTO TECNOLOGICO DE SALINA CRUZ

ALUMNO: Antonio de Jesús López chan

MATERIA: algoritmos y programación

SEMESTRE: 6 GRUPO: B1

TEMA: portafolio de evidencia de la unidad 1

S a l i n a c r u z O a x a c a

UNIDAD 1: INTRODUCCION A LA COMPUTACION

1.1. HISTORIA DE LOS LENGUAJES DE PROGRAMACION1.2. PROCESOS DE EDICION, COMPILACION,ENLAZADO1.3. ENTORNO DEL LENGUAJE “c” Y SOFTWARE DE

APLICACIÓN DE ULTIMA GENERACION1.4. DIAGRAMAS DE FLUJO1.5. PSEUDOCODIGOS1.6. ESTRUCTURA GENERAL DE UN PROGRAMA1.7. CONCEPTOS BASICOS DE IDENTIFICADOR,

LOCALIDAD DE MEMORIA Y PALABRAS RESERVADAS

Page 3: Portafolio de Evidencias de Unidad 1 y 2 de Algoritmos de Programacion

Historia del Lenguaje C.INTRODUCCIÓN AL LENGUAJE C

El Lenguaje C es uno de los lenguajes de programación más populares en la actualidad. Permite realizar una programación estructurada sin límite a la creatividad del programador y además los compiladores de C tienen la ventaja de producir programas reducidos y muy rápidos en ejecución. Por ello, muchos paquetes de software están escritos en C. El lenguaje C, está hecho para ser altamente transportable y para programar lo improgramable, por lo que el Lenguaje C ha demostrado ser un lenguaje extremadamente eficaz y expresivo.

HISTORIA   DEL LENGUAJE C

El lenguaje C fue creado en los Laboratorios Bell de AT&T y es comparado con el sistema UNIX, ya que son en su totalidad, tanto el compilador de C como el mismo sistema en su mayoría de programas fueron escritos en este lenguaje. Tanta fue su aceptación que por su eficiencia y legibilidad han hecho olvidar un poco al lenguaje ensamblador, provocando con esto que se asocie el lenguaje ensamblador con el sistema UNIX.                       El antecesor del Lenguaje C fue el Lenguaje B, que fue creado en 1970, por Ken Thompson, con la finalidad de reestructurar al sistema UNIX, que originalmente había sido escrito y producido en lenguaje ensamblador.             El Lenguaje B, sucedió al Lenguaje BCPL, que fue escrito éste último por el programador Martín Richard en 1967, el lenguaje B era un lenguaje evolucionado e independiente de la máquina.             Dennis Ritchie, modifica el Lenguaje B, para así crear el Lenguaje C, para posteriormente rescribir el sistema UNÍS en éste lenguaje. La diferencia entre el Lenguaje B y el Lenguaje C, es que este último permitía el diseño de nuevos tipos de datos, es decir daba la libertad al usuario de diseñar sus propios tipos de datos para el manejo que mejor le convenga , esta utilidad es muy utilizada en la actualidad por que permite al programador a tener un pleno control del programa que realiza y así poder adaptar cada circunstancia que se le presente a las necesidades que independientemente provocan cada situación.             Unas de las peculiaridades de C es su riqueza de operadores. También existen toda una serie de operaciones que pueden hacerse con el Lenguaje C, que realmente no están incluidas en el compilador, si no que las realiza un pre-procesador justo antes de la compilación. Las dos más importantes son # define (directriz de sustitución simbólica o de definición), esta directriz es utilizada cuando declaramos una constante en algún programa, dentro del editor del Lenguaje C; y también  # Include (Directriz de inclusión en el fichero fuente).

Page 4: Portafolio de Evidencias de Unidad 1 y 2 de Algoritmos de Programacion

CARACTERÍSTICAS DEL LENGUAJE C. 

  Programación estructurada.  Expresiones Simples.  Variedad de operadores matemáticos, lógicos y comparativos.  Variedad de tipos de datos.  Codificación en alto y bajo nivel simultáneamente.  No está orientado a un área en específico.  Facilidad de aprendizaje.

TIPOS DE DATOS BÁSICOSLos tipos de datos básicos que surgieron con el Lenguaje C son, el tipos carácter (char), entero (int), reales (float), y reales con doble precisión (double). Con la evolución  y al paso del tiempo se fueron añadiendo más tipos de datos como lo son: los tipos enteros de longitud menor o igual a la longitud de un entero (short), enteros con longitud mayor o igual a la longitud de un entero (long), enteros sin signo (unsigned) y las enumeraciones.             Las instrucciones de Control de flujo de datos en el Lenguaje C son las habituales de la programación estructurada: If, For, While, Switch-Case, entre otros más.

TIPOS DE DATOS ESTRUCTURADOS BÁSICOS Los tipos estructurados básicos en el Lenguaje C son, las estructuras, las uniones y los arrays, permitiendo al usuario la utilización de varios tipos de datos que derivan de estos y los anteriores, pero con una mayor complejidad, por esta razón se dice que el Lenguaje C contiene una gran variedad y abundancia de operadores y tipos de datos.

PUNTEROS Y FUNCIONES El usuario puede definir sus propias funciones y utilizarlas e cualquier momento, puede formar sus propias librerías, el uso de los punteros le permite al programador tener una ventaja más; puesto que el Lenguaje C, permite almacenar en variables direcciones de memoria específicas, a esto es a lo que llamamos que un puntero “apunta” a una dirección de memoria, esto origina que el programador obtenga un control absoluto sobre los recursos del sistema para hacer de el una herramienta más en la elaboración de su trabajo.             El manejo de punteros es muy riesgoso porque al manejar punteros sin tener pleno conocimiento teórico del manejo de estos y lo que podemos llegar a causar, con el mal uso de estos, originando tal vez hasta un bloqueo del equipo o hasta formatear una máquina, es por eso que les recomiendo que antes de usar punteros es mejor que se asesoren correctamente. El uso de punteros en el Lenguaje C, es un distintivo de su potencial, y es por estas causas que muchos estudiantes les da temor y a muchos otros los motiva el aprender correctamente todas las instrucciones y opciones que el Lenguaje C tiene para hacer de ellos unos excelentes programadores.

Page 5: Portafolio de Evidencias de Unidad 1 y 2 de Algoritmos de Programacion

RECURSIVIDAD El Lenguaje C, maneja una propiedad que es muy útil y practica en estos tiempos como lo es la “Recursividad” en la implementación de alguna aplicación hecha en C, esto es decir que con el Lenguaje C podemos realizar funciones diseñadas por nosotros mismos y que estas a la vez llamen a otras implementadas por  el Lenguaje C o por nosotros mismos o si es mejor llamarse a si mismas dentro de un mismo código fuente, esto permite al usuario que con pocas funciones podemos realizar muchos objetivos fijados antes de programar.

EVOLUCIÓN DEL LENGUAJE CEste Lenguaje ha evolucionado paralelamente con el UNIX, que a su vez ha pasado por diversas versiones entre las que destaca Microsoft con su XENIX para micros de 16 bits.

  INCONVENIENTES O DESVENTAJAS DEL LENGUAJE C Las desventajas que se pueden encontrar al Lenguaje C son las siguientes: Carece de instrucciones de entrada/salida, de instrucciones para el manejo de cadenas de caracteres, con lo que este trabajo queda para la librería de rutinas, con la consiguiente pérdida de transportabilidad. La excesiva libertad  en la escritura de los programas puede llevar a errores en la programación que, por ser correctos sintácticamente no se detectan a simple vista. Por otra parte las precedencias de los operadores convierten a veces las expresiones en pequeños rompecabezas.

CONCEPTOS BÁSICOS DE IDENTIFICADOR, LOCALIDAD DE MEMORIA Y PALABRAS RESERVADAS

Identificador: Es una serie de caracteres formados por letras y digitos y es el nombre que le damos a todo lo que manipulamos dentro de un programa.Localidad de memoria: corresponde a uno de los siguientes 2 elementos semiconductores: a un Flip-Flop o a un capacitor.Palabras reservadas: son palabras que tienen un significado especial para el lenguaje y no se pueden utilizar como identificadores.

MAPA MENTAL DEL LENGUAJE C

Page 6: Portafolio de Evidencias de Unidad 1 y 2 de Algoritmos de Programacion

PRACTICAS

Page 7: Portafolio de Evidencias de Unidad 1 y 2 de Algoritmos de Programacion

EJERCICIOS CON DIAGRAMAS DE FLUJO

Page 8: Portafolio de Evidencias de Unidad 1 y 2 de Algoritmos de Programacion

CALCULAR EL AREA DE UN TRIANGULO RECTANGULO

fin

area

2< <4area

= * /2area a b

=3a=2b

inicio

no

si

COMO PREPARAR HUEVOS REVUELTOS

Page 9: Portafolio de Evidencias de Unidad 1 y 2 de Algoritmos de Programacion

1.-gas2.-estufa3.-sarten

4.-espatula5.-aceite

6.-sal7.-2 huevos

inicio

verificacion deutencilios aocupar

comoprepararhuevosrevueltos

vaciarhuevos en elsarten

prenderestufa

romperhuevos

agregaraceite

poner elsarten en laestufa

inspeccionarque elhuevoestecocido

agregarsal al gusto

revolver elhuevo con laespatula

servir elalimento

¿tesaliocomoesperabas?

¿yaestacocido elhuevo?

no

si

no

si

paso 1 paso 2

finhuevorevuelto

QUE AGO DESDE QUE ME LEVANTO HASTA QUE ME VOY ALA ESCUELA

Page 10: Portafolio de Evidencias de Unidad 1 y 2 de Algoritmos de Programacion

tomo elurbano parairme alaescuela

¿yaestoylisto?

mecepillo losdientes

mepeino

mevisto

mebaño

desayuno

arreglomisutilesescolares

melevanto

INICIO

1.-mochila2.-cuadernos3.-lapiceros

4.-documentos

1.-playera2.-pantalon3.-zapatos

no

si

finllego alaescuela

Page 11: Portafolio de Evidencias de Unidad 1 y 2 de Algoritmos de Programacion

EN QUE CONSISTE UN PSEUDOCODIGO

El pseudocódigo es un lenguaje de especificación de algoritmos.

En sí es una mezcla de lenguaje de programación y de lenguaje natural. La idea del pseudocódigo consiste en aprovechar la flexibilidad y poder expresivo del lenguaje natural por un lado, y las reglas de composición de los lenguajes de programación de alto nivel por el otro.

El pseudocódigo utiliza para representar las acciones sucesivas palabras reservadas en inglés - similares a sus homónimas en los lenguajes de programación -, tales como start, end, stop, if-then-else, while etc. La escritura del pseudocódigo exige normalmente la indentación (sangría en el margen izquierdo) de diferentes líneas. La representación en pseudocódigo del diagrama de flujo del ejemplo anterior sería:

 

Start

{cálculo de impuesto y salario}

read nombre, hora, precio_hora

salario_bruto  horas * precio_hora

tasa  0.1 *salario_bruto

salario_neto  salario_bruto - tasa

write nombre, salario_bruto, tasa, salario_neto

end

 

 El algoritmo comienza con la palabra start y finaliza con la palabra end, en inglés (en español, inicio y fin). Entre estas palabras, sólo se escribe una instrucción o acción por línea.

La línea encerrada entre llaves { ... } se denomina comentario. Es una información al lector del programa y no realiza ninguna instrucción ejecutable; sólo tiene efecto de documentación interna del programa. Algunos autores suelen utilizar corchetes en lugar de llaves [ ... 

Page 12: Portafolio de Evidencias de Unidad 1 y 2 de Algoritmos de Programacion

EJERCICIOS DE PSEUDOCODIGO

1.- Escribir un Pseudocódigo de un programa que permita leer la edad y peso de una persona y posteriormente imprimirla. Inicio    Variables edad, peso.    Imprimir "Escribir los datos (Edad, Peso):"    Leer Edad, Leer Peso.    Visualizar "Tu peso es: ", peso, " y tu edad es: ", edad.Fin.

2.- Escribir un Pseudocódigo que calcule el área de un triángulo recibiendo como entrada el valor de base y altura. Inicio    Variables Altura, Base, Área.     Imprimir "Introduce la base y la altura: "    Leer base y peso.    área= (base*altura)/2.    Imprimir "El área es: ", base.Fin.

3.- Escribir Pseudocódigo que calcule el área de un círculo. Inicio   Constantes  Pi= 3.1416   Variables Radio, area = real     Imprime "Introduce el radio: "   Leer radio.   area= radio*radio*Pi   Imprimir "El área del circulo es: ", área.Fin.

4.- Escribir Pseudocodigo que dados 2 valores de entrada imprima siempre la división del mayor entre el menor. Inicio   Variables num1, num2=entero.   Variables R=real.    Imprimir "Introduce los números:"   Leer num1, Leer num2.   Si a>b entonces      R= a/b   Sino      R= b/aFin.

Page 13: Portafolio de Evidencias de Unidad 1 y 2 de Algoritmos de Programacion

5.- Escribir Pseudocódigo que lea de entrada 3 números y que indique cual es el mayor de ellos. Inicio   Variables a, b,c = enteros.     Imprimir "Introduce los datos a comparar: "   Leer a, b,c   Si a<b y a<c entonces      Imprime "El mayor es: ", a   Sino      Si b<a y b<c entonces         Imprime "El mayor es: ",b      sino         Imprime "El mayor es: ", cFin.

6.- Escribir un Pseudocodigo que pida la edad y el sexo y dependiendo si es hombre o mujer y si puede votar o no. Inicio   variables edad=entero, sexo=caracter.     repetir   Imprimir "Introduce Tu edad:"   Leer edad.   Hasta que (edad >0)    Hacer   Imprimir "Introduce tu sexo (M/H):"   leer sexo   hasta que (sexo='H' o sexo = 'M')    Si  sexo= 'M' entonces       si edad > 18 entonces           Imprimir "Eres Mujer y puedes votar"       sino           Imprimir "Eres Mujer y no puedes votar"   Sino       si edad >18 entonces           Imprimir "Eres Hombre y puedes votar"       sino           Imprimir "Eres Hombre y no puedes votar"Fin.

Page 14: Portafolio de Evidencias de Unidad 1 y 2 de Algoritmos de Programacion

UNIDAD IIOPERADORES, VARIABLES,

CONSTANTES, TIPOS DE DATOS Y EXPRESIONES

2.1 ELEMENTOS DE LEXICO Y SINTAXIS2.2 VARIABLES Y CONSTANTES

2.3 TIPOS DE DATOS FUNDAMENTALES2.4 OPERADORES Y PRECEDENCIA

2.5 CONSTRUCCION DE EXPRESIONES2.6 SENTENCIAS Y BLOQUES DE SENTENCIAS DE

PROGRAMAS2.7 FUNCIONES BASICAS DE ENTRADA Y SALIDA

2.1.-ELEMENTOS DE LEXICO Y SINTAXIS

LEXICO

Page 15: Portafolio de Evidencias de Unidad 1 y 2 de Algoritmos de Programacion

Conjunto de símbolos que se pueden usar en el lenguaje.Estos símbolos o elementos básicos del lenguaje, podrán ser de los siguientes:

IDENTIFICADORES: nombres simbólicos que se darán a ciertos elementos de programación (por ejemplo, nombres de variables, tipos, módulos, etc.).

CONSTANTES: datos que no cambiaran su valor a lo largo del programa.

OPERADORES: símbolos que representaran operaciones entre variables y constantes.

INSTRUCCIONES: símbolos especiales que representaran estructuras de procesamiento, y de definición de elementos de programación.

COMENTARIOS: texto que se usara para documentar los programas.

PALABRAS RESERVADAS

SINTAXISLa sintaxis de un lenguaje, como lo es en el lenguaje español, nos proporciona la forma correcta de escribir en el lenguaje.

2.2 VARIABLES Y CONSTANTES

VARIABLES

Page 16: Portafolio de Evidencias de Unidad 1 y 2 de Algoritmos de Programacion

En programación, las variables son espacios reservados en la memoria que, como su nombre indica, pueden cambiar de contenido a lo largo de la ejecución de un programa. Una variable corresponde a un área reservada en la memoria principal del ordenador pudiendo ser de longitud:

FIJA: cuando el tamaño de la misma no variara a lo largo de la ejecución del programa, todas las variables, sean del tipo que sean tienen longitud fija, salvo algunas excepciones- como las colecciones de otras variables (arrays) o a las cadenas

VARIABLE: cuando el tamaño de la misma puede variar a lo largo de la ejecución. Típicamente colecciones de datos.

Las variables se representan con identificadores que hacen referencia a un lugar de la memoria del programa en donde se almacena un dato. Una variable está asociada a un tipo de datos, el cual y en función del tamaño del mismo determina la cantidad de bytes que serán necesarios para almacenar la variable. En el caso de colecciones y al contrario que con el resto de tipos de datos, ya sean primitivos y objetos complejos, la memoria asignada a almacenar tales variables no se conocen de antemano, lo cual lleva a establecer políticas de reserva de memoria:

RESERVA FIJA DE MEMORIA: implica predeterminar la cantidad de memoria que se asignara a la colección. Es una política extremadamente rigida, ya que llegados al final de la zona de memoria no se podrían almacenar nuevos elementos.

RESERVA VARIABLE DE MEMORIA: se dedica una zona de memoria, pudiendo ser de un tamaño predeterminado o no, y en caso de sobrepasarse dicha zona de memoria se vuelve a asignar otra zona, contigua o no, para impedir la restricción mencionada arriba.

CONSTANTEEn programación, una constante es un valor que no puede ser alterado durante la ejecución de un programa.

Una constante corresponde a una longitud fija de un área reservada en la memoria principal del ordenador, donde el programa almacena valores fijos:

Por ejemplo:

El valor de pi=3.1416

Por conveniencia , el nombre de las constantes suele escribirse en mayúsculas en la mayoría de lenguajes.Ejemplo de una constante en C(#define)

Page 17: Portafolio de Evidencias de Unidad 1 y 2 de Algoritmos de Programacion

En C las constantes se declaran con la directiva #define, esto significa que esa constante tendrá el mismo valor a lo largo de todo el programa. El identificador de una constante así definida será una cadena de caracteres que deberá cumplir los mismos requisitos que el de una variable (sin espacios en blanco, no empezar por un digito numérico, etc.).

Ejemplo: #include <stdio.h>

  #define PI  3.1415926

  int main()

{

    printf("Pi vale %f", PI);

    return 0;

  }

Lo cual mostrara por pantalla  Pi vale 3.1415926

Es decir, PI es una constante ala que hemos asignado el valor 3.1415926 mediante la directiva #define.

La directiva #define también se puede utilizar para definir expresiones más elaboradas con operadores (suma, resta, multiplicación, etc.,) y otras constantes que hayan sido definidas previamente, por ejemplo:

#define X  2.4

  #define Y  9.2

  #define Z  X + Y

En C++ el uso de #define está totalmente desaconsejado, para declarar una constante simbólica (equivalente a constante en C) se una la palabra const seguido del tipo de dato que queramos incluir.

2.7 FUNCIONES BASICAS DE ENTRADA Y SALIDA

Page 18: Portafolio de Evidencias de Unidad 1 y 2 de Algoritmos de Programacion

SENTENCIAS DE ENTRADA Y SALIDACuando nos referimos a entrada/salida estándar (E/S estándar) queremos decir que los datos o bien se están leyendo del teclado, o bien se están escribiendo en el monitor del video.En el lenguaje C++ tenemos varias alternativas para ingresar y/o mostrar datos, dependiendo de la librería que vamos a utilizar para desarrollar el programa.

Las operaciones de entrada y salida no forman parte del conjunto de sentencias de C++, sino que pertenecen al conjunto de funciones y clases de la biblioteca estándar de C++. Ellas se incluyen en los archivos de cabecera iostream.h por lo que siempre que queramos utilizarlas deberemos de introducir la línea de código #include <iostream.h>

Esta biblioteca es una implementación orientada a objetos y esta basada en el concepto de flujos. A nivel abstracto un flujo es un medio de describir la secuencia de datos de una fuente a un destino sumidero. Asi, por ejemplo, cuando se introducen caracteres que fluyen o se trasladan desde el teclado a las estructuras de datos del programa.

Los objetos de flujo que vienen predefinidos serán: Cin, que toma caracteres de la entrada estándar (teclado); Cout, pone caracteres en la salida estándar (pantalla); Cerr y clog ponen mensajes de error en la salida estándar.

SALIDA (OUT)El poerador de inserción, <<, inserta datos en flujo, ejemplos:

Cout<<500;// envía el numero 500 a la pantalla Cout<<”esto es una cadena”;// visualiza esto es una cadena

Es posible usar una serie de operadores <<en cascada, ejemplo: Cout<<500<<”,”<<600<<”,”<<700;

Visualiza 500, 600, 700

C++ utiliza secuencias de escape para visualizar carcteres que no están representados por símbolos tradicionales, tales como\a,\b, etc.Ejemplo:

Cout<<”\n” // salta a una nueva línea Cout<< “ yo estoy preocupado \n no por el funcionamiento \n sino por la

claridad \n”;ENTRADA (CIN)

Page 19: Portafolio de Evidencias de Unidad 1 y 2 de Algoritmos de Programacion

El archivo de cabecera iostream.h d ela biblioteca C++ proporciona un flujo de entrada estándar cin y un operador de extracción, >> para extraer valores del flujo y almacenarlo en variables, la entrada normal es el teclado.Ejemplo:int n, n1, n2; // se declara las variables n, n1 y n2cin >> n; // el cursor aparece en pantalla esperando un                     // date de entrada por el teclado para ponerlo                   // en la variable n.

// abajo, el cursor aparece despues del mensaje entre comillas// esperando dos valores, cada uno seguido de la tecla ENTER.

cout << " introduzca los valores de n1 y n2 " ;cin >>  n1 >>  n2

PRACTICA N°1

Page 20: Portafolio de Evidencias de Unidad 1 y 2 de Algoritmos de Programacion

UNIDAD IINOMBRE: ANTONIO DE JESUS LOPEZ CHAN

FECHA: 12 DE FEBRERO DE 2013GRUPO: 2 B1

PRACTICA N°2

Page 21: Portafolio de Evidencias de Unidad 1 y 2 de Algoritmos de Programacion

UNIDAD IINOMBRE: ANTONIO DE JESUS LOPEZ CHAN

FECHA: 12 DE FEBRERO DE 2013GRUPO: 2 B1

Page 22: Portafolio de Evidencias de Unidad 1 y 2 de Algoritmos de Programacion

PRACTICA N°3UNIDAD II

NOMBRE: ANTONIO DE JESUS LOPEZ CHANFECHA: 19 DE FEBRERO DE 2013

GRUPO: 2 B1

Page 23: Portafolio de Evidencias de Unidad 1 y 2 de Algoritmos de Programacion

PRACTICA N°4UNIDAD II

NOMBRE: ANTONIO DE JESUS LOPEZ CHANFECHA: 19 DE FEBRERO DE 2013

GRUPO: 2 B1

Page 24: Portafolio de Evidencias de Unidad 1 y 2 de Algoritmos de Programacion

PRACTICA N°5UNIDAD II

NOMBRE: ANTONIO DE JESUS LOPEZ CHANFECHA: 19 DE FEBRERO DE 2013

GRUPO: 2 B1

Page 25: Portafolio de Evidencias de Unidad 1 y 2 de Algoritmos de Programacion

PRACTICA N°6AUNIDAD II

NOMBRE: ANTONIO DE JESUS LOPEZ CHANFECHA: 21 DE FEBRERO DE 2013

GRUPO: 2 B1

Page 26: Portafolio de Evidencias de Unidad 1 y 2 de Algoritmos de Programacion

PRACTICA N°6BUNIDAD II

NOMBRE: ANTONIO DE JESUS LOPEZ CHANFECHA: 21 DE FEBRERO DE 2013

GRUPO: 2 B1

Page 27: Portafolio de Evidencias de Unidad 1 y 2 de Algoritmos de Programacion

PRACTICA N°7UNIDAD II

NOMBRE: ANTONIO DE JESUS LOPEZ CHANFECHA: 21 DE FEBRERO DE 2013

GRUPO: 2 B1