viernes, 22 de febrero de 2019

LENGUAJES DE PROGRAMACIÓN GRÁFICOS

¿Qué es un lenguaje gráfico de programación?

Lenguaje de programación, es un idioma artificial diseñado para expresar computaciones que pueden ser llevadas a cabo por máquinas como las computadoras. Pueden usarse para crear programas que controlen el comportamiento físico y lógico de una máquina, para expresar algoritmos con precisión, o como modo de comunicación humana.
Está formado de un conjunto de símbolos y reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos y expresiones. Al proceso por el cual se escribe, se prueba, se depura, se compila y se mantiene el código fuente de un programa informático se le llama programación.
También la palabra programación se define como el proceso de creación de un programa de computadora, mediante la aplicación de procedimientos lógicos, a través de los siguientes pasos:
  • El desarrollo lógico del programa para resolver un problema en particular.
  • Escritura de la lógica del programa empleando un lenguaje de programación específico (codificación del programa)
  • Ensamblaje o compilación del programa hasta convertirlo en lenguaje de máquina.
  • Prueba y depuración del programa.
  •   Desarrollo de la documentación.
Existe un error común que trata por sinónimos los términos 'lenguaje de programación' y 'lenguaje informático'. Los lenguajes informáticos engloban a los lenguajes de programación y a otros más, como por ejemplo el HTML. (lenguaje para el marcado de páginas web que no es propiamente un lenguaje de programación sino un conjunto de instrucciones que permiten diseñar el contenido y el texto de los documentos)
Permite especificar de manera precisa sobre qué datos debe operar una computadora, cómo deben ser almacenados o transmitidos y qué acciones debe tomar bajo una variada gama de circunstancias. Todo esto, a través de un lenguaje que intenta estar relativamente próximo al lenguaje humano o natural, tal como sucede con el lenguaje Léxico. Una característica relevante de los lenguajes de programación es precisamente que más de un programador pueda usar un conjunto común de instrucciones que sean comprendidas entre ellos para realizar la construcción del programa de forma colaborativa.

Los lenguajes de programación generalmente se dividen en dos grupos principales en base al procesamiento de sus comandos:
  • lenguajes imperativos;
  • lenguajes funcionales.

Lenguaje de programación imperativo

Un lenguaje imperativo programa mediante una serie de comandos, agrupados en bloques y compuestos de órdenes condicionales que permiten al programa retornar a un bloque de comandos si se cumple la condición. Estos fueron los primeros lenguajes de programación en uso y aún hoy muchos lenguajes modernos usan este principio.
No obstante, los lenguajes imperativos estructurados carecen de flexibilidad debido a la secuencialidad de las instrucciones.

Lenguaje de programación funcional

Un lenguaje de programación funcional(a menudo llamado lenguaje procedimental) es un lenguaje que crea programas mediante funciones, devuelve un nuevo estado de resultado y recibe como entrada el resultado de otras funciones. Cuando una función se invoca a sí misma, hablamos de recursividad.

EJEMPLOS

Lenguaje de programación C#

Llamado también C Sharp este lenguaje fue diseñado y la base de Microsoft. Es un lenguaje de programación orientado totalmente a objetos. Ha sido durante muchos años el lenguaje de referencia de los aspirantes a programadores. Este lenguaje es compatible con .NET y con Visual Basic.

Lenguaje de programación Vala

Este lenguaje de programación contiene todas las características y ventajas del lenguaje C# pero con el conteo de referencias, que facilitan al programador el trabajo de quitar o añadir referencias automáticamente, en lugar de hacerlo manualmente como en el lenguaje C#. Por lo tanto no necesita tantos recursos ni tiempo para ejecutar el procesamiento de la información. Este lenguaje utiliza los objetos de la biblioteca GObject.

Lenguaje de programación GTK+

Es uno de los lenguajes más importantes en la creación de software. Las particularidades de este tipo de lenguaje de programación es que puede contener varias bibliotecas multiplataforma. De esta forma le permite desarrollar interfaces gráficas de usuario o GUI. Este lenguaje puede ser utilizado tanto en GNU/Linux como en Wayland y X Window System.

Lenguaje de programación Php

Este lenguaje de programación es uno de los más utilizados. Además de ser un lenguaje de uso libre, es compatible con las bases de datos MySQL. Los archivos e instrucciones Php pueden albergar HTML sin tener que llamar a otros archivos externos para procesar los datos.

Lenguaje de programación Glade

Este lenguaje de programación tiene la particularidad de que no genera un código fuente si no un archivo en HTML. Esto facilita su uso en numerosos lenguajes de programación C, C++, C#, Vala, Java, Perl, Python.

Lenguaje de programación JavaScript

Este es un lenguaje de programación orientado a objetos. Este lenguaje sirve para crear funciones e instrucciones dentro de las paginas web.

Lenguaje de programación Java

El lenguaje de programación Java es uno de los más utilizados en casi todos los sistemas operativos, también en smartphones. Su gran diferencia es que puede crear y ejecutar programas en cualquier dispositivo con interfaces gráficas


¿Qué es Scratch?

Es un lenguaje de programación visual creado por el MIT y orientado a facilitar su aprendizaje de forma intuitiva mediante bloques. ¿Y esto qué significa? Que en vez de escribir código vamos a tener diferentes piezas como si se tratase de un puzzle e iremos encajándolas para desarrollar las diferentes ordenes hasta tener nuestro proyecto, que podría ser perfectamente un videojuego o un robot inteligente.



martes, 20 de noviembre de 2018

ALGORITMOS Y PSEUDOCÓDIGO EN PSEINT

¿QUE ES PSEINT?
PSeInt es una herramienta para aprender la lógica de programación, orientada a estudiantes sin experiencia en dicha área. Mediante la utilización de un simple y limitado pseudo-lenguaje, intuitivo y en español, permite comenzar a comprender conceptos básicos y fundamentales de un algoritmo computacional. Nacido originalmente como proyecto final para la materia Programación I de la carrera Ingeniería en Informática de la Facultad de Ingeniería y Ciencias Hídricas de la Universidad Nacional del Litoral, es en realidad un intérprete de pseudocodigo basado en los contenidos de la cátedra de Fundamenos de Programación de dicha carrera.

REFERENCIA
¿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.


REFERENCIA

VIDEO: PSEUDOCÓDIGO

TIPOS DE DATOS QUE UTILIZA PSEINT
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ógicoUna variable de tipo LOGICO 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.
REFERENCIA
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
Ejemplo

Realizar un diagrama de flujo para escribir los 100 primeros pares

Realizar un diagrama de flujo de un programa que permita escribir en pantalla los 100 primeros números pares.
Pseudocódigo
Proceso CienPrimerosPares
Escribir "Los 100 primeros pares son";
num <- 0;
Mientras num < 200 Hacer
Escribir num;
num <- num +2;
FinMientras
FinProceso

REFERENCIA
REFERENCIA
VIDEO: DIAGRAMA DE FLUJO EN PSEINT

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

Ejemplo:
REFERENCIA

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:

Sólo tenemos que escribir la condición que realmente nos interesa, y la serie de pasos a dar si se cumple y si no se cumple, de modo que nuestro programa podría quedar así:

Su resultado sería éste:




viernes, 7 de septiembre de 2018

Tipos de algoritmos

Algoritmos cualitativos y cuantitativos

Un Algoritmo es una secuencia de pasos lógicos y ordenados que se llevan a cabo para resolver un determinado problema. Los algoritmos se clasifican en:

Algoritmo Cualitativo: Son aquellos en los que se describen los pasos de forma narrada.

Algoritmo Cuantitativo: Son aquellos en los que se utilizan cálculos numéricos para definir los pasos del proceso.


Ejemplo de Algoritmo Cualitativo - Realizar un puré de papas.

  1. Buscar utensilios.
  2. Lavar las papas.
  3. Llenar la olla con agua.
  4. Colocar las papas dentro de la olla.
  5. Encender la estufa.
  6. Colocar la olla en la estufa.
  7. Esperar a que hiervan.
  8. Retirar las papas.
  9. Pelar las papas.
  10. Triturar las papas.
  11. Agregar queso, mantequilla y leche.
  12. Mezclar.
  13. Agregar sal al gusto.
  14. Servir.















Ejemplos de Algoritmos Cuantitativos. 

a) Obtener la suma de 2 números. 
1. Inicio 
2. Declarar (a,b,c) 
3. Ingresar (a,b) 
4. c=a+b 
5. Mostrar (c) u
6. Fin 

b) Obtener el área de un triángulo. 
1. Inicio 
2. Declarar (b,h,a) 
3. Ingresar (b,h) 
4. a=(b*h)/2 
5. Mostrar (a) 
6. Fin 

c) Ingresar una edad. Obtener el año en que nació. 
1. Inicio 
2. Declarar (e,a) 
3. Ingresar (e) 
4. a=2012-e 
5. Mostrar (a) 
6. Fin
















viernes, 10 de agosto de 2018

FUNDAMENTOS DE PROGRAMACIÓN


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

Diariamente es necesario enfrentar problemas y conflictos a los cuales se les deben encontrar soluciones aceptables de acuerdo al contexto. El proceso de solucionar problemas implica una serie de capacidades y habilidades del pensamiento que es importante desarrollar y evaluar en la preparación académica.
La resolución de problemas es una actividad cognitiva que consiste en proporcionar una respuesta-producto a partir de un objeto o de una situación.
Una de las capacidades más importantes en la resolución de problemas es la de hacer preguntas que permitan surgir de un conflicto y sortear la dificultad, algunas preguntas pueden servir para identificar el problema, otras para buscar alternativas, etc. Es posible preguntarse: ¿qué es lo que hace problemática esta situación? ¿qué me falta por saber? ¿cuántos problemas están involucrados? ¿cuál voy a intentar resolver? ¿qué es lo que no funciona? ¿cuáles son las alternativas que se pueden tomar? ¿qué conozco sobre este tema? ¿por dónde puedo empezar para que sea más fácil? etc.



















Planteamiento de solución de problemas según POLYA

De acuerdo con este autor los pasos son: 1. Entender el problema., 2. Configurar un plan, 3. Ejecutar el plan, y 4. Examinar la solución.
1. Entender el problema: se refiere a que el estudiante pueda responderse una serie de preguntas como ¿Entiendo todo lo que dice el problema?, ¿Puedo replantear el problema con mis propias palabras?, ¿Cuáles son los datos que hacen parte del problema?, ¿Sé a dónde quiere llegar?, ¿Hay suficiente información?, ¿Hay información que no es clara?, ¿Es este problema similar a algún otro que ya haya resuelto antes?
2. Configurar el plan: se refiere al cómo o qué estrategia va a usar el estudiante para resolver el problema. Las estrategias pueden partir desde aplicar pruebas de ensayo y error, hasta plantear  toda una táctica que le permita intentar llegar a la solución del mismo.
3. Ejecutar el plan: se refiere a la puesta en práctica de lo que el estudiante estableció en la configuración. Es llevar a cabo una a una las etapas planteadas. En este punto puede suceder que en un momento determinado lo que se planteó no sea pertinente para la solución del problema, razón por la cual hay que replantear la estrategia y volver a comenzar. Generalmente en la ejecución se usan procesos matemáticos que permitan darle la exactitud que requiere la solución del problema.
4. Examinar la solución: se refiere al poderse cuestionar sobre lo que se hizo, ver si el proceso desarrollado permitió en realidad resolver el problema. En este paso el estudiante debe acudir a sus procesos metacognitivos para revisar si lo que hizo está bien o está mal y, si es necesario, replantear el proceso de resolución.
REFERENCIA


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.
Por ejemplo en una analogía con la vida diaria, una receta de un plato de cocina se puede expresar en español, ingles o francés, pero cualquiera que sea el lenguaje, los pasos para la elaboración del plato se realizaran sin importar el cocinero.
Los pasos a seguir en la solución de una ecuación de segundo grado.
Los pasos matemáticos para la solución de un número factorial.
Las instrucciones para la liquidación de una nomina.
Las acciones que se deben seguir para la obtención de una estadística.
Para llegar a la realización de un programa es necesario el diseño previo de un algoritmo, de modo que sin algoritmo no puede existir un programa.
Características de los algoritmos
Las características fundamentales que debe cumplir todo algoritmo son:
Un algoritmo debe ser preciso e indicar el orden de realización de cada paso.
Un algoritmo debe estar definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo resultado cada vez.
Un algoritmo debe ser finito. Si se sigue un algoritmo, se debe terminar en algún momento; o sea debe de tener un número finito de pasos.
La definición de un algoritmo debe describir tres partes: Entrada, Proceso y Salida.
En el algoritmo citado anteriormente se tendrá:
Entrada ingredientes y utensilios empleados
Proceso elaboración de la receta de cocina
Salida terminación del plato (por ejemplo, cordero)
Un algoritmo exige que se tengan varias propiedades importantes:
Los pasos de un algoritmo deben ser simples y exentos de ambigüedades (diferentes significados), deben seguir un orden cuidadosamente prescrito, deben ser efectivos y deben de resolver el problema en un número finito de pasos.







¿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).