| Lista Articulos: [0-C] [C-I] [I-P] [P-Z] | Todas las categorías | Página aleatoria | Lo que enlaza aquí | ||||||
Eiffel fue ideado en 1985 por Bertrand Meyer. Es un lenguaje de programación orientado a objetos centrado en la construcion de software robusto. Su sintaxis es parecida a la de Pascal.Una característica que lo distingue del resto de los lenguajes es que permite el diseño por contrato desde la base, con precondiciónes, postcondiciones, invariantes y variantes de bucle, invariantes de clase y asertos.
Eiffel es un lenguaje fuertemente tipado, pero relajado por herencia. Implementa administración automática de memoria, generalmente mediante algoritmos de recolección de basura. Las claves de este lenguaje estan recogidas en el libro de Meyer, Construccion de Software Orientado a Objetos. Un libro que recoge las claves del lenguaje.
| Tabla de contenidos |
class HOLA_MUNDO
create
make
feature
make is
do
IO.PUTSTRING("%nHola mundo%N")
end
end -- HOLA_MUNDO
Esta clase pertenece a la libreria estándar de SmartEiffel e implementa el reloj del sistema.
expanded class CLOCK
--
-- Time and date facilities: year, month, day, hour and seconds.
--
feature
value: INTEGER is
-- Get the CPU clock periods if available (-1 if not).
do
Result := basic_clock
end
periods_per_second: INTEGER is
-- The number of clock periods per seconds.
require
value >= 0
do
Result := basic_clock_per_sec
end
feature {NONE}
basic_clock: INTEGER is
external "SmartEiffel"
end
basic_clock_per_sec: INTEGER is
external "SmartEiffel"
end
end -- CLOCK
class
GENERICA[G->COMPARABLE]--Clase (G (->)va a ser necesariamente comparable)
inherit
ARRAY[G]--Clase generica es un tipo de array
end
feature
n_datos:INTEGER -- lleva el número de datos
ingresar(dato:G;pos:INTEGER) is -- guarda los datos en el vector generico
do
n_datos:=n_datos+1
resize(1,pos) -- modifica el tamaño del vector según el numero de datos
put(clone(dato),pos) -- guarda el dato
end
----------------------------------------------------------------------------------------------------
seleccion is
local
i,j:INTEGER
aux:G
do
from i:=1 -- bucle que lleva todos los datos
until i=n_datos -- de uno a uno
loop
from j:=i+1 -- bucle que lleva todos los datos siguientes
until j=n_datos+1 -- del dato del bucle anterior
loop
if item(i) > item(j) then -- verifica si el dato 'i' es mayor a algunos de los
aux:=item(i) -- datos siguientes, lo guarda al dato 'i'
put(item(j),i) -- si cumple, lo guarda en una variable local
put(aux,j) -- y los cambia de posición
end
j:=j+1
end
i:=i+1
end
end
---------------------------------------------------------------------------------------------------
end -- class GENERICA[G]
| Lenguajes de programación |
|---|
| Ada | Algol | Awk | Basic| C | C++ | C# | Cobol | Delphi | Eiffel | Forth | Fortran | Java | Lisp | Logo | Modula-2 | Oberon | Ocaml | Pascal | PHP | Perl | Prolog | Python | Ruby | Smalltalk | Otros lenguajes... |


