un algoritmo es una secuencia, finita y ordenada de instrucciones que han de seguirse para resolver...
TRANSCRIPT
Un algoritmo es una secuencia, finita y ordenada de instrucciones que han de seguirse para resolver un problema. Un programa normalmente implementa (traduce a un lenguaje de programación concreto) uno o más algoritmos. Un algoritmo puede expresarse de distintas maneras: en forma gráfica, como un diagrama de flujo, en forma de código como en pseudocódigo o un lenguaje de programación, en forma explicativa, etc.
ALGORITMOS Y PROGRAMACIÓN GRADO
DÉCIMO TEMA 1: CONCEPTOS BÁSICOS
ALGORITMOS Y PROGRAMACIÓN GRADO
DÉCIMO TEMA 1: CONCEPTOS BÁSICOS
El nombre en latín de algoritmo proviene de la traducción que realizó Fibonacci, de la obra del matemático árabe Al'Khwarizmi llamada , Algoritmi de Numero Indorum.
El nombre en latín de algoritmo proviene de la traducción que realizó Fibonacci, de la obra del matemático árabe Al'Khwarizmi llamada , Algoritmi de Numero Indorum.
ALGORITMO: Nombre
ALGORITMO
• Es el método para resolver problemas. Es una serie de operaciones detalladas a ejecutar paso a paso y que conducen a la resolución de un problema. Conjunto de reglas o la forma de describir la solución del problema. Es una descripción de acciones que deben ser ejecutadas y una descripción de los datos que son manipulados por esas acciones.
ALGORITMO: Características
FINITOFINITO
CONCRETOCONCRETO LEGIBLELEGIBLE
DEFINIDO DEFINIDO
PRECISOPRECISO
NO AMBIGUO
NO AMBIGUO
EFICIENTEEFICIENTE
Debe ser...Debe tener terminar en algún momento
Debe realizar las funciones u
operaciones para las que fue creado.
Debe estar bien estructurado para su fácil entendimiento.
Debe realizar las operaciones con un
mínimo de utilización de recursos.
Debe estar libre de errores. (Validado)
Debe indicar un orden de realización de
cada paso.
Debe generar el mismo resultado
siempre que se siga.
PARTES DE UN ALGORITMO
• 1.- Entrada: Datos e Información
• 2.- Proceso: Elaboración o Desarrollo
• 3.- Salida: Resultado y Terminación
ALGORITMO: Estructura
DatosDatos
ProcesosProcesos
Estructuras de Control
Estructuras de Control
Corresponden a los datos requeridos para realizar el algoritmo (datos de entrada) y los datos que son generados (datos de salida)
Conforma el grupo de instrucciones que realizan las operaciones con los datos.
Conforma el grupo de instrucciones que realizan las operaciones con los datos.
Determinan la organización de las instrucciones que deben ser realizadas.
Determinan la organización de las instrucciones que deben ser realizadas.
ALGORITMO: Elementos
Definición de variables y constantes
Definición de variables y constantes
ProcesoEstructuras de control
ProcesoEstructuras de control
EntradaEntrada SalidaSalida
Es necesario identificar que datos se necesitan ingresar, cuales sirven de forma auxiliar y cuales se van a generar.
Las instrucciones que se van a realizar deben estar bien estructuradas y tener un orden lógico, con el fin de evitar inconsistencias en el resultado.
Cuerpo del algoritmoCuerpo del algoritmo
ALGORITMO: Quienes pueden hacer un algoritmo?
Toda persona, implícitamente y diariamente diseña y realiza algoritmos, para dar solución a situaciones cotidianas de forma natural.
Sin embargo el programador, diseña el algoritmo consiente de que al realizar cada paso obtendrá la solución de un problema específico.
ALGORITMO: Cómo se hace?
El programador sin embargo, lo haría de este otro modo:
Buscar la página de cines en el diario local, con fecha de hoy
Revisar la cartelera de arriba abajo y de izquierdaa derecha, buscando entre los títulos existentes.
Si se encuentra el título La Guerra de las Galaxias, no seguir buscando. Apuntar el nombre del cine, su dirección y los horarios
Si no se encuentra el título en la cartelera, esperar una semana y volver a empezar el proceso a partir del punto 1 de esta lista.
11
22
33
44
1. Poner la llave.
2. Asegurarse que el cambio esté en neutro.
3. Pisar el el acelerador.
4. Girar la llave hasta la posición “arranque”.
5. Si el motor arranca antes de 6 seg, dejar la llave en la posición “encendido”.
6. Si el motor no arranca antes de 6 seg, volver al paso 3 (como máximo 5 veces).
7. Si el auto no arranca, llamar a la grúa.
Encender un automóvil
ALGORITMO: Otro ejemplo
ALGORITMO: Requisitos
Los algoritmos se crean para resolverproblemas. Es importante que junto al algoritmo, describamos claramente el problema que éste nos permite resolver.
Los algoritmos se crean para resolverproblemas. Es importante que junto al algoritmo, describamos claramente el problema que éste nos permite resolver.
No debemos omitir el contexto de nuestros algoritmos. Es necesario establecer lo que se necesita y dónde se debe comenzar.
No debemos omitir el contexto de nuestros algoritmos. Es necesario establecer lo que se necesita y dónde se debe comenzar.Seguir los pasos del algoritmo debe llevarnos a la resolución del problema.Siempre que sea posible seguiremos personalmente los pasos de nuestro algoritmo para comprobar que sonefectivamente correctos y conducen efectivamente a la solución esperada.
Por ejemplo: Si se requiere hallar la velocidad de un automóvil, es necesario, definir si la distancia debe ser en metros, kilómetros, etc y el tiempo estará dado en segundos u horas, ya que la velocidad puede representarse en Km/h ó mts/seg.
Por ejemplo: Si se requiere hallar la velocidad de un automóvil, es necesario, definir si la distancia debe ser en metros, kilómetros, etc y el tiempo estará dado en segundos u horas, ya que la velocidad puede representarse en Km/h ó mts/seg.
Debe Definirse el problema
Debe Definirse el problema
Debe estar dentro de contexto
Debe estar dentro de contexto
Debe resolver el problema
Debe resolver el problema
Debe evitar la ambigüedad
Debe evitar la ambigüedad
ALGORITMO: Técnicas de
Representación
Es una técnica que permite representar gráficamente las operaciones y estructuras que se van a realizar, mediante una simbología estándar, con un único punto de inicio y uno de finalización.
Está técnica permite representar el algoritmo mediante un lenguaje más estructurado, facilitando su posterior codificación.
Diagrama de Flujo
Diagrama de Flujo
PseudocódigoPseudocódigo
Inicio Instrucción 1 Instrucción 2 Si condición entonces Instrucción 3 . . . Instrucción nFin
PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar debe comenzar por un verbo, ejemplo: Muestre, Haga, Lea, etc.
Se debe mantener una identación o sangría sobre el margen izquierdo para identificar fácilmente el comienzo y final de las estructuras
La representación de las estructuras son similares u homónimas de los lenguajes de programación, ejemplo: inicio, fin, mientras que, repita_hasta, si_entonces_sino, etc.
11
22
33
PSEUDOCÓDIGO:Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo.
Leer : Denota la acción de introducir datos o variables desde un dispositivo estándar de entrada.
Calcular : Denota la realización de cualquier operación aritmética que genere valores para ser
almacenados en una variable.
Imprimir : Representa la acción de enviar datos desde variables a un dispositivo estándar de salida.
Fin: Denota el punto de finalización del algoritmo.
Se utiliza para indicar el punto de
inicio y finalización del diagrama
Se utiliza para indicar el punto de
inicio y finalización del diagrama
DIAGRAMA DE FLUJO: Simbología
Permite indicar la Entrada de datos desde un dispositivo estándar
Permite indicar la Entrada de datos desde un dispositivo estándar
Inicio Fin
Inicio Fin
Lectura CapturaLectura Captura
Permite indicar la realización
de un proceso matemático, o una operación de
asignación
Permite indicar la realización
de un proceso matemático, o una operación de
asignación
ProcesoProceso
Indica la realización de operaciones de salida a un
dispositivo estándar (el monitor o impresor.)
Indica la realización de operaciones de salida a un
dispositivo estándar (el monitor o impresor.)
DIAGRAMA DE FLUJO: Simbología
Permite establecer una condición relacional ó
lógica que puede tomar un valor de verdadero o
falso, de este símbolo se deducen 2 flujos
alternativos de ejecución.
Permite establecer una condición relacional ó
lógica que puede tomar un valor de verdadero o
falso, de este símbolo se deducen 2 flujos
alternativos de ejecución.
ImpresiónImpresiónDecisiónDecisión Permiten dar continuidad al diagrama si la página
o área de trabajo esta llena, el círculo se
utiliza como un conector dentro de la misma
página, el otro símbolo se define como un
conector a otra página.
Permiten dar continuidad al diagrama si la página
o área de trabajo esta llena, el círculo se
utiliza como un conector dentro de la misma
página, el otro símbolo se define como un
conector a otra página.
ConectoresConectores Permiten enlazar los símbolos de un sentido
único pueden ser horizontales o verticales.
Estas no pueden entrecruzarse y cada una
de ellas debe tener un único símbolo de partida
y un único símbolo de destino.
Permiten enlazar los símbolos de un sentido
único pueden ser horizontales o verticales.
Estas no pueden entrecruzarse y cada una
de ellas debe tener un único símbolo de partida
y un único símbolo de destino.
FlujoFlujo
Condición
Si
NoCondición
Si NoSi condición entonces InstruccionesSi condición entonces Instrucciones
DIAGRAMA DE FLUJO: Simbología
Estructuras de Decisión (Condición)
Si condición entonces Instrucciones si no Instrucciones
Si condición entonces Instrucciones si no Instrucciones
Decisión Simple
Decisión Simple
Decisión Compuesta
Decisión Compuesta
CondiciónSi No
CondiciónNo
CondiciónSi No
Decisión AnidadaDecisión Anidada
Si condición entonces Si condición entonces Instrucciones si no Si condición entonces Instrucciones si no Instrucciones
Si condición entonces Si condición entonces Instrucciones si no Si condición entonces Instrucciones si no Instrucciones
Caso condición Val1: Instrucciones Val2: Instrucciones Val3: Instrucciones Otros: InstruccionesFin Caso
Caso condición Val1: Instrucciones Val2: Instrucciones Val3: Instrucciones Otros: InstruccionesFin Caso
Decisión MúltipleDecisión Múltiple
Condición
Si
NoCondición
Val3Val1 Val2 Otro
Condición
Si
No
Instrucciones
.
.
.Mientras que condición InstruccionesFin Mientras...
.
.
.Mientras que condición InstruccionesFin Mientras...
DIAGRAMA DE FLUJO: SimbologíaEstructuras de Ciclo
.
.
.RepitaInstruccionesHasta que condición...
.
.
.RepitaInstruccionesHasta que condición...
Ciclo MientrasCiclo MientrasCiclo HastaCiclo HastaCiclo ParaCiclo Para...Para v=valini, v=valfinal, inc Instrucciones Fin Para...v: variablevalini: valor inicialvalfinal: valor finalinc: incremento
...Para v=valini, v=valfinal, inc Instrucciones Fin Para...v: variablevalini: valor inicialvalfinal: valor finalinc: incrementoCondición
Si
No
Instrucciones
Instrucciones
v=valini,v=valfinal, incremento
SIMBOLO, REPRESENTACIÓN Y SIGNIFICADO DIAGRAMA DE FLUJO Representación gráfica del algoritmo:
diagramas de flujo
Símbolo Representación Significado
Flechas o líneas de flujo Indica el sentido de ejecución de las acciones
Rectángulo Proceso o acción a realizar (por ejemplo, asignación)
Paralelogramo Representa una entrada o salida
Rombo Representa el constructor de selección (decisión lógica)
Rectángulo redondeado Representa el inicio y fin del diagrama
Círculo Se usa como conector entre dos partes del diagrama
ALGORITMO: Fases de Diseño
Análisis del problema
Definición del problema
Selección de la mejor alternativa
Diagramación
Prueba de escritorio
Alg
ori
tmo
ALGORITMO: Definición del Problema
Está dada por el enunciado del problema, el cuál debe ser claro y
completo
Está dada por el enunciado del problema, el cuál debe ser claro y
completo
Es importante que conozcamos exactamente que se desea.
Es importante que conozcamos exactamente que se desea.
Mientras qué esto no se comprenda, no tiene caso pasar a la siguiente etapa. Mientras qué esto no se comprenda, no tiene caso pasar a la siguiente etapa.
Proceso
ALGORITMO: Análisis del Problema
Entendido el problema para resolverlo es preciso analizar Entendido el problema para resolverlo es preciso analizar
Los datos de salida o
resultados que se esperan
Los datos de salida o
resultados que se esperan
Los datos de entrada que nos
suministran
Los datos de entrada que nos
suministran
Áreade
Trabajo
Fórmulas Recursos
ALGORITMO: Selección de Alternativa
Analizado el problema Posiblemente tengamos varias formas de resolverlo
Analizado el problema Posiblemente tengamos varias formas de resolverlo
Solución ..1Solución ..1
Solución ..2Solución ..2
Solución ..3Solución ..3
Solución ..5Solución ..5
Lo importante es determinar cuál es la mejor alternativa
Lo importante es determinar cuál es la mejor alternativa
La que produce los resultados Esperados en el menor tiempo y al menor costo
La que produce los resultados Esperados en el menor tiempo y al menor costo
Se debe tener en cuenta el principio de que las
cosas siempre se podrán hacer de una mejor
forma.
Se debe tener en cuenta el principio de que las
cosas siempre se podrán hacer de una mejor
forma.
ALGORITMO: Diagramación
Una vez que
sabemos
cómo resolver el
problema
Dibujargráficamente la lógica de la alternativa
seleccionada
Plasmar la solucion
mediante elPseudocódigo
ALGORITMO: Prueba de Escritorio
Esta prueba consiste en:Esta prueba consiste en:
Dar diferentes datos de entrada al programa
Dar diferentes datos de entrada al programa
seguir la secuencia indicada seguir la secuencia indicada
hasta obtener los resultados
hasta obtener los resultados
Se utiliza para corroborar que el algoritmo plasmado en cualquier herramienta presenta la solución al problema inicial
Se utiliza para corroborar que el algoritmo plasmado en cualquier herramienta presenta la solución al problema inicial
Al realizar lo anterior se puede comprobar si el algoritmo es
correcto o si hay necesidad de hacer ajustes
(volver al paso anterior)
Al realizar lo anterior se puede comprobar si el algoritmo es
correcto o si hay necesidad de hacer ajustes
(volver al paso anterior)
Es Recomendable
Dar diferentes datos de entrada y considerar todos los posibles casos, aún los de excepción o no esperados, para asegurar que el programa no produzca errores en ejecución cuando se presenten estos casos.
Es Recomendable
Dar diferentes datos de entrada y considerar todos los posibles casos, aún los de excepción o no esperados, para asegurar que el programa no produzca errores en ejecución cuando se presenten estos casos.
ALGORITMO: Conceptos
Minima parte de la información.Se refiere a los elementos que se utilizan en los algoritmos para realizar alguna operación sobre estos.
Minima parte de la información.Se refiere a los elementos que se utilizan en los algoritmos para realizar alguna operación sobre estos.
Corresponde al tipo de valor que puede
almacenarse en un espacio de memoria
definido y a la cantidad de espacio que requiere
para almacenar un valor.
Corresponde al tipo de valor que puede
almacenarse en un espacio de memoria
definido y a la cantidad de espacio que requiere
para almacenar un valor.
DatoDatoTipo de DatoTipo de Dato
Corresponde a un espacio de memoria que
almacena un dato que dentro del programa en
ejecución cambia o varía su contenido (valor)..
Corresponde a un espacio de memoria que
almacena un dato que dentro del programa en
ejecución cambia o varía su contenido (valor)..
VariableVariableCorresponde a un
espacio de memoria que almacena un dato que
dentro del programa en ejecución mantiene
siempre su contenido (valor).
Corresponde a un espacio de memoria que
almacena un dato que dentro del programa en
ejecución mantiene siempre su contenido
(valor).
ConstanteConstante
Tipos de
Datos
ALGORITMO: Tipos de Datos
CaracterCaracter
RealReal
EnteroEntero
BoleanoBoleano
cadenacadena
Numéricos
Lógicos
Carácter
ALGORITMO: Operadores
Aritméticos
Lógicos
Relacionales
+- >
<=
NoY &&O ||
/ ^
%>=<=
!= <>
Programa de AplicaciónPrograma que permite resolver la ecuación de primer grado
Programa que permite resolver la ecuación de primer grado
a x + b = 0
?a
bx = -b / a
#include <stdio.h>int a,b,x;main(){ printf(“Ingrese valores de EC”); scanf(“%d %d”,&a,&b); if a ==0 printf (“error”); else { x = -b / a; printf(“La solución es %d:”,x); } printf(“Fin programa”);}
Algoritmo EC 1er GradoVariables a,b,x de tipo enteroInicio Escribir(“Ingrese valores de EC”) Leer (a,b) Si a = 0 entonces escribir (“Error”) sino Inicio x=-b/a Escribir (“La solución es:”,x) Fin Escribir(“Fin programa”)
Fin
EJEMPLO DE ALGORITMOSAlgoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo. Ejemplos:
Ir al trabajo1.Levantarse2.Darse una ducha3.Vestirse4.Desayunar5.Tomar el bus (transporte)
Cálculo de la media aritmética de dos números con una calculadora1.Pulsar la tecla AC2.Teclear el primer número3.Pulsar la tecla +4.Teclear el segundo número5.Pulsar la tecla +6.Pulsar la tecla /7.Teclear el número 28.Pulsar la tecla =
1
Búsqueda Secuencial
Consiste en ir comparando el elemento que se busca con cada elemento del arreglo hasta que se encuentra.
I N F O M Á T I C A
M M M M M
0 1 2 3 4 5 6 7 8 9
Índice resultado = 4
1
Ordenamiento Burbuja
El algoritmo consiste en que los elementos mÁs pesados se hundan y los mÁs livianos salgan a flote.25 25
32
15
1 1
32
15
32
1
15
25
32
1
25
15
32
25
1
15
32
25
15
1
32
25
15
1
Un primer ejemplo de algoritmo
El siguiente algoritmo calcula el área y el perímetro de un rectángulo
1. Inicio
2. Leer base y altura (b, a)
3. ar ← b*a
4. pe ← 2*(b + a)
5. Escribir “Área del rectángulo: ”, ar
6. Escribir “Perímetro del rectángulo: ”, pe
7. Fin
Datos de entrada: b y a (base y altura)Datos de salida: ar y pe (área y perímetro)Procesos: ar = b*a, pe = 2*(b + a)
Análisis resumido del problema
ACTIVIDADES
1. COPIAR DIAPOSITIVAS EN EL CUADERNO.
2. DESARROLLAR LOS SIGUIENTES ALGORITMOS EN EL CUADERNO (Llegar al colegio,
3. REALIZAR EXAMEN EN EL SIGUIENTE LING: (Copiar en el cuaderno preguntas y respuestas) http://www.creartest.com/hacertests-63959-EXAMEN_DE_ALGORITMICA.php
4. REALIZAR EL SIGUIENTE TEST: (Copiar en el cuaderno preguntas y respuestas) http://www.daypo.com/test-logica-algoritmos.html
5. REALIZAR TEST: (Copiar en el cuaderno preguntas y respuestas) http://www.daypo.com/test-algoritmos-diagrama-flujo.html
GENERALIDADES SOBRE LOS ALGORITMOS
• Describir los pasos para cruzar la calle.
• Describa los pasos para llevar a una amiga a cine.
• Describa los pasos para cambiar la llanta pinchada de una cicla.
• Describa los pasos para cambiar un bombillo quemado.
PALABRAS CLAVES
Computadora, Hardware, Software, Informática,
Código binario, Periféricos, Memoria, Programación de computadoras, programador, Programación estructurada, Lenguaje de programación, Interprete, Compilador, Variable, Constante, Diagrama de flujo, Diagramas de flujo, Algoritmos, Toma de decisión, Ciclos, Funciones