ALGORITMOS Y PROGRAMACIN GRADO DCIMO TEMA 1 CONCEPTOS




































- Slides: 36
ALGORITMOS Y PROGRAMACIÓN GRADO DÉCIMO TEMA 1: CONCEPTOS BÁSICOS 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.
ALGORITMO: Nombre 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 • 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 CONCRETO FINITO LEGIBLE Debe realizar las Debe generar indicar realizar estarun elbien orden mismo las operaciones con un Debe tener estar terminar libre deen funciones de resultado estructurado realización usiempre operaciones para de cada que su mínimo errores. algún de momento utilización (Validado)de para fácil lasentendimiento. se que paso. siga. fue creado. recursos. Debe ser. . . EFICIENTE NO AMBIGUO DEFINIDO PRECISO
PARTES DE UN ALGORITMO • 1. - Entrada: Datos e Información • 2. - Proceso: Elaboración o Desarrollo • 3. - Salida: Resultado y Terminación
ALGORITMO: Estructura 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. Determinan la organización de las instrucciones que deben ser realizadas. Datos Procesos Estructuras de Control
ALGORITMO: Elementos 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. Definición de variables y constantes Entrada Es necesario identificar que datos se necesitan ingresar, cuales sirven de forma auxiliar y cuales se van a generar. Proceso Estructuras de control Cuerpo del algoritmo Salida
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: 1 Buscar la página de cines en el diario local, con fecha de hoy 2 Revisar la cartelera de arriba abajo y de izquierda a 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 3 4 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.
ALGORITMO: Otro ejemplo Encender un automóvil 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.
Los algoritmos se crean para resolver problemas. Es importante que junto al algoritmo, describamos claramente el problema que éste nos permite resolver. ALGORITMO: Requisitos 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. 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 son efectivamente correctos y conducen efectivamente a la solución esperada. Debe Definirse el problema Debe estar dentro de contexto Debe resolver el problema Debe evitar la ambigüedad
ALGORITMO: Técnicas de Representación Está técnica permite representar el algoritmo mediante un lenguaje más estructurado, facilitando su posterior codificación. Diagrama de Flujo 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. Inicio Instrucción 1 Instrucción 2 Si condición entonces Instrucción 3 . Pseudocódigo Instrucción n Fin
PSEUDOCÓDIGO: Cómo se Hace? Cada instrucción que se va a realizar debe comenzar por un verbo, ejemplo: Muestre, Haga, Lea, etc. 1 Se debe mantener una identación o sangría sobre el margen izquierdo para identificar fácilmente el comienzo y final de las estructuras 2 3 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.
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. Imprimir : Representa la acción de enviar datos desde variables a un dispositivo estándar de salida. Calcular : Denota la realización de cualquier operación aritmética que genere valores para ser almacenados en una variable. Fin: Denota el punto de finalización del algoritmo.
DIAGRAMA DE FLUJO: Simbología Lectura Inicio Proceso Captura Fin Permite indicar la Se utiliza para realización Permite indicar la indicar el punto de un proceso matemático, Entrada de datos desde inicio y finalización del un dispositivo estándar o una operación de diagrama asignación
DIAGRAMA DE FLUJO: Simbología Conectores Impresión Decisión Flujo Permiten enlazar los Permiten dar continuidad Permite establecer una símbolos de un sentido al diagrama si la página condición relacional ó único pueden ser o área de trabajo esta Indica la realización de horizontales o verticales. lógica que puede tomar operaciones de salida a un llena, el círculo se un valor de verdadero o Estas no pueden dispositivo estándar utiliza como un conector entrecruzarse y cada una falso, de este símbolo se (el monitor o impresor. ) dentro de la misma de ellas debe tener un deducen 2 flujos página, el otro símbolo único símbolo de partida alternativos de ejecución. se define como un y un único símbolo de conector a otra página. destino.
DIAGRAMA DE FLUJO: Simbología Estructuras de Decisión (Condición) Decisión. Múltiple Simple Compuesta Anidada Si No No No Si No Condición Si No Condición Val 1 Condición Val 2 Si Si Condición Val 3 Otro Caso condición Si condición entonces Val 1: Si condición entonces Instrucciones Si condición entonces Val 2: si no Instrucciones Si condición entonces Instrucciones Si condición entonces si no Instrucciones Val 3: Instrucciones si no Otros: Instrucciones Fin Caso
DIAGRAMA DE FLUJO: Simbología Estructuras de Ciclo Para Ciclo Mientras Hasta v=valini, v=valfinal, incremento Instrucciones Condición Instrucciones Si No No . . . Para v=valini, v=valfinal, inc . Instrucciones Repita Mientras Fin Para que condición. . Instrucciones. Hasta que condición Fin Mientras. v: variable. valini: valor inicial. valfinal: valor final inc: 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 Algoritmo Definición del problema Análisis del problema Selección de la mejor alternativa Diagramación Prueba de escritorio
ALGORITMO: Definición del Problema Está dada por el enunciado del problema, el cuál debe ser claro y completo Es importante que conozcamos exactamente que se desea. Mientras qué esto no se comprenda, no tiene caso pasar a la siguiente etapa.
ALGORITMO: Análisis del Problema Los datos de entrada que nos suministran Recursos Proceso Entendido el problema para resolverlo es preciso analizar Fórmulas Área de Trabajo Los datos de salida o resultados que se esperan
ALGORITMO: Selección de Alternativa Solución . . 1 Solución . . 3 Se debe tener en cuenta el principio de que las cosas siempre se podrán hacer de una mejor forma. La que produce los Solución . . 5 Analizado el problema resultados Esperados en el Lo importante es determinar cuál Posiblemente tengamos es la mejor alternativa menor tiempo y al menor varias formas de resolverlo costo Solución . . 2
ALGORITMO: Diagramación Dibujar gráficamente la lógica de la alternativa seleccionada Una vez que sabemos cómo resolver el problema Plasmar la solucion mediante el Pseudocódigo
ALGORITMO: Prueba de Escritorio Esta prueba consiste en: Es Recomendable Se utiliza para Dar diferentes datos de Al realizar lo anterior se puede Dar diferentes datos entrada y considerar todos corroborar que el comprobar si el algoritmo es de entrada al programa los posibles casos, aún los algoritmo plasmado correcto o de excepción o no en si hay necesidad cualquier de hacer ajustes esperados, para asegurar seguir la secuencia indicada herramienta presenta (volver al paso anterior) que el programa no la solución al produzca errores en problema inicial ejecución cuando se hasta presenten estos casos. obtener los resultados
ALGORITMO: Conceptos Tipo Constante Variable Dato de Dato Corresponde al tipo de Corresponde a un valor que puede espacio de memoria que Minima parte de la información. espacio de memoria que almacenarse en un Se refiere a los elementos que almacena un dato que espacio de memoria se utilizan en los algoritmos dentro del programa en definido y a la cantidad para realizar alguna operación ejecución mantiene ejecución cambia o varía de espacio que requiere sobre estos. siempre su contenido para almacenar un valor. su contenido (valor).
ALGORITMO: Tipos de Datos Boleano Real cadena Lógicos Entero Caracter Numéricos Carácter Tipos de Datos
ALGORITMO: Operadores >= <= > < = Relacionales != <> + Aritméticos / % ^ No Y && O || Lógicos
Programa de Aplicación Programa que permite resolver la ecuación de primer grado Algoritmo EC 1 er Grado Variables a, b, x de tipo entero Inicio 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 ALGORITMO a x + b = 0 a b ? x = -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”); }
EJEMPLO DE ALGORITMOS Algoritmo: Secuencia ordenada de acciones primitivas que realizan un trabajo. Ejemplos: Ir al trabajo 1. Levantarse 2. Darse una ducha 3. Vestirse 4. Desayunar 5. Tomar el bus (transporte) Cálculo de la media aritmética de dos números con una calculadora 1. Pulsar la tecla AC 2. Teclear el primer número 3. Pulsar la tecla + 4. Teclear el segundo número 5. Pulsar la tecla + 6. Pulsar la tecla / 7. Teclear el número 2 8. Pulsar la tecla =
Búsqueda Secuencial Consiste en ir comparando el elemento que se busca con cada elemento del arreglo hasta que se encuentra. 0 1 2 3 4 5 6 7 8 9 I N F M M M O M M M Á T I C A Í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 25 15 15 1 32 15 15 25 1 15 15 32 1 1 25 1 1 32 32 32 25 32 1
Un primer ejemplo de algoritmo El siguiente algoritmo calcula el área y el perímetro de un rectángulo 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) 1. 2. 3. 4. 5. 6. 7. Inicio Leer base y altura (b, a) ar ← b*a pe ← 2*(b + a) Escribir “Área del rectángulo: ”, ar Escribir “Perímetro del rectángulo: ”, pe Fin 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-algoritmosdiagrama-flujo. html
GENERALIDADES SOBRE LOS ALGORITMOS • Describir los pasos para cruzar la calle. • Describa los pasos para cambiar un bombillo quemado. • Describa los pasos para llevar a una amiga a cine. • Describa los pasos para cambiar la llanta pinchada de una cicla.
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