Ejercicio 2.2 Fundamentos de programación piensa en c

Construye un diagrama de flujo y el correspondiente programa en C que, al recibir como dato un número entero de cuatro dígitos, determine si todos los dígitos del número son pares. Por ejemplo, si el número fuera 5688, no cumpliría la condición ya que el dígito más significativo —5— sería impar; si, por el contrario, el número fuera 6244, sí cumpliría, ya que todos los dígitos son pares.

Alguien sabría resolver este ejercicio?

Es habitual en el laboratorio ver cual seria el resultado de eliminar una determinada unidad de un polimero, tanto en su forma positiva como negativa, y ver las reacciones en cadena que se producir´ıan. Por ejemplo, si del polimero dedaDrERaeeChAHEcEF eliminamos todas las “A”, tanto en minusculas (a) como en mayusculas (A), el resultado es dedDrEReeChHEcEF. En este pol´ımero los pares dD y hH reaccionan quedando como resultado final derEReeCEcEF, una cadena de 12 unidades. Por otro lado, si de la misma cadena dedaDrERaeeChAHEcEF eliminamos las “E”, en minusculas (e) y mayusculas (E), obtenemos ddaDrRaChAHcF. En este polimero el par rR reacciona obteniendo como resultado ddaDaChAHcF, una cadena de 11 unidades. Finalmente, si en el mismo ejemplo dedaDrERaeeChAHEcEF quitamos las “F”, que en este caso solo hay la version en mayusculas (F), el polımero quedar´ıa entonces como dedaDrERaeeChAHEcE con 18 unidades y sin producirse ninguna reaccion adicional mas. Los cientificos estan interesados en saber cu´al seria la unidad que, una vez eliminada, deja el pol´ımero con una menor longitud, en el caso anterior seria e. Dado este contexto crea la clase Polymer que cumpla la especificacion que se muestra en el siguiente codigo: public static char minProcessedPolymer ( String polymer ) { }

Estoy atascado en ejercicio

Estoy intentando condicionar al usuario en la variable ‘productos’ para que no inserte letras ni que tampoco inserte numeros que no sean 1, 2 o 3 (que son los de las opciones de la alerta), pero no logro que me salga. Pienso que es algo del flujo del programa porque las variables toman cualquier valor. Les dejo el código:

var producto = parseInt(prompt('Ingrese el tipo de producto. \n 1. P1 \n 2.P2 \n 3.P3')); 		var precio, regalo, importeTotal;  		function calculaPrecio() 		{ 			if (isNaN(producto)) 			{ 				alert('Ingresa números'); 				producto = parseInt(prompt('Ingrese el tipo de producto. \n 1. P1 \n 2.P2 \n 3.P3')); 			} 			else 			{ 				while (producto <= 0 || producto > 3) 				{ 					alert('Ingresa un número del 1 al 3'); 					producto = parseInt(prompt('Ingrese el tipo de producto. \n 1. P1 \n 2.P2 \n 3.P3')); 				} 			}  			if (producto == '1')  			{ 				precio = 15; 			} 			else if (producto == '2')  			{ 				precio = 17.5; 			} 			else if (producto == '3')  			{ 				precio = 20; 			} 		}  		var unidades = parseInt(prompt('¿Cuántas unidades va a llevar?'));  		function calculaRegalo() 		{ 			if (unidades < 26)  			{ 				regalo = 'un lapicero'; 			} 			else if (unidades >= 26 && unidades <= 50)  			{ 				regalo = 'un cuaderno'; 			} 			else 			{ 				regalo = 'una agenda'; 			} 		}  		function importe() 		{ 			importeTotal = precio * unidades; 		}  		function mostrar() 		{ 			calculaPrecio(); 			calculaRegalo(); 			importe(); 			alert('Producto seleccionado: ' + producto + '\n Unidades: ' + unidades + ' (se lleva ' + regalo + ' de regalo) \n Importe a pagar: $  ' + importeTotal); 		}  		mostrar();

Por cierto, es un ejercicio para trabajar con funciones, quizás el cambio del flujo derive de la ultima función, donde invoco a las anteriores. La verdad no logro encontrar el error. Si me dan una mano agradecería, estoy empezando en esto!

Pregunta sobre ejercicio de Arrays en JavaScript

tengo una duda sobre javascript, que cuando hago una prueba me devuelve undefined deepEquap “oro” por ejemplo, si hago medallaSegunPuesto(1), no entiendo que es este error asi que si me pueden explicar que es y que esta mal se lo agradecería. Básicamente tengo que pasar por parámetro un puesto y la función tiene que devolverme la medalla que corresponda

   function medallaSegunPuesto(puesto){         var puestos = ["oro", "plata", "bronce", "nada", "nada"];         var posicion = puestos.indexOf(puestos[puesto]);         if((posicion + 1) == puesto){                console.log(puestos[puesto]);        }        } 

Ayuda java ejercicio día de mayor y menor ahorro

Hice un programa en java que lee una cantidad de dinero para cada día de la semana e imprime la mayor cantidad ahorrada, la menor cantidad ahorrada y el total ahorrado. Pero necesito imprimir también el día de la semana con mayor ahorro y el de menor ahorro. Cabe mencionar que no se puede utilizar arreglos, solo if, switch y ciclos.

public static void main(String[] args) {     int total = 0, menor = 0, mayor = 0, cahorradadiaria = 0;     Scanner sc = new Scanner(System.in);         System.out.println("Escribe tu monto ahorrado cada día de la semana");     for (int i = 1; i<=7; i++) {         switch(i) {         case '1':             System.out.println("Lunes: "); break;         case '2':             System.out.println("Martes: "); break;         case '3':             System.out.println("Miercoles: "); break;         case '4':             System.out.println("Jueves: "); break;         case '5':             System.out.println("Viernes: "); break;         case '6':             System.out.println("Sabado: "); break;         case '7':             System.out.println("Domingo: "); break;         }         cahorradadiaria = sc.nextInt();         total = total + cahorradadiaria;         if(i==1) {             menor = cahorradadiaria;             mayor = cahorradadiaria;         }         if (menor > cahorradadiaria) {             menor = cahorradadiaria;         }         if (mayor < cahorradadiaria) {             mayor = cahorradadiaria;         }     }     System.out.println("El total de tu ahorro es: " + total);     System.out.println("La mayor cantidad ahorrada es: " + mayor);     System.out.println("La menor cantidad ahorrada es: " + menor); } } 

Por favor me pueden explicar paso a paso este ejercicio?

Hola que tal podrían explicarme paso a paso este ejercicio para encontrarle lógica. El ejercicio esta planteado de la siguiente manera:

Escriba un programa que imprima la subcadena más larga de s donde letras aparecen en orden alfabético. Por ejemplo, si s = ‘azcbobobegghakl’, entonces su programa debería imprimir:

La subcadena más larga en orden alfabético es: beggh

La solución que dio el profesor es la siguiente:

s = "azcbobobegghakl"  larga = s[0] actual = s[0]  for c in s[1:]:     if c >= actual[-1]:         actual += c         if len(actual) > len(larga):             larga = actual     else:         actual = c  print("La subcadena más larga en orden alfabético es:", larga) 

Ayúdenme a entender el procedimiento y la lógica usada.

Gracias.

Ejercicio Rebota Pelota en JFrame – Java

Estoy haciendo un ejercicio, donde el objetivo es que una pelota rebote en un JFrame, después de hacer clic en el JButton dale El problema, es que el IDE me arroja una excepción de tipo NullPointerException(), pero no puedo encontrar cual es la variable que esta en NULL Alguien podría probarlo y ayudarme por favor? Este es el código:

public class UsoThreads {  public static void main(String[] args) {     // TODO Auto-generated method stub      Marco miMarco=new Marco();     miMarco.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);     miMarco.setVisible(true);  } 

}

class Marco extends JFrame{

public Marco() {     setBounds(400,300,600,400);     setTitle("Rebota Pelota");     LaminaPelota miLamina=new LaminaPelota();     add(miLamina,BorderLayout.CENTER);     LaminaBotones milamina2=new LaminaBotones();     add(milamina2,BorderLayout.SOUTH); }    

}

class Pelota extends JPanel{

private double x=10; private double y=10; private static final int TAMX=15; private static final int TAMY=15; private double speedX=1; private double speedY=1;  public void mover(Rectangle2D limite) {     x+=speedX;     y+=speedY;      if(x<limite.getMinX()) {         x=limite.getMinX();         speedX=-speedX;     }      if(x+TAMX>limite.getMaxX()) {         x=limite.getMaxX()-TAMX;         speedX=-speedX;     }      if(y<limite.getMinY()) {         y=limite.getMinY();         speedY=-speedY;     }      if(y+TAMY>limite.getMaxY()) {         y=limite.getMaxY()-TAMY;         speedY=-speedY;     }  }  public Ellipse2D dibujarPelota() {     return new Ellipse2D.Double(x,y,TAMX,TAMY); } 

}

class LaminaPelota extends JPanel{

private ArrayList<Pelota>arrayPelota=new ArrayList<Pelota>();  public void agregarPelota(Pelota b) {     arrayPelota.add(b); }  public void paintComponent(Graphics g){  super.paintComponent(g); Graphics2D g2=(Graphics2D) g;   for(Pelota e:arrayPelota) {     g2.fill(e.dibujarPelota()); }   } 

}

class LaminaBotones extends JPanel{

public LaminaBotones() {     JButton dale=new JButton("Dale");     JButton salir=new JButton("Salir");     dale.addActionListener(new ActionListener() {          @Override         public void actionPerformed(ActionEvent e) {             // TODO Auto-generated method stub              comienza();         }      });      salir.addActionListener(new ActionListener() {          @Override         public void actionPerformed(ActionEvent e) {             // TODO Auto-generated method stub             System.exit(0);         }       });     add(dale);     add(salir); }  public void comienza() {     Pelota pelota=new Pelota();     lamina.agregarPelota(pelota);     for(int i=1;i<=3000;i++) {         pelota.mover(lamina.getBounds());         lamina.paint(lamina.getGraphics());      } }  private LaminaPelota lamina; 

}

como se haria este ejercicio

En un ejercicio de administracion de sistemas tengo el siguiente caso :

Los usuarios del departamento de RRHH (y solo ellos) deben poder modificar el archivo “/datos/conta/empleadodelmes.txt”, aunque todos los demás empleados pueden leerlo. Además, nadie, excepto el administrador del sistema, puede eliminar o crear archivos en el directorio “/datos/conta” , ni siquiera ver su contenido.

Yo,supongo que lo que habria que hacer es,a parte de crear los diferentes directorios y el fichero, establecer estos permisos para el fichero:

-rw-rw-r--  1 root contabilidad    5 ago  6 12:31 empleadosdelmes.txt 

Pues nos dicen que los de contabilidad(originalmenete RRHH) pueden leer y escribir en el fichero pero el resto solo leerlo.

Para el directorio /datos/conta tendria los siguientes permisos:

drwxrwx--x 2 root root 4096 ago  6 12:35 conta 

Pues se nos deja en claro que solo el administrador(root) puede crear/eliminar ficheros/directorios, pero que el resto sigue pudiendo atravesar el directorio, pero no ver su contenido.

Ahora bien, con los permisos ya puestos intento comprobar con mi usuario k1k4ss0 que esta en el grupo de contabilidad que todo funciona. Todo va bien hasta que intento modificar el contenido del fichero empleadosdelmes.txt pues me dice que es solo de lectura.

┌─[k1k4ss0@parrot]─[~/Desktop/ejemplos_admin/datos/conta] └──╼ $  members contabilidad k1k4ss0 

Ademas me di cuenta que al hacer el comando id no aparece el grupo contabilidad listado

┌─[✗]─[k1k4ss0@parrot]─[~/Desktop/ejemplos_admin/datos/conta] └──╼ $  id  uid=1000(k1k4ss0) gid=1000(k1k4ss0)            grupos=1000(k1k4ss0),20(dialout),24(cdrom),25(floppy),27(sudo),29(audio),30(dip),44(video),46(plugdev),109(netdev),119(debian-tor),125(bluetooth),139(scanner),140(pulse),141(pulse-access) 

Y en el fichero /etc/group tengo lo siguiente:

┌─[✗]─[k1k4ss0@parrot]─[~/Desktop/ejemplos_admin/datos/conta] └──╼ $  sudo cat /etc/group | grep "contabilidad" [sudo] password for k1k4ss0:  contabilidad:x:1002:k1k4ss0 

Ejercicio en Java – Multiplicaciones (No puedo sumar una variable i++)

buenas noches, he aquí que tengo un ejercicio de practica para alumnos que están aprendiendo a multiplicar. Los alumnos tienen que responder por consola preguntas de multiplicaciones muy sencillas de 1 dígito (La cantidad de intentos debe ser igual a 10, tanto si la respuesta por consola es correcta o incorrecta).

Mi problema, es que la variable intentos (que esta iniciada a cero como atributo de la clase Multiplicacion, no esta aumentando de valor desde el método verificaMultiplicar() que a su vez llama al método en cuestion que hace la sumatoria denominado suma(), y no puedo entender que estoy haciendo mal, ya que se reinicia a 0, o actúa de manera antinatural. Efectivamente, hay algo que estoy haciendo mal.

Mi objetivo, es sacar un porcentaje de respuestas correctas en esos 10 intentos del alumno. Me podrían ayudar?

Gracias

public class InstruccionAsistida {

public static void main(String[] args) {     // TODO Auto-generated method stub      int contador=0;      while(contador<10) {          Multiplicacion objeto=new Multiplicacion();          int resultadoCorrecto=objeto.resultadoMultiplicar();          boolean resultadoAlumno=objeto.verificaMultiplicar(resultadoCorrecto);          while(resultadoAlumno==false) {                   if(objeto.verificaMultiplicar(resultadoCorrecto)) {                  resultadoAlumno=true;             }          }      }  } 

}

class Multiplicacion{       private boolean estado=true;      private int intentos=0;       public void respuestaAsertada() {          SecureRandom aleatorioPositivo=new SecureRandom();          int respuestaPositiva=1+aleatorioPositivo.nextInt(4);          switch(respuestaPositiva) {          case 1: {              System.out.println("Muy bien!");             break;         }          case 2: {              System.out.println("Excelente!");             break;         }           case 3: {              System.out.println("Buen trabajo!");             break;         }          case 4: {              System.out.println("Sigue asi!");             break;          }          }       }      public void respuestaDesasertada() {          SecureRandom aleatorioNegativo=new SecureRandom();          int respuestaNegativa=1+aleatorioNegativo.nextInt(4);          switch(respuestaNegativa) {          case 1: {              System.out.println("No. Por favor intenta de nuevo");             break;         }          case 2: {              System.out.println("Incorrecto. Intenta una vez mas.");             break;         }           case 3: {              System.out.println("No te rindas!");             break;         }          case 4: {              System.out.println("No, sigue intentando!");             break;          }          }       }       public int resultadoMultiplicar() {          SecureRandom multiplicacionAleatoria=new SecureRandom();          int dato1Multiplicacion=1+multiplicacionAleatoria.nextInt(9);          int dato2Multiplicacion=1+multiplicacionAleatoria.nextInt(9);          int resultadoFinal=dato1Multiplicacion*dato2Multiplicacion;          System.out.println("Cuanto es " + dato1Multiplicacion + " X " + dato2Multiplicacion +"?" );          return resultadoFinal;     }        public boolean verificaMultiplicar(int a) {          estado=true;               Scanner entradaAlumno=new Scanner(System.in);          int respuestaAlumno=entradaAlumno.nextInt();                      if(respuestaAlumno==a) {              respuestaAsertada();              estado=true;              suma();//ACA TENGO LA VARIABLE INTENTOS SUMANDO          }          else {              respuestaDesasertada();              estado=false;                 suma();//ACA TENGO LA VARIABLE INTENTOS SUMANDO          }          return estado;     }      public void suma() {          intentos++;          System.out.println(intentos);      }      } 

Ejercicio sobre tablas

Estoy aprendiendo el lenguaje C++ de forma autodidacta y tengo un ejercicio en el cual ya llevo 2 días que no puedo solucionarlo, espero me puedan ayudar a solucionarlo.

El problema es el siguiente: cambia la zona comentada con “rellenar”, solamente, para producir las siguiente salida:

---*-**-***-****-*****-******-*******--- 

int main() {    bool R[40];    // rellenar    for (int k = 0; k < 40; k++) {       R[k] = (k >= 20);    }    // mostrar    for (int k = 0; k < 40; k++) {       if (R[k]) cout << '*';       else cout << '-';    } } 

Fuente del ejercicio: http://www.minidosis.org/#/actividades/Cpp.Tablas.AsteriscosYGuiones.prob