IMAGE DE LENGUAJE DE PROGRAMACIO EN GAMBAS

IMAGE DE LENGUAJE DE PROGRAMACIO EN GAMBAS

INTRODUCCION

 
La informática educativa consiste en el uso de estas tecnologías para educar a los alumnos de las instituciones educativas, para los programas de educación a distancia y de auto aprendizaje y para el entretenimiento personal de las empresas e instituciones que lo requieran lo interesante del concepto es que la difusión de redes locales (de un colegio o una empresa) u globales (como infovía o Internet) hacen posible un uso pedagógico ya no tan oneroso de la técnica, así, la elaboración de bases de datos sobre las materias escolares, etc.
A lo largo de este trabajo se espera mostrar que la aplicación de la informática a la educación es una actividad factible y necesaria. Estas nuevas tecnologías están incidiendo en el mundo educativo de manera firme y de creciente importancia, en particular, dentro del ámbito de la formación del alumnado, ya que la multimedia juega un papel de gran alcance en su rol de vehículo para multiplicar el aprendizaje en el proceso de formación educativa.

MAS INFORMACION
Qué es la informática educativa
Es la ciencia que integra la educación y las herramientas informáticas para enriquecer el proceso de enseñanza- aprendizaje.
Es la utilización de la computadora como herramienta mediadora para el aprendizaje.
Se entiende como informática educativa, el arte de enseñar a los alumnos y personas en general utilizando como herramienta fundamental la computadora, la cuál se conecta a una gran red mundial que es Internet. También a través de ella podemos extraer recurso de mucho aporte para complementarlo con nuestra educación, por ende la informática es la nueva enseñanza del presente y del futuro. 



MAS INFORMACION


Ventajas de la informática educativa
  • La interacción que se produce entre la computadora  y el alumno, la cuál  permite que el estudiante participe activamente en el proceso de aprendizaje.
  • La posibilidad de dar una atención individual al estudiante. Partiendo de que cada aprendiz tienen su propio ritmo de aprendizaje y experiencias previas, la computadora facilitará el problema de estas diferencias individuales a la hora de aprender.
  • La potencialidad de amplificar las experiencias de cada día. La computadora puede crear experiencias con la finalidad de enriquecer el medio ambiente de aprendizaje formal actual y futuro.
  • El aporte de la computadora como herramienta intelectual, la cual se convierte en una potente herramienta con la que el alumno puede pensar y aprender creativa mente.
  • La capacidad que otorga el alumno para controlar su propio ritmo del aprendizaje. Se adecua al ritmo variado, aceptando estudiantes con diferentes experiencias previas; permitiendo hacer el proceso educacional más flexible, eficaz y eficiente.
  • El control del tiempo y la secuencia de aprendizaje. Esto es la habilidad del alumno para ser capaz de controlar el flujo del material dentro de una secuencia de aprendizaje y el tiempo de presentación.
  • La capacidad que otorga al alumno en el control d

    el contenido de aprendizaje. Permite dar mayor flexibilidad al proceso, controlando los tipos de frecuencias y presentando diferentes vías para un solo material.
  •  
     
 Desafío de la informática educativa
El desafío que presenta la informática educativa en el sector educativo será la aplicación racional y pertinente de las nuevas tecnologías de la información en el desarrollo del quehacer educativo según Sánchez J. (1995) La informática suele ser muy dinámica y los procesos de introducción en la enseñanza se ven afectados no sólo por problemas tecnológicos, sino más bien, por problemas de adaptar estos recursos a nuestros hábitos de trabajo.
En cualquier caso, la informática se ha visto interesante para mejorar los procesos de enseñanza, por varias razones y posibilidades. En el libro de “Informática Educativa” se señala que el concepto de Cultura Informática más que ser un concepto definido, es un concepto en construcción; Sánchez J. (1995) , habla de que la Cultura Informática incluye conocimientos y destrezas básicas que debe poseer todo ciudadano para desempeñarse en una sociedad informatizada, fuertemente dominada por los Ordenadores, y la define como “... tratar de entender qué son las computadoras,que son capaces de hacer y sus implicaciones y aplicaciones en el mundo que los rodea.
Para ello se requiere desarrollar destrezas necesarias para comunicarse con los Ordenadores y reconocer las capacidades y limitaciones de ellos”. Una persona que tiene una cierta cultura informática se caracteriza por poseer las destrezas, los conocimientos y las actitudes necesarias para desenvolverse en un medio que funciona basado en la información y, es especial, en torno a las computadoras.
Para ello, toda persona debe poseer “un conocimiento fundamental de cómo funcionan los computadores, sus capacidades y limitaciones, la habilidad de leer, escribir y analizar problemas simples, así como desarrollar un entendimiento teórico acerca del computador, sus procesos auxiliares y sus sistemas como herramienta intelectual, esto es, un entendimiento del significado e impacto de los computadores en la sociedad y una demostración de la habilidad para utilizar el computador en la solución de problemas intelectuales”.

MAS INFORMACION 

Fuentes epistemológicas de la Informática Educativa

La Inteligencia Artificial: Es una manera de concebir la mente que “considera la inteligencia como una propiedad formal de cualquier sistema que reúne ciertos requisitos funcionales”, como es el caso de una máquina, que se encuentra en un soporte físico pero inorgánico. Se distinguen dos tipos de inteligencia artificial:
  • La Inteligencia Artificial fuerte que; sostiene que las operaciones avanzadas de la computadora son funcionalmente equivalentes a las operaciones mentales humanas. Esto presupone que existe una inteligencia en las máquinas y explica como funciona la mente humana.
  • La Inteligencia Artificial débil solo afirma que la computadora puede servir para conocer el funcionamiento del cerebro humano, sin compararlas.
Se proponen además cuatros rasgos de los fenómenos mentales para evaluar cualquier tipo de inteligencia artificial:
  • La existencia y funcionamiento de la conciencia;
  • La intencionalidad, mediante la cual se dirigen los estados mentales;
  • La subjetividad de los estados mentales y
  • La acusación mental.
La Inteligencia Artificial modula al profesor, al estudiante y al contexto educativo. La analogía máquina-ser humano no es estricta, ya que el ser humano aparte de ser razón y lógica, también es intuición, sensualidad, emoción y sentimiento.
Las teorías cognoscitivas que tienen como base el modelo constructivista, en ultima instancia conciben la analogía entre máquina y mente como procesadores de información. Sin embargo, eso significaría que la máquina tiene un razonamiento similar al del cerebro, el cual es paralelo. 

MAS INFORMACION
--> Mantenimiento de Computadoras
El mantenimiento es un conjunto de actividades que se requiere realizar periódicamente para mantener la PC en óptimo estado de funcionamiento, y poder detectar a tiempo cualquier indicio de fallas o daños en sus componentes. No debe considerarse dentro de esta actividad la limpieza externa y el uso sistemático de cubiertas protectoras de polvo, insectos y suciedad ambiental, ni tampoco la realización de copias de seguridad (backup), o la aplicación de barreras anti-virus, proxies o cortafuegos (firewalls) que dependen de las condiciones específicas de operación y entorno ambiental.


 











MAS INFORMACION




CON QUÉ PERIODICIDAD DEBE REALIZARSE

Depende de diversos factores: la cantidad de horas diarias de operación, el tipo de actividad (aplicaciones) que se ejecutan, el ambiente donde se encuentra instalada (si hay polvo, calor, etc.), el estado general (si es un equipo nuevo o muy usado), y el resultado obtenido en el último mantenimiento. Una PC de uso personal, que funcione unas cuatro horas diarias, en un ambiente favorable y dos o menos años de operación sin fallas graves,  puede resultar aconsejable realizar su mantenimiento cada dos o tres meses de operación, aunque algunas de las actividades de mantenimiento pudieran requerir una periodicidad menor.















-->
ANTECEDENTES DE LA COMPUTADORA

Una Computadora digital moderna es en gran medida un conjunto de interruptores electrónicos,los cuales utilizan para representar y controlar el recorrido de datos denominados

dígitos binarios 

(o bits). La naturaleza de activo/inactivo (o encendido/apagado) de la informaciónbinaria y enturado de señales que emplea la computadora, hizo que se necesitara uninterruptor electrónico eficiente. Las primeras computadoras electrónicas utilizan comointerruptores los bulbos o tubos al vacío y éstos, aunque funcionaban, tenían muchosproblemas.El bulbo era ineficiente como interruptor. Consumía una gran cantidad de corriente eléctrica ogeneraba calor enorme – un problema significativo en los primeros sistemas -. A causa delcalor que producían, principalmente, los bulbos se destacaron por no ser confiables; en losgrandes sistemas fallaban uno aproximadamente cada dos horas

 




Historia

El lenguaje fue diseñado bajo encargo del Departamento de Defensa de los Estados Unidos (DoD). Durante los años 1970, este departamento tenía proyectos en una infinidad de lenguajes y estaba gastando mucho dinero en software. Para solucionarlo se buscó un lenguaje único que cumpliese unas ciertas normas recogidas en el documento Steelman. Después de un estudio de los lenguajes existentes en la época se decidió que ninguno las cumplía totalmente, por lo que se hizo un concurso público al que se presentaron cuatro equipos, cuyas propuestas se nombraron con un color: Rojo (Intermetrics), Verde (CII Honeywell Bull), Azul (SofTEch) y Amarillo (SRI International). Finalmente en mayo de 1979 se seleccionó la propuesta Verde diseñada por Jean Ichbiah de CII Honeywell Bull, y se le dio el nombre de Ada. Esta propuesta era un sucesor de un lenguaje anterior de este equipo llamado LIS y desarrollado durante los años 1970









LENGUAJE DE PROGRAMACION
Captura de la microcomputadora Comodoro PET-32 mostrando un programa en el lenguaje de programación BASIC, bajo el emulador VICE en una distribución GNU/Linux.
Un lenguaje de programación es un idioma artificial diseñado para expresar procesos 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.1
Está formado por 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 pruebase depurase 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:
TIPOS DE LENGUAJE DE PROGRAMACIÓN
Lenguajes de bajo nivel 

Son lenguajes totalmente dependientes de la máquina, es decir que el programa que se realiza con este tipo de lenguajes no se pueden migrar o utilizar en otras maquinas. 
El lenguaje ensamblador es un derivado del lenguaje maquina y esta formado por abreviaturas de letras y números llamadas mnemotécnicos. Con la aparición de este lenguaje se crearon los programas traductores para poder pasar los programas escritos en lenguaje ensamblador a lenguaje máquina. Como ventaja con respecto al código máquina es que los códigos fuentes eran más cortos y los programas creados ocupaban menos memoria. Las desventajas de este lenguaje siguen siendo prácticamente las mismas que las del lenguaje ensamblador, ñadiendo la dificultad de tener que aprender un nuevo lenguaje difícil de probar y mantener.

Lenguajes de alto nivel 

Son aquellos que se encuentran más cercanos al lenguaje natural que al lenguaje máquina. 
Están dirigidos a solucionar problemas mediante el uso de EDD's. 

Nota: EDD's son las abreviaturas de Estructuras Dinamicas de Datos, algo muy utilizado en todos los lenguajes de programación. Son estructuras que pueden cambiar de tamaño durante la ejecución del programa. Nos permiten crear estructuras de datos que se adapten a las necesidades reales de un programa.
Lenguajes de Medio nivel 

Se trata de un termino no aceptado por todos, pero q seguramente habrás oído. Estos lenguajes se encuentran en un punto medio entre los dos anteriores. Dentro de estos lenguajes podría situarse C ya que puede acceder a los registros del sistema, trabajar con direcciones de memoria, todas ellas características de lenguajes de bajo nivel y a la vez realizar operaciones de alto nivel.

LICENCIAS DE LENGUAJE DE PROGRAMACION
Java es un lenguaje de programación originalmente desarrollado por James Gosling de Sun Microsystems (la cual fue adquirida por la compañíaOracle) y publicado en el 1995 como un componente fundamental de la plataforma Java de Sun Microsystems. El lenguaje deriva mucho de susintaxis de C y C++, pero tiene menos facilidades de bajo nivel que cualquiera de ellos. Las aplicaciones de Java son generalmente compiladas abytecode (clase Java) que puede correr en cualquier máquina virtual Java (JVM) sin importar la arquitectura de la computadora. Java es un lenguaje de programación de propósito generalconcurrentebasado en clases, y orientado a objetos, que fue diseñado específicamente para tener tan pocas dependencias de implementación como fuera posible. Su intención es permitir que los desarrolladores de aplicaciones escriban el programa una vez y lo ejecuten en cualquier dispositivo (conocido en inglés como WORA, o "write once, run anywhere"), lo que quiere decir que el códigoque es ejecutado en una plataforma no tiene que ser recompilado para correr en otra. Java es, a partir del 2012, uno de los lenguajes de programación más populares en uso, particularmente para aplicaciones de cliente-servidor de web, con unos 10 millones de usuarios reportados.12
La compañía Sun desarrolló la implementación de referencia original para los compiladores de Java, máquinas virtuales, y librerías de clases en 1991 y las publicó por primera vez en el 1995. A partir de mayo del 2007, en cumplimiento con las especificaciones del Proceso de la Comunidad Java, Sun volvió a licenciar la mayoría de sus tecnologías de Java bajo la Licencia Pública General de GNU. Otros también han desarrollado implementaciones alternas a estas tecnologías de Sun, tales como el Compilador de Java de GNU y el GNU Classpath.
MAS INFORMACION


CARACTERISTICAS DE LENGUAJE DE PROGRAMACION

Las caracteristicas de lo lenguajes  de programacion parabase de datos Usa GNU Automake, Autoconf, y Libtool para portabilidad
Uso de multihilos mediante hilos del kernel. 
Usa tablas en disco b-tree para búsquedas rápidas con compresión de índice 
Tablas hash en memoria temporales 
El código mysql se prueba con Purify (un detector de memoria perdida comercial) así como con Valgrind, una herramienta GPL 
Completo soporte para operadores y funciones en cláusulas select y where. 
Completo soporte para cláusulas group by y order by, soporte de funciones de agrupación 
seguridad: ofrece un sistema de contraseñas y privilegios seguro mediante verificación basada en el host y el tráfico de contraseñas está cifrado al conectarse a un servidor. 
Soporta gran cantidad de datos. MySQL Server tiene bases de datos de hasta 50 millones de registros. 
Se permiten hasta 64 índices por tabla (32 antes de MySQL 4.1.2). Cada índice puede consistir desde 1 hasta 16 columnas o partes de columnas. El máximo ancho de límite son 1000 bytes (500 antes de MySQL 4.1.2). 
Los clientes se conectan al servidor MySQL usando sockets   en cualquier plataforma. En sistemas windows se pueden conectar usando named pipes y en sistemas unix  usando ficheros socket Unix. 
En MySQL 5.0, los clientes y servidores Windows se pueden conectar usando memoria compartida. 
MySQL contiene su propio paquete de pruebas de rendimiento proporcionado con el código fuente de la distribución de MySQL

-->

Funciones de lenguaje de programacion

Las funciones son las estructuras m�s importantes dentro del lenguaje de programaci�n C (y en general de cualquier lenguaje procedural). Permiten una programaci�n estructurada y simplifican la lectura del c�digo; pero lo m�s importante es que, una funci�n sencilla que realiza una tarea bien espec�fica, puede ser reutilizada con extrema facilidad en cualquier otro programa.
El uso y construcci�n de funciones propias es una tarea f�cil y eficiente. La construcci�n de una funci�n involucra dos pasos:
  1. Declaraci�n de la funci�n (prototipo). Esto consiste en declarar la funci�n indicando el nombre, el tipo de retorno que posee, y el n�mero y tipo de argumentos que recibe. Esta declaraci�n puede realizarse o bien en el mismo archivo fuente, o en un header file (t�picamente con extensi�n ".h") e incluirse mediante la directiva #include.
  2. Definici�n de la funci�n., o implementaci�n del c�digo mismo. Que puede realizarse tambi�n en un archivo separado que se incluir� en la l�nea de compilaci�

    MAS INFORMACION 

Variables y Vectores

Las variables podrían calificarse como contenedores de datos y por ello se diferencian según el tipo de dato que son capaces de almacenar. En la mayoría de lenguajes de programación se requiere especificar un tipo de variable concreto para guardar un dato concreto. Por ejemplo, en Java, si deseamos guardar una cadena de texto deberemos especificar que la variable es del tipo "String". Por contra en otros lenguajes como PHP, este tipo de especificación de variables no es necesario. Además también existen variables compuestas por varias variables llamadas vectores. Un vector no es más que un conjunto de variables consecutivas en memoria y del mismo tipo guardadas dentro de una variable contenedor. A continuación añadimos un listado con los tipos de variables y vectores más comunes:
-Variables tipo Char: Estas variables contienen un único carácter, es decir, una letra, un signo o un número.
-Variables tipo Int: Contienen un número entero.
-Variables tipo float: Contienen un número decimal.
-Variables tipo String: Contienen cadenas de texto, o lo que es lo mismo, es un vector con varias variables del tipo Char.
-Variables del tipo Boolean: Solo pueden contener un 0 o un 1. El cero es considerado para muchos lenguajes como el literal "False" mientras que el 1 se considera "True".


Condicionantes

Los condicionantes son estructuras de código que indican que, para que cierta parte del programa se ejecute, deben cumplirse ciertas premisas; por ejemplo: que dos valores sean iguales, que un valor exista, que un valor sea mayor que otro... Estos condicionantes por lo general solo se ejecutan una vez a lo largo del programa. Los condicionantes más conocidos y empleados en programación son:
  • If: Indica una condición para que se ejecute una parte del programa.
  • Else if: Siempre va precedido de un "If" e indica una condición para que se ejecute una parte del programa siempre que no cumpla la condición del if previo y si se cumpla con la que el "else if" especifique.
  • Else: Siempre precedido de "If" y en ocasiones de "Else If". Indica que debe ejecutarse cuando no se cumplan las condiciones prévias



















Sintaxis


Con frecuencia se resaltan los elementos de la sintaxis con colores diferentes para facilitar su lectura. Este ejemplo está escrito en Python.
A la forma visible de un lenguaje de programación se le conoce como sintaxis. La mayoría de los lenguajes de programación son puramente textuales, es decir, utilizan secuencias de texto que incluyen palabras, números y puntuación, de manera similar a los lenguajes naturales escritos. Por otra parte, hay algunos lenguajes de programación que son más gráficos en su naturaleza, utilizando relaciones visuales entre símbolos para especificar un programa.
La sintaxis de un lenguaje de programación describe las combinaciones posibles de los símbolos que forman un programa sintácticamente correcto. El significado que se le da a una combinación de símbolos es manejado por su semántica (ya sea formal o como parte delcódigo duro de la referencia de implementación). Dado que la mayoría de los lenguajes son textuales, este artículo trata de la sintaxis textual.
La sintaxis de los lenguajes de programación es definida generalmente utilizando una combinación de expresiones regulares (para la estructura léxica) y la Notación de Backus-Naur (para la estructura gramática). Este es un ejemplo de una gramática simple, tomada deLisp:


Semántica estática

La semántica estática define las restricciones sobre la estructura de los textos válidos que resulta imposible o muy difícil expresar mediante formalismos sintácticos estándar. Para los lenguajes compilados, la semántica estática básicamente incluye las reglas semánticas que se pueden verificar en el momento de compilar. Por ejemplo el chequeo de que cada identificador sea declarado antes de ser usado (en lenguajes que requieren tales declaraciones) o que las etiquetas en cada brazo de una estructura case sean distintas. Muchas restricciones importantes de este tipo, como la validación de que los identificadores sean usados en los contextos apropiados (por ejemplo no sumar un entero al nombre de una función), o que las llamadas a subrutinas tengan el número y tipo de parámetros adecuado, puede ser implementadas definiéndolas como reglas en una lógica conocida como sistema de tipos. Otras formas de análisis estáticos, como los análisis de flujo de datos, también pueden ser parte de la semántica estática. Nuevos lenguajes de programación como Java y C# tienen un análisis definido de asignaciones, una forma de análisis de flujo de datos, como parte de su semántica estática.











Tipos estáticos versus tipos dinámicos



Los lenguajes con tipos estáticos pueden manejar tipos explícitos o tipos inferidos. En el primer caso, el programador debe escribir los tipos en determinadas posiciones textuales. En el segundo caso, el compilador infiere los tipos de las expresiones y las declaraciones de acuerdo al contexto. La mayoría de los lenguajes populares con tipos estáticos, tales como C++C# yJava, manejan tipos explícitos. Inferencia total de los tipos suele asociarse con lenguajes menos populares, tales como Haskell y ML. Sin embargo, muchos lenguajes de tipos explícitos permiten inferencias parciales de tipo; tanto Java y C#, por ejemplo, infieren tipos en un número limitado de casos.En lenguajes con tipos estáticos se determina el tipo de todas las expresiones antes de la ejecución del programa (típicamente al compilar). Por ejemplo, 1 y (2+2) son expresiones enteras; no pueden ser pasadas a una función que espera una cadena, ni pueden guardarse en una variable que está definida como fecha.