0% encontró este documento útil (0 votos)
17 vistas6 páginas

Capitulo 2 de Lgoritmo

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1/ 6

Fases en la resolución de problema

Las frases en la resolución de problemas con una computadora son un conjunto de pasos
comunes que los programadores siguen para desarrollar programas de manera efectiva. Estas
fases incluyen:

1. Análisis del problema: En esta etapa se examina el problema de detalle, considerando


los requisitos proporcionados por el cliente o la entidad que necesita la solución. Se
busca comprender completamente el problema ante de que pase al siguiente paso.
2. Diseño de Algoritmo: Una vez que se ha analizado el problema, se diseña una solución
en forma de algoritmo. Este algoritmo es una secuencia de pasos precisos que resuelve
el problema de manera lógica y eficiente
3. Codificación: En esta fase, se traduce el logaritmo diseñado en el lenguaje de
programación elegido, como Pascar. Esto de como resultado un programa fuente que
pueda ser entendido por la computadora.
4. compilación y ejecución: El programa fuente se compila en un leguaje que la
computadora pueda entender y se pueda ejecutar para probar su funcionamiento.
5. verificación: Durante esta etapa se realiza una revisión exhaustiva del problema para
asegurarse de que cumple con los requisitos especificados y funciona correctamente.
6. Duración: Si se encuentra errores o” bugs” en el programa durante la verificación, se
corrige en esta fase. La depuración implica identificar y resolver cualquier problema en
el código.
7. Mantenimiento: A medida que cambian los requisitos o se encuentren nuevas
necesidades, el programa se actualiza y modifica según sea su necesario para
garantizar que siga siendo útil y eficiente.
8. Documentación: Se documentan todas las etapas del ciclo de vida del Software,
incluyendo el análisis, diseño y codificación. También se proporcionan manualmente
de usuario y de referencia, así como pautas para el mantenimiento

Es Importante destacar que las dos primeras fases (análisis y diseño) son cruciales para
el éxito del proyecto, ya que una planificación solida reduce la necesidad de
correcciones en etapas posteriores. Un algoritmo, que es la base del diseño, debe ser
preciso, definido y finito, lo que significa que debe indicar el orden de realización de
cada paso, producir resultados consistentes y tener un numero finito de pasos

Los Algoritmos son método para resolver problemas de manera precisa y definida en
un tiempo finito. Se diferencian de dos métodos heurísticos, que involucran juicio o
interpretación. Los algoritmos se pueden implementar en computadoras, mientras que
los métodos heurísticos son más difíciles de automatizar.

Análisis del Problema


El análisis del problema es la primera fase en la resolución de un problema con una
computadora. En etapas, se define claramente lo que debe hacer el programa y cual es
la solución deseada. Para lograrlo, se requiere especificaciones detallas de entrada y
salida.
El análisis del problema se debe responder a preguntas claves como:
 ¿Qué entradas son necesarias? (Tipos de datos y cantidad )
 ¿Cuál es la salida deseada? (tipo de datos y cantidad)
 ¿Qué método produce la salida deseada?
 ¿Existen requisitos adicionales o restricciones para la resolución?

Se proporciona un ejemplo de análisis de un problema relacionado con la depreciación


de un automóvil. En este caso, se detalla la entrada (vida útil y valor de recuperación),
la salida esperada (depreciación acumulada y valor del auto móvil en cada año), y el
proceso para calcular estos valores.

El análisis del problema es fundamental para comprenderlo en su totalidad antes de


pasar a las siguientes fases de diseño, codificación y ejecución. Proporciona una base
solida para el desarrollo de la solución informática.

Diseño del Algoritmo


El diseño del algoritmo es una etapa crucial en el proceso de programación que sigue
al análisis del problema. Mientas que el análisis se enfoca en determinar que debe
hacer el programa, el diseño se centra en como el programa realizara esa tarea. Una
metodología efectiva para el diseño se basa en el principio “divide y vencerá”,
descomponiendo un problema complejo en subproblema mas simples. Este enfoque se
conoce como diseño descendente (top-down) o modular y se caracteriza por el
refinamiento sucesivo

En el diño modular, cada subproblema se resuelve mediante un módulo (subprograma)


que tiene un solo punto de entrada y un solo punto de salida. Un programa bien diseña
consta de un programa principal (el método de nivel más alto) que llama a
subprograma (módulos de nivel más bajo) que, a su vez, puede llamar a otros
subprogramas. Esta estructura modular permite que los módulos sean planificados,
codificados, verificados y depurados de manera independiente, incluso por diferentes
programadores, antes de ser combinados en el programa final.

El proceso de diseño del algoritmo implica los siguientes pasos hasta que el programa
se complete

1. Programar un modulo
2. Verificar el modulo
3. Depurar el módulo si es necesario
4. Combinar el módulo con los módulos previamente diseñados

Es importante destacar que el diseño del algoritmo es independiente del lenguaje de


programación en el que se implementara posterior mente. Se centra en la estructura y
la lógica de cómo se realizará la tarea sin preocuparse por la sintaxis especifica del
lenguaje. Esto facilita la adaptación del diseño a diferentes lenguajes de programación
y promueve la reutilización de módulos en diferentes proyectos.

Herramientas de programación
Las herramientas de programación más comunes utilizadas para diseñar algoritmo son
los diagramas de flujos y el pseudocodigo.
Los Diagramas de flujo son representaciones graficas de algoritmos. Utilizan símbolos
normalizados por institutos norteamericano de normalización (ANSI). Los símbolos mas
utilizados incluyen terminales, subprograma, entrada-salida, decisiones procesos y
conectores.

En el seudocódigo, se emplea una anotación estándar para representar palabras


reservadas en minúsculas negritas. Se proporciona un ejemplo de pseudocodigo para
resolver un problema especifico

Compilación y ejecución de un programa


El proceso de compilación y ejecución del de un programa se inicia después de haber
convertido un algoritmo en un programa fuente. Para hacerlo, se utiliza un programa
editor que permite insertar el código mediante el teclado y luego almacenarlo en un
disco. El programa fuerte se convierte en un archivo de programación que programa
que se guarde en el disco

Las siguientes etapas implica la traducción del programa fuerte a lenguaje máquina, lo
cual se realiza mediante un compilador y el sistema operativo. Si durante la
compilación surge errores conocidos como errores de compilación, es necesario
corregir el programa fuente y compilar nuevamente hasta que no haya errores. Esto da
como resultado un programa objeto que aun no es directamente ejecutable.

El proceso de ejecución del programa puede generarse errores en tiempo de ejecución,


pro si todo va bien, se obtendrá los resultados esperados del programa.

Las instrucciones específicas para compilar y ejecutar un programa dependen del


entorno de programación y del sistema operativo utilizado, como Windows, Linux,
Unix, ect

Verificación y depuración
LA verificación y depuración de un programa son procesos cruciales en el desarrollo de
software. La verificación implica ejecutar el programa con una variedad de datos de
prueba para identificar y corregir errores o “bugs”. Esto incluye valores normales,
limites extremos y casos especiales. La depuración, por otro lado, consiste en
encontrar y corregir los errores detectados durante la verificación

1. Errores de compilación: Resultan de reglas de lenguajes de programación


incorrectamente utilizadas y suelen ser errores de sintaxis. Estos errores se
detectan durante la compilación y se muestran en una lista
2. Errores de ejecución: ocurre cuando el computador comprende la introducción,
pero no puede ejecutarla, como la división por cero o la extracción de raíces
cuadradas de números negativos. Estos errores detienen la ejecución del programa
y muestran mensajes de error
3. Errores lógicos: se originan en la lógica del programa y suelen estar relacionados
con el diseño del algoritmo Estos son difíciles de detectar y pueden producir
resultados incorrectos sin generar errores de compilación i de ejecución
La Documentación desempaña un papel crucial en el desarrollo y mantenimiento de
programa. Puede ser interna ( a trabes de los comentarios en Código fuente) o externa
( análisis, diagrama de fluidos, pseudocodigo y manuales de usuarios. ) una
documentación adecuada facilita la lectura, depuración y mantenimiento de
programas.

El mantenimiento del programa implica realizar cambios en el Código, corregir errores


futuros o mejorar el programa. Es importante actualizar la documentación después de
cada cambio para facilitar futuras modificaciones. Las versiones del programa se
numera, siendo el primer digito modificado para cambiar significativos y el segundo
digito para cambios manuales

Programación Modular
La programación modular es como armar un rompecabezas gigante con piezas
independiente. Cada pieza (llamada “modulo”) hace una sola cosa y no le inporta lo
que hacen los demás. EL jefe del juego es el “programa principal” que controla todo

Los módulos son como cajas mágicas que hacen su trabajo y luego le pasan el testigo al
jefe. Si un modulo es muy complicado, se divide en pedazos hasta que cada uno haga
usa una sola cosa

Lo bueno es que diferentes personas pueden trabajar en diferentes pecados del


rompecabezas al mismo tiempo, lo que ahorra tiempo. Además, si cambias una pieza a
las demás.

En resumen, la programación modular es como armar un rompecabezas, donde cada


pieza he su trabajo sin preocuparse por las demás, lo que hace que todo sea mas fácil
de construir y cambiar si es necesario

La programación Estructurada
La programación estructurada se trata de escribir programas paso a paso, como dar
instrucciones a una máquina. Cada instrucción le dice a la computadora que hacer,
como sumar números o mostrar información.

Cuando los programas son pequeños, estos funcionan bien, pero cuando se vuelven
grandes y complicados, se vuelven un lio. Los programadores solo pueden mejorar
unas cuantas instrucciones a la vez. Para resolver esto, empezaron a dividir los
programas en partes más pequeñas llamadas “funciones”, cada una con una tarea en
especifico

Otro problema es que esta forma de programar no se parece mucho al mundo real,
tratamos con cosas como personas, auto y casa que tienen características (como edad
o precio)

En el lenguaje de programación como C, hay dos tipos de datos: los “locales” y los
“globales”.
 Datos locales son como las cosas secretas que solo una función conoce y puede
usar. Están escondiendo dentro la función y nadie mas puede meterse con ellos.
Son como los secretos de una función y solo se usa allí.
 Datos globales son como las cosas que todo el mundo puede ver y usar. Son como
las cosas que están disponibles para todas las funciones del programa.

El problema es que cuando tienes un programa grande con muchas funciones y datos
globales, todo se vuelve un lio. Es decir,

entender como está organizado el programa

La programación estructurada trata de hacer que los programas sean más claro y
fáciles de mantener, pero cuando los programas son muy grandes, eso también puede
volverse complicado

Aquí es donde entran la programación orientada a objetos. En lugar de centrarse en


como hacer las cosas (como la programación estructurada) se centra en cómo
organizar los datos. En la programación orientadas a “objetos”. Las funcione en un
objeto se llama “métodos”, y solo solo pueden tocar los datos de ese objeto. Los datos
están ocultos, protegidos de cambios accidentales. Esto hace que sea mas fácil escribir
depurar mantener programas grandes.

- La programación estructurada utiliza funciones separadas para hacer cosas, lo que


puede volverse confuso en programas grandes. La programación orientada a
objetos agrupa datos funcionales en objetos, lo que hace que los programas sean
más organizados y fáciles de manejar

La programación orientada

La programación orientada a objetos (POO) es uno de los enfoques más populares e el


mundo del desarrollo de Software en el siglo XXI. A diferencia de la programación
estructurada que se enfoca en los algoritmos, la POO se centra en los datos y busca
adaptarse el lenguaje de programación al problema en lugar de lo contrario

En la POO, los datos y la función se agrupan en unidad llamada objetos. Cada objeto
tienes funciones miembros o métodos que son el único medio para acceder a sus
datos, lo que protege los datos de alteraciones accidentales. Esto se llama
encapsulamiento de datos y ocultamiento de datos.

Un programa en POO este compuesto por una serie de objetos que se comunican entre
si mediante la llamada a funciones miembros, lo que se conoce como “enviar un
mensaje a objeto”. Los objetos se organizan en la jerarquía de clases, donde una clase
es una descripción general del objeto similar

La POO se basa en la creación y la manipulación de objetos que representan entidades


del mundo real. Proporciona ventajas como la reutilización de códigos, la organización
estructurada de programas y la flexibilidad en el manejo de datos y operaciones

Conceptos y características del logaritmo

Un algoritmo es una receta para resolver un problema en una computadora. Es un


conjunto ordenado de pasos que te guía para llevar a una solución. Imagina que eres
un chef y quieres hacer un plato especial. Primero, necesitas una receta (el algoritmo)
que te diga que ingredientes necesitas y como cocinarlos en un orden especifico

El término “algoritmo” proviene de un matemático persa llamado Mohammed al-


khowarimi quien el siglo IX describió pasos para hacer operaciones matemáticas. Algo
asi como un antiguo chef matemático

Un buen programa de computadora se construye siguiendo un buen logaritmo y


organizando los datos de manera adecuada. En otras palabras, Algoritmo + estructura
de datos = programas

Para resolver un problema con una computadora, debes seguir estos pasosa:

1. Diseñar un algoritmo: Esto significa crear una lista clara y sin abigu-edades de los
pasos que llevaran a la solución del problema
2. Convertir el algoritmo en un programa de computadora usando un lenguaje de
programación.
3. Ejecutar y verificar el programa de computadora para asegurarte de que funciona
correctamente

Sin un algoritmo bien pensado, no puedes crear un programa

Lo interesante es que los algoritmos son independientes del lenguaje de


programación o a la computadora que uses. Se puede expresar un algoritmo en
diferentes lenguajes y ejecutarlo en distintas computadoras, pero el proceso será
el mismo. Como cuando una receta de cocina se puede escribir en varios idiomas,
pero los pasos para cocinar el plato son los mismos.

En el mundo de la computadora los algoritmos son mas importante que le lenguaje


de programación o las computadoras en si. Los lenguajes de programación son solo
forma de expresar los algoritmos y las computadoras son herramientas para
ejecutarlos.

Diseñar algoritmo es 8na parte fundamental de la programación y requiere


creatividad y conocimiento técnicos. Básicamente, un algoritmo es la clave para
resolver un programa en la computadora

Características importantes de un algoritmo


 Debe ser preciso y decir exactamente en qué orden hacer cada paso
 Debe estar claramente definido; y si sigues el algoritmo des veces, obtendrás en el
mismo resultado cada vez
 Debe ser infinito lo que significa que en algún momento debe terminar; debe tener
un número limitado de pasos

Un algoritmo es como una receta detallada para resolver problemas en una


computadora, y es esencial para la programación. Debe ser claro, definido y tener un
final

También podría gustarte