Download almacenamiento - Gobierno de Canarias
Document related concepts
no text concepts found
Transcript
IES PLAYA HONDA. Departamento de Tecnología. Lenguajes de programación. V 1.0 LENGUAJES DE PROGRAMACIÓN 1) INTRODUCCIÓN Difiere tanto el hombre de la máquina, que sus lenguajes son diametralmente opuestos: El doble sentido, la ironía etc. no tienen cabida en el mundo de la máquinas, que no soportan la más leve ambigüedad. Por ello resulta tan dificultoso para nosotros comunicarnos con las máquinas, y por esta razón se han ideado diferentes lenguajes de programación, cada uno con sus peculiaridades. 2) CLASIFICACIÓN DE LOS LENGUAJES DE PROGRAMACIÓN 2-1) Por si similitud al lenguaje humano - Lenguajes de bajo nivel. Próximos a la máquina: Código máquina, ensamblador - Lenguajes de medio nivel: Estado intermedio: C, C++ - Lenguajes de alto nivel: Más cerca del lenguaje humano: BASIC, FORTRAN, PASCAL, JAVA, COBOL 2-2) Por la forma de ser ejecutados - Lenguajes interpretados: Cada vez que se ejecuta el programa, un intérprete lo traduce al código máquina de la plataforma hardware sobre la ha de correr. Es necesaria la presencia del intérprete, y su rendimiento suele ser menor al de un programa compilado, pero puede ser ventajoso de cara a ejecutar el programa en diferentes plataformas, si se dispone de los intérpretes adecuados. - Lenguajes compilados: El compilador traduce todo el programa al código máquina de la plataforma hardware en cuestión, y después se ejecuta. Al estar ya traducido, la ejecución de los programas compilados suele ser más rápida. Hay que tener en cuenta que muchos lenguajes de programación pueden ser tanto interpretados como compilados, pero C y C++ se suelen compilar, mientras que los SCRIPTS de JAVA son interpretados. Los navegadores WEB se pueden considerar como intérpretes del lenguaje HTML y todo aquello que lleve asociado. Por ejemplo, la portada de la página WEB del centro, que podemos visitar aquí: http://www3.gobiernodecanarias.org/medusa/edublog/iesplayahonda/ IES PLAYA HONDA. Departamento de Tecnología. Lenguajes de programación. V 1.0 En realidad es así: <!DOCTYPE html> <!--[if IE 6]> <html id="ie6" lang="es-ES"> <![endif]--> <!--[if IE 8]> <html id="ie8" lang="es-ES"> <![endif]--> <!--[if (!IE)]><!--> <html lang="es-ES"> <!--<![endif]--> <head> <meta charset="UTF-8" /> <title>IES PLAYA HONDA | Curso 2016-2017</title> <link rel="profile" href="http://gmpg.org/xfn/11" /> <link rel="pingback" href="http://www3.gobiernodecanarias.org/medusa/edublog/iesplayahonda/xmlrpc.php" /> <link rel='dns-prefetch' href='//s.w.org' /> <link rel="alternate" type="application/rss+xml" title="IES PLAYA HONDA » Feed" href="http://www3.gobiernodecanarias.org/medusa/edublog/iesplayahonda/feed/" /> <link rel="alternate" type="application/rss+xml" title="IES PLAYA HONDA » RSS de los comentarios" href="http://www3.gobiernodecanarias.org/medusa/edublog/iesplayahonda/comments/feed/" /> <script type="text/javascript"> window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/2.2.1\/72x72\/","ext":".png","svgUr l":"https:\/\/s.w.org\/images\/core\/emoji\/2.2.1\/svg\/","svgExt":".svg","source":{"co ncatemoji":"http:\/\/www3.gobiernodecanarias.org\/medusa\/edublog\/iesplayahonda\/wpincludes\/js\/wp-emoji-release.min.js?ver=4.7.3"}}; !function(a,b,c){function d(a){var b,c,d,e,f=String.fromCharCode;if(!k||!k.fillText)return!1;switch(k.clearRect(0,0,j.widt h,j.height),k.textBaseline="top",k.font="600 32px Arial",a){case"flag":return k.fillText(f(55356,56826,55356,56819),0,0),!(j.toDataURL().length<3e3)&&(k.clearRect(0, 0,j.width,j.height),k.fillText(f(55356,57331,65039,8205,55356,57096),0,0),b=j.toDataURL (),k.clearRect(0,0,j.width,j.height),k.fillText(f(55356,57331,55356,57096),0,0),c=j.toD ataURL(),b!==c);case"emoji4":return k.fillText(f(55357,56425,55356,57341,8205,55357,56507),0,0),d=j.toDataURL(),k.clearRect (0,0,j.width,j.height),k.fillText(f(55357,56425,55356,57341,55357,56507),0,0),e=j.toDat aURL(),d!==e}return!1}function e(a){var c=b.createElement("script");c.src=a,c.defer=c.type="text/javascript",b.getElementsByTag Name("head")[0].appendChild(c)}var f,g,h,i,j=b.createElement("canvas"),k=j.getContext&&j.getContext("2d");for(i=Array("fla g","emoji4"),c.supports={everything:!0,everythingExceptFlag:!0},h=0;h<i.length;h++)c.su pports[i[h]]=d(i[h]),c.supports.everything=c.supports.everything&&c.supports[i[h]],"fla g"!==i[h]&&(c.supports.everythingExceptFlag=c.supports.everythingExceptFlag&&c.supports [i[h]]);c.supports.everythingExceptFlag=c.supports.everythingExceptFlag&&!c.supports.fl ag,c.DOMReady=!1,c.readyCallback=function(){c.DOMReady=!0},c.supports.everything||(g=fu nction(){c.readyCallback()},b.addEventListener?(b.addEventListener("DOMContentLoaded",g ,!1),a.addEventListener("load",g,!1)):(a.attachEvent("onload",g),b.attachEvent("onready statechange",function(){"complete"===b.readyState&&c.readyCallback()})),f=c.source||{}, IES PLAYA HONDA. Departamento de Tecnología. Lenguajes de programación. V 1.0 f.concatemoji?e(f.concatemoji):f.wpemoji&&f.twemoji&&(e(f.twemoji),e(f.wpemoji)))}(wind ow,document,window._wpemojiSettings); </script> <style type="text/css"> etc. 3) LENGUAJES DE BAJO NIVEL 3-1) Código máquina. Es el lenguaje que el hardware puede ejecutar directamente. Absolutamente tedioso y específico de cada procesador, apenas se programa directamente en código máquina por razones obvias. 3-2) Ensamblador: es similar al código máquina, pero emplea algunas instrucciones además de los ceros y unos. En el siguiente ejemplo se puede ver un simple programa que dice "hola mundo" programado en C, y cómo sería en código máquina... El mismo programa, en ensamblador... Lo dicho: Es realmente tedioso, pero se han conseguido pequeños milagros en ensamblador, como un programa de ajedrez en menos de 1 Kb para el ZX81 https://chessprogramming.wikispaces.com/1K+ZX+Chess IES PLAYA HONDA. Departamento de Tecnología. Lenguajes de programación. V 1.0 4) LENGUAJES DE MEDIO NIVEL. A medio camino entre la máquina y el hombre, combinan la claridad de expresión (respecto del hombre) de los lenguajes de alto nivel junto con la potencia de los lenguajes de bajo nivel, ya que es una mezcla de ambos. C y C++ son, posiblemente, los lenguajes más potentes e interesantes para programar, aunque al estar en un nivel intermedio siguen siendo relativamente espesos a la hora de programar, pero este inconveniente queda compensado por sus prestaciones. A modo de ejemplo, ponemos un sencillo programa en NQC -una variante de C para uso educativo- utilizado para programar el LEGO. 5) LENGUAJES DE ALTO NIVEL Son más parecidos a nuestra forma de comunicación, y, en principio, más fáciles de entender y utilizar. Los más representativos son: 5-1) FORTRAN (Formula Trsanslating). Desrrollado por IBM a finales de los 50. es un lenguaje orientado a fines científicos y numéricos. Veamos un ejemplo para calcular el factorial de un número PROGRAMA PARA CALCULAR EL FACTORIAL DE UN !NUMERO FACTORIAL !=========================================== IMPLICIT NONE REAL::J,N INTEGER::P WRITE(*,*)"NUMERO AL CUAL DESEA CALCULAR SU FACTORIAL" READ(*,*)N P=1 DO J=0,N-1,1 P=P*(N-J) IES PLAYA HONDA. Departamento de Tecnología. Lenguajes de programación. V 1.0 END DO WRITE(*,*)"EL FACTORIAL ES:",P END PROGRAM 5-2) COBOL (COmmon Business-Oriented Language). Lenguaje creado a finales de los 50 para el ámbito de los negocios (entidades bancarias etc.) A día de hoy sigue siendo muy utilizado por razones de compatibilidad. 5-3) PASCAL (En honor al matemático y filósofo francés) publicado en 1970 por el profesor suizo Niklaus Wirth, se trata de un lenguaje de alto nivel orientado inicialmente al ámbito educativo, límite que excedió dada su gran potencia. Se utiliza ampliamente en la actualidad. Veamos un ejemplo para calcular el área de un rectángulo PROGRAM EJER03; USES CRT; VAR lado1,lado2:INTEGER; VAR area:INTEGER; BEGIN {Este programa nos va a servir para calcular el area de un rectángulo} lado1:=3; lado2:=4; {Damos valores para las variables} area:=lado1*lado2; {Calculamos el area} ClrScr; WRITE ('AREA DEL RECTANGULO: '); en pantalla} WRITE (area); {Lo mostramos END. 5-4) JAVA, creado por SUN Microsistems en los años 90, goza de una gran popularidad por su orientación multiplataforma: La idea es que un mismo programa escrito en JAVA pueda ejecutarse en cualquier hardware: "write once, run anywhere" es su seña de identidad. JAVA guarda cierta similitud con C pero lo vamos a considerar como un lenguaje de alto nivel. Está muy extendido en la actualidad. IES PLAYA HONDA. Departamento de Tecnología. Lenguajes de programación. V 1.0 5-5) BASIC (Beginner's All-purpose Symbolic Instruction Code). Lenguaje de programación desarrollado en los años 60 para fines educativos. Es fácil de aprender y de implementar. Su evolución, Visual Basic y otras muchas más, se siguen utilizando en la actualidad. Como se puede ver seguidamente, es un lenguaje sencillo y fácil de comprender: Aquí tenemos un programa escrito en BASIC para resolver ecuaciones de segundo grado