domingo, 8 de junio de 2008

LOGICA DE PROGRAMACIÓN

La lógica de programación se centra en los conceptos y técnicas de diseño para la solución de problemas a través de algoritmos computacionales. En esta se aplica la simbolización de las proposiciones en la elaboración de algoritmos y se presentan las técnicas para el análisis de problemas y el diseño de su solución con algoritmos que utilizan estructuras secuénciales y seudo lenguajes para describir su funcionamiento.



CONCEPTOS BASICOS

-PROGRAMA: Es el conjunto de instrucciones ordenadas de forma lógica y secuencial, escritas en un lenguaje de programación de computadores con el fin de resolver un problema o una necesidad especifica.

-LENGUAJE DE PROGRAMACIÓN: Un lenguaje de programación tiene definida una sintaxis y grupo de comandos especiales que lo diferencia de otro.

-SEUDO LENGUAJE: El seudo lenguaje es la representación de la solución algorítmica utilizando una estructura y lenguaje similar de un lenguaje de programación.
Escribir un algoritmo en seudo lenguaje, facilita se trascripción o codificación a un lenguaje especifico de programación.

-DIAGRAMA DE FLUJO DE DATOS: Es una representación gráfica con símbolos propios, que sirven para representar la solución a un problema.

-INSTRUCCIÓN DE ENTRADA DE DATOS: Cuando se requiera la captura o ingreso de datos por parte del usuario, se debe utilizar la orden Lea.

-INSTRUCCIÓN DE SALIDA DE DATOS: Para representar la visualización de mensajes y resultados se utiliza la orden Escriba.

-PRUEBA DE ESCRITORIO: La prueba de escritorio es un recorrido del programa siguiendo el flujo de las instrucciones para comprobar su funcionalidad y fiabilidad.

-TÉCNICA DE PROGRAMCIÓN ESTRUCTURADA: Proporciona estructuras de control que conducen al programador escribir programas más cortos y eficientes. Las estructuras de control que se utilizan son: secuénciales, selectivas o condicionales y repetitivas.

-ESTRUCTURA SECUENCIAL:
Como su nombre lo sugiere, en un estructura secuencial las instrucciones se ejecutan en el mismo orden como están escritas. Una secuencia de instrucciones son pasos sucesivos, uno seguido de otro.

-ALGORITMO: Un algoritmo es la representación de la solución paso a paso, de un problema especifico, conformado por un conjunto de instrucciones o pasos ordenados de forma lógica y secuencial y escrito en lenguaje natural.

Ejemplo: Escriba el algoritmo par preparar una torta.

Algoritmo torta
inicio
1.Buscar el libro de recetas
2.Ubicar la pagina con la receta para preparar la torta
3.Alistar todos los ingredientes necesarios
4.Elegir el molde y untarle mantequilla, luego esparcir polvo royal o maizena.
5.Elaborar la mezcla siguiendo las instrucciones del libro de recetas
6.Vaciar la mezcla en el molde
7.Controlar el tiempo de horneado
8.Apagar el horno, sacar el molde

Fin

-Es importante revisar que hay una secuencia lógica, en el orden en que se escribió cada paso, para la preparación de la torta. La secuencia tiene gran importancia porque indica la prioridad de ejecución de cada paso, cuando se dice secuencia lógica se da a entender la importancia y el orden.

1.PASOS PARA SOLUCIONAR UN PROBLEMA

Para dar solución a un problema se debe tener el enunciado o definición del problema y luego se recomienda aplicar los siguientes pasos:


1.Leer y entender el problema (Análisis del problema)
2.
Escribir con palabras la posible solución (Algoritmo)
3.Definir y declarar variables
4.Codificar el Algoritmo en seudo lenguaje (Estructuras parecidas a las de un lenguaje de programación)
5.Hacer prueba de escritorio para validar y depurar el programa.

1.2 LEER Y ENTENDER EL PROBLEMA

ANALISIS DEL PROBLEMA:
Para analizar se debe leer las veces que sea necesario el enunciado del problema, hasta entenderlo y llegar una síntesis del problema.

La primera habilidad que se debe desarrollar o reforzar es la de entender el enunciado del problema. Un problema esta entendido cuando se tiene claridad respecto a lo que se esta pidiendo resolver, l proceso a emplear para obtener lo requerido y a la forma de presentación de los resultados.

Leer con detenimiento facilita obtener una idea general de lo que se necesita. Entender se constituye en una forma de descomponer el problema, en pequeñas partes, para lograr una mejor definición de la solución. En el enunciado del problema se debe identificar:

-Los datos de entrada
-Los datos de salida
-Procedimientos o Cálculos
-
Información requerida


COMO ENTENDER EL PROBLEMA?Para entender el problema de una forma mas fácil, nos apoyaremos en preguntas. Se deben plantear preguntas que ayuden a identificar dentro del enunciado:

Qué se quiere obtener con el programa?
Qué se tiene o Qué datos me dan? (Datos necesarios para llegar a resultados)
Cómo lo hago? Qué calculos se deben realizar?, cómo realizar calculos y en donde se necesitan?Qué proposiciones debo evaluar?


Plantear preguntas nos cuestiona y nos conduce a lograr respuestas sobre lo que se pide solucionar.

Qué se quiere obtener con el programa?

Revise en el enunciado cual es el problema a resolver, esto generalmente obedece a la información que se quiere como resultado.

Qué datos me dan?

Dentro del enunciado del problema se debe buscar que datos de entrada se proporcionan para obtener lo que se pide en el problema.

Cómo lo hago?

La respuesta a esta pregunta indica la forma en que se puede dar solución al problema. Se definen los tipos de operaciones a realizar. Estas operaciones son aritméticas y lógicas.

EJEMPLO: En una compra venta de café se requiere de un algoritmo para liquidar el valor a pagar por la compra de café. Por cada cliente se solicita la cantidad de bultos, la variedad y el valor a pagar por bulto según la variedad.

ANALISIS DEL PROBLEMA: Liquidar el valor de compra de bultos de café de acuerdo al valor por variedad.
QUE ME PIDEN: Valor de la compra de bultos de café.
QUE ME DAN: Tres datos de entrada: Cantidad de bultos, variedad de café, valor por bulto de café.
COMO LO HAGO: Multiplicando el valor del bulto de café por la cantidad de bultos.
Expresado de otra forma:
valor_compra=Can_bultos * valor_bulto

Algoritmo CAFÉ
inicio
1.
Conocer Nombre variedad de café
2.Conocer cantidad de bultos
3.Conocer valor por bulto
4.Calcular el valor a pagar multiplicando la cantidad de bultos por el valor del bulto de café
5.Mostrar resultados

Fin

DEFINICIÓN Y DECLARACIÓN DE VARIABLES:
Entrada: Variedad :Carácter
Can_bultos :Entero
Valor_bulto :Real
Proceso: Val_compra :Real

Algoritmo CAFÉ
VAR Variedad : Carácter
Can_bultos :Entero
Val_compra, Valor_bulto: Real
inicio

Escriba “variedad de café: 1 Colombia, 2 Arábigo, 3 caturra” lea variedad
Escriba “Cantidad de bultos” lea can_bultos
Escriba “Valor por bulto” lea valor_bulto
\\Aqui inicia el proceso de cálculo del valor a pagar por la compra
Val_compra = Can_bultos * Valor_bulto
Escriba “valor de la compra:”, Val_compra

Fin

ESTRUCTURA SELECTIVA

Cuando la solución de un problema requiere evaluar una o más condiciones lógicas para decidir de acuerdo con el resultado de la evaluación, verdadero o falso, si ciertas acciones deben ejecutarse o no; se enfrenta a un problema que necesita un algoritmo de solución a implementarse con una estructura selectiva.

ESTRUCTURA SELECTIVA SIMPLE

Esta estructura esta compuesta de una proposición que es evaluada y si el resultado de la evaluación es verdadero, entonces ejecuta la acción o acciones indicadas por la palabra Entonces y si es falso, no se ejecuta ninguna acción.

ESTRUCTURA SELECTIVA ALTERNA

Esta estructura está compuesta de una proposición que es evaluad y si el resultado de la evaluación es verdadero, entonces ejecuta la acción o acciones indicadas por la palabra Entonces y si el resultado es Falso, ejecuta las acciones indicadas por las palabras o frases ( Sino, Falso, De lo contrario, De otra forma).

Es una estructura diseñada con acciones por el lado Verdadero o Falso. Las cláusulas Entonces y Sino don excluyentes. Si se ejecutan las acciones enmarcadas por la palabra Entonces no se ejecutarán las acciones enmarcadas por la palabra Sino.

Ejemplo:
Una comercializadora de frutas, vende únicamente dos clases de frutas: Peras y Manzanas, el kilo de Pera tiene un valor de $1500 y el de Manzana es de $2500.

Se debe diseñar un algoritmo que permita calcular el valor a pagar por un cliente, teniendo en cuenta la restricción de que cliente compra Pera o Manzana, pero no ambas simultáneamente. Además debe generar una salida que contenga lo siguiente:

· Articulo comprado
· Valor a pagar
·
Mensaje que diga GRACIAS POR LA COMPRA

Análisis
Qué piden: Calcular el valor a pagar por la compra de un articulo.
Qué me dan: El nombre del articulo a comprar y la cantidad de kilos.
Cómo lo hago: Verificando qué articulo es----
Si es MANZANA entonces VP = CAN * 2500
Si es PERA entonces VP = CAN * 1500

Definición de variables
ENTRADA: ARTI (Articulo requerido por el cliente) :CADENA
CAN (Número de kilos pedidos) :REAL
PROCESO: VP (Valor a pagar):REAL

Algoritmo Compra

Var
ARTI: Cadena
CAN,VP: Real
inicio
1.Escriba “Articulo”
2.Lea ARTI
3.Escriba “Cantidad de bultos”
4.Lea CAN
5.Si ARTI = “PERA” entonces
VP = CAN * 1500
Fin_si
6.Si ARTI = “MANZANA” entonces
VP = CAN * 2500
Fin_si
7.Escriba ARTI
8.Escriba “Valor a pagar”, VP
9.Escriba “GRACIAS POR LA COMPRA”
FIN-PROGRAMA

Se modifica el algoritmo de solución en las instrucciones 5 y 6, las cuales emplean selectivas simples, por una instrucción que utilice una selectiva alterna.

Si ARTI = “PERA” entonces
VP = CAN * 1500
Sino
VP = CAN * 2500
Fin_si

No hay comentarios: