Академический Документы
Профессиональный Документы
Культура Документы
Metodologas de la programacin
Junio, 2012
Tabla de contenido
I. PROPSITO GENERAL DEL MANUAL ................................................................... 3
II. INTRODUCCIN .......................................................................................................... 3
III. DESARROLLO ........................................................................................................... 4
1. Unidad Temtica . Conceptos Bsicos ............................................................... 4
1.1 Adquisicin, procesamiento y almacenamiento de datos ............................................ 4
1.2 Reconocer la diferencia entre un algoritmo, pseudocdigo y diagrama de flujo ........ 6
1.3 Tipos de datos (numricos, caracteres / cadenas, booleanos)..................................... 10
1.4 Identificadores, variables y constantes ....................................................................... 11
1.5 Metodologa para la solucin de problemas por medio de computadoras ................. 13
Pgina 2
METODOLOGA DE LA PROGRAMACIN
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN
II. INTRODUCCIN
Con el fin de que el alumno pueda aplicar algunos de los conocimientos adquiridos
durante el desarrollo de la asignatura, en este manual se integran prcticas sencillas
que le ayudaran a comprender de una mejor manera conceptos y estrategias de
elaboracin de algoritmos en pseudocdigo.
Pgina 3
METODOLOGA DE LA PROGRAMACIN
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN
III. DESARROLLO
Conceptos de Algoritmos, Reconocer la diferencia entre un Determinar de los distintos tipos de Analtico.
Pseudocdigo y Diagrama de algoritmo, pseudocdigo y tcnicas la adecuada para la Sistemtico
Flujo diagrama de flujo solucin de problemas. Ordenado
Asertivo.
Tipos de datos (numricos, Identificar los diferentes tipos de Determinar el tipo de dato a utilizar Analtico.
caracteres / cadenas, booleanos. datos utilizados en la dependiendo de los requerimientos Ordenado.
programacin, aplicndolo en la de informacin a manipular. Sistemtico.
resolucin de un problema.
Identificadores, variables y Reconocer los conceptos de Determinar las variables y Analtico.
constantes identificador, variable y constante. constantes a utilizar, dependiendo Ordenado.
Describir las reglas de creacin de del tipo de datos a emplear y los Sistemtico
identificadores. requerimientos.
Metodologa para la solucin de Identificar las etapas de la Determinar las entradas, proceso y Analtico, ordenado, sistemtico,
problemas por medio de metodologa de solucin de salidas de un problema. coherente, proactivo, asertivo
computadoras problemas por medio de Hbil para trabajo en equipo.
computadoras.
Saber
Identificar los elementos bsicos del proceso de informacin (entrada - proceso - salida)
Saber hacer
Esquematizar el proceso de informacin.
Resultado de aprendizaje
El alumno realizar un documento con 15 ejercicios, elaborando para cada uno de ellos, una
tabla en la que identifiquen:
Los valores de entrada, procesos y salidas
Los tipos de datos a emplear asociados a las variables o constantes y las
operaciones a realizar.
Pgina 4
METODOLOGA DE LA PROGRAMACIN
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN
Adquisicin
Situacin de Datos Procesamient Informacin
Real o
Figura 1.1 Esquema Adquisicin-Procesamiento-Salida de datos
Los elementos bsicos que componen una computadora son la unidad central de
procesamiento, la unidad de memoria, la unidad de entrada y la unidad de salida.
La unidad central de procesamiento es el cerebro que controla el funcionamiento de los
componentes y ejecuta las operaciones aritmticas y lgicas. Las operaciones del
procesador central son muy simples, pero ejecutadas a una velocidad muy alta del orden
de millones por segundo- permiten la ejecucin de tareas simples o complejas.
La memoria se utiliza para almacenar los datos, y a stos se les aplica las operaciones del
procesador. Existen dos tipos de memoria: la principal y la auxiliar. La memoria principal
permite al procesador extraer y almacenar datos a una velocidad superior a la auxiliar. Cada
operacin propicia por lo menos un acceso a memoria. Para que el procesador pueda
avanzar de una operacin a la siguiente sin retraso, el conjunto de instrucciones se
almacena en esta memoria; en otras palabras, la memoria principal guarda tanto las
instrucciones como los datos sobre los que acta el procesador central. La memoria
principal est limitada por su alto costo; debido a esto no es posible conservar en ellas
grandes cantidades de datos e instrucciones y, en consecuencia, slo se usa para guardar lo
que el procesador est utilizando por el momento. Adems tiene la caracterstica de que no
permite almacenar datos permanentemente, pues si se apaga la computadora se pierde lo
que haya en la memoria. Por tales razones, las computadoras estn equipadas con
memorias auxiliares para almacenamiento masivo y permanente de datos, tales como
discos magnticos fijos, discos compactos, cintas magnticas, entre otros. Estos dispositivos
tienen ms capacidad que la memoria principal, pero son ms lentos. Los datos pueden
almacenarse en ellos de manera permanente; es decir, pueden guardarse para usos
posteriores.
Pgina 5
METODOLOGA DE LA PROGRAMACIN
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN
Saber hacer
Determinar de los distintos tipos de tcnicas la adecuada para la solucin de problemas.
a. Ser finita. En caso de ser infinita la secuencia evidentemente no es til para resolver
ningn problema real.
b. Cada paso debe ser factible de realizarse por algn ser biolgico o dispositivo. Por
ejemplo, un algoritmo para viajar a la Luna no puede tener en sus pasos:
Encienda el motor del automvil.
Arranque el automvil.
Pngalo en direccin a la Luna.
Pise el acelerador y ruede hasta llegar a la Luna.
Pgina 6
METODOLOGA DE LA PROGRAMACIN
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN
1. Suba un escaln.
2. Baje un escaln.
3. Vuelva al paso 1.
El pseudocdigo es una tcnica para diseo de programas (algoritmos) que permite definir
las estructuras de datos, las operaciones que se aplicarn a los datos y la lgica que tendr
el programa de computadora para solucionar un determinado problema. Utiliza un
pseudolenguaje muy parecido a nuestro idioma, pero que respeta las directrices y los
elementos de los lenguajes de programacin.
Pgina 7
METODOLOGA DE LA PROGRAMACIN
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN
MATERIALES Y EQUIPOS:
Computadora.
Programa PSeInt
PROCEDIMIENTO:
1. Identificar los datos de Entrada.
2. Desarrollar la frmula del clculo del rea de un triangulo.
3. Identificar los datos de salida.
4. Escribir en pseudocdigo el ejercicio descrito
5. Captura las instrucciones en el programa Pseint
6. Ejecuta el pseudocdigo y proporciona datos de prueba
7. Observa el resultado generado y comprubalo con una calculadora.
8. Genera el diagrama de flujo con la herramienta Dibujar diagrama de flujo de la barra
de herramientas del PseInt.
RESULTADOS Y ANLISIS:
Pgina 8
METODOLOGA DE LA PROGRAMACIN
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN
CONCLUSIN
El ejercicio ha puesto especial cuidado en la identificacin de aquellos elementos que
contribuyen a desarrollar en los alumnos la capacidad abstraer los distintos elementos
esenciales para elaborar un pseudocdigo.
CUESTIONARIO
1. Enumera los datos de entrada que identificaste
2. Enumera los datos de salida que identificaste
3. Cul es la diferencia entre un dato de entrada y un dato de salida?
4. Para qu se utilizan los datos de entrada en el presente ejercicio?
REFERENCIAS
Lpez Romn Leobardo; Metodologa de la programacin orientada a objetos; Alfaomega; 2da edicin;
Mxico.
Pgina 9
METODOLOGA DE LA PROGRAMACIN
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN
Saber
Identificar los diferentes tipos de datos utilizados en la programacin, aplicndolo en la
resolucin de un problema.
Saber hacer
Determinar el tipo de dato a utilizar dependiendo de los requerimientos de informacin a
manipular.
La principal caracterstica de los datos simples es que ocupan slo una casilla de memoria,
por lo tanto, una variable simple hace referencia a un nico valor a la vez. Dentro de este
grupo de datos se encuentran: enteros, reales, caracteres y booleanos.
Los datos estructurados se caracterizan por el hecho de que con un nombre se hace
referencia a un grupo de casillas de memoria. Es decir, un dato estructurado tiene varios
Pgina 10
METODOLOGA DE LA PROGRAMACIN
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN
componentes. Cada uno de los componentes puede ser a su vez un dato simple o
estructurado. Dentro de este grupo de datos se encuentran: arreglos y cadena de caracteres.
Datos Numricos
Dentro de los tipos de datos numricos encontramos los enteros y los reales. Los enteros
son nmeros que pueden estar precedidos del signo + o -, y que no tienen parte decimal.
Por ejemplo:
128 1528 -714 16235 -14780 8530
Los reales son nmeros que pueden estar precedidos del signo + o -, y que tienen una parte
decimal. Por ejemplo:
7.5 128.0 -37.865 129.7 16000.50 -15.0
Datos Carcter
El tipo de dato carcter puede almacenar un carcter; cualquier carcter vlido para la
computadora y generalmente se escribe entre apstrofes. Por ejemplo:
a B $ 9 - # f
Saber
Reconocer los conceptos de identificador, variable y constante. Describir las reglas de
creacin de identificadores.
Saber hacer
Determinar las variables y constantes a utilizar, dependiendo del tipo de datos a emplear y
los requerimientos.
Identificadores
Los datos a procesar por una computadora, ya sean simples o estructurados, deben
almacenarse en la memoria para su posterior utilizacin. Las casillas o celdas de memoria
utilizadas para almacenar tienen un nombre que permite su identificacin.
Pgina 11
METODOLOGA DE LA PROGRAMACIN
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN
Variables
Las variables son objetos que pueden cambiar su valor durante la ejecucin de un
programa. Para nombrar las variables se utilizan los identificadores explicados
anteriormente. Al igual que las constantes, pueden existir tipos de variables como tipos de
datos. En la figura 1.4, la variable I es de tipo entero, tiene un valor inicial de cero y
cambiar su valor durante la ejecucin del programa. La variable SUEL y SUMA son de
tipo real, estn inicializadas con el valor de cero, y al igual que la variable I, seguramente
cambiarn su valor durante la ejecucin del programa.
I SUE SUM
L A
0 0 0
Pgina 12
METODOLOGA DE LA PROGRAMACIN
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN
Se debe remarcar que los nombres de las variables han de ser representativas de la funcin
que cumplen en el programa.
Saber hacer
Determinar las entradas, proceso y salidas de un problema.
En la figura 1.5 se puede observar un esquema de las etapas que se sugieren seguir para la
solucin de un problema.
PROBLEMA
Pgina 13
METODOLOGA DE LA PROGRAMACIN
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN
Desarrollar el pseudocdigo y Diagrama de flujo para un programa que pida un nmero diferente de
cero y que despliegue si es par o impar.
MATERIALES Y EQUIPOS:
Computadora.
Programa PSeInt
PROCEDIMIENTO:
1. Identificar los datos de Entrada.
2. Desarrollar la frmula del clculo del mdulo de un nmero.
3. Establecer las condiciones necesarias para verificar si un numero es par o impar
Pgina 14
METODOLOGA DE LA PROGRAMACIN
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN
CONCLUSIN
El ejercicio ha puesto especial cuidado en la identificacin de aquellos elementos que
contribuyen a desarrollar en los alumnos la capacidad de abstraer los distintos elementos
esenciales para elaborar un pseudocdigo.
CUESTIONARIO
1. Enumera los datos de entrada que identificaste
2. Enumera los datos de salida que identificaste
3. Qu es el mdulo de un nmero?
4. Qu operador relacional utiliza el presente ejercicio?
5. Escribe la sintaxis de la instruccin condicional.
REFERENCIAS
Lpez Romn Leobardo; Metodologa de la programacin orientada a objetos; Alfaomega; 2da edicin;
Mxico.
Cairo O., Metodologa de la Programacin. Diagramas de Flujo, Algoritmos y Programas, Alfaomega
Grupo Editor S.A. De C.V., D.F. Mxico, 2005,
MATERIALES Y EQUIPOS:
Pgina 15
METODOLOGA DE LA PROGRAMACIN
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN
Computadora.
Programa PSeInt
PROCEDIMIENTO:
1. Identificar los datos de Entrada.
RESULTADOS Y ANLISIS:
CONCLUSIN
El ejercicio ha puesto especial cuidado en la identificacin de aquellos elementos que
contribuyen a desarrollar en los alumnos la capacidad abstraer los distintos elementos
esenciales para elaborar un pseudocdigo.
CUESTIONARIO
1. Enumera los datos de entrada que identificaste
REFERENCIAS
Pgina 16
METODOLOGA DE LA PROGRAMACIN
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN
Lpez Romn Leobardo; Metodologa de la programacin orientada a objetos; Alfaomega; 2da edicin;
Mxico.
Cairo O., Metodologa de la Programacin. Diagramas de Flujo, Algoritmos y Programas, Alfaomega
Grupo Editor S.A. De C.V., D.F. Mxico, 2005.
Desarrollar el pseudocdigo y diagrama de flujo que imprima si una letra dada por el teclado es una
vocal o una consonante.
MATERIALES Y EQUIPOS:
Computadora.
Programa PSeInt
PROCEDIMIENTO:
1. Identificar los datos de Entrada.
2. Establecer la instruccin condicional.
3. Identificar los datos de salida.
4. Escribir en pseudocdigo el ejercicio descrito
5. Captura las instrucciones en el programa Pseint
6. Ejecuta el pseudocdigo y proporciona datos de prueba
7. Observa el resultado generado y comprubalo con una calculadora.
8. Genera el diagrama de flujo con la herramienta Dibujar diagrama de flujo de la barra
de herramientas del PseInt.
RESULTADOS Y ANLISIS:
Pgina 17
METODOLOGA DE LA PROGRAMACIN
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN
CONCLUSIN
El ejercicio ha puesto especial cuidado en la identificacin de aquellos elementos que
contribuyen a desarrollar en los alumnos la capacidad de abstraer los distintos elementos
esenciales para elaborar un pseudocdigo.
CUESTIONARIO
1. Enumera los datos de entrada que identificaste
2. Enumera los datos de salida que identificaste
3. Qu tipo de dato de entrada es definido?
4. Qu operadores relacionales se utilizan en el ejercicio?
REFERENCIAS
Lpez Romn Leobardo; Metodologa de la programacin orientada a objetos; Alfaomega; 2da edicin;
Mxico.
Cairo O., Metodologa de la Programacin. Diagramas de Flujo, Algoritmos y Programas, Alfaomega
Grupo Editor S.A. De C.V., D.F. Mxico, 2005.
Desarrollar el pseudocdigo y diagrama de flujo que imprima si un nmero dado por el teclado
se encuentra en el rango de 50 a 100.
Pgina 18
METODOLOGA DE LA PROGRAMACIN
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN
MATERIALES Y EQUIPOS:
Computadora.
Programa PSeInt
PROCEDIMIENTO:
1. Identificar los datos de Entrada.
2. Establecer la instruccin condicional.
3. Identificar los datos de salida.
4. Escribir en pseudocdigo el ejercicio descrito
5. Captura las instrucciones en el programa Pseint
6. Ejecuta el pseudocdigo y proporciona datos de prueba
7. Observa el resultado generado y comprubalo con una calculadora.
8. Genera el diagrama de flujo con la herramienta Dibujar diagrama de flujo de la barra
de herramientas del PseInt.
RESULTADOS Y ANLISIS:
CONCLUSIN
El ejercicio ha puesto especial cuidado en la identificacin de aquellos elementos que
contribuyen a desarrollar en los alumnos la capacidad de abstraer los distintos elementos
esenciales para elaborar un pseudocdigo.
CUESTIONARIO
9. Enumera los datos de entrada que identificaste
10. Enumera los datos de salida que identificaste
11. Cul es la diferencia entre utilizar el operador lgico y (and) y o (or).
Pgina 19
METODOLOGA DE LA PROGRAMACIN
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN
REFERENCIAS
Lpez Romn Leobardo; Metodologa de la programacin orientada a objetos; Alfaomega; 2da edicin;
Mxico.
Cairo O., Metodologa de la Programacin. Diagramas de Flujo, Algoritmos y Programas, Alfaomega
Grupo Editor S.A. De C.V., D.F. Mxico, 2005,
Operadores aritmticos, Identificar los tipos de operadores Localizar los tipos de operadores Analtico, ordenado, sistemtico.
relacionales y lgicos existentes. Coherente, asertivo
Jerarqua de operadores Identificar la jerarqua de los operadores. Resolver expresiones aritmticas y Analtico, Ordenado, sistemtico.
lgicas. Coherente. Proactivo. Asertivo
Expresiones Identificar las expresiones aritmticas Convertir expresiones algebraicas, Analtico. Ordenado. Sistemtico.
y/o lgicas inmersas en el aritmticas y lgicas a expresiones Coherente. Proactivo. Asertivo
planteamiento de un problema. algortmicas Hbil para trabajo en equipo.
Saber hacer
Localizar los tipos de operadores
Resultado de aprendizaje
El alumno entregar un cuadernillo con al menos 45 ejercicios que contenga:
Pgina 20
METODOLOGA DE LA PROGRAMACIN
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN
- Una Conjuncin (&) es verdadera solo si sus dos argumentos son verdaderos, en
caso contrario, el resultado es falso.
La conjuncin expresa el inters porque las 2 condiciones a revisar se cumplan.
Ejemplo Explicacin
promedio >= 8.5 & promedio < 9.5 La variable promedio debe ser superior o
igual a 8.5 pero menor a 9.5
Pgina 21
METODOLOGA DE LA PROGRAMACIN
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN
P Q P&Q P|Q
Verdadero Verdadero Verdadero Verdadero
Verdadero Falso Falso Verdadero
Falso Verdadero Falso Verdadero
Falso Falso Falso Falso
Pgina 22
METODOLOGA DE LA PROGRAMACIN
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN
2.2 Expresiones
Saber
Identificar las expresiones aritmticas y/o lgicas inmersas en el planteamiento de un
problema.
Saber hacer
Convertir expresiones algebraicas, aritmticas y lgicas a expresiones algortmicas
Ejemplos:
Problema.- Calcular la cantidad de rboles que se pueden plantar en un terreno
rectangular, sabiendo que un rbol necesita 4 m2 para su crecimiento.
Cantidad_arboles Area_terreno / 4
Problema.- Revisar si el pago de luz se tendr que hacer con recargo, o ser pago normal.
Se sabe que se paga con recargo cuando se excede la fecha lmite.
Da tal manera que todos aquellos casos en que la expresin sea verdadera, son los
mismos cuando el pago se realiza con recargos.
Pgina 23
METODOLOGA DE LA PROGRAMACIN
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN
Las expresiones necesarias para ubicar a los alumnos del Grupo B de acuerdo a la
Calificacin sera la siguiente:
Calf >= 8
y tambin
En este caso, es necesario indicar que ambas condiciones deben cumplirse, por lo que la
expresin resultante sera:
Calf > 8 & Calf <= 9.5
Saber
Identificar la jerarqua de los operadores.
Saber hacer
Resolver expresiones aritmticas y lgicas.
Dentro de una expresin es importante conocer la jerarqua de los operadores ya que sta
dicta el orden de ejecucin de los operadores.
De manera informal se menciona la categora del operador asociativo ( ), el cual indica
que la expresin que est dentro de los parntesis se ejecuta antes que la expresin de
afuera.
La siguiente tabla muestra la jerarqua de los operadores:
Pgina 24
METODOLOGA DE LA PROGRAMACIN
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN
Menor &,|
Pgina 25
METODOLOGA DE LA PROGRAMACIN
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN
Pgina 26
METODOLOGA DE LA PROGRAMACIN
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN
Pgina 27
METODOLOGA DE LA PROGRAMACIN
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN
Pgina 28
METODOLOGA DE LA PROGRAMACIN
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN
Pgina 29
METODOLOGA DE LA PROGRAMACIN
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN
Pgina 30
METODOLOGA DE LA PROGRAMACIN
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN
Cuando se ocupan los operadores Lgicos, tiene mayor jerarqua el operador de negacin
(~)
Pgina 31
METODOLOGA DE LA PROGRAMACIN
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN
Pgina 32
METODOLOGA DE LA PROGRAMACIN
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN
Bloque de asignacin
Un bloque de asignacin se utiliza para asignar valores o expresiones a una variable. La
asignacin es una operacin destructiva. Esto significa que si la variable tena asignado un
valor, ste se destruye, conservando ahora el nuevo valor. El formato de la asignacin es
el siguiente:
Variable expresin o valor
Pgina 33
METODOLOGA DE LA PROGRAMACIN
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN
En la siguiente tabla se observan los valores que van tomando las variables en memoria
Nmero de I J ACUM REA SUM CAR BAND
asignacin
1 0
2 1
3 0
4 8
5 a
6 8
7 2.66
8 falso
9 0.625
10 3
11 0.532
12 falso
13 error
14 error
Pgina 34
METODOLOGA DE LA PROGRAMACIN
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN
si x 5 y y3
N x + y / y -1
Estara incorrecta, porque la computadora primero hace la divisin de
y/y
luego la suma y por ltimo la resta, de tal manera que arrojara un resultado incorrecto.
Pgina 35
METODOLOGA DE LA PROGRAMACIN
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN
Y
x A B x A+BY/Z x A + B (Y / Z)
Z
A*C B
W W ( A * C / D ) + B / C
D C
CE BF
X X ( ( C * E) (B * F)) / ((A * E) - (B * D))
AE BD
T (Y 2) R
Z Z (T* (Y 2 ) + R ) / S
S
9
F C 32 F 9 / 5 * C + 32
5
Describir el
procedimiento para
realizar una prueba
de escritorio.
Pgina 36
METODOLOGA DE LA PROGRAMACIN
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN
Estructuras de control de Reconocer el funcionamiento de las Resolver un problema determinado Analtico. Ordenado. Sistemtico.
seleccin estructuras de control selectivas: aplicando las estructuras de control Coherente. Proactivo. Asertivo
Simples, compuestas y Mltiples selectivas y verificar la solucin a Planificador. Creativo
travs de una prueba de escritorio. Hbil para trabajo en equipo.
Estructuras de repeticin Reconocer el funcionamiento de las Resolver un problema determinado Analtico. Ordenado. Sistemtico.
estructuras de control repetitivas aplicando las estructuras de control Coherente. Proactivo. Asertivo
a) Para-hasta repetitivas y verificar la solucin a Planificador. Creativo
b) Repite travs de una prueba de escritorio. Hbil para trabajo en equipo.
c) Mientras.
Saber hacer
Plantear la solucin de un problema empleando pseudocdigo y diagramas de flujo.
Cuando se desarrolla un programa muy grande, una gran parte del esfuerzo se destina a
comprender y definir el problema a resolver, analizar su complejidad y descomponerlo en
subprogramas ms pequeos que puedan realizarse fcilmente. En estos casos se deben
crear algoritmos para cada subprograma, los cuales formarn parte del algoritmo principal.
La tcnica de dividir un problema en varios subproblemas que puedan resolverse
Pgina 37
METODOLOGA DE LA PROGRAMACIN
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN
Al elegir o desarrollar un algoritmo se debe tener presente si ste se utilizar en una tarea
muy amplia o en muchas ocasiones, ya que la eleccin del algoritmo inadecuado puede
aumentar drsticamente el tiempo de ejecucin del programa. Habr otros casos en los que
un algoritmo simple cubra las expectativas. A menudo varios algoritmos diferentes son
vlidos para resolver el mismo problema. Esto se debe a que las personas generalmente
tienen diferentes formas de resolver el mismo problema. Dos o ms algoritmos diferentes
pueden resolver el mismo problema, pero no quiere decir que todos ellos acten con la
misma eficiencia. La eleccin del mejor algoritmo para una tarea particular puede ser un
proceso muy complicado y con frecuencia conllevar un anlisis matemtico complicado.
La rama de la Computacin que estudia tales cuestiones se llama Anlisis de Algoritmos.
Los diagramas de flujo son la representacin grfica ms usada para el diseo de los
procesos y es una excelente forma de describir fcilmente los detalles de los
procedimientos. En un diagrama de flujo, para representar un paso de procesamiento se
utiliza un rectngulo, un rombo para representar una condicin lgica y flechas para
mostrar el control de flujo.
Pgina 38
METODOLOGA DE LA PROGRAMACIN
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN
2. Los diagramas de flujo son herramientas analticas muy eficaces y econmicas, por
medio de los cuales se puede detallar rpidamente una serie de alternativas de
solucin a un problema y a partir del examen de stas, analistas y programadores
podrn determinar cul es la solucin ms apropiada. Antes de escribir los
programas, desperdiciar tiempo en la computadora o probar fsicamente la solucin,
la evaluacin y verificacin de la lgica de un programa puede realizarse por
completo con papel, lpiz y diagramas de flujo. De esta manera, si aparecen
problemas durante la programacin, podr determinarse si el problema est en la
codificacin o si fue causado por una falla de la computadora.
3. En virtud de que los diagramas de flujo son esquemticos, constituyen una forma
concisa de documentacin que no depende de algn lenguaje de programacin
especfico.
Pgina 39
METODOLOGA DE LA PROGRAMACIN
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN
A) Composicin secuencial B) Enunciados condicionales con la parte else C) Enunciados condicionales sin la parte else
Enunciado2 Enunciado1
F Enunciado
Segunda tarea
D) Enunciados de seleccin sin la parte else E) Enunciados de seleccin con la parte else
F F
F F
<
F EnunciadoN
F) Ciclo do-while
V
Condicin
Condicin V Tarea del ciclo
G) Ciclo while
F
F
En programacin existe una relacin entre las variables y su tipo de dato. De hecho, en los
lenguajes de programacin que apoyan la fuerte tipificacin de datos, se debe declarar
explcitamente el tipo de dato de las variables. Por otro lado, en los diagramas de flujo sera
poco prctico especificar los tipos de datos de cada una de las variables utilizadas. Por tal
motivo, en los diagramas de flujo se adoptarn algunas convenciones que permiten
identificar el tipo de dato de una variable. Se usan apstrofos, comillas, y el punto decimal
para identificar constantes de carcter, cadenas, enteros y reales, respectivamente. Sin
embargo, es preferible decir explcitamente el tipo de dato que puede almacenar una
variable y las estructuras de datos que se emplearn, con el fin de evitar problemas en la
etapa de codificacin debidos a la ambigedad de un diagrama de flujo.
Si bien es cierto que los diagramas de flujo permiten documentar un programa de una
manera concisa, tambin es verdad que an siguen siendo insuficientes para documentar
adecuada y detalladamente un programa. Antes de elaborar los diagramas de flujo es
necesario determinar y describir los tipos y estructuras de datos que se emplearn en un
programa, as como tambin el algoritmo ideado o seleccionado para dar solucin al
problema planteado. Haciendo esto se logra simplificar al mximo los diagramas de flujo y
Pgina 40
METODOLOGA DE LA PROGRAMACIN
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN
ser posible redactar por separado toda la informacin que pueda ser de utilidad a la hora de
escribir el programa final, por lo que esta tcnica ser empleada en lo que resta de este
trabajo.
Pgina 41
METODOLOGA DE LA PROGRAMACIN
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN
Aunque un diagrama de flujo describe con precisin el procesamiento que se tiene que
efectuar, ste no puede introducirse directamente a la computadora. El diagrama de flujo es
nicamente una herramienta para el programador, por lo que cada smbolo del diagrama no
logra que la computadora efecte alguna accin. Cada smbolo se coloca en el lugar donde
debe realizarse una operacin en funcin de la lgica requerida. Cuando se escribe el
programa, a travs de una instruccin o un conjunto de instrucciones se define la accin
descrita por cada smbolo. En su momento, esta instruccin hace que la computadora
procese datos. Se han diseado un conjunto de smbolos, para mostrar con precisin las
operaciones de procesamiento en los diagramas de flujo.
Antes de ampliar la explicacin acerca del significado de los smbolos de la figura 3.3 y
ejemplificar el uso los mismos, es necesario estudiar algunos conceptos.
Pgina 42
METODOLOGA DE LA PROGRAMACIN
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN
1. Una constante.
2. Un valor referenciado o identificado por el nombre de una variable. Es decir, el
valor almacenado en la variable.
3. El valor devuelto como resultado de la ejecucin de una funcin, la cual se
referenca por un identificador.
4. El valor obtenido por la evaluacin de una expresin aritmtica que puede
involucrar variables, constantes e incluso identificadores de funciones.
Pgina 43
METODOLOGA DE LA PROGRAMACIN
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN
Es importante recalcar que antes de usar una variable debe determinarse el tipo de
dato que almacenar. En las asignaciones presentadas arriba, segn las convenciones
descritas antes, i es de tipo entero, x y R son de tipo real, cad es de tipo cadena y la variable
car es de tipo carcter. Es necesario saber el tipo de dato que puede almacenar una variable,
con objeto de no asignar datos de un tipo a variables de otro tipo. Por ejemplo,
consideremos la secuencia de asignaciones que sigue y determinemos los tipos de datos de
las variables utilizadas.
c a
i 3.1416
cad hola
ci
cad c
1 20
mundo hola
3.1416 h
son incorrectas, debido a que una constante no puede cambiar de valor por la aplicacin de
cualquier operacin, en este caso una asignacin. Por este motivo, una regla bsica en
operaciones de asignacin es: La parte izquierda de una asignacin siempre debe ser una
variable.
Pgina 44
METODOLOGA DE LA PROGRAMACIN
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN
Pgina 45
METODOLOGA DE LA PROGRAMACIN
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN
Para ver en accin el smbolo y las operaciones de E/S, considerar el diagrama de flujo de
la figura 3.4, que resuelve el problema descrito a continuacin: Disear un programa que
lea desde el teclado el nombre del usuario y lo imprima como salida.
El diagrama de flujo que representa grficamente el diseo del algoritmo 3.1 se muestra en
la figura 3.4.
Pgina 46
METODOLOGA DE LA PROGRAMACIN
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN
PRINT(Da tu nombre)
READ(nombre)
FIN
Por ltimo, el flujo se dirige hacia el smbolo de FIN con el que se indica la terminacin del
diagrama de flujo.
Las instrucciones u operaciones aritmticas son las ms utilizadas en el interior del smbolo
de procesamiento. Los smbolos usados para representar operaciones aritmticas se
conocen como operadores y se muestran en la tabla 3.1.
Ejemplos de expresiones aritmticas son: 1, +3, 3, 2+3, 23, 2_3, 3/2.0, 23.23/2.4,
2+32_3/4, (2+3)2_3/4, etc. Cuando en una expresin aparece ms de un operador, la
secuencia de evaluacin depende de su prioridad o precedencia. El operador con mayor
precedencia se evaluar primero. La precedencia de los operadores aritmticos presentados
en la tabla 4.3 es:
Pgina 47
METODOLOGA DE LA PROGRAMACIN
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN
Observe que los parntesis han sido utilizados para indicar explcitamente el orden de
evaluacin de la expresin, pero que no son necesarios, ya que cuando se evala una
expresin se asume la precedencia de los operadores.
Los parntesis se usan principalmente para alterar la prioridad de los operadores, ya que
permiten evaluar primero la sub-expresin delimitada entre stos. Por ejemplo, en la
expresin (146)/2*3, la resta se realiza antes que la divisin y la multiplicacin,
obteniendo como resultado (146)/2*3=8/2*3=4*3=12.
El smbolo de procesamiento representa el manejo de los datos y todo tipo de operaciones
de clculo, por medio de la aplicacin de una o ms instrucciones de asignacin que se
ejecutan de manera secuencial y que son de la forma:
variable expresin.
Como ejemplo, considerar el diagrama de flujo que se muestra en la figura 3.5, en el que se
representa el clculo del cuadrado de un nmero real proporcionado por el usuario desde el
teclado y la escritura de ambos valores (ver algoritmo 3.2). Primero se le pide al usuario
que introduzca el nmero real del que desea obtener su cuadrado, mediante la operacin de
salida PRINT(De un real para x:). Despus se ejecuta la operacin de entrada READ(x),
lo que permite la lectura de un nmero real y su almacenamiento en la variable x. En ese
momento inicia el procesamiento, que en nuestro caso consiste nicamente de una
operacin de asignacin contenida en un smbolo de bloque de instrucciones, la cual
efecta un clculo aritmtico, la multiplicacin de x*x, y asigna el resultado a la variable y.
Por ltimo, se imprime en la pantalla los valores de x e y (el cuadrado de x).
INICIO
READ(x)
yx*x
PRINT(El cuadrado de , x, es , y)
FIN
Smbolo de decisin
Las operaciones relacionales y lgicas, es decir, operaciones que evalan comparaciones
(expresiones relacionales) y expresiones lgicas, mediante las cuales se puede decidir si
una condicin es verdadera o falsa, son de suma importancia en todas las aplicaciones de
procesamiento de datos. Estas operaciones se representan en los diagramas de flujo
mediante el smbolo de decisin, en el cual se coloca la condicin lgica (una condicin
lgica o expresin condicional, puede ser una expresin relacional que involucra
operadores relacionales, una expresin lgica que contiene operadores lgicos o bien una
expresin que involucra operadores relacionales y lgicos), que se desea evaluar y
dependiendo de si el resultado es Verdadero (V) o Falso (F), se ejecuta una u otra accin.
Smbolo Significado
= igual a
!= diferente de
< menor que
<= menor o igual a
> mayor que
>= mayor o igual a
Tabla 3.2: Operadores relacionales
Pgina 49
METODOLOGA DE LA PROGRAMACIN
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN
INICIO
PRINT(Da un entero:)
READ(m)
V
m < 0 PRINT(m es negativo )
Para dar solucin a cada subproblema se disea un diagrama de flujo (o subdiagrama) que
en la etapa de codificacin se implementa como un subprograma (procedimiento o
funcin).
IV. Bibliografa
Prez R., Fernndez A., Prez A., Hernndez R., Programacin Orientada a Objetos con C#,
Universidad de Matanzas Camilo Cienfuegos, Universidad de las Ciencias Informticas,
Septiembre 2003, 4 pp.
Lpez L., Metodologa de la Programacin Orientada a Objetos, Alfaomega Grupo Editor
S.A. De C.V., D.F. Mxico, 2006, 36 pp.
Cairo O., Metodologa de la Programacin. Diagramas de Flujo, Algoritmos y Programas,
Alfaomega Grupo Editor S.A. De C.V., D.F. Mxico, 2005, 4 pp.
L. Joyanes, Programacin en Turbo Pascal Versiones 5.5, 6.0 y 7.0, McGraw Hill, 77 pp.
Pgina 51
METODOLOGA DE LA PROGRAMACIN
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN
A.
B. Citas Bibliogrficas
[1]. R. Cadenhead et al, Programacin Aprendiendo Java 2.0 en 21 Das, Pearson Spanish,
2003, ISBN 9701702298.
[2]. T. Archer, A Fondo C#, McGraw-Hill/Interamericana, 2001, ISBN 84-481-3246-1.
[3]. B. Meyer, Object-Oriented Software Construction, Prentice Hall, 1997, ISBN 0-13-
629155-4.
[4]. J. Garca Molina et al, Introduccin a la Programacin, ICE, Universidad de Murcia,
Diego Marn, 1999.
[5]. J. Rumbaugh et al, Modelagem e Projetos Baseados en Objetos, Campus Ltda, 1994,
ISBN 85-7001-841-X.
[6]. T. Budd, Introduccin a la Programacin Orientada a Objetos, Addison Wesley
Iberoamericana, 1994.
Saber
Saber hacer
.
Resultado de aprendizaje
Pgina 52