viernes, 15 de marzo de 2019

LENGUAJES DE PROGRAMACIÓN GRÁFICO

¿Qué es un lenguaje gráfico?



El lenguaje gráfico, por tanto, utiliza imágenes bidimensionales para comunicar y expresar, realizadas con los tres elementos básicos: El punto, la línea y el plano o mancha (se considera plano o mancha una zona más o menos extensa de una superficie bidimensional, y puede estar más o menos delimitada o fundirse con otros elementos).

Son instrucciones o reglas bien claras, definidas, ordenadas y finitas que permiten hallar la solución de un problema, es la presentación gráfica de las operaciones que realiza un algoritmo.

Estructuras algorítmicas

Esta forma de trabajo que permiten mediante la manipulación de variables, realizar ciertos procesos específicos que nos lleven a la solución de problemas.

El lenguaje de programación Visual Basic es uno de los lenguajes de programación que utiliza una interfaz visual es decir que nos permite programar en un entorno gráfico, nos permite realizar un gran número de tareas sin escribir código, simplemente realizando operaciones con el ratón sobre la pantalla de la computadora.

Este lenguaje de programación es uno de los que más interés despiertan entre los programadores. Porque este lenguaje de programación, el Visual Basic, le facilita la realización de tareas complejas en poco tiempo y a los que están comenzado a programar con Visual Basic ven como son capaces de realizar pequeños programas al poco tiempo de haber comenzado a estudiar este lenguaje de programación.

El Visual Basic es un lenguaje de programación que proviene del BASIC. La primera versión de este lenguaje de programación Visual Basic fue presentada en el año 1991. La intención de este primer programa era simplificar la programación utilizando un entorno de trabajo claro que permitiera crear interfaces gráficas facilitando así la programación.

Las sintaxis que utiliza este lenguaje de programación proviene del conocido BASIC, pero completada con comandos y códigos de otros lenguajes más modernos. Este lenguaje de programación Visual Basic tiene un apartado dedicado a la Programación Orientada a Objetos.

lenguajes de programación más populares en 2018

¿Qué es Scratch?

Scratch es tanto una aplicación que podemos descargar a nuestro ordenador (está disponible para varios sistemas operativos: Windows, Ubuntu, Sugar, Mac) como una aplicación web que podemos ejecutar desde nuestro navegador.
En ambos casos tenemos por un lado una serie de objetos o “sprites” (en la nomenclatura que utiliza de Scratch) y por otro lado una serie de acciones y comportamientos que podemos combinar para conseguir que los objetos reaccionen a actúen de una determinada manera.
Una de las cosas más interesantes de Scratch es que esas acciones o comportamientos tienen forma de puzzle y nuestra misión como programadores será cocinar esas piezas para conseguir un determinada acción o comportamiento. Así que en esencia programa se convierte en algo parecido a resolver un puzzle, lo que elimina una de las principales barreras que tienen los neófitos en el mundo de la programación que es el aspecto árido y complejo de los entornos de programación. Convirtiendo el proceso de programar en algo parecido a un juego.
Las acciones y comportamientos están divididas en categorías y son estas:
Movimiento: Mover y girar un objeto por la pantalla.
Apariencia: Cambiar la visualización del objeto: el fondo, hacerlo más grande o pequeño, etc..
Sonido: Hacer sonar secuencias de audio.
Lápiz: Dibujar controlando el tamaño del pincel el color y la sombra del mismo.
Datos: Crear variables y su asignación en el programa.
Eventos: Maneadores de eventos que “disparan” determinadas acciones en un bloque.
Control: Condicionales: if-else, “forever”, “repeat”, and “stop”.
Sensores: Los objetos o “sprites” pueden interaccionar con el entorno o con elementos creados por el usuario como un robot lego, por ejemplo.
Operators: operadores matemáticos, generadores aleatorios de números, cooperadores de posiciones.
Más bloques: Bloques propios y controladores de aparatos externos.

Resultado de imagen para que es un scratch
¿Para qué sirve?

Permite el desarrollo de los procesos de pensamientos y habilidades mentales en los educandos
Es perfecto para introducirse en la programación
Permite compartir los proyectos a través del web, se pueden descargar y utilizar. Pudiendo ser descargados y utilizados por otras personas

¿Por qué Scratch?

La programación es el nuevo lenguaje que todos necesitamos conocer si queremos tener una buena comprensión del mundo actual y sobre todo del que viene, así como buenas oportunidades laborales. se calcula que cerca del 50% de los puestos de trabajo que conocemos hoy en día desaparecerán y en buena medida serán sustituidos por la industria del software y a la robótica. De este modo Scratch se convierte en una gran herramienta para comprender los conceptos y la lógica de la programación. además, lo hace abordando su aprendizaje desde un punto de vista lúdico para evitar el rechazo inicial que para muchas personas suponen los entornos de programación más clásicos.
Ventajas para el desarrollo del niño
Si hay un entorno en el que Scratch está especialmente indicado, es en el de la enseñanza de la programación a los niños, por ese componente lúdico del que hemos hablado antes. Podríamos agrupar una serie de ventajas que su uso proporciona a los niños:
•         Desarrollar el pensamiento lógico.
•         Desarrollar métodos para solucionar problemas de manera metódica y ordenada
•         Desarrollar el hábito de hacer autodiagnosis con respecto a su trabajo
•         Desarrollar la capacidad de poner en duda las ideas de uno mismo
•         Tener la posibilidad de obtener resultados complejos a partir de ideas simples
•         Trabajar cada cual a su ritmo en función de sus propias competencias
•         Aprender y asumir conceptos matemáticos: coordenadas, variables, algoritmos, aleatoriedad
•         Aprender los fundamentos de la programación
•         Usar distintos medios: sonido, imagen, texto, gráfico…
•         Posibilitar el aprendizaje colaborativo a través del intercambio de conocimiento

Resultado de imagen para que es un scratch

viernes, 23 de noviembre de 2018

ALGORITMOS Y PSEUDOCÓDIGO EN PSEINT


¿QUE ES PSEINT?

PseInt (Pseudo Intérprete) es un Entorno de Desarrollo Integrado (IDE, por sus siglas en inglés) para PseudoCódigo, un lenguaje de programación imperativa simple y en castellano.
Es decir, PseInt es un editor e intérprete de programas escritos en PseudoCódigo. Su interfaz gráfica permite crear, almacenar, ejecutar y corregir fácilmente programas en PseudoCódigo.

La sencillez del lenguaje PseudoCódigo lo hacen ideal para la enseñanza de la programación. Permite escribir programas con instrucciones condicionales (Si-Entonces-Sino, Según) y ciclos (Mientras, Hasta Que, Para), y también usar valores numéricos (números decimales), lógicos, caracteres y arreglos. También provee funciones de entrada/salida y algunas funciones matemáticas.

Resultado de imagen para que es pseint en informatica
Vídeo 

¿QUE ES UN PSEUDOCODIGO EN PSEINT?

El pseudocódigo es un lenguaje de especificación (descripción) de algoritmos. El uso de tal lenguaje hace el paso de codificación final (traducción al 4 lenguaje de programación) relativamente fácil, por lo que este es considerado un primer borrador de la solución del programa.
La palabra pseudocódigo formada por el prefijo “pseudo“, que según el diccionario de la RAE (Real Academia Española) significa “falso“, de ahí parte para que también sea conocido como “falso lenguaje”.
Dentro de la programación se basa en un lenguaje de programación real, donde se permite expresar las instrucciones en un lenguaje común (ejemplo: español, inglés u otro idioma) para facilitar la escritura y lectura, debido a que está en lenguaje común si requiere una modificación es fácil hacerla. La escritura sólo puede ser comprendida por el ser humano y no por la máquina, por ende, tampoco puede ejecutarla. La finalidad de un pseudocódigo es representar la solución a un algoritmo (problema) de la forma más detallada posible, utilizando acciones sucesivas. Según Analía Lanzillotta: “Considerado como un lenguaje falso el pseudocódigo, que es un lenguaje intermedio entre nuestro lenguaje y el de programación, debido a que quien lo utiliza se guía por una serie de normas, pero sin llegar a usar una estructura tan rígida como la del lenguaje de programación”.Liga
En otras palabras, el pseudocódigo es un lenguaje simplificado entre el programador y la máquina, hecho por el programador en su propio idioma, para describir un algoritmo y  poder comprender mejor la estructura de dicho programa, donde el lenguaje simplificado no puede ser compilado, ejecutado ni corrido por la máquina. Siendo una herramienta que se encuentra previa al lenguaje formal de programación.
Vídeo.


TIPOS DE DATOS QUE UTILIZA PSEINT

Los datos son un conjunto de caracteres. Un carácter puede ser una letra, un numero, un símbolo.

Tipo Real: Una variable de tipo real admite datos numéricos, que pueden ser enteros y/o con punto decimal.

Tipo Entero: Es una especialización que sólo permite almacenar valores enteros; cualquier valor no entero que se lea o asigne en una variable de este tipo será truncado.

Tipo Cadena Es una secuencia ordenada (de longitud arbitraria, aunque finita) de elementos que pertenecen a un cierto lenguaje formal o alfabeto análogas a una fórmula o a una oración.

Tipo Carácter: Las variables de caracteres se usan para almacenar valores alfabéticos, en particular letras solas.

Tipo Lógico: Una variable de tipo LÓGICO sólo puede tomar los valores VERDADERO y FALSO, pero cuando se lee una variable ya definida como lógica, el usuario puede ingresar también las abreviaciones V y F, o 0 y 1.

Resultado de imagen para TIPOS DE DATOS EN PSEINT

DIAGRAMA DE FLUJO EN PSEINT

Un diagrama de flujo es un diagrama que utiliza símbolos (cajas) estándar y que tiene los pasos del algoritmo escritos en esas cajas unidas por flechas, denominadas líneas de flujo, que indican las secuencia que debe ejecutar el algoritmo
Resultado de imagen para DIAGRAMA DE FLUJO EN PSEINT

Símbolos básicos de diagramas de flujo
ESTRUCTURA SI - ENTONCES EN PSEINT

Al ejecutarse esta instrucción, se evalúa la condición y se ejecutan las instrucciones que correspondan: las instrucciones que le siguen al Entonces si la condición es verdadera, o las instrucciones que le siguen al Sino si la condición es falsa. La condición debe ser una expresión lógica, que al ser evaluada retorna Verdadero o Falso
La cláusula Entonces debe aparecer siempre, pero la cláusla Sino puede no estar. En ese caso, si la condición es falsa no se ejecuta ninguna instrucción y la ejecución del programa continúa con la instrucción siguiente.

 




ESTRUCTURA SEGÚN EN PSEINT
Es frecuente tener que comprobar más de una condición a la vez, o bien varias condiciones consecutivas. En concreto, un caso especialmente habitual es el de que una variable pueda un valor de entre varios. Por ejemplo, en el sistema de notas escolares español clásico, ciertas notas numéricas tienen "nombres" asociados: un 5 es un aprobado, un 9 y un 10 son sobresaliente, etc. Si queremos hacer un programa que convierta de la nota numérica a su equivalente escrito, podríamos emplear varias órdenes IF, una tras la otra. Pero en muchos lenguajes de programación (y por tanto, también en muchas variantes de pseudocódigo) existe una alternativa más compacta y más legible: la orden "SEGUN". Esta órden permite hacer unas cosas u otras según el valor que tome una variable. Su uso sería así:


El bloque "De Otro Modo" es opcional: si detallamos todos los valores posibles, no sería necesario utilizarlo.

El número de valores que podemos probar es indefinido: no tiene por qué ser 3, sino que pueden ser menos casos o muchos más.
Según la variante de pseudocódigo (o el lenguaje de programación) que empleemos, puede haber restricciones en el tipo de datos que es aceptable. Por ejemplo, en el caso de PseInt, la variable tiene que tener un valor numérico, no puede ser un texto.
Así, si en PseInt hacemos clic en el icono del panel derecho que representa la condición SEGUN, aparece un esqueleto de programa casi completo, para que hagamos los cambios que nos interesen:

Resultado de imagen para ESTRUCTURA SEGÚN EN PSEINT


Referencias Bibliográficas 



  • Peter Norton, Introducción a la Computación,  Ed. Mc Graw-Hill.
  • Luis Joyanes Aguilar, Fundamentos de programación. algoritmos y estructuras de datos, Ed. Mc Graw-Hill.
  • Mario C. Ginzburg, Introducción General a la Informática, Periféricos y Redes Locales, Biblioteca Técnica Argentina.
  • Armando E. de Giusti, Algoritmos, Datos y Programas, . Ed., Prentice Hall.
  • Herbert Schildt, C Manual de Referencia, 4ta. Ed., Mc Graw-Hill, España, 2001.
  • H.M. Deitel, J.P. Deitel, Cómo programar en C/C++, 2da. Ed., Prentice Hall, México, 1995.


  • Peter Norton, Introducción a la Computación,  Ed. Mc Graw-Hill.
  • Luis Joyanes Aguilar, Fundamentos de programación. algoritmos y estructuras de datos, Ed. Mc Graw-Hill.
  • Mario C. Ginzburg, Introducción General a la Informática, Periféricos y Redes Locales, Biblioteca Técnica Argentina.
  • Armando E. de Giusti, Algoritmos, Datos y Programas, . Ed., Prentice Hall.
  • Herbert Schildt, C Manual de Referencia, 4ta. Ed., Mc Graw-Hill, España, 2001.
  • H.M. Deitel, J.P. Deitel, Cómo programar en C/C++, 2da. Ed., Prentice Hall, México, 1995.
  • Peter Norton, Introducción a la Computación,  Ed. Mc Graw-Hill.
  • Luis Joyanes Aguilar, Fundamentos de programación. algoritmos y estructuras de datos, Ed. Mc Graw-Hill.
  • Mario C. Ginzburg, Introducción General a la Informática, Periféricos y Redes Locales, Biblioteca Técnica Argentina.
  • Armando E. de Giusti, Algoritmos, Datos y Programas, . Ed., Prentice Hall.
  • Herbert Schildt, C Manual de Referencia, 4ta. Ed., Mc Graw-Hill, España, 2001.
  • H.M. Deitel, J.P. Deitel, Cómo programar en C/C++, 2da. Ed., Prentice Hall, México, 1995.
  • jueves, 6 de septiembre de 2018

    Algoritmos Cuantitativos y Cualitativos


    ALGORITMO: Es una serie de pasos organizados que describe el proceso que se debe seguir, para dar solución a un problema especifico.




    Algoritmo Cuantitativo


    Los algoritmos cuantitativos son aquellos en los que se utilizan cálculos numéricos para definir los pasos del proceso.

     Ejemplo: 


    Resultado de imagen para algoritmos cuantitativos ejemplos resueltos


    Este vídeo complementara tu información. 

    Algoritmo Cualitativo



    Son aquellos en los que se describen los pasos utilizando palabras.

    Resultado de imagen para ejemplos de algoritmos cuantitativos

    Aquí un vídeo para reforzar información


    Bibliografías. 








    viernes, 10 de agosto de 2018

    FUNDAMENTOS DE PROGRAMACIÓN

    1.1 ¿En qué consiste la solución de problemas?

    ANÁLISIS PREVIO DEL PROBLEMA

    En esta etapa se debe definir y tener claro lo que el programa tiene que hacer junto con las tareas que debe realizar para llevar a cabo la solución, qué datos necesito para realizar la tareas, que formato deben tener los datos de entrada, de donde provienen los datos de entrada, como se obtienen esos datos, cómo interactúan los datos entre sí para obtener el resultado, muy importante tener claro cuál será el resultado que se desea obtener




    CONFIGURACIÓN DEL ENTORNO DE DESARROLLO Y CODIFICACIÓN


    Esta etapa consiste en transcribir o adaptar el algoritmo a un lenguaje de programación, se tendrá que adaptar todos los pasos diseñados en el algoritmo con sentencias y sintaxis propias del lenguaje.
    Verificar errores, organizar el código y comentarlo, son buenas prácticas que hacen programas más legibles y facilitan la depuración.

    Visita el siguiente vídeo

    1.2 Planteamiento de solución de problemas según  POLYA


    George Pólya fue un gran matemático que nació en Budapest en 1887 y murió en

    Palo Alto California en 1985. A lo largo de su vida generó una larga lista de resultados
    matemáticos y, también, trabajos dedicados a la enseñanza de esta disciplina, sobretodo
    en el área de la Resolución de Problemas. Estos trabajos básicamente fueron escritos en los años cuarenta del siglo XX pero fueron traducidos hasta los años sesenta y setenta.
    Se trata de un personaje clave en la Resolución de Problemas y es considerado el
    pionero o gestor de las primeras etapas de esta temática.
    La posición de Pólya respecto a la Resolución de Problemas se basa en una
    perspectiva global y no restringida a un punto de vista matemático. Es decir, este autor plantea la Resolución de Problemas como una serie de procedimientos que, en realidad, utilizamos y aplicamos en cualquier campo de la vida diaria.
    Para ser más precisos, Pólya expresa: “Mi punto de vista es que la parte más
    importante de la forma de pensar que se desarrolla en matemática es la correcta actitud
    de la manera de cometer y tratar los problemas, tenemos problemas en la vida diaria, en
    las ciencias, en la política, tenemos problemas por doquier. La actitud correcta en la
    forma de pensar puede ser ligeramente diferente de un dominio a otro pero solo
    tenemos una cabeza y por lo tanto es natural que en definitiva allá sólo un método de
    acometer toda clase de problemas. Mi opinión personal es que lo central en la enseñanza
    de la matemática es desarrollar tácticas en la Resolución de Problemas”. 
    Resultado de imagen para planteamiento de solución de problemas segun polya

    MÉTODO DE LOS CUATRO PASOS.


    Él plantea en su primer libro el llamado “El Método de los Cuatro Pasos”, para resolver cualquier tipo de problema se debe:
    • comprender el problema
    • concebir un plan
    • ejecutar el plan y
    • examinar la solución.
    Para cada una de estas etapas él plantea una serie de preguntas y sugerencias.

    1. Comprender el Problema.

    Para esta etapa se siguen las siguientes preguntas:
    • ¿Cuál es la incógnita?
    • ¿Cuáles son los datos?
    • ¿Cuál es la condición?
    • ¿Es la condición suficiente para determinar la incógnita?
    • ¿Es insuficiente?
    • ¿Es redundante?
    • ¿Es contradictoria?

    2. Concebir un Plan.

    Para Pólya en esta etapa del plan el problema debe relacionarse con problemas semejantes. También debe relacionarse con resultados útiles, y se debe determinar si se pueden usar problemas similares o sus resultados (aquí se subraya la importancia de los problemas análogos). Algunas interrogantes útiles en esta etapa son:
    • ¿Se ha encontrado con un problema semejante?
    • ¿Ha visto el mismo problema planteado en forma ligeramente diferente?
    • ¿Conoce un problema relacionado?
    • ¿Conoce algún teorema que le pueda ser útil?
    • ¿Podría enunciar el problema en otra forma?
    • ¿Podría plantearlo en forma diferente nuevamente? Refiérase a las definiciones.

    3. Ejecución del Plan.

    Durante esta etapa es primordial examinar todos los detalles y es parte importante recalcar la diferencia entre percibir que un paso es correcto y, por otro lado, demostrar que un paso es correcto. Es decir, es la diferencia que hay entre un problema por resolver y un problema por demostrar. Por esta razón, se plantean aquí los siguientes cuestionamientos:
    • ¿Puede ver claramente que el paso es correcto?
    • ¿Puede demostrarlo?
    Él plantea que se debe hacer un uso intensivo de esta serie de preguntas en cada momento. Estas preguntas van dirigidas sobre todo a lo que él llama problema por resolver y no tanto los problemas por demostrar. Cuando se tienen problemas por demostrar, entonces, cambia un poco el sentido. Esto es así porque ya no se habla de datos sino, más bien, de hipótesis. En realidad, el trabajo de Pólya es fundamentalmente orientado hacia los problemas por resolver.
    En síntesis: al ejecutar el plan de solución debe comprobarse cada uno de los pasos y verificar que estén correctos.

    4. Examinar la Solución.

    También denominada la etapa de la visión retrospectiva, en esta fase del proceso es muy importante detenerse a observar qué fue lo que se hizo; se necesita verificar el resultado y el razonamiento seguido De preguntarse:
    • ¿Puede verificar el resultado?
    • ¿Puede verificar el razonamiento?
    • ¿Puede obtener el resultado en forma diferente?
    • ¿Puede verlo de golpe?
    • ¿Puede emplear el resultado o el método en algún otro problema?
    Estas cuestiones dan una retroalimentación muy interesante para resolver otros problemas futuros: Pólya plantea que cuando se resuelve un problema (que es en sí el objetivo inmediato), también, se están creando habilidades posteriores para resolver cualquier tipo de problema. En otras palabras, cuando se hace la visión retrospectiva del problema que se resuelve, se puede utilizar tanto la solución que se encuentra como el método de solución; este último podrá convertirse en una nueva herramienta a la hora de enfrentar otro problema cualquiera.

    Visita el siguiente vídeo para complementar tu información. 

    1.3 Definición de algoritmo

    Un algoritmo es una secuencia de pasos lógicos necesarios para llevar a cabo una tarea especifica, como la solución de un problema. Los algoritmos son independientes tanto del lenguaje de programación en que se expresan como de la computadora que los ejecuta. En cada problema el algoritmo se puede expresar en un lenguaje diferente de programación y ejecutarse en una computadora distinta; sin embargo el algoritmo será siempre el mismo.

    Los algoritmos pueden ser expresados de muchas maneras, incluyendo al lenguaje natural, pseudocódigo, diagramas de flujo y lenguajes de programación entre otros. Las descripciones en lenguaje natural tienden a ser ambiguas y extensas. El usar pseudocódigo y diagramas de flujo evita muchas ambigüedades del lenguaje natural. Dichas expresiones son formas más estructuradas para representar algoritmos; no obstante, se mantienen independientes de un lenguaje de programación específico. La descripción de un algoritmo usualmente se hace en tres niveles:

    Descripción de alto nivel. Se establece el problema, se selecciona un modelo matemático y se explica el algoritmo de manera verbal, posiblemente con ilustraciones y omitiendo detalles.

    Descripción formal. Se usa pseudocódigo para describir la secuencia de pasos que encuentran la solución.

    Implementación. Se muestra el algoritmo expresado en un lenguaje de programación específico o algún objeto capaz de llevar a cabo instrucciones.


    1.4 ¿Qué es un diagrama de flujo? 

    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).
    diagrama de flujo de algoritmo          





































    Bibliografías. 

    • Luis Joyanes Aguilar, Fundamentos de programación. algoritmos y estructuras de datos, Ed. Mc Graw-Hill.
    • Armando E. de Giusti, Algoritmos, Datos y Programas, . Ed., Prentice Hall.

  • Luis Joyanes Aguilar, Fundamentos de programación. algoritmos y estructuras de datos, Ed. Mc Graw-Hill.
  • Mario C. Ginzburg, Introducción General a la Informática, Periféricos y Redes Locales, Biblioteca Técnica Argentina.
  • Armando E. de Giusti, Algoritmos, Datos y Programas, . Ed., Prentice Hall.