0% encontró este documento útil (0 votos)
46 vistas17 páginas

03 Programación Analítica

Este documento describe un seminario-taller de programación imperativa que se llevará a cabo en el Centro Regional Universitario de Veraguas en Panamá. El seminario enseñará técnicas de programación imperativa como el análisis de problemas, desarrollo de algoritmos, codificación en C y Pascal, y depuración. El objetivo es mejorar las habilidades de los estudiantes y profesionales en el desarrollo de soluciones de software de manera sistemática.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOC, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
46 vistas17 páginas

03 Programación Analítica

Este documento describe un seminario-taller de programación imperativa que se llevará a cabo en el Centro Regional Universitario de Veraguas en Panamá. El seminario enseñará técnicas de programación imperativa como el análisis de problemas, desarrollo de algoritmos, codificación en C y Pascal, y depuración. El objetivo es mejorar las habilidades de los estudiantes y profesionales en el desarrollo de soluciones de software de manera sistemática.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOC, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 17

UNIVERSIDAD DE PANAMÁ

FACULTAD DE INFORMÁTICA, ELECTRÓNICA Y


COMUNICACIÓN
CENTRO REGIONAL UNIVERSITARIO DE VERAGUAS

SEMINARIO-TALLER:

TÉCNICAS DE PROGRAMACIÓN IMPERATIVA

NOMBRE DEL DOCUMENTO: PROGRAMACIÓN ANALÍTICA.

PROFESOR RESPONSABLE: RAÚL ENRIQUE DUTARI DUTARI, M.SC.

FECHAS DE INICIO Y FIN: DEL 14 AL 23 DE MARZO DE 2007.

SEDE: CENTRO REGIONAL


UNIVERSITARIO DE VERAGUAS.
2

1. GENERALIDADES.

DENOMINACIÓN: Seminario-taller: Técnicas de Programación Imperativa.

PROFESOR RESPONSABLE:

Raúl E. Dutari D., M.Sc.

DEPARTAMENTO:

Informática, Electrónica y Comunicación.

CATEGORÍA DE LOS PARTICIPANTES:

Estudiantes, docentes y profesionales de las carreras de Informática,


Electrónica y Áreas Afines.

DURACIÓN DEL SEMINARIO-TALLER:

Del 14 al 23 de marzo de 2006 (ocho días hábiles).

HORARIO DE CLASES:

De 2:00 PM a 5:00 PM, en el aula A-5 del C.R.U.V., de lunes a viernes.

INTENSIDAD:

Período presencial: 1 hora de teoría y 2 horas de práctica, todos los días del
seminario (24 horas).

Período semi-presencial: 2 horas de trabajo práctico dirigido, todos los días del
seminario (16 horas).

En total, el seminario tiene una duración de 40 horas.


3

2. JUSTIFICACIÓN.

Los profesionales de la informática tienen como una de sus principales


herramientas a la programación. Es el mecanismo a través del que se informa al
computador, las instrucciones que debe realizar. El dominio adecuado y
eficiente de este instrumento es crucial en el desempeño profesional de los
informáticos de casi todas las áreas.

Sin embargo, es frecuente encontrar serias lagunas en la formación de los


profesionales y estudiantes de informática en lo que a programación se refiere.
Nombres poco descriptivos de variables, algoritmos confusos, redacción
deficiente del código fuente, poca documentación del código, son algunos de los
problemas que diariamente presentan los profesionales de estas ciencias.

Este seminario pretende que sus participantes afiancen y sistematicen sus


conocimientos en las técnicas de programación imperativas, desde el
procedimiento adecuado para analizar un problema, pasando por la fase de
codificación del algoritmo y su comprobación a nivel de prueba de escritorio, y
finalizando con la implementación de dichos algoritmos en un lenguaje de
programación imperativa (C estándar o Pascal), con su correspondiente
depuración.

A nivel de estructuras de datos, el seminario abarcará los tipos de variables


básicos (enteros, flotantes, caracteres, cadenas de caracteres, arreglos
unidimensionales y bidimensionales), así como las estructuras de control
fundamentales (entrada, salida, asignación, selección, repetición).

El seminario se concentrará en la temática de la programación imperativa, los


otros paradigmas de programación, serán considerados en cursos separados.
4

3. DESCRIPCIÓN.

Se profundiza en el procedimiento adecuado para resolver un problema.

Se enfatiza en la importancia de la codificación de algoritmos y la realización de


pruebas de escritorio sobre ellos, para obtener una solución eficiente y clara del
problema planteado, independiente del lenguaje en que se implemente.

Se implementan los algoritmos codificados en forma comparativa, utilizando los


lenguajes C estándar y Pascal.

Se depuran los programas implementados utilizando, las herramientas de


depuración de errores correspondientes.

Se analizan, con cierta profundidad, los tipos de variables básicos (enteros,


flotantes, caracteres, cadenas de caracteres, arreglos unidimensionales y
bidimensionales), así como las estructuras de control fundamentales (entrada,
salida, asignación, selección, repetición).

4. OBJETIVOS GENERALES.

1. Mejorar las capacidades de resolver problemas sistemáticamente.

2. Reforzar las capacidades de elaboración, codificación y depuración de


algoritmos.

3. Fortalecer la práctica de las buenas normas de la programación.

4. Profundizar la comprensión de los tipos de datos fundamentales de la


programación imperativa.

5. OBJETIVOS ESPECÍFICOS.

1. Profundizar en el procedimiento adecuado para resolver un problema.


5

2. Reforzar los fundamentos de la teoría de algoritmos, como base para la


solución sistemática de problemas de programación.

3. Obtener soluciones eficientes y claras de problemas planteados, al


aplicar la codificación correcta de algoritmos y su depuración a través de
pruebas de escritorio.

4. Aplicar las instrucciones fundamentales de programación de los


lenguajes C estándar y Pascal, en la traducción de algoritmos a código
fuente.

5. Depurar los errores del código fuente, utilizando las herramientas de


rastreo de errores que ofrecen los entornos de programación de los
lenguajes C estándar y Pascal.

6. Analizar los tipos de variables básicos (enteros, flotantes, caracteres,


cadenas de caracteres, arreglos unidimensionales y bidimensionales), así
como las estructuras de control fundamentales (entrada, salida,
asignación, selección, repetición).

6. PERFIL DE INGRESO.

El seminario-taller está dirigido a estudiantes de las carreras de informática,


ingenierías, ciencias exactas, y áreas afines que necesiten reforzar o
profundizar su dominio sobre las técnicas de programación imperativas.

No es requisito fundamental que los participantes hayan recibido previamente


alguna preparación en el área de la programación de computadoras.

Es fundamental, que los participantes sepan analizar adecuadamente los


problemas que se plantean. Adicionalmente, es importante que se posean
6

algunas nociones sobre lógica matemática, para garantizar que los objetivos del
seminario se alcancen dentro de los términos establecidos en el cronograma.

7. PERFIL DE EGRESO.

Al finalizar el seminario-taller el participante estará capacitado para resolver


problemas de programación que involucren estructuras de datos estáticas, de
manera sistemática, utilizando como herramientas, la teoría básica de
algoritmos, y los lenguajes de programación C estándar o Pascal.

8. RESUMEN DEL CONTENIDO.

El primer módulo del seminario se inicia analizando el concepto de algoritmo,

como un conjunto de pasos finitos que resuelven, sin ambigüedades, un

problema particular. Posteriormente, se continúa ofreciendo una visión

estructural y funcional los procedimientos que se deben seguir al resolver

problemas, en términos de algoritmos. Luego, se continúa con el análisis de las

herramientas disponibles para la representación de algoritmos (el pseudocódigo

y el diagrama de flujo). Finalmente, se consideran las estrategias básicas para

la solución de problemas, aplicando algoritmos, tales como la metodología

divide y vencerás, o la resolución por analogía.

El segundo módulo, se concentra en el análisis de los componentes

estructurales de los diagramas de flujo y del pseudocódigo, que permiten

representar a la lógica de la programación estructurada, complementándolo con

la solución de una amplia gama de problemas representativos, aplicando estas

herramientas de modelaje.
7

El tercer módulo, en cambio, profundiza en la redacción de los algoritmos, al

mismo tiempo que introduce al participante en su depuración, vía prueba de

escritorio. El módulo se complementa con otra serie de problemas a resolver.

El cuarto módulo, se inicia con un estudio somero de los elementos

estructurales de los lenguajes de programación C y Pascal. Posteriormente, se

establecen los procedimientos a seguir para la traducción de un algoritmo

cualquiera a uno de los lenguajes considerados. Finalmente, el módulo se

completa con otro grupo de problemas seleccionados a resolver por los

participantes.

Posteriormente, en el quinto módulo, se consideran los criterios que se deben

respetar al momento de redactar los programas en los lenguajes C y Pascal.

Posteriormente, se analizan las técnicas que se deben seguir al momento de

depurar los programas. Finalmente, el módulo se completa con la resolución de

otro grupo de problemas selectos.

Finalmente, en el sexto módulo se amplia el conocimiento de los participantes

acerca de los tipos de variables y las estructuras de control básicas de la

programación estructurada (asignación, selección y repetición), contrastando

sus diferencias y resaltando sus semejanzas. El módulo se complementa con

otra asignación de problemas propuestos.


8

9. METODOLOGÍA.

Los conceptos teóricos más fundamentales, serán dialogados por el facilitador y


los participantes, a fin de generar, como producto, las teorías fundamentales.

Posteriormente, se asignarán, para cada tema o subtema, una lista de ejercicios


de muy diversa índole, que se discutirán durante las sesiones de práctica en
pequeños grupos. Otros problemas serán asignados como tarea, y serán
resueltos y entregados por los participantes en la siguiente clase.

Los problemas en mención, serán presentados de acuerdo a la estructura que


detalla a continuación:

 Hoja de presentación.

 Marco teórico: Enunciado del problema, teoría relativa al problema


planteado, descripción de la solución manual del problema (concisa y
directa).

 Definición y descripción de variables: indicar nombre, tipo y utilidad de cada


variable mencionada.

 Diagrama de flujo o seudo código de la solución propuesta.

 Al menos, una prueba de escritorio aplicada sobre el diagrama de flujo /


seudo código propuesto.

 Listado del código fuente del programa de solución.

 Al menos, una prueba de escritorio aplicada sobre la codificación


propuesta.

 Ejemplo de resultados de salidas: muestre salidas representativas de la


ejecución del programa.
9

 Conclusiones: Análisis de potencialidades y limitaciones de la solución


desarrollada.

 Referencias bibliográficas utilizadas.

Todos los trabajos serán entregados vía correo electrónico a la dirección


[email protected], la evaluación del mismo será devuelta de la misma manera.

Los problemas presentados serán evaluados de acuerdo a los criterios que se


presentan a continuación:

Como recursos audiovisuales necesarios para el desarrollo del curso, tenemos


un aula de clases tradicional, acondicionada con su tablero de marcador, así
como el acceso al laboratorio de informática, señalado en las generales del
10

curso, para el desarrollo de los laboratorios y proyectos asignados, y cuando


sea necesario, los proyectores multimedia.

10. EVALUACIÓN DEL SEMINARIO-TALLER.

Como evaluación del seminario, se propone la siguiente distribución de la


calificación:

 Asistencia: 30%

 Asignaciones Diarias: 30%

 Proyecto Final: 40%

 Total: 100%
11

11. PROGRAMACIÓN ANALÍTICA.


12

OBJETIVOS ESTRATEGIAS RECURSOS


CONTENIDOS EVALUACIÓN
ESPECÍFICOS METODOLÓGICAS UTILIZABLES
 Profundizar en el  Diseño De Algoritmos.  Torbellino de ideas,  Tablero  Elaboración de
procedimiento  Concepto de algoritmo. orientado a  Marcadores un resumen de
adecuado para  Pasos para resolver conceptualizar al  Diapositivas los conceptos
resolver un problemas de programación. algoritmo como un  Proyector fundamentales
problema.  Definición del problema. conjunto de pasos Multimedia con considerados
 Selección del método de finitos que resuelven, PC en la clase
solución. sin ambigüedades, un  Referencias considerado
 Creación del algoritmo. problema. bibliográficas como
 Programación del  Discusión grupal del tema. asignación.
algoritmo. donde se
 Depuración y conceptualizan los
documentación del pasos necesarios para
programa. resolver un problema
 Validación de la de programación.
solución.  Discusión grupal
 Instalación, producción y donde analizan las
mantenimiento del herramientas
programa. disponibles para la
 Herramientas para la representación de
representación de algoritmos.
algoritmos.  Discusión grupal
 Diagramas de flujo o donde se plantean
flujo gramas. casos de estudio
 Seudo-código donde se apliquen las
 Estrategias básicas para la estrategias básicas
solución de problemas. para la solución de
 Divide y vencerás problemas.
 Resolución por analogía.
 Reforzar los  Teoría de Algoritmos.  Discusión dirigida  Tablero  Elaboración de
fundamentos de  Diagrama de Flujo donde se analizan  Marcadores un resumen de
la teoría de  Componentes cada uno de los  Diapositivas los conceptos
algoritmos, como estructurales componentes  Proyector fundamentales
base para la  Nombres de estructurales de los Multimedia con considerados
13

OBJETIVOS ESTRATEGIAS RECURSOS


CONTENIDOS EVALUACIÓN
ESPECÍFICOS METODOLÓGICAS UTILIZABLES
solución variables Tipos de diagramas de flujo PC en la clase
sistemática de datos  Discusión dirigida  Referencias considerado
problemas de  Operadores donde se analizan bibliográficas como
programación.  Expresiones cada uno de los del tema. asignación.
 Inicio / Fin componentes  Solución de un
 Lectura / Escritura estructurales del conjunto de
 Asignación seudo-código. problemas de
 Selección  Solución de problemas programación,
 Repetición donde se aplican los utilizando
 Ventajas / Desventajas componentes diagramas de
 Seudo-Código estructurales de los flujo y seudo-
 Componentes diagramas de flujo y código (no se
Estructurales del seudo-código. incluye la fase
 Nombres de de
variables Tipos de depuración).
datos
 Operadores
 Expresiones
 Inicio / Fin
 Lectura / Escritura
 Asignación
 Selección
 Repetición
 Ventajas / Desventajas
 Problemas de aplicación
 Obtener  Criterios para redactar, codificar  Discusión dirigida  Tablero  Elaboración de
soluciones y depurar algoritmos donde se establecen  Marcadores un resumen de
eficientes y claras  Normas de redacción los criterios que se  Diapositivas los conceptos
de problemas  Depuración por prueba de deben seguir al  Proyector fundamentales
planteados, al escritorio redactar algoritmos. Multimedia con considerados
aplicar la  Problemas de aplicación.  Demostración donde PC en la clase
codificación se indica el  Referencias considerado
14

OBJETIVOS ESTRATEGIAS RECURSOS


CONTENIDOS EVALUACIÓN
ESPECÍFICOS METODOLÓGICAS UTILIZABLES
correcta de procedimiento a seguir bibliográficas como
algoritmos y su para realizar las del tema. asignación.
depuración a pruebas de escritorio a  Solución de un
través de los algoritmos. conjunto de
pruebas de  Resolución de problemas de
escritorio. problemas donde se programación,
aplican los conceptos utilizando
considerados en clase. diagramas de
flujo y seudo-
código
(incluyendo la
fase de
depuración).
 Aplicar las  Codificación de Algoritmos.  Discusión dirigida  Tablero  Elaboración de
instrucciones  Componentes estructurales donde se establecen  Marcadores un resumen de
fundamentales de del Pascal los componentes  Diapositivas los conceptos
programación de  Estructura general de un estructurales de los  Proyector fundamentales
los lenguajes C programa Pascal lenguajes de Multimedia con considerados
estándar y  Palabras reservadas programación Pascal y PC en la clase
Pascal, en la  Nombres de variables C estándar.  Referencias considerado
traducción de  Tipos de datos  Demostración donde bibliográficas como
algoritmos a  Operadores se indica el del tema. asignación.
código fuente.  Expresiones procedimiento a seguir  Solución de un
 Inicio / Fin para realizar la conjunto de
 Lectura / Escritura traducción de un problemas de
 Asignación algoritmo a un programación,
 Selección lenguaje de codificando
 Repetición programación diagramas de
 Componentes estructurales particular. flujo y seudo-
del C estándar  Resolución de código.
 Estructura general de un problemas donde se
programa en C estándar aplican los conceptos
 Palabras reservadas considerados en clase.
15

OBJETIVOS ESTRATEGIAS RECURSOS


CONTENIDOS EVALUACIÓN
ESPECÍFICOS METODOLÓGICAS UTILIZABLES
 Nombres de variables
 Tipos de datos
 Operadores
 Expresiones
 Inicio / Fin
 Lectura / Escritura
 Asignación
 Selección
 Repetición
 Traducción de algoritmos a
lenguajes de programación.
 Depurar los  Criterios para depurar  Discusión dirigida  Tablero  Elaboración de
errores del código programas donde se establecen  Marcadores un resumen de
fuente, utilizando  Normas de redacción los criterios que se  Diapositivas los conceptos
las herramientas  Depuración con deben seguir al  Proyector fundamentales
de rastreo de herramientas de rastreo de codificar los Multimedia con considerados
errores que errores. programas. PC en la clase
ofrecen los  Problemas de aplicación.  Demostración donde  Referencias considerado
entornos de se indica el bibliográficas como
programación de procedimiento a seguir del tema. asignación.
los lenguajes C para realizar la  Solución de un
estándar y depuración de conjunto de
Pascal. programas. problemas de
 Resolución de programación,
problemas donde se codificando
aplican los conceptos diagramas de
considerados en clase. flujo y seudo-
código
(incluyendo la
fase de
depuración).
 Analizar los tipos  Tipos de variables y estructuras  Discusión dirigida  Tablero  Elaboración de
de variables de control fundamentales donde se establecen  Marcadores un resumen de
16

OBJETIVOS ESTRATEGIAS RECURSOS


CONTENIDOS EVALUACIÓN
ESPECÍFICOS METODOLÓGICAS UTILIZABLES
básicos (enteros,  Tipos de Variables básicos los atributos que  Diapositivas los conceptos
flotantes,  Enteros poseen cada uno de  Proyector fundamentales
caracteres,  Flotantes los tipos de variables Multimedia con considerados
cadenas de  Caracteres básicos, considerando PC en la clase
caracteres,  Cadenas de Caracteres sus variaciones,  Referencias considerado
arreglos  Arreglos contrastando sus bibliográficas como
unidimensionales Unidimensionales diferencias, y del tema. asignación.
y  Arreglos resaltando sus  Solución de un
bidimensionales), Bidimensionales semejanzas. conjunto de
así como las  Estructuras de control  Discusión dirigida problemas de
estructuras de fundamentales donde se establecen programación,
control  Entrada los atributos que codificando
fundamentales  Salida poseen cada una de diagramas de
(entrada, salida,  Asignación las estructuras de flujo y seudo-
asignación,  Selección control fundamentales, código
selección,  Repetición considerando sus (incluyendo la
repetición). variaciones, fase de
contrastando sus depuración).
diferencias, y
resaltando sus
semejanzas.
 Resolución de
problemas donde se
aplican los conceptos
considerados en clase.
17

12. REFERENCIAS BIBLIOGRÁFICAS.

1. DEITEL, H. M. y DEITEL, P. J., Cómo programar en C / C++. Prentice-Hall,


Segunda edición, México, 1995.

2. JOYANES AGUILAR, Luis. Fundamentos de programación: Algoritmos y


estructura de datos. McGraw-Hill, Segunda edición, España, 1996.

3. JOYANES AGUILAR, Luis. Metodología de la programación: Diagramas de


flujo, algoritmos y programación estructurada. McGraw-Hill, Primera
edición, México, 1987.

4. JOYANES AGUILAR, Luis. Problemas de metodología de la programación.


McGraw-Hill, Primera edición, España, 1990.

5. O’BRIEN, Stephen. Turbo Pascal 7: Manual de referencia. McGraw-Hill,


Primera edición, España, 1993.

También podría gustarte