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 &raquo; Feed"
href="http://www3.gobiernodecanarias.org/medusa/edublog/iesplayahonda/feed/" />
<link rel="alternate" type="application/rss+xml" title="IES PLAYA HONDA &raquo; 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