SlideShare una empresa de Scribd logo
1 de 21
2.3 DEFINICIÓN DE LENGUAJES ALGORÍTMICOS METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS
Elementos y reglas de la representación gráfica y manuscrita de los algoritmos Características de los algoritmos Las características fundamentales que debe cumplir todo algoritmo son: Un algoritmo debe ser preciso e indicar el orden de realización de cada paso.  Un algoritmo debe estar definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo resultado cada vez. Un algoritmo debe ser finito. Si se sigue un algoritmo, se debe terminar en algún momento; o sea debe tener un número finito de pasos. La definición de un algoritmo debe describir tres partes: Entrada, Proceso y Salida.
Elementos y reglas de la representación gráfica y manuscrita de los algoritmos Ejemplo 4:   En un algoritmo de receta de cocina se tiene que:   Entrada: 	Ingredientes y utensilios empleados.   Proceso: 	Elaboración de la receta de cocina. Salida: 	Terminación del platillo, por ejemplo enchiladas.   Fin del ejemplo 4
Elementos y reglas de la representación gráfica y manuscrita de los algoritmos Ejemplo 5:  	Un cliente ejecuta un pedido a una fábrica. La fábrica examina en su base de datos la ficha del cliente, si el cliente es solvente entonces la empresa acepta el pedido; en caso contrario, rechazará el pedido. Redactar el algoritmo correspondiente.  Solución:  Los pasos del algoritmo son:   Inicio Leer el pedido Examinar la ficha del cliente Si el cliente es solvente, aceptar pedido; en caso contrario, rechazar pedido. Fin   Fin del ejemplo 5.
Elementos y reglas de la representación gráfica y manuscrita de los algoritmos Ejemplo 6 Se desea diseñar un algoritmo para saber si un número es primo o no.  	Un número es primo si sólo puede dividirse entre sí mismo y entre la unidad, es decir, no tiene más divisores que él mismo y la unidad. Por ejemplo, 9, 8  6, 4, 12, 16, 20 no son primos, ya que son divisibles pro números distintos a ellos mismos y a la unidad. El 9 es divisible entre 3, el 8 es divisible entre 2 y entre 4, etc.  Solución: Inicio Hacer X igual a 2  (X = 2, X variable que representa a los divisores del número N que se busca) Dividir N entre X (N/X) Si el resultado de N/X es entero, entonces N no es un número primo y continuar con el paso 7; en caso contrario, continuar con el siguiente paso. Sumar 1 a X (X = X+1) Si X es igual a N, entonces N es un número primo; en caso contrario, continuar con el paso 3. Fin.   Fin del ejemplo 6.
Elementos y reglas de la representación gráfica y manuscrita de los algoritmos Diseño de un algoritmo Una computadora no tiene capacidad para solucionar problemas a menos de que se le proporcionen los pasos sucesivos a realizar. Estos pasos sucesivos que indican las instrucciones a ejecutar constituyen, como ya se mencionó, el algoritmo. La información proporcionada al algoritmo constituye su entrada y la información producida por el algoritmo constituye su salida.   Los problemas complejos pueden resolverse más eficazmente con la computadora cuando se divide en subproblemas que sean más fáciles de solucionar que el problema original. Este método suele denominarse “divide y vencerás”, y consiste en dividir el problema complejo en otros más simples.
Elementos y reglas de la representación gráfica y manuscrita de los algoritmos Ejemplo 7: 	Un problema que pretende encontrar el perímetro y el área de un círculo puede dividirse en tres problemas más simples, como se muestra en la siguiente figura:
Elementos y reglas de la representación gráfica y manuscrita de los algoritmos 	La descomposición del problema original en subproblemas más simples y a continuación dividir estos subproblemas en otros más simples que pueden implementarse para su solución en la computadora se denomina diseño descendente (top-downdesign). Normalmente los pasos diseñados en el primer esbozo del algoritmo son incompletos e indican sólo unos pocos pasos (un máximo de doce). Tras esta primera descripción, estos se amplían en una descripción más detallada con más pasos específicos. Este proceso se denomina refinamiento del algoritmo (stepwiserefinement). Para problemas complejos se necesitan con frecuencia diferentes niveles de refinamiento antes de que se pueda obtener un algoritmo claro, preciso y completo.   	El problema de cálculo del perímetro y área del círculo se puede descomponer en subproblemas más simples:   Leer datos de entrada Calcular el perímetro y área del círculo Escribir resultados (datos de salida)
Elementos y reglas de la representación gráfica y manuscrita de los algoritmos Las ventajas más importantes del diseño descendente son: ,[object Object]
Las modificaciones en los módulos son más fáciles.
La comprobación del problema se puede verificar fácilmente.  	Tras los pasos anteriores (diseño descendente y refinamiento sucesivo por pasos) es preciso representar el algoritmo mediante  una determinada herramienta de programación: diagrama de flujo, pseudocódigo o diagrama N-S.
Elementos y reglas de la representación gráfica y manuscrita de los algoritmos Diagramas de flujo Un diagrama de flujo (flowchart) es una de las técnicas de representación del algoritmo más antigua y a la vez más utilizada, aunque su empleo ha disminuido considerablemente, sobre todo desde la aparición de lenguajes de programación estructurados. Símbolos de diagramas de flujo
Elementos y reglas de la representación gráfica y manuscrita de los algoritmos Símbolos de diagramas de flujo
Elementos y reglas de la representación gráfica y manuscrita de los algoritmos ,[object Object],[object Object]
Elementos y reglas de la representación gráfica y manuscrita de los algoritmos Diagrama de flujo Fin del ejemplo 8
Elementos y reglas de la representación gráfica y manuscrita de los algoritmos Pseudocódigo El pseudocódigo es en lenguaje de especificación de algoritmos. El uso de tal lenguaje hace el paso de codificación final (esto es, la traducción a un lenguaje de programación) relativamente fácil.   	El pseudocódigo nació como un lenguaje similar al inglés y era un medio de representar básicamente las estructuras de  control de programación estructurada.    	El pseudocódigo original utiliza para representar las acciones sucesivas palabras reservadas en inglés, similares a sus homónimos en lenguajes de programación, tales como start, end, stop, if-then-else, repeat-until, etc. La escritura de pseudocódigo exige normalmente la indentación (sangría en el margen izquierdo) de diferentes líneas.
Elementos y reglas de la representación gráfica y manuscrita de los algoritmos Pseudocódigo Ejemplo 9: El pseudocódigo correspondiente al diagrama de flujo del ejemplo 2.3.3 es el siguiente:   Start 	/ cálculo de impuesto y salarios read HORAS, PRECIO_HORA, NOMBRE if HORAS >= 40 then 		SALARIO= HORAS * PRECIO_HORA else 		SALARIO=40*PRECIO_HORA + 1.5*PRECIO_HORA*(HORAS –40) endif Write SALARIO   end fin del ejemplo 9.
Elementos y reglas de la representación gráfica y manuscrita de los algoritmos Pseudocódigo 	El algoritmo comienza con la palabra start y finaliza con la palabra end, en inglés (en español, inicio, fin). Entre  estas palabras, sólo se escribe una instrucción o acción por línea. 	La línea precedida por // se denomina comentario. Es una información para el lector del programa y no realiza ninguna instrucción ejecutable, sólo tiene efecto  de documentación interna del programa.
Elementos y reglas de la representación gráfica y manuscrita de los algoritmos Diagramas de Nassi-Scheneiderman (N-S) El diagrama N-S de Nassi-Schneiderman, también conocido como diagrama de Chapin, es como un diagrama de flujo en el que se omiten las flechas de unión y las cajas son contiguas. Las acciones sucesivas se escriben en cajas sucesivas y, como en los diagramas de flujo, se pueden escribir diferentes acciones en una misma caja. Un algoritmo se representa con un rectángulo en el que cada banda es una acción a realizar:
Elementos y reglas de la representación gráfica y manuscrita de los algoritmos Ejemplo 10:
Elementos y reglas de la representación gráfica y manuscrita de los algoritmos Otro ejemplo es la representación de la estructura condicional:

Más contenido relacionado

La actualidad más candente

Substancias químicas peligrosas y vías de incorporación
Substancias químicas peligrosas y vías de incorporación Substancias químicas peligrosas y vías de incorporación
Substancias químicas peligrosas y vías de incorporación
ztharziitha1
 
Métodos para planeación agregada
Métodos para planeación agregadaMétodos para planeación agregada
Métodos para planeación agregada
Alan Bringas
 
Procesos de manufactura. trabajo
Procesos de manufactura. trabajoProcesos de manufactura. trabajo
Procesos de manufactura. trabajo
Tiana_Leal
 
Diseño y selección de herramientas
Diseño y selección de herramientasDiseño y selección de herramientas
Diseño y selección de herramientas
Rafael Vera
 

La actualidad más candente (20)

Optimizacion de redes
Optimizacion de redesOptimizacion de redes
Optimizacion de redes
 
Algoritmos y-diagramacion
Algoritmos y-diagramacionAlgoritmos y-diagramacion
Algoritmos y-diagramacion
 
Substancias químicas peligrosas y vías de incorporación
Substancias químicas peligrosas y vías de incorporación Substancias químicas peligrosas y vías de incorporación
Substancias químicas peligrosas y vías de incorporación
 
Metodologia jenkins
Metodologia jenkinsMetodologia jenkins
Metodologia jenkins
 
Algoritmos y metodología para la solución de problemas
Algoritmos y metodología para la solución de problemasAlgoritmos y metodología para la solución de problemas
Algoritmos y metodología para la solución de problemas
 
Ejemplo de-simulación-continua
Ejemplo de-simulación-continuaEjemplo de-simulación-continua
Ejemplo de-simulación-continua
 
Lenguajes de simulación
Lenguajes de simulaciónLenguajes de simulación
Lenguajes de simulación
 
Bottom up
Bottom upBottom up
Bottom up
 
tableros ergonomia
tableros ergonomiatableros ergonomia
tableros ergonomia
 
Logica Difusa Introduccion
Logica Difusa IntroduccionLogica Difusa Introduccion
Logica Difusa Introduccion
 
1.2 funciones y objetivos de la mercadotecnia. wordpptx
1.2 funciones y objetivos de la mercadotecnia. wordpptx1.2 funciones y objetivos de la mercadotecnia. wordpptx
1.2 funciones y objetivos de la mercadotecnia. wordpptx
 
Métodos para planeación agregada
Métodos para planeación agregadaMétodos para planeación agregada
Métodos para planeación agregada
 
Beneficio de la investigación de operaciones
Beneficio de la investigación de operacionesBeneficio de la investigación de operaciones
Beneficio de la investigación de operaciones
 
Most
MostMost
Most
 
TRATADOS INTERNACIONALES FIRMADOS POR MÉXICO (ONU, OEA, OIT, TRATADOS INTERNA...
TRATADOS INTERNACIONALES FIRMADOS POR MÉXICO (ONU, OEA, OIT, TRATADOS INTERNA...TRATADOS INTERNACIONALES FIRMADOS POR MÉXICO (ONU, OEA, OIT, TRATADOS INTERNA...
TRATADOS INTERNACIONALES FIRMADOS POR MÉXICO (ONU, OEA, OIT, TRATADOS INTERNA...
 
Análisis de la operación (los diez enfoques primarios) 2
Análisis de la operación (los diez enfoques primarios)  2Análisis de la operación (los diez enfoques primarios)  2
Análisis de la operación (los diez enfoques primarios) 2
 
Presentacion programacion dinamica
Presentacion programacion dinamicaPresentacion programacion dinamica
Presentacion programacion dinamica
 
Tecnicas y limitaciones de la investigacion de operaciones
Tecnicas y limitaciones de la investigacion de operacionesTecnicas y limitaciones de la investigacion de operaciones
Tecnicas y limitaciones de la investigacion de operaciones
 
Procesos de manufactura. trabajo
Procesos de manufactura. trabajoProcesos de manufactura. trabajo
Procesos de manufactura. trabajo
 
Diseño y selección de herramientas
Diseño y selección de herramientasDiseño y selección de herramientas
Diseño y selección de herramientas
 

Destacado

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
Gabriel Ruiz
 
Modelo top down
Modelo top downModelo top down
Modelo top down
niazuluaga
 
Pasos para la solución de un problema por computador
Pasos para la solución de un problema por computadorPasos para la solución de un problema por computador
Pasos para la solución de un problema por computador
gisseparrav
 
Lógica y Algoritmos 4. estructuras secuenciales y selectivas
Lógica y Algoritmos 4. estructuras secuenciales y selectivasLógica y Algoritmos 4. estructuras secuenciales y selectivas
Lógica y Algoritmos 4. estructuras secuenciales y selectivas
Edward Ropero
 
DiseñO Del Software E IngenieríA Del Software
DiseñO Del Software E IngenieríA Del SoftwareDiseñO Del Software E IngenieríA Del Software
DiseñO Del Software E IngenieríA Del Software
lcastillo110
 
Método De Solución De Problemas
Método De Solución De ProblemasMétodo De Solución De Problemas
Método De Solución De Problemas
Priscilla Najera
 

Destacado (20)

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
 
Algoritmo Secuenciales
Algoritmo SecuencialesAlgoritmo Secuenciales
Algoritmo Secuenciales
 
Algoritmo Repetitivo
Algoritmo RepetitivoAlgoritmo Repetitivo
Algoritmo Repetitivo
 
Desarrollo de lógica algorítmica
Desarrollo de lógica algorítmicaDesarrollo de lógica algorítmica
Desarrollo de lógica algorítmica
 
Top down
Top downTop down
Top down
 
Diseño de Software
Diseño de SoftwareDiseño de Software
Diseño de Software
 
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
 
Algoritmos y su representación
Algoritmos y  su representaciónAlgoritmos y  su representación
Algoritmos y su representación
 
Resolucion De Problemas Con Computadora
Resolucion De Problemas Con ComputadoraResolucion De Problemas Con Computadora
Resolucion De Problemas Con Computadora
 
Tecnica top down
Tecnica top downTecnica top down
Tecnica top down
 
Modelo top down
Modelo top downModelo top down
Modelo top down
 
Pasos para la solución de un problema por computador
Pasos para la solución de un problema por computadorPasos para la solución de un problema por computador
Pasos para la solución de un problema por computador
 
Top down y bottom up
Top down y bottom upTop down y bottom up
Top down y bottom up
 
Representación gráfica de los algoritmos.
Representación gráfica de los algoritmos. Representación gráfica de los algoritmos.
Representación gráfica de los algoritmos.
 
Lógica y Algoritmos 4. estructuras secuenciales y selectivas
Lógica y Algoritmos 4. estructuras secuenciales y selectivasLógica y Algoritmos 4. estructuras secuenciales y selectivas
Lógica y Algoritmos 4. estructuras secuenciales y selectivas
 
Algoritmos Y Programas Unidad1
Algoritmos Y  Programas Unidad1Algoritmos Y  Programas Unidad1
Algoritmos Y Programas Unidad1
 
DiseñO Del Software E IngenieríA Del Software
DiseñO Del Software E IngenieríA Del SoftwareDiseñO Del Software E IngenieríA Del Software
DiseñO Del Software E IngenieríA Del Software
 
DISEÑO DE LA ARQUITECTURA DEL SOFTWARE
DISEÑO DE LA ARQUITECTURA DEL SOFTWAREDISEÑO DE LA ARQUITECTURA DEL SOFTWARE
DISEÑO DE LA ARQUITECTURA DEL SOFTWARE
 
Pseudocódigo
PseudocódigoPseudocódigo
Pseudocódigo
 
Método De Solución De Problemas
Método De Solución De ProblemasMétodo De Solución De Problemas
Método De Solución De Problemas
 

Similar a DEFINICIÓN DE LENGUAJES ALGORÍTMICOS

5. Diseño de un algoritmo
5. Diseño de un algoritmo5. Diseño de un algoritmo
5. Diseño de un algoritmo
rcarrerah
 
Tarea2
Tarea2Tarea2
Tarea2
Ivan G
 
Algoritmos y clase
Algoritmos y claseAlgoritmos y clase
Algoritmos y clase
daosma
 
Algoritmos y diagramas_de_flujo
Algoritmos y diagramas_de_flujoAlgoritmos y diagramas_de_flujo
Algoritmos y diagramas_de_flujo
Clariza
 
Desarrollo de un programa.
Desarrollo de un programa.Desarrollo de un programa.
Desarrollo de un programa.
Sam Arr
 

Similar a DEFINICIÓN DE LENGUAJES ALGORÍTMICOS (20)

Desarrollo de lógica algorítmica_PARTE 1.PPTX
Desarrollo de lógica algorítmica_PARTE 1.PPTXDesarrollo de lógica algorítmica_PARTE 1.PPTX
Desarrollo de lógica algorítmica_PARTE 1.PPTX
 
5. Diseño de un algoritmo
5. Diseño de un algoritmo5. Diseño de un algoritmo
5. Diseño de un algoritmo
 
Tarea2
Tarea2Tarea2
Tarea2
 
Diseño de pseudocodigo
Diseño de pseudocodigoDiseño de pseudocodigo
Diseño de pseudocodigo
 
Algoritmos y programas estructuras
Algoritmos y programas estructurasAlgoritmos y programas estructuras
Algoritmos y programas estructuras
 
Dfd
DfdDfd
Dfd
 
Unmsm01 2008
Unmsm01 2008Unmsm01 2008
Unmsm01 2008
 
Tema n° 1
Tema n° 1Tema n° 1
Tema n° 1
 
Etapas del desarrolo de un programa
Etapas del desarrolo de un programaEtapas del desarrolo de un programa
Etapas del desarrolo de un programa
 
Algoritmos y clase
Algoritmos y claseAlgoritmos y clase
Algoritmos y clase
 
Vivi Reinoso
Vivi ReinosoVivi Reinoso
Vivi Reinoso
 
Algoritmos y diagramas_de_flujo
Algoritmos y diagramas_de_flujoAlgoritmos y diagramas_de_flujo
Algoritmos y diagramas_de_flujo
 
01_IntroduccionAlgoritmos (1).pdf
01_IntroduccionAlgoritmos (1).pdf01_IntroduccionAlgoritmos (1).pdf
01_IntroduccionAlgoritmos (1).pdf
 
Resolución de problemas y algoritmo
Resolución de problemas y algoritmoResolución de problemas y algoritmo
Resolución de problemas y algoritmo
 
Desarrollo de un programa.
Desarrollo de un programa.Desarrollo de un programa.
Desarrollo de un programa.
 
Diagramas de flujo
Diagramas de flujoDiagramas de flujo
Diagramas de flujo
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Algoritmos con decisiones.pptx
Algoritmos con decisiones.pptxAlgoritmos con decisiones.pptx
Algoritmos con decisiones.pptx
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 

Más de adark

Funciones
FuncionesFunciones
Funciones
adark
 
CONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADO
CONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADOCONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADO
CONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADO
adark
 
estructuras de repeticion
estructuras de repeticionestructuras de repeticion
estructuras de repeticion
adark
 
EJERCICIO Diagrama de Flujo
EJERCICIO Diagrama de FlujoEJERCICIO Diagrama de Flujo
EJERCICIO Diagrama de Flujo
adark
 
1.1 Nuevas Tecnologias de la Informacion.
1.1 Nuevas Tecnologias de la Informacion.1.1 Nuevas Tecnologias de la Informacion.
1.1 Nuevas Tecnologias de la Informacion.
adark
 
1.2 Elementos de un sistema computacional.
1.2 Elementos de un sistema computacional.1.2 Elementos de un sistema computacional.
1.2 Elementos de un sistema computacional.
adark
 
1.3 Clasificacion de los sistemas operativos.
1.3 Clasificacion de los sistemas operativos.1.3 Clasificacion de los sistemas operativos.
1.3 Clasificacion de los sistemas operativos.
adark
 
1.4 Paqueteria de Software.
1.4 Paqueteria de Software.1.4 Paqueteria de Software.
1.4 Paqueteria de Software.
adark
 

Más de adark (10)

Funciones
FuncionesFunciones
Funciones
 
CONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADO
CONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADOCONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADO
CONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADO
 
71
7171
71
 
51
5151
51
 
estructuras de repeticion
estructuras de repeticionestructuras de repeticion
estructuras de repeticion
 
EJERCICIO Diagrama de Flujo
EJERCICIO Diagrama de FlujoEJERCICIO Diagrama de Flujo
EJERCICIO Diagrama de Flujo
 
1.1 Nuevas Tecnologias de la Informacion.
1.1 Nuevas Tecnologias de la Informacion.1.1 Nuevas Tecnologias de la Informacion.
1.1 Nuevas Tecnologias de la Informacion.
 
1.2 Elementos de un sistema computacional.
1.2 Elementos de un sistema computacional.1.2 Elementos de un sistema computacional.
1.2 Elementos de un sistema computacional.
 
1.3 Clasificacion de los sistemas operativos.
1.3 Clasificacion de los sistemas operativos.1.3 Clasificacion de los sistemas operativos.
1.3 Clasificacion de los sistemas operativos.
 
1.4 Paqueteria de Software.
1.4 Paqueteria de Software.1.4 Paqueteria de Software.
1.4 Paqueteria de Software.
 

DEFINICIÓN DE LENGUAJES ALGORÍTMICOS

  • 1. 2.3 DEFINICIÓN DE LENGUAJES ALGORÍTMICOS METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS
  • 2. Elementos y reglas de la representación gráfica y manuscrita de los algoritmos Características de los algoritmos Las características fundamentales que debe cumplir todo algoritmo son: Un algoritmo debe ser preciso e indicar el orden de realización de cada paso.  Un algoritmo debe estar definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo resultado cada vez. Un algoritmo debe ser finito. Si se sigue un algoritmo, se debe terminar en algún momento; o sea debe tener un número finito de pasos. La definición de un algoritmo debe describir tres partes: Entrada, Proceso y Salida.
  • 3. Elementos y reglas de la representación gráfica y manuscrita de los algoritmos Ejemplo 4:   En un algoritmo de receta de cocina se tiene que:   Entrada: Ingredientes y utensilios empleados.   Proceso: Elaboración de la receta de cocina. Salida: Terminación del platillo, por ejemplo enchiladas.   Fin del ejemplo 4
  • 4. Elementos y reglas de la representación gráfica y manuscrita de los algoritmos Ejemplo 5:   Un cliente ejecuta un pedido a una fábrica. La fábrica examina en su base de datos la ficha del cliente, si el cliente es solvente entonces la empresa acepta el pedido; en caso contrario, rechazará el pedido. Redactar el algoritmo correspondiente.  Solución:  Los pasos del algoritmo son:   Inicio Leer el pedido Examinar la ficha del cliente Si el cliente es solvente, aceptar pedido; en caso contrario, rechazar pedido. Fin   Fin del ejemplo 5.
  • 5. Elementos y reglas de la representación gráfica y manuscrita de los algoritmos Ejemplo 6 Se desea diseñar un algoritmo para saber si un número es primo o no.  Un número es primo si sólo puede dividirse entre sí mismo y entre la unidad, es decir, no tiene más divisores que él mismo y la unidad. Por ejemplo, 9, 8 6, 4, 12, 16, 20 no son primos, ya que son divisibles pro números distintos a ellos mismos y a la unidad. El 9 es divisible entre 3, el 8 es divisible entre 2 y entre 4, etc. Solución: Inicio Hacer X igual a 2 (X = 2, X variable que representa a los divisores del número N que se busca) Dividir N entre X (N/X) Si el resultado de N/X es entero, entonces N no es un número primo y continuar con el paso 7; en caso contrario, continuar con el siguiente paso. Sumar 1 a X (X = X+1) Si X es igual a N, entonces N es un número primo; en caso contrario, continuar con el paso 3. Fin.   Fin del ejemplo 6.
  • 6. Elementos y reglas de la representación gráfica y manuscrita de los algoritmos Diseño de un algoritmo Una computadora no tiene capacidad para solucionar problemas a menos de que se le proporcionen los pasos sucesivos a realizar. Estos pasos sucesivos que indican las instrucciones a ejecutar constituyen, como ya se mencionó, el algoritmo. La información proporcionada al algoritmo constituye su entrada y la información producida por el algoritmo constituye su salida.   Los problemas complejos pueden resolverse más eficazmente con la computadora cuando se divide en subproblemas que sean más fáciles de solucionar que el problema original. Este método suele denominarse “divide y vencerás”, y consiste en dividir el problema complejo en otros más simples.
  • 7. Elementos y reglas de la representación gráfica y manuscrita de los algoritmos Ejemplo 7: Un problema que pretende encontrar el perímetro y el área de un círculo puede dividirse en tres problemas más simples, como se muestra en la siguiente figura:
  • 8. Elementos y reglas de la representación gráfica y manuscrita de los algoritmos La descomposición del problema original en subproblemas más simples y a continuación dividir estos subproblemas en otros más simples que pueden implementarse para su solución en la computadora se denomina diseño descendente (top-downdesign). Normalmente los pasos diseñados en el primer esbozo del algoritmo son incompletos e indican sólo unos pocos pasos (un máximo de doce). Tras esta primera descripción, estos se amplían en una descripción más detallada con más pasos específicos. Este proceso se denomina refinamiento del algoritmo (stepwiserefinement). Para problemas complejos se necesitan con frecuencia diferentes niveles de refinamiento antes de que se pueda obtener un algoritmo claro, preciso y completo.   El problema de cálculo del perímetro y área del círculo se puede descomponer en subproblemas más simples:   Leer datos de entrada Calcular el perímetro y área del círculo Escribir resultados (datos de salida)
  • 9.
  • 10. Las modificaciones en los módulos son más fáciles.
  • 11. La comprobación del problema se puede verificar fácilmente.  Tras los pasos anteriores (diseño descendente y refinamiento sucesivo por pasos) es preciso representar el algoritmo mediante una determinada herramienta de programación: diagrama de flujo, pseudocódigo o diagrama N-S.
  • 12. Elementos y reglas de la representación gráfica y manuscrita de los algoritmos Diagramas de flujo Un diagrama de flujo (flowchart) es una de las técnicas de representación del algoritmo más antigua y a la vez más utilizada, aunque su empleo ha disminuido considerablemente, sobre todo desde la aparición de lenguajes de programación estructurados. Símbolos de diagramas de flujo
  • 13. Elementos y reglas de la representación gráfica y manuscrita de los algoritmos Símbolos de diagramas de flujo
  • 14.
  • 15. Elementos y reglas de la representación gráfica y manuscrita de los algoritmos Diagrama de flujo Fin del ejemplo 8
  • 16. Elementos y reglas de la representación gráfica y manuscrita de los algoritmos Pseudocódigo El pseudocódigo es en lenguaje de especificación de algoritmos. El uso de tal lenguaje hace el paso de codificación final (esto es, la traducción a un lenguaje de programación) relativamente fácil.   El pseudocódigo nació como un lenguaje similar al inglés y era un medio de representar básicamente las estructuras de control de programación estructurada.   El pseudocódigo original utiliza para representar las acciones sucesivas palabras reservadas en inglés, similares a sus homónimos en lenguajes de programación, tales como start, end, stop, if-then-else, repeat-until, etc. La escritura de pseudocódigo exige normalmente la indentación (sangría en el margen izquierdo) de diferentes líneas.
  • 17. Elementos y reglas de la representación gráfica y manuscrita de los algoritmos Pseudocódigo Ejemplo 9: El pseudocódigo correspondiente al diagrama de flujo del ejemplo 2.3.3 es el siguiente:   Start / cálculo de impuesto y salarios read HORAS, PRECIO_HORA, NOMBRE if HORAS >= 40 then SALARIO= HORAS * PRECIO_HORA else SALARIO=40*PRECIO_HORA + 1.5*PRECIO_HORA*(HORAS –40) endif Write SALARIO   end fin del ejemplo 9.
  • 18. Elementos y reglas de la representación gráfica y manuscrita de los algoritmos Pseudocódigo El algoritmo comienza con la palabra start y finaliza con la palabra end, en inglés (en español, inicio, fin). Entre estas palabras, sólo se escribe una instrucción o acción por línea. La línea precedida por // se denomina comentario. Es una información para el lector del programa y no realiza ninguna instrucción ejecutable, sólo tiene efecto de documentación interna del programa.
  • 19. Elementos y reglas de la representación gráfica y manuscrita de los algoritmos Diagramas de Nassi-Scheneiderman (N-S) El diagrama N-S de Nassi-Schneiderman, también conocido como diagrama de Chapin, es como un diagrama de flujo en el que se omiten las flechas de unión y las cajas son contiguas. Las acciones sucesivas se escriben en cajas sucesivas y, como en los diagramas de flujo, se pueden escribir diferentes acciones en una misma caja. Un algoritmo se representa con un rectángulo en el que cada banda es una acción a realizar:
  • 20. Elementos y reglas de la representación gráfica y manuscrita de los algoritmos Ejemplo 10:
  • 21. Elementos y reglas de la representación gráfica y manuscrita de los algoritmos Otro ejemplo es la representación de la estructura condicional:
  • 22. Elementos y reglas de la representación gráfica y manuscrita de los algoritmos Implementación de algoritmos secuenciales En un algoritmo secuencial se ejecutan las sentencias en orden secuencial, es decir, cuando termina la ejecución de una sentencia comienza la que está inmediatamente después.