1.- Fundamentos Del Lenguaje
+6
rafael rodriguez
Pablo santana 1992
enrique bello100
jesus nataniel carachure
LUIS ADRIAN
Admin
10 participantes
Página 2 de 2.
Página 2 de 2. • 1, 2
Re: 1.- Fundamentos Del Lenguaje
El lenguaje Java se parece al lenguaje C++ de modo que un programador que conozca este lenguaje ha dado un gran paso adelante.
Sin embargo, existen también grandes diferencias entre ambos lenguajes. Un programador puede haber usado el lenguaje C++ como un lenguaje C mejorado sin haber usado para nada la Programación Orientada a Objetos. Sin embargo, Java es un lenguaje plenamente orientado a objetos, y para escribir el programa más simple hemos de definir una clase. Los tipos básicos de datos son similares, pero los arrays son distintos, y las cadenas de caracteres en Java son objetos de la clase String.
Sin embargo, existen también grandes diferencias entre ambos lenguajes. Un programador puede haber usado el lenguaje C++ como un lenguaje C mejorado sin haber usado para nada la Programación Orientada a Objetos. Sin embargo, Java es un lenguaje plenamente orientado a objetos, y para escribir el programa más simple hemos de definir una clase. Los tipos básicos de datos son similares, pero los arrays son distintos, y las cadenas de caracteres en Java son objetos de la clase String.
rafael rodriguez- Mensajes : 2
Fecha de inscripción : 19/02/2015
Re: 1.- Fundamentos Del Lenguaje
Mary Torres escribió:ESTRUCTURAS DE CONTROL: IF, FOR, FOR EACH, WHILE, EXEPCIONES.
Las estructuras de control nos permiten controlar el flujo del programa: tomar decisiones, realizar acciones repetitivas etc, dependiendo de unas condiciones que nosotros mismos establezcamos. Así podemos hacer un script que nos salude cada día de la semana de una manera diferente. O por ejemplo hacer un script que nos pida la contraseña una y otra vez hasta que suministremos la opción correcta.
1.- La toma de decisiones if-else:
Quizá la estructura de control más básica y la más utilizada sea if-else:
2- Bucles: While
If else nos permitía decidir si queríamos ejecutar o no una instrucción en función de una condición, los bucles nos permiten utilizar una condición para determinar cuántas veces queremos ejecutar una instrucción.
3- Bucles: do While
Los bucles do while, son muy parecidos a los bucles while, sólo que comprobamos si la condición es cierta al final del bucle en lugar de al principio. Así nuestras instrucciones se ejecutan siempre al menos una vez, lo que no ocurre en las condiciones while si la condición es falsa.
4- Bucles: for
Los bucles for funcionan exactamente igual que en C . Con una sola instrucción controlamos todo el bucle, así que para los vaguetes está muy bien.
4- Swich/case
Nos permite ejecutar un bloque de código u otro dependiendo del valor de una variable. Veamos un ejemplo.
Primero para asignar un valor a la variable, vamos a hacernos un formulario:
EXEPCIONES.
BREAK
La sentencia de break puede utilizarse en una sentencia Switch o en un bucle, cuando se encuentra sentencia switch, break ase que el control de fLUJO del programa pase a la siguiente sentencia encuentre fuera del entorno del switch., si se encuentra en un bucle, ase que el flujo de ejecución del programa deje el ámbito del bucle y pase a la siguiente sentencia que venga a continuación.
CONTINUE
Se puede utilizar solamente en bucles, lo que hace es que finaliza el bucle y se inicia la siguiente. Java permite el uso de etiquetas en la sentencia continue de forma de que el funcionamiento normal se ve alterado y el saldo en La ejecución del flujo del programa se realizara la sentencia en que se encuentra la sentencia.
RETURN
Se utiliza para terminar un método función y opcionalmente devolver un valor al método de llamada. En el código de una función siempre hay que ser consecuentes con la declaración que se allá hecho de ella, si el valor a retornar es void, se podrá omitir ese valor de retorno , con lo que la sintaxis se reduce a un simple..: * return;
ESTO SON SOLO LOS CONCEPTOS… LES DEJAMOS A CUESTION PROPIA APLICAR EL TERMINO SER AUTO-DIDACTAS Y QUE INVESTIGUEN LAS ETRUCTURAS YA EN LENGUAJE DE JAVA…..
ATTE: MARIA TORRES MARTINEZ Y JESUS GARCIA GONZALEZ
Buena tu informacion pero estaria mejor si egregamos ejemplos para entender mejor, como para if seria:
Haga un programa que ingrese 4 numero por teclado y muestre de forma escrita los numeros del 0 ~ 9 , y si es mayor que diga: "el numero es mayor a 9".
import java.util.*;
public class IfElse {
public static void main (String[]args){
Scanner T = new Scanner(System.in);
int num;
for(int j=0 ; j<4 ; j++){
System.out.print("ingrese numero: " );
num = T.nextInt();
//Condiciones del IF
if (num == 0)
{System.out.println("CERO!!" );}
else if(num == 1)
{System.out.println("UNO!!" );}
else if(num == 2)
{System.out.println("DOS!!" );}
else if (num == 3)
{System.out.println("TRES!!" );}
else if(num == 4)
{System.out.println("Cuatro!!" );}
else if (num == 5)
{System.out.println("Cinco!!" );}
else if (num == 6)
{System.out.println("Seis!!" );}
else if (num == 7)
{System.out.println("Siete!!" );}
else if(num ==
{System.out.println("OCHO!!" );}
else if (num == 9)
{System.out.println("NUEVE!!" );}
else
{System.out.println("El numero es mayor a 9" );}
//Fin del If
}
System.out.println("hasta Pronto!" );
}
}
Julio César- Mensajes : 4
Fecha de inscripción : 02/03/2015
CONCEPTOS FUNDAMENTALES DE LA POO
Este paradicma de programación introduce nuevos conceptos, entre los cuales destacan:
Clase
Definiciones de las propiedades y comportamiento de un tipo de objeto concreto. La instanciación es la lectura de estas definiciones y la creación de un objeto a partir de ella.
Atributos
Características que tiene la clase.
Componentes de un objeto
Atributos, identidad, relaciones y métodos.
Evento
Es un suceso en el sistema (tal como una interacción del usuario con la máquina, o un mensaje enviado por un objeto). El sistema maneja el evento enviando el mensaje adecuado al objeto pertinente. También se puede definir como evento la reacción que puede desencadenar un objeto; es decir, la acción que genera.
Estado interno
Es una variable que se declara privada, que puede ser únicamente accedida y alterada por un método del objeto, y que se utiliza para indicar distintas situaciones posibles para el objeto (o clase de objetos). No es visible al programador que maneja una instancia de la clase.
Herencia
(Por ejemplo, herencia de la clase C a la clase D) es la facilidad mediante la cual la clase D hereda en ella cada uno de los atributos y operaciones de C, como si esos atributos y operaciones hubiesen sido definidos por la misma D. Por lo tanto, puede usar los mismos métodos y variables públicas declaradas en C. Los componentes registrados como "privados" (private) también se heredan, pero como no pertenecen a la clase, se mantienen escondidos al programador y sólo pueden ser accedidos a través de otros métodos públicos. Esto es así para mantener hegemónico el ideal de POO.
Identificación de un objeto
Un objeto se representa por medio de una tabla o entidad que esté compuesta por sus atributos y funciones correspondientes.
En comparación con un lenguaje imperativo, una "variable" no es más que un contenedor interno del atributo del objeto o de un estado interno, así como la "función" es un procedimiento interno del método del objeto.
Mensaje
Una comunicación dirigida a un objeto, que le ordena que ejecute uno de sus métodos con ciertos parámetros asociados al evento que lo generó.
Objeto
Instancia de una clase. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos), los mismos que consecuentemente reaccionan a eventos. Se corresponden con los objetos reales del mundo que nos rodea, o con objetos internos del sistema (del programa). Es una instancia a una clase.
Propiedad o atributo
Contenedor de un tipo de datos asociados a un objeto (o a una clase de objetos), que hace los datos visibles desde fuera del objeto y esto se define como sus características predeterminadas, y cuyo valor puede ser alterado por la ejecución de algún método.
Existen diversos lenguajes de programación orientados a objetos, por lo que hacen uso de los conceptos anteriores, como ejemplo de esos lenguajes se encuentran:
ABAP -> SAP
ABL Lenguaje de programación de OpenEdge de Progress Software
ActionScript
ActionScript 3
Ada
C++
C#
Clarion
Clipper1
D
Object Pascal (Embarcadero Delphi)
Gambas
GObject
Genie
Harbour
Eiffel
Fortran 90/95
Java
JavaScript2
Lexico3
Objective-C
Ocaml
Oz
R
Pauscal [En español]
Perl4
PHP5
PowerBuilder
Python
Ruby
Self
Smalltalk6
Magik (SmallWorld)
Vala
VB.NET
Visual FoxPro7
Visual Basic 6.0
Visual DataFlex
Visual Objects
XBase++
Lenguaje DRP
Scala8
Atte: Eric Avellaneda Rodríguez
Clase
Definiciones de las propiedades y comportamiento de un tipo de objeto concreto. La instanciación es la lectura de estas definiciones y la creación de un objeto a partir de ella.
Atributos
Características que tiene la clase.
Componentes de un objeto
Atributos, identidad, relaciones y métodos.
Evento
Es un suceso en el sistema (tal como una interacción del usuario con la máquina, o un mensaje enviado por un objeto). El sistema maneja el evento enviando el mensaje adecuado al objeto pertinente. También se puede definir como evento la reacción que puede desencadenar un objeto; es decir, la acción que genera.
Estado interno
Es una variable que se declara privada, que puede ser únicamente accedida y alterada por un método del objeto, y que se utiliza para indicar distintas situaciones posibles para el objeto (o clase de objetos). No es visible al programador que maneja una instancia de la clase.
Herencia
(Por ejemplo, herencia de la clase C a la clase D) es la facilidad mediante la cual la clase D hereda en ella cada uno de los atributos y operaciones de C, como si esos atributos y operaciones hubiesen sido definidos por la misma D. Por lo tanto, puede usar los mismos métodos y variables públicas declaradas en C. Los componentes registrados como "privados" (private) también se heredan, pero como no pertenecen a la clase, se mantienen escondidos al programador y sólo pueden ser accedidos a través de otros métodos públicos. Esto es así para mantener hegemónico el ideal de POO.
Identificación de un objeto
Un objeto se representa por medio de una tabla o entidad que esté compuesta por sus atributos y funciones correspondientes.
En comparación con un lenguaje imperativo, una "variable" no es más que un contenedor interno del atributo del objeto o de un estado interno, así como la "función" es un procedimiento interno del método del objeto.
Mensaje
Una comunicación dirigida a un objeto, que le ordena que ejecute uno de sus métodos con ciertos parámetros asociados al evento que lo generó.
Objeto
Instancia de una clase. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos), los mismos que consecuentemente reaccionan a eventos. Se corresponden con los objetos reales del mundo que nos rodea, o con objetos internos del sistema (del programa). Es una instancia a una clase.
Propiedad o atributo
Contenedor de un tipo de datos asociados a un objeto (o a una clase de objetos), que hace los datos visibles desde fuera del objeto y esto se define como sus características predeterminadas, y cuyo valor puede ser alterado por la ejecución de algún método.
Existen diversos lenguajes de programación orientados a objetos, por lo que hacen uso de los conceptos anteriores, como ejemplo de esos lenguajes se encuentran:
ABAP -> SAP
ABL Lenguaje de programación de OpenEdge de Progress Software
ActionScript
ActionScript 3
Ada
C++
C#
Clarion
Clipper1
D
Object Pascal (Embarcadero Delphi)
Gambas
GObject
Genie
Harbour
Eiffel
Fortran 90/95
Java
JavaScript2
Lexico3
Objective-C
Ocaml
Oz
R
Pauscal [En español]
Perl4
PHP5
PowerBuilder
Python
Ruby
Self
Smalltalk6
Magik (SmallWorld)
Vala
VB.NET
Visual FoxPro7
Visual Basic 6.0
Visual DataFlex
Visual Objects
XBase++
Lenguaje DRP
Scala8
Atte: Eric Avellaneda Rodríguez
Eric Avellaneda- Mensajes : 2
Fecha de inscripción : 19/02/2015
gracias por la informacion que proporsionas.
LUIS ADRIAN escribió:Las palabras reservadas en Java.
Estas palabras están definidas en el lenguaje Java. Estas palabras reservadas, combinadas con la sintaxis de los operadores y separadores, forman la definición del lenguaje Java. Estas palabras reservadas no se pueden utilizar como nombres en sus programas Java en variables, clases o métodos. true, false, y null no son palabras clave, pero tienen el significado de palabras reservadas y tampoco se pueden utilizar como nombres en sus programas.
*abstract *double *int *strictfp ** *boolean *else *interface *super *break *extends *long *switch *byte *final *native *synchronized *case *finally *new *this *catch *float *package *throw *char *for *private *throws *class *goto * protected *transient *const * if *public* try *continue *implements *return *void *default *import *short *volatile *do *instanceof *static *while*switch
Que significa cada una de ellas.
1. Abstract: Declara clases o métodos abstractos.
2. Double: Tipo de Dato primitivo de punto flotante por defecto (32 bits).
3. Int: Tipo de Dato primitivo entero por defecto (32 bits).
4. Strictfp: Especifica bajo que standard se calcularán las operaciones con datos de punto flotante, para determinar el grado de precisión de los resultados.
5. Boolean: Tipo de Dato primitivo booleano (true o false).
6. Else: Evaluación de la condición lógicamente opuesta a un if o else if.
7. Interface: Declara interfases.
8. Super: Hace referencia a la clase padre o al constructor de la clase padre del objeto actual.
9. Break: Rompe el flujo normal del bloque de código actual.
10. Extends: Indica que una clase o interfase hereda de otra clase o interfase.
11. Long: Tipo de Dato primitivo entero (64 bits).
12. Switch: Estructura de control condicional múltiple.
13. Byte: Tipo de Dato primitivo entero (8 bits).
14. final: Declara la clase, método o variable como "definitiva".
15. native: Indica que el método va a ser especificado en un lenguaje diferente a Java.
16. synchronized : Indica que el método, o bloque de código deberá prevenir que no sean cambiados los objectos a afectar dentro del bloque o método.
17. case: Verifica cada valor evaluado en un a sentencia switch.
18. finally: Determina el bloque de código que se ejecutará siempre luego de un try asi sea que se capture o no una excepción.
19. new: Solicita al cargador de clases correspondiente, un objeto de esa clase.
20. this: Hace referencia el objeto actual o al constructor del objeto actual.
21. catch: Atrapa excepciones dentro de un bloque try
22. float : Tipo de Dato primitivo de punto flotante (64 bits).
23. package: Especifica el paquete al que pertenece esa clase o interface.
24. throw: Lanza una excepción mediante código.
25. char: Tipo de Dato primitivo que almacena hasta un caracter UNICO DE (16 bits).
26. for: Estructura de control cíclica.
27. private: Modificador de visibilidad de atributos y métodos limitándolos a la propia clase.
28. throws: Especifica la(s) excepcione(es) que podría lanzar el método.
29. class: Declara clases
30. goto: Palabra reservada que no es utilizada en el lenguaje de programación Java.
31. protected: Modificador de visibilidad de atributos y métodos limitándolos a la propia clase, paquete e hijo(s).
32. transient: Indica que el objeto no se debe serializar.
33. const: Palabra reservada que no es utilizada en el lenguaje de programación Java.
34. if: Estructura de control condicional.
35. public: Modificador de visibilidad de clases, interfaces, atributos y métodos haciéndolo visible al universo.
36. try: Declara un bloque de código que posiblemente lanzará una excepción.
37. continue: Rompe el flujo normal del bloque de código actual.
38. implements: Indica que una clase implementa a una (o varias) interface(s).
39. return: Retorna (normalmente un valor) desde el método actual.
40. void: Indica que el método no retornará valor alguno.
41. default: Modificador de visibilidad de clases, interfaces, atributos y métodos limitándolos a la clase y paquete.
42. import: Indica la(s) ruta(s) en la que se encuentran las clases y/o interfaces usadas en el código
43. short: Tipo de Dato primitivo entero (16 bits).
44. volatile: Indica que a la referencia de la variable siempre se debería leer sin aplicar ningún tipo de optimizaciones ya que el dato almacenado tiene alta probabilidad de cambiar muy frecuentemente.
45. do: Estructura de control cíclica
46. instanceof: Operador que determina si un objeto es una instancia de una clase.
47. static: Indica que el método, variable o atributo pertenece a la clase y no a la instancia (objeto).
48. while: Estructura de control cíclica.
49.switch: se encarga de estructurar una selección múltiple
ATT: LUIS ADRIAN ING. INFORMATICA 2A6
Agelia sanchez manuel- Mensajes : 2
Fecha de inscripción : 04/03/2015
Buena Explicación, Felicidades...!!
[quote="David Santana A."]ESTRUCTURAS DE CONTROL: IF, FOR, FOR EACH, WHILE, EXEPCIONES.
Las estructuras de control nos permiten controlar el flujo del programa: tomar decisiones, realizar acciones repetitivas etc, dependiendo de unas condiciones que nosotros mismos establezcamos. Así podemos hacer un script que nos salude cada día de la semana de una manera diferente. O por ejemplo hacer un script que nos pida la contraseña una y otra vez hasta que suministremos la opción correcta.
1.- La toma de decisiones if-else:
Quizá la estructura de control más básica y la más utilizada sea if-else:
2- Bucles: While
If else nos permitía decidir si queríamos ejecutar o no una instrucción en función de una condición, los bucles nos permiten utilizar una condición para determinar cuántas veces queremos ejecutar una instrucción.
3- Bucles: do While
Los bucles do while, son muy parecidos a los bucles while, sólo que comprobamos si la condición es cierta al final del bucle en lugar de al principio. Así nuestras instrucciones se ejecutan siempre al menos una vez, lo que no ocurre en las condiciones while si la condición es falsa.
4- Bucles: for
Los bucles for funcionan exactamente igual que en C . Con una sola instrucción controlamos todo el bucle, así que para los vaguetes está muy bien.
4- Swich/case
Nos permite ejecutar un bloque de código u otro dependiendo del valor de una variable. Veamos un ejemplo.
Primero para asignar un valor a la variable, vamos a hacernos un formulario:
EXEPCIONES.
BREAK
La sentencia de break puede utilizarse en una sentencia Switch o en un bucle, cuando se encuentra sentencia switch, break ase que el control de fLUJO del programa pase a la siguiente sentencia encuentre fuera del entorno del switch., si se encuentra en un bucle, ase que el flujo de ejecución del programa deje el ámbito del bucle y pase a la siguiente sentencia que venga a continuación.
CONTINUE
Se puede utilizar solamente en bucles, lo que hace es que finaliza el bucle y se inicia la siguiente. Java permite el uso de etiquetas en la sentencia continue de forma de que el funcionamiento normal se ve alterado y el saldo en La ejecución del flujo del programa se realizara la sentencia en que se encuentra la sentencia.
RETURN
Se utiliza para terminar un método función y opcionalmente devolver un valor al método de llamada. En el código de una función siempre hay que ser consecuentes con la declaración que se allá hecho de ella, si el valor a retornar es void, se podrá omitir ese valor de retorno , con lo que la sintaxis se reduce a un simple..: RETURN
Las estructuras de control nos permiten controlar el flujo del programa: tomar decisiones, realizar acciones repetitivas etc, dependiendo de unas condiciones que nosotros mismos establezcamos. Así podemos hacer un script que nos salude cada día de la semana de una manera diferente. O por ejemplo hacer un script que nos pida la contraseña una y otra vez hasta que suministremos la opción correcta.
1.- La toma de decisiones if-else:
Quizá la estructura de control más básica y la más utilizada sea if-else:
2- Bucles: While
If else nos permitía decidir si queríamos ejecutar o no una instrucción en función de una condición, los bucles nos permiten utilizar una condición para determinar cuántas veces queremos ejecutar una instrucción.
3- Bucles: do While
Los bucles do while, son muy parecidos a los bucles while, sólo que comprobamos si la condición es cierta al final del bucle en lugar de al principio. Así nuestras instrucciones se ejecutan siempre al menos una vez, lo que no ocurre en las condiciones while si la condición es falsa.
4- Bucles: for
Los bucles for funcionan exactamente igual que en C . Con una sola instrucción controlamos todo el bucle, así que para los vaguetes está muy bien.
4- Swich/case
Nos permite ejecutar un bloque de código u otro dependiendo del valor de una variable. Veamos un ejemplo.
Primero para asignar un valor a la variable, vamos a hacernos un formulario:
EXEPCIONES.
BREAK
La sentencia de break puede utilizarse en una sentencia Switch o en un bucle, cuando se encuentra sentencia switch, break ase que el control de fLUJO del programa pase a la siguiente sentencia encuentre fuera del entorno del switch., si se encuentra en un bucle, ase que el flujo de ejecución del programa deje el ámbito del bucle y pase a la siguiente sentencia que venga a continuación.
CONTINUE
Se puede utilizar solamente en bucles, lo que hace es que finaliza el bucle y se inicia la siguiente. Java permite el uso de etiquetas en la sentencia continue de forma de que el funcionamiento normal se ve alterado y el saldo en La ejecución del flujo del programa se realizara la sentencia en que se encuentra la sentencia.
RETURN
Se utiliza para terminar un método función y opcionalmente devolver un valor al método de llamada. En el código de una función siempre hay que ser consecuentes con la declaración que se allá hecho de ella, si el valor a retornar es void, se podrá omitir ese valor de retorno , con lo que la sintaxis se reduce a un simple..: RETURN
CitlaliCabrera- Mensajes : 1
Fecha de inscripción : 04/03/2015
falto mas informacion pero muy bueno gracias.
Julio César escribió:Mary Torres escribió:ESTRUCTURAS DE CONTROL: IF, FOR, FOR EACH, WHILE, EXEPCIONES.
Las estructuras de control nos permiten controlar el flujo del programa: tomar decisiones, realizar acciones repetitivas etc, dependiendo de unas condiciones que nosotros mismos establezcamos. Así podemos hacer un script que nos salude cada día de la semana de una manera diferente. O por ejemplo hacer un script que nos pida la contraseña una y otra vez hasta que suministremos la opción correcta.
1.- La toma de decisiones if-else:
Quizá la estructura de control más básica y la más utilizada sea if-else:
2- Bucles: While
If else nos permitía decidir si queríamos ejecutar o no una instrucción en función de una condición, los bucles nos permiten utilizar una condición para determinar cuántas veces queremos ejecutar una instrucción.
3- Bucles: do While
Los bucles do while, son muy parecidos a los bucles while, sólo que comprobamos si la condición es cierta al final del bucle en lugar de al principio. Así nuestras instrucciones se ejecutan siempre al menos una vez, lo que no ocurre en las condiciones while si la condición es falsa.
4- Bucles: for
Los bucles for funcionan exactamente igual que en C . Con una sola instrucción controlamos todo el bucle, así que para los vaguetes está muy bien.
4- Swich/case
Nos permite ejecutar un bloque de código u otro dependiendo del valor de una variable. Veamos un ejemplo.
Primero para asignar un valor a la variable, vamos a hacernos un formulario:
EXEPCIONES.
BREAK
La sentencia de break puede utilizarse en una sentencia Switch o en un bucle, cuando se encuentra sentencia switch, break ase que el control de fLUJO del programa pase a la siguiente sentencia encuentre fuera del entorno del switch., si se encuentra en un bucle, ase que el flujo de ejecución del programa deje el ámbito del bucle y pase a la siguiente sentencia que venga a continuación.
CONTINUE
Se puede utilizar solamente en bucles, lo que hace es que finaliza el bucle y se inicia la siguiente. Java permite el uso de etiquetas en la sentencia continue de forma de que el funcionamiento normal se ve alterado y el saldo en La ejecución del flujo del programa se realizara la sentencia en que se encuentra la sentencia.
RETURN
Se utiliza para terminar un método función y opcionalmente devolver un valor al método de llamada. En el código de una función siempre hay que ser consecuentes con la declaración que se allá hecho de ella, si el valor a retornar es void, se podrá omitir ese valor de retorno , con lo que la sintaxis se reduce a un simple..: * return;
ESTO SON SOLO LOS CONCEPTOS… LES DEJAMOS A CUESTION PROPIA APLICAR EL TERMINO SER AUTO-DIDACTAS Y QUE INVESTIGUEN LAS ETRUCTURAS YA EN LENGUAJE DE JAVA…..
ATTE: MARIA TORRES MARTINEZ Y JESUS GARCIA GONZALEZ
Buena tu informacion pero estaria mejor si egregamos ejemplos para entender mejor, como para if seria:
Haga un programa que ingrese 4 numero por teclado y muestre de forma escrita los numeros del 0 ~ 9 , y si es mayor que diga: "el numero es mayor a 9".
import java.util.*;
public class IfElse {
public static void main (String[]args){
Scanner T = new Scanner(System.in);
int num;
for(int j=0 ; j<4 ; j++){
System.out.print("ingrese numero: " );
num = T.nextInt();
//Condiciones del IF
if (num == 0)
{System.out.println("CERO!!" );}
else if(num == 1)
{System.out.println("UNO!!" );}
else if(num == 2)
{System.out.println("DOS!!" );}
else if (num == 3)
{System.out.println("TRES!!" );}
else if(num == 4)
{System.out.println("Cuatro!!" );}
else if (num == 5)
{System.out.println("Cinco!!" );}
else if (num == 6)
{System.out.println("Seis!!" );}
else if (num == 7)
{System.out.println("Siete!!" );}
else if(num ==
{System.out.println("OCHO!!" );}
else if (num == 9)
{System.out.println("NUEVE!!" );}
else
{System.out.println("El numero es mayor a 9" );}
//Fin del If
}
System.out.println("hasta Pronto!" );
}
}
Agelia sanchez manuel- Mensajes : 2
Fecha de inscripción : 04/03/2015
fundamentos de lenguaje
INTRODUCCIÓN
Una computadora es una máquina que solo comprende las instrucciones que se le den en un determinado formato. Cada máquina reconoce y ejecuta un número de instrucciones diferentes que se agrupan en los distintos lenguajes de programación.
Un lenguaje de programación es un conjunto limitado de palabras y de símbolos que representan procedimientos, cálculos, decisiones y otras operaciones que pueden ejecutar una computadora. A pesar de que en este trabajo parte de la división de lenguajes de programación en imperativos y declarativos (los cuales a su vez se dividen en numerosos subgrupos), la clasificación más común y básica que suele hacerse de los lenguajes de programación es la que los divide en lenguajes de bajo y de alto nivel. Los lenguajes de programación de bajo nivel fueron los primeros que surgieron y se llaman así porque están directamente relacionados con el hardware del computador, es decir, el usuario introduce una serie de códigos numéricos que la máquina va a interpretar como instrucciones. Para usar este lenguaje, el programador tenía que conocer el funcionamiento de la máquina al más bajo nivel y los errores de programación eran muy frecuentes.
Los lenguajes de alto nivel surgieron con posterioridad con el primer compilador de FORTRAN (FORmula TRANslation), que, como su nombre indica, inició como un "simple" esfuerzo de traducir un lenguaje de fórmulas, al lenguaje ensamblador y por consiguiente al lenguaje de máquina, facilitando la labor a los programadores. A partir de FORTRAN, se han desarrollado innumerables lenguajes, que siguen el mismo concepto: facilitar la vida al programador, aumentando la productividad. Estos lenguajes usan un número reducido de instrucciones (normalmente en inglés) que siguen unas estrictas reglas gramaticales que se conocen como sintaxis del lenguaje. Pero aunque el programador de esta forma se distancie del hardware del computador, este sigue trabajando en lenguaje máquina. Por ello se hace necesaria una traducción a una secuencia de instrucciones interpretables por el computador. Esta labor es llevada a cabo por los compiladores y los intérpretes.
El compilador es un programa que se encarga de la traducción global del programa realizado por el usuario. Esta operación recibe el nombre de compilación. El programa es traducido completamente antes de que se ejecute, por lo que la ejecución se realiza en un periodo muy breve. El intérprete por el contrario lleva a cabo una traducción inmediata en el momento de la ejecución, es decir, irá ejecutando las instrucciones una a una haciendo que el proceso requiera un periodo de tiempo sensiblemente mayor del que necesitaría un compilador. Los intérpretes son usados para traducir programas de alta dificultad de implementación, en estos casos, las órdenes a traducir son de tal complejidad que no merece la pena crear un compilador ya que este también tendría que ser de una complejidad por encima de lo normal.
Hay que mencionar la existencia de lenguajes que combinan características de los de alto nivel y los de bajo nivel (es decir, Ensamblador). Un ejemplo es C: contiene estructuras de programación de alto nivel; sin embargo, fue diseñado con muy pocas instrucciones, las cuales son sumamente sencillas, fáciles de traducir al lenguaje de la máquina; y requiere de un entendimiento apropiado de cómo funciona la máquina, el uso de la memoria, etcétera. Por ello, algunos consideran a lenguajes como C (que fue diseñado para hacer sistemas operativos), lenguajes de nivel medio, si bien, son considerados mayoritariamente de bajo nivel.
Aunque en esta introducción se ha comenzado a hablar de los lenguajes dividiéndolos en bajo y alto nivel, en las próximas páginas se procederá a un análisis más exhaustivo y detallado y se verán las numerosas formas en que se pueden agrupar los lenguajes teniendo en cuenta funcionalidad y orientación. Sin embargo no está estipulada ninguna clasificación estricta debido a que dependiendo de la característica por la que se clasifique, un lenguaje podría estar relativamente en un grupo u otro. Sería utópico tratar de clasificar todos los lenguajes existentes ya que hay demasiados y con frecuencia surgen nuevos. No obstante se ha tratado de realizar una clara y esquemática clasificación de los distintos tipos, que abarcase a los lenguajes más importantes.
JUSTIFICACIÓN
El estudio de los lenguajes de programación requiere a su vez comprender perfectamente los tipos de lenguajes de programación que existen y la clasificación comúnmente aceptada que a éstos se les da.
Esta investigación se justifica en la necesidad que todo programador tiene de diferenciar y clasificar correctamente los tipos de lenguajes de programación, conociendo sus aplicaciones y los beneficios o desventajas que ofrece cada uno de ellos.
OBJETIVOS
OBJETIVO GENERAL
Conocer los tipos de lenguajes de programación y la clasificación que comúnmente se les da.
OBJETIVOS ESPECÍFICOS
Determinar qué son los lenguajes de programación declarativos y a la vez los lenguajes que forman parte de este grupo.
Determinar qué son los lenguajes de programación imperativos y los lenguajes que están comprendidos en este grupo.
Diferenciar los lenguajes de bajo nivel (lenguaje máquina) de los lenguajes de alto nivel.
MARCO TEÓRICO
1. CONOCIMIENTOS BÁSICOS
1.1. HISTORIA DE LOS LENGUAJES DE PROGRAMACIÓN
Los primeros lenguajes de programación surgieron de la idea de Charles Babagge, la cual se le ocurrió a este hombre a mediados del siglo XIX. Era un profesor matemático de la universidad de Cambridge e inventor ingles, que la principio del siglo XIX predijo muchas de las teorías en que se basan los actuales ordenadores. Consistía en lo que él denominaba la maquina analítica, pero que por motivos técnicos no pudo construirse hasta mediados del siglo XX. Con él colaboro Ada Lovedby, la cual es considerada como la primera programadora de la historia, pues realizo programas para aquélla supuesta maquina de Babagge, en tarjetas perforadas.
Como la maquina no llego nunca a construirse, los programas de Ada, lógicamente, tampoco llegaron a ejecutarse, pero si suponen un punto de partida de la programación, sobre todo si observamos que en cuanto se empezó a programar, los programadores utilizaron las técnicas diseñadas por Charles Babagge, y Ada, que consistían entre otras, en la programación mediante tarjetas perforadas. A pesar de ello, Ada ha permanecido como la primera programadora de la historia. Se dice por tanto que estos dos genios de antaño, se adelantaron un siglo a su época, lo cual describe la inteligencia de la que se hallaban dotados.
En 1823 el gobierno Británico lo apoyo para crear el proyecto de una máquina de diferencias, un dispositivo mecánico para efectuar sumas repetidas. Pero Babagge se dedico al proyecto de la máquina analítica, abandonando la maquina de diferencias, que se pudiera programar con tarjetas perforadas, gracias a la creación de Charles Jacquard (francés). Este hombre era un fabricante de tejidos y había creado un telar que podía reproducir automáticamente patrones de tejidos, leyendo la información codificada en patrones de agujeros perforados en tarjetas de papel rígido. Entonces Babagge intento crear la máquina que se pudiera programar con tarjetas perforadas para efectuar cualquier cálculo con una precisión de 20 dígitos. Pero la tecnología de la época no bastaba para hacer realidad sus ideas. Si bien las ideas de Babagge no llegaron a materializarse de forma definitiva, su contribución es decisiva, ya que los ordenadores actuales responden a un esquema análogo al de la máquina analítica. En su diseño, la máquina constaba de cinco unidades básicas: 1) Unidad de entrada, para introducir datos e instrucciones; 2) Memoria, donde se almacenaban datos y resultados intermedios; 3) Unidad de control, para regular la secuencia de ejecución de las operaciones; 4) Unidad Aritmético-Lógica, que efectúa las operaciones; 5) Unidad de salida, encargada de comunicar al exterior los resultados. Charles Babbage, conocido como el "padre de la informática" no pudo completar en aquella época la construcción del computador que había soñado, dado que faltaba algo fundamental: la electrónica. El camino señalado de Babbage, no fue nunca abandonado y siguiéndolo, se construyeron las primeras computadoras.
1.2. LENGUAJES DE MÁQUINA
El lenguaje máquina de una computadora consta de cadenas de números binarios (ceros y unos) y es el único que "entienden" directamente los procesadores. Todas las instrucciones preparadas en cualquier lenguaje de máquina tienen por lo menos dos partes. La primera es el comando u operación, que dice a la computadora cuál es la función que va a realizar. Todas las computadoras tienen un código de operación para cada una de sus funciones. La segunda parte de la instrucción es el operando, que indica a la computadora dónde hallar o almacenar los datos y otras instrucciones que se van a manipular; el número de operandos de una instrucción varía en las distintas computadoras. En una computadora de operando único, el equivalente binario de "SUMAR 0814" podría hacer que se sume el valor que se encuentra en la localidad de almacenamiento o dirección 0814 al valor que se encuentra en la unidad aritmética lógica. En una máquina de dos operandos, la representación binaria de "SUMAR 0814 8672" podría hacer que se sume el valor que está en la localidad 8672 al valor que está en la dirección 0814. El formato de operando único es popular en las microcomputadoras más pequeñas; la estructura de dos operandos se encuentra en casi todas las demás máquinas.
Según los estándares actuales, las primeras computadoras eran poco tolerantes. Los programadores tenían que traducir las instrucciones de manera directa a la forma de lenguaje de máquina que comprendían las computadoras. Por ejemplo, un programador que escribiera la instrucción "SUMAR 0814" para una de las primeras máquinas IBM hubiera escrito:
000100000000000000000000000010111000
Además de recordar las docenas de códigos numéricos para los comandos del conjunto de instrucciones de la máquina, el programador tenía que conocer las posiciones donde se almacenan los datos y las instrucciones. La codificación inicial muchas veces requería meses, por lo que era costosa y era frecuente que originara errores. Revisar las instrucciones para localizar errores era casi tan tedioso como escribirlas por primera vez. Además, si era necesario modificar un programa posteriormente, la tarea podía llevarse meses.
1.3. LENGUAJES ENSAMBLADORES
A principios de la década de 1950, y con el fin de facilitar la labor de los programadores, se desarrollaron códigos nemotécnicos para las operaciones y direcciones simbólicas. La palabra nemotécnico se refiere a una ayuda para la memorización. Uno de los primeros pasos para mejorar el proceso de preparación de programas fue sustituir los códigos de operaciones numéricos del lenguaje de máquina por símbolos alfabéticos, que son los códigos nemotécnicos. Todas las computadoras actuales tienen códigos nemotécnicos aunque, naturalmente, los símbolos que se usan varían en las diferentes marcas y modelos. La computadora sigue utilizando el lenguaje de máquina para procesar los datos, pero los programas ensambladores traducen antes los símbolos de código de operación especificados a sus equivalentes en lenguaje de máquina.
Este procedimiento preparó avances posteriores. Si la computadora era capaz de traducir símbolos convenientes en operaciones básicas, ¿por qué no hacer también que realizara otras funciones rutinarias de codificación, como la asignación de direcciones de almacenamiento a los datos? La técnica de direccionamiento simbólico permite expresar una dirección no en términos de su localización numérica absoluta, sino en términos de símbolos convenientes para el programador.
Durante las primeras etapas del direccionamiento simbólico, el programador asigna un nombre simbólico y una dirección real a un dato. Por ejemplo, el programador podría asignar el valor total de mercancía adquirida durante un mes por un cliente de una tienda de departamentos a la dirección 0063, y darle el nombre simbólico TOTAL. Se podría asignar el valor de la mercancía devuelta sin usar durante el mes a la dirección 2047 y dársele el nombre simbólico CRÉDITO. Así, durante el resto del programa, el programador se referirá a los nombres simbólicos, más que a las direcciones, cuando fuera preciso procesar estos datos. Por ejemplo, se podría escribir la instrucción "S CRÉDITO TOTAL" para restar el valor de las mercancías devueltas del importa total de compras para obtener el importe de la factura mensual del cliente. A continuación, el programa ensamblador traduciría la instrucción simbólica a esta cadena de bits:
Más adelante se hizo otra mejora. Se dejó a la computadora la tarea de asignar y recordar las direcciones de las instrucciones. Lo único que tenía que hacer el programador era indicar a la computadora la dirección de la primera instrucción, y el programa ensamblador se encargaba de almacenar, de manera automática, todas las demás en forma secuencial a partir de ese punto. Así, si se agregaba más tarde otra instrucción al programa, no era necesario modificar las direcciones de todas las instrucciones que seguían al punto de inserción (como tendría que hacerse en el caso de programas escritos en lenguaje de máquina). En vez de ello, el procesador ajustaba automáticamente las localidades de memoria la próxima vez que se ejecutaba el programa.
En la actualidad, los programadores no asignan números de dirección reales a los datos simbólicos, simplemente especifican dónde quieren que se coloque la primera localidad del programa, y el programa ensamblador se encarga de lo demás: asigna localidades tanto para las instrucciones como para los datos.
Estos programas de ensamble, o ensamblador, también permite a la computadora convertir las instrucciones en lenguaje ensamblador del programador en su propio código de máquina. Un programa de instrucciones escrito en lenguaje ensamblador por un programador se llama programa fuente. Después de que el ensamblador convierte el programa fuente en código de máquina a éste se le denomina programa objeto. Para los programadores es más fácil escribir instrucciones en un lenguaje ensamblador que en códigos de lenguajes de máquina, pero es posible que se requieran dos corridas de computadora antes de que se puedan utilizar las instrucciones del programa fuente para producir las salidas deseadas.
Los lenguajes ensambladores tienen ventajas sobre los lenguajes de máquina. Ahorran tiempo y requieren menos atención a detalles. Se incurren en menos errores y los que se cometen son más fáciles de localizar. Además, los programas en lenguaje ensamblador son más fáciles de modificar que los programas en lenguaje de máquina. Pero existen limitaciones. La codificación en lenguaje ensamblador es todavía un proceso lento. Una desventaja importante de estos lenguajes es que tienen una orientación a la máquina. Es decir, están diseñados para la marca y modelo específico de procesador que se utiliza, y es probable que, para una máquina diferente, se tengan que volver a codificar los programas.
1.4. LENGUAJES DE ALTO NIVEL
Los primeros programas ensambladores producían sólo una instrucción en lenguaje de máquina por cada instrucción del programa fuente. Para agilizar la codificación, se desarrollaron programas ensambladores que podían producir una cantidad variable de instrucciones en lenguaje de máquina por cada instrucción del programa fuente. Dicho de otra manera, una sola macroinstrucción podía producir varias líneas de código en lenguaje de máquina. Por ejemplo, el programador podría escribir "LEER ARCHIVO", y el programa traductor produciría una serie detallada de instrucciones al lenguaje de máquina previamente preparadas, con lo que se copiaría un registro del archivo que estuviera leyendo el dispositivo de entrada a la memoria principal. Así, el programador no se tenía que ocupar de escribir una instrucción por cada operación de máquina realizada.
El desarrollo de las técnicas nemotécnicas y las macroinstrucciones condujo, a su vez, al desarrollo de lenguajes de alto nivel que a menudo están orientados hacia una clase determinada de problemas de proceso. Por ejemplo, se han diseñado varios lenguajes para procesar problemas científico-matemático, asimismo han aparecido otros lenguajes que hacen hincapié en las aplicaciones de proceso de archivos.
A diferencia de los programas de ensamble, los programas en lenguaje de alto nivel se pueden utilizar con diferentes marcas de computadores sin tener que hacer modificaciones considerables. Esto permite reducir sustancialmente el costo de la reprogramación cuando se adquiere equipo nuevo. Otras ventajas de los lenguajes de alto nivel son:
Son más fáciles de aprender que los lenguajes ensambladores.
Se pueden escribir más rápidamente.
Permiten tener mejor documentación.
Son más fáciles de mantener.
Un programador que sepa escribir programas en uno de estos lenguajes no está limitado a utilizar un solo tipo de máquina.
2. LENGUAJES COMPILADOS
Naturalmente, un programa que se escribe en un lenguaje de alto nivel también tiene que traducirse a un código que pueda utilizar la máquina. Los programas traductores que pueden realizar esta operación se llaman compiladores. Éstos, como los programas ensambladores avanzados, pueden generar muchas líneas de código de máquina por cada proposición del programa fuente. Se requiere una corrida de compilación antes de procesar los datos de un problema.
Los compiladores son aquellos cuya función es traducir un programa escrito en un determinado lenguaje a un idioma que la computadora entienda (lenguaje máquina con código binario).
Al usar un lenguaje compilado (como lo son los lenguajes del popular Visual Studio de Microsoft), el programa desarrollado nunca se ejecuta mientras haya errores, sino hasta que luego de haber compilado el programa, ya no aparecen errores en el código.
atentamente: reynaldo milian garcia,kevin bahena trujillo
Una computadora es una máquina que solo comprende las instrucciones que se le den en un determinado formato. Cada máquina reconoce y ejecuta un número de instrucciones diferentes que se agrupan en los distintos lenguajes de programación.
Un lenguaje de programación es un conjunto limitado de palabras y de símbolos que representan procedimientos, cálculos, decisiones y otras operaciones que pueden ejecutar una computadora. A pesar de que en este trabajo parte de la división de lenguajes de programación en imperativos y declarativos (los cuales a su vez se dividen en numerosos subgrupos), la clasificación más común y básica que suele hacerse de los lenguajes de programación es la que los divide en lenguajes de bajo y de alto nivel. Los lenguajes de programación de bajo nivel fueron los primeros que surgieron y se llaman así porque están directamente relacionados con el hardware del computador, es decir, el usuario introduce una serie de códigos numéricos que la máquina va a interpretar como instrucciones. Para usar este lenguaje, el programador tenía que conocer el funcionamiento de la máquina al más bajo nivel y los errores de programación eran muy frecuentes.
Los lenguajes de alto nivel surgieron con posterioridad con el primer compilador de FORTRAN (FORmula TRANslation), que, como su nombre indica, inició como un "simple" esfuerzo de traducir un lenguaje de fórmulas, al lenguaje ensamblador y por consiguiente al lenguaje de máquina, facilitando la labor a los programadores. A partir de FORTRAN, se han desarrollado innumerables lenguajes, que siguen el mismo concepto: facilitar la vida al programador, aumentando la productividad. Estos lenguajes usan un número reducido de instrucciones (normalmente en inglés) que siguen unas estrictas reglas gramaticales que se conocen como sintaxis del lenguaje. Pero aunque el programador de esta forma se distancie del hardware del computador, este sigue trabajando en lenguaje máquina. Por ello se hace necesaria una traducción a una secuencia de instrucciones interpretables por el computador. Esta labor es llevada a cabo por los compiladores y los intérpretes.
El compilador es un programa que se encarga de la traducción global del programa realizado por el usuario. Esta operación recibe el nombre de compilación. El programa es traducido completamente antes de que se ejecute, por lo que la ejecución se realiza en un periodo muy breve. El intérprete por el contrario lleva a cabo una traducción inmediata en el momento de la ejecución, es decir, irá ejecutando las instrucciones una a una haciendo que el proceso requiera un periodo de tiempo sensiblemente mayor del que necesitaría un compilador. Los intérpretes son usados para traducir programas de alta dificultad de implementación, en estos casos, las órdenes a traducir son de tal complejidad que no merece la pena crear un compilador ya que este también tendría que ser de una complejidad por encima de lo normal.
Hay que mencionar la existencia de lenguajes que combinan características de los de alto nivel y los de bajo nivel (es decir, Ensamblador). Un ejemplo es C: contiene estructuras de programación de alto nivel; sin embargo, fue diseñado con muy pocas instrucciones, las cuales son sumamente sencillas, fáciles de traducir al lenguaje de la máquina; y requiere de un entendimiento apropiado de cómo funciona la máquina, el uso de la memoria, etcétera. Por ello, algunos consideran a lenguajes como C (que fue diseñado para hacer sistemas operativos), lenguajes de nivel medio, si bien, son considerados mayoritariamente de bajo nivel.
Aunque en esta introducción se ha comenzado a hablar de los lenguajes dividiéndolos en bajo y alto nivel, en las próximas páginas se procederá a un análisis más exhaustivo y detallado y se verán las numerosas formas en que se pueden agrupar los lenguajes teniendo en cuenta funcionalidad y orientación. Sin embargo no está estipulada ninguna clasificación estricta debido a que dependiendo de la característica por la que se clasifique, un lenguaje podría estar relativamente en un grupo u otro. Sería utópico tratar de clasificar todos los lenguajes existentes ya que hay demasiados y con frecuencia surgen nuevos. No obstante se ha tratado de realizar una clara y esquemática clasificación de los distintos tipos, que abarcase a los lenguajes más importantes.
JUSTIFICACIÓN
El estudio de los lenguajes de programación requiere a su vez comprender perfectamente los tipos de lenguajes de programación que existen y la clasificación comúnmente aceptada que a éstos se les da.
Esta investigación se justifica en la necesidad que todo programador tiene de diferenciar y clasificar correctamente los tipos de lenguajes de programación, conociendo sus aplicaciones y los beneficios o desventajas que ofrece cada uno de ellos.
OBJETIVOS
OBJETIVO GENERAL
Conocer los tipos de lenguajes de programación y la clasificación que comúnmente se les da.
OBJETIVOS ESPECÍFICOS
Determinar qué son los lenguajes de programación declarativos y a la vez los lenguajes que forman parte de este grupo.
Determinar qué son los lenguajes de programación imperativos y los lenguajes que están comprendidos en este grupo.
Diferenciar los lenguajes de bajo nivel (lenguaje máquina) de los lenguajes de alto nivel.
MARCO TEÓRICO
1. CONOCIMIENTOS BÁSICOS
1.1. HISTORIA DE LOS LENGUAJES DE PROGRAMACIÓN
Los primeros lenguajes de programación surgieron de la idea de Charles Babagge, la cual se le ocurrió a este hombre a mediados del siglo XIX. Era un profesor matemático de la universidad de Cambridge e inventor ingles, que la principio del siglo XIX predijo muchas de las teorías en que se basan los actuales ordenadores. Consistía en lo que él denominaba la maquina analítica, pero que por motivos técnicos no pudo construirse hasta mediados del siglo XX. Con él colaboro Ada Lovedby, la cual es considerada como la primera programadora de la historia, pues realizo programas para aquélla supuesta maquina de Babagge, en tarjetas perforadas.
Como la maquina no llego nunca a construirse, los programas de Ada, lógicamente, tampoco llegaron a ejecutarse, pero si suponen un punto de partida de la programación, sobre todo si observamos que en cuanto se empezó a programar, los programadores utilizaron las técnicas diseñadas por Charles Babagge, y Ada, que consistían entre otras, en la programación mediante tarjetas perforadas. A pesar de ello, Ada ha permanecido como la primera programadora de la historia. Se dice por tanto que estos dos genios de antaño, se adelantaron un siglo a su época, lo cual describe la inteligencia de la que se hallaban dotados.
En 1823 el gobierno Británico lo apoyo para crear el proyecto de una máquina de diferencias, un dispositivo mecánico para efectuar sumas repetidas. Pero Babagge se dedico al proyecto de la máquina analítica, abandonando la maquina de diferencias, que se pudiera programar con tarjetas perforadas, gracias a la creación de Charles Jacquard (francés). Este hombre era un fabricante de tejidos y había creado un telar que podía reproducir automáticamente patrones de tejidos, leyendo la información codificada en patrones de agujeros perforados en tarjetas de papel rígido. Entonces Babagge intento crear la máquina que se pudiera programar con tarjetas perforadas para efectuar cualquier cálculo con una precisión de 20 dígitos. Pero la tecnología de la época no bastaba para hacer realidad sus ideas. Si bien las ideas de Babagge no llegaron a materializarse de forma definitiva, su contribución es decisiva, ya que los ordenadores actuales responden a un esquema análogo al de la máquina analítica. En su diseño, la máquina constaba de cinco unidades básicas: 1) Unidad de entrada, para introducir datos e instrucciones; 2) Memoria, donde se almacenaban datos y resultados intermedios; 3) Unidad de control, para regular la secuencia de ejecución de las operaciones; 4) Unidad Aritmético-Lógica, que efectúa las operaciones; 5) Unidad de salida, encargada de comunicar al exterior los resultados. Charles Babbage, conocido como el "padre de la informática" no pudo completar en aquella época la construcción del computador que había soñado, dado que faltaba algo fundamental: la electrónica. El camino señalado de Babbage, no fue nunca abandonado y siguiéndolo, se construyeron las primeras computadoras.
1.2. LENGUAJES DE MÁQUINA
El lenguaje máquina de una computadora consta de cadenas de números binarios (ceros y unos) y es el único que "entienden" directamente los procesadores. Todas las instrucciones preparadas en cualquier lenguaje de máquina tienen por lo menos dos partes. La primera es el comando u operación, que dice a la computadora cuál es la función que va a realizar. Todas las computadoras tienen un código de operación para cada una de sus funciones. La segunda parte de la instrucción es el operando, que indica a la computadora dónde hallar o almacenar los datos y otras instrucciones que se van a manipular; el número de operandos de una instrucción varía en las distintas computadoras. En una computadora de operando único, el equivalente binario de "SUMAR 0814" podría hacer que se sume el valor que se encuentra en la localidad de almacenamiento o dirección 0814 al valor que se encuentra en la unidad aritmética lógica. En una máquina de dos operandos, la representación binaria de "SUMAR 0814 8672" podría hacer que se sume el valor que está en la localidad 8672 al valor que está en la dirección 0814. El formato de operando único es popular en las microcomputadoras más pequeñas; la estructura de dos operandos se encuentra en casi todas las demás máquinas.
Según los estándares actuales, las primeras computadoras eran poco tolerantes. Los programadores tenían que traducir las instrucciones de manera directa a la forma de lenguaje de máquina que comprendían las computadoras. Por ejemplo, un programador que escribiera la instrucción "SUMAR 0814" para una de las primeras máquinas IBM hubiera escrito:
000100000000000000000000000010111000
Además de recordar las docenas de códigos numéricos para los comandos del conjunto de instrucciones de la máquina, el programador tenía que conocer las posiciones donde se almacenan los datos y las instrucciones. La codificación inicial muchas veces requería meses, por lo que era costosa y era frecuente que originara errores. Revisar las instrucciones para localizar errores era casi tan tedioso como escribirlas por primera vez. Además, si era necesario modificar un programa posteriormente, la tarea podía llevarse meses.
1.3. LENGUAJES ENSAMBLADORES
A principios de la década de 1950, y con el fin de facilitar la labor de los programadores, se desarrollaron códigos nemotécnicos para las operaciones y direcciones simbólicas. La palabra nemotécnico se refiere a una ayuda para la memorización. Uno de los primeros pasos para mejorar el proceso de preparación de programas fue sustituir los códigos de operaciones numéricos del lenguaje de máquina por símbolos alfabéticos, que son los códigos nemotécnicos. Todas las computadoras actuales tienen códigos nemotécnicos aunque, naturalmente, los símbolos que se usan varían en las diferentes marcas y modelos. La computadora sigue utilizando el lenguaje de máquina para procesar los datos, pero los programas ensambladores traducen antes los símbolos de código de operación especificados a sus equivalentes en lenguaje de máquina.
Este procedimiento preparó avances posteriores. Si la computadora era capaz de traducir símbolos convenientes en operaciones básicas, ¿por qué no hacer también que realizara otras funciones rutinarias de codificación, como la asignación de direcciones de almacenamiento a los datos? La técnica de direccionamiento simbólico permite expresar una dirección no en términos de su localización numérica absoluta, sino en términos de símbolos convenientes para el programador.
Durante las primeras etapas del direccionamiento simbólico, el programador asigna un nombre simbólico y una dirección real a un dato. Por ejemplo, el programador podría asignar el valor total de mercancía adquirida durante un mes por un cliente de una tienda de departamentos a la dirección 0063, y darle el nombre simbólico TOTAL. Se podría asignar el valor de la mercancía devuelta sin usar durante el mes a la dirección 2047 y dársele el nombre simbólico CRÉDITO. Así, durante el resto del programa, el programador se referirá a los nombres simbólicos, más que a las direcciones, cuando fuera preciso procesar estos datos. Por ejemplo, se podría escribir la instrucción "S CRÉDITO TOTAL" para restar el valor de las mercancías devueltas del importa total de compras para obtener el importe de la factura mensual del cliente. A continuación, el programa ensamblador traduciría la instrucción simbólica a esta cadena de bits:
Más adelante se hizo otra mejora. Se dejó a la computadora la tarea de asignar y recordar las direcciones de las instrucciones. Lo único que tenía que hacer el programador era indicar a la computadora la dirección de la primera instrucción, y el programa ensamblador se encargaba de almacenar, de manera automática, todas las demás en forma secuencial a partir de ese punto. Así, si se agregaba más tarde otra instrucción al programa, no era necesario modificar las direcciones de todas las instrucciones que seguían al punto de inserción (como tendría que hacerse en el caso de programas escritos en lenguaje de máquina). En vez de ello, el procesador ajustaba automáticamente las localidades de memoria la próxima vez que se ejecutaba el programa.
En la actualidad, los programadores no asignan números de dirección reales a los datos simbólicos, simplemente especifican dónde quieren que se coloque la primera localidad del programa, y el programa ensamblador se encarga de lo demás: asigna localidades tanto para las instrucciones como para los datos.
Estos programas de ensamble, o ensamblador, también permite a la computadora convertir las instrucciones en lenguaje ensamblador del programador en su propio código de máquina. Un programa de instrucciones escrito en lenguaje ensamblador por un programador se llama programa fuente. Después de que el ensamblador convierte el programa fuente en código de máquina a éste se le denomina programa objeto. Para los programadores es más fácil escribir instrucciones en un lenguaje ensamblador que en códigos de lenguajes de máquina, pero es posible que se requieran dos corridas de computadora antes de que se puedan utilizar las instrucciones del programa fuente para producir las salidas deseadas.
Los lenguajes ensambladores tienen ventajas sobre los lenguajes de máquina. Ahorran tiempo y requieren menos atención a detalles. Se incurren en menos errores y los que se cometen son más fáciles de localizar. Además, los programas en lenguaje ensamblador son más fáciles de modificar que los programas en lenguaje de máquina. Pero existen limitaciones. La codificación en lenguaje ensamblador es todavía un proceso lento. Una desventaja importante de estos lenguajes es que tienen una orientación a la máquina. Es decir, están diseñados para la marca y modelo específico de procesador que se utiliza, y es probable que, para una máquina diferente, se tengan que volver a codificar los programas.
1.4. LENGUAJES DE ALTO NIVEL
Los primeros programas ensambladores producían sólo una instrucción en lenguaje de máquina por cada instrucción del programa fuente. Para agilizar la codificación, se desarrollaron programas ensambladores que podían producir una cantidad variable de instrucciones en lenguaje de máquina por cada instrucción del programa fuente. Dicho de otra manera, una sola macroinstrucción podía producir varias líneas de código en lenguaje de máquina. Por ejemplo, el programador podría escribir "LEER ARCHIVO", y el programa traductor produciría una serie detallada de instrucciones al lenguaje de máquina previamente preparadas, con lo que se copiaría un registro del archivo que estuviera leyendo el dispositivo de entrada a la memoria principal. Así, el programador no se tenía que ocupar de escribir una instrucción por cada operación de máquina realizada.
El desarrollo de las técnicas nemotécnicas y las macroinstrucciones condujo, a su vez, al desarrollo de lenguajes de alto nivel que a menudo están orientados hacia una clase determinada de problemas de proceso. Por ejemplo, se han diseñado varios lenguajes para procesar problemas científico-matemático, asimismo han aparecido otros lenguajes que hacen hincapié en las aplicaciones de proceso de archivos.
A diferencia de los programas de ensamble, los programas en lenguaje de alto nivel se pueden utilizar con diferentes marcas de computadores sin tener que hacer modificaciones considerables. Esto permite reducir sustancialmente el costo de la reprogramación cuando se adquiere equipo nuevo. Otras ventajas de los lenguajes de alto nivel son:
Son más fáciles de aprender que los lenguajes ensambladores.
Se pueden escribir más rápidamente.
Permiten tener mejor documentación.
Son más fáciles de mantener.
Un programador que sepa escribir programas en uno de estos lenguajes no está limitado a utilizar un solo tipo de máquina.
2. LENGUAJES COMPILADOS
Naturalmente, un programa que se escribe en un lenguaje de alto nivel también tiene que traducirse a un código que pueda utilizar la máquina. Los programas traductores que pueden realizar esta operación se llaman compiladores. Éstos, como los programas ensambladores avanzados, pueden generar muchas líneas de código de máquina por cada proposición del programa fuente. Se requiere una corrida de compilación antes de procesar los datos de un problema.
Los compiladores son aquellos cuya función es traducir un programa escrito en un determinado lenguaje a un idioma que la computadora entienda (lenguaje máquina con código binario).
Al usar un lenguaje compilado (como lo son los lenguajes del popular Visual Studio de Microsoft), el programa desarrollado nunca se ejecuta mientras haya errores, sino hasta que luego de haber compilado el programa, ya no aparecen errores en el código.
atentamente: reynaldo milian garcia,kevin bahena trujillo
los dichosos- Invitado
Página 2 de 2. • 1, 2
Temas similares
» 1.- Fundamentos De Programación Orientada A Objetos
» 5 y 6 .- Implementación de Interfaz e Integración de Aplicaciones Distribuidas
» LENGUAJE DE MANIPULACIÓN DE DATOS
» 2.- Lenguaje De Manipulación De Datos (Estructura e Integridad De Bases De Datos
» 1.- El SGBD y El Lenguaje De Definición De Datos
» 5 y 6 .- Implementación de Interfaz e Integración de Aplicaciones Distribuidas
» LENGUAJE DE MANIPULACIÓN DE DATOS
» 2.- Lenguaje De Manipulación De Datos (Estructura e Integridad De Bases De Datos
» 1.- El SGBD y El Lenguaje De Definición De Datos
Página 2 de 2.
Permisos de este foro:
No puedes responder a temas en este foro.