SlideShare una empresa de Scribd logo
Algoritmo y
metodología
para la
resolución de
problemas por
computadora
Un algoritmo es una serie de pasos
que se siguen para llegar a hacer una
acciones en especifico,
En informática, un algoritmo es una
secuencia de instrucciones
secuenciales, gracias al cual pueden
llevarse a cabo ciertos procesos y
darse respuesta a determinadas
necesidades o decisiones, estos
tienen la exigencia de ser precisos y
eficientes a la hora de resolver
conflictos, dicho esto un algoritmo no
tiene nada que ver con un solo
lenguaje de programación ya los
algoritmos se adaptan a barios
lenguajes de programación.
www.islide.cc 3
Tipos de
algoritmos
Existen cuatro tipos de algoritmos
en informática:
Algoritmos computacionales: Un
algoritmo cuya resolución depende
del cálculo, y que puede ser
desarrollado por una calculadora o
computadora sin dificultades.
Algoritmos no computacionales:
Aquellos que no requieren de los
procesos de un computador para
resolverse, o cuyos pasos son
exclusivos para la resolución por
parte de un ser humano.
Algoritmos cualitativos: Se trata
de un algoritmo en cuya resolución
no intervienen cálculos numéricos,
sino secuencias lógicas y/o
formales.
Algoritmos cuantitativos: Todo lo
contrario, es un algoritmo que
depende de cálculos matemáticos
para dar con su resolución.
Características
de los
algoritmos
Los algoritmos presentan las siguientes
características:
Secuenciales: Los algoritmos operan
en secuencia, debe procesarse uno a la
vez.
Precisos: Los algoritmos han de ser
precisos en su abordaje del tema, es
decir, no pueden ser ambiguos o
subjetivos.
Ordenados: Los algoritmos se deben
establecer en la secuencia precisa y
exacta para que su lectura tenga
sentido y se resuelva el problema.
Finitos: Toda secuencia de algoritmos
ha de tener un fin determinado, no
puede prolongarse hasta el infinito.
Concretos: Todo algoritmo debe
ofrecer un resultado en base a las
funciones que cumple.
Definidos: Un mismo algoritmo ante los
mismos elementos de entrada (input)
debe dar siempre los mismos resultados.
Partes de un
algoritmo
Todo algoritmo debe constar de
las siguientes partes:
Input o entrada: El ingreso de
los datos que el algoritmo
necesita para operar.
Proceso: Se trata de la
operación lógica formal que el
algoritmo emprenderá con lo
recibido del input.
Output o salida: Los resultados
obtenidos del proceso sobre el
input, una vez terminada la
ejecución del algoritmo.
¿Para qué sirve un
algoritmo?
Un algoritmo sirve para resolver
problemas de forma ordenada y de
manera secuencia buscando la
manera mas fácil de resolverlo
para repetirlo varias veces un
ejemplo claro seria cuando vas al
colegio y quieres llegar mas
temprano busca la ruta mas rápida
y la repites todos los días.
En las Ciencias de la computación,
no obstante, los algoritmos
constituyen el esqueleto de los
procesos que luego se codificarán
y programarán para que sean
realizados por el computador.
4
www.islide.cc 5
2 Tenemos que leer la longitud de los
dos catetos y calcular la hipotenusa.
(Teorema de Pitágoras).
Variables de entrada: cateto1(real),
cateto2(real).
Variables de salida: hipotenusa(real)
Análisis del problema
1
Un ejemplo de algoritmo cualitativo
sería un rompe cabezas done vas
colocando piezas paso a paso. Por otro
lado, un ejemplo de algoritmo
cuantitativo sería el cálculo del área de
un rectángulo, que conlleva el uso de
cálculos matemáticos para su
obtención.
Para un algoritmo condicional
podríamos ver un problema donde
dados los catetos de un triángulo
rectángulo, calcular su hipotenusa.
Otros Ejemplos de
algoritmos
3
-Leer la longitud de los catetos
-Calcular hipotenusa (En un triángulo rectángulo el
cuadrado de la hipotenusa es igual a la suma de los
cuadrados de los catetos). Por lo
tanto la hipotenusa es igual a la raíz cuadrada de la
suma de los cuadrados de los catetos.
-Mostrar la hipotenusa
……
Diseño del algoritmo
Algoritmo para elegir unos zapatos de fiesta:
1. INICIO
2. Entrar a la tienda y buscar la sección de
zapatos de caballero.
3. Tomar un par de zapatos.
4. ¿Son zapatos de fiesta?
SI: (ir al paso 5) – NO: (volver al paso 3)
5. ¿Hay de la talla adecuada?
SI: (ir al paso 6) – NO: (volver al paso 3)
6. ¿El precio es pagable?
SI: (ir al paso 7) – NO: (volver al paso 3)
7. Comprar el par de zapatos elegido.
8. FIN
Algoritmo para calcular el área de un
triángulo rectángulo:
INICIO
Hallar las medidas de la base (b) y altura
(h)
Multiplicar: base por altura (b x h)
Dividir entre 2 el resultado (b x h) / 2
FIN
Algoritmo calcular hipotenusa:
Definir cateto1,cateto2,hipotenusa
Como Real;
Escribir "Introduce el cateto 1:";
Leer cateto1;
Escribir "Introduce la cateto 2:";
Leer cateto2;
hipotenusa <- raiz(cateto1 ^ 2 + cateto2
^ 2);
Escribir "La hipotenusa es ",hipotenusa;
FinProceso
Ejemplos:
Metodología para la
resolución de problemas
por computadora
La solución de un problema
por computadora , esta
normalmente formado por
siete paso que conforman
su proceso los cuales son
dependientes ya que para
empezar con uno primero
debemos haber concluido
con el anterior lo que lo
hace un proceso
complementario.
www.islide.cc
7
Es el enunciado del problema, el
cual debe ser claro y completo. Es
fundamental conocer y delimitar por
completo el problema, saber que es
lo que se desea que realice la
computadora, mientras esto no se
conozca del todo, no tiene caso
continuar con el siguiente paso.
Una vez definido y analizado el
problema, se produce a la
creación del algoritmo (Diagrama
de flujo o pseudocodigo) en el cual
se da la serie de pasos ordenados
que nos proporcione un método
explicito para la solución del
problema.
Consiste en escribir la solución del
problema (de acuerdo al
pseudocodigo); en una serie de
instrucciones detalladas en un
código reconocible por la
computadora; es decir un lenguaje
de programación (ya sea de bajo o
alto nivel), a esta serie de
instrucciones se le conoce como
programa.
Definición de problema
Prueba es el proceso de identificar
los errores que se presenten durante
la ejecución de programa, es
conveniente que cuando se pruebe
un programa se tomen en cuenta los
siguientes puntos:
- Trata de iniciar la prueba con una
mentalidad saboteadora, casi
disfrutando la tarea de encontrar un
error.
- Sospechar de todos los resultados
que arroje la solución, con lo cual se
deberán verificar todos.
- Considerar todas las situaciones
posibles, normales y aun las
anormales.
La depuración consiste en eliminar
los errores que se hayan detectado
durante la prueba, para dar paso a
una situación adecuada y sin errores.
Es la guía o comunicación escrita que
sirve como ayuda para usar el programa,
o facilitar futuras modificaciones. A
menudo, un programa escrito por una
persona es usado por muchas otras, por
ello la documentación es muy importante;
esta debe presentarse en tres formas:
externa, interna y al usuario final.
-Interna: Consiste en los comentarios o
mensajes que se agregan al código de
programa, que aplican las funciones que
realizan ciertos procesos, cálculos o
formulas, para el entendimiento del
mismo.
-Externa: Está integrada por los
siguientes elementos: Descripción del
problema, nombre del autor, diagrama de
flujo y/o pseudocodigo, listas de variables
y constantes, y codificación del programa,
esto con la finalidad de permitir su
posterior adecuación a los cambios.
- Usuario Final: es la documentación que
se le proporciona al usuario final, es una
guía que indica al usuario como navegar
en el programa, presentando todas las
pantallas y menús que se va a encontrar
y una explicación de los mismos, no
contiene información de tipo técnico.
Se lleva a cabo después de terminado el programa, cuando
se ha estado trabajando un tiempo, y se detecta que es
necesario hacer un cambio, ajuste y/o complementación al
programa para que siga trabajando de manera correcta. Para
realizar esta función el programa debe estar debidamente
documentado, lo cual facilitará la tarea.
Prueba y depuración
Análisis de la solución
Consiste en establecer una serie de
preguntas acerca de lo que establece el
problema, para poder determinar si se
cuenta con los elementos suficientes
para llevar acabo la solución del mismo.
Diseño de la solución
Codificación
Documentación
Mantenimiento
¿Qué es un
diagrama de flujo?
El diagrama de flujo o también
diagrama de actividades es una
manera de representar
gráficamente un algoritmo o un
proceso de alguna naturaleza, a
través de una serie de pasos
estructurados y vinculados que
permiten su revisión como un
todo.
Los diagramas de flujo son un
mecanismo de control y
descripción de procesos, que
permiten una mayor
organización, evaluación o
replanteamiento de secuencias
de actividades y procesos de
distinta índole, dado que son
versátiles y sencillos.
Hay cuatro tipos de diagrama de flujo
en base al modo de su representación:
www.islide.cc 9
H
P
V A
Va de derecha a
izquierda, según el
orden de la lectura.
Horizontal
Va de arriba hacia abajo,
como una lista ordenada.
Vertical
Permiten ver el proceso
entero en una sola hoja,
usando el modelo vertical
y el horizontal.
Panorámico
Representa un itinerario
de trabajo o un área de
trabajo.
Arquitectónico
www.islide.cc 10
Proceso de un
diagrama de flujo
En este ámbito, hablamos
de procesos para referirnos
a una secuencia específica
de actividades, es decir, a
los pasos a dar dentro del
diagrama de flujo. Por
ejemplo, en informática, los
procesos son secuencias
iniciadas o bien por
disparadores programados
dentro del sistema, o por
intervenciones del usuario
del sistema. Cada uno
posee una dirección, un
propósito y una serie de
pasos que abarca.
Simbología de un
diagrama de flujo
Representa el inicio y
final de un proceso.
Línea de flujo
Indica el orden de las
operaciones.
Entrada y
salida
Representa la lectura
de datos en entrada y
la impresión de datos
en salida.
Proceso
Representa cualquier tipo
de operación.
Decisión
No permite analizar
una situación.
Inicio/final
Ejemplos de
diagrama de flujo
Diagrama de flujo para comprar
un teléfono
Entrar a la
tienda
Elegir el modelo
que buscas
¿Esta a
buen
precio?
No
si
Comprar
teléfono
Salir de la
tienda
¿Qué es el
Pseudocódigo?
Es la manera mas sencilla de dominar los
lenguajes de programación ya que
consiste en usar los códigos de un
lenguaje de programación pero en el
idioma español, este suele ser usado
como esquema inicial del programa que
se valla a hacer es decir es una guía
inicial para que el programador se oriente
a la hora de hacer un programa.
Vamos a ver unas breves explicaciones de
pseudocódigo, pero sobre todo ejemplos
de pseudocódigo. Es imprescindible para
entender los programas en pseudocódigo
que verás a continuación que entiendas lo
que son las variables y las estructuras de
control como por ejemplo la condicional
IF o la repetitiva FOR. Nosotros aquí no lo
vamos a explicar.
¿Cómo se escribe
en Pseudocódigo?
Como ya dijimos
es un lenguaje
intermedio entre
el lenguaje de
programación
que usemos y el
nuestro. No hay
unas reglas fijas
para escribir en
pseudocódigo,
pero la mayoría
de la gente usa
más o menos el
mismo
vocabulario.
Por ejemplo si queremos escribir algo en pantalla, en pseudocódigo
podríamos poner: Escribir "Hola" , Escribir 20 o Escribir Variable OJO
escribir 20 y escribir "20" son dos cosas diferentes. Lo que sea texto
siempre se pone entre comillas, los número NO. Entonces escribir 20,
es mostrar en pantalla el número 20 y escribir "20" es mostrar en
pantalla 20. Puede parecer lo mismo pero no lo es, en una 20 es un
texto y en otro un número. También podemos usar, en lugar de
escribir: mostrar por pantalla "Hola"
Para especificar el principio y el fin del
programa pondremos: Inicio
Aquí iría el programa en pseudocódigo Fin
Otra forma muy utilizada sería: Proceso
NombreDelPrograma Aquí iría el programa en
pseudocódigo FinProceso o
NombreDelPrograma
Escribir--> Escribe en pantalla el texto que pongamos
entre paréntesis o también puede escribir en pantalla
el valor de una variable. También podemos poner en
lugar de escribir la palabra Mostrar.
Leer Edad--> nos lee desde lo que el usuario marque desde el teclado
y guarda el valor, por ejemplo dentro de una variable, en este caso la
variable Edad.
¿Qué haría?. Pues muy sencillo, primero nos mostraría un mensaje en
pantalla preguntándonos la edad, luego escribiríamos la edad y el
valor introducido lo recogería la variable Edad (imagina que
introducimos 18). Por último mostraría en pantalla la frase: Tu edad
es 18. ¿Fácil no? En programación real suele utilizarse la instrucción
input en lugar de leer, pero ojo depende del lenguaje.
Calcular 3 x 5 --> Calcula valores numéricos. El resultado se recoge
normalmente dentro de una variable de la siguiente forma: multi = 3 x 5; la
variable multi tendrá en ese momento el valor de 3 x 5, es decir valdrá 15. Y
si ahora hacemos:
multi2 = multi x 2; ¿Qué valor tendrá la variable multi2? pues sencillo 30
(15 que es el valor de multi x 2).
Se pueden hacer todas las operaciones matemáticas que queramos. La
simbología utilizada es: Multiplicar: * Dividir: /, Sumar: +, Restar: - .
Raiz cuadrado de un número: raiz_cuadrada(numero).
Aquí tienes una tabla:
Operación Símbolo
Suma +
Resta -
Multiplicación *
División /
Entero de división
Potencia ^
Modulo Mod
También tenemos los
comparadores matemáticos:
Operador
relacional
Significado
> Mayor que
< Menor que
= Igual que
>= Mayor igual que
<= Menor igual que
A veces, en algunos lenguajes,
es necesario declarar el tipo de
las variables que vamos a
utilizar dentro del programa.
No es nada más que decir de
qué tipo son, numéricas, de
texto booleanas, etc. Se hace
siempre al principio del
programa y de la siguiente
forma: numéricas:
nombreVariable; para las
variables que sean de números
o texto: nombreVariable; para
las variables que contienen
textos o cadenas de texto
(string= cadena de texto) Todo
esto lo veremos mejor con los
siguientes ejemplos.
Ejemplos de Pseudocódigo
1-Pseudocódigo para un programa
que nos sume dos número
introducidos por el teclado:
Inicio
Escribir "Introduce el primer
número";
Lee numero1;
Escribir "Introduce el segundo
número";
Leer numero2;
resultado= numero1 + numero2;
Escribir resultado;
Fin
Recuerda: cuando queremos escribir
en pantalla una variable, como en
este caso la variable resultado, no
se pone entre comillas. Importante:
cuando acabamos una instrucción
siempre se pone ; antes de empezar
la siguiente.
2-Pseudocódigo para un
programa que nos diga la
tabla de multiplicar del
número que le digamos
(introducido por el teclado).
Programa: TablaMultiplicar
numericas: t, num , total;
Inicio
Escribir "Introduce un
número"
Leer num
InicioDesde
Desde t=1 hasta t=10
repetir
hacer total = num*t
Escribir: total
finDesde
Fin
3-Escribir un Pseudocódigo de un
programa que permita leer la edad
y peso de una persona y
posteriormente imprimirla.
Inicio
VariablesNumericas: edad, peso.
Imprimir "Escribir los datos (Edad,
Peso):";
Leer Edad, Leer Peso;
Escribir "Tu peso es: ", peso, " y tu
edad es: ", edad.;
Fin.
Te has fijado que para imprimir
algo en lugar de mostrarlo en la
pantalla, la palabra es "imprimir",
así de sencillo. Además podemos
mezclar en una frase texto fijo con
variables. Esto se puede hacer con
comas, como lo ves en el ejemplo
anterior o poniendo el signo + entre
el texto y las variables, como vimos
anteriormente. En el ejemplo
anterior podríamos ser: Escribir "Tu
peso es: " + peso + " y tu edad es:
" + edad.; Sería lo mismo.
GraciasPor ver mi presentación

Más contenido relacionado

PDF
Introduccion Analisis Algoritmos
DOCX
Algoritmos y metodología para la solución de problemas
PPT
algoritmos
PPTX
Algoritmos, Pseudocódigos, Diagrama de Flujo y Metodología
PPTX
ALGORITMO Y METODOLOGÍA PARA LA RESOLUCIÓN PROBLEMAS BASADOS EN EL COMPUTADOR
DOCX
Unidad 1
PPTX
Introduccion Analisis Algoritmos
Algoritmos y metodología para la solución de problemas
algoritmos
Algoritmos, Pseudocódigos, Diagrama de Flujo y Metodología
ALGORITMO Y METODOLOGÍA PARA LA RESOLUCIÓN PROBLEMAS BASADOS EN EL COMPUTADOR
Unidad 1

La actualidad más candente (19)

PPTX
ALGORITMOS EN EL SOFTWARE
PPTX
Informatica II - 1 Terminologia Usada en Algoritmos
PPTX
Presentación de computación
PPTX
Diagramas de flujo - Estructura - Definición
PDF
Resolucion De Problemas Con Computadora
PPTX
Algoritmo Y Pseudocódigo
PDF
Desarrollo de habilidades de pensamiento
DOCX
Desarrollo de habilidades de pensamiento
PPTX
Algoritmo
PPTX
Elaboracion de algoritmos
PDF
Analisis y diseño algoritmos
PPTX
Algoritmo
PPTX
Algoritmo
PPTX
Metodología para la solución de problemas con el uso de algoritmos
PPTX
Algoritmos, dfd, pseudocodigo
PPTX
ALGORITMOS
PPTX
Algoritmo
PPTX
Logica de programacion de algoritmos
ALGORITMOS EN EL SOFTWARE
Informatica II - 1 Terminologia Usada en Algoritmos
Presentación de computación
Diagramas de flujo - Estructura - Definición
Resolucion De Problemas Con Computadora
Algoritmo Y Pseudocódigo
Desarrollo de habilidades de pensamiento
Desarrollo de habilidades de pensamiento
Algoritmo
Elaboracion de algoritmos
Analisis y diseño algoritmos
Algoritmo
Algoritmo
Metodología para la solución de problemas con el uso de algoritmos
Algoritmos, dfd, pseudocodigo
ALGORITMOS
Algoritmo
Logica de programacion de algoritmos
Publicidad

Similar a Unidad2 compu luis jimenez (20)

PPT
Técnicas de Diseño Detallado.
PDF
Tema n° 1
DOCX
Algoritmos y diagramas_de_flujo
PPTX
Presentación Luis Barreto
PPT
Introduccion A La Programacion
PPT
Concentrado del Modulo Soluciones de Problemas - Manuel Gonzalez Sanchez
PDF
Desarrollo de habilidades de pensamiento
PDF
Lectura no. 2 algoritmos.
DOCX
2do Trabajo de Investigación de Programación.docx
PDF
Etapas del desarrolo de un programa
DOCX
PDF
Algoritmo
PDF
Algoritmo
PPTX
Definición de Algoritmos y características
PPTX
Algoritmos Grado 11-01
PPT
Introducción a la Informática - Los Algoritmos
PDF
Algoritmo
PPT
Lenguajes de programación parte i.3
Técnicas de Diseño Detallado.
Tema n° 1
Algoritmos y diagramas_de_flujo
Presentación Luis Barreto
Introduccion A La Programacion
Concentrado del Modulo Soluciones de Problemas - Manuel Gonzalez Sanchez
Desarrollo de habilidades de pensamiento
Lectura no. 2 algoritmos.
2do Trabajo de Investigación de Programación.docx
Etapas del desarrolo de un programa
Algoritmo
Algoritmo
Definición de Algoritmos y características
Algoritmos Grado 11-01
Introducción a la Informática - Los Algoritmos
Algoritmo
Lenguajes de programación parte i.3
Publicidad

Último (20)

PPTX
Curso Corto de PLANTA CONCENTRADORA FREEPORT
PDF
manual-sap-gratuito _ para induccion de inicio a SAP
PPTX
PPT PE 7 ASOCIACIONES HUAMANGA_TALLER DE SENSIBILIZACIÓN_20.04.025.pptx
PDF
FUNCION CUADRATICA FUNCIONES RAIZ CUADRADA
PPTX
ARQUITECTURA INTEGRAL EN OBRA, PRINCIPIOS BASICOS Y TERMINOS
PDF
MANTENIMIENTO AIRE ACOINDICIOANDO S1_ELEC_MANT.pptx.pdf
PDF
LIBRO UNIVERSITARIO SOFTWARE PARA INGENIERIA BN.pdf
PDF
BROCHURE SERVICIOS CONSULTORIA ISOTEMPO 2025
PPTX
TOPOGRAFÍA - INGENIERÍA CIVIL - PRESENTACIÓN
PDF
alimentos de bebidas45rtrtytyurrrr 1.pdf
PPTX
DEBL Presentación PG 23.pptx [Autoguardado].pptx
PDF
LIBRO UNIVERSITARIO DESARROLLO ORGANIZACIONAL BN.pdf
PDF
Diseño y Utiliación del HVAC Aire Acondicionado
PDF
Módulo V. Tema 2. Disruptive & Transformation 2024 v.0.4.pdf
PPTX
PPT SESIÓN 6 Los Injertos.- Micropropagación e Injertos Clonales.pptx
PDF
Clase 2 de abril Educacion adistancia.pdf
PDF
manual-sostenibilidad-vivienda-yo-construyo (1).pdf
PPTX
Riesgo eléctrico 5 REGLAS DE ORO PARA TRABAJOS CON TENSION
PPTX
Electronica II, material basico de electronica II
PDF
Matriz_Seguimiento_Estu_Consult_2024_ACT.pdf
Curso Corto de PLANTA CONCENTRADORA FREEPORT
manual-sap-gratuito _ para induccion de inicio a SAP
PPT PE 7 ASOCIACIONES HUAMANGA_TALLER DE SENSIBILIZACIÓN_20.04.025.pptx
FUNCION CUADRATICA FUNCIONES RAIZ CUADRADA
ARQUITECTURA INTEGRAL EN OBRA, PRINCIPIOS BASICOS Y TERMINOS
MANTENIMIENTO AIRE ACOINDICIOANDO S1_ELEC_MANT.pptx.pdf
LIBRO UNIVERSITARIO SOFTWARE PARA INGENIERIA BN.pdf
BROCHURE SERVICIOS CONSULTORIA ISOTEMPO 2025
TOPOGRAFÍA - INGENIERÍA CIVIL - PRESENTACIÓN
alimentos de bebidas45rtrtytyurrrr 1.pdf
DEBL Presentación PG 23.pptx [Autoguardado].pptx
LIBRO UNIVERSITARIO DESARROLLO ORGANIZACIONAL BN.pdf
Diseño y Utiliación del HVAC Aire Acondicionado
Módulo V. Tema 2. Disruptive & Transformation 2024 v.0.4.pdf
PPT SESIÓN 6 Los Injertos.- Micropropagación e Injertos Clonales.pptx
Clase 2 de abril Educacion adistancia.pdf
manual-sostenibilidad-vivienda-yo-construyo (1).pdf
Riesgo eléctrico 5 REGLAS DE ORO PARA TRABAJOS CON TENSION
Electronica II, material basico de electronica II
Matriz_Seguimiento_Estu_Consult_2024_ACT.pdf

Unidad2 compu luis jimenez

  • 1. Algoritmo y metodología para la resolución de problemas por computadora
  • 2. Un algoritmo es una serie de pasos que se siguen para llegar a hacer una acciones en especifico, En informática, un algoritmo es una secuencia de instrucciones secuenciales, gracias al cual pueden llevarse a cabo ciertos procesos y darse respuesta a determinadas necesidades o decisiones, estos tienen la exigencia de ser precisos y eficientes a la hora de resolver conflictos, dicho esto un algoritmo no tiene nada que ver con un solo lenguaje de programación ya los algoritmos se adaptan a barios lenguajes de programación.
  • 3. www.islide.cc 3 Tipos de algoritmos Existen cuatro tipos de algoritmos en informática: Algoritmos computacionales: Un algoritmo cuya resolución depende del cálculo, y que puede ser desarrollado por una calculadora o computadora sin dificultades. Algoritmos no computacionales: Aquellos que no requieren de los procesos de un computador para resolverse, o cuyos pasos son exclusivos para la resolución por parte de un ser humano. Algoritmos cualitativos: Se trata de un algoritmo en cuya resolución no intervienen cálculos numéricos, sino secuencias lógicas y/o formales. Algoritmos cuantitativos: Todo lo contrario, es un algoritmo que depende de cálculos matemáticos para dar con su resolución. Características de los algoritmos Los algoritmos presentan las siguientes características: Secuenciales: Los algoritmos operan en secuencia, debe procesarse uno a la vez. Precisos: Los algoritmos han de ser precisos en su abordaje del tema, es decir, no pueden ser ambiguos o subjetivos. Ordenados: Los algoritmos se deben establecer en la secuencia precisa y exacta para que su lectura tenga sentido y se resuelva el problema. Finitos: Toda secuencia de algoritmos ha de tener un fin determinado, no puede prolongarse hasta el infinito. Concretos: Todo algoritmo debe ofrecer un resultado en base a las funciones que cumple. Definidos: Un mismo algoritmo ante los mismos elementos de entrada (input) debe dar siempre los mismos resultados. Partes de un algoritmo Todo algoritmo debe constar de las siguientes partes: Input o entrada: El ingreso de los datos que el algoritmo necesita para operar. Proceso: Se trata de la operación lógica formal que el algoritmo emprenderá con lo recibido del input. Output o salida: Los resultados obtenidos del proceso sobre el input, una vez terminada la ejecución del algoritmo.
  • 4. ¿Para qué sirve un algoritmo? Un algoritmo sirve para resolver problemas de forma ordenada y de manera secuencia buscando la manera mas fácil de resolverlo para repetirlo varias veces un ejemplo claro seria cuando vas al colegio y quieres llegar mas temprano busca la ruta mas rápida y la repites todos los días. En las Ciencias de la computación, no obstante, los algoritmos constituyen el esqueleto de los procesos que luego se codificarán y programarán para que sean realizados por el computador. 4
  • 5. www.islide.cc 5 2 Tenemos que leer la longitud de los dos catetos y calcular la hipotenusa. (Teorema de Pitágoras). Variables de entrada: cateto1(real), cateto2(real). Variables de salida: hipotenusa(real) Análisis del problema 1 Un ejemplo de algoritmo cualitativo sería un rompe cabezas done vas colocando piezas paso a paso. Por otro lado, un ejemplo de algoritmo cuantitativo sería el cálculo del área de un rectángulo, que conlleva el uso de cálculos matemáticos para su obtención. Para un algoritmo condicional podríamos ver un problema donde dados los catetos de un triángulo rectángulo, calcular su hipotenusa. Otros Ejemplos de algoritmos 3 -Leer la longitud de los catetos -Calcular hipotenusa (En un triángulo rectángulo el cuadrado de la hipotenusa es igual a la suma de los cuadrados de los catetos). Por lo tanto la hipotenusa es igual a la raíz cuadrada de la suma de los cuadrados de los catetos. -Mostrar la hipotenusa …… Diseño del algoritmo Algoritmo para elegir unos zapatos de fiesta: 1. INICIO 2. Entrar a la tienda y buscar la sección de zapatos de caballero. 3. Tomar un par de zapatos. 4. ¿Son zapatos de fiesta? SI: (ir al paso 5) – NO: (volver al paso 3) 5. ¿Hay de la talla adecuada? SI: (ir al paso 6) – NO: (volver al paso 3) 6. ¿El precio es pagable? SI: (ir al paso 7) – NO: (volver al paso 3) 7. Comprar el par de zapatos elegido. 8. FIN Algoritmo para calcular el área de un triángulo rectángulo: INICIO Hallar las medidas de la base (b) y altura (h) Multiplicar: base por altura (b x h) Dividir entre 2 el resultado (b x h) / 2 FIN Algoritmo calcular hipotenusa: Definir cateto1,cateto2,hipotenusa Como Real; Escribir "Introduce el cateto 1:"; Leer cateto1; Escribir "Introduce la cateto 2:"; Leer cateto2; hipotenusa <- raiz(cateto1 ^ 2 + cateto2 ^ 2); Escribir "La hipotenusa es ",hipotenusa; FinProceso Ejemplos:
  • 6. Metodología para la resolución de problemas por computadora La solución de un problema por computadora , esta normalmente formado por siete paso que conforman su proceso los cuales son dependientes ya que para empezar con uno primero debemos haber concluido con el anterior lo que lo hace un proceso complementario.
  • 7. www.islide.cc 7 Es el enunciado del problema, el cual debe ser claro y completo. Es fundamental conocer y delimitar por completo el problema, saber que es lo que se desea que realice la computadora, mientras esto no se conozca del todo, no tiene caso continuar con el siguiente paso. Una vez definido y analizado el problema, se produce a la creación del algoritmo (Diagrama de flujo o pseudocodigo) en el cual se da la serie de pasos ordenados que nos proporcione un método explicito para la solución del problema. Consiste en escribir la solución del problema (de acuerdo al pseudocodigo); en una serie de instrucciones detalladas en un código reconocible por la computadora; es decir un lenguaje de programación (ya sea de bajo o alto nivel), a esta serie de instrucciones se le conoce como programa. Definición de problema Prueba es el proceso de identificar los errores que se presenten durante la ejecución de programa, es conveniente que cuando se pruebe un programa se tomen en cuenta los siguientes puntos: - Trata de iniciar la prueba con una mentalidad saboteadora, casi disfrutando la tarea de encontrar un error. - Sospechar de todos los resultados que arroje la solución, con lo cual se deberán verificar todos. - Considerar todas las situaciones posibles, normales y aun las anormales. La depuración consiste en eliminar los errores que se hayan detectado durante la prueba, para dar paso a una situación adecuada y sin errores. Es la guía o comunicación escrita que sirve como ayuda para usar el programa, o facilitar futuras modificaciones. A menudo, un programa escrito por una persona es usado por muchas otras, por ello la documentación es muy importante; esta debe presentarse en tres formas: externa, interna y al usuario final. -Interna: Consiste en los comentarios o mensajes que se agregan al código de programa, que aplican las funciones que realizan ciertos procesos, cálculos o formulas, para el entendimiento del mismo. -Externa: Está integrada por los siguientes elementos: Descripción del problema, nombre del autor, diagrama de flujo y/o pseudocodigo, listas de variables y constantes, y codificación del programa, esto con la finalidad de permitir su posterior adecuación a los cambios. - Usuario Final: es la documentación que se le proporciona al usuario final, es una guía que indica al usuario como navegar en el programa, presentando todas las pantallas y menús que se va a encontrar y una explicación de los mismos, no contiene información de tipo técnico. Se lleva a cabo después de terminado el programa, cuando se ha estado trabajando un tiempo, y se detecta que es necesario hacer un cambio, ajuste y/o complementación al programa para que siga trabajando de manera correcta. Para realizar esta función el programa debe estar debidamente documentado, lo cual facilitará la tarea. Prueba y depuración Análisis de la solución Consiste en establecer una serie de preguntas acerca de lo que establece el problema, para poder determinar si se cuenta con los elementos suficientes para llevar acabo la solución del mismo. Diseño de la solución Codificación Documentación Mantenimiento
  • 8. ¿Qué es un diagrama de flujo? El diagrama de flujo o también diagrama de actividades es una manera de representar gráficamente un algoritmo o un proceso de alguna naturaleza, a través de una serie de pasos estructurados y vinculados que permiten su revisión como un todo. Los diagramas de flujo son un mecanismo de control y descripción de procesos, que permiten una mayor organización, evaluación o replanteamiento de secuencias de actividades y procesos de distinta índole, dado que son versátiles y sencillos.
  • 9. Hay cuatro tipos de diagrama de flujo en base al modo de su representación: www.islide.cc 9 H P V A Va de derecha a izquierda, según el orden de la lectura. Horizontal Va de arriba hacia abajo, como una lista ordenada. Vertical Permiten ver el proceso entero en una sola hoja, usando el modelo vertical y el horizontal. Panorámico Representa un itinerario de trabajo o un área de trabajo. Arquitectónico
  • 10. www.islide.cc 10 Proceso de un diagrama de flujo En este ámbito, hablamos de procesos para referirnos a una secuencia específica de actividades, es decir, a los pasos a dar dentro del diagrama de flujo. Por ejemplo, en informática, los procesos son secuencias iniciadas o bien por disparadores programados dentro del sistema, o por intervenciones del usuario del sistema. Cada uno posee una dirección, un propósito y una serie de pasos que abarca. Simbología de un diagrama de flujo Representa el inicio y final de un proceso. Línea de flujo Indica el orden de las operaciones. Entrada y salida Representa la lectura de datos en entrada y la impresión de datos en salida. Proceso Representa cualquier tipo de operación. Decisión No permite analizar una situación. Inicio/final
  • 11. Ejemplos de diagrama de flujo Diagrama de flujo para comprar un teléfono Entrar a la tienda Elegir el modelo que buscas ¿Esta a buen precio? No si Comprar teléfono Salir de la tienda
  • 12. ¿Qué es el Pseudocódigo? Es la manera mas sencilla de dominar los lenguajes de programación ya que consiste en usar los códigos de un lenguaje de programación pero en el idioma español, este suele ser usado como esquema inicial del programa que se valla a hacer es decir es una guía inicial para que el programador se oriente a la hora de hacer un programa. Vamos a ver unas breves explicaciones de pseudocódigo, pero sobre todo ejemplos de pseudocódigo. Es imprescindible para entender los programas en pseudocódigo que verás a continuación que entiendas lo que son las variables y las estructuras de control como por ejemplo la condicional IF o la repetitiva FOR. Nosotros aquí no lo vamos a explicar.
  • 13. ¿Cómo se escribe en Pseudocódigo? Como ya dijimos es un lenguaje intermedio entre el lenguaje de programación que usemos y el nuestro. No hay unas reglas fijas para escribir en pseudocódigo, pero la mayoría de la gente usa más o menos el mismo vocabulario. Por ejemplo si queremos escribir algo en pantalla, en pseudocódigo podríamos poner: Escribir "Hola" , Escribir 20 o Escribir Variable OJO escribir 20 y escribir "20" son dos cosas diferentes. Lo que sea texto siempre se pone entre comillas, los número NO. Entonces escribir 20, es mostrar en pantalla el número 20 y escribir "20" es mostrar en pantalla 20. Puede parecer lo mismo pero no lo es, en una 20 es un texto y en otro un número. También podemos usar, en lugar de escribir: mostrar por pantalla "Hola" Para especificar el principio y el fin del programa pondremos: Inicio Aquí iría el programa en pseudocódigo Fin Otra forma muy utilizada sería: Proceso NombreDelPrograma Aquí iría el programa en pseudocódigo FinProceso o NombreDelPrograma Escribir--> Escribe en pantalla el texto que pongamos entre paréntesis o también puede escribir en pantalla el valor de una variable. También podemos poner en lugar de escribir la palabra Mostrar. Leer Edad--> nos lee desde lo que el usuario marque desde el teclado y guarda el valor, por ejemplo dentro de una variable, en este caso la variable Edad. ¿Qué haría?. Pues muy sencillo, primero nos mostraría un mensaje en pantalla preguntándonos la edad, luego escribiríamos la edad y el valor introducido lo recogería la variable Edad (imagina que introducimos 18). Por último mostraría en pantalla la frase: Tu edad es 18. ¿Fácil no? En programación real suele utilizarse la instrucción input en lugar de leer, pero ojo depende del lenguaje. Calcular 3 x 5 --> Calcula valores numéricos. El resultado se recoge normalmente dentro de una variable de la siguiente forma: multi = 3 x 5; la variable multi tendrá en ese momento el valor de 3 x 5, es decir valdrá 15. Y si ahora hacemos: multi2 = multi x 2; ¿Qué valor tendrá la variable multi2? pues sencillo 30 (15 que es el valor de multi x 2). Se pueden hacer todas las operaciones matemáticas que queramos. La simbología utilizada es: Multiplicar: * Dividir: /, Sumar: +, Restar: - . Raiz cuadrado de un número: raiz_cuadrada(numero).
  • 14. Aquí tienes una tabla: Operación Símbolo Suma + Resta - Multiplicación * División / Entero de división Potencia ^ Modulo Mod También tenemos los comparadores matemáticos: Operador relacional Significado > Mayor que < Menor que = Igual que >= Mayor igual que <= Menor igual que A veces, en algunos lenguajes, es necesario declarar el tipo de las variables que vamos a utilizar dentro del programa. No es nada más que decir de qué tipo son, numéricas, de texto booleanas, etc. Se hace siempre al principio del programa y de la siguiente forma: numéricas: nombreVariable; para las variables que sean de números o texto: nombreVariable; para las variables que contienen textos o cadenas de texto (string= cadena de texto) Todo esto lo veremos mejor con los siguientes ejemplos.
  • 15. Ejemplos de Pseudocódigo 1-Pseudocódigo para un programa que nos sume dos número introducidos por el teclado: Inicio Escribir "Introduce el primer número"; Lee numero1; Escribir "Introduce el segundo número"; Leer numero2; resultado= numero1 + numero2; Escribir resultado; Fin Recuerda: cuando queremos escribir en pantalla una variable, como en este caso la variable resultado, no se pone entre comillas. Importante: cuando acabamos una instrucción siempre se pone ; antes de empezar la siguiente. 2-Pseudocódigo para un programa que nos diga la tabla de multiplicar del número que le digamos (introducido por el teclado). Programa: TablaMultiplicar numericas: t, num , total; Inicio Escribir "Introduce un número" Leer num InicioDesde Desde t=1 hasta t=10 repetir hacer total = num*t Escribir: total finDesde Fin 3-Escribir un Pseudocódigo de un programa que permita leer la edad y peso de una persona y posteriormente imprimirla. Inicio VariablesNumericas: edad, peso. Imprimir "Escribir los datos (Edad, Peso):"; Leer Edad, Leer Peso; Escribir "Tu peso es: ", peso, " y tu edad es: ", edad.; Fin. Te has fijado que para imprimir algo en lugar de mostrarlo en la pantalla, la palabra es "imprimir", así de sencillo. Además podemos mezclar en una frase texto fijo con variables. Esto se puede hacer con comas, como lo ves en el ejemplo anterior o poniendo el signo + entre el texto y las variables, como vimos anteriormente. En el ejemplo anterior podríamos ser: Escribir "Tu peso es: " + peso + " y tu edad es: " + edad.; Sería lo mismo.
  • 16. GraciasPor ver mi presentación