Sunteți pe pagina 1din 7

1

Programación o Diagramación Lógica.

La programación o diagramación lógica es una forma de programar donde lo más importante es definir
un conjunto de hechos, que se conocen con anterioridad, y un conjunto de reglas que nos definen las
distintas relaciones que existen entre los componentes del programa. Estos hechos y reglas conforman
lo que se llama La base del conocimiento.

La programación lógica utiliza lenguajes de alto nivel que se asemejan mucho a los lenguajes
humanos. Por lo general, este tipo de programación hace uso de algoritmos recursivos.

Resolver problemas con una computadora.

La tarea del programador es indicarle a la computadora un conjunto de instrucciones para que ella
solucione su problema. El idioma que el programador utiliza para indicarle todo esto a una
computadora es lo que ya conocimos como lenguaje de programación.

Para resolver un problema mediante una computadora, se suelen seguir ciertos pasos, que son parte
de una metodología. Aclaremos, antes de ver dichos pasos, que con la práctica algunos se pueden
omitir, pero ante cualquier duda es recomendable efectuar los siguientes:

1. Análisis del problema.

2. Construcción de una Algoritmo mediante un diagrama de flujo y pseudocódigo.

3. Codificación del Algoritmo.

4. Pruebas, ajustes y documentación.

Si bien estos pasos so los básicos, nosotros, vamos a concentrarnos en los primeros dos.

Análisis del problema.

La primera etapa de la metodología para resolver un problema mediante una computadora es el


análisis. Esta etapa se basa en recolectar y analizar información que nos permita identificar tres
componentes básicos: los datos de entrada, los datos de salida deseables y un proceso que nos
permita obtener dichos datos de salida.

Datos de Entrada Proceso Datos de Salida

Los datos de entrada son los datos que se ingresarán de alguna forma o mediante algún método en el
programa. Éstos pueden ser desde una planilla de alumnos de una facultad hasta un archivo binario
con información codificada que contiene los saldos de cuentas bancarias.

Los datos de salida son aquellos que resultan de aplicar el algoritmo, y constituyen el objetivo de
todo este proceso. Éstos pueden no ser datos propiamente dichos, sino el resultado de aplicar un
proceso específico a los datos de entrada. Algunos ejemplos pueden ser: un listado de los clientes
morosos de un club deportivo, el ordenamiento de alguna estructura de datos determinada, u
operaciones matemáticas como por ejemplo la obtención del factorial de un determinado número.

Si analizamos un problema determinado e identificamos que es necesario listar los clientes que
deban más de dos cuotas de su crédito, un proceso que se puede aplicar para resolver dicho problema
es una simple búsqueda en que la condición de filtro sea “que deba más de dos cuotas”. Entonces, en
2

esta etapa de la metodología se deben analizar los posibles procesos que nos permitan llegar a la
solución del problema. De acuerdo con la complejidad del problema, existirá uno o más.

Construcción de un algoritmo.

La siguiente etapa de la metodología es el diseño y la construcción del algoritmo que nos permitirá
obtener el resultado deseado. Cuando se analizó el problema, se determinó qué se debía hacer para
llegar a los objetivos buscados, y ahora, en la etapa del diseño del algoritmo, se debe determinar
cómo se llevará a cabo esto.

Una recomendación a esta altura de la metodología es dividir el proceso en tareas más sencillas y más
fáciles de implementar. Por ejemplo, si queremos imprimir facturas de los clientes que pagaron el
último mes, podríamos definir dos tareas específicas: la primera es generar las facturas en alguna
estructura de datos acorde con la información requerida, y la segunda es recorrer las estructuras e
imprimirlas. Así, el proceso central, que era obtener las facturas de los clientes, se dividió en dos
tareas más sencillas e independientes entre sí: por un lado, generar las facturas, y por otro,
imprimirlas.

Una vez determinadas las tareas o los módulos que componen el algoritmo, lo que debemos hacer es
escribirlo utilizando tanto diagramas de flujo como pseudocódigo.

Cualquiera de estas dos herramientas son válidas para crear algoritmos; se puede usar una u otra, o
bien ambas. En la práctica, solían usarse más los diagramas de flujo, pero últimamente se está
utilizando con más frecuencia el pseudocódigo.

Con la experiencia, esta etapa se suele saltear, y se escribe el algoritmo directamente en algún
lenguaje de programación. Pero lo recomendable en todo momento es no dejar estos diagramas (o el
pseudocódigo) a un lado, porque constituyen una fuente muy importante en la documentación del
sistema que estamos desarrollando.

Antes de comenzar la etapa de diseño de un algoritmo, lo que tenemos que tener muy claro, son dos
conceptos muy importantes, ellos son:

Programa: Un programa es una serie de instrucciones ordenadas, codificadas en un lenguaje de


programación que expresa un algoritmo y que puede ser ejecutado en una computadora.

Algoritmo: Un algoritmo, es un conjunto ordenado y finito de pasos que nos permite solucionar un
problema.

En nuestra vida diaria, constantemente ejecutamos algoritmos, por ejemplo, si se desea hallar las
raíces de una ecuación cuadrática, se utilizaría el algoritmo de Baskara, que son un conjunto de pasos
que nos permiten determinar si una ecuación cuadrática tiene solución e indicar cuál es la misma. En
ocasiones, se desea instalar un equipo de sonido, para ello se sigue paso a paso las instrucciones de un
catálogo que se proporciona junto con el equipo, este conjunto de pasos constituye en sí un algoritmo.

Clasificación de los algoritmos.

Los algoritmos se pueden clasificar en:

Algoritmo Computacional: Es un algoritmo que puede ser ejecutado en una computadora.

Algoritmo no Computacional: Es un algoritmo que no requiere de una computadora para ser


ejecutado.
3

De acuerdo a estos conceptos, el ejemplo de la fórmula de Baskara es un algoritmo computacional, ya


que puede ser implementado en un lenguaje de programación y ejecutado en una computadora; el
ejemplo de la instalación de un equipo de sonido es un algoritmo no computacional porque no
requiere de una computadora para su ejecución.

Algoritmos Cualitativos: un algoritmo es cualitativo cuando en sus pasos o instrucciones no están


involucrados cálculos numéricos. Las instrucciones para armar un aeromodelo, para desarrollar una
actividad física o encontrar un tesoro, son ejemplos de algoritmos cualitativos. Otros ejemplos,
pueden ser:

Tomar mate, utilizar una guía telefónica, cocinar siguiendo una receta, etc.

Algoritmos Cuantitativos: Un algoritmo es cuantitativo cuando en sus pasos o instrucciones están


involucrados cálculos numéricos. Ejemplos: Solución de un factorial, solución de una ecuación de
segundo grado, encontrar el mínimo común múltiplo.

Características de un algoritmo.

Todo algoritmo debe tener las siguientes características:

Debe ser Preciso, porque cada uno de sus pasos debe indicar de manera precisa e inequívoca que se
debe hacer.

Debe ser Finito, porque un algoritmo debe tener un número limitado de pasos.

Debe ser Definido, porque debe producir los mismos resultados para las mismas condiciones de
entrada.

Partes de un algoritmo.

Todo algoritmo debe tener las siguientes partes:

Entrada de datos, son los datos necesarios que el algoritmo necesita para ser ejecutado.

Proceso, es la secuencia de pasos para ejecutar el algoritmo.

Salida de resultados, son los datos obtenidos después de la ejecución del algoritmo.

Diagramas de Flujo

• Los diagramas de flujo (o flujo gramas) son diagramas que emplean símbolos gráficos para
representar los pasos o etapas de un proceso. También permiten describir la secuencia de los
distintos pasos o etapas y su interacción. Es quizás la forma de representación más antigua.
Utilizan símbolos conectados con flechas para indicar la secuencia de instrucciones.

• Los diagramas de flujo sirven para indicar cómo es el flujo de ejecución de las acciones que
debe realizar el programa, más allá del lenguaje de programación que se utilice. Los diagramas
de flujo suelen estar acompañados de pseudocódigo, pero no siempre es así. Para empezar a
programar es recomendable tenerlos en cuenta, porque son de gran utilidad, ya que nos fijan
muchos conceptos.
4

Ventajas de los diagramas de flujo.

1. Favorecen la comprensión del proceso a través de mostrarlo como un dibujo. El cerebro


humano reconoce fácilmente los dibujos. Un buen diagrama de flujo reemplaza varias páginas
de texto.

2. Permiten identificar los problemas y las oportunidades de mejora del proceso. Se identifican
los pasos redundantes, los flujos de los reprocesos, los conflictos de autoridad, las
responsabilidades, los cuellos de botella, y los puntos de decisión.

3. Muestran las interfaces cliente – proveedor y las transacciones que en ellas se realizan,
facilitando a los empleados el análisis de las mismas.

4. Son una excelente herramienta para capacitar a los nuevos empleados y también a los que
desarrollan la tarea, cuando se realizan mejoras en el proceso.

Desarrollo del diagrama de flujo.

1. Identificar a los participantes de la reunión donde se desarrollará el diagrama de flujo. Deben


estar presentes el dueño o responsable del proceso, los dueños o responsables del proceso
anterior y posterior y de otros procesos interrelacionados, otras partes interesadas.

2. Definir que se espera obtener del diagrama de flujo.

3. Establecer el nivel de detalle requerido.

4. Determinar los límites del proceso a describir.

Los pasos a seguir para construir el diagrama de flujo son:

a) Establecer el alcance del proceso a describir. De esta manera quedará fijado el comienzo y el
final del diagrama. Frecuentemente el comienzo es la salida del proceso previo y el final la
entrada al proceso siguiente.

b) Identificar y listar las principales actividades / subprocesos que están incluidos en el proceso a
describir y su orden cronológico.

c) Si el nivel de detalle definido incluye actividades menores, listarlas también.

d) Identificar y listar los puntos de decisión.

e) Construir el diagrama respetando la secuencia cronológica y asignando los correspondientes


símbolos.

f) Asignar un título al diagrama y verificar que esté completo y describa con exactitud el proceso
requerido.
5

Símbolos a utilizar para la elaboración de diagramas de flujo

Comienzo y fin de diagrama.

Ingreso de Datos.

Salida de Información.

Aplicación Simple.

Condicional.

Condición

SI NO

Conectores.

Pseudocódigo.

• Es la técnica que permite expresar la solución de un problema mediante un algoritmo escrito


en palabras normales de un idioma (por ejemplo, el español), utilizando palabras imperativas.
Es común encontrar en pseudocódigo palabras como: Inicie, lea, imprima, sume, divida,
calcule, finalice.

• El pseudocódigo es otra forma de diagramar algoritmos o, mejor dicho, especificar las acciones
que debe ejecutar un programa. La forma de hacerlo es mediante un lenguaje muy sencillo y
similar al nuestro. La idea es ir escribiendo con palabras sencillas las acciones que debe seguir
el programa para alcanzar los objetivos.

• No hay un léxico obligado para el pseudocódigo, pero con el uso frecuente se han establecido
algunos estándares.
6

TRABAJO PRÁCTICO DE DIAGRAMACIÓN LOGICA


✔ Escribir los algoritmos y diseñar los diagramas de flujo de los siguientes enunciados:
1. Dado un número indicar si es positivo o no.
2. Dado un número indicar si es positivo, negativo o cero.
3. Dado un número indicar si es mayor de 10 o no.
4. Dados dos números indicar por la salida solamente el mayor.
5. Dados dos números indicar si son iguales.
6. Dados dos números mostrarlos ordenados por la salida de mayor a menor y viceversa.
7. Dado un número indicar si tiene un dígito, dos dígito o mas de dos dígitos.
8. Dado tres números indicar cual es el mayor.
9. Dadas dos palabras ordenarlas alfabéticamente.
10. Dada una palabra indicar si se encuentra antes o después de la palabra “perro” en orden
alfabético.
11. Dada una palabra indicar si empieza con la letra “M” o no.
12. Dados tres números mostrar el menor.
13. Dados tres números mostrar solamente el del medio (entre el mayor y el menor).
14. Dado un número indicar si se encuentra comprendido entre los números 20 y 50.
15. Dado el nombre de un alumno indicar a que grupo pertenece, sabiendo que los apellidos
anteriores a “Herrera” pertenecen al grupo 1 y el resto pertenece al grupo 2.
16. Dadas las tres notas de una lista de alumnos, calcular el promedio e indicar por la salida
“aprobado” si el promedio es 6 o mayor, “rinde en diciembre” si el promedio esta comprendido
entre 4 y 6, “rinde en marzo” si el promedio es menor a 4.
17. Dadas las mediciones diarias de temperatura (3 en total) calcular el promedio diario e informar la
máxima y la mínima.
18. Dado un número mostrar por la salida si es PAR o IMPAR y se finaliza el programa cuando se
ingresa el número cero.
19. Dado el precio de un producto calcular el 25% de descuento. Informar por la salida, el nombre del
producto, el precio, el descuento, el precio a pagar.
20. Un club tiene 3 categorías de socios:
INFANTILES: hasta 12 años. CADETES: 12 años hasta los 18. ACTIVOS: mayores de 18 años.
Dado el nombre del socio y la edad, informar a que categoría pertenece (lista).
21.Se dan como datos los nombres de los alumnos y su promedio final. Se quiere imprimir solamente
aquellos cuyo promedio final los exima de dar examen.
22.Sumar y mostrar los primeros 20 números naturales (sin incluir el cero).
23.Dada una lista con 10 números, confeccione un diagrama para: hallar la suma, el producto y el
promedio de los mismos.
24.De una lista de 5 números calcular el promedio de los positivos, la cantidad de negativos y de
ceros.
25.Dada la medida de los tres lados de un triangulo determinar si es equilátero, isósceles o escaleno.
7

26.De una lista de 10 triángulos, teniendo en cuenta la medida de los tres lados de cada uno de los
triángulos determinar cuantos son equiláteros, isósceles y escalenos.
27.Dada una lista de 5 palabras, indicar cual es la primera en orden alfabético.
28.Dada una lista de 5 palabras, indicar cual es la última en orden alfabético.
29.Dada una lista de 5 números hallar el máximo.
30.De una lista de 100 números determinar simultáneamente el máximo y mínimo número.
31.Dados dos números M y N, hallar el producto sin efectuar la operación producto.
32.Dada una lista de 10 números hallar la suma y el promedio de aquellos que tengan solamente dos
dígitos.
33.Dada una lista de 10 palabras indicar cuantos tienen más de cuatro letras.
34.Dada una lista de 10 palabras indicar cuantas comienzan con vocal.
35.Se leen el apellido, la edad y el promedio de 12 alumnos de una división. Se quiere saber el
apellido y la edad del alumno que posee el promedio más alto.
36.¿Dado el monto de una compra calcular el descuento considerado
• Descuento del 20% si el monto es mayor a $200.
• Descuento del 10% si el monto es mayor a $50 y menor o igual a $100
• No hay descuento si el monto es menor o igual a $50.
37.Se tiene una lista de 10 números y se quiere saber cual es el mayor y cuantas veces aparece en la
lista.
38.¿Dada la duración en minutos de una llamada calcular el costo, considerando?
• Hasta tres minutos el costo es 0.50.
• Por encima de tres minutos es 0.50 más 0.1*cada minuto adicional a los tres primeros.
39.Para preparar un salón de conferencias de un congreso se envió una lista de 100 personas, donde
cada uno de ellos está compuesto de 3 variables: la primera para el n° de documento del
profesional, la segunda representara el sexo (M o F), y la tercera la especialidad (c-Cardiología, p-
Pediatría y t-Traumatología).
Se desea averiguar:
• Cantidad de personas de sexo femenino especializadas en pediatría.
• Imprimir los n° de documento de los especialistas en cardiología.
• Cantidad de hombres que asistieron al congreso.
40.Se leen 100 pares de valores (A, B), el primer valor representa el sueldo de un empleado de una
fábrica. El segunda representa la categoría del mismo (1. Obrero – 2. Capataz – 3. Jefe).
Se desea averiguar:
• De la categoría 1 y 2, cuál tiene mayor cantidad de integrantes.
• El promedio de sueldos de las personas de la categoría 3.
• Cuántos de la categoría 1 cobran más de $1000.

S-ar putea să vă placă și