- import java.util.Random;
- import cs1.Keyboard;
- import java.lang.String;
- public class bucles1{
- public static void main (String[] args){
- String nombre="",apellido,profesion,dni;
- boolean ok;
- ok=false;
- while(ok==false){
- System.out.print("introudce tu nombre:");
- nombre=Keyboard.readString();
- System.out.print("introduce tu apellido:");
- apellido=Keyboard.readString();
- System.out.print("introduce tu profesión:");
- profesion=Keyboard.readString();
- System.out.print("introduce tu dni:");
- dni=Keyboard.readString();
- if(nombre.equals("xxx")){
- ok=true;
- }
- }
- System.out.print("El nombre es :'" +nombre+ "', salimos del programa.");
- }
- }
2. - Intentar acertar un número entero definido aleatoriamente por el programa entre 0 y 100. Este dirá si es mayor o menor, para que lleguemos a acertar lo, y los intentos que nos quedan para encontrarlo (como máximo tendremos 10 intentos)
- import cs1.Keyboard;
- import java.lang.Math;
- public class bucles2{
- public static void main (String[] args){
- double num_alea;
- int num_usuario =0, intento=0, i=0;
- num_alea= Math.random();
- num_alea= Math.rint(num_alea*100);
- System.out.println("Hola bienvenido a nuestro programa de aciertos del número aleatorio");
- System.out.println("Debe acertar el número del programa y solamente tiene 10 intentos");
- while ((intento < 10) &&(num_usuario!=num_alea)){
- System.out.print("\nintroduce un número de 0 a 100: ");num_usuario=Keyboard.readInt();
- intento++;i=10-intento;
- if (num_usuario<num_alea){System.out.println("el número introducido es menor que el del programa (te quendan "+i+" intentos)");}
- if (num_usuario>num_alea){System.out.println("el número introducido es mayor que el del programa (te quendan "+i+" intentos)");}
- }
- if(num_usuario==num_alea){System.out.println("Enhorabuena, has adivinado el número!!");}
- else {System.out.println ("sorry, no lo has adivinado. el número era: " +num_alea+".");}
- }
- }
3. - Aplicaciones de los bucles, realiza un menú que permita lo siguiente:
a) Visualizar el cuadrado y cubo de los 20 primeros números.
b) Visualizar la suma total de los 20 primeros números pares.
c) El usuario / a entra un número (por ejemplo 5) Queremos encontrar su suma 1 +2 +3 + .. +5 Salimos del PGR. cuando apretamos un cero.
d) Pedir números hasta que introducimos el 0, y mostrar su multiplicación.
e) Entramos un número y calculamos si es primero. Salimos cuando lo es.
f) Descomposición de un número en factores. Salimos a poner 0.
g) Visualización de las potencias de 2 que su resultado se encuentre entre 1 y 10000.
h) Salir del programa.
- import cs1.Keyboard;
- import java.lang.Math.*;
- public class bucles3 {
- public static void main (String args[]){
- String sel;
- int num_intents = 0,num = 0, numc = 0,suma = 0,multi = 1, sum = 0, num4, num2 = 0, num5 = 0;
- double num3 = 0, op1, op2;
- boolean prim;
- do{
- System.out.print ("\n\n");
- System.out.println (" 1-visualiza el cuadrado y el cubo de los 20 primeros números ");
- System.out.println (" 2- visualizar la suma total de los 20 primeros nombres y apellidos ");
- System.out.println (" 3- el usuarios introduce un número (p.e. 5) queremos encontrar la suma 1+2+3...+5");
- System.out.println (" 4- pedir numeros hasta que introducimos el 0,y muestra su multiplicación");
- System.out.println (" 5- introducimos un número y calculamos si es primo");
- System.out.println (" 6- Descomposición de un número en factores");
- System.out.println (" 7- visualización de las potencias de 2 que el resultado se encuentre entre 1 y 10000 ");
- System.out.println (" 8- salir del programa ");
- sel = Keyboard.readString();
- if (sel.equals("1")){
- for (num_intents=1; num_intents <=20; num_intents++){
- System.out.println("\n El quadrat del nombre " + num_intents + " sera " + (int)Math.pow(num_intents,2));
- System.out.println("\n El cub del nombre " + num_intents + " sera " + (int)Math.pow(num_intents,3));
- }
- }
- if (sel.equals("2")){
- for (num=1; num <=20; num++){
- num2 = (num5);
- num5 = num2 + 2; sum = (sum+num5);
- System.out.println (" La suma del " + num + " de numeros sera de " + sum);
- }
- }
- if(sel.equals("3")){
- do{
- System.out.print ("Introdueix un numero ");
- numc = Keyboard.readInt();
- suma = suma + numc;
- System.out.println (" El resultat final es " + suma);
- }
- while (numc != 0);
- System.out.print ("\nSurts del programa!!");
- }
- if (sel.equals("4")){
- do{
- System.out.print (" Introdueix un numero ");
- numc = Keyboard.readInt();
- multi = multi*numc;
- System.out.println(" El resultat final es " + multi);
- }
- while (numc != 0);
- System.out.print ("\nSurts del programa!!");
- }
- if (sel.equals("5")){
- do{
- op1= 0;
- op2= 0;
- System.out.print ("Introdueix un numero primer: ");
- num3 = Keyboard.readInt();
- for (num_intents = 2; num_intents < num3; num_intents++){
- op1 = (int) num3 % num_intents;
- if (op1 == 0){
- op2 = op2 + 1;
- }
- }
- if (op2 == 0){
- System.out.println ("El numero " + (int) num3 + " es primer ");
- prim = true;
- }
- else{
- System.out.println (" El numero " + (int) num3 + " no es primer ");
- prim = false;
- }
- }
- while (prim == false);
- }
- if (sel.equals("6")){
- num4 = 1;
- while (num4 !=0){
- System.out.print (" Introdueix un numero ");
- num4 = Keyboard.readInt();
- for (num_intents = 2; num_intents <= num4; num_intents++){
- while (num4%num_intents == 0){
- System.out.println ( num4 + " | " + num_intents);
- num4 = num4/num_intents;
- if (num4 == 1){
- System.out.println(num4);
- }
- }
- }
- }
- }
- if (sel.equals("7")){
- double resu=0;
- for(num_intents = 0; num_intents<10000; num_intents++){
- resu = Math.pow(num_intents,2);
- if (resu<10000)
- System.out.println ("La potencia " + num_intents + " te com a resultat " + (int) resu);
- }
- }
- if (sel.equals("8")){
- System.out.println ("\n Has sortit del programa, a Reveure!! ");
- }
- }
- while (!sel.equals("8"));
- }
- }
4. - Pedir al usuario / a que introduzca una frase. Visualizaremos:
- Sólo las vocales de la frase.
- Sustituiremos las "b" y "v" por "-".
- Invertiremos toda la frase.
- import cs1.*;
- public class bucles4 {
- public static void main(String args[])
- {
- String texto = "", vocales = "", bv = "", alreves = "";
- String vocals = "aeiouAEIOU??????????";
- int longTexto = 0, i;
- char letra;
- System.out.print("introduce una cadena de texto: ");
- texto = Keyboard.readString();
- longTexto = texto.length();
- for(i = 0; i < longTexto; i++)
- {
- letra = texto.charAt(i);
- alreves = alreves + texto.charAt(longTexto - i - 1);
- if (vocals.indexOf(letra) >= 0) vocales = vocales + letra;
- else vocales = vocales + "_";
- if (letra == 'v')bv = bv + 'b';
- else if (letra == 'V') bv = bv + 'B';
- else if (letra == 'b') bv = bv + 'v';
- else if (letra == 'B') bv = bv + 'V';
- else bv = bv + letra;
- System.out.println("i = \t" + i + "\t (longTexto - i - 1 = ) \t" + (longTexto - i - 1));
- }
- System.out.println("\n\n -> Vocales : " + vocales);
- System.out.println("\n\n -> Frase invertida : " + alreves);
- System.out.println("\n\n -> V's <-> B's: : " + bv);
- }
- }
5. - El ordenador pedirá el nombre y los apellidos, y lo almacenará en variables diferentes. Pasará los dos apellidos en mayúsculas, y el nombre todo en minúsculas exceptuando la primera letra. Después lo guardará todo en una variable. Saldremos cuando el nombre sea "exit"
- import cs1.*;
- public class bucles5 {
- public static void main(String args[]){
- String nom = "0", cognom1,cognom2,nom1,nom2;
- String llargnom, nom_complet;
- System.out.print ("introduce tu nombre: ");
- nom = Keyboard.readString();
- if (nom.equals("exit")){
- System.out.print("\nFin del programa !!!");
- }
- while (!nom.equals("exit"))
- {
- System.out.print ("Introduce el primer apellido: ");
- cognom1 = Keyboard.readString();
- System.out.print("Introduce el segundo apellido: ");
- cognom2 = Keyboard.readString();
- nom1 = nom.substring(0,1);
- nom1 = nom1.toUpperCase();
- nom2 = nom.substring(1);
- nom2 = nom2.toLowerCase();
- cognom1 = cognom1.toUpperCase();
- cognom2 = cognom2.toUpperCase();
- nom = nom1 + nom2;
- nom_complet = nom + " " + cognom1 + " " + cognom2;
- System.out.println(" " + nom_complet);
- System.out.println ("introduce tu nombre: ");
- nom = Keyboard.readString();
- }
- }
- }
6. - En una empresa de ordenadores, los salarios de los empleados se deben aumentar según su contrato actual:
Contrato Aumento%
Hasta 1000 € 20
€ 1000 <sueldo <= 1500 € 10
€ 1500 <sueldo <= 2000 € 5
Más de 2000 € 1
Escribir un programa que solicite el salario actual del empleado y calcule y visualice el nuevo salario. Saldremos del bucle cuando el usuario coloque 0 como sueldo.
- import cs1.*;
- public class bucles6{
- public static void main (String args[]){
- double sal = 1;
- double por = 0;
- while(sal!=0){
- System.out.print("introduce el salario: ");
- sal = Keyboard.readDouble();
- if (sal == 0){
- System.out.print("\n Fin del programa !!! ");
- }
- if(sal!=0){
- if(sal<=1000){
- por=0.2;
- por =(sal*por)+sal;
- System.out.println("El salario actual que tendras sera de: " + por);
- }
- else{
- if (sal>1000 && sal<=1500){
- por=0.1;
- por = (sal*por)+sal;
- System.out.println("El salario actual que tendras sera de: " + por);
- }
- else{
- if (sal>1500 && sal<=2000){
- por=0.05;
- por= (sal*por)+sal;
- System.out.println("El salario actual que tendras sera de: " + por);
- }
- else{
- por=0.01;
- por= (sal*por)+sal;
- System.out.println("El salario actual que tendras sera de: " + por);
- }
- }
- }
- }
- }
- }
- }
7. - Escribir un programa que determine si un año es de traspaso. Un año es bisiesto si es múltiplo de 4 (1988), exceptuando los múltiplos de 100 que no lo son menos que también sean múltiplos de 400 (1800 no lo es, 2000 sí). El programa termina cuando introducimos un año bisiesto.
- import cs1.*;
- public class bucles7{
- public static void main (String args[]){
- int año;
- boolean traspaso = false;
- do{
- System.out.print("\nIntroduce el año: ");
- año = Keyboard.readInt();
- if ( (año % 4 == 0) && !(año % 100 == 0) || (año % 400 == 0) ){
- System.out.print(" El año " + año + " es de traspaso ");
- traspaso = false;
- }
- else{
- System.out.print(" El año " + año + " no es de traspaso");
- System.out.println("\n\nFin del programa!! ");
- traspaso = true;
- }
- }
- while(traspaso!=true);
- }
- }
8. - El valor de puede aproximar por el sumatori
Escribir un programa que tome un valor de x como entrada y visualice la suma con n = 100.
- import cs1.*;
- public class bucles_ex8 {
- public static void main(String args[])
- {
- int longTexto = 0, i, j;
- long factorial=1;
- int x, n, f;
- double e = 1.0;
- System.out.print("Entra el valor de x: ");
- x = Keyboard.readInt();
- System.out.print("\nEntra el valor de n: ");
- n = Keyboard.readInt();
- for (j = 1; j <= n; j++)
- {
- factorial = 1;
- for(i=1; i<=j; i++){
- factorial *= i;
- }
- e = e + (Math.pow(x,j)/factorial);
- }
- System.out.println("\n\ne^" + x + " para n = " + n + " es " + e);
- }
- }
9. - Un número perfecto es un entero positivo, que es igual a la suma de todos los enteros positivos (excluido él mismo) que son divisores del número. El primer número perfecto es el 6, ya que los divisores de 6 son 1,2,3 y 1 +2 +3 = 6. Escribir un programa que visualice los números perfectos dentro de un margen dado, y que detecte los que son números perfectos.
- import java.applet.Applet;
- import cs1.*;
- public class bucles9 {
- public static void main(String args[]) {
- int num = '0', i = 1, total = 0;
- System.out.print (" introduce el número: ");
- num = Keyboard.readInt();
- for (i = 1;i < num; i++)
- if ((num % i) == 0)
- total = total + i;
- if (total == num) System.out.print("El número " + num + " es un número perfecto.");
- else System.out.print("El número " + num + " NO es un número perfecto.");
- }
- }
10. - Escribir un programa que lea una frase ya continuación visualice cada palabra de la frase en columna, seguido del número de letras que componen cada palabra.
- import cs1.*;
- public class bucles10 {
- public static void main(String args[])
- {
- String frase ;
- System.out.println("Bienvenidos a nuestro magnífico programa");
- System.out.println("es un programa muy divertido que consiste en leer las palabras");
- System.out.println("y además a continuación nos muestra por pantalla");
- System.out.println("de cuantas letras consta cada palabra que hemos introducido");
- System.out.println("introduzca una frase por favor:");
- frase=Keyboard.readString();
- int longitud=frase.length();
- int letras=0;
- boolean espacio=false;
- int i;
- for (i=0; i<longitud; i++)
- if (frase.charAt(i)!=' '){
- espacio=false;
- System.out.print(frase.charAt(i));
- letras++;
- }
- else if(!espacio){
- espacio=true;
- System.out.println(" "+letras+" letras");
- letras=0;
- }
- if(letras>0)
- System.out.println(" "+letras+" letras");
- }
- }
11. - Escribir un programa que calcule la frecuencia de aparición de las vocales de un texto entregado por el usuario. La solución se presentará en forma de histograma:
15 ***************
e 8 ********
- import cs1.*;
- import java.io.*;
- import java.util.*;
- import java.lang.Math.*;
- public class bucles11 {
- public static void main (String[] args)
- {
- int a=0, e=0, i=0, o=0, u=0 ;
- String texto="";
- System.out.print("introduce un texto: ");
- texto=Keyboard.readString();
- texto=texto.toLowerCase();
- for (int y=0;y < texto.length (); y++){
- if(texto.charAt(y)=='a'||texto.charAt(y)=='á'){
- a++;
- }
- else if(texto.charAt(y)=='e'||texto.charAt(y)=='é'){
- e=e+1;
- }
- else if(texto.charAt(y)=='i'||texto.charAt(y)=='í'){
- i=i+1;
- }
- else if(texto.charAt(y)=='o'||texto.charAt(y)=='ó'){
- o=o+1;
- }
- else if(texto.charAt(y)=='u'||texto.charAt(y)=='ú'){
- u=u+1;
- }
- }
- if(a!=0){
- System.out.print("\na " +a+" ");
- for(int y=1; y<=a;y++){
- System.out.print("*");
- }
- }
- if(e!=0){
- System.out.print("\ne "+e+" ");
- for(int y=1; y<=e;y++){
- System.out.print("*");
- }
- }
- if(i!=0){
- System.out.print("\ni "+i+" ");
- for(int y=1; y<=i;y++){
- System.out.print("*");
- }
- }
- if(o!=0){
- System.out.print("\no "+o+" ");
- for(int y=1; y<=o;y++){
- System.out.print("*");
- }
- }
- if(u!=0){
- System.out.print("\nu "+u+" ");
- for(int y=1; y<=u;y++){
- System.out.print("*");
- }
- }
- }
- }
12. - Se introduce una frase para teclado. Se desea contar cuántas vocales, consonantes, espacios y signos de puntuación hay en la frase.
- import cs1.Keyboard;
- public class bucles12{
- public static void main (String args[]){
- // Variables
- String vocales = "aeiouAEIOUáéíóúÁÉÍÓÚ", cadena = "", signos ="?!¿¡.,;",
- consonantes="BCDFGHJKLMNPQRSTVWXYZbcdfghjklmnpqrstvwxyzñç";
- int totVocales = 0, totConsonantes = 0, totsignos = 0, totespais = 0;
- // Realizar el programa
- do{
- System.out.print (" escribe una frase: ");
- cadena = Keyboard.readString();
- if (!cadena.equals("exit")){ // Si no pones exit, que vaya haciendo el programa
- for (int i = 0; i < cadena.length(); i++)
- {
- char letra = cadena.charAt(i);//variable letra que vaya cogiendo el caracter de la frase
- if (vocales.indexOf(letra + "") > -1){ // Si en la frase hay vocales, que vaya contando
- totVocales++;
- }
- if (consonantes.indexOf(letra + "") > -1){ // Si en la frase hay consonantes, que te vaya contando
- totConsonantes++;
- }
- if (signos.indexOf( letra + "") > -1){ // Si en el caracter letra hay signos, que te vaya contando
- totsignos++;
- }
- if(letra == ' '){ // Si en la letra hay espacios, que te vaya contando
- totespais++;
- }
- }
- // Visualización por pantalla
- System.out.println("Total Vocales: " + totVocales);
- System.out.println("Total Consonantes: " + totConsonantes);
- System.out.println("Total signos: " + totsignos);
- System.out.println("Total espacios: " + totespais);
- }
- }
- // Si ha puesto en la cadena "Exit" que se acabe el programa
- while (!cadena.equals("exit"));
- System.out.print ("\n Fin del programa");
- }
- }
13. - Diseñar un mini-editor de textos que pueda ejecutar sobre un texto las siguientes operaciones con un menú:
- Localizar una cadena especificada.
- Borrar una subcadena.
- Insertar una subcadena en una posición especificada.
- Sustituir una subcadena por otra.
- import cs1.*;
- public class bucles13
- {
- public static void main(String args[])
- {
- String text,cadena;
- int condicio;
- System.out.print ("Entra una condició (1,2,3,4,5): ");//el 5 és per sortir del programa
- condicio = Keyboard.readInt ();
- System.out.print ("Entra un text: ");
- text = Keyboard.readString ();
- do{
- if (condicio == 1){
- System.out.print("Introdueix una cadena: ");
- cadena = Keyboard.readString ();
- int letras = cadena.length ();
- boolean esta = false;// si està la frase en el text
- for(int i = 0;i<text.length() - letras + 1 && !esta;i++){
- String subcadena = text.substring(i,i + letras);
- if (cadena.equals(subcadena)){
- System.out.println ("La cadena " + cadena + " està en el text");
- esta = true;
- }
- }
- if (esta == false)
- System.out.println ("La cadena " + cadena + " no està en el text");
- }
- else if (condicio == 2){
- System.out.print("Introdueix una cadena: ");
- cadena = Keyboard.readString ();
- int letras = cadena.length ();
- boolean esta = false;// si està la frase en el text
- for(int i = 0;i<text.length() - letras && !esta;i++){
- String subcadena = text.substring(i,i + letras);
- if (cadena.equals(subcadena)){
- System.out.println ("La cadena " + cadena + " està en el text");
- esta = true;
- String resultado;
- resultado = text.substring(0,i);//1era part del text fins a la cadena trobada, la guardem en resultado
- resultado = resultado + text.substring(i + letras,text.length());
- System.out.println("El text amb la cadena esborrada quedaria aixi: " + resultado);
- }
- }
- if (esta == false)
- System.out.println ("La cadena " + cadena + " no està en el text");
- }
- else if (condicio == 3){
- System.out.println ("Introdueix la cadena que vols inserir: ");
- String cadena_insertada = Keyboard.readString ();
- System.out.println ("En quina posició la vols inserir? ");
- int posicio = Keyboard.readInt ();
- if (posicio > text.length())
- System.out.println ("Error, la posició és massa gran");
- else{
- String resultado;
- resultado = text.substring(0,posicio);
- resultado = resultado + cadena_insertada + text.substring(posicio,text.length());
- System.out.println ("El text amb la cadena inserida quedaria així: " + resultado);
- }
- }
- else if (condicio == 4){
- // perquè puguem subsitituir una cadena ha d'estar primer en el text
- System.out.print("Introdueix la cadena que vols substituir: ");
- cadena = Keyboard.readString ();
- System.out.print("Introdueix la cadena que vols insertar: ");
- String cadena_insertada = Keyboard.readString ();
- int letras = cadena.length ();
- boolean esta = false;// si està la frase en el text
- for(int i = 0;i<text.length() - letras + 1 && !esta;i++){
- String subcadena = text.substring(i,i + letras);
- if (cadena.equals(subcadena)){
- System.out.println ("La cadena " + cadena + " està en el text");
- esta = true;
- String resultado;
- resultado = text.substring(0,i);//1era part del text fins a la cadena trobada, la guardem en resultado
- resultado = resultado + cadena_insertada + text.substring(i + letras,text.length());
- System.out.println ("El text amb la cadena substituida quedaria així: " + resultado);
- }
- }
- if (esta == false)
- System.out.println ("La cadena " + cadena + " no està en el text");
- }
- System.out.print ("Entra una condició (1,2,3,4,5): ");
- condicio = Keyboard.readInt ();
- }while (condicio != 5);
- }
- }
No hay comentarios:
Publicar un comentario