domingo, 31 de marzo de 2019

Estructuras algoritmicas.


1.-Las estructuras algorítmicas son  un proceso en donde se trabaja las variables para llegar hacer una acción en donde se crea un proceso desde un inicio hasta llegar a un final. Las estructuras algorítmicas son varias como secuenciales condicionales y cíclicas en fin los algoritmos son como la solución de un problema desde el comienzo hasta el fin.

2.-Son un grupo de formas de trabajo que permiten mediante la manipulación de variables,realizar ciertos procesos específicos que nos lleven a la solución de problemas.




3.-Las estructuras de operación de programas son un grupo de formas de trabajo, que permiten, mediante la manipulación de variables, realizar ciertos procesos específicos que nos lleven a la solución de problemas.

4.- 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. Se trata de conjuntos ordenados y finitos de pasos, que nos permiten resolver un problema o tomar una decisión.



  • 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.
Se clasifica en:



  • Secuenciales. Los algoritmos operan en secuencia, debe procesarse uno a la vez. Son  aquellos en que una acción sigue a otra en secuencia.
  • 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.
  • Condicionales: Son  aquellos que permiten comparar una variable  contra otro valor, se utilizan para tomar decisiones lógicas, existen tres tipos : 
  • Simples: Se ejecuta una determinada acción cuando se cumple  determinanda  condición.
    Dobles: Son aquellos que permiten elegir entre dos opciones o alternativas posibles.
    • Cíclicas: son aquellos tipos de estructura que repiten una secuencia de instrucciones un número determinado de veces, para encontrar la solución a un problema, estas son denominados como bucles, entre los cuales encontramos:
    Este repite un proceso una cantidad de veces, determinada por un condicional, que lo ejecuta hasta que la condicional se cumpla.


    Estas estructuras se clasifican de acuerdo con su complejidad en:<br />Asignación<br />Entrada<br />Secuenciales<br />Sali...



    Existen cuatro tipos de algoritmos en informática:



  • Sus componentes son:
    Asignación: es el paso de valores o resultados a una zona de la memoria, esta zona sera reconocida   con el nombre de la variable que recibe el valor.
    Entrada: consiste en recibir un valor o un dato, por medio de algún dispositivo de entrada.
    Salida: se manda el resultado o mensaje, por medio de algún dispositivo de salida del computador.

  • Múltiples: son aquellos que permiten elegir cuando hay mas de dos elecciones o alternativas posibles.
    para: en esta se conoce el numero de interacciones o veces que se repite la acción, antes de iniciar la ejecución del ciclo.
    mientras que: este se repite un numero determinado de veces, para esto la instrucción se acompaña de una condición, la cual debe cumplirse para seguir la ejecución del ciclo, de lo contrario este se termina.

    Este repite un proceso una cantidad de veces, determinada por un condicional, que lo ejecuta hasta que la condicional se cumpla.
    una característica importante de esta estructura es que permite realizar el proceso cuando menos una vez, ya que la condición se evalúa al final del proceso.

    Estructuras condicionales.
    Las estructuras condicionales comparan una variable contra otros(s) valor(es), para que con base en el resultado de esta comparación, se siga un curso de acción dentro del programa cabe mencionar que la comparación se puede hacer con otra variable o contra una constante, según se necesite. Existen tres tipos básicos:


    Simples: se les conocen como tomas de decisión y tienen la siguiente forma:


    Dobles: permiten elegir entre dos opciones o alternativas posibles en función del cumplimiento o no de una determinada condición. Se representan de la siguiente forma:





    Múltiples: Son tomas de decisión, especializadas que permiten comparar una variable contra distintos posibles resultados, ejecutando para cada caso una serie de instrucciones especificas. LA forma común  es la siguiente:


    Estructuras Secuenciales:
    La estructura secuencial es aquella en la que una acción (instrucción) sigue a otra en secuencia. Las tareas se suceden de tal modo que la salida de una es la entrada de la siguiente y así sucesivamente hasta el fin del proceso. 

    En Pseudocódigo una Estructura Secuencial se representa de la siguiente forma: 



    Observe el siguiente problema de tipo cotidiano y sus respectivos algoritmos representados en Pseudocódigo y en diagramas de flujos: 


    • Tengo un teléfono y necesito llamar a alguien pero no sé como hacerlo. 

    El anterior ejemplo es un sencillo algoritmo de un problema cotidiano dado como muestra de una estructura secuencial. Ahora veremos los componentes que pertenecen a ella: 


    Asignación 


    La asignación consiste, en el paso de valores o resultados a una zona de la memoria. Dicha zona será reconocida con el nombre de la variable que recibe el valor. La asignación se puede clasificar de la siguiente forma: 
    • Simples: Consiste en pasar un valor constante a una variable (a 15)
    • Contador: Consiste en usarla como un verificador del numero de veces que se realiza un proceso (a  a + 1)
    • Acumulador: Consiste en usarla como un sumador en un proceso (a  a + b)
    • De trabajo: Donde puede recibir el resultado de una operación matemática que involucre muchas variables (a c + b*2/4).
    En general el formato a utilizar es el siguiente: 
    < Variable >      <valor o expresión >

    El símbolo      debe leerse “asigne”. 


    Escritura o salida de datos 


    Consiste en mandar por un dispositivo de salida (p.ej. monitor o impresora) un resultado o mensaje. Esta instrucción presenta en pantalla el mensaje escrito entre comillas o el contenido de la variable. Este proceso se representa así como sigue: 

    Lectura o entrada de datos 


    La lectura o entrada de datos consiste en recibir desde un dispositivo de entrada (p.ej. el teclado) un valor o dato. Este dato va a ser almacenado en la variable que aparece a continuación de la instrucción. Esta operación se representa así: 

    DECLARACIÓN DE VARIABLES Y CONSTANTES 


    La declaración de variables es un proceso que consiste en listar al principio del algoritmo todas las variables que se usarán, además de colocar el nombre de la variable se debe decir qué tipo de variable es.


    Contador:   ENTERO 

    Edad, I:   ENTERO 
    Direccion :    CADENA_DE_CARACTERES 
    Salario_Basico :    REAL 
    Opcion :    CARACTER 

    En la anterior declaración de variables Contador, Edad e I son declaradas de tipo entero; Salario_Basico es una variable de tipo real, Opcion es de tipo carácter y la variable Direccion está declarada como una variable alfanumérica de cadena de caracteres. 


    En el momento de declarar constantes debe indicarse que lo es y colocarse su respectivo valor. 


    CONSTANTE Pi 3.14159 

    CONSTANTE Msg “Presione una tecla y continue” 
    CONSTANTE ALTURA 40 

    Cuando se trabaja con algoritmos por lo general no se acostumbra a declarar las variables ni tampoco constantes debido a razones de simplicidad, es decir, no es camisa de fuerza declarar las variables. Sin embargo en este curso lo haremos para todos los algoritmos que realicemos, con esto logramos hacerlos más entendibles y organizados y de paso permite acostumbrarnos a declararlas ya que la mayoría de los lenguajes de programación (entre ellos el C++) requieren que necesariamente se declaren las variables que se van a usar en los programas. 


    Veamos algunos ejemplos donde se aplique todo lo que hemos visto hasta el momento sobre algoritmos: 


    Ejemplo 1: Escriba un algoritmo que pregunte por dos números y muestre como resultado la suma de estos. Use Pseudocódigo y diagrama de flujos. 



    Estructuras cíclicas: 
    Se llaman problemas repetitivos o cíclicos a aquellos en cuya solución es necesario utilizar un mismo conjunto de acciones que se puedan ejecutar una cantidad específica de veces. Esta cantidad puede ser fija (previamente determinada por el programador) o puede ser variable (estar en función de algún dato dentro del programa). Los ciclos se clasifican en: 

    Ciclos con un Numero Determinado de Interacciones 

    • (Para): Son aquellos en que el número de interacciones se conoce antes de ejecutarse el ciclo. La forma de esta estructura es la siguiente:
      PseudocódigoDiagrama de Flujos
         
      Dado un valor inicial exp1 asignado a la variable esta se irá aumentando o disminuyendo de acuerdo a la exp3 hasta llegar a la exp2; si se omite el paso, significa que la variable aumentará de uno en uno.
    Ciclos con un Número Indeterminado de Interacciones 

    Son aquellos en que el numero de interacciones no se conoce con exactitud, ya que esta dado en función de un dato dentro del programa. 

    • Mientras Que: Esta es una estructura que repetirá un proceso durante “N” veces, donde “N” puede ser fijo o variable. Para esto, la instrucción se vale de una condición que es la que debe cumplirse para que se siga ejecutando. Cuando la condición ya no se cumple, entonces ya no se ejecuta el proceso. La forma de esta estructura es la siguiente: 
      PseudocódigoDiagrama de Flujos
         
    • Repita-Hasta: Esta es una estructura similar en algunas características, a la anterior. Repite un proceso una cantidad de veces, pero a diferencia del Mientras Que, el Repita-Hasta lo hace hasta que la condición se cumple y no mientras, como en el Mientras Que. Por otra parte, esta estructura permite realizar el proceso cuando menos una vez, ya que la condición se evalúa al final del proceso, mientras que en el Mientras Que puede ser que nunca llegue a entrar si la condición no se cumple desde un principio. La forma de esta estructura es la siguiente: 
      PseudocódigoDiagrama de Flujos
         
    Ejemplo 1: 

    Realizar un algoritmo que muestre los números de uno en uno hasta diez usando una estructura Para. Exprese el algoritmo usando Pseudocódigo y diagrama de flujos.

    PseudocódigoDiagrama de Flujos
       


    Algoritmos.

    Definición:
    1.- Se denomina algoritmo a un grupo finito de operaciones organizadas de manera lógica y ordenada que permite solucionar un determinado problema. Se trata de una serie de instrucciones o reglas establecidas que, por medio de una sucesión de pasos, permiten arribar a un resultado o solución.
    Según los expertos en matemática, los algoritmos permiten trabajar a partir de un estado básico o inicial y, tras seguir los pasos propuestos, llegar a una solución.  

    Además de todo lo expuesto, en el ámbito matemático, y cuando estamos decididos a llevar a cabo la descripción de uno de esos algoritmos hay que tener en cuenta que se puede efectuar mediante tres niveles. Así, en primer lugar, nos encontramos con el de alto nivel, lo que es la descripción formal y finalmente la tarea de implementación.
    Asimismo tampoco podemos pasar por alto que los algoritmos se pueden expresar a través de lenguajes de programación, pseudocódigo, el lenguaje natural y también a través de los conocidos como diagramas de flujo.

    2.-El término suele ser señalado como el número fijo de pasos necesarios para transformar información de entrada (un problema) en una salida (su solución). 
    Existen ciertas propiedades que alcanzan a todos los algoritmos, con excepción de los denominados algoritmos paralelos: el tiempo secuencial (los algoritmos funcionan paso a paso), el estado abstracto (cada algoritmo es independiente de su implementación) y la exploración acotada (la transición entre estados queda determinada por una descripción finita y fija).
    Cabe mencionar por último que los algoritmos son muy importantes en la informática ya que permiten representar datos como secuencias de bits. Un programa es un algoritmo que indica a la computadora qué pasos específicos debe seguir para desarrollar una tarea.

    3.-En matemáticas, lógica, ciencias de la computación y disciplinas relacionadas, un algoritmo (del latín, dixit algorithmus y este del griego arithmos, que significa «número», quizá también con influencia del nombre del matemático persa Al-Juarismi) ​ es un conjunto prescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permiten llevar a cabo una actividad mediante pasos sucesivos que no generen dudas a quien deba hacer dicha actividad.Dados un estado inicial y una entrada, siguiendo los pasos sucesivos se llega a un estado final y se obtiene una solución.

    4.-En términos de programación, un algoritmo es una secuencia de pasos lógicos que permiten solucionar un problema. Los derechos de autor otorgan al propietario el derecho exclusivo sobre el uso de la obra, con algunas excepciones.  

    5.- Para las ciencias de la matemática y de la computación, un algoritmo es una lista que, dado un estado inicial y una entrada, propone pasos sucesivos para arribar a un estado final obteniendo una solución.También en la vida cotidiana se emplean este tipo de operatorias casi sin notarlo: por ejemplo, en los instructivos o manuales de usuario que incluyen ejemplos de resolución de problemas técnicos.
    El empleo de algoritmos no es exclusivamente propio de operaciones complejas o ligadas al ámbito de la investigación científica. Al desarrollar un programa de computación, por citar un ejemplo, a menudo estamos desarrollando o implementando un método para resolver algún problema. En definitiva, se trata de una relación problema-solución que tiene lugar a través de la informática. Un algoritmo típico tiene carácter finito, es preciso, tiene tanto una entrada como una salida y es eficaz en la resolución de un problema.

    Reseña del creador de los algoritmos:
    El concepto de algoritmo tiene una larga historia que implica la invención de números, matemáticas y computadoras.
    La palabra en sí tiene una interesante historia de origen que se remonta a Khwãrezm (que tiene varias variantes de deletreo), una región de oasis en Asia Central a lo largo del Amu Darya. Con su fácil acceso al agua en una región por lo demás árida, esta área cerca del Mar de Aral fue una vez la sede de civilizaciones influyentes gobernadas por grupos étnicos persas y de Asia Central

    Uno de los residentes más famosos de Khwãrezm fue Muhammad ibn Musa al-Khwarizmi, un influyente erudito, astrónomo, geógrafo y matemático del siglo noveno conocido especialmente por sus contribuciones al estudio del álgebra. De hecho, la latinización de su nombre, que significaba "el nativo de Khwãrezm" en persa, le dio al inglés la palabra algoritmo.



    El Origen Del Algoritmo Y Muhammad Ibn Musa Al-Khwarizmi


     Mohammed Ibn Musa-al-Khwarizmi desarrolló en su obra "Al-yebr-mugabata" fórmulas para posibilitar que con un número limitado de procesos fuese posible resolver ecuaciones de primer y segundo grado. Aunque no fuese el creador en sí del primer algoritmo, el icónico matemático fue el primero en pensar en modo algorítmico pues explicó que, mediante una especificación clara y concisa de cómo calcular sistemáticamente, se podrían definir algoritmos que fueran usados en dispositivos mecánicos similares a un ábaco en vez de las manos.
    'Algoritmo', por tanto, se refería originalmente sólo a las reglas de la aritmética con números arábigos. Fue en el siglo XVIII cuando se expandió su significado para abarcar en su definición a toda clase de procedimientos utilizados con el propósito de resolver problemas o realizar determinadas tareas.
    El primer caso de un algoritmo escrito para una computadora son las notas escritas por Ada Byron (en la imagen de abajo), reputada matemática británica, en 1842 para el motor analítico de Charles Babbage. Es, por esta razón, por lo que se considera a Ada Byron como la primera programadora de la historia. Sin embargo, dado que Babbage nunca terminó su motor analítico, el algoritmo que realizó jamás llegó a implementarse.


     

    Las Características Fundame... by on Scribd

    sábado, 30 de marzo de 2019

    Diagramas de flujo.






    1.- El diagrama de flujo o flujograma o diagrama de actividades es la representación gráfica de un algoritmo o proceso. Se utiliza en disciplinas como programación, economía, procesos industriales y psicología cognitiva.

    2.- Un diagrama de flujo es una representación gráfica de un proceso. Cada paso del proceso se representa por un símbolo diferente que contiene una breve descripción de la etapa de proceso. Los símbolos gráficos del flujo del proceso están unidos entre sí con flechas que indican la dirección de flujo del proceso.
    El diagrama de flujo ofrece una descripción visual de las actividades implicadas en un proceso. Muestra la relación secuencial entre ellas, facilitando la rápida comprensión de cada actividad y su relación con las demás, el flujo de la información y los materiales, las ramas en el proceso, la existencia de bucles repetitivos, el número de pasos del proceso, las operaciones de interparlamentarios… Facilita también la selección de indicadores de proceso.

    3.- Según el Lenguaje Unificado de Modelado (UML), es un diagrama de actividades que representa los flujos de trabajo paso a paso. Un diagrama de actividades muestra el flujo de control general.

    4.-Un diagrama de flujo es un diagrama que describe un proceso, sistema o algoritmo informático. Se usan ampliamente en numerosos campos para documentar, estudiar, planificar, mejorar y comunicar procesos que suelen ser complejos en diagramas claros y fáciles de comprender. Los diagramas de flujo emplean rectángulos, óvalos, diamantes y otras numerosas figuras para definir el tipo de paso, junto con flechas conectoras que establecen el flujo y la secuencia. Pueden variar desde diagramas simples y dibujados a mano hasta diagramas exhaustivos creados por computadora que describen múltiples pasos y rutas. Si tomamos en cuenta todas las diversas figuras de los diagramas de flujo, son uno de los diagramas más comunes del mundo, usados por personas con y sin conocimiento técnico en una variedad de campos. Los diagramas de flujo a veces se denominan con nombres más especializados, como "diagrama de flujo de procesos", "mapa de procesos", "diagrama de flujo funcional", "mapa de procesos de negocios", "notación y modelado de procesos de negocio (BPMN)" o "diagrama de flujo de procesos (PFD)". Están relacionados con otros diagramas populares, como los diagramas de flujo de datos (DFD) y los diagramas de actividad de lenguaje unificado de modelado (UML).

    Diagram



    Símbologia de Diagramas de ... by on Scribd

    jueves, 14 de marzo de 2019

    ¿Cómo solucionar problemas?


    Definiciones de Problema:
    1.- Un problema es una circunstancia en la que se genera un obstáculo al curso normal de las cosas. Su etimología nos demuestra que un problema es aquel que requiere de solución. A nivel social, el concepto más genérico de problema puede ser vertido en cualquier campo, porque en teoría, problemas existen en todos lados. La falta de razonamiento no es un declive en la orientación del concepto, ejemplo, los animales de cualquier especie pueden afrontar circunstancias en las que se vean comprometidas su salud o incluso su vida y eso es un problema. 
    Un problema individual es aquel que solo le produce daños o molestias a una sola persona, sin embargo, otras podrían colaborar o participar en la búsqueda de la solución de este pero esto es una variable relativa, depende de cada situación. Los problemas colectivos son los que por lo general involucran a una comunidad o a un grupo de personas que comparten un espacio geográfico o un área determinada (una urbanización, un barco). En este último caso no solo una persona debe avocarse a la solución del problema sino todos en conjunto.

    2.-Un problema es un determinado asunto o una cuestión que requiere de una solución. A nivel social, se trata de alguna situación en concreto que, en el momento en que se logra solucionar, aporta beneficios a la sociedad (como lograr disminuir la tasa de pobreza de un país o reconstruir edificios arrasados por un terremoto).

    3.-Un problema es un asunto o cuestión que se debe solucionar o aclarar,una contradicción o un conflicto entre lo que es y lo que debe ser, una dificultad o un inconveniente para la consecución de un fin o un disgusto, una molestia o una preocupación.

    4.-Un problema es un hecho, situación o cuestión que precisa de una solución. Es un conflicto que se presenta como inconveniente para alcanzar objetivos o estabilidad en distintos ámbitos.

    5.-Un problema aparece cuando las personas o sujetos involucrados no conocen los caminos a seguir para encontrar una salida, por lo que su esquema previo o la planificación que tenían se ve sometida a cuestionamientos que los llevan a reordenar o rehacer sus ideas. Es lo que se entiende también como incongruencia entre el pensamiento y los hechos.
    Antes de lanzarnos a buscar soluciones y aplicarlas para intentar resolver el problema sobre el cual nuestro proyecto va a trabajar, hay que analizar detenidamente cuales son los factores que lo han provocado, causas colaterales, efectos que no son detectables a primera vista, etc. Siguiendo un sencillo método podemos ponerle objetivos y un alcance especifico a todo aquello que queramos solucionar:

     (Pasos o método para dar solución a un problema) 

    Paso 1: Identificar, indicar, reconocer y clarificar el problema:
    Este paso implica una fase de identificación de los diversos problemas que
    llevan a la selección de un tema principal, que será el que vayamos a resolver (el problema seleccionado puede ser el más importante para el grupo de personas/organizaciones involucradas o puede ser seleccionado de acuerdo con la experiencia del grupo que se ocupa del mismo.
    Implica además una clara definición de cual es el problema a tratar estableciendo qué puede estar causándolo y dónde están las dificultades, decidiendo sobre los puntos principales del mismo.

    PASO 2. Analizar el problema recopilando hechos e información:
    Implica la recopilación de la información necesaria para trabajar en el problema a fin de familiarizarse con todas las causas posibles.

    PASO 3. Desarrollar soluciones alternativas:
    Implica la enumeración y el examen de todas las diferentes formas para solucionar un problema y un análisis del impacto tanto positivo como negativo de cada solución alternativa.

    PASO 4. Seleccionar la mejor solución:
    Este paso consiste en el proceso de seleccionar la mejor o mejores soluciones alternativas del grupo de soluciones posibles que hemos encontrado. La alternativa ideal puede no ser la mejor en ese momento. La mejor alternativa se determina con base no solamente en su
    eficiencia, o porque es la solución más rápida, sino además en consideración de factores tales como el presupuesto y tiempo disponibles, la situación económica, la capacidad del personal para ejecutarla, etc.

    PASO 5. Diseñar un plan de acción:
    Implica definir una meta, delineando los objetivos y tareas específicas, el programa y presupuesto, las responsabilidades, etc.

    PASO 6. Implementar una solución:
    Implica poner la solución escogida en ejecución y supervisar su progreso así como el seguimiento correcto del plan del proyecto.

    PASO 7. Supervisar y evaluar:
    Este paso implica la evaluación sobre cómo hemos alcanzado nuestro objetivo, determinando los efectos o ramificaciones de la solución y las implicaciones positivas y negativas del proceso/fases del proyecto respecto a nuestra idea y objetivos iniciales.