Sei sulla pagina 1di 52

Manual de Asignatura Basado en Competencias Profesionales

Metodologas de la programacin

Junio, 2012

ELABOR: UNIVERSIDAD TECNOLGICA AUTORES: APROB: COMISIN NACIONAL ACADMICA DE TIC

REVIS: UNIVERSIDAD(ES) TECNOLGICA(S) REVISORES: FECHA DE ENTRADA EN VIGOR:

METODOLOGA DE LA PROGRAMACIN

TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Tabla de contenido
I. II. III. 1. PROPSITO GENERAL DEL MANUAL ................................................................... 3 INTRODUCCIN .......................................................................................................... 3 DESARROLLO ........................................................................................................... 4 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 Unidad Temtica 2. Expresiones ................................................................................ 20 2.1 Operadores aritmticos, relacionales y lgicos .......................................................... 20 2.2 Expresiones................................................................................................................. 23 2.3 Jerarqua de operadores .............................................................................................. 24 Unidad Temtica 3. Algoritmos y Diagramas de Flujo ...................................... 36

Smbolos utilizados en los Diagramas de Flujo ................................................... 41 Conceptos preliminares de los diagramas de flujo ........................................................... 42 Smbolo de Entrada y Salida (E/S) ................................................................................... 45 Smbolo de procesamiento o bloque de instrucciones ...................................................... 47 Smbolo de decisin ................................................................................................... 49 IV. B. Bibliografa ................................................................................................................ 51 Citas Bibliogrficas ................................................................................................ 52

Pgina 2

METODOLOGA DE LA PROGRAMACIN

TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

I.

PROPSITO GENERAL DEL MANUAL El objetivo de la asignatura de metodologas de la programacin es: El alumno disear
algoritmos en pseudocdigo y diagramas de flujo, para resolver un problema determinado, por lo tanto el presente manual pretende b r i n d a r herramientas a los alumnos para que en un futuro a corto plazo puedan por si solos elaborar algoritmos en pseudocdigo, que lleven a la solucin de una tarea electrnicamente, computacionales. as como despertar su espritu emprendedor en programas

II.

INTRODUCCIN

El presente documento integra informacin acerca de temas relacionados con la metodologa de programacin en pseudocdigo. Se tratan 3 temas en particular, se inicia con los conceptos bsicos en materia de elaboracin de algoritmos en pseudocdigo, para despus pasar a elaborar expresiones matemticas en lenguaje algortmico y concluir con estructuras ms completas como son las estructuras de decisin y repeticin, adems se complementa con otra herramienta de desarrollo de algoritmos en diagramas de flujo.

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

1.
Objetivo

Unidad Temtica. Conceptos Bsicos

El alumno determinar las entradas, procesos y salidas de un problema, utilizando los elementos bsicos de programacin, para el planteamiento de una solucin.
Temas Adquisicin, procesamiento y Saber Identificar los elementos bsicos del proceso de informacin (entrada - proceso - salida) Conceptos Flujo Tipos de datos (numricos, de Algoritmos, Reconocer la diferencia entre un algoritmo, pseudocdigo y diagrama de flujo Identificar los diferentes tipos de datos utilizados en la programacin, aplicndolo en la resolucin de un problema. Identificadores, constantes variables y Reconocer los conceptos de Determinar las variables y Analtico. Ordenado. Sistemtico Analtico, ordenado, sistemtico, identificador, variable y constante. Describir las reglas de creacin de identificadores. Metodologa para la solucin de problemas por medio de computadoras Identificar metodologa problemas computadoras. las de por etapas de la de de solucin medio constantes a utilizar, dependiendo del tipo de datos a emplear y los requerimientos. Determinar las entradas, proceso y salidas de un problema. coherente, proactivo, asertivo Hbil para trabajo en equipo. Determinar de los distintos tipos de tcnicas la adecuada para la solucin de problemas. Determinar el tipo de dato a utilizar dependiendo de los requerimientos de informacin a manipular. Saber hacer Esquematizar informacin. el proceso de Analtico. Ordenado. Sistemtico. Analtico. Sistemtico Ordenado Asertivo. Analtico. Ordenado. Sistemtico. caracteres / cadenas, booleanos. Ser

almacenamiento de datos

Pseudocdigo y Diagrama de

1.1 Adquisicin, procesamiento y almacenamiento de datos


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

La computadora es una herramienta que se utiliza para representar cualquier situacin de la realidad en forma de datos, los cuales se procesan despus para generar informacin. Esto quiere decir que toda situacin que pueda ser abstrada y representada en forma de datos, puede ser manejada mediante la computadora. La figura 1.1 muestra un esquema de lo descrito anteriormente, es decir, los datos entran como materia prima, se procesan para transformarlos en la informacin que se da como salida. Tanto los datos como el procedimiento necesario para generar la informacin, son adquiridos o suministrados a la computadora en forma de un programa constituido por instrucciones. La computadora interpreta y procesa las instrucciones del programa de acuerdo con ciertas reglas de sintaxis que conforman el lenguaje de programacin, mediante es cual es posible comunicarle lo que debe hacer.

Situacin Real

Adquisicin de Datos

Procesamient o

Informacin

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

La unidad de entrada se utiliza para introducir datos del exterior en la memoria de la computadora a travs de dispositivos perifricos de entrada como teclados, ratn, discos, mdem, lectora de cdigo de barras, etctera. Esta unidad realiza automticamente la traduccin de smbolos inteligibles para la gente, en smbolos que la computadora pueda manejar. La unidad de salida permite transferir datos de la memoria al exterior, a travs de dispositivos perifricos de salida como impresoras, pantallas de video, mdem, etc. Un programa es un conjunto de instrucciones que guan a la computadora para realizar alguna actividad o resolver algn problema; en el programa se ejecutan diferentes acciones de acuerdo con los datos que se estn procesando. El programa debe incluir instrucciones para las acciones que deban ejecutarse sobre cada uno de los tipos de datos admitidos, adems instrucciones que identifiquen los datos errneos y recuperarse ante la aparicin de estos. Cuando se ejecuta un programa con un tipo de dato especfico, es probable que no se ejecuten todas las instrucciones sino slo las que sean pertinentes a los datos en cuestin.

1.2 Reconocer la diferencia entre un algoritmo, pseudocdigo y diagrama de flujo


Saber Reconocer la diferencia entre un algoritmo, pseudocdigo y diagrama de flujo. Saber hacer Determinar de los distintos tipos de tcnicas la adecuada para la solucin de problemas.

Informalmente se define un algoritmo como un conjunto de reglas, pasos u rdenes que indican una secuencia de operaciones a ejecutar para resolver un problema determinado que debe satisfacer los requisitos siguientes:

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

porque evidentemente el ltimo paso no es factible de realizar.


c. La ejecucin de la secuencia de pasos debe dar un resultado en un tiempo finito. Por ejemplo, un algoritmo para subir una escalera no puede tener en su secuencia los pasos:

1. Suba un escaln. 2. Baje un escaln. 3. Vuelva al paso 1. porque evidentemente aunque la secuencia es finita y cada paso es factible no dar una respuesta en un tiempo finito.
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. Un Diagrama de Flujo representa la esquematizacin grfica de un algoritmo. En realidad muestra grficamente los pasos o procesos a seguir para alcanzar la solucin de un problema. Su correcta construccin es sumamente importante porque a partir del mismo se escribe un programa en algn lenguaje de programacin. Si el diagrama de flujo est completo y correcto, el paso del mismo a un lenguaje de programacin es relativamente simple y directo.

Pgina 7

METODOLOGA DE LA PROGRAMACIN

TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

NOMBRE DE LA PRCTICA: UNIDAD TEMTICA: TEMA:

Pseudocdigo: rea del tringulo

Conceptos Bsicos
1.2 Reconocer la diferencia entre un algoritmo en pseudocdigo y diagrama de flujo

OBJETIVO DE LA PRCTICA: TIEMPO DE LA PRCTICA:

Crear en pseudocdigo el algoritmo para calcular el rea del tringulo

FECHA: 40 min DESCRIPCIN:

Desarrollar el pseudocdigo y Diagrama de flujo para calcular el rea de un tringulo dadas la base y la altura como datos de entrada, la salida debe quedar de la siguiente forma El rea del triangulo es __.

MATERIALES Y EQUIPOS:
Computadora. Programa PSeInt

PROCEDIMIENTO:
1. 2. 3. 4. 5. 6. 7. 8. Identificar los datos de Entrada. Desarrollar la frmula del clculo del rea de un triangulo. Identificar los datos de salida. Escribir en pseudocdigo el ejercicio descrito Captura las instrucciones en el programa Pseint Ejecuta el pseudocdigo y proporciona datos de prueba Observa el resultado generado y comprubalo con una calculadora. 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. 2. 3. 4. Enumera los datos de entrada que identificaste Enumera los datos de salida que identificaste Cul es la diferencia entre un dato de entrada y un dato de salida? 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. Cairo O., Metodologa de la Programacin. Diagramas de Flujo, Algoritmos y Programas, Alfaomega Grupo Editor S.A. De C.V., D.F. Mxico, 2005,

Pgina 9

METODOLOGA DE LA PROGRAMACIN

TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

LISTA DE COTEJO PARA PRCTICAS DE LABORATORIO CATEGORA 100% 75% 50%


1 2 3 4 5 Comprendi e interpret la problemtica a resolver Deduce los datos de entrada correctamente Deduce los datos de salida correctamente Elabora y aplica frmulas correctamente El algoritmo en pseudocdigo tiene secuencia lgica desde el inicio hasta el final Estructura correctamente el pseudocdigo para la entrada de datos Estructura correctamente el pseudocdigo para la salida de datos 8 El algoritmo en pseudocdigo llega a la solucin correcta

25%

6 7

total

1.3 Tipos de datos (numricos, caracteres / cadenas, booleanos)


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.

Los datos a procesar por una computadora se pueden clasificar en:


Simples Estructurados

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

Datos Cadena de caracteres Los datos cadena de caracteres estn compuestos por una hilera de caracteres alfabticos, numricos y especiales, que sirven para representar y manejar datos tales como nombres de personas o de empresas, descripciones de artculos o productos, direcciones de personas, entre otros. Este tipo de datos tambin se conoce como alfabtico o alfanumrico, ya que su contenido sea cual fuere- siempre se considera como una serie de caracteres; los valores de este tipo normalmente se encierran entre comillas. Por ejemplo:
abcde $9#7 Carlos Gmez Rosario 754-27-22

Datos Booleanos Este tipo de dato est compuesto por los valores False (falso) y True (verdadero). Tambin es conocido como tipo de dato lgico.

1.4 Identificadores, variables y constantes


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

Se llama identificador al nombre que se le da a las casillas de memoria. Un identificador se forma de acuerdo a ciertas reglas (las mismas pueden tener alguna variante dependiendo del lenguaje de programacin utilizado):
El primer carcter que forma un identificador debe ser una letra. Los dems caracteres pueden ser letras, dgitos o el smbolo especial: _. La longitud del identificador no est limitada pero se recomienda algo corto y descriptivo.

En la figura 1.2 se muestran ejemplos de identificadores. suma aux X7 ACU M NUM_1

Figura 1.2 Identificadores vlidos Constantes Las constantes son datos que no cambian durante la ejecucin de un programa. Para nombrar las constantes se utilizan los identificadores mencionados anteriormente. Existen tipos de constantes como tipos de datos, por lo tanto, puede haber constantes de tipo entero, real, carcter, cadena de caracteres, etc. En la figura 1.3, la constante NUM es de tipo entero, NREAL y NUMREA son de tipo real, y RESU de tipo cadena de caracteres. Estas constantes no cambiarn su valor durante la ejecucin del programa. Es muy importante que los nombres de las constantes sean representativos de la funcin que tienen las mismas en el programa. NU M 5 NUMRE NREA RESU A L 8.69 7.25 resultado Figura 1.3 Constantes representadas en la memoria

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 0

SUE L 0

SUM A 0

Figura 1.4 Variables representadas en la memoria 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.

1.5 Metodologa para la solucin de problemas por medio de computadoras


Saber Identificar las etapas de la metodologa de solucin de problemas por medio de computadoras. 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

ANLISIS PROFUNDO DEL PROBLEMA ETAPA 1

CONSTRUCCIN DEL ALGORITMO

VERIFICACIN DEL ALGORITMO

ETAPA 2

ETAPA 3

Figura 1.5 Etapas de la solucin de un problema

Pgina 13

METODOLOGA DE LA PROGRAMACIN

TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

NOMBRE DE LA PRCTICA: UNIDAD TEMTICA: TEMA:

Pseudocdigo: Verificar si es par o impar

Conceptos Bsicos
1.5 Metodologa para la solucin de problemas por medio de computadoras.

OBJETIVO DE LA PRCTICA: TIEMPO DE LA PRCTICA:

Crear en pseudocdigo el algoritmo para ejemplificar el uso de instrucciones condicionales. 25 min

FECHA: DESCRIPCIN:

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. 2. 3. 4. 5. 6. 7. 8. 9. Identificar los datos de Entrada. Desarrollar la frmula del clculo del mdulo de un nmero. Establecer las condiciones necesarias para verificar si un numero es par o impar Identificar los datos de salida. Escribir en pseudocdigo el ejercicio descrito Captura las instrucciones en el programa Pseint Ejecuta el pseudocdigo y proporciona datos de prueba Observa el resultado generado y comprubalo con una calculadora. Genera el diagrama de flujo con la herramienta Dibujar diagrama de flujo de la barra de herramientas del PseInt.

RESULTADOS Y ANLISIS:

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. 2. 3. 4. 5. Enumera los datos de entrada que identificaste Enumera los datos de salida que identificaste Qu es el mdulo de un nmero? Qu operador relacional utiliza el presente ejercicio? 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,

NOMBRE DE LA PRCTICA: UNIDAD TEMTICA: TEMA:

Pseudocdigo: Sueldo de un empleado.

Conceptos Bsicos
1.5 Metodologa para la solucin de problemas por medio de computadoras

OBJETIVO DE LA PRCTICA: TIEMPO DE LA PRCTICA:

Crear en pseudocdigo el algoritmo para calcular el sueldo de un empleado


25 min

FECHA: DESCRIPCIN:

Desarrollar el pseudocdigo y Diagrama de flujo para calcular el salario de un empleado sabiendo que stos se calculan en base a las horas semanales trabajadas y de acuerdo a un precio especificado por cada hora. Si se pasan de 40 horas semanales, las horas extraordinarias se pagarn al doble de la hora ordinaria. En caso contrario se pagarn de forma ordinaria.

MATERIALES Y EQUIPOS:

Pgina 15

METODOLOGA DE LA PROGRAMACIN

TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Computadora. Programa PSeInt

PROCEDIMIENTO:
1. 2. 3. 4. 5. 6. 7. 8. Identificar los datos de Entrada.

Desarrollar la frmula del clculo del sueldo. Identificar los datos de salida. Escribir en pseudocdigo el ejercicio descrito Captura las instrucciones en el programa Pseint Ejecuta el pseudocdigo y proporciona datos de prueba Observa el resultado generado y comprubalo con una calculadora. 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 abstraer los distintos elementos esenciales para elaborar un pseudocdigo.

CUESTIONARIO
1. 2. 3. Enumera los datos de entrada que identificaste

Enumera los datos de salida que identificaste Cul es la diferencia entre los dos caminos que se pueden seguir en la condicin?

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.

NOMBRE DE LA PRCTICA: UNIDAD TEMTICA: TEMA:

Pseudocdigo: Vocal o consonante

Conceptos Bsicos
1.5 Metodologa para la solucin de problemas por medio de computadoras

OBJETIVO DE LA PRCTICA: TIEMPO DE LA PRCTICA:

Crear en pseudocdigo el algoritmo para determinar si una letra es vocal o consonante.

FECHA: 25 min DESCRIPCIN:

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. 2. 3. 4. 5. 6. 7. 8. Identificar los datos de Entrada. Establecer la instruccin condicional.

Identificar los datos de salida. Escribir en pseudocdigo el ejercicio descrito Captura las instrucciones en el programa Pseint Ejecuta el pseudocdigo y proporciona datos de prueba Observa el resultado generado y comprubalo con una calculadora. 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. 2. 3. 4. Enumera los datos de entrada que identificaste Enumera los datos de salida que identificaste Qu tipo de dato de entrada es definido? 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.

NOMBRE DE LA PRCTICA: UNIDAD TEMTICA: TEMA:

Pseudocdigo: Verificar rango

Conceptos Bsicos
1.5 Metodologa para la solucin de problemas por medio de computadoras

OBJETIVO DE LA PRCTICA: TIEMPO DE LA PRCTICA:

Crear en pseudocdigo el algoritmo para verificar rango

FECHA: 25 min DESCRIPCIN:

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. 2. 3. 4. 5. 6. 7. 8. Identificar los datos de Entrada. Establecer la instruccin condicional. Identificar los datos de salida. Escribir en pseudocdigo el ejercicio descrito Captura las instrucciones en el programa Pseint Ejecuta el pseudocdigo y proporciona datos de prueba Observa el resultado generado y comprubalo con una calculadora. 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,

Unidad Temtica 2. Expresiones


Objetivo. El alumno convertir expresiones algebraicas, aritmticas y lgicas a expresiones
algortmicas, considerando la jerarqua de operadores, para realizar las tareas solicitadas.
Temas Operadores aritmticos, Identificar existentes. Identificar la jerarqua de los operadores. Resolver expresiones aritmticas y lgicas. Expresiones Identificar las expresiones aritmticas y/o lgicas inmersas en el planteamiento de un problema. Convertir expresiones algebraicas, los relacionales y lgicos Jerarqua de operadores Saber tipos de operadores Saber hacer Localizar los tipos de operadores Ser Analtico, ordenado, sistemtico. Coherente, asertivo Analtico, Ordenado, sistemtico. Coherente. Proactivo. Asertivo Analtico. Ordenado. Sistemtico. Coherente. Proactivo. Asertivo Hbil para trabajo en equipo.

aritmticas y lgicas a expresiones algortmicas

2.1 Operadores aritmticos, relacionales y lgicos


Saber Identificar los tipos de operadores existentes. Saber hacer Localizar los tipos de operadores Resultado de aprendizaje El alumno entregar un cuadernillo con al menos 45 ejercicios que contenga: Conversin de expresiones algebraicas, aritmticas y lgicas algortmicas (15 de cada una). La jerarqua de operadores indicando el orden de ejecucin de cada una de ellas. a expresiones

Pgina 20

METODOLOGA DE LA PROGRAMACIN

TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Un operador es un smbolo o grupo de smbolos (incluyendo letras) que indica que se ha de realizar cierta accin entre uno o dos operandos (valores). Se pueden clasificar bsicamente en 3 tipos: Operadores Aritmticos.- Son aquellos que involucran valores numricos como operandos para calcular un resultado numrico.
Operador ^ * / Mod + Operacin Potencia Multiplicacin Divisin Modulo Residuo Suma Resta Ejemplo 4^3 8.25 * 7 15 / 4 15 mod 2 125.78 + 62.5 65.30 32.33 Resultado 64 57.75 3.75 1 188.28 32.97

Operadores Relacionales.- Se utilizan cuando se requiere comparar dos valores, dando como resultado un valor Booleano.
Operador = <> <= >= < > Operacin Igual que Diferente que Menor o Igual que Mayor o Igual que Menor que Mayor que Ejemplo hola = hora a <> b 15 <= 22 35 >= 20 7 < 15 22 > 11 Resultado Falso Verdadero Verdadero Verdadero Verdadero Verdadero

Operadores Lgicos Booleanos.- Conjuncin, Disyuncin y Negacin. Los operadores de conjuncin (AND) y disyuncin (OR), permiten formular condiciones complejas a partir de condiciones simples, es decir, une a dos operandos de tipo booleano (normalmente los resultados de 2 operaciones relacionales) obteniendo como resultado un valor booleano.
Operador & | ~ Operacin Conjuncin (AND) Disyuncin (OR) Negacin (NOT) Ejemplo 4<6 & 5 = 2 4<6 | 5 = 2 ~ ( 4 < 6) Resultado Falso Verdadero Falso

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 promedio >= 8.5 & promedio < 9.5 Explicacin 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

nacionalidad = mexicana & edad > 18 mes > 6 & mes <> 11

La variable nacionalidad debe ser mexicana considerando tambin que la variable edad debe ser mayor a 18 La variable mes puede ser mayor de 6 , pero no tiene que ser 11 (es decir 7, 8, 9, 10, 12)

Una Disyuncin ( | ) es verdadera si alguno de sus argumentos es verdadero, en caso contrario, el resultado es falso La disyuncin expresa que se cumpla alguna de sus 2 opciones (operandos)

Ejemplo Explicacin TengoBoletoMetro = verdadero | dinero > 2.00 Se revisan las variables TengoBoletoMetro y dinero para saber si por alguna de los dos evaluaciones es viable viajar en metro x = 5 | x > 13 Se revisa que la variable x sea igual a 5 o superior a 13 (es decir 5, 14,15,16,17)

Es posible expresar los operandos Conjuncin y Disyuncin en la siguiente tabla


P Verdadero Verdadero Falso Falso Q Verdadero Falso Verdadero Falso P&Q Verdadero Falso Falso Falso P|Q Verdadero Verdadero Verdadero Falso

Una Negacin ( ~ ) cambia el valor booleano de su operando de falso a verdadero y viceversa. Solo necesita un operando
Ejemplo ~ ( ColorOjos = verde ) ~ ( x > 6) ~( ~ ( edad = 8 ) ) Explicacin Se evala que la variable ColorOjos no contenga el valor verde Todo valor de x que no sea mayor que 6 (es decir, x puede tomar valores de: 6, 5, 4, 3, 2, 1, 0, -1, .) Se evala que la edad sea igual a 8

Observar que una doble negacin obtiene el valor inicial. La tabla de verdad del operador Negacin es:
P Verdadero Falso ~P Falso Verdadero

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

Una expresin es un conjunto de valores constantes variables relacionados por operadores que al ser evaluados regresan un resultado. Normalmente, cuando se plantea un problema representando el mundo real, se hace uso de los operadores aritmticos, relacionales y lgicos

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. El enunciado involucra conocer el rea del terreno, la siguiente expresin permite el clculo de la misma Area_terreno Base_terreno * Altura_terreno Y tambin que la cantidad de rboles est dada por 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. La expresin involucrada en la revisin de la fecha de hoy para dar la respuesta es Fecha_Hoy > Fecha_Limite Da tal manera que todos aquellos casos en que la expresin sea verdadera, son los mismos cuando el pago se realiza con recargos. Problema.- Inscripcin de un alumno a un saln de acuerdo al promedio: Pgina 23

METODOLOGA DE LA PROGRAMACIN

TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Menores a 7 7-8 8.1- 9.5 Mayores a 9.5

No contemplados, sin grupo Grupo C Grupo B Grupo A

Las expresiones necesarias para ubicar a los alumnos del Grupo B de acuerdo a la Calificacin sera la siguiente: Calf >= 8 y tambin Calf <= 9.5 En este caso, es necesario indicar que ambas condiciones deben cumplirse, por lo que la expresin resultante sera: Calf > 8 & Calf <= 9.5
2.3 Jerarqua de operadores
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:

Jerarqua Mayor

Operador (,) ^ *, / , mod +,= , <> , <, >, <=, >= ~

Categora Asociativo Aritmtico

Relacionales Lgicos

Pgina 24

METODOLOGA DE LA PROGRAMACIN

TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Menor

&,|

Se consideran tambin las siguientes reglas de prioridad: 1) Se resuelven las expresiones que se encuentran entre parntesis. 2) La prioridad ms alta se ejecutar primero. 3) Los operadores que tienen igual prioridad se evalan de izquierda a derecha, cuando coinciden en una operacin aritmtica. Dentro de la los operadores aritmticos se observan 3 subcategoras, de tal manera que sin importar el orden de aparicin, primero se ejecuta el operador de potencia, a continuacin la multiplicacin, divisin y modulo (de misma prioridad los tres) y por ltimo las operaciones de suma y resta (de misma prioridad). Ejemplos: (El nmero debajo de las operaciones indican el orden de ejecucin)

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

Si una expresin contiene operadores aritmticos lgicos y relacionales, primero se resuelven los aritmticos y con sus resultados se operan los relacionales y por ltimo los lgicos. Ejemplos:

Pgina 28

METODOLOGA DE LA PROGRAMACIN

TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Pgina 29

METODOLOGA DE LA PROGRAMACIN

TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Observar que en los operadores relacionales, Falso es menor que Verdadero

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

No se puede comparar un valor numrico con un lgico utilizando un operador relacional 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

Donde: expresin puede ser aritmtica o lgica, o una constante o variable. Observar a continuacin el siguiente ejemplo: Ejemplo Suponga que las variables I, ACUM y J son de tipo entero, REA y SUM de tipo real, CAR de tipo carcter y BAND de tipo booleano. Considere tambin que se tienen que realizar las siguientes asignaciones: 1. I 0 2. I I +1 3. ACUM 0 4. J ( 5 ^ 2 1 ) / 3 5. CAR a 6. ACUM J / I 7. REA ACUM / 3 8. BAND (8 > 5) & (15 < 2 ^3 ) 9. SUM ACUM * 5 / J ^ 2 10. I I *3 11. REA REA / 5 12. BAND BAND | ( I = J ) 13. I REA 14. CAR J En la siguiente tabla se observan los valores que van tomando las variables en memoria
Nmero de asignacin 1 2 3 4 5 6 7 8 9 10 11 12 13 14 I 0 1 0 8 a 8 2.66 falso 0.625 3 0.532 falso error error J ACUM REA SUM CAR BAND

Observe que en la asignacin nmero 13 a la variable I se le asigna una variable de tipo real, por lo que se produce un error. Lo mismo ocurre con la asignacin numero 14, a la variable tipo carcter CAR se le asigna una variable de tipo entero, por lo que tambin produce un error. Pgina 34

METODOLOGA DE LA PROGRAMACIN

TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Linealizacin de Expresiones Aritmticas Las expresiones aritmticas deben escribirse en una lnea para que la computadora pueda evaluarla. Por ejemplo, la expresin: x y N y 1 se entiende perfectamente y es posible evaluarla al conocer los valores de x y y si la sustitucin de los valores queda x 5 y y3

53 3 1 se evala primero la expresin del numerador y se continua la expresin del denominador, finalmente se resuelve la divisin, dando como resultado N 4 Sin embargo, la computadora no entiende este formato, por lo cual se debe escribir la expresin original en una sola lnea para que sea reconocida: N ( x +y ) / (y -1) N
La computadora examina toda la expresin y va evaluando cada componente de acuerdo con cierto orden de precedencia que contienen las operaciones aritmticas, que es el siguiente: 1.- Operaciones entre parntesis 2.- Operaciones Uniras (se refiere al cambio de signo, ejemplo -4, cambia a 4) 3.- Multiplicacin, Divisin y Modulo 4.- Suma y Resta Cuando existen operaciones del mismo nivel, se evalan de izquierda a derecha En el ejemplo anterior se encierran entre parntesis las operaciones ( x + y ) y ( y -1) para cerciorarse de que se hiciera primero la suma, luego la resta y al ultimo la divisin, conforme al planteamiento del problema original. Si la expresin se hubiera escrito 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. Otros ejemplos de conversin en lnea: Pgina 35

METODOLOGA DE LA PROGRAMACIN

TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

x A B

Y Z

x A+BY/Z

x A + B (Y / Z)

A*C B D C CE BF AE BD T (Y 2) R S

W ( A * C / D ) + B / C

X ( ( C * E) (B * F)) / ((A * E) - (B * D))

Z (T* (Y 2 ) + R ) / S

9 F C 32 5

F 9 / 5 * C + 32

Unidad Temtica 3.

Algoritmos y Diagramas de Flujo

Objetivo. El alumno elaborar algoritmos, diagramas de flujo y pseudocdigos para la resolucin de problemas.

Temas Reglas para elaborar algoritmos, Pseudocdigo y diagramas de flujo.

Saber Reconocer la sintaxis utilizada para el desarrollo de pseudocdigo. Identificar la simbologa utilizada en el desarrollo de diagramas de flujo. Describir el procedimiento para realizar una prueba de escritorio.

Saber hacer Plantear la solucin de un problema empleando pseudocdigo y diagramas de flujo.

Ser Analtico. Ordenado. Sistemtico. Coherente. Proactivo. Asertivo

Pgina 36

METODOLOGA DE LA PROGRAMACIN

TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Temas
Contadores y acumuladores.

Saber
Reconocer el funcionamiento de un contador y un acumulador.

Saber hacer
Comparar entre un contador y un acumulador.

Ser
Analtico. Ordenado. Sistemtico. Coherente. Proactivo. Asertivo.

Estructuras seleccin

de

control

de

Reconocer el funcionamiento de las estructuras de control selectivas: Simples, compuestas y Mltiples

Resolver un problema determinado aplicando las estructuras de control selectivas y verificar la solucin a travs de una prueba de escritorio. Resolver un problema determinado aplicando las estructuras de control repetitivas y verificar la solucin a travs de una prueba de escritorio.

Analtico. Ordenado. Sistemtico. Coherente. Proactivo. Asertivo Planificador. Creativo Hbil para trabajo en equipo. Analtico. Ordenado. Sistemtico. Coherente. Proactivo. Asertivo Planificador. Creativo Hbil para trabajo en equipo.

Estructuras de repeticin

Reconocer el funcionamiento de las estructuras de control repetitivas a) Para-hasta b) Repite c) Mientras.

3.1 Algoritmos y Diagramas de Flujo


Saber Reconocer la sintaxis utilizada para el desarrollo de pseudocdigo. Identificar la simbologa utilizada en el desarrollo de diagramas de flujo. Describir el procedimiento para realizar una prueba de escritorio. Saber hacer Plantear la solucin de un problema empleando pseudocdigo y diagramas de flujo.

Un algoritmo es la especificacin de un nmero finito de pasos bien definidos, que deben ejecutarse en un orden especfico y que permiten realizar un procedimiento, para llegar a un resultado o resolver un problema. Por ejemplo, los procedimientos que se conocen para sumar, restar, multiplicar, dividir, etc., son algoritmos. Por lo general la especificacin es abstracta y no se expresa en un lenguaje especfico de programacin. Sin embargo, para que una especificacin sea un algoritmo, debe ser suficientemente concreta para poder reconstruirse como un procedimiento escrito en tal lenguaje. Muchos algoritmos llevan implcitos, mtodos complicados de organizacin de los datos utilizados en el clculo. Por ejemplo, los algoritmos ejecutados por una computadora pueden combinar en un clculo matemtico complicado, millones de pasos elementales, tales como adiciones y substracciones. Las entidades creadas de esta manera se denominan estructuras de datos. As, las estructuras de datos y algoritmos estn ntimamente relacionados. De hecho, muchos algoritmos son descritos en trminos de las estructuras de datos empleadas, como se demostrar en los ejemplos de este captulo. 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

independientemente uno de otro y despus usarse para resolver el problema original, comnmente se denomina divide y vencers. De esta manera, en programas que resuelven problemas complicados, los pasos del algoritmo principal que requieran de un mayor refinamiento son resueltos al elaborar algoritmos para cada subprograma. 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 algoritmos tambin se aplican en mbitos diferentes a la Ciencia de la Computacin. Por ejemplo, los pasos de las recetas de un libro de cocina, los pasos necesarios para construir una casa, los pasos a seguir para instalar una computadora, los pasos que deben cumplirse antes de codificar un programa (los pasos de la etapa de diseo), etc. 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. La composicin secuencial implementa los pasos de procesamiento esenciales de la especificacin de cualquier algoritmo. Los enunciados secuenciales representan listas de instrucciones en donde el control fluye secuencialmente (ver figura 3.2 inciso A). Las estructuras de control de seleccin o enunciados condicionales, dan la posibilidad de seleccionar entre una y otra accin basada en alguna ocurrencia lgica. Permiten tomar decisiones durante la ejecucin de un mtodo, al seleccionar un enunciado (simple o compuesto) de entre otros, dependiendo del resultado obtenido al evaluar una expresin condicional (condicin lgica). Es decir, un programa puede ejecutar una accin si una condicin es verdadera y otra o ninguna si es falsa (ver figura 3.2 incisos B y C). Los ciclos proporcionan iteracin (repeticin). Un enunciado de repeticin es una construccin que se encarga de realizar ciclos en un programa, con objeto de repetir operaciones, acciones o instrucciones de una forma controlada (ver figura 3.2 incisos F y G). Los ciclos permiten la implementacin de diagramas de flujo y algoritmos en los que se requiere regresar a pasos o tareas previamente realizadas, que de otra manera se tendran que escribir de manera secuencial, lo que producira programas extensos con muchas lneas de cdigo redundantes. En general, un ciclo depende de alguna condicin lgica que determina el momento en que ste debe concluir (condicin de paro). Pgina 38

METODOLOGA DE LA PROGRAMACIN

TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Dichas construcciones estructuradas se propusieron para limitar el diseo de los procedimientos del software a un pequeo nmero de operaciones predecibles, que permiten reducir la complejidad de los programas y, por tanto, facilitan la legibilidad, la prueba y el mantenimiento. El uso de un nmero limitado de construcciones lgicas tambin contribuye a un proceso de comprensin humana que los psiclogos llaman troceado. Las construcciones estructuradas son trozos lgicos que permiten a un lector reconocer los elementos de los procedimientos de una clase, en vez de leer el diseo o el cdigo lnea a lnea. El uso de los diagramas de flujo se justifica si se considera: 1. Debido a que un diagrama de flujo es en esencia una imagen, puede representar fcilmente un pensamiento o una serie de ideas, por lo que es un eficaz medio de 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

Primera tarea

Condicin

Condicin

Enunciado2

Enunciado1

Enunciado

Segunda tarea

D) Enunciados de seleccin sin la parte else

E) Enunciados de seleccin con la parte else

Condicin1

Enunciado1

Condicin1

Enunciado1

Condicin2

Enunciado2

Condicin2

Enunciado2

CondicinN

EnunciadoN

CondicinN-1

EnunciadoN-1

F < F EnunciadoN

Tarea del ciclo F) Ciclo do-while

Condicin

Condicin

Tarea del ciclo

G) Ciclo while

Figura 3.2 Construcciones lgicas para el control de flujo en diagramas de flujo 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.
Smbolos utilizados en los Diagramas de Flujo

Smbolo de INICIO y FIN. Este smbolo se usa para indicar el principio y el final de un diagrama de flujo. Smbolo de E/S (Entrada/Salida). Define cualquier operacin de E/S requerida por un programa. Este smbolo puede indicar: 1) una lectura de datos (operacin de entrada) que se representa por medio de READ(dato1,...,datoN) 2) una impresin de resultados (operacin de salida) representada por PRINT(dato1,...,datoN). Smbolo conector. Permite la conexin de partes de un diagrama de flujo dentro de la misma hoja. Smbolo de procesamiento o de bloque de instrucciones. Marca las instrucciones de programa para auxiliar o efectuar el manejo de los datos. Smbolo de procedimiento o funcin (mtodo). Define un conjunto de instrucciones (procedimiento o funcin), dentro de un programa, que tiene un objetivo especfico y que se accede como una unidad. Smbolos de flujo. Sealan la direccin del procesamiento o el flujo de datos. Smbolo de decisin. Indica la ejecucin de operaciones lgicas o relacionales, que evalan la expresin condicional o condicin lgica del interior de este smbolo y dependiendo de si el resultado es Verdadero (V) o falso (F), se realiza una u otra accin. Smbolo conector entre pginas. Para indicar el nmero de pgina de la parte de un diagrama de flujo que se desea conectar. Figura 3.3 Smbolos usados en diagramas de flujo de programas

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.
Conceptos preliminares de 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. Un identificador es una secuencia de caracteres que necesariamente comienza con una letra del alfabeto o con un smbolo subrayado. Los caracteres restantes que componen el identificador pueden ser: letras del alfabeto, smbolos subrayados o dgitos. Por ejemplo, Horas, NOMBRE, sueldo, x, x 1, y, z1, i, n, L, mes, sexo, Pi, Epsilon, son identificadores permitidos. En los diagramas de flujo, los identificadores hacen referencia a variables, constantes, subprogramas o mtodos (procedimientos y funciones), tipos de datos y otras entidades que intervienen tanto en la descripcin como en la solucin de un problema. Un identificador de variable o simplemente variable es un identificador definido por el usuario, que puede tomar valores de algn tipo de dato especfico. Es decir, a una variable se le puede asignar un valor que debe corresponder con su tipo de dato. Los valores almacenados en una variable no necesariamente son permanentes, ya que se le puede asignar cualquier valor permitido durante la construccin de un diagrama de flujo, siempre y cuando sea en el smbolo apropiado. La definicin de los identificadores est limitada nicamente por la decisin de la persona que los define. Sin embargo, el uso de identificadores significativos que se relacionen con el propsito de los mismos, mejora la legibilidad de los diagramas y disminuye el costo de desarrollo. Por ejemplo, suponga que se requiere definir un identificador de variable para referenciar y almacenar el resultado del clculo correspondiente al rea de un crculo. Una buena eleccin es AreaCirculo o Area; en cambio, identificadores como x, a, L, x1 no lo son, ya que no representan el propsito de su uso, por lo que se recomienda evitar el empleo de variables poco descriptivas. Una constante es un valor especfico que no puede cambiar por la aplicacin de alguna operacin, es decir, el valor de una constante es permanente. Existen diferentes tipos de constantes, siendo las ms comunes: 1. Constantes de carcter: c, a, A, etc.. 2. Constantes enteras: 12, 1, 23, etc.. Pgina 42

METODOLOGA DE LA PROGRAMACIN

TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

3. Constantes reales: 12.32, 12.0, 123.345, 0.0004, etc.. 4. Constantes de cadena14: hola, 12345, 123.34, AbCdE..,y, etc.. En los diagramas de flujo se usan algunas convenciones que permiten diferenciar e identificar los distintos tipos de datos bsicos empleados: 1. El uso de apstrofos y comillas en la escritura de constantes de carcter y cadenas, respectivamente, permite la distincin entre estos tipos de datos y los identificadores. Por ejemplo, h es un carcter,h es una cadena compuesta por un carcter y h es un identificador. 2. Los nmeros enteros carecen de punto decimal, mientras que los nmeros reales lo contienen necesariamente (aunque la parte decimal sea 0). Por ejemplo, 12 se interpreta como un nmero de tipo entero, mientras que 12.0 como un nmero de tipo real. En un diagrama de flujo, una operacin de asignacin o simplemente asignacin se representa al colocar una variable seguida por una flecha dirigida hacia ella y a continuacin el valor que se desea asignar o almacenar en la variable. El valor a asignar puede ser: 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. Ejemplos de asignaciones permitidas son: i1 x i/2 R x+i cad hola car h i i+1 En la secuencia de operaciones de asignacin anterior, a la variable i se le asigna el valor de 1, a la variable x el valor de i (que es 1) dividido entre 2, en la variable R se almacena la suma de x+i que es igual a 1.5. Las asignaciones segunda, tercera y sexta son correctas, debido a que la variable i fue previamente inicializada con un valor de 1. Si no existiera la primera asignacin, las siguientes dos y la ltima no tendran sentido ni seran permitidas, ya que en los clculos no se sabra qu valor utilizar para la variable i. Esto nos permite enunciar una regla bsica: Antes de utilizar una variable en la parte derecha de una asignacin por primera vez, sta debi ser inicializada (es decir, se le debi asignar un valor). Pgina 43

METODOLOGA DE LA PROGRAMACIN

TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

En la secuencia de asignaciones anterior tambin se puede apreciar la caracterstica esencial de las variables: las variables pueden cambiar de valor durante la ejecucin de un conjunto de instrucciones u operaciones. En nuestro caso, i es inicializada a 1 y despus de ejecutar las cuatro operaciones siguientes la variable i cambia a 2 como resultado de la instruccin i i+1. Este tipo de asignacin es lo que comnmente se conoce como un incremento en 1 de la variable i, que se interpreta como sigue: a la variable i se le asigna el valor de i (que es 1) ms 1, es decir, a i se le asigna i+1=1+1=2. Esto nos permite sealar que en una operacin de asignacin puede intervenir la misma variable en ambos extremos de la flecha. Ms an, el incremento no necesariamente debe ser de 1, sino que puede tomar cualquier valor permitido. As, por ejemplo, la asignacin i i+20 incrementa en 20 el valor de la variable i. Asignaciones que efectan decrementos tambin son permitidas, por lo que i ix decrementa el valor de i x unidades, asumiendo, claro est, que las variables x e i son del mismo tipo y que la resta de ix es un valor que puede ser almacenado en la variable i. 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 Si nos guiamos por el contexto y las convenciones planteadas en prrafos anteriores, podemos decir que c es de tipo carcter, i de tipo real y cad de tipo cadena. Ahora, como c es de tipo carcter y cad de tipo cadena, las dos ltimas asignaciones no tienen sentido y son incorrectas. Es decir, a una variable de tipo carcter no se le debe asignar una variable de tipo real y un carcter no debe ser asignado a una variable de tipo cadena. Es evidente que asignaciones como: 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

En las siguientes subsecciones se explica y ejemplifica el uso de los smbolos mostrados en la figura 3.3.
Smbolo de Entrada y Salida (E/S)

Sirve para representar las operaciones de E/S que permiten la comunicacin entre la computadora y el usuario, por lo que en l debern colocarse descripciones que indiquen la introduccin de datos a la computadora por parte del usuario o bien la impresin de resultados por parte de la computadora. En este trabajo se asume que las operaciones de E/S trabajan nicamente sobre el teclado y la pantalla del monitor, mismos que se conocen como dispositivos estndares de entrada y salida, respectivamente. Las operaciones de E/S pueden describirse de manera ms conveniente al expresarlas en trminos de los dispositivos estndares de entrada y salida. As, la operacin de entrada se refiere a la lectura (READ) de los datos proporcionados por el usuario desde el teclado y la operacin de salida se refiere a la impresin (PRINT) de los resultados en la pantalla. Para que las operaciones READ y PRINT generen algn resultado til, es necesario especificar los datos a leer e imprimir, respectivamente. Para ello se usan las siguientes convenciones: 1. En las operaciones READ(dato1,...,datoN) y PRINT(dato1,...,datoN), dato1,...,datoN son los argumentos de READ o PRINT segn sea el caso. Los parntesis que encierran y las comas que separan dichos argumentos se usan para mejorar la legibilidad. 2. La operacin READ(dato1,...,datoN) lee N datos proporcionados por el usuario desde el teclado y los almacena (asigna) en las variables dato1,...,datoN, respectivamente. Los argumentos de READ deben ser identificadores de variables (variables) y cada uno de ellos puede ser de distinto tipo y aparecer en cualquier orden. Por ejemplo, dato1, dato2, dato3 y datoN (N=4) pueden ser variables de tipo real, entero, carcter y cadena, respectivamente; o bien dato1 una variable de tipo carcter,...,datoN una variable de tipo real, etc..Se debe observar que la operacin READ realiza asignaciones de manera implcita. Por ejemplo, READ(x, y1, z2) se interpreta como una operacin de entrada que lee tres datos proporcionados por el usuario desde el teclado y los asigna a las variables x, y1 y z2, respectivamente. Si suponemos que los argumentos de READ y los datos proporcionados por el usuario son de tipo entero y que adems el usuario introduce los valores 10, 1 y 2; entonces despus de ejecutar la operacin READ(x, y1, z2), las variables x, y1 y z1 tendrn los valores 10, 1 y 2, respectivamente. Es decir, la operacin READ ejecuta de manera interna las asignaciones x 10, y1 1 y z2 2. Por este motivo, los argumentos de READ pueden ser utilizados en operaciones posteriores sin necesidad de inicializarlos por medio de una asignacin explcita, puesto que READ asigna a sus argumentos los datos que lee desde el teclado. Note que operaciones como READ(0, 12), READ(1.3,hola) y READ(x, s) son incorrectas. Pgina 45

METODOLOGA DE LA PROGRAMACIN

TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

3. La operacin PRINT(dato1,...,datoN) imprime o escribe N datos (es decir, sus argumentos) en la pantalla. Al igual que en la operacin READ, los argumentos de PRINT pueden ser de distinto tipo y aparecer en cualquier orden. Bsicamente, en una operacin PRINT(dato1,...,datoN) los argumentos pueden ser constantes o variables que contienen un valor especfico. As, por ejemplo, en la operacin PRINT(x, z, hola,10, 34.2), las variables x y z debieron ser inicializadas, hola es una cadena de caracteres constante, 10 es una constante entera y 34.2 es una constante real. Se insiste en que esta operacin tiene sentido slo si las variables x y z contienen algn valor, el cual debi ser almacenado en estas variables antes de ejecutar PRINT. 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. Algoritmo 3.1: Secuencia lgica de pasos que se deben efectuar en la elaboracin de un programa que lea desde el teclado el nombre del usuario y lo imprima como salida. 1. Pedir al usuario su nombre. 2. Leer el nombre del usuario y almacenar dicho nombre en la variable nombre de tipo cadena. 3. Imprimir el nombre del usuario, almacenado en la variable nombre. El diagrama de flujo que representa grficamente el diseo del algoritmo 3.1 se muestra en la figura 3.4. Brevemente, el diagrama de flujo de la figura 3.4 se interpreta de la siguiente manera: 1. El smbolo de INICIO indica el comienzo del diagrama de flujo. 2. La flecha dirigida del smbolo de INICIO hacia el smbolo de E/S indica que la operacin que se encuentra en este ltimo es la siguiente a ser ejecutada. En todo diagrama, las flechas sealan el flujo de las operaciones a ejecutar y no se volver a indicar en posteriores descripciones. 3. Despus aparece un smbolo de E/S que ejecuta la operacin de salida PRINT(Da tu nombre), por medio de la cual se enva a la pantalla una cadena de caracteres constante en forma de mensaje de peticin al usuario. 4. El flujo se dirige hacia otro smbolo de E/S, slo que en este caso para efectuar una operacin de entrada (o lectura) desde el teclado. La operacin READ(nombre) espera a que el usuario introduzca su nombre y a continuacin lo asigna a la variable nombre. Por ejemplo, si el usuario introduce Juan Prez Rojas, entonces READ realiza de manera implcita la asignacin nombre Juan Prez Rojas, es decir, en la variable nombre se almacena la cadena Juan Prez Rojas. Cabe sealar que las comillas no se almacenan en la variable nombre, se usan en la asignacin para recalcar que nombre es una variable de tipo cadena. 5. A continuacin se ejecuta la operacin de salida PRINT(Tu nombre es:,nombre) contenida en el smbolo de E/S que sigue al flujo. Esta operacin de salida permite Pgina 46

METODOLOGA DE LA PROGRAMACIN

TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

imprimir en la pantalla la cadena de caracteres constante Tu nombre es: seguida del contenido de la variable nombre (que como se dijo anteriormente es Juan Prez Rojas). En resumen, esta operacin imprime en pantalla: Tu nombre es: Juan Prez Rojas.
INICIO

PRINT(Da tu nombre)

READ(nombre)

PRINT(Tu nombre es:, nombre)

FIN

Figura 3.4 Lee e imprime el nombre del usuario

Por ltimo, el flujo se dirige hacia el smbolo de FIN con el que se indica la terminacin del diagrama de flujo.
Smbolo de procesamiento o bloque de instrucciones

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.
Operador + * / Tipo de operador Unario o binario Unario o binario Binario Binario Operacin Ms unario o Suma (adicin) Menos unario o Resta (sustraccin) Multiplicacin Divisin

Tabla 3.1: Operadores aritmticos 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: -, + (operadores unarios, ambos tienen la misma precedencia) *, / (operadores binarios, ambos tienen la misma precedencia) -, + (operadores binarios, ambos tienen la misma precedencia) Prioridad ms alta Prioridad ms baja

Pgina 47

METODOLOGA DE LA PROGRAMACIN

TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Cuando dos o ms operadores tienen la misma precedencia, la evaluacin se efecta de izquierda a derecha. Por ejemplo, en la expresin 146/2*3 primero se evala la divisin, luego la multiplicacin y por ltimo la resta, es decir, 146/2*3=143*3=149=5 es equivalente a 14((6/2)*3)=14(3*3)=149=5. 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

PRINT(Da un real para x:)

READ(x)

yx*x

PRINT(El cuadrado de , x, es , y)

FIN

Figura 3.5 Clculo del cuadrado de un nmero real

Algoritmo 3.2: Calcula e imprime el cuadrado de un nmero real proporcionado por el usuario desde el teclado. Pgina 48

METODOLOGA DE LA PROGRAMACIN

TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

1. Pedir al usuario el nmero del que se desea su cuadrado. 2. Leer el nmero proporcionado por el usuario desde el teclado y almacenarlo en la variable de tipo real x. 3. Calcular el cuadrado de x y almacenar el resultado en la variable real y. 4. Imprimir el valor de x y el de y (el cuadrado de x).
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. En la tabla 3.2 se muestran los smbolos (operadores) usados en operaciones relacionales, los cuales permiten definir expresiones relacionales.
Smbolo = != < <= > >= Significado igual a diferente de menor que menor o igual a mayor que mayor o igual a

Tabla 3.2: Operadores relacionales En la tabla 3.3 se muestran algunos ejemplos de condiciones lgicas y sus correspondientes valores de verdad.
Condicin lgica 2=3 12 < 13 12 <= 12 b = b 3.1416 != 3.1234 Sarahi = Sarahi Interpretacin 2 es igual a 3 12 es menor que 13 12 es menor o igual a 12 b es igual a b 3.1416 es diferente de 3.1234 Sarahi es igual a Sarahi Valor de verdad F V V V V V

Tabla 3.3: Evaluacin de algunas condiciones lgicas

Pgina 49

METODOLOGA DE LA PROGRAMACIN

TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Como ejemplo de la utilizacin del smbolo de decisin, considerar el algoritmo 3.3 y su representacin grfica en el diagrama de flujo de la figura 3.6. Algoritmo 3.3: Determina e imprime en pantalla si un nmero entero m, proporcionado por el usuario desde el teclado, es positivo o negativo. 1. Pedir al usuario un nmero entero. 2. Leer el nmero proporcionado por el usuario desde el teclado y almacenarlo en la variable entera m. 3. Si el valor almacenado en la variable m es menor que cero entonces (Si m < 0 entonces): Indicar que el nmero m es negativo. De lo contrario (es decir, si m >= 0): Indicar que el nmero m es positivo.
INICIO

PRINT(Da un entero:)

READ(m)

m < 0

PRINT(m es negativo )

PRINT(m es postivo)

FIN

Figura 3.6 Determina si un nmero entero es positivo o negativo Debido a que en un programa se requiere ejecutar instrucciones que dependen de condiciones lgicas que comparan: El contenido de variables, el contenido de una variable y una constante, el contenido de una variable o constante con el valor devuelto por una funcin, o en general, que comparan dos expresiones que contienen constantes, variables e identificadores de funciones, el uso de comparaciones entre constantes es poco frecuente. De hecho, condiciones lgicas como las mostradas en la tabla 3.3 casi nunca se usan. El diagrama de flujo de la figura 3.6 ilustra la representacin de una comparacin en el smbolo de decisin. Smbolo de procedimiento o funcin Define un subprograma representado como un procedimiento o como una funcin. La utilidad e importancia de este smbolo radica en que nos permite construir diagramas de flujo que representan la solucin de problemas complejos, haciendo uso de los conceptos de modularidad, abstraccin, refinamiento y ocultamiento de informacin. La idea es dividir un problema difcil en subproblemas menos complicados que puedan manejarse y resolverse ms fcilmente de una manera independiente. La divisin del problema original Pgina 50

METODOLOGA DE LA PROGRAMACIN

TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

se desarrolla en niveles sucesivos de refinamiento de los detalles de cada procedimiento y posteriormente cada subproblema se resuelve descomponindolo en otros cada vez menos complicados o en una secuencia de instrucciones especfica. El refinamiento hace que el diseador ample la declaracin original, dando cada vez ms detalles conforme se produzcan los sucesivos refinamientos. 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. M. Lipschutz et al, Procesamiento de datos, McGrawHill, 1982, 218 pp. A. Tenembaum et al, Estructura de datos en Pascal, Prentice-Hall, 1983, 560 pp. S. Infante et al, Mtodos estadsticos, Trillas, 1984, 643 pp. A. Forsythe et al, Lenguajes de diagramas de flujo, Limusa, 1987, 587 pp. M. Loomis, Estructura de datos y organizacin de archivos, Prentice-Hall, 1991, 516 pp. R. Sethi, Lenguajes de programacin, Addison-Wesley, 1992, 493 pp. R. S. Pressman, Ingeniera del software, McGrawHill, 1993, 824 pp. B. Stroustrup, El lenguaje de programacin C++, Addison-Wesley, 1993, 710 pp. R. Sedgewick, Algoritmos en C++, Addison-Wesley, 1995, 726 pp. L. Joyanes, Programacin en Turbo Pascal Versiones 5.5, 6.0 y 7.0, McGraw Hill, 77 pp. F.J. Ceballos, Enciclopedia del Lenguaje C, Computec Ra-ma, 73 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-13629155-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

Potrebbero piacerti anche