Académique Documents
Professionnel Documents
Culture Documents
Carreras
a Distancia
Carrera de
Informática
Programación Lógica
Módulo I
Página 1
Programación Lógica
TABLA DE CONTENIDOS
Página 2
Programación Lógica
Página 3
Programación Lógica
Introducción
En este módulo comenzaremos a ver uno de los temas más importantes en computación:
El del Algoritmo.
En términos comunes podemos decir que el algoritmo es un conjunto de instrucciones que
debemos seguir en un cierto orden para realizar una tarea. Por ejemplo, si queremos
hacer una torta, tomamos la receta y leemos las instrucciones una a una en el orden en
que están escritas. En la vida diaria constantemente vemos algoritmos; por ejemplo para
lavar ropa en un lavarropas automático, para descongelar en forma automática una
heladera (los pasos siempre se encuentran pegados en el interior de la heladera) o para
tocar algún instrumento musical (en este caso el algoritmo estaría representado en las
partituras).
Página 4
Programación Lógica
Concepto de Algoritmo
A continuación les presentamos un ejemplo para hacerles notar las características arriba
mencionadas:
Ejemplo: Cambiar un foco quemado
1. Quitar el foco quemado.
2. Colocar el foco nuevo.
Estos dos pasos parecen resolver el problema. Pero supongamos que estamos
entrenando un robot para que realice esta tarea. Para este caso lo anterior no funcionará
pues tendremos que ser más específicos y más claros, por ejemplo:
1. inicio
2. Elegir un foco
3. Traer la escalera
4. Colocar la escalera debajo del foco
5. Subir la escalera hasta alcanzar el foco
6. Girar el foco hacia la izquierda hasta que esté suelto
7. Poner el foco nuevo en el mismo lugar
Página 5
Programación Lógica
Hay algoritmos que no cumplen con las condiciones explicadas más arriba y contienen
pasos que no se pueden ejecutar. Por ejemplo:
1. inicio
2. Haga una lista de todos los números enteros.
3. Ordene esa lista en orden descendente (de mayor a menor).
4. Borre el primer entero de la lista resultante.
5. fin
Primero: El paso número dos nos pide una lista de números enteros y no la podemos
hacer pues los números son infinitos (un algoritmo debe tener un principio y un fin). En
este caso no tenemos fin.
Segundo: El paso número tres nos pide que ordenemos la lista en orden descendente. Al
no haber lista no la podemos ordenar.
El problema principal de este algoritmo es que pide que se saque monedas del bolsillo
eternamente. Nunca se detiene.
Página 6
Programación Lógica
que razonan. Pero en Informática, donde nos tenemos que comunicar con una máquina, y
decirle lo que tiene que hacer, no lo podemos hacer en nuestro idioma corriente. Ese
algoritmo que lo escribimos en nuestro lenguaje completo, lo debemos volver a escribir
utilizando un conjunto bien definido de palabras del idioma inglés. Lo que resulta es un
programa1 que puede ser ejecutado por la computadora.
Los pasos que debemos seguir para que una computadora pueda realizar una tarea, son
los siguientes:
1. Debemos describir en forma ordenada todos los pasos que ella debe seguir
para realizar esa tarea. Esta parte se denomina Análisis y diseño del
algoritmo.
2. Todos los pasos que hemos descripto (o sea el algoritmo resultante), lo
debemos transcribir en un lenguaje que la computadora pueda entender.
(Obtenemos de esta manera el Programa). Esta parte se denomina Fase de
Codificación.
3. Se ejecuta el programa en la computadora, que sería la fase de Ejecución
1
Programa: Es un conjunto de órdenes mediante el cual se le dice a la computadora qué debe
hacer y cómo lo debe hacer. Ese programa está escrito en un lenguaje que la computadora puede
entender.
Página 7
Programación Lógica
Las características más importantes que debe cumplir todo algoritmo son:
- Un algoritmo tiene que ser preciso (justo, exacto, no aproximado)
e indicar el orden que deben seguir los pasos.
- Un algoritmo debe estar bien definido (si seguimos el algoritmo
más de una vez, siempre debemos llegar al mismo resultado).
- Un algoritmo debe ser finito (Se debe obtener el resultado en un
tiempo humanamente razonable).
Tipos de Algoritmos
Algoritmos Cualitativo
Son los algoritmos descritos mediante palabras. Ejemplos:
Algoritmo Cuantitativos
Página 8
Programación Lógica
Ejemplo Cualitativo: Un socio de una biblioteca solicita un libro para lectura, SI el libro se
encuentra se le presta el libro, SI NO se devuelve la ficha de pedido.
Inicio
Leer Ficha de pedido
Examinar el Estante
SI el libro esta en Estante Entonces
Se acepta el pedido
Se recepciona Carnet de socio.
Si no
Se niega el pedido
Se devuelve Ficha de Pedido
Fin Si
Fin
Lo más difícil para cualquier persona es encontrar el algoritmo (encontrar una secuencia
de pasos o instrucciones) para poder resolver un problema o llegar a realizar una tarea.
La capacidad para resolver un problema no es exclusiva de las ciencias de la
computación, sino que es mas bien una aptitud artística o imaginativa que deberá
desarrollarse.
Los científicos de Computación, se basan en los pasos enunciados a fines de los años
cuarenta por el matemático G. Polya que enseñan a resolver problemas, simplemente que
estos pasos fueron traducidos al contexto de la informática; estos pasos son:
Primer paso: Entender el problema.
Segundo paso: Pensar y diseñar el algoritmo que podría resolver este
problema.
Tercer paso: Escribir el algoritmo en el lenguaje corriente, y luego traducirlo
(o codificarlo) en un lenguaje de programación para convertirlo en un
programa que pueda ser ejecutado por la computadora.
Página 9
Programación Lógica
Por ejemplo:
Un cliente ejecuta un pedido a una fábrica. La fábrica examina en su banco de datos la
ficha del cliente, si el cliente es solvente entonces la empresa acepta el pedido, en caso
contrario rechazar el pedido.
1. Inicio
2. Leer el pedido
3. Examinar ficha del cliente
4. Si el cliente es solvente aceptar pedido, en caso contrario rechazar pedido
5. Fin
Página 10
Programación Lógica
Es probable que algunos pasos deban detallarse de manera tal que las instrucciones sean
más simples y precisas. El algoritmo para cambiar la rueda de un auto podría quedar así:
1. Inicio
2. Si el coche no tiene el gato, llamar a la estación de servicio e ir al paso
número 17; en caso contrario, continuar con el paso número 3.
3. Colocar el gato debajo del coche.
4. Levantar el coche con el gato.
5. Sacar la llave inglesa del auto
6. Aflojar y sacar los tornillos de la rueda.
7. Si quedan tornillos por quitar, repetir el paso Número 6; en caso contrario,
continuar con el paso Número 8.
8. Quitar la rueda.
9. Sacar la rueda de repuesto del baúl.
10. Poner la rueda de repuesto.
11. Poner los tornillos y ajustarlos.
12. Si todos los tornillos no están ajustados, repetir el paso número 11; en caso
contrario seguir con el paso número 13.
13. Bajar el gato.
14. Sacarlo debajo del auto.
15. Guardar la rueda pinchada en el baúl.
16. Guardar el gato en el baúl.
17. Fin.
Los pasos anteriores se pueden descomponer en otros pasos más simples en los que se
denomina refinamiento del algoritmo.
Página 11
Programación Lógica
1. Inicio
2. Obtener el primer número (entrada), denominado NUM1
3. Obtener el segundo número (entrada), denominado NUM2
4. Comparar NUM1 con NUM2 y seleccionar el mayor; si los dos enteros son
iguales, seleccionar NUM1. Llamar a este número MAYOR.
6. Compara MAYOR con NUM3 y seleccionar el mayor ; si los dos enteros son
iguales, seleccionar el MAYOR. Denominar a este número MAYOR.
8. Fin
Entonces:
Página 12
Programación Lógica
Ejemplos:
¿Qué hacer para ver la película Titanic?
La respuesta es muy sencilla, y el primer bosquejo del algoritmo sería algo así:
1. Inicio
2. Ir al cine
3. Comprar una entrada
4. Ver la película
5. Fin
El algoritmo consta de 5 pasos, cada uno de los pasos se deben ejecutar antes de que se
realice el siguiente (por eso están enumerados). El algoritmo es muy sencillo, pero lo
debemos descomponer en pasos más simples aplicando el refinamiento sucesivo.
Así por ejemplo, un primer refinamiento se puede escribir de la siguiente forma:
1. Inicio
2. Ver la cartelera de los cines
3. Si no se proyecta “Titanic”, decidir otra actividad e ir al paso 11; de lo contrario ir
al cine.
4. Ponerse en la cola para comprar las entradas
5. En caso de que no haya localidades en venta, refunfuñar e ir al paso 11; de lo
contrario comprar una entrada.
6. Entrar al cine
7. Buscar el asiento que figura en el boleto de entrada.
8. Ubicarse en el asiento
9. Mirar la película
10. Cuando termina la película, retirarse del cine.
11. Fin
Página 13
Programación Lógica
"TECNICAS DE DISEÑO"
Top Down
Es una técnica para diseñar que consiste en tomar el problema en forma inicial como una
cuestión global y descomponerlo sucesivamente en problemas más pequeños y por lo
tanto, de solución más sencilla.
"cómo lo hace?"
Botton Up
Esta técnica consiste en partir de los detalles más precisos del algoritmo completando
sucesivamente módulos de mayor complejidad, se recomienda cuando ya se cuenta con
experiencia y ya se sabe lo que se va a hacer.
Página 14
Programación Lógica
PROGRAMACIÓN Estructurada
VENTAJAS POTENCIALES
Un programa escrito de esta forma tiende a ser mucho más fácil de comprender que
programas escritos en otros estilos.
Un programa que es fácil para leer y el cual esta compuesto de segmentos o módulos
bien definidos tiende a ser simple, rápido y menos expuesto a mantenimiento. Estos
beneficios derivan en parte del hecho que, aunque el programa tenga una extensión
Página 15
Programación Lógica
significativa, en documentación tiende siempre a estar al día, esto no suele suceder con
los métodos convencionales de programación.
TEOREMA DE LA ESTRUCTURA
El teorema de la estructura establece que un programa propio puede ser escrito utilizando
solamente las siguientes estructuras lógicas de control: secuencia, selección e iteración.
Un programa de define como propio si cumple con los dos requerimientos siguientes:
a. Tiene exactamente una entrada y una salida para control del programa.
Iteración: Esta estructura lógica es utilizada para que se repita la ejecución de un conjunto
de instrucciones mientras se cumpla una condición.
SEGMENTACION
Página 16
Programación Lógica
INDENTACION
La indentacion puede ser de gran beneficio, tal como se muestra continuación, donde
ambos programas realizan la misma función, pero el de la derecha es más fácil de
comprender, verificar y corregir.
Debe comprenderse claramente que las líneas siguientes solo pretenden presentar unas
directrices de indentacion, sin pretender que estas sean las únicas reglas a seguir en este
proceso, sin que sea motivo de preocupación la diferencia respecto a las sugerencias
dadas aquí, lo importante es que se establezcan unas normas y se cumplan de manera
consistente.
Las siguientes son sugerencias para el desarrollo de una política de indentacion, la idea
fundamental es ayudar a que el lector de un programa le sea fácil comprender las
relaciones y las funciones existentes en él:
Página 17
Programación Lógica
d. El uso de líneas en blanco ayuda a mostrar con mas claridad las relaciones
existentes entre distintos ítems agrupados en las declaraciones
1. Los programas son más fáciles de entender. Un programa estructurado puede ser
leído en secuencia, de arriba hacia abajo, sin necesidad de estar saltando de un
sitio a otro en la lógica, lo cual es típico de otros estilos de programación. La
estructura del programa es mas clara puesto que las instrucciones están mas
ligadas o relacionadas entre sí, por lo que es más fácil comprender lo que hace
cada función.
2. Reducción del esfuerzo en las pruebas. El programa se puede tener listo para
producción normal en un tiempo menor del tradicional; por otro lado, el
seguimiento de las fallas("debugging") se facilita debido a la lógica más visible, de
tal forma que los errores se pueden detectar y corregir mas fácilmente.
Página 18
Programación Lógica
Los algoritmos pueden describirse utilizando diversos lenguajes. Cada uno de estos
lenguajes permiten describir los pasos con mayor o menor detalle.
Lenguaje Natural
Es aquél que escribe en español, en nuestro caso, los pasos a seguir utilizando un
vocabulario cotidiano. Se le conoce como lenguaje jerga cuando se utilizan términos
especializados de una determinada ciencia, profesión o grupo.
Son aquellos que están orientados a la solución de problemas que se definen de una
manera precisa. Generalmente son aplicados para la elaboración de fórmulas o métodos
científicos.
Tiene las siguientes características :
• Evita la ambigüedad (algo confuso que se puede interpretar de varias maneras).
• Son precisos y bien definidos.
• Utilizan términos familiares al sentido común.
• Elimina instrucciones innecesarias.
Lenguaje de Programación:
Página 19
Programación Lógica
Lenguaje de Máquina
Son aquellos que están escritos en lenguajes directamente inteligibles por la máquina
(computadora), ya que sus instrucciones son cadenas binarias (cadenas o series de
caracteres de dígitos 0 y 1) que especifican una operación y las posiciones (dirección) de
memoria implicadas en la operación se denominan instrucciones de máquina o código
máquina. El código máquina es conocido como código binario.
Las instrucciones en lenguaje máquina dependen del hardware de la computadora y, por
tanto, diferirán de una computadora a otra.
Página 20
Programación Lógica
Página 21
Programación Lógica
Para una mejor compresión de este tema se definirá el concepto de programa, por ser
este un término muy utilizado en el diseño estructurado de algoritmos.
El lenguaje algorítmico es aquel por medio del cual se realiza un análisis previo del
problema a resolver y encontrar un método que permita resolverlo. El conjunto de todas
las operaciones a realizar, y el orden en el que deben efectuarse, se le denomina
algoritmo.
El lenguaje informático es aquel por medio del cual dicho algoritmo se codifica a un
sistema comprensible por el ordenador o computadora. Este tipo de lenguaje es más
cercano a la máquina que al ser humano y podemos distinguir distintos tipos dependiendo
de la proximidad a la maquina.
Se denomina lenguaje de alto nivel aquel que es más cercano a la comprensión humana y
lenguaje de bajo nivel a aquellos que son más comprensibles por la máquina. En
concreto, nosotros vamos a estudiar un lenguaje en la frontera de uno de bajo nivel. Es
por ello que el 'C' es tan potente y rápido, pues las funciones principales representan las
funciones más básicas de la computadora.
Página 22
Programación Lógica
Al igual que los idiomas sirven de vehículo de comunicación entre los seres humanos,
existen lenguajes que realizan la comunicación entre los seres humanos y las
computadoras. Estos lenguajes permiten expresar los programas o el conjunto de
instrucciones que el operador humano desea que la computadora ejecute.
A partir de mediados de los años 60’s aparecieron los lenguajes de propósito general
como FORTRAN, FORTRAN IV, ALGOL, COBOL, BASIC, PL/I, ADA, C, C++, PASCAL,
etc. pero el desarrollo de nuevas tecnologías, tanto en arquitectura de computadoras
como en lenguajes de programación, continúa a paso acelerado, cada vez con mayor
velocidad, el panorama está cambiando de una etapa de sistemas y lenguajes
especialmente desarrollados para aplicaciones individuales. Los lenguajes de
programación actuales son los conocidos como Lenguajes visuales, como por ejemplo
Visual Fox, Visual Basic, Java.
Página 23
Programación Lógica
Pseudocódigo
Estructura Secuencial
Es aquélla en la que una acción (instrucción) sigue a otra en secuencia. Las tareas se
suceden de tal modo que la salida de una es la entrada de la siguiente y así
sucesivamente hasta el fin del proceso.
1
En el módulo número tres veremos con más detalles y en profundidad todas las reglas del
pseudocódigo , en este módulo simplemente lo usaremos para representar los algoritmos.
Página 24
Programación Lógica
Secuencia:
Inicio
acción1
acción2
:
acción n
Fin
Condicionales
Las estructuras selectivas se utilizan para tomar decisiones lógicas; de ahí que se suelan
denominar también estructuras de decisión o alternativas.
En las estructuras selectivas se evalúa una condición y en función del resultado la misma
se realiza una opción u otra. Las condiciones se especifican usando expresiones
lógicas(se verá en el próximo módulo). La representación de una estructura selectiva se
hace con palabras en pseudocódigo (if, then, else o bien en español si, entonces, sino.
Por ejemplo, si en el cine proyectan "Star Wars Episode II", entonces hay que formar fila
para comprar la entrada e ingresar al cine, si no, decidimos otra actividad como ir a bailar.
• Simples
• Múltiples
La estructura alternativa simple si-entonces (en inglés if-then o bien IF-THEN ) ejecuta
una determinada acción cuando se cumple una determinada condición. La selección si-
entonces evalúa la condición y . . .
Página 25
Programación Lógica
Alternativa Simple:
Si <condición> entonces
<acción S1>
Fin si
Ejemplo:
Si {hoy es Miércoles} entonces
Alternativa Doble:
Si <condición> entonces
<acción S1>
Si no
<acción S2>
Fin si
Observación: Tener en cuenta como el sangrado permite identificar fácilmente que grupo
de instrucciones se ejecutan en cada caso.
Colgar el teléfono
Si no
Iniciar la conversación
Fin si
Página 26
Programación Lógica
En este caso, la condición es {señal de ocupado}, que puede ser verdadera o falsa. Si es
verdadera, entonces debemos colgar el teléfono y si no, podemos realizar la
conversación.
Repetitivas
• Mientras (while)
• Repetir (repeat)
• Desde (for)
La estructura repetitiva while, es aquélla en que el cuerpo del bucle se repite mientras se
cumple una determinada condición
Estructuras Mientras:
Mientras <condición> hacer
<acciones>
Fin Mientras
Esta estructura se ejecuta hasta que se cumpla una condición determinada que se
comprueba hasta el final del bucle. Se ejecuta por lo menos una vez.
Repetir
<acciones>
Hasta que <condición>
Página 27
Programación Lógica
La estructura Desde ejecuta las acciones del cuerpo del bucle un número específico de
veces y de modo automático controla el número de iteraciones o pasos a través del
cuerpo del bucle.
Donde:
Salida de resultados
Ejemplo:
sueldo = 1000
trabajador = “Martínez”
Imprimir( “el sueldo de “, trabajador , ” es “, sueldo , ” Euros.“ )
La instrucción imprimir, muestra lo siguiente: el sueldo de Martínez es 1000 Pesos.
Página 28
Programación Lógica
Ejemplos de Pseudocódigo
Diseñar un algoritmo que lea dos números y los compare: Si A es mayor que B, no se
habrán ingresado en orden. En caso contrario estarán en orden.
1. Inicio
2. Leer num1, num2
3. Si num1 < num2 entonces
4. Escribir ("Están en Orden")
5. Si no
6. Escribir ("No están en Orden")
7. Fin Si
8. Fin
Diseñar un algoritmo que lea dos números y los compare: Si A es mayor que B, no se
habrán ingresado en orden. En caso contrario estarán en orden o serán iguales.
1. Inicio
2. Leer num1, num2
3. Si num1 < num2 entonces
4. Escribir ("Están en orden")
5. Si no
6. Si num1 = num2 entonces
7. Escribir ("Son iguales")
8. Si no
9. Escribir ("No están en orden")
10. Fin si
11. Fin Si
12. Fin
Página 29
Programación Lógica
Diseñar un algoritmo que lea un carácter y de terminar si está o no comprendido entre las
letras A y F.
1. Inicio
2. Leer letra
3. Si (letra >=”A”) Y Letra (<=F) entonces
4. escribir(“La” + letra +” está entre Ay F”)
5. Si no
6. escribir(“La” + letra +” No está en ese Rango”)
7. Fin Si
Diseñar un algoritmo que genere e imprima los números múltiplos de 2 hasta el número
10.
1. Inicio
2. num <- 2
3. Mientras suma <=10 hacer
4. Escribir (num)
5. num <- num +2
6. Fin Mientras
7. Fin
1. Inicio
2. Leer nombre, horas, precio_hora
3. salario_bruto Å horas * precio
4. impuestos Å 0.20 * salario_bruto
5. salario_neto Å salario_bruto_impuestos
6. escribir nombre, salario_bruto, salario_neto_bruto, salario_neto
7.Fin
Página 30
Programación Lógica
1. Inicio
2. Se introduce el tiempo total
3. Se verifica si la entrada fue correcta
4. Se establece la distancia DÅ 42,195 km.
5. Se pasa el tiempo total (2 horas, 25 minutos) a minutos: TÅ 2 X 60 + 25 = 145
minutos.
6. Se calcula el tiempo promedio: TPÅ 145 minutos / 42,195 km. = 3,436 minutos
por kilómetro.
7. Se escribe el resultado.
8. Fin
1
Se usa la expresión más o menos así pues no todas las personas piensan de la misma forma ni
todas las personas resuelven un problema de la misma manera.
Página 31
Programación Lógica
Diagramas de Flujo
1. Inicio
Celsius
2. Leer (Celsius)
5. fin
Kelvin
FIN
2
En el módulo número tres veremos con más detalles y en profundidad todas las reglas de los
Diagramas de Flujo , en este módulo simplemente lo usaremos para representar los algoritmos.
Página 32
Programación Lógica
Página 33
Programación Lógica
Página 34
Programación Lógica
Página 35
Programación Lógica
Entenderemos como problema a cualquier acción o evento que necesite cierto grado de
análisis, desde la simpleza de cepillarse los dientes hasta la complejidad del ensamblado
de un automóvil. En general, cualquier problema puede ser solucionado utilizando un
algoritmo, en este sentido podemos utilizar los algoritmos para resolver problemas de
computo.
ALGORITMO
Por ejemplo considere el algoritmo, del diario vivir, de levantarse por la mañana que sigue
un corredor de bolsa para ir al trabajo:
1. Salir de la cama
2. quitarse el pijama
3. ducharse
4. vestirse
5. desayunar
Página 36
Programación Lógica
Es importante recalcar que los pasos de un algoritmo no son conmutativos pues, no daría
solución al mismo problema a tratar.
Robustez de un Algoritmo
Quiere decir que un algoritmo debe contemplar todas las posibles facetas del problema
que queremos resolver, al elaborar un algoritmo no se nos debe escapar ningún detalle
que provoque un funcionamiento malo nuestro algoritmo. Si logramos construir un
algoritmo robusto, cualquier giro inesperado del problema será controlado por el algoritmo,
es decir, debe ser flexible a cambios.
Correctitud de un Algoritmo
Completitud de un Algoritmo
Cuando un algoritmo cuenta con todos los recursos para poder llegar a una solución
satisfactoria
Un algoritmo es eficaz cuando alcanza el objetivo sin importar nada más, pudiendo
hacerlo utilizando la menor cantidad de recursos o podría utilizar una excesiva cantidad de
recursos.
Compilación
Para que el programa se ejecute debe ser traducido a lenguaje de máquina, sea un
leguaje que la computadora pueda entender. Esta traducción se puede hacer de dos
formas:
Utilizando un compilador: Traduce todo el programa a lenguaje de máquina sólo una vez.
Si el programa fuente contiene errores al final pone la lista de ellos y no compila hasta que
se corrijan.
Página 37
Programación Lógica
LECTURAS COMPLEMENTARIAS
A fin de resolver un problema utilizando sistemas de cómputo, debe seguirse una serie de
pasos que permiten avanzar por etapas bien definidas hacia la solución.
• Diseño de la solución.
• Codificación.
• Prueba y depuración.
• Documentación.
• Mantenimiento.
Página 38
Programación Lógica
Ejemplo
Leer el radio de un círculo y calcular e imprimir su superficie y circunferencia.
Análisis
Las entradas de datos en este problema se concentran en el radio del círculo. Dado que el
radio puede tomar cualquier valor dentro del rango de los números reales, el tipo de datos
radio debe ser real.
Las salidas serán dos variables : superficie y circunferencia que también serán de tipo
real.
Entradas : Radio del círculo (variable RADIO).
Salidas : Superficie del círculo (variable AREA).
Circunferencia del círculo (variable CIRCUNFERENCIA).
Variables : RADIO, AREA, CIRCUNFERENCIA tipo real.
Diseño de la solución
Una computadora no tiene capacidad para solucionar problemas más que cuando se le
proporcionan los sucesivos pasos a realizar, esto se refiere a la obtención de un algoritmo
que resuelva adecuadamente el problema. En caso de obtenerse varios algoritmos,
seleccionar uno de ellos utilizando criterios ya conocidos.
Esta etapa incluye la descripción del algoritmo resultante en un lenguaje natural, de
diagrama de flujo o natural de programación.
Como puede verse, solo se establece la metodología para alcanzar la solución en forma
conceptual, es decir ; sin alcanzar la implementación en el sistema de cómputo.
De acuerdo al ejemplo tenemos que la información proporcionada constituye su entrada y
la información producida por el algoritmo constituye su salida. Los problemas complejos
se pueden resolver más eficazmente por la computadora cuando se dividen en
subproblemas que sean más fácil de solucionar.
El problema de cálculo de la longitud y superficie de un círculo se puede descomponer en
subproblemas más simples :
• Leer datos de entrada.
• Calcular superficie y longitud.
• Escribir resultados (datos de salida).
Codificación
Se refiere a la obtención de un programa definitivo que pueda ser comprensible para la
máquina. Incluye una etapa que se reconoce como compilación.
Página 39
Programación Lógica
Programa Ejecutable
• Está en lenguaje máquina.
• Entendible por la máquina.
Prueba y depuración
Una vez que se ha obtenido el programa ejecutable, este es sometido a prueba a fin de
determinar si resuelve o no el problema planteado en forma satisfactoria.
Las pruebas que se le aplican son de diversa índole y generalmente dependen del tipo de
problema que se está resolviendo. Comúnmente se inicia la prueba de un programa
introduciendo datos válidos, inválidos e incongruentes y observando como reacciona en
cada ocasión.
El proceso de depuración consiste en localizar los errores y corregirlos en caso de que
estos existan. Si no existen errores, puede entenderse la depuración como una etapa de
refinamiento en la que se ajustan detalles para optimizar el desempeño del programa.
Documentación
Debido a que el programa resultante en esta etapa se encuentra totalmente depurado (sin
errores), se procede a la utilización para resolver problemas del tipo que dió origen a su
diseño.
En vista de que esta utilización no podrá ser supervisada en todas las ocasiones por el
programador, debe crearse un manual o guía de operación que indique los pasos a seguir
para utilizar el programa.
Mantenimiento
Se refiere a las actualizaciones que deban aplicarse al programa cuando las
circunstancias así lo requieran. Este programa deberá ser susceptible de ser modificado
para adecuarlo a nuevas condiciones de operación.
Cualquier actualización o cambio en el programa deberá reflejarse en su
documentación.
Página 40
Programación Lógica