Sunteți pe pagina 1din 12

¿Qué es un problema?

La Real Academia de la Lengua Española define: “Problema” como “Conjunto de hechos o


circunstancias que dificultan la consecución de algún fin” mientras que Wikipedia lo define como:
“Un asunto del que se espera una solución”; entonces tenemos, que un problema puede definirse
como una situación, con un grado de dificultad variable, que debe aclararse o resolverse y que
puede tener un número determinado o indefinido de soluciones.}

¿Qué es un algoritmo?

Se denomina algoritmo a un conjunto finito de instrucciones o pasos, ordenados de manera lógica,


que permiten solucionar un determinado problema.

¿Qué es un método?

Los métodos más usuales para expresar un algoritmo son:

a) Descripción narrada.

Es cuando anotamos la solución de un problema, paso a paso, dándole una secuencia de


orden. Es la forma más sencilla, pues está hecha en lenguaje natural. Algunas
recomendaciones para que la redacción de los algoritmos por este método sea de fácil
lectura y comprensión son:

• Utilizar las palabras Inicio y Fin para identificar el punto de partida y el término del
algoritmo.

• Numerar cada paso.

• Las instrucciones deben ser frases cortas y concretas.

• Las instrucciones inician con un verbo que identifica la acción que se va a realizar.
¿5 pasos para resolver algoritmos?

1. ANÁLISIS PREVIO DEL PROBLEMA

En esta etapa se debe definir y tener claro lo que el programa tiene que hacer
junto con las tareas que debe realizar para llevar a cabo la solución, qué datos
necesito para realizar la tareas, que formato deben tener los datos de entrada, de
donde provienen los datos de entrada, como se obtienen esos datos, cómo
interactúan los datos entre sí para obtener el resultado, muy importante tener
claro cuál será el resultado que se desea obtener, tampoco dejar de lado las
restricciones que puede haber al momento de procesar los datos..
De igual forma se debe analizar todos los escenarios que pueden darse ya que un
cambio de escenario puede variar el resultado final del programa, siempre vale la
pena cuestionarse y hacer la pregunta: y si pasa esto o aquello? qué
comportamiento tomaría el programa.
Para clarificar dudas se debe pedir formatos (formas de presentación de los datos
o de donde se obtienen los datos cuando se hacen de forma manual), fórmulas,
realizar ejemplos y verificar los resultados.
Básicamente en este punto o fase se debe recoger todos los requerimientos y
especificaciones del problema.
Este punto debe ser uno de los más importantes y críticos de la resolución de
problemas ya que un mal análisis lleva a un mal diseño y posterior a un mal
resultado.
En lo personal no importa el tiempo que demores en esta etapa, la idea es que
quede bien claro todo, la primera vez puede que te demores un montón pero a
medida que lo practicas vas cogiendo experiencia y si lo tomas como hábito en
las próximas veces lo harás aún más rápido.

2. DISEÑO DEL ALGORITMO

Una vez que tenemos claro el problema, después de haber definido todas la
entradas y salidas que va tener el programa, también las tareas a realizar, es hora
de diseñar el algoritmo y que irá de acuerdo a todas las especificaciones
anteriores y posteriormente será implementado en un lenguaje de programación
para ser ejecutado por la computadora.
El algoritmo se lo puede hacer de cualquier forma: Pseudocódigo o Diagrama
de Flujo, la idea principal es que sea entendible, y no solo por el que lo diseñó si
no por cualquier persona.
En conclusión en la etapa anterior se define qué es lo que hará el programa, en
esta fase, se define como lo hará.
Algo importante de este diseño es que sea entendible para el programador que lo
va implementar.
3. CONFIGURACIÓN DEL ENTORNO DE DESARROLLO Y
CODIFICACIÓN

Esta etapa consiste en transcribir o adaptar el algoritmo a un lenguaje de


programación, se tendrá que adaptar todos los pasos diseñados en el algoritmo
con sentencias y sintaxis propias del lenguaje.
Verificar errores, organizar el código y comentarlo, son buenas prácticas que
hacen programas más legibles y facilitan la depuración.
Previamente a la codificación se debe tener configurado el entorno de trabajo:
IDEs, librerías, Frameworks (aunque este último no lo recomiendo si estas
empezando a programar, es mejor aprender las cosas más básicas los
fundamentos, todo a mano primero y luego los frameworks) y luego pasar el
algoritmo al lenguaje de programación.

4. COMPILACIÓN Y PRUEBAS
La fase de compilación permitirá detectar errores en tiempo de compilación,
ejecución y lógicos, y en el caso de Java se generará uno o varios archivos
bytecode que serán ejecutados por la computadora.
En esta fase también es necesario realizar pruebas con una gran cantidad de datos
para encontrar posibles errores y corregirlos.

5. DOCUMENTACIÓN Y MANTENIMIENTO

Por últimos se debe tener una documentación de todos los pasos hasta llegar a
la solución del problema, a veces es un poco tedioso esta fase pero también es
muy importante ya que muchas veces suceden modificaciones con el pasar del
tiempo y estas se hace en algunos casos por otros programadores diferentes a los
que lo crearon (que incluso cuando uno mismo va ha modificar no se acuerda que
rayos hacia ese código, me ha pasado), y cuando un programa es pobre en
documentación este proceso de modificación es totalmente complejo.
¿Qué es un compilador?
Un compilador es un pequeño programa informático, que se encarga de
traducir (compilar) el código fuente de cualquier aplicación que se esté
desarrollando. En pocas palabras, es un software que se encarga de
traducir el programa hecho en lenguaje de programación, a un lenguaje de
máquina que pueda ser comprendido por el equipo y pueda ser procesado o
ejecutado por este.

1. ¿Cómo se define un diagrama de flujo? Dibuja las formas o símbolos de un diagrama de


flujo y menciona sus nombres.

¿ Cuáles son las estructuras algorítmicas? Describe cada una


Son un grupo de formas de trabajo que permiten
mediante la manipulación de variables,realizar ciertos
procesos específicos que nos lleven a la solución de
problemas.

se clasifican en :

 Secuenciales: 
son  aquellos en que una acción sigue a otra en
secuencia.
sus componentes son:
1. ¿Cómo se define un lenguaje de programación?

Según la definición teórica, como lenguaje se entiende a


un sistema de comunicación que posee una determinada estructura,
contenido y uso. La programación es, en el vocabulario propio de
la informática, el procedimiento de escritura del código fuente de
un software

 
asignación: es el paso de
valores o resultados a una zona de la memoria, esta
zona sera reconocida   con el nombre de la variable
que recibe el valor.

entrada: consiste en recibir un valor o un dato, por


medio de algun dispositivo de entrada.

salida: se manda el resultado o mensaje, por medio


de algun dispositivo de salida del computador.

  Condicionales:
Son  aquellos que permiten comparar una variable
contra otro valor, se utilizan para tomar
decisiones lógicas, existen tres tipos :
Simples: Se ejecuta una determinada acción cuando
se cumple  determinanda  condición.

Ejemplo :

si (condición ) entonces
(acción )
fin si

Dobles: Son aquellos que permiten elegir entre dos


opciones o alternativas posibles.

Ejemplo:

Si < condición > entonces


< acción uno >
si_no
<acción dos>
fin_si

Múltiples: son aquellos que permiten elegir cuando


hay mas de dos elecciones o alternativas posibles.
Ejemplo:
si < condición > entonces
< instrucción > 
sino
si < condición 2>entonces 
< instrucción >
sino 
.
.
fin si

 Cíclicas:
son aquellos tipos de estructura que repiten una
secuencia de instrucciones un número determinado de
veces, para encontrar la solución a un problema, estas
son denominados como bucles, entre los cuales
encontramos:

para: en esta se conoce el numero de iteraciones o


veces que se repite la acción, antes de iniciar
la ejecución del ciclo.
mientras que: este se repite un numero determinado
de veces, para esto la instrucción se acompaña de
una condición, la cual debe cumplirse para seguir
la ejecución del ciclo, de lo contrario este se termina.
repita- hasta:este repite un proceso una cantidad de
veces, determinada por un condicional, que lo
ejecuta hasta que la condicional se cumpla.
una característica importante de esta estructura es que
permite realizar el proceso cuando menos una vez, ya
que la condición se evalúa al final del proceso.

http://algoritmosextremos.blogspot.mx/2012/02/estructuras-algoritmicas.html

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