ALGORITMO.
Los algoritmos son el conjunto de pasos o instrucciones a seguir de manera ordenada y finita mediante el cual se llevará a cabo un proceso para obtener cierto resultado, por ejemplo: Las recetas de cocina, manuales, etc.
Existen dos tipos de algoritmos: Pseudocódigo y Diagrama de flujo.
Pseudocodigo.
Estructura de un pseudocódigo puede ser de tres tipos:
1. Secuencial: Esta consiste en colocar cada instrucción una tras de la otra sin tener ningún tipo de saltos.
2. Selectiva: Esta lleva a cabo ciertas instrucciones cuando se cumple una cierta condición y si esta condición no se cumple se salta a la siguiente instrucción.
- Selectiva doble (anidamiento): Esta realiza una instrucción u otra según la respuesta de la condición planteada.
- Selectiva múltiple: Esta realiza instrucciones para distintos comportamientos de las condiciones, que sería como trabajar varias selectivas dobles.
- Selectiva múltiple-casos: Esta realizara para un cierto tipo de declarado en un inicio y dependiendo cual sea será el tipo de comportamiento a realizar.
3. Iterativa: Este consiste en la posibilidad de realizar una misma instrucción más de una vez.
- Bucle mientras.- Realiza ciertas instrucciones mientras que la condición se siga cumpliendo.
- Bucle repetir.- Realiza ciertas instrucciones hasta que se deje de cumplir con la condición que a diferencia del mientras esta instrucción realiza al menos una vez las instrucciones.
- Bucle para.- Se utiliza para realizar instrucciones cierto número de veces pero definiendo por un índice que se incrementa en cada vuelta.
- Bucle para cada.- Realiza instrucciones para todo elemento que cumpla con la condición.
Diagrama de flujo.
Desarrollo del Diagrama de Flujo.
Acciones previas a la realización del diagrama de flujo:
- Definir qué se espera obtener del diagrama de flujo.
- Identificar quién lo empleará y cómo.
- Establecer el nivel de detalle requerido.
- Determinar los límites del proceso a describir.
Pasos a seguir para construir el diagrama de flujo:
- Establecer el alcance del proceso a describir. De esta manera quedará fijado el comienzo y el final del diagrama.
- Identificar y listar las principales actividades/subprocesos que están incluidos en el proceso a describir y su orden cronológico.
- Si el nivel de detalle definido incluye actividades menores, listarlas también.
- Identificar y listar los puntos de decisión.
- Construir el diagrama respetando la secuencia cronológica y asignando los correspondientes símbolos.
- Asignar un título al diagrama y verificar que esté completo y describa con exactitud el proceso elegido.
ESTRUCTURA PARA DAR SOLUCIÓN A UN PROBLEMA MATEMÁTICO.
1. Comprender el problema.
- Leer el problema hasta entenderlo.
- Establecer datos del problema.
- Definir que pide el problema.
- Organizar la información.
- Agrupar los datos en categorías.
- Escoger diagrama o pseudocódigo.
- Escoger y decidir las operaciones a realizar.
- Eliminar los datos inútiles.
- Descomponer el problema en otros más pequeños.
- Ejecutar en detalle cada operación.
- Simplificar antes de calcular.
- realizar dibujo o diagrama.
4. Analizar la solución (Revisar).
- Dar una respuesta completa.
- Hallar el mismo resultado de otra manera.
- Verificar por apreciación que la respuesta es adecuada.
En un juego, el ganador obtiene una ficha roja; el segundo, una ficha azul; y el tercero, una amarilla.
Al final de varias rondas, el puntaje se calcula de la siguiente manera: Al cubo de la cantidad de
fichas rojas se adiciona el doble de fichas azules y se descuenta el cuadrado de las fichas amarillas.
Si Andrés llegó 3 veces en primer lugar, 4 veces de último y 6 veces de intermedio, ¿Qué puntaje
obtuvo?
COMPRENDE.
Leer detenidamente el problema.
- ¿Cuántos colores de fichas se reparten?
- ¿Cuántas fichas rojas, azules y amarillas obtuvo Andrés?
- ¿Qué pregunta el problema?
1. PLANEA.
- Para hallar el puntaje que obtiene Andrés por sus llegadas de primero, calcular el cubo de la cantidad de fichas rojas.
- Para hallar el puntaje por sus llegadas en segundo lugar, calcular el doble de la cantidad de fichas azules.
- Para hallar el puntaje que pierde por sus llegadas en último lugar, calcular el cuadrado de la cantidad de fichas amarillas.
- Para hallar el puntaje total, calcular la suma de los puntajes por las fichas rojas y azules, restarle los puntos de las fichas amarillas.
2. RESUELVE.
- Por tres fichas rojas: ____ puntos.
- Por seis fichas azules: ____ puntos.
- Por cuatro fichas amarillas: _____ puntos.
- Para obtener el puntaje final de Andrés, sumar los puntos obtenidos con las fichas rojas y azules (________puntos) y de este resultado restar los puntos representados por las fichas amarillas (____________puntos).
3. REVISA.
- El puntaje que obtuvo Andrés es ___ puntos.
- Verificar las operaciones y comparar los cálculos con la solución estimada.
- Analizar el problema (entenderlo).
ANALIZAR EL PROBLEMA (ENTENDERLO).
Se define el problema con precisión para comprenderlo de una manera mejor.
- Especificar claramente los resultados que se deseen obtener. (meta y sub-metas)
- Identificar la información disponible. (estado inicial).
- Definir los procesos.
Formular problema
Se inicia con determinar y comprender en que consiste el problema en exactitud.
Ejemplo:
Opción 1: Juan Felipe es jefe de bodega en una fábrica de pañales desechables y sabe que la producción diaria
es de 744 pañales y que en cada caja donde se empacan para la venta caben 12 pañales. ¿Cuántas
cajas debe conseguir Juan Felipe para empacar los pañales fabricados en una semana?
Opción 2: Juan Felipe es jefe de bodega en una fábrica de pañales desechables y una de las tares del día
consiste en llamar al proveedor de los empaques y ordenarle la cantidad suficiente de cajas para
empacar los pañales fabricados en la semana próxima. El jefe de producción le informó ayer a Juan
Felipe que la producción diaria será de 744 pañales y en cada caja cabe una docena de ellos.
¿Qué debe hacer Felipe?
La Opción 1 plantea directamente el problema que el estudiante debe resolver. Mientras que la
Opción 2 plantea una situación y la pregunta es ¿Qué debe hacer Felipe?.
La Opción 2 demanda al estudiante leer muy bien el texto para comprender la situación y así poder formular el problema de Juan Felipe. Se debe realizar una lectura previa del problema con el fin de obtener una visión general de lo que se le pide y una segunda lectura para poder responder a preguntas como:
La Opción 2 demanda al estudiante leer muy bien el texto para comprender la situación y así poder formular el problema de Juan Felipe. Se debe realizar una lectura previa del problema con el fin de obtener una visión general de lo que se le pide y una segunda lectura para poder responder a preguntas como:
- ¿Puedo definir mejor el problema?
- ¿Qué palabras del problema me son desconocidas?
- ¿Cuáles son las palabras clave del problema?
- ¿He resuelto antes algún problema similar?
- ¿Qué información es importante?
- ¿Qué información puedo omitir?
Precisar los resultados esperados (metas y sub-metas).
Para establecer los resultados que se esperan (meta) es necesario identificar la información importante, ignorar los datos sin importancia, entender los elementos del problema y aplicar el esquema correcto.Determinar cual es el resultado (producto) que debe devolver el programa. Es necesario analizar que resultados queremos y cual es el formato que utilizaremos (impresos, pantalla, diagrama, etc.)
Identificar datos disponibles (Estado inicial).
determinar cuál es la información disponible:
- ¿Qué información es importante?
- ¿Qué información no es relevante?
- ¿Cuáles son los datos de entrada? (conocidos)
- ¿Cuál es la incógnita?
- ¿Qué información me falta para resolver el problema? (datos desconocidos)
- ¿Puedo agrupar los datos en categorías?
Determinar las restricciones.
En este punto se deben exponer las necesidades y restricciones (no una propuesta de solución). Se debe preguntar:
- ¿Qué condiciones me plantea el problema?
- ¿Qué está prohibido hacer y/o utilizar?
- ¿Qué está permitido hacer y/o utilizar?
- ¿Cuáles datos puedo considerar fijos (constantes) para simplificar el problema?
- ¿Cuáles datos son variables?
- ¿Cuáles datos debo calcular?
Establecer procesos.
Consiste en determinar los procesos que permiten llegar a los resultados esperados a partir de datos disponibles. Se debe preguntar:
- ¿Qué procesos necesito?
- ¿Qué fórmulas debo emplear?
- ¿Cómo afectan las condiciones a los procesos?
- ¿Qué debo hacer?
- ¿Cuál es el orden de lo que debo hacer?
Diseñar el algoritmo (trazar un plan).
Cuando ya se ha realizado el análisis del problema, se puede proceder a elaborar el algoritmo (diagrama de flujo, pseudocódigo) y de ahí a un lenguaje de programación para ejecutarlos y probarlos en una computadora.
Ejemplo:
Diseñar un algoritmo (pseudocódigo y diagrama de flujo) para hallar el área de un triángulo
rectángulo cuya Base mide 3 cm, la Altura 4 cm y la Hipotenusa 5 cm.
1. Análisis del problema.
Formular el problema: Ya se encuentra claramente planteado.
Resultados esperados: El área de un triángulo rectángulo.
Datos disponibles: Base, Altura, Hipotenusa, tipo de triángulo.
La incógnita es el área y todos los valores son constantes. El valor de la hipotenusa se puede omitir.
La incógnita es el área y todos los valores son constantes. El valor de la hipotenusa se puede omitir.
Determinar las restricciones: Utilizar las medidas dadas.
Procesos necesarios: Guardar en dos variables (BASE y ALTURA) los valores de Base y Altura;
Guardar en una constante (DIV) el divisor 2; aplicar la fórmula BASE*ALTURA/DIV y guardar el
resultado en la variable AREA; comunicar el resultado (AREA).
2. Algoritmo de pseudocodigo.
Paso 1: Inicio.
Paso 2: Asignar el número 2 a la constante "div".
Paso 3: Asignar el número 3 a la constante “base”.
Paso 4: Asignar el número 4 a la constante “altura”.
Paso 5: Guardar en la variable "área" el resultado de base*altura/div.
Paso 6: Imprimir el valor de la variable "área".
Paso 7: Final.
Traducir el algoritmo (Ejecutar plan).
Una vez el algoritmo esté diseñado y representado se pasa a la etapa de traducción a un Lenguaje de programación determinado.
Depurar el programa (revisar).
Después de traducir el algoritmo, el programa resultante debe ser probado y validados los resultados, a esto se le conoce como Depuración.
Conceptos básicos de programación.
Variables:
En programación, las variables son contenedores para guardar datos, este valor puede cambiar o permanecer igual durante algún paso del algoritmo.
Constantes:
Es un dato cuyo valor no cambia en ningún momento tras el desarrollo del problema. Este recibe un nombre en el momento de la compilación y se mantiene inalterado.
Identificadores:
Son los nombres que se le dan a los elementos utilizados para resolver un problema y poder diferenciar unos de otros.
Subrutinas, procedimientos o funciones.
Una sub-rutina son partes de un programa que se identifican por medio de un nombre y que realizan alguna actividad específica. Las subrutinas sirven para ahorrar código.
Las funciones reciben datos, los procesan y devuelven un resultado. Este resultado puede
guardarse en una variable. Los datos que se le dan a una función para que trabaje con ellos se
llaman parámetros. Cuando una función no regresa un resultado en algunos lenguajes se les llama procedimientos.
Prueba de escritorio.
Una prueba de escritorio es la comprobación lógica, de un algoritmo de resolución. Para desarrollar la prueba de escritorio, se utilizara el siguiente procedimiento:
- Con datos de prueba, se seguirán cada uno de los pasos propuestos en el algoritmo de resolución.
- Si la prueba de escritorio genera resultados óptimos, quiere decir que el algoritmo posee una lógica adecuada, en caso contrario el algoritmo tendrá que ser corregido.
No hay comentarios:
Publicar un comentario