SlideShare una empresa de Scribd logo
1 de 5
Descargar para leer sin conexión
EL ALGORITMO COMO ESTRATEGIA Y/O HERRAMIENTA PARA
LA SOLUCIÓN DE PROBLEMAS.
Para desarrollar un algoritmo es importante conocer la metodología para tal
propósito, así mismo identificar cuáles son los elementos primordiales de los que se
conforma.
Todo algoritmo debe ser preciso, finito y definido por lo que su correcto diseño es
vital para lograr tales características.
En el planteamiento de solución de problemas según la naturaleza del problema,
existe la necesidad de manipular datos, en aquellas situaciones de problemas
matemáticos, financieros, etc. Por lo que resulta trascendente conocer los tipos de
datos que son representables en los algoritmos, y que guardan estrecha relación
con los tipos de datos que emplean los lenguajes de programación actuales.
ANÁLISIS PARA LA SOLUCIÓN DE UN PROBLEMA
La primera fase en la resolución de un problema con computadora es el análisis del
problema. Esta fase requiere una clara definición, donde se contemple exactamente
lo que debe hacer el programa y el resultado o solución deseada.
Debido a que se busca una solución por computadora, se precisan especificaciones
detalladas de entrada y salida. Esto se plantea en la siguiente figura.
Para poder definir bien un problema es conveniente responder a las siguientes
preguntas:
TIPOS DE DATOS
El principal objetivo en toda computadora es el manejo de la información o datos.
La mayoría de las computadoras pueden trabajar con varios tipos (modos) de datos.
Señala que la acción de las instrucciones ejecutables de las computadoras se refleja
en cambios en los valores de las partidas de datos. Los datos de entrada se
transforman por el programa, después de las etapas intermedias, en datos de salida.
En el proceso de resolución de problemas el diseño de la estructura de datos es tan
importante como el diseño del algoritmo y del programa que se basa en el mismo.
Existen dos tipos de datos: simples (sin estructura) y compuestos (estructurados).
Los distintos tipos de datos son representados en diferentes formas en la
computadora.
DISEÑO DE UN ALGORITMO
En la etapa de análisis del proceso de programación se determina, ¿qué hace el
programa? En la etapa de diseño se determina cómo hace el programa la tarea
solicitada. Los métodos más eficaces para el proceso de diseño se basan en el
conocido por divide y vencerás. Es decir, la resolución de un problema complejo se
divide en subproblemas y después dividir éstos en otros de nivel más bajo, hasta
que pueda ser implementada una solución en la computadora. Este método se
conoce técnicamente como diseño descendente (top-down) o modular. El proceso
de romper el problema en cada etapa y expresar cada paso en forma más detallada
se denomina refinamiento sucesivo.
Cada subprograma es resuelto mediante un módulo (subprograma) que tiene un
solo punto de entrada y un solo punto de salida.
Cualquier programa bien diseñado consta de un programa principal (el módulo de
nivel más alto) que llama a subprogramas (módulos de nivel más bajo) que a su vez
pueden llamar a otros subprogramas. Los programas estructurados de esta forma
se dice que tienen un diseño modular y el método de romper el programa en
módulos más pequeños se llama programación modular.
Los módulos pueden ser planeados, codificados, comprobados y depurados
independientemente (incluso por diferentes programadores) y a continuación
combinarlos entre sí.
El proceso implica la ejecución de los siguientes pasos hasta que el programa se
termina:
1.- Programar un módulo.
2.- Comprobar el módulo.
3.- Si es necesario, depurar el módulo.
4.- Combinar el módulo con los módulos anteriores.
El proceso que convierte los resultados del análisis del problema en un diseño
modular con refinamientos sucesivos que permitan una posterior traducción a un
lenguaje se denomina diseño del algoritmo. El diseño del algoritmo es independiente
del lenguaje de programación en el que se vaya a codificar posteriormente.
Herramientas de programación.
Las dos herramientas más utilizadas comúnmente para diseñar algoritmos son:
diagramas de flujo y pseudocódigos.
Diagramas de flujo
Un diagrama de flujo (flowchart) es una representación gráfica de un algoritmo.
Los símbolos utilizados en estos diagramas, descritos en lecturas anteriores, han
sido normalizados por el Instituto Norteamericano de Normalización (ANSI).
Pseudocódigo
El pseudocódigo es una herramienta de programación en la que las instrucciones
se escriben en palabras similares al inglés o español, que facilitan tanto la escritura
como la lectura de programas. En esencia, el pseudocódigo se puede definir como
un lenguaje de especificaciones de algoritmos.
TIPOS DE PROGRAMACIÓN
Norton señala que hasta los años setenta, relativamente existía poca estructura en
la escritura de códigos por parte de los programadores. Por ejemplo, los
programadores con frecuencia usaban instrucciones goto para saltar otras partes
de un programa. El problema que presenta esta instrucción es identificar cómo
procede el flujo de control del programa después del salto.
Programación Estructurada
Los investigadores en los años sesenta demostraron que los programas podían
escribirse con tres estructuras de control:
La estructura de la secuencia define el flujo de control automático en un programa,
la cual se construye en lenguaje de programación. Como resultado, una
computadora ejecuta líneas de código en el orden en el cual están escritas.
La figura muestra un diagrama de este flujo de secuencia.
Las estructuras de selección se construyen con base en una declaración
condicional. Si ésta es verdadera, ciertas líneas de código son ejecutadas. Si por el
contrario, es falsa, esas líneas de código no son ejecutadas. Las estructuras de
selección más comunes son: if-then e if-else (llamada algunas veces como if-then-
else.
Las estructuras de repetición (o de ciclo) también se construyen con base en
instrucciones condicionales. Si la condición es verdadera entonces un bloque de
uno o más comandos se repite hasta que la condición es falsa. La computadora
primero valida la condición y, si es verdadera, ejecuta el bloque de comando una
vez. Entonces prueba la condición otra vez. Si aún es verdadera, el bloque de
comando se repite. Debido a este funcionamiento cíclico, las estructuras de
repetición son llamadas también ciclos. Tres estructuras cíclicas comunes son: For-
Next, While y Do-While.
Programación Orientada a Objetos.
Norton, señala que los programadores afirman que una orientación a objetos es una
manera natural de pensar acerca del mundo, ya que es una manera intuitiva para
moldear el mundo, los programas se vuelven más simples, la programación más
rápida, y el problema de mantenimiento al programa disminuye.
Concluye que las tecnologías orientadas a objetos, han evolucionado mucho pero
mantiene la razón de ser del paradigma: combinación de la descripción de los
elementos en un entorno de proceso de datos con las acciones ejecutadas por esos
elementos. Las clases y objetos como instancias o ejemplares de ellas son los
elementos claves sobre los que se articula la orientación a objetos.
Cualquier programa orientado a objetos puede manejar muchos objetos. Por
ejemplo, un programa que lleva el inventario de un almacén de ventas al por menor,
utiliza un objeto de cada producto manipulado en el almacén. El programa manipula
los mismos datos de cada objeto, incluyendo el número de producto, descripción
del producto, precio, número de artículos del stock y el momento de nuevos pedidos.
Antes de que un programa pueda crear objetos de cualquier clase, ésta debe ser
definida. La definición de una clase significa que se debe dar a la misma un nombre,
darle nombre a los elementos que almacenan sus datos y describir las funciones
que realizarán las acciones consideradas en los objetos.

Más contenido relacionado

La actualidad más candente

Cuadro comparativo tipos de busquedas en IA
Cuadro comparativo tipos de busquedas en IACuadro comparativo tipos de busquedas en IA
Cuadro comparativo tipos de busquedas en IAluisilva18
 
Numeros Pseudo-aleatorios y variables aleatorias
Numeros Pseudo-aleatorios y variables aleatoriasNumeros Pseudo-aleatorios y variables aleatorias
Numeros Pseudo-aleatorios y variables aleatoriasAlberto Carranza Garcia
 
Informatica II - 2 Metodologia de Solucion de Problemas
Informatica II - 2 Metodologia de Solucion de ProblemasInformatica II - 2 Metodologia de Solucion de Problemas
Informatica II - 2 Metodologia de Solucion de ProblemasGabriel Ruiz
 
Metodología para la solución de problemas con el uso de algoritmos
Metodología para la solución de problemas con el uso de algoritmosMetodología para la solución de problemas con el uso de algoritmos
Metodología para la solución de problemas con el uso de algoritmosIEO Santo Tomás
 
Modelo de desarrollo de software
Modelo de desarrollo de softwareModelo de desarrollo de software
Modelo de desarrollo de softwareYaskelly Yedra
 
Metodologia xp cortesserranoeliud
Metodologia xp cortesserranoeliudMetodologia xp cortesserranoeliud
Metodologia xp cortesserranoeliudEliud Cortes
 
Modelo espiral de boehm CALIDAD DE SOFTWARE
Modelo espiral de  boehm CALIDAD DE SOFTWAREModelo espiral de  boehm CALIDAD DE SOFTWARE
Modelo espiral de boehm CALIDAD DE SOFTWAREJhOnss KrIollo
 
METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS
METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMASMETODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS
METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMASadark
 
Sesión 3: Modelos prescriptivos de proceso
Sesión 3: Modelos prescriptivos de procesoSesión 3: Modelos prescriptivos de proceso
Sesión 3: Modelos prescriptivos de procesoCoesi Consultoria
 
Paradigmas de programacion
Paradigmas de programacion Paradigmas de programacion
Paradigmas de programacion Anel Sosa
 
Metodologia rup
Metodologia rupMetodologia rup
Metodologia rupmireya2022
 

La actualidad más candente (20)

Cuadro comparativo tipos de busquedas en IA
Cuadro comparativo tipos de busquedas en IACuadro comparativo tipos de busquedas en IA
Cuadro comparativo tipos de busquedas en IA
 
Numeros Pseudo-aleatorios y variables aleatorias
Numeros Pseudo-aleatorios y variables aleatoriasNumeros Pseudo-aleatorios y variables aleatorias
Numeros Pseudo-aleatorios y variables aleatorias
 
Recursividad directa e indirecta
Recursividad directa e indirectaRecursividad directa e indirecta
Recursividad directa e indirecta
 
Informatica II - 2 Metodologia de Solucion de Problemas
Informatica II - 2 Metodologia de Solucion de ProblemasInformatica II - 2 Metodologia de Solucion de Problemas
Informatica II - 2 Metodologia de Solucion de Problemas
 
Metodología para la solución de problemas con el uso de algoritmos
Metodología para la solución de problemas con el uso de algoritmosMetodología para la solución de problemas con el uso de algoritmos
Metodología para la solución de problemas con el uso de algoritmos
 
Modelo de desarrollo de software
Modelo de desarrollo de softwareModelo de desarrollo de software
Modelo de desarrollo de software
 
Metodologia xp cortesserranoeliud
Metodologia xp cortesserranoeliudMetodologia xp cortesserranoeliud
Metodologia xp cortesserranoeliud
 
Metodología Clásica
Metodología ClásicaMetodología Clásica
Metodología Clásica
 
Fundamentos de ingenieria del software (2)
Fundamentos de ingenieria del software (2)Fundamentos de ingenieria del software (2)
Fundamentos de ingenieria del software (2)
 
Modelo espiral de boehm CALIDAD DE SOFTWARE
Modelo espiral de  boehm CALIDAD DE SOFTWAREModelo espiral de  boehm CALIDAD DE SOFTWARE
Modelo espiral de boehm CALIDAD DE SOFTWARE
 
Roles desarrollo del software
Roles desarrollo del softwareRoles desarrollo del software
Roles desarrollo del software
 
METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS
METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMASMETODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS
METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS
 
Sesión 3: Modelos prescriptivos de proceso
Sesión 3: Modelos prescriptivos de procesoSesión 3: Modelos prescriptivos de proceso
Sesión 3: Modelos prescriptivos de proceso
 
Paradigmas de programacion
Paradigmas de programacion Paradigmas de programacion
Paradigmas de programacion
 
Programacion Modular
Programacion ModularProgramacion Modular
Programacion Modular
 
Lenguajes de simulación
Lenguajes de simulaciónLenguajes de simulación
Lenguajes de simulación
 
Metodologia rup
Metodologia rupMetodologia rup
Metodologia rup
 
Modelo evolutivo
Modelo evolutivoModelo evolutivo
Modelo evolutivo
 
Modelo v y cascada
Modelo v y cascadaModelo v y cascada
Modelo v y cascada
 
Fundamentos de Programacion - Unidad 2 Algoritmos
Fundamentos de Programacion - Unidad 2 AlgoritmosFundamentos de Programacion - Unidad 2 Algoritmos
Fundamentos de Programacion - Unidad 2 Algoritmos
 

Similar a El algoritmo como estrategia para la solución de problemas

Introducción a la Programación
Introducción a la ProgramaciónIntroducción a la Programación
Introducción a la ProgramaciónPablo Parola
 
Introducción A La Programación
Introducción A La ProgramaciónIntroducción A La Programación
Introducción A La ProgramaciónPablo Parola
 
Lenguajes de programación parte i.3
Lenguajes de programación parte i.3Lenguajes de programación parte i.3
Lenguajes de programación parte i.3Marquina, Santiago
 
Fases de programacion
Fases de programacionFases de programacion
Fases de programacionbrayan_2012
 
Diagramas de flujo
Diagramas de flujoDiagramas de flujo
Diagramas de flujocasdilacol
 
Conceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programaciónConceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programaciónjusto morales
 
Fpr Tema 1 www.fresymetal.com
Fpr Tema 1 www.fresymetal.comFpr Tema 1 www.fresymetal.com
Fpr Tema 1 www.fresymetal.comFresyMetal
 
Algoritmos diagrama-de-flujo
Algoritmos diagrama-de-flujoAlgoritmos diagrama-de-flujo
Algoritmos diagrama-de-flujocognos_uie
 
Resolver problemas con_una_computadora
Resolver problemas con_una_computadoraResolver problemas con_una_computadora
Resolver problemas con_una_computadoraFaridCastillo2
 
Resolver problemas con_una_computadora
Resolver problemas con_una_computadoraResolver problemas con_una_computadora
Resolver problemas con_una_computadoraJulioVizcarra5
 
Principios de programacion
Principios de programacionPrincipios de programacion
Principios de programacionrulo182
 

Similar a El algoritmo como estrategia para la solución de problemas (20)

Modulo 1 algoritmo
Modulo 1 algoritmoModulo 1 algoritmo
Modulo 1 algoritmo
 
Modulo 1 algoritmo
Modulo 1 algoritmoModulo 1 algoritmo
Modulo 1 algoritmo
 
Introducción a la Programación
Introducción a la ProgramaciónIntroducción a la Programación
Introducción a la Programación
 
Introducción A La Programación
Introducción A La ProgramaciónIntroducción A La Programación
Introducción A La Programación
 
Lenguajes de programación parte i.3
Lenguajes de programación parte i.3Lenguajes de programación parte i.3
Lenguajes de programación parte i.3
 
ALGORITMOS
ALGORITMOS ALGORITMOS
ALGORITMOS
 
Fases de programacion
Fases de programacionFases de programacion
Fases de programacion
 
Diagramas de flujo
Diagramas de flujoDiagramas de flujo
Diagramas de flujo
 
Algoritmos y programacion
Algoritmos y programacionAlgoritmos y programacion
Algoritmos y programacion
 
Conceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programaciónConceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programación
 
Fpr Tema 1 www.fresymetal.com
Fpr Tema 1 www.fresymetal.comFpr Tema 1 www.fresymetal.com
Fpr Tema 1 www.fresymetal.com
 
Algoritmos primero
Algoritmos primeroAlgoritmos primero
Algoritmos primero
 
Java y conceptos de apoyo
Java y conceptos de apoyoJava y conceptos de apoyo
Java y conceptos de apoyo
 
Resolucion de problemas
Resolucion de problemasResolucion de problemas
Resolucion de problemas
 
Las fases de la programación
Las fases de la programaciónLas fases de la programación
Las fases de la programación
 
Clase 1 lógica de programación
Clase 1 lógica de programaciónClase 1 lógica de programación
Clase 1 lógica de programación
 
Algoritmos diagrama-de-flujo
Algoritmos diagrama-de-flujoAlgoritmos diagrama-de-flujo
Algoritmos diagrama-de-flujo
 
Resolver problemas con_una_computadora
Resolver problemas con_una_computadoraResolver problemas con_una_computadora
Resolver problemas con_una_computadora
 
Resolver problemas con_una_computadora
Resolver problemas con_una_computadoraResolver problemas con_una_computadora
Resolver problemas con_una_computadora
 
Principios de programacion
Principios de programacionPrincipios de programacion
Principios de programacion
 

Último

Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 

Último (20)

Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 

El algoritmo como estrategia para la solución de problemas

  • 1. EL ALGORITMO COMO ESTRATEGIA Y/O HERRAMIENTA PARA LA SOLUCIÓN DE PROBLEMAS. Para desarrollar un algoritmo es importante conocer la metodología para tal propósito, así mismo identificar cuáles son los elementos primordiales de los que se conforma. Todo algoritmo debe ser preciso, finito y definido por lo que su correcto diseño es vital para lograr tales características. En el planteamiento de solución de problemas según la naturaleza del problema, existe la necesidad de manipular datos, en aquellas situaciones de problemas matemáticos, financieros, etc. Por lo que resulta trascendente conocer los tipos de datos que son representables en los algoritmos, y que guardan estrecha relación con los tipos de datos que emplean los lenguajes de programación actuales. ANÁLISIS PARA LA SOLUCIÓN DE UN PROBLEMA La primera fase en la resolución de un problema con computadora es el análisis del problema. Esta fase requiere una clara definición, donde se contemple exactamente lo que debe hacer el programa y el resultado o solución deseada. Debido a que se busca una solución por computadora, se precisan especificaciones detalladas de entrada y salida. Esto se plantea en la siguiente figura. Para poder definir bien un problema es conveniente responder a las siguientes preguntas:
  • 2. TIPOS DE DATOS El principal objetivo en toda computadora es el manejo de la información o datos. La mayoría de las computadoras pueden trabajar con varios tipos (modos) de datos. Señala que la acción de las instrucciones ejecutables de las computadoras se refleja en cambios en los valores de las partidas de datos. Los datos de entrada se transforman por el programa, después de las etapas intermedias, en datos de salida. En el proceso de resolución de problemas el diseño de la estructura de datos es tan importante como el diseño del algoritmo y del programa que se basa en el mismo. Existen dos tipos de datos: simples (sin estructura) y compuestos (estructurados). Los distintos tipos de datos son representados en diferentes formas en la computadora. DISEÑO DE UN ALGORITMO En la etapa de análisis del proceso de programación se determina, ¿qué hace el programa? En la etapa de diseño se determina cómo hace el programa la tarea solicitada. Los métodos más eficaces para el proceso de diseño se basan en el conocido por divide y vencerás. Es decir, la resolución de un problema complejo se divide en subproblemas y después dividir éstos en otros de nivel más bajo, hasta que pueda ser implementada una solución en la computadora. Este método se conoce técnicamente como diseño descendente (top-down) o modular. El proceso de romper el problema en cada etapa y expresar cada paso en forma más detallada se denomina refinamiento sucesivo. Cada subprograma es resuelto mediante un módulo (subprograma) que tiene un solo punto de entrada y un solo punto de salida. Cualquier programa bien diseñado consta de un programa principal (el módulo de nivel más alto) que llama a subprogramas (módulos de nivel más bajo) que a su vez pueden llamar a otros subprogramas. Los programas estructurados de esta forma se dice que tienen un diseño modular y el método de romper el programa en módulos más pequeños se llama programación modular. Los módulos pueden ser planeados, codificados, comprobados y depurados independientemente (incluso por diferentes programadores) y a continuación combinarlos entre sí.
  • 3. El proceso implica la ejecución de los siguientes pasos hasta que el programa se termina: 1.- Programar un módulo. 2.- Comprobar el módulo. 3.- Si es necesario, depurar el módulo. 4.- Combinar el módulo con los módulos anteriores. El proceso que convierte los resultados del análisis del problema en un diseño modular con refinamientos sucesivos que permitan una posterior traducción a un lenguaje se denomina diseño del algoritmo. El diseño del algoritmo es independiente del lenguaje de programación en el que se vaya a codificar posteriormente. Herramientas de programación. Las dos herramientas más utilizadas comúnmente para diseñar algoritmos son: diagramas de flujo y pseudocódigos. Diagramas de flujo Un diagrama de flujo (flowchart) es una representación gráfica de un algoritmo. Los símbolos utilizados en estos diagramas, descritos en lecturas anteriores, han sido normalizados por el Instituto Norteamericano de Normalización (ANSI). Pseudocódigo El pseudocódigo es una herramienta de programación en la que las instrucciones se escriben en palabras similares al inglés o español, que facilitan tanto la escritura como la lectura de programas. En esencia, el pseudocódigo se puede definir como un lenguaje de especificaciones de algoritmos. TIPOS DE PROGRAMACIÓN Norton señala que hasta los años setenta, relativamente existía poca estructura en la escritura de códigos por parte de los programadores. Por ejemplo, los programadores con frecuencia usaban instrucciones goto para saltar otras partes de un programa. El problema que presenta esta instrucción es identificar cómo procede el flujo de control del programa después del salto.
  • 4. Programación Estructurada Los investigadores en los años sesenta demostraron que los programas podían escribirse con tres estructuras de control: La estructura de la secuencia define el flujo de control automático en un programa, la cual se construye en lenguaje de programación. Como resultado, una computadora ejecuta líneas de código en el orden en el cual están escritas. La figura muestra un diagrama de este flujo de secuencia. Las estructuras de selección se construyen con base en una declaración condicional. Si ésta es verdadera, ciertas líneas de código son ejecutadas. Si por el contrario, es falsa, esas líneas de código no son ejecutadas. Las estructuras de selección más comunes son: if-then e if-else (llamada algunas veces como if-then- else. Las estructuras de repetición (o de ciclo) también se construyen con base en instrucciones condicionales. Si la condición es verdadera entonces un bloque de uno o más comandos se repite hasta que la condición es falsa. La computadora primero valida la condición y, si es verdadera, ejecuta el bloque de comando una vez. Entonces prueba la condición otra vez. Si aún es verdadera, el bloque de comando se repite. Debido a este funcionamiento cíclico, las estructuras de repetición son llamadas también ciclos. Tres estructuras cíclicas comunes son: For- Next, While y Do-While. Programación Orientada a Objetos. Norton, señala que los programadores afirman que una orientación a objetos es una manera natural de pensar acerca del mundo, ya que es una manera intuitiva para moldear el mundo, los programas se vuelven más simples, la programación más rápida, y el problema de mantenimiento al programa disminuye. Concluye que las tecnologías orientadas a objetos, han evolucionado mucho pero mantiene la razón de ser del paradigma: combinación de la descripción de los elementos en un entorno de proceso de datos con las acciones ejecutadas por esos elementos. Las clases y objetos como instancias o ejemplares de ellas son los elementos claves sobre los que se articula la orientación a objetos.
  • 5. Cualquier programa orientado a objetos puede manejar muchos objetos. Por ejemplo, un programa que lleva el inventario de un almacén de ventas al por menor, utiliza un objeto de cada producto manipulado en el almacén. El programa manipula los mismos datos de cada objeto, incluyendo el número de producto, descripción del producto, precio, número de artículos del stock y el momento de nuevos pedidos. Antes de que un programa pueda crear objetos de cualquier clase, ésta debe ser definida. La definición de una clase significa que se debe dar a la misma un nombre, darle nombre a los elementos que almacenan sus datos y describir las funciones que realizarán las acciones consideradas en los objetos.