Вы находитесь на странице: 1из 52

Manual de Asignatura

Basado en Competencias Profesionales

Metodologas de la programacin

Junio, 2012

REVIS: UNIVERSIDAD(ES) TECNOLGICA(S)


ELABOR: UNIVERSIDAD TECNOLGICA
AUTORES:
REVISORES:
APROB: COMISIN NACIONAL
FECHA DE ENTRADA EN VIGOR:
ACADMICA DE TIC
METODOLOGA DE LA PROGRAMACIN
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

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

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. Bibliografa ................................................................................................................ 51
B. 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, as como despertar su espritu emprendedor en programas
computacionales.

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. Unidad Temtica. Conceptos Bsicos


Objetivo
El alumno determinar las entradas, procesos y salidas de un problema, utilizando los
elementos bsicos de programacin, para el planteamiento de una solucin.

Temas Saber Saber hacer Ser

Adquisicin, procesamiento y Identificar los elementos bsicos Esquematizar el proceso de Analtico.


almacenamiento de datos del proceso de informacin informacin. Ordenado.
(entrada - proceso - salida) Sistemtico.

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.

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.

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

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: Pseudocdigo: rea del tringulo


UNIDAD TEMTICA: Conceptos Bsicos
TEMA: 1.2 Reconocer la diferencia entre un algoritmo en
pseudocdigo y diagrama de flujo

OBJETIVO DE LA PRCTICA: Crear en pseudocdigo el algoritmo para calcular el rea


del tringulo
TIEMPO DE LA PRCTICA: 40 min FECHA:
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. 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.

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% 25%
1 Comprendi e interpret la problemtica a resolver
2 Deduce los datos de entrada correctamente
3 Deduce los datos de salida correctamente
4 Elabora y aplica frmulas correctamente
5 El algoritmo en pseudocdigo tiene secuencia
lgica desde el inicio hasta el final
6 Estructura correctamente el pseudocdigo para la
entrada de datos
7 Estructura correctamente el pseudocdigo para la
salida de datos
8 El algoritmo en pseudocdigo llega a la solucin
correcta
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 NUM_1
M

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 NREA NUMRE RESU


M L A
5 7.25 8.69 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 SUE SUM
L A
0 0 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 CONSTRUCCIN VERIFICACIN


PROFUNDO DEL DEL ALGORITMO DEL ALGORITMO
PROBLEMA

ETAPA 1 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: Pseudocdigo: Verificar si es par o impar


UNIDAD TEMTICA: Conceptos Bsicos
TEMA:
1.5 Metodologa para la solucin de problemas por medio de
computadoras.

OBJETIVO DE LA PRCTICA: Crear en pseudocdigo el algoritmo para ejemplificar el uso de


instrucciones condicionales.
TIEMPO DE LA PRCTICA: 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. 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

4. Identificar los datos de salida.


5. Escribir en pseudocdigo el ejercicio descrito
6. Captura las instrucciones en el programa Pseint
7. Ejecuta el pseudocdigo y proporciona datos de prueba
8. Observa el resultado generado y comprubalo con una calculadora.
9. 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. 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,

NOMBRE DE LA PRCTICA: Pseudocdigo: Sueldo de un empleado.


UNIDAD TEMTICA: Conceptos Bsicos
TEMA:
1.5 Metodologa para la solucin de problemas por medio de
computadoras
OBJETIVO DE LA PRCTICA: Crear en pseudocdigo el algoritmo para calcular el sueldo
de un empleado
TIEMPO DE LA PRCTICA: 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. Identificar los datos de Entrada.

2. Desarrollar la frmula del clculo del sueldo.


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 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 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: Pseudocdigo: Vocal o consonante


UNIDAD TEMTICA: Conceptos Bsicos
TEMA:
1.5 Metodologa para la solucin de problemas por medio de
computadoras
OBJETIVO DE LA PRCTICA: Crear en pseudocdigo el algoritmo para determinar si una
letra es vocal o consonante.
TIEMPO DE LA PRCTICA: 25 min FECHA:
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. 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.

NOMBRE DE LA PRCTICA: Pseudocdigo: Verificar rango


UNIDAD TEMTICA: Conceptos Bsicos
TEMA:
1.5 Metodologa para la solucin de problemas por medio de
computadoras
OBJETIVO DE LA PRCTICA: Crear en pseudocdigo el algoritmo para verificar rango
TIEMPO DE LA PRCTICA: 25 min FECHA:
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. 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,

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 Saber Saber hacer Ser

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.

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 a expresiones


algortmicas (15 de cada una).
- La jerarqua de operadores indicando el orden de ejecucin de cada una de ellas.

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 Operacin Ejemplo Resultado


^ Potencia 4^3 64
* Multiplicacin 8.25 * 7 57.75
/ Divisin 15 / 4 3.75
Mod Modulo Residuo 15 mod 2 1
+ Suma 125.78 + 62.5 188.28
- Resta 65.30 32.33 32.97

Operadores Relacionales.- Se utilizan cuando se requiere comparar dos valores,


dando como resultado un valor Booleano.

Operador Operacin Ejemplo Resultado


= Igual que hola = hora Falso
<> Diferente que a <> b Verdadero
<= Menor o Igual que 15 <= 22 Verdadero
>= Mayor o Igual que 35 >= 20 Verdadero
< Menor que 7 < 15 Verdadero
> Mayor que 22 > 11 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 Ejemplo Resultado
& Conjuncin (AND) 4<6 & 5 = 2 Falso
| Disyuncin (OR) 4<6 | 5 = 2 Verdadero
~ Negacin (NOT) ~ ( 4 < 6) 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 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

nacionalidad = mexicana & edad > La variable nacionalidad debe ser


18 mexicana considerando tambin que la
variable edad debe ser mayor a 18
mes > 6 & mes <> 11 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 Q P&Q P|Q
Verdadero Verdadero Verdadero Verdadero
Verdadero Falso Falso Verdadero
Falso Verdadero Falso Verdadero
Falso Falso Falso Falso

- Una Negacin ( ~ ) cambia el valor booleano de su operando de falso a verdadero


y viceversa.
Solo necesita un operando
Ejemplo Explicacin
~ ( ColorOjos = verde ) Se evala que la variable ColorOjos no contenga el
valor verde
~ ( x > 6) 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, .)
~( ~ ( edad = 8 ) ) 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 ~P
Verdadero Falso
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 No contemplados, sin grupo


7-8 Grupo C
8.1- 9.5 Grupo B
Mayores a 9.5 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 Operador Categora


Mayor (,) Asociativo
^ Aritmtico
*, / , mod
+,-
= , <> , <, >, <=, >= 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 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

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 x 5 y y3

la sustitucin de los valores queda


53
N
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)

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

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

Unidad Temtica 3. Algoritmos y Diagramas de Flujo

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


resolucin de problemas.

Temas Saber Saber hacer Ser

Reglas para Reconocer la Plantear la solucin Analtico.


elaborar sintaxis utilizada de un problema Ordenado.
algoritmos, para el desarrollo empleando Sistemtico.
Pseudocdigo y de pseudocdigo. pseudocdigo y Coherente.
diagramas de diagramas de flujo. Proactivo.
flujo. Identificar la Asertivo
simbologa utilizada
en el desarrollo de
diagramas de flujo.

Describir el
procedimiento para
realizar una prueba
de escritorio.

Pgina 36
METODOLOGA DE LA PROGRAMACIN
TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

Temas Saber Saber hacer Ser


Contadores y acumuladores. Reconocer el funcionamiento de un Comparar entre un contador y un Analtico. Ordenado. Sistemtico.
contador y un acumulador. acumulador. Coherente. Proactivo. Asertivo.

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.

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 F Condicin V Condicin V

Enunciado2 Enunciado1
F Enunciado

Segunda tarea

D) Enunciados de seleccin sin la parte else E) Enunciados de seleccin con la parte else

Condicin1 V Enunciado1 Condicin1 V Enunciado1

F F

Condicin2 V Enunciado2 Condicin2 V Enunciado2

F F

CondicinN V EnunciadoN CondicinN-1 V EnunciadoN-1

<
F EnunciadoN

Tarea del ciclo

F) Ciclo do-while
V

Condicin
Condicin V Tarea del ciclo
G) Ciclo while

F
F

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 Operacin


+ Unario o binario Ms unario o Suma (adicin)
- Unario o binario Menos unario o Resta (sustraccin)
* Binario Multiplicacin
/ Binario 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) Prioridad ms alta


*, / (operadores binarios, ambos tienen la misma precedencia)
-, + (operadores binarios, ambos tienen la misma precedencia) 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 Interpretacin Valor de verdad


2=3 2 es igual a 3 F
12 < 13 12 es menor que 13 V
12 <= 12 12 es menor o igual a 12 V
b = b b es igual a b V
3.1416 != 3.1234 3.1416 es diferente de 3.1234 V
Sarahi = Sarahi es igual a Sarahi V
Sarahi
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)

V
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-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

Вам также может понравиться