0% encontró este documento útil (0 votos)
2 vistas24 páginas

Introducción a la Programación en Java

El documento aborda la programación en Java, explicando qué es un lenguaje de programación, el proceso de compilación y ejecución, y la importancia de los algoritmos y estructuras de control. Se detalla la modularización como una estrategia de resolución de problemas, destacando sus ventajas y la definición de un módulo. Además, se incluyen ejercicios prácticos para aplicar los conceptos aprendidos.

Cargado por

David Capuma
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
2 vistas24 páginas

Introducción a la Programación en Java

El documento aborda la programación en Java, explicando qué es un lenguaje de programación, el proceso de compilación y ejecución, y la importancia de los algoritmos y estructuras de control. Se detalla la modularización como una estrategia de resolución de problemas, destacando sus ventajas y la definición de un módulo. Además, se incluyen ejercicios prácticos para aplicar los conceptos aprendidos.

Cargado por

David Capuma
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Programación de Sistemas

Lenguaje de Programación: Java


Parte 1

¿Qué es un lenguaje de programación?

Podríamos decir que un lenguaje de programación es un conjunto de símbolos, palabras clave,


códigos y reglas semánticas que son utilizados para crear una secuencia o serie de instrucciones
algorítmicas, las cuales serán utilizadas para crear un programa que pueda controlar el
comportamiento tanto físico como lógico de la computadora, con el objetivo de obtener un
determinado resultado.
Podría definirse en muy pocas palabras que el lenguaje de programación es un sistema
estructurado de comunicación que permite el nexo entre el programador y el dispositivo que está
programando.

Proceso de compilación y ejecución en Java

EDITOR: Esta herramienta permite escribir el código del programa de computadora. Existe una
sintaxis establecida para este fin. Es tan básico el editor, que puede utilizarse el bloc de notas de
Windows o en linux cualquiera de sus editores de texto básico. El único requisito importante
aquí es anexar la extensión .java al final del nombre del archivo. Es decir, si mi archivo se llama
suma, debe guardarse como [Link]
COMPILADOR: El compilador es una herramienta que toma el código .java que fue escrito en el
editor y lo convierte a un formato que será comprendido por la máquina. El programa se
ejecutará en una computadora virtual llamada JVM (Java Virtual Machine).
INTERPRETE: El proceso de compilación genera un nuevo archivo con el mismo nombre del .java,
pero con extensión .class. Este último es el que pasamos a la JVM (Máquina Virtual de Java) y
este componente producirá la salida que manipulará el usuario final del programa que hemos
escrito.

1
Programación de Sistemas

Repaso de conceptos

Existen dos puntos de vista desde los cuales debe ser considerado un algoritmo:

• Por un lado está la especificación del algoritmo. La especificación comprende precisamente


al conjunto de acciones que permiten resolver una clase de problemas. Desde este punto de
vista un algoritmo se puede pensar como una entidad estática.
• Por otro lado, debemos considerar la ejecución del algoritmo. Cuando alguien lleva a cabo
las directivas indicadas por el algoritmo, hablamos de ejecución. Durante la ejecución
estamos hallando la solución de un problema específico o de una instancia de la clase de
problemas. La ejecución es un proceso dinámico.

Las propiedades de un algoritmo incluyen:


(1) Recibe una entrada y genera una salida. (2) Precisión: Cada paso esta precisamente
explicitado.
(3) Determinismo: Los resultados intermedios de cada paso de ejecución son únicos y
determinados
solo por las entradas y resultados del paso anterior. (4) Correctitud: Un algoritmo es correcto, si
cumple con los tres puntos siguientes: a. El algoritmo resuelve el problema para el cual fue
diseñado: efectividad. b. Para cada entrada, el algoritmo produce la salida deseada. c. El
algoritmo termina en un tiempo finito: finitud. (5) Generalización: Un algoritmo es aplicable a un
conjunto de entradas.

2
Programación de Sistemas

ESTRUCTURAS DE CONTROL

El teorema de Bohem-Jacopini Bohm and Jacopini (1966) establece que todo programa puede ser
implementado en un lenguaje de programación combinando sólo tres estructuras de control.
Esas tres formas (también llamadas estructuras de control) específicamente son:

SECUENCIA: ejecución de una instrucción tras otra.

ALTERNATIVA: ejecución de uno de dos conjuntos de instrucciones, según el valor de una


expresión booleana.

REPETITIVA: ejecución de un conjunto de instrucciones mientras una expresión booleana sea


verdadera.

La programación estructurada es una técnica desarrollada por Dijsktra cuyo objetivo es elaborar
programas, de una manera clara, mediante la utilización de estas tres estructuras básicas
de control.

Actividad N°1

1. Realizar una red o mapa conceptual con los conceptos dados.

Para tener en cuenta:

La lectura de un mapa conceptual es, entonces, de arriba hacia abajo. Las redes conceptuales, en cambio,
no requieren jerarquía gráfica vertical; por lo tanto, las conexiones entre nodos, en vez de líneas, son
flechas que orientan el sentido de la lectura (Galagovsky, 1993a, b, 1996;Galagovsky y Ciliberti, 1994).

Ejemplo de mapa conceptual:

3
Programación de Sistemas

Lenguaje de Programación: Java


Parte 2
¿Qué es Java?
Java es el lenguaje de programación y su plataforma de desarrollo es una de la más utilizada .

¿Qué un IDE?
Un IDE es el entorno digital empleado para desarrollar cualquier tipo de software cuyo objetivo es
agilizar todo el proceso de diseño de software, ofreciendo un servicio integral al programador .

IDE Eclipse
Podrán descargar el programa desde [Link]

Lenguaje

Tipos de datos

Java está tipado estáticamente y es fuertemente tipado porque en Java, cada tipo de datos (como
entero, carácter, hexadecimal, decimal empaquetado, etc.) está predefinido como parte del
lenguaje de programación y todas las constantes o variables definidas para un programa dado
debe describirse con uno de los tipos de datos.
Java tiene dos categorías de datos:

• Datos Primitivos (p. Ej., int, char)


• Datos Objeto (tipos creados por el programador)
Los tipos de datos utilizados con más frecuencia en las declaraciones de variables Java se
enumeran en la siguiente tabla, junto con una breve descripción:

4
Programación de Sistemas

5
Programación de Sistemas

Salida de Datos

6
Programación de Sistemas

Entrada de Datos

7
Programación de Sistemas

Expresiones

Práctico N°2

1. Analizar los siguientes tipos de identificadores. (validos/ no validos)

1) registro1: válido.
2) 1registro: No válido. Un identificador no puede comenzar por un dígito.
3) archivo_3: válido.
4) while: No válido. Es una palabra reservada del lenguaje.

8
Programación de Sistemas

5) $impuesto: válido.
6) año: válido.
7) primer apellido: no válido, un identificador no puede contener espacios en blanco. En todo
caso serían dos identificadores.
8) primer_apellido: válido.

Escribe la declaración para cada una de las variables y asígnales un valor inicial en la propia
declaración de variable.
Ejemplo: Variable de tipo cadena de caracteres nombre
String nombre = “Ana” ; .

a) Variables enteras: p, q
b) Variables float: x, y, z
c) Variables carácter: a, b, c
d) Variables double: raiz1, raiz2
e) Variables carácter: car1, car2
f) Variables lógicas: primero, ultimo

2. Escribe la declaración más apropiada para cada una de las siguientes variables. El nombre de
cada una indica el tipo de dato que contendrá y servirá para determinar el tipo de dato más
adecuado en la declaración de la variable.
a) edad k) alumnoRepetidor (valores: SI/NO)
b) códigoPostal l) mensaje
c) altura m) letra
d) genero (valores: H: hombre, M: mujer) n) mayorEdad
e) nombre o) minutos
f) númeroDeHijos p) días
g) iva (valores: % a aplicar) q) matriculaCoche
h) tallaCamisa (valores numéricos) r) contador
i) peso s) mayorDeEdad (valores: verdadero/falso)
j) precio t) tallaCamiseta (valores: S, L, XL...)

3. Si a, b y c son variables enteras con valores a=8, b=3, c=-5, determina el valor de las siguientes
expresiones aritméticas:
a) a + b + c h) a * (b / c)
b) 2 * b + 3 * (a – c) i) (a * c) % b
c) a / b j) a * (c % b)
d) a % b k) (3 * a – 2 * b) % (2 * a – c)
e) a / c l) 2 * ( a / 5 + (4 - b * 3)) % (a + c - 2)
f) a % c m) (a - 3 * b) % (c + 2 * a) / (a - c)
g) a * b / c n) a - b - c * 2

9
Programación de Sistemas

Lenguaje de Programación: Java


Parte 3
MODULARIZACIÓN

Modularizar es una estrategia de resolución de problemas y de ingeniería de software que consiste


en dividir el problema original en un conjunto de subproblemas. Consiste en aplicar una estrategia
heurística fundamental: descomposición y recombinaciónPolya (1973). Esta heurística consiste en
poder descomponer un todo en partes y poder recombinar las partes en un todo.
En programación y en el diseño de algoritmos, un buen diseño estructurado persigue elaborar
algoritmos que cumplan la propiedad de modularidad, esto es, dado un problema que se pretende
resolver mediante la utilización de una computadora, se busca dividir dicho programa en módulos
independientes.
El diseño estructurado incluye la descomposición, para lo cual se requiere un adecuado análisis de
dicho problema, siendo necesario definir primeramente el problema. Merece la pena el esfuerzo de
dividir un problema grande en subproblemas más pequeños.
Ahora la cuestión es ¿cómo realizar la descomposición?. Una manera es realizando un estudio
descendente (top-down) que nos lleve desde la concepción del problema (programa o algorítmo)
global hasta identificar sus partes (módulos). Esta técnica se repite una y otra vez refinando el
problema hasta obtener subproblemas suficientemente pequeños, que puedan ser resueltos por
módulos que cumplan, en la medida de lo posible, las características deseables en un módulo en el
ámbito de la programación.
En cada paso del refinamiento, una o varias instrucciones del programa dado, se descomponen en
instrucciones más detalladas.
¿Cuándo parar el refinamiento? Un refinamiento excesivo podría dar lugar a un número tan grande
de módulos que haría poco práctica la descomposición. Se tendrá en cuenta el siguiente criterio
para dejar de descomponer: Cuando el MÓDULO definido realice una única tarea, lo
suficientemente simple y entendible, y no existan subtareas que requieran descomposición.

VENTAJAS DE MODULARIZAR

El uso apropiado de la modularización tiene importantes ventajas:

1. Cada módulo debe hacer una única cosa (y de manera genérica).


2. Cada módulo oculta algo (encapsulamiento).

El uso apropiado de la modularización tiene importantes ventajas:

1. Facilita el desarrollo del software, dado que los subproblemas son más fáciles de resolver.
2. Facilita la reutilización del software, dado que un módulo se puede usar en muchos programas.
3. Facilita el mantenimiento. Los errores son más fáciles de localizar, ya que están aislados en
un módulo. Aumenta la mantenibilidad.

10
Programación de Sistemas

Los módulos se pueden ver como cajas que tiene datos de entrada, que realizan alguna acción y
devuelven (o no) algún valor.

DEFINICIÓN DE UN MÓDULO

Todo módulo tiene un encabezado y un cuerpo. Un elemento central del encabezado lo compone
el nombre del módulo. El nombre debe estar definido de acuerdo a la notación infixCaps. El
nombre de un módulo es muy importante porque será utilizado para invocar al módulo. Debe ser
un nombre significativo. A continuación, mostramos las partes que componen un encabezado de
un método en JAVA: Las palabras encerradas entre paréntesis en el encabezado del módulo se las
llama parámetros formales. Los parámetros formales se definen con un identificador y su tipo. Los
parámetros se utilizan para definir el módulo, e introducen un punto de variación del módulo.
Un módulo puede tener ninguno, uno o más parámetros formales. En el caso de tener más de uno,
se separan por comas tanto en la declaración del módulo como en la invocación. Es importante
definir el tipo del identificador que viene como parámetro, de la misma manera que se definen los
tipos de cualquier identificador.

El encabezado que define un módulo también incluye el tipo retornado por un módulo. El módulo
puede no retorna nada (indicado con  en Pseudocódigo) o algún valor de algún tipo. En el caso
que un módulo retorna un valor, este valor debe ser asignado convenientemente a una variable en
el punto donde el módulo sea invocado. Por ejemplo, en la siguiente figura, como métodoSuma es
un módulo que retorna un valor, cuando métodoSuma es invocado el valor retornado es asignado
en la variable sum.

11
Programación de Sistemas

Los módulos pueden imprimir mensajes para comunicarlos al usuario, y/o devolver valores.
Cuando una función realice un cálculo o una operación con sus parámetros, es recomendable que
devuelva el resultado en lugar de calcularlo e imprimirlo, permitiendo realizar otras operaciones
con ese resultado.
No es posible acceder a las variables definidas dentro de un módulo desde el algoritmo principal,
si se quiere utilizar algún valor calculado en la función, será necesario devolverlo.
Si un módulo retorna algún valor, la última primitiva del módulo debe mostrar el valor retornado.

12
Programación de Sistemas

Práctico N°3 (Parte 3)

1) Una vez instalado el programa Eclipse:


Abrir el programa, indicar el lugar donde se guardará nuestro proyecto.

1. Crear un proyecto.
En este caso será ProgramaciónDeSistemas.

13
Programación de Sistemas

2. Crear nuestro paquete.


En este caso será Utiles

14
Programación de Sistemas

3. Crear una clase


En este caso será TecladoIn

15
Programación de Sistemas

4. Una vez creada la clase, vamos a borrar todo lo que tiene la clase

5. Pegar en la clase todo lo que tiene el archivo de TecladoIn.

6. Para comenzar a trabajar en eclipse.


Tenemos que tener en cuenta que tendremos un solo proyecto, que ya fue creado. Dentro de él
podremos tener distintos paquetes que serán nuestras “carpetas de trabajos prácticos”. En éstas
podremos tener las clases en las que desarrollaremos cada ejercicio (por ahora).
Una vez creado el paquete Utiles, generaremos un paquete en el que desarrollaremos las
actividades de ejemplos. Para ello seleccionar el proyecto (programaciónDeSistemas) clic derecho
y crear un paquete nuevo (Ejemplos). Luego crear una clase (LecturasYescrituras).

16
Programación de Sistemas

17
Programación de Sistemas

Desarrollar la actividad dentro de las llaves, marcado en celeste en la siguiente imagen.

Así nos quedará la estructura.

18
Programación de Sistemas

Práctico N°3 (Parte 3)

1) Crear un Paquete con el nombre Prácticos y en él una clase llamada Practico_3.


2) Realizar en código java los métodos para resolver los siguientes problemas.
No olvidar usar el encabezado del método.
a) Realizar un programa que declare cuatro variables (numérica entera, booleana, carácter y
cadena) y asignarle algún valor.
b) Realizar un programa en el que se declare cuatro variables (numérica entera, booleana,
carácter y cadena) y asignarle algún valor leído por teclado.
c) Realizar un programa que realice la siguiente salida por pantalla(consola).

d) Realizar un programa que realice la siguiente salida por pantalla(consola) utilizando una
sola línea de código por cada *.

e) Realizar un programa en el que se puedan ingresar datos personales y se muestren los


mismos de manera que simule una ficha. Por ejemplo:

f) Analizar el siguiente código para identificar los errores. Modificarlo de manera que pueda
cumplir con su fin, mostrar los valores finales de A,B,C. ¿Cuáles son esos valores?

19
Programación de Sistemas

Trabajo Practico N° 4:

Realizar los métodos para:


1) Leer una letra e identificar si es igual que A.
2) Escriba un algoritmo para leer un número entero, doblarlo y multiplicarlo
por 25.-Muestre el resultado en pantalla.
3) Realizar la carga de dos números enteros por teclado e imprimir su suma y su
producto.
4) Escribir un programa en el cual se ingresen cuatro números, calcular e
imprimir:
a. la suma de los dos primeros
b. el producto del tercero y el cuarto.
5) Realizar un programa que lea cuatro valores numéricos e imprimir su suma y
promedio.
6) Construir un programa que capture(lea por teclado) una temperatura en
Celsius y la convierta en Fahrenheit. 1 °C  33.8 °F .
7) Elaborar un algoritmo que lea un número y que escriba su cuadrado y que
determiné su potencia al cubo. Imprimir los resultados.
8) Escribir un programa en el cual el usuario ingrese una cantidad determinada
en centímetros, y luego convertir dicho valor (realizar conversión) a su
equivalente en:

20
Programación de Sistemas

Lenguaje de Programación: Java


Parte 4

Sentencias Control en Java


Un programa en Java se ejecuta en orden desde la primera sentencia hasta la última.
Si bien existen las sentencias de control de flujo las cuales permiten alterar el
fujo de ejecución para tomar decisiones o repetir sentencias.
Dentro de las sentencias de control de flujo tenemos las siguientes:

• Sentencias de decisión
• Sentencias de bucle
• Sentencias de ramificación

Sentencias de Decisión
Son sentencias que nos permiten tomar una decisión para poder ejecutar un bloque de
sentencias u otro.
Las sentencias de decisión son: if-then-else y switch.
Mediante if-then-else podremos evaluar una decisión y elegir por un bloque u otro.

21
Programación de Sistemas

Expresión en java.

if (expresión) {
// Bloque then
} else {
// Bloque else
}

Ejemplo:

22
Programación de Sistemas

Trabajo Practico N° 5: Estructura Alternativa -Java

Realizar los métodos para:


1) Leer una letra e identificar si es igual que A.
2) Leer un nombre y comparar si es igual al mío (su nombre).
3) Leer un número y mostrar por pantalla si es mayor que 5.
4) Realizar un programa que lea una nota y escriba si está aprobado o
desaprobado. La nota de aprobación es un 7.
5) Realizar un programa que lea dos notas y escriba si está aprobado o
desaprobado. Se considerará aprobado si el promedio de las notas es mayor o
igual que 7.
6) Realizar un programa que lea un número y escriba si es par o impar.
7) Realizar un programa que lea un número y analice si es par o impar. Si es
número es par multiplicarlo por 2 y escribir su resultado. Si es impar
multiplicarlo por 3 y escribir su resultado.
8) Realizar un programa que lea un número y analice si es par o impar. Si es
número es par multiplicarlo por 2 y escribir su resultado. Si es impar
multiplicarlo por 3 y escribir su resultado. Antes de terminar el programa
que escriba “actividad verificada”.

Trabajo Practico N° 6 : Estructura Alternativa – Secuencial -Java

1. Realizar un programa que simule una compra en el que se pida el ingreso por
teclado de Nombre de cliente y forma de pago (tarjeta o contado). Mostrar
por pantalla en cada caso el modo de pago.
2. Realizar un programa que simule una compra en el que se pida el ingreso por
teclado de Nombre de cliente y el monto de la compra. Si la compra supera
los 9 mil le realizará un descuento del 15% sino pagará en monto total.
Mostrar por pantalla el monto a pagar y si fuera el caso también el
descuento obtenido.
3. Realizar un programa que simule una compra. Donde se ingrese el monto de la
misma y la forma de pago (T o C). Si la forma de pago fue de contado
realizarle un descuento del 10% y en caso contrario un incremento del 5%.
Mostrar por pantalla el monto que se ingresa, descuento/aumento, y el total
a pagar.
4. Realizar un programa que simule una compra. Se debe ingresar el monto de la
compra y forma de pago (T o C). Si la compra supera los 10 mil y paga de
contado se realizará un descuento del 20%. Caso contrario pagará el monto
ingresado. Mostrar por pantalla el total a pagar y si se hizo un descuento
también.

23
Programación de Sistemas

Trabajo Practico N° 7 : Estructura Alternativa – Secuencial -Java

1) Realizar un programa en el que calcule porcentajes. Deberán ingresar el


número y el porcentaje a calcular.
2) Realzar un programa en el que se ingresen cuatro palabras y realice una
sola muestra por pantalla donde se pueda observar todas las palabras
ingresadas. Ejemplo:
primer palabra: palabra1 segunda palabra: palabra2 tercera palabra: palabra3 cuarta palabra:
palabra4
3) Realizar un programa de verificador de contraseña. Deberá tener
previamente una contraseña y leer una nueva. Si ambas coinciden, mostrar
mensaje sesión iniciada y en caso contrario contraseña incorrecta.
4) Realizar un programa de actualizador de contraseña. Deberá tener
previamente una contraseña y leer una nueva. Si ambas coinciden, se
deberá pedir la nueva contraseña y guardarla. Mostrar los mensajes de
cambio de contraseña o en caso contrario contraseña incorrecta.

24

Common questions

Con tecnología de IA

El teorema de Bohem-Jacopini establece que cualquier programa se puede implementar usando solo tres estructuras de control básicas: secuencia, alternativa y repetitiva. La programación estructurada utiliza estas estructuras para elaborar programas claros y bien organizados, permitiendo así una mejor comprensión y mantenimiento .

Usar métodos que retornan valores en lugar de solo imprimir resultados aumenta la reutilización y flexibilidad del código, permitiendo la integración de resultados en operaciones futuras, mejorando así la modularidad y potenciando la composición de funciones complejas a partir de más simples .

Los datos primitivos en Java son tipos básicos predefinidos como int o char, mientras que los datos objeto son tipos creados por el programador. La elección entre ambos afecta el diseño del programa en términos de eficiencia y flexibilidad, ya que los primitivos son más rápidos y consumen menos memoria, mientras que los objetos proporcionan más funcionalidad y extensibilidad .

Es crucial considerar que el refinamiento debe detenerse cuando un módulo realiza una única tarea simple y entendible, evitando un exceso de módulos que complique la arquitectura del software haciendo poco práctica su gestión .

La modularización facilita el desarrollo y mantenimiento del software porque permite dividir un problema grande en subproblemas, facilitando su resolución y reutilización. Los módulos permiten encapsular tareas y ocultar detalles internos, lo que simplifica la localización de errores y mejora la mantenibilidad del código .

Los IDE como Eclipse facilitan el desarrollo de software proporcionando herramientas integradas que agilizan el proceso de codificación, depuración y gestión de proyectos, permitiendo al programador dedicarse más al desarrollo lógico del software que a aspectos técnicos repetitivos .

La estructura alternativa, mediante el uso de if-then-else y switch, permite tomar decisiones dentro de un programa Java para elegir entre dos o más bloques de código en función de evaluaciones booleanas, lo que es crucial para la interpretación dinámica del programa conforme a condiciones mutables .

El tipado estático de Java significa que el tipo de dato de cada variable se verifica durante la compilación, obligando a definir el tipo adecuadamente antes del uso. Esto previene errores de tipo en tiempo de ejecución y contribuye a la solidez y seguridad del programa .

El estudio descendente divide un problema grande en subproblemas más manejables, comenzando por una descripción general del problema y refinándola sucesivamente hasta llegar a subproblemas simples. Esto permite diseñar módulos específicos para cada subparte del problema, optimizando la claridad y eficiencia del código .

El uso de identificadores válidos en programas es esencial para mantener la claridad y evitar errores de compilación. En Java, los identificadores no pueden comenzar con un dígito ni ser palabras reservadas del lenguaje. Esto restringe la creación de identificadores a fin de evitar confusión con las sintaxis definidas por el lenguaje .

También podría gustarte