Programación - Resumen / UNLAM
Programación - Resumen / UNLAM
Objetivo: Definir los pasos a seguir para resolver un problema dado y conseguir un resultado
esperado: CONSISTENTE, REPETIBLE Y CONFIABLE
PROGRAMA: Instrucciones ejecutables por el procesador que llevan a cabo un algoritmo que
permiten resolver un problema dado.
ALGORTIMO: un conjunto de reglas, ordenadas de forma lógica, para desarrollar un cálculo o para
solucionar un problema, ya sea de forma manual o utilizando una máquina.
PROCEDIMIENTOS: Que son las reglas que definen cómo manipular los datos.
Ser preciso: El desarrollo de Ser definido: Si se ejecuta con Ser finito: En la representación
cada paso debe obedecer a un un mismo conjunto de datos de de un algoritmo siempre se
orden lógico. entrada, el resultado será incluyen los pasos inicio y fin.
siempre el mismo.
LENGUAJES:
Bajo nivel: Lenguajes de código máquina, son un conjunto de instrucciones en código binario que el
ordenador es capaz de ejecutar directamente, específicos de cada tipo de procesador o CPU. Por
ejemplo: Assembler.
Alto nivel: más parecidos al lenguaje natural, cercanos al problema, nos olvidamos de la estructura
interna del ordenador. Por ejemplo: COBOL, Java, Phyton.
“Código fuente” (source code): documento de texto que contiene las instrucciones en el lenguaje
correspondiente.
EJECUCIÓN DEL CÓDIGO
• INTERPRETADO: el código fuente se lee y ejecuta instrucción por instrucción, con poca o
ninguna optimización.
• COMPILADO: el código fuente es procesado por un compilador el cual genera:
• Objeto ejecutable (binario): optimizado por la plataforma de hardware y sistema operativo
correspondiente.
• Bytecodes: es un paso intermedio, que luego será interpretado por una máquina virtual VM
MÁQUINA VIRTUAL
Para que el ejecutable se independiente del sistema operativo (portable) se ejecuta en una MV.
PROGRAMACIÓN EN JAVA
Java es un lenguaje fuertemente tipado, o sea estricto a la hora de asignar valores a las variables. El
compilador sólo admite asignar a una variable un dato del tipo declarado en la variable, aunque, en
ciertas circunstancias permite realizar conversiones para almacenar en una variable un dato de tipo
diferente al declarado.
Conversiones implícitas
Las conversiones implícitas son las que se realizan en forma
automática a través del compilador, antes de almacenarlo en una
variable. Ejemplo: un dato de tipo byte es almacenado en la variable b y
luego es convertido a int al asignarlo a la variable i:
Conversiones explícitas
En caso en que no se cumplan las condiciones para una conversión implícita, ésta puede realizar se
en forma explícita utilizando la expresión:
variable_destino=(tipo_destino)dato_origen;
Con esta expresión se le indica al compilador que convierta dato_origen a tipo_destino para que
pueda ser almacenado en la variable destino.
Constantes
Una constante es una variable cuyo valor no puede ser modificado Para definir una constante en Java
se utiliza la palabra reservada final, delante de la declaración del tipo
Ejemplo:
Es un paradigma de programación que usa objetos y sus interacciones para diseñar aplicaciones y
programas de computadora. En síntesis podemos decir que vamos a tener un objeto, el que tiene
atributos y características propias del mismo.
Entre los lenguajes existentes podemos citar C++, Java, Smalltalk, etc.
¿Qué es un objeto?
Objetos
Una vez creada la clase, es necesario generar objetos a partir de ella. A esta acción se la denomina
instanciar una clase. Las instancias u objetos de una clase se crean con el operador new, que crea la
instancia, la almacena en memoria y devuelve una referencia a la misma que normalmente se guarda
en una variable para posteriormente invocar a los métodos del objeto.
Constructores
El constructor de una clase es una herramienta, a partir de la cual, reservamos la memoria necesaria
para utilizar los objetos, opcionalmente establecemos el estado del nuevo objeto que estamos
creando (esto sería, inicializar sus variables miembro), y por último establecemos la relación entre el
nombre de la variable que creamos, y la porción de memoria donde vamos a guardar el objeto
(referencia al objeto).
Sobrecarga de métodos
Gracias a la sobrecarga de métodos, es posible escribir métodos que tengan el mismo nombre,
siendo su comportamiento diferente. La restricción que debemos cumplir a la hora de utilizar esta
característica es que podemos escribir métodos con el mismo nombre, pero que se diferencien uno
de otro por la cantidad de parámetros, o al menos el tipo de dato de alguno de sus parámetros.
Encapsulamiento
Private: Este modificador sólo es aplicable a los miembros de una clase (atributos y/o métodos), y no
a la clase en sí. El declarar un miembro como private, hace que el uso del miembro esté restringido al
interior de la clase, no pudiendo ser utilizado desde fuera de la misma.
Public: Un elemento (clase, método o atributo) public será visible desde cualquier clase,
independientemente del paquete en que se encuentre.
Para cada uno de los tipos primitivos Java proporciona una clase que
lo representa. A esas clases se las conoce como clases de
envoltorio, y se diferencian en la nomenclatura de los tipos primitivos
ya que estos se escriben en minúscula, en tanto que los nombres de las clases de envoltorio se
inician con una letra mayúscula (como por convención se escriben todos los nombres de una clase).
Las clases de envoltorio o envolventes en Java son las siguientes:
• java.lang.Boolean
• java.lang.Byte
• java.lang.Character
• java.lang.Double
• java.lang.Integer
• java.lang.Float
• java.lang.Long
• java.lang.Short
Un ejemplo claro para las clases de envoltorio es el método que permite convertir un String en el tipo
primitivo que representa. Por ejemplo:
int i = Integer.parseInt("1000");
String
Scanner
La clase Scanner nos permite manipular de forma simple cualquier ingreso (input) que queramos
realizar en nuestro programa. Por default vamos a utilizar siempre el flujo de entrada estándar
(System.in), de manera que podamos realizar cualquier ingreso de datos a través del teclado de la
computadora.
• next();
• nextBoolean(); • nextInt();
• nextByte(); • nextLine();
• nextDouble(); • nextLong();
• nextFloat(); • nextShort();