sábado, 31 de mayo de 2014

Autoras del Trabajo

Proyecto Final
 
Mtra. Leticia Palma Rosales
M. en I. María de los Ángeles Contreras Flores

martes, 27 de mayo de 2014

Información del Curso

Objetivo del blog

Proporcionar al alumno de la asignatura de Programación Básica, material didáctico que lo apoye en el desarrollo de las habilidades y competencias que le permitan manejar y aplicar los principios de la programación estructurada para la solución de problemas, considerando la metodología base para construir programas, enfatizando el uso de pseudocódigo.

Contenido del blog

  1. Conceptos
  2. Programación Estructurada
  3. Estructuras de Control Secuencial
  4. Estructuras de Control Selectivas
  5. Estructuras de Control Iterativas
  6. Arreglos Unidimensionales
  7. Arreglos Bidimensionales
  8. Programación Modular o Funciones

Desempeños del estudiante al concluir el bloque

  • Analiza problemas
  • Diseña soluciones mediante pseudocódigo
  • Valida el funcionamiento de los pseudocódigos aplicando pruebas de escritorio
  • Elabora documentación técnica

  Objetos de aprendizaje

  • Estructuras de control
  • Arreglos unidimensionales y bidimensionales
  • Funciones o Módulos

Competencias a desarrollar

  • Ordena información de acuerdo a categorías, jerarquías y relaciones.
  • Propone maneras de solucionar un problema o desarrollar un proyecto en equipo, definiendo un curso de acción con pasos específicos.
  • Plantea soluciones mediante el desarrollo de pseudocódigos.
  • Manejar y aplicar los principios de la programación estructurada para la solución de problemas.
  • Utilizas las tecnologías de información y comunicación para investigar, resolver problemas, producir materiales y transmitir información.

 

Material didáctico

Computadora,proyector, compilador C++, Internet, libros, revistas.

 

Tiempo destinado

 36 hrs.

 

Fuentes de Consulta

  1. Corona Nakamura A. y Ancona Valdez María de los Ángeles. (2011), Diseño de Algoritmos y su Codificación en Lenguaje C. 1ª. edición. México. McGrawHill
  2. Cairó Battistuti O. (2006), Fundamentos de Programación, Piensa en C, Pearson
  3. Joyánes Aguilar L y Zahonero Martínez I. (2003), Programación Orientada a Objetos. 2ª. Edición. Madrid. McGrawHill
  4. Joyánes Aguilar L y Zahonero Martínez I. (2010), Programación en C, C++, Java y UML. 1ª. Edición. México. McGrawHill

 

1. Conceptos Básicos


En este apartado se presentan conceptos fundamentales relacionados a la programación de computadoras, su adecuada comprensión es importante ya que su aplicación esta implícita en el desarrollo de pseudocódigos y programas.

A continuación te presento unos apuntes de Leticia Palma y María de los Ángeles Contreras (Facultad de Ingeniería de la UAEM), que integran toda la información necesaria para el desarrollo del curso.



2. Programación Estructurada

Concepto: La programación estructurada (PE), es un estilo de programación con el cual el programador elabora programas, cuya estructura es la más clara posible, mediante el uso de tres estructuras básicas de control.

Estas estructuras controlan el comportamiento de un método o programa. Además, permiten combinar instrucciones o sentencias individuales en una sencilla unidad lógica.

Las instrucciones o sentencias se organizan en tres tipos de estructuras de control que sirven para controlar el flujo de la ejecución:  

a)    Secuencia
b)    Selección
c)     Iteración

Un programa estructurado se compone de funciones, segmentos, módulos y/o subrutinas, cada una con una sola entrada y una sola salida. Cada uno de estos módulos (aún en el mismo programa completo), se denomina programa apropiado cuando, además de estar compuesto solamente por las tres estructuras básicas, tiene sólo una entrada y una salida y en ejecución no tiene partes por las cuales nunca pasa ni tiene ciclos infinitos.  
La programación estructurada tiene un teorema estructural o fundamental, el cual afirma que cualquier programa, no importa el tipo de trabajo que ejecute, puede ser elaborado utilizando únicamente las tres estructuras básicas (secuencia, selección, iteración)(Corona, 2011).
En el siguiente diagrama (figura 1) se presenta la clasificación de los tres tipos de estructuras de control:


                               Figura 1. Clasificación de las estructuras de control 

                             (Elaboró: María de los Ángeles Contreras Facultad de Ingeniería de la UAEM)

En el capítulo 5 del libro editado por McGraw-Hill que se presenta a continuación, podrás ver el concepto de la programación estructurada clásica (sin goto) y la programación estructurada moderna (modularidad o segmentación).

http://www.mcgraw-hill.es/bcv/guide/capitulo/8448148703.pdf 

3. Estructura de Control Secuencial


Concepto: La estructura de control secuencial es la más sencilla y fundamental. Realiza la ejecución de las intrucciones de sentencia a sentencia hasta llegar al final. Esta estructutura generalmente integra sentencias compuestas. Una sentencia compuesta es un conjunto de sentencias encerradas entre llaves ({ }) empleadas para indicar un flujo secuencial como se ilustra en la figura 2.

 
                                  Figura 2. Sentencia compuesta
                                                       (Elaboró: Leticia Palma Rosales)

En el artículo "Estructuras secuenciales" (Wilder Urbaez, 2005), que se presenta a continuación, se muestran dos ejemplos que ilustran el trabajo de la estructura secuencial.

http://www.desarrolloweb.com/articulos/2199.php 

4. Estructuras de Control Selectivas

Concepto: Las estructuras lógicas selectivas se emplean cuando se requiere tomar una decisión durante el desarrollo de la solución de un problema. La toma de decisión se basa en la evaluación de una o más condiciones que indican la rama a seguir.

Dependiendo de las situaciones que se presenten, frecuentemente se debe tomar más de una de decisión a la vez, por ésta razón las estructuras selectivas se clasifican en: 

  1. Estructura selectiva simples
  2. Estructura selectiva doble
  3. Estructura selectiva múltiples
  4. Estructura selectiva en cascada.
En la siguiente presentación (María de los Ángeles Contreras y Leticia Palma. Facultad de Ingeniería de la UAEM) encontrarás la explicación detallada sobre el funcionamiento de cada una de ellas.

Estructuras de control selectivas from marigelcontreras

Para ilustrar como trabajan las estructuras selectivas, en los siguientes videos del sitio web www.inteligenciafutura.com de Carlos Ramírez Gutiérrez, se presentan los siguientes ejercicios.

1. Ejemplos de estructura selectiva doble
http://www.youtube.com/watch?v=Fbq2IwrvRRs 
http://www.youtube.com/watch?v=g2VXLjLBtMg 

2. Ejemplo de estructura selectiva anidada
http://www.youtube.com/watch?v=hzdZ6HbGbqg 

3. Ejemplo de estructura selectiva múltiple
https://www.youtube.com/watch?v=OzExWGCe9XA 


Actividad en Equipo:
  1. Integra un equipo con dos compañeros de tu clase.
  2. Resuelvan los ejercicios que vienen propuestos en la presentación anterior titulada "Estructuras de Control" de Contreras y Palma. Utilicen hojas blancas por los dos lados.
  3. Al terminar deberán entregar su trabajo a otro equipo.
  4. Del trabajo que reciban, deberán realizar las pruebas de escritorio de cada uno de los ejercicios resueltos y detectar y corregir los posibles errores.
  5. Anoten su nombre en el trabajo que corrigieron
  6. Entregarlo al profesor.

 

5. Estructuras de Control Iterativas o Repetitivas

Concepto: Las estructuras repetitivas o iterativas son utilizadas para repetir una o un conjunto de intrucciones un número finito de veces. Por ejemplo, escribir algo en pantalla cierta cantidad de veces, mover un objeto de un punto a otro cierta cantidad de pasos, o hacer una operación matemática cierta cantidad de veces.

Al conjunto de instrucciones que se repite cierto número de veces dentro de un pseudocódigo o un programa se le llama bucle o ciclo y a cada repetición se le conoce como iteración. 

Las estructuras repetitivas o iterativas son tres:
  1. Desde o para (for)
  2. Mientras (while)
  3. Repite o Hacer mientras (do-while) 
La siguiente presentación (María de los Ángeles Contreras y Leticia Palma. Facultad de Ingeniería de la UAEM)la hemos desarrollado para darte una explicación detallada de cómo trabaja cada una de ellas.



Estructuras iterativas from marigelcontreras

Actividad en equipo:
1. Integra un equipo con 3 compañeros de tu clase
2. Resuelvan en papel blanco de manera limpia y ordenada y utilizando las 2 caras del papel, los ejercicios de la página 48 y 49 del material titulado "Módulo de Algoritmos" (Carmen Saavedra, Universidad de Piurna) que encontrarás en el siguiente link: http://www.unp.edu.pe/institutos/iipd/trabajosinvestigacion/trabajodeinvestigacion-infantesaavedra3.pdf.pdf.
3. Realicen la prueba de escritorio de cada uno de los ejercicios una vez que los hayas terminado.
4. Entrega tu trabajo al profesor con las hojas engrapadas y una portada con el nombre de los integraantes del equipo.

lunes, 26 de mayo de 2014

6. Arreglos Unidimensionales, Vectores o Listas

Definición: Un arreglo unidimensional es Un arreglo unidimensional es un tipo de datos estructurado que está formado por una colección finita y ordenada de datos del mismo tipo. Es la estructura natural para modelar listas de elementos iguales. Los datos que se guarden en los arreglos todos deben ser del mismo tipo.

En el sitio web titulado Arreglos Unidimensionales en C++, que puede ser accesado en la siguiente liga, se presenta una definición más amplia de lo que es un arreglo undimensional: 

Este tema se complementa con la siguiente presentación elaborada por Leticia Palma y María de los Ángeles Contreras de la Facultad de Ingeniería de la UAEM, que muestra una explicación detallada del trabajo con vectores.



7. Arreglos Bidimensionales, Matrices o Tablas

Definición: Un arreglo bidimensional es una estructura natural para almacenar la información que se puede representar de manera lógica como una matriz, visualizándose de forma abstracta como una rejilla con filas y columnas, de manera que cada elemento se referencía por el número de fila y columna donde se encuentra.

Un arreglo bidimensional tiene dos dimensiones y es un caso particular de los arreglos multidimensionales. En C#, las dimensiones se manejan por medio de un par de corchetes, dentro de los que se escriben, separados por comas, los valores de las dos dimensiones.

En el archivo titulado "Arreglos Bidimensionales (Matrices)" del sitio web Proyecto C++ de la Universidad Evangélica de El Salvador, se presenta una definición detallada de dichos arreglos, accesa el siguiente link para su consulta: http://lenguajecmasmas.wordpress.com/2007/10/01/arreglos-bidimensionales-matrices/

En la presentación titulada "Aplicación de los arreglos bidimensionales a un cuadrado mágico" (Leticia Palma y Maria de los Ángeles Contreras, Facultad de Ingeniería de la UAEM) se muestra un ejemplo típico del trabajo con matrices.



domingo, 25 de mayo de 2014

8. Programación Modular o Funciones

Programación Modular o Funciones

La programación basada en el diseño modular o funciones, es una metodología del desarrollo de programas que surge de la necesidad de abordar un problema complejo dividiéndolo en otros más sencillos, que se pueden llamar subproblemas, consiguiendo así comprender y abordar mejor el problema completo, de esta forma después de resolver todos los problemas se obtiene la solución del problema global.


En el video de Héctor Hernández García, que puede ser accesado en el link https://www.youtube.com/watch?v=OxAvFwYo3bw, se presenta una explicación completa de esta metodología de programación.

En el sitio web títulado Disco duro de roer, encontrarás algunos ejemplos muy interesantes que han sido propuestos y resueltos utilizando funciones. Además, incluye unos posts que te permiten recordar algunos conceptos fundamentales en caso de ser necesario. Puedes accesarlo en el siguiente link: http://www.discoduroderoer.es/ejercicios-propuestos-y-resueltos-de-funciones-pseudocodigo/# 

Actividad en Equipo:
  1. Integra un equipo con dos compañeros de tu clase.
  2. Resuelvan los 10 ejercicios que vienen propuestos en el sitio Disco duro de roer
  3. Al terminar deberán entregar su trabajo a otro equipo.
  4. Del trabajo que reciban, deberán realizar las pruebas de escritorio de cada uno de los ejercicios resueltos y detectar y corregir los posibles errores.
  5. Anoten su nombre en el trabajo que corrigieron
  6. Entregarlo al profesor.