Este documento presenta 4 programas desarrollados con monitores en Java para ilustrar conceptos de programación concurrente y paralela. El primer programa simula retiros y depósitos en un cajero automático usando monitores. El segundo programa es similar pero usa semáforos en lugar de monitores. El tercer programa ilustra el uso de un monitor para incrementar y decrementar un valor de forma sincronizada. El cuarto programa incrementa un contador de 1 a 10 de forma sincronizada usando 2 hilos y un monitor.
Este documento contiene 11 programas en Java desarrollados por Felipe Triana Guzmán para la asignatura de Programación II. Los programas incluyen ejemplos de impresión de texto, captura y procesamiento de datos, uso de librerías, operadores lógicos, vectores y ciclos. El objetivo general es mostrar diferentes temas básicos de programación orientada a objetos usando el lenguaje Java.
El documento presenta ejemplos de programación concurrente en Java utilizando hilos, interfaces, herencia, sobrecarga de métodos y matrices. Incluye ejemplos de creación e implementación de hilos, interfaces, clases heredadas, métodos sobrecargados y operaciones con matrices como mostrar y recorrer arrays multidimensionales. El objetivo es mostrar diferentes conceptos básicos de programación concurrente en Java a través de pequeños ejemplos prácticos.
El documento presenta 4 ejercicios de programación concurrente en Java que involucran la entrada de datos desde el teclado, el uso de funciones por valor y referencia, y el manejo de excepciones. Los ejercicios capturan datos de entrada, realizan operaciones matemáticas como sumas y restas, y demuestran la diferencia entre pasar parámetros por valor y referencia. El último ejercicio muestra el uso de bloques try-catch para manejar excepciones al convertir una cadena a entero.
Programa para cifrar y descifrar cadenas
Desarrollado en C#, Visual Studio 2015
Algoritmos de Encripación y Desencriptación.
Práctica de un programa que puede ser agregado a una pantalla de login para generar cadenas encriptadas (cifradas)
Práctica: realizar una calculadora sencilla (sumadora) que realice las operaciones básicas; Suma, Resta, Multiplicación y División. Las operaciones se deben realizar de forma Secuencial.
El documento describe el desarrollo de un sistema para gestionar partes de un taller mecánico, incluyendo la creación de un menú para crear, listar, mostrar y eliminar partes asociados a las matrículas de los coches. Se utilizará la clase Lector para leer la entrada por teclado y se creará un diagrama UML.
Los documentos presentan varios ejemplos de código Java que incluyen clases, métodos main, variables, operadores, condicionales if-else, ciclos for y while, arrays unidimensionales y bidimensionales, y manejo de excepciones e ingreso de datos por medio de JOptionPane. Los ejemplos cubren temas básicos de programación como entrada y salida de datos, procesamiento de cadenas y números, y estructuras de control de flujo.
El documento describe las especificaciones para desarrollar un programa que simule el interfaz de entrada de una tarjeta de red. La entrada se implementa mediante dos buffers: un primer buffer de 4 tramas y un segundo buffer de espacio ilimitado con 3 puertos. Cuando el primer buffer se llena, envía las 2 tramas de mayor prioridad al segundo buffer. Se creará una clase para instanciar el sistema de entrada y enviar 6 tramas.
Este documento contiene 11 programas en Java desarrollados por Felipe Triana Guzmán para la asignatura de Programación II. Los programas incluyen ejemplos de impresión de texto, captura y procesamiento de datos, uso de librerías, operadores lógicos, vectores y ciclos. El objetivo general es mostrar diferentes temas básicos de programación orientada a objetos usando el lenguaje Java.
El documento presenta ejemplos de programación concurrente en Java utilizando hilos, interfaces, herencia, sobrecarga de métodos y matrices. Incluye ejemplos de creación e implementación de hilos, interfaces, clases heredadas, métodos sobrecargados y operaciones con matrices como mostrar y recorrer arrays multidimensionales. El objetivo es mostrar diferentes conceptos básicos de programación concurrente en Java a través de pequeños ejemplos prácticos.
El documento presenta 4 ejercicios de programación concurrente en Java que involucran la entrada de datos desde el teclado, el uso de funciones por valor y referencia, y el manejo de excepciones. Los ejercicios capturan datos de entrada, realizan operaciones matemáticas como sumas y restas, y demuestran la diferencia entre pasar parámetros por valor y referencia. El último ejercicio muestra el uso de bloques try-catch para manejar excepciones al convertir una cadena a entero.
Programa para cifrar y descifrar cadenas
Desarrollado en C#, Visual Studio 2015
Algoritmos de Encripación y Desencriptación.
Práctica de un programa que puede ser agregado a una pantalla de login para generar cadenas encriptadas (cifradas)
Práctica: realizar una calculadora sencilla (sumadora) que realice las operaciones básicas; Suma, Resta, Multiplicación y División. Las operaciones se deben realizar de forma Secuencial.
El documento describe el desarrollo de un sistema para gestionar partes de un taller mecánico, incluyendo la creación de un menú para crear, listar, mostrar y eliminar partes asociados a las matrículas de los coches. Se utilizará la clase Lector para leer la entrada por teclado y se creará un diagrama UML.
Los documentos presentan varios ejemplos de código Java que incluyen clases, métodos main, variables, operadores, condicionales if-else, ciclos for y while, arrays unidimensionales y bidimensionales, y manejo de excepciones e ingreso de datos por medio de JOptionPane. Los ejemplos cubren temas básicos de programación como entrada y salida de datos, procesamiento de cadenas y números, y estructuras de control de flujo.
El documento describe las especificaciones para desarrollar un programa que simule el interfaz de entrada de una tarjeta de red. La entrada se implementa mediante dos buffers: un primer buffer de 4 tramas y un segundo buffer de espacio ilimitado con 3 puertos. Cuando el primer buffer se llena, envía las 2 tramas de mayor prioridad al segundo buffer. Se creará una clase para instanciar el sistema de entrada y enviar 6 tramas.
El documento presenta un ejemplo de sincronización de hilos en Java. Se propone crear una clase Contenedor que actúe como buffer para almacenar un número entero de forma que sólo un hilo pueda escribir o borrar el valor a la vez. Se implementan clases ThreadEscribir y ThreadBorrar para gestionar los hilos y una clase TestSincroThreads con el método main para iniciarlos.
Este documento presenta 5 ejercicios de programación en Java que resuelven problemas matemáticos y de entrada/salida de datos. Cada ejercicio describe el problema, incluye el código Java para resolverlo mediante el ingreso de datos y muestra un ejemplo de ejecución del programa.
Este documento describe una aplicación cliente-servidor para realizar operaciones CRUD (crear, leer, actualizar, borrar) en una tabla de una base de datos. La aplicación cliente permite insertar, consultar, actualizar y eliminar registros mediante una interfaz gráfica. Envía las solicitudes al servidor, el cual las procesa y envía una respuesta. El servidor se conecta a la base de datos para realizar las operaciones y enviar notificaciones al cliente.
El documento contiene 15 programas en Java desarrollados por Jonathan Israel para la asignatura de Programación en Java. Los programas incluyen ejemplos básicos de entrada y salida de datos, operaciones aritméticas, cálculo de áreas y perímetros, uso de clases, atributos, métodos y enumeraciones. El documento muestra el progreso de Jonathan en el aprendizaje de conceptos básicos de programación orientada a objetos en Java.
Este documento presenta varios ejercicios y programas de Java sobre condicionales, bucles, vectores y estructuras de selección. Incluye ejemplos de series numéricas, conversiones entre bases numéricas, cálculo de áreas y dibujos con asteriscos.
El documento resume las principales características del lenguaje de programación C++. C++ extiende el lenguaje C con conceptos de orientación a objetos como clases, herencia y sobrecarga de operadores. El documento también cubre conceptos básicos de C como tipos de datos, control de flujo, punteros y funciones, así como mejoras introducidas por C++ como referencias.
Este documento contiene información sobre funciones, estructuras de datos y arreglos unidimensionales en el lenguaje de programación C. Explica que un programa está formado por la estructura de datos y el algoritmo, y define conceptos como funciones, declaración de arreglos, arreglos unidimensionales y su indexación. También incluye ejemplos de código C para ilustrar estos conceptos.
Este documento contiene información sobre funciones, estructuras de datos y arreglos unidimensionales en el lenguaje de programación C. Explica conceptos como declaración de funciones, llamadas a funciones, declaración y acceso a elementos de arreglos. También presenta ejemplos de código para ilustrar el uso de funciones, arreglos y el producto algebraico de matrices.
3 desarollo manejo datos capitulo 4 -02 aplicaciones coleccionesluis freddy
Un Stack es una subclase de Vector que implementa una pila FIFO. Implementa métodos como push() para agregar objetos, pop() para removerlos, y peek() para ver el objeto superior sin removerlo. Un ejemplo muestra cómo agregar y remover elementos de una pila usando estos métodos.
El documento contiene varios ejemplos de código Java que resuelven problemas utilizando bucles como while, do-while y for. Los ejemplos incluyen calcular series numéricas, sumatorias, promedios, máximos y mínimos, tablas de multiplicar, factoriales y la serie de Fibonacci. El código muestra diferentes formas de ingresar y procesar datos utilizando bucles en Java.
Este programa en Java permite calcular el promedio de notas ingresadas por el usuario mediante un ciclo for, sumando las notas y dividiendo la suma total entre la cantidad de notas; también determina si el estudiante está en el cuadro de honor si su promedio es mayor a 90 o si reprobó si es menor.
El documento contiene código Java que implementa diferentes programas para calcular edades, índices de masa corporal, determinar el número mayor entre varios valores ingresados, realizar operaciones matemáticas básicas y más. Se importan librerías como Swing y AWT para interfaces gráficas y manejo de eventos. Los programas solicitan datos de entrada al usuario y muestran resultados a través de ventanas emergentes.
El programa realiza diferentes operaciones matemáticas y lógicas sobre números y caracteres introducidos por el usuario. Primero cuenta la longitud de una palabra, luego convierte nombres a mayúsculas separados por coma, y más adelante calcula el código ASCII de un caracter introducido. También determina si una letra es vocal o no, y si un caracter es número, letra o símbolo. Finalmente, el programa se cierra cuando la raíz cuadrada de la suma de dos números aleatorios es mayor a 4.
Este documento contiene 18 ejercicios de programación en Java con sus respectivas soluciones. Cada ejercicio realiza un cálculo o conversión diferente, como calcular el área de una esfera, convertir grados Celsius a Fahrenheit, o calcular el costo de producción de un artículo. El documento guía al usuario a través de un menú para seleccionar qué ejercicio desea ejecutar.
El documento describe el desarrollo de un juego del Tres en Raya utilizando el framework AWT de Java. El juego tendrá dos modalidades, entre humanos y entre un humano y la computadora (que jugará de forma aleatoria). Se implementarán botones, paneles, grupos de casillas y lógica para detectar ganadores.
Este documento proporciona un repaso de conceptos básicos de programación como clases, arrays, estructuras de datos, excepciones, herencia y polimorfismo. El objetivo es refrescar estos conocimientos y practicarlos. Incluye temas, bibliografía, ejemplos y ejercicios para reforzar los conceptos clave de programación en Java.
Este documento presenta una serie de ejercicios de programación en C++ desarrollados por Silvio Javier Cuenca Macas, estudiante de Electrónica y Telecomunicaciones. Los ejercicios incluyen programas para cambiar vocales minúsculas a mayúsculas en una cadena de caracteres, calcular la velocidad y posición de un objeto en caída libre, determinar si un número digitado es un número o carácter, calcular la suma de los primeros 50 números pares, y crear un programa de calculadora con funciones básicas.
Scala es un lenguaje de programación funcional y orientado a objetos que se ejecuta en la JVM. Aunque comparte similitudes con Java, Scala evita la mutabilidad de datos, asignaciones y bucles imperativos para favorecer la escalabilidad, legibilidad del código y programación paralela. Aprender la programación funcional requiere adaptarse a un nuevo paradigma y siempre tendrá un coste asociado. Scala proporciona características potentes como funciones de alto orden, pattern matching, case classes y colecciones inmutables que reducen
As vendas diminuíram ao longo dos quatro trimestres do ano, com a série 1 atingindo o pico no primeiro trimestre e declinando continuamente, enquanto as séries 2 e 3 tiveram quedas mais suaves e consistentes ao longo do tempo.
El documento describe un viaje por la zona de La Gambuesa en España, incluyendo la llegada al área de La Gambuesa, el camino hacia Las Tederas, un encuentro con el dueño de una cámara, el barranco de Ayagaures, recuerdos compartidos entre Manolo, Luis y Roberto, Las Tederas y su descansadero para los muertos, el pino famoso de Pilancones y su libro de firmas, el camino del vivero, la otra vertiente de La Gambuesa, Tajinaste, La Gambuesa y Ayagaures, y Ay
El documento presenta un ejemplo de sincronización de hilos en Java. Se propone crear una clase Contenedor que actúe como buffer para almacenar un número entero de forma que sólo un hilo pueda escribir o borrar el valor a la vez. Se implementan clases ThreadEscribir y ThreadBorrar para gestionar los hilos y una clase TestSincroThreads con el método main para iniciarlos.
Este documento presenta 5 ejercicios de programación en Java que resuelven problemas matemáticos y de entrada/salida de datos. Cada ejercicio describe el problema, incluye el código Java para resolverlo mediante el ingreso de datos y muestra un ejemplo de ejecución del programa.
Este documento describe una aplicación cliente-servidor para realizar operaciones CRUD (crear, leer, actualizar, borrar) en una tabla de una base de datos. La aplicación cliente permite insertar, consultar, actualizar y eliminar registros mediante una interfaz gráfica. Envía las solicitudes al servidor, el cual las procesa y envía una respuesta. El servidor se conecta a la base de datos para realizar las operaciones y enviar notificaciones al cliente.
El documento contiene 15 programas en Java desarrollados por Jonathan Israel para la asignatura de Programación en Java. Los programas incluyen ejemplos básicos de entrada y salida de datos, operaciones aritméticas, cálculo de áreas y perímetros, uso de clases, atributos, métodos y enumeraciones. El documento muestra el progreso de Jonathan en el aprendizaje de conceptos básicos de programación orientada a objetos en Java.
Este documento presenta varios ejercicios y programas de Java sobre condicionales, bucles, vectores y estructuras de selección. Incluye ejemplos de series numéricas, conversiones entre bases numéricas, cálculo de áreas y dibujos con asteriscos.
El documento resume las principales características del lenguaje de programación C++. C++ extiende el lenguaje C con conceptos de orientación a objetos como clases, herencia y sobrecarga de operadores. El documento también cubre conceptos básicos de C como tipos de datos, control de flujo, punteros y funciones, así como mejoras introducidas por C++ como referencias.
Este documento contiene información sobre funciones, estructuras de datos y arreglos unidimensionales en el lenguaje de programación C. Explica que un programa está formado por la estructura de datos y el algoritmo, y define conceptos como funciones, declaración de arreglos, arreglos unidimensionales y su indexación. También incluye ejemplos de código C para ilustrar estos conceptos.
Este documento contiene información sobre funciones, estructuras de datos y arreglos unidimensionales en el lenguaje de programación C. Explica conceptos como declaración de funciones, llamadas a funciones, declaración y acceso a elementos de arreglos. También presenta ejemplos de código para ilustrar el uso de funciones, arreglos y el producto algebraico de matrices.
3 desarollo manejo datos capitulo 4 -02 aplicaciones coleccionesluis freddy
Un Stack es una subclase de Vector que implementa una pila FIFO. Implementa métodos como push() para agregar objetos, pop() para removerlos, y peek() para ver el objeto superior sin removerlo. Un ejemplo muestra cómo agregar y remover elementos de una pila usando estos métodos.
El documento contiene varios ejemplos de código Java que resuelven problemas utilizando bucles como while, do-while y for. Los ejemplos incluyen calcular series numéricas, sumatorias, promedios, máximos y mínimos, tablas de multiplicar, factoriales y la serie de Fibonacci. El código muestra diferentes formas de ingresar y procesar datos utilizando bucles en Java.
Este programa en Java permite calcular el promedio de notas ingresadas por el usuario mediante un ciclo for, sumando las notas y dividiendo la suma total entre la cantidad de notas; también determina si el estudiante está en el cuadro de honor si su promedio es mayor a 90 o si reprobó si es menor.
El documento contiene código Java que implementa diferentes programas para calcular edades, índices de masa corporal, determinar el número mayor entre varios valores ingresados, realizar operaciones matemáticas básicas y más. Se importan librerías como Swing y AWT para interfaces gráficas y manejo de eventos. Los programas solicitan datos de entrada al usuario y muestran resultados a través de ventanas emergentes.
El programa realiza diferentes operaciones matemáticas y lógicas sobre números y caracteres introducidos por el usuario. Primero cuenta la longitud de una palabra, luego convierte nombres a mayúsculas separados por coma, y más adelante calcula el código ASCII de un caracter introducido. También determina si una letra es vocal o no, y si un caracter es número, letra o símbolo. Finalmente, el programa se cierra cuando la raíz cuadrada de la suma de dos números aleatorios es mayor a 4.
Este documento contiene 18 ejercicios de programación en Java con sus respectivas soluciones. Cada ejercicio realiza un cálculo o conversión diferente, como calcular el área de una esfera, convertir grados Celsius a Fahrenheit, o calcular el costo de producción de un artículo. El documento guía al usuario a través de un menú para seleccionar qué ejercicio desea ejecutar.
El documento describe el desarrollo de un juego del Tres en Raya utilizando el framework AWT de Java. El juego tendrá dos modalidades, entre humanos y entre un humano y la computadora (que jugará de forma aleatoria). Se implementarán botones, paneles, grupos de casillas y lógica para detectar ganadores.
Este documento proporciona un repaso de conceptos básicos de programación como clases, arrays, estructuras de datos, excepciones, herencia y polimorfismo. El objetivo es refrescar estos conocimientos y practicarlos. Incluye temas, bibliografía, ejemplos y ejercicios para reforzar los conceptos clave de programación en Java.
Este documento presenta una serie de ejercicios de programación en C++ desarrollados por Silvio Javier Cuenca Macas, estudiante de Electrónica y Telecomunicaciones. Los ejercicios incluyen programas para cambiar vocales minúsculas a mayúsculas en una cadena de caracteres, calcular la velocidad y posición de un objeto en caída libre, determinar si un número digitado es un número o carácter, calcular la suma de los primeros 50 números pares, y crear un programa de calculadora con funciones básicas.
Scala es un lenguaje de programación funcional y orientado a objetos que se ejecuta en la JVM. Aunque comparte similitudes con Java, Scala evita la mutabilidad de datos, asignaciones y bucles imperativos para favorecer la escalabilidad, legibilidad del código y programación paralela. Aprender la programación funcional requiere adaptarse a un nuevo paradigma y siempre tendrá un coste asociado. Scala proporciona características potentes como funciones de alto orden, pattern matching, case classes y colecciones inmutables que reducen
As vendas diminuíram ao longo dos quatro trimestres do ano, com a série 1 atingindo o pico no primeiro trimestre e declinando continuamente, enquanto as séries 2 e 3 tiveram quedas mais suaves e consistentes ao longo do tempo.
El documento describe un viaje por la zona de La Gambuesa en España, incluyendo la llegada al área de La Gambuesa, el camino hacia Las Tederas, un encuentro con el dueño de una cámara, el barranco de Ayagaures, recuerdos compartidos entre Manolo, Luis y Roberto, Las Tederas y su descansadero para los muertos, el pino famoso de Pilancones y su libro de firmas, el camino del vivero, la otra vertiente de La Gambuesa, Tajinaste, La Gambuesa y Ayagaures, y Ay
El blog describe una visita al hotel Barceló Varadero en Cuba, destacando sus amplias instalaciones, habitaciones cómodas y la variedad de actividades y servicios disponibles para los huéspedes como piscinas, restaurantes y actividades acuáticas.
El documento no proporciona un título ni contenido. Solo indica que el título está vacío. No hay información sustancial que resumir en el documento dado que no contiene texto o detalles sobre ningún tema. El documento no ofrece información relevante para generar un resumen útil.
This document introduces Eric de Vos as an internet consultant but provides limited information about him or his work. It includes his name, occupation, and geographic coordinates but no context or details about his role, experience, company, services offered, or contact information. More information would be needed to fully understand his message.
The document discusses advocacy efforts for an improved transportation network along the Ports-to-Plains Corridor. It would produce significant benefits such as improved safety, increased agricultural freight efficiency, and support for energy and renewable energy development. However, choices must be made to address the federal highway trust fund shortfall, such as increasing revenue through a higher gas tax. Policy recommendations include focusing on rural connectivity, freight movement, border infrastructure, and rural safety.
This document is a grammar book that provides instruction on various Spanish grammar topics including: the imperfect tense, preterite tense, modal verbs, adverbs, progressive tenses, future tense, superlatives, formal commands, prepositions, conditional tense, and demonstratives. It includes examples and conjugations for each topic.
El documento contiene varios certificados de reconocimiento entregados a diferentes jugadores por su desempeño en el Campeonato Nacional, cada uno firmado por Johana Mero o Daniel Alarcon el 31 de diciembre de 2012.
El documento proporciona información sobre la piel. En 3 oraciones o menos:
La piel es el órgano más extenso del cuerpo humano, pesa aproximadamente 4 kg y está compuesta de 3 capas principales: la epidermis, la dermis y la hipodermis. La epidermis contiene queratinocitos, melanocitos, células de Langerhans y células de Merkel. La dermis se divide en dos capas y contiene vasos sanguíneos, nervios y tejido conectivo. La hipodermis está formada
Reporte de grafos con semagforos de 3,3,4 y 6 procesosAntares Zehcnas
El documento describe tres grafos de procesos con semáforos implementados en Java. El primer grafo tiene 3 procesos y 5 semáforos binarios. El segundo grafo tiene también 3 procesos pero con 6 semáforos binarios. El tercer grafo tiene 4 procesos y 5 semáforos binarios. Cada grafo implementa los procesos y semáforos como clases separadas y ejecuta los procesos concurrentemente usando hilos.
Este documento describe un shell creado en C con 6 funciones que incluyen mostrar la hora, limpiar la pantalla, mostrar ayuda, mostrar información de red, salir de la shell y listar archivos. Explica las librerías utilizadas y capturas de pantalla del shell en ejecución y el comando para apagar la PC. Finalmente incluye el código fuente del shell.
Este código Java utiliza try/catch para manejar excepciones al dividir dos números ingresados por el usuario. Primero solicita los números, luego intenta dividirlos llamando al método division(). Si ocurre un InputMismatchException, indica que solo se permiten enteros. Si ocurre un ArithmeticException, indica que no se puede dividir por cero y pide reintentar.
Capítulo 7 sincronización de procesos 09 01-2012ecuatareas
Este documento presenta tres algoritmos para resolver el problema de la sección crítica entre dos hilos. El Algoritmo 1 usa una variable turno compartida que indica qué hilo puede acceder a la sección crítica. El Algoritmo 2 usa una matriz de banderas para cada hilo. El Algoritmo 3 combina la variable turno y la matriz de banderas. También describe soluciones basadas en hardware como test-and-set e intercambio y el uso de semáforos para controlar el acceso a secciones críticas.
El primer documento presenta un problema de sumar las columnas de una matriz cuadrada de tamaño n. El segundo documento presenta un problema de crear una clase calculadora que realice las cuatro operaciones básicas. El tercer documento presenta un problema de girar una matriz 90 grados a la derecha.
El documento presenta un programa Java que lee números binarios de entrada y verifica que solo contengan los dígitos 0 y 1, lanzando una excepción en caso contrario. También incluye clases para realizar operaciones como suma, resta, complemento a 1 y complemento a 2 de números binarios.
Este documento contiene 20 problemas y sus respectivos programas en Java como solución. Los problemas van desde cálculos matemáticos simples como conversiones de unidades y cálculo de áreas, hasta problemas más complejos que involucran ecuaciones, funciones trigonométricas y logaritmos. Cada problema presenta un breve enunciado y a continuación incluye el programa completo escrito en Java para resolverlo.
El documento presenta una clase Main que lee números binarios de entrada y los valida para verificar que solo contengan ceros y unos. Luego, utiliza clases Suma y Resta para realizar operaciones binarias como suma y resta de números, manejando excepciones cuando los números de entrada no son válidos.
El documento contiene varios programas de Java que calculan áreas de triángulos, convierten temperaturas, calculan promedios y realizan operaciones matemáticas básicas. Los programas utilizan entrada de usuario, parseo de cadenas, asignación de variables y salida de resultados para demostrar conceptos básicos de programación en Java.
El documento contiene varios programas de Java que calculan áreas de triángulos, convierten temperaturas, calculan promedios y realizan operaciones matemáticas básicas. Los programas utilizan entrada de usuario, parseo de cadenas, asignación de variables y salida de resultados para demostrar conceptos básicos de programación en Java.
El documento contiene tres programas Java. El primero calcula la raíz cuadrada de los números del 1 al 10. El segundo calcula el cubo de los números del 1 al 10. El tercero solicita información de tres estudiantes (apellido, curso, tres notas) a través de cuadros de diálogo, calcula el promedio de notas de cada estudiante y determina si está aprobado o desaprobado.
El documento presenta modificaciones a un programa Java que utiliza diferentes tipos de bucles (for, while, do-while) y estructuras de control (switch-case) para incrementar un valor numérico de forma repetida. Inicialmente se muestra el uso de un bucle for simple y luego se agregan bucles while y do-while anidados para repetir el incremento más de 100 veces. Finalmente, se introduce un método con una estructura switch-case para evaluar diferentes casos numéricos y mostrar un mensaje correspondiente.
El documento presenta 5 ejemplos de programas Java sencillos con estructuras secuenciales y selectivas simples. El primer ejemplo muestra datos de usuario. El segundo calcula el área de un triángulo. El tercero convierte una cantidad de soles a dólares. El cuarto calcula la sumatoria de números hasta un valor n. Y el quinto calcula el precio neto de un artículo según si la venta es al contado o a plazos.
El documento presenta 5 ejemplos de programas Java sencillos con estructuras secuenciales y selectivas simples. El primer ejemplo muestra datos de usuario. El segundo calcula el área de un triángulo. El tercero convierte una cantidad de soles a dólares. El cuarto calcula la sumatoria de números hasta un valor n. Y el quinto calcula el precio neto de un artículo según si la venta es al contado o a plazos.
Los 23 programas presentan ejemplos de programación en Java que incluyen bucles, condicionales, métodos, excepciones, E/S, arreglos y objetos. Los programas van desde contadores básicos y promedios hasta validaciones, manejo de errores y uso de ventanas gráficas para mostrar mensajes e ingresar datos.
El documento presenta varios problemas de programación en Java resueltos por Noe Emanuel Lopez Velazquez. Incluye problemas como sumar las columnas de una matriz, realizar operaciones matemáticas básicas con una clase calculadora, girar una matriz 90 grados y determinar la longitud de malla necesaria para cercar un terreno.
aqui estoy explicando un poco como son las estructuras de control de la Programacion orientada a objeto if-else, for, while,do-while,switch-case,exception
Este documento presenta un programa en Java que realiza operaciones con números binarios utilizando try, catch y finally para capturar errores. El programa pide al usuario que ingrese dos números binarios, valida que contengan solo ceros y unos, y realiza la resta binaria entre ellos mostrando el resultado.
Este programa permite restar números binarios mediante el método de complemento a dos. Implementa una clase Resta con métodos para sumar, obtener el complemento a uno y dos de un número binario. También incluye una clase ExcepcionIntervalo para capturar errores. El programa pide al usuario ingresar dos números binarios, realiza la resta y muestra el resultado, controlando que se trate de números binarios válidos.
Este documento presenta dos ejercicios de programación en Java. El primer ejercicio convierte un número decimal a binario y octal utilizando vectores. El segundo ejercicio toma un vector de n elementos ingresados y crea un nuevo vector con solo los elementos que se repiten en el primer vector.
1. BENEMERITA UNIVERSIDAD
AUTONOMA DE PUEBLA
FACULTAD DE CIENCIAS
DE LA COMPUTACION
PROGRAMACION CONCURRENTE Y PARALELA
PROGRAMAS DE MONITORES
2. LEZAMA SANCHEZ ANA LAURA
H
Introducción:
En esta práctica se realizaron 4 programas con monitores
Desarrollo:
El primer programa es el mismo que el de la práctica 4, donde se simula el retiro y deposito de
dinero.
public class cliente1 implements Runnable
{
private Monitor_Cajero caja1;
public cliente1(Monitor_Cajero A)
{
this.caja1=A;
}
public void run()
{
3. int cantidad;
for (int i=0; i<5; i++)
{
do
{
cantidad=((int)(Math.random()*1000));
}
while (cantidad<1 || cantidad>1000);
System.out.println ("Retirando: "+cantidad);
caja1.retira(cantidad);
}
}
}
public class cliente2 extends Thread
{
private Monitor_Cajero caja1;
public cliente2(Monitor_Cajero A)
{
this.caja1=A;
}
public void run()
{
int cantidad;
4. for (int i=0; i<5; i++)
{
do
{
cantidad=((int)(Math.random()*1000));
}
while (cantidad<1 || cantidad>1000);
System.out.println ("Ingresando: "+cantidad);
caja1.ingresar(cantidad);
}
}
}
public class Monitor_Cajero
{
private int cantidad;
public Monitor_Cajero()
{
cantidad=10000;
}
public synchronized void retira(int x)
{
while (cantidad-x <=0)
try {wait();}
5. catch (InterruptedException e)
{
System.err.println ("Error"+e.toString());
}
cantidad=cantidad-x;
notify();
}
public synchronized void ingresar(int x)
{
while (cantidad+x>=10000)
try {wait();}
catch (InterruptedException e){System.err.println ("Error"+e.toString());}
cantidad=cantidad+x;
notify();
}
}
//clase principal
import java.io.*;
public class cajeroautomatico
{
public static void main (String []args)
{
Monitor_Cajero A=new Monitor_Cajero();
6. cliente1 cli1=new cliente1(A);
cliente2 cli2=new cliente2(A);
Thread hilo1=new Thread(cli1);
Thread hilo2=new Thread(cli2);
hilo1.start();
hilo2.start();
}
}
SALIDA
********************************************************************************
El segundo programa es el mismo que el de la practica 4 pero solo este se presenta con semáforos
y su ejecución es la misma.
public class SemaforoBinario {
protected int contador = 0;
public SemaforoBinario (int valorInicial) {
contador = valorInicial;
}
7. synchronized public void WAIT () {
while (contador == 0)
try {
wait();
}
catch (Exception e) {}
contador--;
}
synchronized public void SIGNAL () {
contador = 1;
notify();
}
}
class Semaphore
{
private int count;
public Semaphore(int n)
{
this.count = n;
}
public synchronized void WAIT()
{
while(count == 0)
{
8. try
{
wait();
}
catch (InterruptedException e) {//keep trying}
}
count--;
}
}
public synchronized void SIGNAL()
{
count++;
notify();
}
}
public class cajero
{
private int cantidad;
public cajero() {cantidad=10000;}
public synchronized void retira(int x)
{
while (cantidad-x <=0)
try {wait();}
catch (InterruptedException e)
{
9. System.err.println ("Error"+e.toString());
}
cantidad=cantidad-x;
notify();
}
public synchronized void ingresar(int x)
{
while (cantidad+x>=10000)
try {wait();}
catch (InterruptedException e){System.err.println ("Error"+e.toString());}
cantidad=cantidad+x;
notify();
}
}
import java.io.*;
class Procesos1
{
protected static final SemaforoBinario SA = new SemaforoBinario(0);
protected static final SemaforoBinario SB = new SemaforoBinario(0);
protected static final SemaforoBinario SC = new SemaforoBinario(0);
protected static final SemaforoBinario SD = new SemaforoBinario(0);
protected static final SemaforoBinario SE = new SemaforoBinario(0);
protected static final SemaforoBinario mutex = new SemaforoBinario(1);
11. }
public void run()
{
try
{
mutex.WAIT();
int cantidad;
for (int i=0; i<5; i++)
{
do
{
cantidad=((int)(Math.random()*1000));
}
while (cantidad<1 || cantidad>1000);
System.out.println ("Retirando: "+cantidad);
caja1.retira(cantidad);
}
Thread.sleep(500);
mutex.SIGNAL();
SA.SIGNAL();
}
catch (InterruptedException e) {}
}
}
12. public class cliente2 extends Procesos1 implements Runnable
{
private cajero caja1;
public cliente2(cajero x)
{
this.caja1=x;
}
public void run()
{
try
{
mutex.WAIT();
int cantidad;
for (int i=0; i<5; i++)
{
do
{
cantidad=((int)(Math.random()*1000));
}
while (cantidad<1 || cantidad>1000);
System.out.println ("Ingresando: "+cantidad);
caja1.ingresar(cantidad);
}
Thread.sleep(500);
13. mutex.SIGNAL();
SB.SIGNAL();
}
catch (InterruptedException e) {}
}
}
public class cliente3 extends Procesos1 implements Runnable
{
private cajero caja1;
public cliente3 (cajero x)
{
this.caja1=x;
}
public void run()
{
try
{
mutex.WAIT();
int cantidad;
for (int i=0; i<5; i++)
{
do
14. {
cantidad=((int)(Math.random()*1000));
}
while (cantidad<1 || cantidad>1000);
System.out.println ("Ingresando: "+cantidad);
caja1.ingresar(cantidad);
}
Thread.sleep(500);
mutex.SIGNAL();
SB.SIGNAL();
}
catch (InterruptedException e) {}
}
}
//clase principal
import java.io.*;
public class cajeroautomatico
{
public static void main (String []args)
{
cajero caja=new cajero();
cliente1 c1=new cliente1(caja);
cliente2 c2=new cliente2(caja);
cliente3 c3=new cliente3(caja);
c1.start();
15. c2.start();
c3.start();
}
}
Salida
********************************************************************************
El tercer programa es el monitor ejemplo donde desde el cuerpo del código sele asigno una
cantidad de 100 y de acuerdo a las instrucciones se incrementa o decrementa.
public class proceso1 implements Runnable
{
Monitor_Ejemplo A;
int i;
public proceso1(Monitor_Ejemplo A)
{
this.A=A;
this.i=100;
}
public void run()
{
16. A.dec(i);
A.inc(i);
A.valor();
}
}
public class proceso2 implements Runnable
{
Monitor_Ejemplo A;
int i;
public proceso2(Monitor_Ejemplo A)
{
this.A=A;
this.i=20;
}
public void run()
{
A.dec(i);
A.inc(i);
A.valor();
}
}
17. public class Monitor_Ejemplo
{
private int dato;
public Monitor_Ejemplo()
{
dato=10;
}
public synchronized void dec(int cant)
{
dato=dato-cant;
System.out.println(dato);
}
public synchronized void inc(int cant)
{
dato=dato+cant;
System.out.println(dato);
}
public synchronized int valor()
{
System.out.println(dato);
return dato;
}
18. }
public class Principal
{
public static void main(String args[])
{
Monitor_Ejemplo A=new Monitor_Ejemplo();
proceso1 pro1=new proceso1(A);
proceso2 pro2=new proceso2(A);
Thread hilo1=new Thread(pro1);
Thread hilo2=new Thread(pro2);
hilo1.start();
hilo2.start();
}
SALIDA
19. ********************************************************************************
El cuarto programa es el monitor incremento donde el único método es el imprimir del al 10, con
2 hilos imprimiendo cada hilo 5 números de forma sincronizada.
public class proceso1 implements Runnable
{
Monitor_Incremento A;
int i;
public proceso1(Monitor_Incremento A)
{
this.A=A;
}
public void run()
{
for(int i=1;i<=5;i++)
{
A.sumaUno();
}
}
}
public class proceso2 implements Runnable
{
Monitor_Incremento A;
int i;
public proceso2(Monitor_Incremento A)
20. {
this.A=A;
}
public void run()
{
for(int i=1;i<=5;i++)
{
A.sumaUno();
}
}
}
public class Monitor_Incremento
{
private int x;
public Monitor_Incremento()
{
x=0;
}
public synchronized void sumaUno()
{
x=x+1;
System.out.println(x);
}
22. En la elaboración de estos programas se asimilo de mejor forma el concepto de monitor
Bibliografia
http://www.cs.buap.mx/~mceron/principal_con.html