SlideShare una empresa de Scribd logo
Algoritmos Informática I  Esp. María Del Mar Góngora Valencia
Características que debe tener  ,[object Object],[object Object],[object Object],[object Object],„
Concepto de algoritmo  Definiciones:  „   Conjunto de instrucciones que especifican la secuencia ordenada de operaciones a realizar para resolver un problema.  „   Un conjunto de instrucciones combinadas de forma adecuada para resolver un determinado problema en una cantidad finita de tiempo. Cada instrucción es una indicación sencilla y no ambigua.
Partes de un algoritmo ,[object Object],[object Object],[object Object]
Algoritmo para cambiar una bombilla Retirar la bombilla fundida Colocar una escalera debajo de la bombilla Subir la escalera Desenroscar la bombilla en el sentido contrario de las agujas del reloj Bajar la escalera  Poner una bombilla nueva  Coger la bombilla nueva  Subir la escalera Enroscar la bombilla en el sentido de las agujas del reloj Bajar la escalera Retirar la escalera
Datos ,[object Object]
Tipos de datos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object]
Tipos de datos ,[object Object],[object Object],[object Object],[object Object],[object Object]
Tipos de datos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Resolución de problemas  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Elementos de un algoritmo ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Identificadores ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Constantes ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Variables ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Expresión ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Precedencia (orden de evaluación)
Ejemplo de precedencia
Algoritmo vs lenguaje programación  „   Un lenguaje de programación es tan sólo un medio para expresar un algoritmo y una computadora es sólo un procesador para ejecutarlo.  „   Tanto el lenguaje de programación como la computadora son los medios para obtener un fin  “ conseguir que el algoritmo se ejecute y se efectúe el proceso correspondiente”
Formas de describir un algoritmo  ,[object Object],[object Object],[object Object]
Lenguaje natural. Ejemplo  „   El algoritmo para encontrar las raíces de una ecuación de segundo grado podría describirse así:  x = (-b±√ b 2 -4ac)/(2a)  1. Definir los coeficientes de la ecuación de segundo grado: a, b y c.  2. Determinar el valor del discriminante: b 2 -4ac.  3. Si el discriminante es cero sólo hay una solución: -b/(2a).  4. Si el discriminante es positivo pero no cero hay dos soluciones:  (-b±√discr)/(2a).  5. Si el discriminante es negativo no hay soluciones reales.
Lenguaje natural.  „   Ventaja: facilidad de comprensión  „   Inconvenientes:  „   El lenguaje natural no es universal, este algoritmo sería completamente inútil para los no hispanoparlantes.  „   El lenguaje natural es ambiguo y, por tanto, susceptible de errores.  „   El lenguaje natural es demasiado amplio, lo que para una persona puede ser una instrucción sencilla puede no serlo para otra y desde luego no lo será para un ordenador.
Organigramas  „   Los organigramas o diagramas de flujo permiten describir los algoritmos de forma gráfica.  „   Utilizan una serie de bloques que indican distintas circunstancias y flechas que muestran bajo qué condiciones se pasa de un bloque a otro.  Terminal  Entrada/Salida  Decisión  Proceso  Conectores  Punto de comienzo o  Información introducida  Operación que determina  Cualquier proceso distinto a  Conexión entre diagramas en  final de programa  para su proceso o generada  varios caminos  E/S o las decisiones  la misma página o en otra  como resultado  alternativos a seguir
Organigramas
Comenzar  Organigramas  ESCRIBIR Dame  coeficientes a, b y c  LEER a, b, c disc  ← b 2 -4ac  SI  ESCRIBIR  disc =0  s  ←   -b/2a  Solo una  solución, s  NO  SI  s1  ←   (b +√discr)/(2a)  ESCRIBIR  disc > 0  s2  ←   (b -√discr)/(2a)  Soluciones:  s1 y s2  NO  ESCRIBIR No hay  soluciones reales  FIN
Organigramas  „   Ventajas frente al lenguaje natural:  „   Los símbolos son universales.  „   Son menos propensos a la ambigüedad.  „   Por estar basados en un número pequeño de bloques y reglas para su empleo permiten delimitar mejor los algoritmos.  „   Se aproximan más a la forma en que trabaja el ordenador.
Organigramas  „   Sin embargo:  „   El hecho de emplear símbolos supone que una persona que desconozca los símbolos puede tener dificultades para comprender el algoritmo o no entenderlo en absoluto.  „   Aunque los símbolos son universales, el texto que se coloca en su interior sigue siendo lenguaje natural.  „   La representación gráfica puede resultar bastante tediosa y en el caso de algoritmos complejos extremadamente confusa.  „   Un ordenador no es capaz de utilizar una representación visual como descripción de un algoritmo.  „   Actualmente, los organigramas no son muy utilizados aunque para mostrar el funcionamiento de algoritmos sencillos siguen resultando prácticos.
Pseudocódigo  „   El pseudocódigo pretende aunar las ventajas del lenguaje natural y de los organigramas:  „   Es fácilmente comprensible para una persona que lo vea por vez primera.  „   Está bien delimitado.  „   Elimina las ambigüedades del lenguaje natural (uso guía de notación).  „   Se representa de una forma compacta.
Pseudocódigo  ESCRIBIR ‘Dame los coeficientes de la ecuación de 2º grado’ ESCRIBIR ‘¿Cuánto vale A?’  LEER a  ESCRIBIR ‘¿Cuánto vale B?’  LEER b  ESCRIBIR ‘¿Cuánto vale C?’ LEER c  discr  ← b2-4ac  SI discr=0 ENTONCES  s  ←  -b/(2a)  ESCRIBIR ‘Sólo hay una solución:’, s  SINO  SI discr>0 entonces s1  ←  (-b+ √ discr)/(2a)  s2  ←  (-b- √ discr)/(2a)  ESCRIBIR ‘Las soluciones son:’, s1, s2  SINO  ESCRIBIR ‘No hay soluciones reales.’  FINSI  FINSI
Análisis, desarrollo e implementación de un algoritmo  „   A la hora de resolver un problema mediante la utilización de un ordenador NO se debe codificar directamente el programa en un lenguaje dado; si el problema es complejo resulta muy difícil escribir un programa en un único paso.  „   Fases :  ,[object Object],[object Object],[object Object],[object Object]
Fase de análisis  „   Análisis: se trata de comprender la naturaleza del problema y no de buscar una forma de resolverlo:  „   qué datos se necesitan ser introducidos para obtener la solución en qué consistirá dicha solución (fórmulas, etc.),  qué errores puede presentar qué datos tendrá que ofrecer de salida  etc.
Fase de diseño  „   Diseño: se busca una forma de resolver el problema, es decir, un algoritmo.  „   Técnicas:  „   Diseño descendente: Arriba - abajo  „   Se basa en el principio de “divide y vencerás”; este método consiste en resolver el problema mediante una aproximación con distintos niveles de abstracción.  „   Diseño ascendente: Abajo - arriba  „   A la inversa, se resuelven los subproblemas, y las soluciones se integran para dar lugar a la solución del problema.
Fase de diseño  „   Diseño descendente:  „   En primer lugar se plantea el problema empleando términos del mismo problema (nivel de abstracción 1).  „   En  segundo  lugar,  se  descompone  en  varios  subproblemas expresados  también  en  términos  del  problema  y  tratando  de hacerlos lo más independientes entre sí que sea posible.  „   Este paso se repite para cada subproblema tantas veces como sea necesario hasta llegar a una descripción del problema que emplee instrucciones sencillas que puedan ser  transformadas de forma sencilla a código en un lenguaje de programación.
Fase de diseño. Ejemplo  „   Enunciado:  Proporcionar un algoritmo que determine si un año indicado por el usuario es bisiesto.  „   Análisis:  „   Entrada:  El  usuario  debería  introducir  un  año,  un  año  es  un número entero positivo.  „   Proceso: Un año es bisiesto si es múltiplo de 4 pero no de 100, la excepción son los años múltiplos de 400.  „   Salida: Hay dos posibles salidas: “El año es bisiesto” y “El año no es bisiesto”.  „   Condiciones de error: Si el dato introducido no es válido (número negativo o cero) debería indicarse: “Dato no válido.”
Fase de diseño. Ejemplo.  „   Diseño  „ 1. Determinar si un año indicado por el usuario es o no un año bisiesto.  „ 1.1. Solicitar un año al usuario.  „ 1.1.1. Dar un mensaje al usuario solicitando un año.  „ 1.1.2. Leer el año.  „ 1.1.3. Si el año no es válido indicárselo al usuario.  „ 1.2. Determinar si el año es bisiesto o no.  „ 1.2.1. Si el año no es múltiplo de 4 no es bisiesto.  „ 1.2.2. Si el año es múltiplo de 4 pero no de 100 es bisiesto.  „ 1.2.3. Si el año es múltiplo de 400 es bisiesto.  „ 1.3. Indicar al usuario el resultado obtenido.  „ 1.3.1. Si el año es bisiesto dar el mensaje “El año es bisiesto”.  „ 1.3.2. Si el año no es bisiesto dar el mensaje “El año no es bisiesto”.
Fase de diseño. Ejemplo.  ESCRIBIR ‘Por favor, déme un año’  LEER AÑO  SI AÑO <= 0 ENTONCES escribir ‘El año no es válido’ SINO  SI el año es múltiplo de 4 ENTONCES SI el año es múltiplo de 400 ENTONCES BISIESTO  ←  si  SINO  SI el año es múltiplo de 100 ENTONCES BISIESTO  ←  no  SINO  BISIESTO  ←  si FINSI  FINSI SINO  BISIESTO  ←   no FINSI  SI BISIESTO = si entonces escribir ‘El año es bisiesto’ SINO  escribir ‘El año no es bisiesto’ FINSI  FINSI
Ejercicio  „   Escribir el algoritmo que convierte una longitud expresada en centímetros en su equivalente expresada en pulgadas  inicio  CM_INCH =0.39  ESCRIBIR  Dame long_cm  INICIO  CM_INCH = 0.39  LEER  ESCRIBIR ‘Dame longitud a convertir’  long_cm  LEER longitud_cm  long_inch= CM_INCH  * long_cm  long_inch ← longitud_cm * CM_INCH; ESCRIBIR ‘la longitud en pulgadas es’, long_inch  FIN  ESCRIBIR long_inch  FIN
Ejercicio  Comenzar  „   Escribir el algoritmo que dado 3  ESCRIBIR  números permita saber si la suma de  Dame a, b y c  cualquier pareja de ellos es igual al  tercero.  LEER a, b, c  SI  ESCRIBIR ‘Dame a,b,c’  a+b =c  LEER a,b,c  SI a+b=c  ENTONCES  NO  escribir ‘IGUALES’  SI  SINO  a+c =b  SI a+c=b ENTONCES escribir ‘IGUALES’  NO  SINO  SI  SI b+c=a ENTONCES  b+c=a  escribir ‘IGUALES’  SINO  NO  escribir ‘DISTINTAS’  FINSI  ESCRIBIR  ESCRIBIR  FINSI  DISTINTAS  IGUALES  FINSI FINSI  FIN
Ejercicio  Comenzar  Escribir el algoritmo que imprima y  numero=3  sume la serie 3, 6, 9, … 99  suma=0  indicador=1  INICIO  ESCRIBIR  numero=3  numero* indicador  suma=0  indicador=1  suma=suma+(indicador * numero)  MIENTRAS(indicador<=11) ESCRIBIR indicador * numero  indicador=indicador+1  suma=suma + (indicador*numero) indicador = indicador +1  FIN MIENTRAS  SI  indicador <= 11  ESCRIBIR suma  NO  FIN  ESCRIBIR suma  FIN

Más contenido relacionado

La actualidad más candente

EJERCICIOS BUCLES REPETITIVOS LENGUAJE C
EJERCICIOS BUCLES REPETITIVOS LENGUAJE CEJERCICIOS BUCLES REPETITIVOS LENGUAJE C
EJERCICIOS BUCLES REPETITIVOS LENGUAJE C
Gato Rivitas
 
Fundamentos de programación 1. diseño de algoritmos
Fundamentos de programación 1. diseño de algoritmosFundamentos de programación 1. diseño de algoritmos
Fundamentos de programación 1. diseño de algoritmos
Edward Ropero
 
Fundamentos de programación
Fundamentos de programaciónFundamentos de programación
Fundamentos de programación
Ing Cabrera
 
Tema 4 -_introduccion_a_razonamiento_algoritmico
Tema 4 -_introduccion_a_razonamiento_algoritmicoTema 4 -_introduccion_a_razonamiento_algoritmico
Tema 4 -_introduccion_a_razonamiento_algoritmico
Lincoln School
 
Resolucion de 35 programas básicos
Resolucion de 35 programas básicosResolucion de 35 programas básicos
Resolucion de 35 programas básicos
UNIVERSIDAD TECNICA DE AMBATO
 
Clase de algoritmos
Clase de algoritmosClase de algoritmos
Clase de algoritmos
Sol Hernández
 
Reglas Para Diagramas
Reglas Para DiagramasReglas Para Diagramas
Reglas Para Diagramasfrancisco3011
 
Pseudocodigo con ejemplos
Pseudocodigo con ejemplosPseudocodigo con ejemplos
Pseudocodigo con ejemplosisabel-fcsyp
 
Entrada y salida de información; Escritura de algoritmos.
Entrada y salida de información; Escritura de algoritmos.Entrada y salida de información; Escritura de algoritmos.
Entrada y salida de información; Escritura de algoritmos.
Damian Chuncho
 
estructuras algoritmicas ciclicas mientras
estructuras algoritmicas ciclicas mientrasestructuras algoritmicas ciclicas mientras
estructuras algoritmicas ciclicas mientras
Johan Velandia
 
Diagramas de Flujo
Diagramas de FlujoDiagramas de Flujo
Diagramas de Flujoastaroth97
 
Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales
Lenguaje Borland C - Estructuras Secuenciales y No SecuencialesLenguaje Borland C - Estructuras Secuenciales y No Secuenciales
Lenguaje Borland C - Estructuras Secuenciales y No SecuencialesKarina Arguedas Ruelas
 
Diagrama flujo
Diagrama flujoDiagrama flujo
Diagrama flujoaromero487
 
Algoritmia Ejemplos Y Ejercicios (2)
Algoritmia  Ejemplos Y Ejercicios (2)Algoritmia  Ejemplos Y Ejercicios (2)
Algoritmia Ejemplos Y Ejercicios (2)
Ender Melean
 
Qué es un algoritmo
Qué es un algoritmoQué es un algoritmo
Qué es un algoritmo
Abrirllave
 
Evaluacion final hoja de ruta_practica_de_laboratorio_301303
Evaluacion final hoja de ruta_practica_de_laboratorio_301303Evaluacion final hoja de ruta_practica_de_laboratorio_301303
Evaluacion final hoja de ruta_practica_de_laboratorio_301303
louis1984
 
Fundamentos de Programacion
Fundamentos de ProgramacionFundamentos de Programacion
Fundamentos de Programacionneyvajms
 
Principios de Programacion
Principios de ProgramacionPrincipios de Programacion
Principios de Programacion
Cesar David Fernandez Grueso
 

La actualidad más candente (20)

EJERCICIOS BUCLES REPETITIVOS LENGUAJE C
EJERCICIOS BUCLES REPETITIVOS LENGUAJE CEJERCICIOS BUCLES REPETITIVOS LENGUAJE C
EJERCICIOS BUCLES REPETITIVOS LENGUAJE C
 
Fundamentos de programación 1. diseño de algoritmos
Fundamentos de programación 1. diseño de algoritmosFundamentos de programación 1. diseño de algoritmos
Fundamentos de programación 1. diseño de algoritmos
 
Fundamentos de programación
Fundamentos de programaciónFundamentos de programación
Fundamentos de programación
 
Tema 4 -_introduccion_a_razonamiento_algoritmico
Tema 4 -_introduccion_a_razonamiento_algoritmicoTema 4 -_introduccion_a_razonamiento_algoritmico
Tema 4 -_introduccion_a_razonamiento_algoritmico
 
Resolucion de 35 programas básicos
Resolucion de 35 programas básicosResolucion de 35 programas básicos
Resolucion de 35 programas básicos
 
Clase de algoritmos
Clase de algoritmosClase de algoritmos
Clase de algoritmos
 
Reglas Para Diagramas
Reglas Para DiagramasReglas Para Diagramas
Reglas Para Diagramas
 
Pseudocodigo con ejemplos
Pseudocodigo con ejemplosPseudocodigo con ejemplos
Pseudocodigo con ejemplos
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Entrada y salida de información; Escritura de algoritmos.
Entrada y salida de información; Escritura de algoritmos.Entrada y salida de información; Escritura de algoritmos.
Entrada y salida de información; Escritura de algoritmos.
 
estructuras algoritmicas ciclicas mientras
estructuras algoritmicas ciclicas mientrasestructuras algoritmicas ciclicas mientras
estructuras algoritmicas ciclicas mientras
 
Diagramas de Flujo
Diagramas de FlujoDiagramas de Flujo
Diagramas de Flujo
 
Elemento3
Elemento3Elemento3
Elemento3
 
Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales
Lenguaje Borland C - Estructuras Secuenciales y No SecuencialesLenguaje Borland C - Estructuras Secuenciales y No Secuenciales
Lenguaje Borland C - Estructuras Secuenciales y No Secuenciales
 
Diagrama flujo
Diagrama flujoDiagrama flujo
Diagrama flujo
 
Algoritmia Ejemplos Y Ejercicios (2)
Algoritmia  Ejemplos Y Ejercicios (2)Algoritmia  Ejemplos Y Ejercicios (2)
Algoritmia Ejemplos Y Ejercicios (2)
 
Qué es un algoritmo
Qué es un algoritmoQué es un algoritmo
Qué es un algoritmo
 
Evaluacion final hoja de ruta_practica_de_laboratorio_301303
Evaluacion final hoja de ruta_practica_de_laboratorio_301303Evaluacion final hoja de ruta_practica_de_laboratorio_301303
Evaluacion final hoja de ruta_practica_de_laboratorio_301303
 
Fundamentos de Programacion
Fundamentos de ProgramacionFundamentos de Programacion
Fundamentos de Programacion
 
Principios de Programacion
Principios de ProgramacionPrincipios de Programacion
Principios de Programacion
 

Destacado

21 problemas de algoritmo resueltos
21 problemas de algoritmo resueltos21 problemas de algoritmo resueltos
21 problemas de algoritmo resueltosRoldan El Gato
 
Ejemplos de Algoritmos
Ejemplos de AlgoritmosEjemplos de Algoritmos
Ejemplos de AlgoritmosPepe Xdsasda
 
Niveles del lenguaje
Niveles del lenguajeNiveles del lenguaje
Niveles del lenguajeLaura Davila
 
02 Ejercicios Resueltos diagramas de flujo
02 Ejercicios Resueltos diagramas de flujo02 Ejercicios Resueltos diagramas de flujo
02 Ejercicios Resueltos diagramas de flujoTete Alar
 
Conservatorio De MúSica ‘‘Salvador Bustamante Celi’’
Conservatorio De MúSica ‘‘Salvador Bustamante Celi’’Conservatorio De MúSica ‘‘Salvador Bustamante Celi’’
Conservatorio De MúSica ‘‘Salvador Bustamante Celi’’
Andrea Jimenez
 
Ejercicio 2 programación algoritmos, lucanero.
Ejercicio 2 programación algoritmos, lucanero.Ejercicio 2 programación algoritmos, lucanero.
Ejercicio 2 programación algoritmos, lucanero.
lucialucanero03
 
Cap 02.1 analisis de las estructuras de control(1)
Cap 02.1   analisis de las estructuras de control(1)Cap 02.1   analisis de las estructuras de control(1)
Cap 02.1 analisis de las estructuras de control(1)
Lio Alva
 
Pasillos ecuatorianos
Pasillos ecuatorianos Pasillos ecuatorianos
Pasillos ecuatorianos
xavi Guamán
 
Cuadernillo de-algoritmos
Cuadernillo de-algoritmosCuadernillo de-algoritmos
Cuadernillo de-algoritmosAlejandraDorado
 
Trabajo grupal de ciclos repetitivos
Trabajo grupal de ciclos repetitivosTrabajo grupal de ciclos repetitivos
Trabajo grupal de ciclos repetitivosemidacent
 
UNEG-AS 2012-Pres4: Controles internos para la operación de sistemas. Control...
UNEG-AS 2012-Pres4: Controles internos para la operación de sistemas. Control...UNEG-AS 2012-Pres4: Controles internos para la operación de sistemas. Control...
UNEG-AS 2012-Pres4: Controles internos para la operación de sistemas. Control...UNEG-AS
 
ALGORITMOS EN EL SOFTWARE
ALGORITMOS EN EL SOFTWAREALGORITMOS EN EL SOFTWARE
ALGORITMOS EN EL SOFTWARE
sistemas informaticos
 
Lenguaje natural y artificial
Lenguaje natural y artificialLenguaje natural y artificial
Lenguaje natural y artificialmanuel62995
 
Estructuras Repetitivas con PSeInt (Parte 2)
Estructuras Repetitivas con PSeInt (Parte 2)Estructuras Repetitivas con PSeInt (Parte 2)
Estructuras Repetitivas con PSeInt (Parte 2)
Pedro Antonio Villalta (Pavillalta)
 
Proceso Tecnologico
Proceso TecnologicoProceso Tecnologico
Proceso TecnologicoJuan
 
Algoritmos, tablas de multiplicar
Algoritmos, tablas de multiplicarAlgoritmos, tablas de multiplicar
Algoritmos, tablas de multiplicar
Alejandro Zambrano Valbuena
 
Los Algoritmos En La Enseñanza De La Matemáticas
Los   Algoritmos  En La  Enseñanza  De La  MatemáticasLos   Algoritmos  En La  Enseñanza  De La  Matemáticas
Los Algoritmos En La Enseñanza De La Matemáticasguest21cdf17
 

Destacado (20)

21 problemas de algoritmo resueltos
21 problemas de algoritmo resueltos21 problemas de algoritmo resueltos
21 problemas de algoritmo resueltos
 
Ejemplos de Algoritmos
Ejemplos de AlgoritmosEjemplos de Algoritmos
Ejemplos de Algoritmos
 
Web 2.0
Web 2.0Web 2.0
Web 2.0
 
Niveles del lenguaje
Niveles del lenguajeNiveles del lenguaje
Niveles del lenguaje
 
02 Ejercicios Resueltos diagramas de flujo
02 Ejercicios Resueltos diagramas de flujo02 Ejercicios Resueltos diagramas de flujo
02 Ejercicios Resueltos diagramas de flujo
 
Conservatorio De MúSica ‘‘Salvador Bustamante Celi’’
Conservatorio De MúSica ‘‘Salvador Bustamante Celi’’Conservatorio De MúSica ‘‘Salvador Bustamante Celi’’
Conservatorio De MúSica ‘‘Salvador Bustamante Celi’’
 
Ejercicio 2 programación algoritmos, lucanero.
Ejercicio 2 programación algoritmos, lucanero.Ejercicio 2 programación algoritmos, lucanero.
Ejercicio 2 programación algoritmos, lucanero.
 
Cap 02.1 analisis de las estructuras de control(1)
Cap 02.1   analisis de las estructuras de control(1)Cap 02.1   analisis de las estructuras de control(1)
Cap 02.1 analisis de las estructuras de control(1)
 
Pasillos ecuatorianos
Pasillos ecuatorianos Pasillos ecuatorianos
Pasillos ecuatorianos
 
Cuadernillo de-algoritmos
Cuadernillo de-algoritmosCuadernillo de-algoritmos
Cuadernillo de-algoritmos
 
Trabajo grupal de ciclos repetitivos
Trabajo grupal de ciclos repetitivosTrabajo grupal de ciclos repetitivos
Trabajo grupal de ciclos repetitivos
 
UNEG-AS 2012-Pres4: Controles internos para la operación de sistemas. Control...
UNEG-AS 2012-Pres4: Controles internos para la operación de sistemas. Control...UNEG-AS 2012-Pres4: Controles internos para la operación de sistemas. Control...
UNEG-AS 2012-Pres4: Controles internos para la operación de sistemas. Control...
 
ALGORITMOS EN EL SOFTWARE
ALGORITMOS EN EL SOFTWAREALGORITMOS EN EL SOFTWARE
ALGORITMOS EN EL SOFTWARE
 
Diagramas je-
Diagramas  je-Diagramas  je-
Diagramas je-
 
Tipos de lenguaje
Tipos de lenguajeTipos de lenguaje
Tipos de lenguaje
 
Lenguaje natural y artificial
Lenguaje natural y artificialLenguaje natural y artificial
Lenguaje natural y artificial
 
Estructuras Repetitivas con PSeInt (Parte 2)
Estructuras Repetitivas con PSeInt (Parte 2)Estructuras Repetitivas con PSeInt (Parte 2)
Estructuras Repetitivas con PSeInt (Parte 2)
 
Proceso Tecnologico
Proceso TecnologicoProceso Tecnologico
Proceso Tecnologico
 
Algoritmos, tablas de multiplicar
Algoritmos, tablas de multiplicarAlgoritmos, tablas de multiplicar
Algoritmos, tablas de multiplicar
 
Los Algoritmos En La Enseñanza De La Matemáticas
Los   Algoritmos  En La  Enseñanza  De La  MatemáticasLos   Algoritmos  En La  Enseñanza  De La  Matemáticas
Los Algoritmos En La Enseñanza De La Matemáticas
 

Similar a Algoritmos

Algoritmos y programacion en C++
Algoritmos y programacion en C++Algoritmos y programacion en C++
Algoritmos y programacion en C++
Alejandro Leon Cerna
 
U1-1_UPC_ Algoritmos Conceptos Básicos.pdf
U1-1_UPC_ Algoritmos Conceptos Básicos.pdfU1-1_UPC_ Algoritmos Conceptos Básicos.pdf
U1-1_UPC_ Algoritmos Conceptos Básicos.pdf
EberCV1
 
U1-1_UPC_ Algoritmos Conceptos Básicos.pdf
U1-1_UPC_ Algoritmos Conceptos Básicos.pdfU1-1_UPC_ Algoritmos Conceptos Básicos.pdf
U1-1_UPC_ Algoritmos Conceptos Básicos.pdf
EberCV1
 
Conceptos de algoritmos
Conceptos de algoritmosConceptos de algoritmos
Conceptos de algoritmos
liceo panamericano centro
 
Pascal [modo de compatibilidad]
Pascal [modo de compatibilidad]Pascal [modo de compatibilidad]
Pascal [modo de compatibilidad]
Zamantha Gonzalez Universidad Nacional Abierta
 
Bloque i guia informatica ii
Bloque i guia informatica iiBloque i guia informatica ii
Bloque i guia informatica ii
Noe Altamirano
 
Bloque 1 guia informatica II
Bloque 1 guia informatica IIBloque 1 guia informatica II
Bloque 1 guia informatica IINoe Altamirano
 
Presentación 2014 profe gabriel
Presentación 2014 profe gabrielPresentación 2014 profe gabriel
Presentación 2014 profe gabriel
Enrique Morales
 
Clases 2 dfd y basico 2011
Clases 2  dfd y basico 2011Clases 2  dfd y basico 2011
Clases 2 dfd y basico 2011seolivares
 
Algoritmo variables, constantes, tipos de datos y asignacion
Algoritmo variables, constantes, tipos de datos y asignacionAlgoritmo variables, constantes, tipos de datos y asignacion
Algoritmo variables, constantes, tipos de datos y asignacionBoris Salleg
 
Algoritmos (DFD, Pseudocodigos).pptx
Algoritmos (DFD, Pseudocodigos).pptxAlgoritmos (DFD, Pseudocodigos).pptx
Algoritmos (DFD, Pseudocodigos).pptx
TIRZOANTONIOMEDINACA1
 
Bloque 1 informatica 2
Bloque 1 informatica 2Bloque 1 informatica 2
Bloque 1 informatica 2Noé AG
 
conceptos basicos lenguajes de programacion.pdf
conceptos basicos lenguajes de programacion.pdfconceptos basicos lenguajes de programacion.pdf
conceptos basicos lenguajes de programacion.pdf
carlosquiza2
 
Infoalgoritmo
InfoalgoritmoInfoalgoritmo
Infoalgoritmo
danielkrack
 
Ii corte algoritmo_tr_1era_clase
Ii corte algoritmo_tr_1era_claseIi corte algoritmo_tr_1era_clase
Ii corte algoritmo_tr_1era_clasetammyrodriguez2010
 
Sesión 3 - Introducción a la Investigación de Operaciones.pdf
Sesión 3 - Introducción a la Investigación de Operaciones.pdfSesión 3 - Introducción a la Investigación de Operaciones.pdf
Sesión 3 - Introducción a la Investigación de Operaciones.pdf
Wilfrido34
 

Similar a Algoritmos (20)

Algoritmos y programacion en C++
Algoritmos y programacion en C++Algoritmos y programacion en C++
Algoritmos y programacion en C++
 
U1-1_UPC_ Algoritmos Conceptos Básicos.pdf
U1-1_UPC_ Algoritmos Conceptos Básicos.pdfU1-1_UPC_ Algoritmos Conceptos Básicos.pdf
U1-1_UPC_ Algoritmos Conceptos Básicos.pdf
 
U1-1_UPC_ Algoritmos Conceptos Básicos.pdf
U1-1_UPC_ Algoritmos Conceptos Básicos.pdfU1-1_UPC_ Algoritmos Conceptos Básicos.pdf
U1-1_UPC_ Algoritmos Conceptos Básicos.pdf
 
Conceptos de algoritmos
Conceptos de algoritmosConceptos de algoritmos
Conceptos de algoritmos
 
Pascal [modo de compatibilidad]
Pascal [modo de compatibilidad]Pascal [modo de compatibilidad]
Pascal [modo de compatibilidad]
 
Bloque i guia informatica ii
Bloque i guia informatica iiBloque i guia informatica ii
Bloque i guia informatica ii
 
Bloque 1 guia informatica II
Bloque 1 guia informatica IIBloque 1 guia informatica II
Bloque 1 guia informatica II
 
Presentación 2014 profe gabriel
Presentación 2014 profe gabrielPresentación 2014 profe gabriel
Presentación 2014 profe gabriel
 
Clases 2 dfd y basico 2011
Clases 2  dfd y basico 2011Clases 2  dfd y basico 2011
Clases 2 dfd y basico 2011
 
Algoritmo variables, constantes, tipos de datos y asignacion
Algoritmo variables, constantes, tipos de datos y asignacionAlgoritmo variables, constantes, tipos de datos y asignacion
Algoritmo variables, constantes, tipos de datos y asignacion
 
Algoritmos (DFD, Pseudocodigos).pptx
Algoritmos (DFD, Pseudocodigos).pptxAlgoritmos (DFD, Pseudocodigos).pptx
Algoritmos (DFD, Pseudocodigos).pptx
 
Bloque 1 informatica 2
Bloque 1 informatica 2Bloque 1 informatica 2
Bloque 1 informatica 2
 
conceptos basicos lenguajes de programacion.pdf
conceptos basicos lenguajes de programacion.pdfconceptos basicos lenguajes de programacion.pdf
conceptos basicos lenguajes de programacion.pdf
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Infoalgoritmo
InfoalgoritmoInfoalgoritmo
Infoalgoritmo
 
Infoalgoritmo
InfoalgoritmoInfoalgoritmo
Infoalgoritmo
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Ii corte algoritmo_tr_1era_clase
Ii corte algoritmo_tr_1era_claseIi corte algoritmo_tr_1era_clase
Ii corte algoritmo_tr_1era_clase
 
Sesión 3 - Introducción a la Investigación de Operaciones.pdf
Sesión 3 - Introducción a la Investigación de Operaciones.pdfSesión 3 - Introducción a la Investigación de Operaciones.pdf
Sesión 3 - Introducción a la Investigación de Operaciones.pdf
 
Unidad 1.1 PROGRAMACION I
Unidad 1.1  PROGRAMACION IUnidad 1.1  PROGRAMACION I
Unidad 1.1 PROGRAMACION I
 

Último

Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
ValeriaAyala48
 
Computacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajasComputacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajas
sofiahuarancabellido
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
zoecaicedosalazar
 
ACTIVIDAD 2P de Tecnología, 10-7, 2024..
ACTIVIDAD 2P de Tecnología, 10-7, 2024..ACTIVIDAD 2P de Tecnología, 10-7, 2024..
ACTIVIDAD 2P de Tecnología, 10-7, 2024..
IsabelQuintero36
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
IsabellaRubio6
 
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdfProjecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Festibity
 
herramientas de sitio web 3.0 2024
herramientas de sitio web 3.0  2024herramientas de sitio web 3.0  2024
herramientas de sitio web 3.0 2024
julio05042006
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
CrystalRomero18
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
ItsSofi
 
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial ValenciaCatalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
AMADO SALVADOR
 
Conceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. TecnologíaConceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. Tecnología
coloradxmaria
 
actividad 2 tecnologia (3).pdf junto con mis compañeros
actividad 2 tecnologia (3).pdf junto con mis compañerosactividad 2 tecnologia (3).pdf junto con mis compañeros
actividad 2 tecnologia (3).pdf junto con mis compañeros
aljitagallego
 
Todo sobre Minirobotica. Revista Saber Electronica
Todo sobre  Minirobotica. Revista Saber ElectronicaTodo sobre  Minirobotica. Revista Saber Electronica
Todo sobre Minirobotica. Revista Saber Electronica
Carlos Carlosnoemi
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
cofferub
 
algebra de boole teoria.pdf texto guia.1
algebra de boole teoria.pdf texto guia.1algebra de boole teoria.pdf texto guia.1
algebra de boole teoria.pdf texto guia.1
yuki22434
 
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
AMADO SALVADOR
 
modelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptxmodelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptx
evelinglilibethpeafi
 
Desarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdfDesarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdf
samuelvideos
 
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVATECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
LilibethEstupian
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
thomasdcroz38
 

Último (20)

Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
 
Computacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajasComputacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajas
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
 
ACTIVIDAD 2P de Tecnología, 10-7, 2024..
ACTIVIDAD 2P de Tecnología, 10-7, 2024..ACTIVIDAD 2P de Tecnología, 10-7, 2024..
ACTIVIDAD 2P de Tecnología, 10-7, 2024..
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
 
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdfProjecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
 
herramientas de sitio web 3.0 2024
herramientas de sitio web 3.0  2024herramientas de sitio web 3.0  2024
herramientas de sitio web 3.0 2024
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
 
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial ValenciaCatalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
 
Conceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. TecnologíaConceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. Tecnología
 
actividad 2 tecnologia (3).pdf junto con mis compañeros
actividad 2 tecnologia (3).pdf junto con mis compañerosactividad 2 tecnologia (3).pdf junto con mis compañeros
actividad 2 tecnologia (3).pdf junto con mis compañeros
 
Todo sobre Minirobotica. Revista Saber Electronica
Todo sobre  Minirobotica. Revista Saber ElectronicaTodo sobre  Minirobotica. Revista Saber Electronica
Todo sobre Minirobotica. Revista Saber Electronica
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
 
algebra de boole teoria.pdf texto guia.1
algebra de boole teoria.pdf texto guia.1algebra de boole teoria.pdf texto guia.1
algebra de boole teoria.pdf texto guia.1
 
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
 
modelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptxmodelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptx
 
Desarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdfDesarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdf
 
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVATECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
 

Algoritmos

  • 1. Algoritmos Informática I Esp. María Del Mar Góngora Valencia
  • 2.
  • 3. Concepto de algoritmo Definiciones: „ Conjunto de instrucciones que especifican la secuencia ordenada de operaciones a realizar para resolver un problema. „ Un conjunto de instrucciones combinadas de forma adecuada para resolver un determinado problema en una cantidad finita de tiempo. Cada instrucción es una indicación sencilla y no ambigua.
  • 4.
  • 5. Algoritmo para cambiar una bombilla Retirar la bombilla fundida Colocar una escalera debajo de la bombilla Subir la escalera Desenroscar la bombilla en el sentido contrario de las agujas del reloj Bajar la escalera Poner una bombilla nueva Coger la bombilla nueva Subir la escalera Enroscar la bombilla en el sentido de las agujas del reloj Bajar la escalera Retirar la escalera
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17. Precedencia (orden de evaluación)
  • 19. Algoritmo vs lenguaje programación „ Un lenguaje de programación es tan sólo un medio para expresar un algoritmo y una computadora es sólo un procesador para ejecutarlo. „ Tanto el lenguaje de programación como la computadora son los medios para obtener un fin “ conseguir que el algoritmo se ejecute y se efectúe el proceso correspondiente”
  • 20.
  • 21. Lenguaje natural. Ejemplo „ El algoritmo para encontrar las raíces de una ecuación de segundo grado podría describirse así: x = (-b±√ b 2 -4ac)/(2a) 1. Definir los coeficientes de la ecuación de segundo grado: a, b y c. 2. Determinar el valor del discriminante: b 2 -4ac. 3. Si el discriminante es cero sólo hay una solución: -b/(2a). 4. Si el discriminante es positivo pero no cero hay dos soluciones: (-b±√discr)/(2a). 5. Si el discriminante es negativo no hay soluciones reales.
  • 22. Lenguaje natural. „ Ventaja: facilidad de comprensión „ Inconvenientes: „ El lenguaje natural no es universal, este algoritmo sería completamente inútil para los no hispanoparlantes. „ El lenguaje natural es ambiguo y, por tanto, susceptible de errores. „ El lenguaje natural es demasiado amplio, lo que para una persona puede ser una instrucción sencilla puede no serlo para otra y desde luego no lo será para un ordenador.
  • 23. Organigramas „ Los organigramas o diagramas de flujo permiten describir los algoritmos de forma gráfica. „ Utilizan una serie de bloques que indican distintas circunstancias y flechas que muestran bajo qué condiciones se pasa de un bloque a otro. Terminal Entrada/Salida Decisión Proceso Conectores Punto de comienzo o Información introducida Operación que determina Cualquier proceso distinto a Conexión entre diagramas en final de programa para su proceso o generada varios caminos E/S o las decisiones la misma página o en otra como resultado alternativos a seguir
  • 25. Comenzar Organigramas ESCRIBIR Dame coeficientes a, b y c LEER a, b, c disc ← b 2 -4ac SI ESCRIBIR disc =0 s ← -b/2a Solo una solución, s NO SI s1 ← (b +√discr)/(2a) ESCRIBIR disc > 0 s2 ← (b -√discr)/(2a) Soluciones: s1 y s2 NO ESCRIBIR No hay soluciones reales FIN
  • 26. Organigramas „ Ventajas frente al lenguaje natural: „ Los símbolos son universales. „ Son menos propensos a la ambigüedad. „ Por estar basados en un número pequeño de bloques y reglas para su empleo permiten delimitar mejor los algoritmos. „ Se aproximan más a la forma en que trabaja el ordenador.
  • 27. Organigramas „ Sin embargo: „ El hecho de emplear símbolos supone que una persona que desconozca los símbolos puede tener dificultades para comprender el algoritmo o no entenderlo en absoluto. „ Aunque los símbolos son universales, el texto que se coloca en su interior sigue siendo lenguaje natural. „ La representación gráfica puede resultar bastante tediosa y en el caso de algoritmos complejos extremadamente confusa. „ Un ordenador no es capaz de utilizar una representación visual como descripción de un algoritmo. „ Actualmente, los organigramas no son muy utilizados aunque para mostrar el funcionamiento de algoritmos sencillos siguen resultando prácticos.
  • 28. Pseudocódigo „ El pseudocódigo pretende aunar las ventajas del lenguaje natural y de los organigramas: „ Es fácilmente comprensible para una persona que lo vea por vez primera. „ Está bien delimitado. „ Elimina las ambigüedades del lenguaje natural (uso guía de notación). „ Se representa de una forma compacta.
  • 29. Pseudocódigo ESCRIBIR ‘Dame los coeficientes de la ecuación de 2º grado’ ESCRIBIR ‘¿Cuánto vale A?’ LEER a ESCRIBIR ‘¿Cuánto vale B?’ LEER b ESCRIBIR ‘¿Cuánto vale C?’ LEER c discr ← b2-4ac SI discr=0 ENTONCES s ← -b/(2a) ESCRIBIR ‘Sólo hay una solución:’, s SINO SI discr>0 entonces s1 ← (-b+ √ discr)/(2a) s2 ← (-b- √ discr)/(2a) ESCRIBIR ‘Las soluciones son:’, s1, s2 SINO ESCRIBIR ‘No hay soluciones reales.’ FINSI FINSI
  • 30.
  • 31. Fase de análisis „ Análisis: se trata de comprender la naturaleza del problema y no de buscar una forma de resolverlo: „ qué datos se necesitan ser introducidos para obtener la solución en qué consistirá dicha solución (fórmulas, etc.), qué errores puede presentar qué datos tendrá que ofrecer de salida etc.
  • 32. Fase de diseño „ Diseño: se busca una forma de resolver el problema, es decir, un algoritmo. „ Técnicas: „ Diseño descendente: Arriba - abajo „ Se basa en el principio de “divide y vencerás”; este método consiste en resolver el problema mediante una aproximación con distintos niveles de abstracción. „ Diseño ascendente: Abajo - arriba „ A la inversa, se resuelven los subproblemas, y las soluciones se integran para dar lugar a la solución del problema.
  • 33. Fase de diseño „ Diseño descendente: „ En primer lugar se plantea el problema empleando términos del mismo problema (nivel de abstracción 1). „ En segundo lugar, se descompone en varios subproblemas expresados también en términos del problema y tratando de hacerlos lo más independientes entre sí que sea posible. „ Este paso se repite para cada subproblema tantas veces como sea necesario hasta llegar a una descripción del problema que emplee instrucciones sencillas que puedan ser transformadas de forma sencilla a código en un lenguaje de programación.
  • 34. Fase de diseño. Ejemplo „ Enunciado: Proporcionar un algoritmo que determine si un año indicado por el usuario es bisiesto. „ Análisis: „ Entrada: El usuario debería introducir un año, un año es un número entero positivo. „ Proceso: Un año es bisiesto si es múltiplo de 4 pero no de 100, la excepción son los años múltiplos de 400. „ Salida: Hay dos posibles salidas: “El año es bisiesto” y “El año no es bisiesto”. „ Condiciones de error: Si el dato introducido no es válido (número negativo o cero) debería indicarse: “Dato no válido.”
  • 35. Fase de diseño. Ejemplo. „ Diseño „ 1. Determinar si un año indicado por el usuario es o no un año bisiesto. „ 1.1. Solicitar un año al usuario. „ 1.1.1. Dar un mensaje al usuario solicitando un año. „ 1.1.2. Leer el año. „ 1.1.3. Si el año no es válido indicárselo al usuario. „ 1.2. Determinar si el año es bisiesto o no. „ 1.2.1. Si el año no es múltiplo de 4 no es bisiesto. „ 1.2.2. Si el año es múltiplo de 4 pero no de 100 es bisiesto. „ 1.2.3. Si el año es múltiplo de 400 es bisiesto. „ 1.3. Indicar al usuario el resultado obtenido. „ 1.3.1. Si el año es bisiesto dar el mensaje “El año es bisiesto”. „ 1.3.2. Si el año no es bisiesto dar el mensaje “El año no es bisiesto”.
  • 36. Fase de diseño. Ejemplo. ESCRIBIR ‘Por favor, déme un año’ LEER AÑO SI AÑO <= 0 ENTONCES escribir ‘El año no es válido’ SINO SI el año es múltiplo de 4 ENTONCES SI el año es múltiplo de 400 ENTONCES BISIESTO ← si SINO SI el año es múltiplo de 100 ENTONCES BISIESTO ← no SINO BISIESTO ← si FINSI FINSI SINO BISIESTO ← no FINSI SI BISIESTO = si entonces escribir ‘El año es bisiesto’ SINO escribir ‘El año no es bisiesto’ FINSI FINSI
  • 37. Ejercicio „ Escribir el algoritmo que convierte una longitud expresada en centímetros en su equivalente expresada en pulgadas inicio CM_INCH =0.39 ESCRIBIR Dame long_cm INICIO CM_INCH = 0.39 LEER ESCRIBIR ‘Dame longitud a convertir’ long_cm LEER longitud_cm long_inch= CM_INCH * long_cm long_inch ← longitud_cm * CM_INCH; ESCRIBIR ‘la longitud en pulgadas es’, long_inch FIN ESCRIBIR long_inch FIN
  • 38. Ejercicio Comenzar „ Escribir el algoritmo que dado 3 ESCRIBIR números permita saber si la suma de Dame a, b y c cualquier pareja de ellos es igual al tercero. LEER a, b, c SI ESCRIBIR ‘Dame a,b,c’ a+b =c LEER a,b,c SI a+b=c ENTONCES NO escribir ‘IGUALES’ SI SINO a+c =b SI a+c=b ENTONCES escribir ‘IGUALES’ NO SINO SI SI b+c=a ENTONCES b+c=a escribir ‘IGUALES’ SINO NO escribir ‘DISTINTAS’ FINSI ESCRIBIR ESCRIBIR FINSI DISTINTAS IGUALES FINSI FINSI FIN
  • 39. Ejercicio Comenzar Escribir el algoritmo que imprima y numero=3 sume la serie 3, 6, 9, … 99 suma=0 indicador=1 INICIO ESCRIBIR numero=3 numero* indicador suma=0 indicador=1 suma=suma+(indicador * numero) MIENTRAS(indicador<=11) ESCRIBIR indicador * numero indicador=indicador+1 suma=suma + (indicador*numero) indicador = indicador +1 FIN MIENTRAS SI indicador <= 11 ESCRIBIR suma NO FIN ESCRIBIR suma FIN