Introduccion a la Programacion

4.0(1)
studied byStudied by 16 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/50

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

51 Terms

1
New cards

Paradigma de Programacion

  • Enfoque o modelo conceptual que guia como se desarrolla y estructura el software.

2
New cards

Ejemplos de Paradigmas de Programacion

  • Programacion Estructurada, Programacion Orientada a Objetos, Programacion Funcional

3
New cards

Programacion Estructurada

  • Enfoque que genera programas bien escritos y legibles.

  • Se basa en la modularizacion y un diseño descendente.

  • Utiliza estructuras de control como secuencias, bucles y condicionales.

4
New cards

Programacion Orientada a Objetos (POO)

  • Se centra en el diseño y desarrollo de software basado en objetos.

  • Los objetos encapsulan datos y comportamientos relacionados.

5
New cards

Conceptos Clave de la Programacion Orientada a Objetos

Clase, Objeto, Abstraccion, Encapsulamiento, Herencia, Polimorfismo

6
New cards

Clase

  • Plantilla o plano que define las caracteristicas y comportamientos de los objetos.

  • Contiene Atributos (propiedades) y Metodos (comportamientos).

7
New cards

Ejemplo de Clase

public class Cliente {
	String nombre;
	String direccion;
	String telefono;

	public Cliente(
		String nombre,
		String direccion,
		String telefono
	) {
	this.nombre = nombre;
	this.direccion = direccion;
	this.telefono = telefono;
	}
}
8
New cards

Objeto

  • Instancia particular de una clase.

  • Puede almacenar datos y realizar acciones especificas.

9
New cards

Ejemplos de Objetos

Cliente cliente = new Cliente(nombreCliente, direccionCliente, telefonoCliente);

Scanner scanner = new Scanner(System.in);
10
New cards

Abstraccion

  • Propiedad que considera los aspectos mas significativos de un problema.

  • Representa la informacion en relacion con la interfaz y el usuario.

  • Una clase es la abstraccion de un tipo definido por el usuario.

11
New cards

Encapsulamiento

  • Agrupamiento de datos y operaciones relacionadas bajo una misma unidad de programacion.

  • Oculta los detalles internos de un objeto.

  • Aumenta la cohesion y la ocultacion de datos.

12
New cards

Herencia

  • Mecanismo que permite crear subclases a partir de una superclase.

  • Las subclases heredan atributos y metodos de la superclase.

  • Fomenta la reutilizacion de codigo y la organizacion jerarquica.

13
New cards

Polimorfismo

  • Propiedad que permite a una operacion tener el mismo nombre en clases diferentes y actuar de modo distinto en cada una.

  • Se resuelve en tiempo de ejecucion.

14
New cards

Ejemplo de Polimorfismo

// Clase base
public abstract class FiguraGeometrica {
    public abstract double calcularArea();
    public abstract double calcularPerimetro();
}

public class Circulo extends FiguraGeometrica {
    private double radio;
    
    public double calcularArea() {
        return Math.PI * radio * radio;
    }
    
    public double calcularPerimetro() {
        return 2 * Math.PI * radio;
    }
}

public class Rectangulo extends FiguraGeometrica {
    private double lado1, lado2;
    
    public double calcularArea() {
        return lado1 * lado2;
    }
    
    public double calcularPerimetro() {
        return 2 * (lado1 + lado2);
    }
}

public class Triangulo extends FiguraGeometrica {
    private double base, altura, hipotenusa;

    public double calcularArea() {
        return 0.5 * base * altura;
    }
    
    public double calcularPerimetro() {
        return base + altura + hipotenusa;
    }
}

// Al llamar un objeto y calcular
Triangulo triangulo = new Triangulo(3.0, 4.0, 5.0);
double area = triangulo.calcularArea();
System.out.println("El area del triangulo es: " + area);
15
New cards

Ventajas de hacer popo

  • Reutilizacion de codigo, modularidad, abstraccion, mantenibilidad, flexibilidad.

  • Modelado del mundo real, colaboracion en equipo.

16
New cards

Dificultades de hacer popo

  • Conceptos confusos al principio, diseño complejo, herencia compleja.

  • Posible sobrecarga de rendimiento, reutilizacion excesiva, curva de aprendizaje.

17
New cards

Origen de Java

  • Nacio en 1991 con el nombre “Oak”, luego “Green” y finalmente “Java”.

18
New cards

Se puede desarrollar con Java

  • Aplicaciones de Android, web y software general.

  • Procesamiento de Big Data.

19
New cards

Entornos de Desarrollo para Java

  • Eclipse

  • IntelliJ IDEA

  • JCreator

  • NetBeans

20
New cards

Propiedades que debe Tener un Programa en Java

  • Legibilidad

  • Correccion

  • Eficiencia

21
New cards

Proceso clásico de desarrollo de software

  • Especificacion

  • Diseño

  • Codificacion

  • Prueba

  • Mantenimiento

22
New cards

Especificación

•en esta fase se decide la funcionalidad, características técnicas y condiciones de uso de la aplicación.

23
New cards

Diseño

•se define la arquitectura de la aplicación detallando la estructura y organización del programa y como se relacionan las distintas partes de la aplicación.

24
New cards

Codificación

•consiste en la escritura del código de acuerdo a las especificaciones de diseño.

25
New cards

Prueba

•en esta fase se compila y ejecuta la aplicación para verificar que se cumplen con los requisitos funcionales.

26
New cards

Mantenimiento

en esta fase se corrigen errores de funcionamiento, se modifica la funcionalidad o se añaden nuevas funcionalidades.

27
New cards

Importancia de los Comentarios

  • Claridad y Comprension

  • Documentacion del Codigo

  • Colaboracion

  • Facilita la Depuracion

  • Repaso y Aprendizaje

28
New cards

Variable (identificador)

  • Debe empezar con una letra, pero puede estar seguida de mas letras o digitos.

  • Para nombres compuestos, deben empezar con minusculas y la segunda palabra con mayuscula. (calcularEdad, notaEstudiante)

29
New cards

Formato para Nombres de Clase

  • empiezan siempre con mayúsculas. En los nombres compuestos, cada palabra comienza con mayúscula y no se debe utilizar guión bajo para separar las palabras.

    Ejemplos: Matemática, Profesor, DatosDelCliente.

30
New cards

Formato para Constantes

se escriben en mayúsculas Para nombres compuestos, se utiliza guión bajo para separar palabras.

Ejemplos: PI, ITBMS, SEGURO_SOCIAL, SEGURO_EDUCATIVO.

31
New cards

Tipos de datos primitivos en java

  • byte

  • short

  • int

  • long

  • float

  • double

  • char

  • boolean

32
New cards

Operadores Aritmeticos

  • +

  • -

  • *

  • /

  • %

33
New cards

Operadores de Asignacion

  • =

  • +=

  • -=

  • *=

  • /=

  • %=

34
New cards

Operadores de Comparacion

  • ==

  • !=

  • <

  • >

  • <=

  • >=

35
New cards

Operadores Logicos

  • &&

  • | |

  • !

36
New cards
public class Vehiculo{
	String matricula;
	String marca;
	String modelo;
	String color;
	double tarifa;
	Boolean disponible;
	public Vehiculo(
		String matricula,
		String marca,
		String modelo,
		String color,
		double tarifa.
		Boolean disponible
	) {
	    this.matricula = matricula;
	    this.marca = marca;
	    this.modelo = modelo;
    	    this.color = color;
	    this.tarifa = tarifa;
	    this.disponible = disponible;
	}
}

<p></p>
37
New cards

Ciclo de vida de un objeto

  • Declaracion

  • Instanciacion

  • Uso en el programa

38
New cards

Tipos de Acceso

  • private (solo se pueden acceder desde la propia clase que los define)

  • public (se pueden acceder libremente desde otras clases

  • protected (se accede desde la clase que los define y desde sus subclases

39
New cards

Tipos de Metodos

  • Metodos de consulta (metodos get)

  • Metodos modificatores (metodos set)

  • Operaciones (definen el comportamiento del objeto)

40
New cards

Se invoca cuando se ejecuta un programa de Java. Todo programa debe tener este metodo.

  • Metodo main()

  • public static void main(String[] args)

41
New cards

UML

  • Lenguaje de Modelado Unificado

42
New cards

Ventajas de UML

  • Proporciona a los usuarios un lenguaje modelado visual listo para que puedan desarrollar modelos significativos

  • Proporciona mecanismos para ampliar conceptos basicos

  • Es independiente de lenguajes de programacion

  • Proporciona una base formal par comprender el lenguaje de modelado

  • Integra las mejores practicas

43
New cards
term image

Ejemplo de diagrama de clase UML

44
New cards

Tipos de relaciones

  • Asociacion

  • Agregacion

  • Composicion

  • Dependencia

  • Herencia

45
New cards

Asociacion

Es el tipo de relacion mas comun y se utiliza para representar dependencia semantica.

<p>Es el tipo de relacion mas comun y se utiliza para representar dependencia semantica.</p>
46
New cards

Agregacion

Indica a un objeto y las partes que componen ese objeto.

<p>Indica a un objeto y las partes que componen ese objeto.</p>
47
New cards

Composicion

Representa la relacion jerarquica entre un objeto y las partes que lo componen, y si el primero no existe, los otros no tienen sentido de existencia.

<p>Representa la relacion jerarquica entre un objeto y las partes que lo componen, y si el primero no existe, los otros no tienen sentido de existencia.</p>
48
New cards

Dependencia

Representa que una clase requiere de otra para ofrecer sus funcionalidades

<p>Representa que una clase requiere de otra para ofrecer sus funcionalidades</p>
49
New cards

Herencia

Permite que una clase reciba los atributos y metodos de otra clase

<p>Permite que una clase reciba los atributos y metodos de otra clase</p>
50
New cards

Pasos para dibujar un diagrama de clase

  • Identificar los nombres de las clases

  • Distingue las relaciones

  • Crea la estructura

51
New cards
term image

skill issue tun tun tun tun tun tun tun tun