Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - pedro,,

Páginas: 1 ... 33 34 35 36 37 [38] 39 40 41 42 43 ... 65
741
Hola, aquí dejo una posible solución a este ejercicio CU00546F del curso de programador en Lenguaje C.

Citar
EJERCICIO Nº1
Estudia el siguiente código y responde a las preguntas:
Código: [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
// Curso de programación C aprenderaprogramar.com
/*  C program to demonstrate the working of goto statement. */

int main(){
   float num,average,sum;
   int i,n;
   printf("Maximum no. of inputs: ");
   scanf("%d",&n);
   for(i=1;i<=n;++i){
       printf("Enter n%d: ",i);
       scanf("%f",&num);
       if(num<0.0)
       goto jump;             /* control of the program with goto */
       sum=sum+num;
}
jump:
  average=sum/(i-1);       
  printf("Average: %.2f",average);
  return 0;
}

Citar
a) Sin ejecutar el código (sólo pensando) responde: ¿para qué sirve este programa? ¿cuál será el resultado del programa si introducimos los números 10, 5 y 2? ¿cuál será el resultado del programa si introducimos los números 10, -5 y 2?
Programa que calcula la media de n números enteros. Sumará esos tres números y el resultado lo dividirá entre 3, para mostrar por pantalla la media de esos tres números. Que calculará la media de solo un número, en este caso el 10, y dará como resultado 10, porque el goto hace que el programa salga del for, sin que se pueda seguir introduciendo datos después de introducir un número negativo.

Citar
b) Ejecutando el código ¿cuál será el resultado del programa si introducimos los números 10, 5 y 2? ¿cuál será el resultado del programa si introducimos los números 10, -5 y 2?
Que "average = 5.67", por lo explicado en el apartado anterior. Que average vale 10, por lo explicado en la pregunta anterior.

Citar
c) ¿Qué signficado tiene ++i en el contexto de este programa?
El mismo que si usamos i++, es decir, sumamos 1 a i.

Citar
d) ¿Es equivalente escribir      if( num<0.0) goto jump;      y      if( num < 0.0) { goto jump; }  ?
Si.

Citar
e) Haz que el código ofrezca los mismos resultados evitando el uso de goto.
Código: [Seleccionar]
int main(){
   float num,average,sum;
   int i,n;
   printf("Maximum no. of inputs: ");
   scanf("%d",&n);
   for(i=1;i<=n;i++){
       printf("Enter n%d: ",i);
       scanf("%f",&num);
       if(num==0 || num>0){sum=sum+num;}
    }
  average=sum/(i-1);
  printf("Average: %.2f",average);
  return 0;
}

Citar
EJERCICIO Nº2
Estudia el siguiente código y responde a las preguntas:

Código: [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
// Curso de programación C aprenderaprogramar.com
/*  C program to demonstrate the working of goto statement. */

int main() {
   int age;
   Vote:
     printf("you are eligible for voting");

   NoVote:
     printf("you are not eligible to vote");

   printf("Enter you age:");
   scanf("%d", &age);
   if(age>=18)
        goto Vote;
   else
        goto NoVote;

   return 0;
}

Citar
a) Sin ejecutar el código (sólo pensando) responde: ¿para qué sirve este programa? ¿cuál será el resultado del programa si introducimos el número 22?
Para comprobar si se tiene mayoría de edad para poder votar.
Que se imprimirá por pantalla los tres printf que hay, y nos vuelve a preguntar otra vez lo mismo, y dependiendo de si la edad es menor o mayo que 18, el programa se ejecutará sobre el primer printf o el segundo, generando una especie de recursión de la cual el programa no saldrá nunca, según está diseñado.

Citar
b) Crea otro programa equivalente (que produzca los mismos resultados) sin hacer uso de la sentencia goto.
Código: [Seleccionar]
int main() {
   int age;
   printf("Enter you age:");
   scanf("%d", &age);
   if(age>=18){
       printf("you are eligible for voting");
   } else {
        printf("you are not eligible to vote");
   }
   return 0;
}

Saludos. ;D

742
Buenas, dejo una posible solución al ejercicio CU00545F del tutorial básico de programación en lenguaje C.

Citar
EJERCICIO
Estudia el siguiente código y responde a las preguntas:

Código: [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
// Curso de programación C aprenderaprogramar.com

int main () {
   /* local variable definition */
   int a = 10;
   /* while loop execution */
   while( a < 20 ) {
      printf("value of a: %d\n", a);
      a++;       
      if( a > 15) {
         break;
      }   
   }
   return 0;
}

Citar
a) Sin ejecutar el código (sólo pensando) responde: ¿cuál será el resultado del programa?
Que se mostrara por pantalla el mensaje desde que "a" valga 10 hasta que "a" valga 16, y luego  mediante la sentencia "break" se saldrá del "while".

Citar
b) Ejecutando el código ¿cuál es el resultado del programa?
Que se muestra por pantalla  desde que a vale 10 hasta que a vale 15. Es decir que cuando se ejecuta la sentencia "break", las líneas anteriores en la iteración no se ejecutan.

Citar
¿Qué signficado tiene a++ en el contexto de este programa?
Cada vez que se ejecuta "a++" se incrementa en 1 el valor que tuviese anteriormente "a".

Citar
¿Es equivalente escribir      if( a > 15) break;      y      if( a > 15)  { break; }  ?
Si, da el mismo resultado.

Citar
Haz que el código cuente desde 10 hasta 15 sin hacer uso de break (usa sólo las condiciones naturales de un bucle while).


Código: [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
int main () {
   /* local variable definition */
   int a = 10;
   /* while loop execution */
   while( a <= 15) {
      printf("value of a: %d\n", a);
      a++;
      //if( a > 15)
       // break;
   }
   return 0;
}

Saludos. ;D

743
Hola, dejo una posible solución al ejercicio CU00544F del curso online de programación en lenguaje C.

Citar
EJERCICIO Nº 1
Estudia el siguiente código y responde a las preguntas:

Código: [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
// Ejercicios aprenderaprogramar.com

int main(){
   float num,average,sum;
   int i,n;
   printf("Maximum no. of inputs\n");
   scanf("%d",&n);
   for(i=1;i<=n;++i){
       printf("Enter n%d: ",i);
       scanf("%f",&num);
       if(num<0.0)
       break;
       sum=sum+num;
}
  average=sum/(i-1);       
  printf("Average=%.2f",average);
  return 0;
}
Citar
a) ¿Para qué crees que sirve este código?
Programa que nos dirá la media n números.

Citar
b) Qué ocurre si introducimos como maximum no. of inputs 8 e introducimos los números 1.5, 12.5 y -1 ¿Por qué ocurre eso? ¿Qué significado tiene lo que se muestra por pantalla?
Que en cuanto introducimos un número negativo, el programa solo nos devolverá el resultado de calcular de la media de los número introducidos, exceptuando el número negativo. Esto ocurre porque así lo indica en esta línea:
   
Código: [Seleccionar]
if(num<0.0) break;
Citar
c) ¿Qué signficado tiene %.2f dentro de este programa?
Que se imprimirá una variable tipo float con 2 decimales.

Citar
EJERCICIO Nº 2
Estudia el siguiente código y responde a las preguntas:
Código: [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
// Ejercicios aprenderaprogramar.com

int main(){
    int i,num,product;
    for(i=1,product=1;i<=4;++i){
        printf("Enter num%d:",i);
        scanf("%d",&num);
        if(num==0)
            continue; 
        product*=num;
}
    printf("product=%d",product);
return 0;
}

Citar
¿Para qué crees que sirve este código?
Nos dice el producto de 4 números que introduciremos previamente.
Ej: si introducimos estos 4 números: 4, 3, 2, 1 nos devolverá 4*3*2*1.

Citar
Qué ocurre si introducimos como números 3, 0, -5, 2 ¿Por qué ocurre eso? ¿Qué significado tiene lo que se muestra por pantalla?
Que solo multiplica los número que sean distintos de 0. Esto ocurre porque en el if se comprueba si se introduce 0 como valor, y si es así, usamos continue para que el código no multiplique 0 por la variable donde hemos ido almacenando el valor de las multiplicaciones anteriores.

Citar
¿Es legal escribir un if sin los corchetes { … }?
No.

Citar
Qué ocurre si introducimos como números 0, 0, 0, 0 ¿Por qué ocurre eso? ¿Qué significado tiene lo que se muestra por pantalla?
Que el producto nos devuelve 1, porque es el valor que le hemos asignado a la variable product anteriormente.

Saludos. ;D

744
Hola lewleal.

El ejercicio está bien resuelto.

Saludos. ;D

746
Hola.

Probando la clase con la clase Persona de los ejemplos a mí no me da ningún error.

¿Podrías poner el código de la clase Persona que estés utilizando?

Saludos. ;D



747
Buenas César.

En realidad lo que muestra esa línea es la parte entera del cociente de esa división.
La cambié por esta otra:

Código: [Seleccionar]
printf("El n\xA3mero medio de personas por hora que entraron al banco fue %.2lf\n", totalClientes/6.0);
Decir que para que me hiciese la división con decimales tuve que poner "6.0" porque si ponía solo el "6" me tomaba la división como si fuese entre enteros y solo me mostraba como resultado la parte entera del cociente.

Saludos.

748
Hola César.

El ejercicio me resultó bastante complicado hasta que decidí plantearlo sobre papel mediante una tabla que fui rellenando con asteriscos y espacios en blanco, una vez hecho esto me resultó bastante mas fácil resolverlo.

Gracias por la corrección.

Saludos.

749
Hola cigarzonl.

Te pasa igual que en el ejercicio anterior, no has creado los métodos para establecer los atributos.

Saludos. ;D

750
Hola cigarzonl.

Te faltan los métodos para establecer(setters) los valores de los atributos para que el código haga lo que pide el enunciado.

Saludos. ;D


751
Buenas.

El ejercicio a mí me funciona bien, habría que ver el contenido que tienes en "almacen.txt" por si fuese eso lo que te está dando problemas.

Con puts(""); lo que haces es saltar de línea. También podrías añadir el espacio en esta línea, despues de "%s":
Código: [Seleccionar]
printf("%s ", textoExtraido[i]);
Saludos.

752
El ejercicio 1 todo bien.

En el ejercicio 2 te sobra la última linea en la que iguales i a cero, puesto ya no lo vas a usar después, de poco sirve inicializar i de nuevo.

Así que ya puedes dar por concluido este ejercicio, a no ser que te quede alguna duda más.

Saludos. ;D

754
En el ejercicio 1, si no pones el contador a cero después de la ejecución del primer while, no te entrará en el segundo while.

En el ejercicio 2 sigue habiendo cosas mal, te pasa igual que en el anterior ejercicio, si después de acabar el bucle for no inicialízas a cero el contador no se entrará en el bucle while.
Dentro del bucle while, en la primera línea usas "i++;", por lo cual los índices irán adelantados y solo acabarás cogiendo las dos primeras letras de las dos últimas palabras introducidas y no de las tres.
Te pasa lo mismo con el segundo contador que usas, "j++;", esta línea debe de ir al final del bucle y una vez que se salga del bucle deberías de inicializar su valor a cero para que se pueda volver a entrar en el bucle, sino, solo entrará una vez.

El código de la parte del bucle debería quedarte así:

Código: [Seleccionar]
    i=0;
    while (i < 3) {
        while (j < 3)  {
            if (j == 2) {
                ultimacadena[i][j]= '\0';
            } else {
                ultimacadena[i][j] = cadenas[i][j];
            }
            j++;
        }
        j=0;
        i++;
    }

Saludos. ;D

755
Bueno, te faltaría añadir un espacio entre cada palabra, para que no te salga todo junto.

Elgauchoesequilibrioybelleza

Por lo demás todo bien.

Saludos.

757
Buenas.

El código funciona bien, hace lo que pide el ejercicio.

Solo apuntar que cuando pides el número también deberías decir que el número tiene que ser par, porque la comprobación si la haces.

Saludos. ;D

759
Hola Pandemia.

El código no funciona.

Utilizas:
Código: [Seleccionar]
fprintf("%s", textoExtraido[i]);
fprintf se usa para introducir datos en un archivo, no para mostrarlos por pantalla, en esa línea deberías usar printf, quedaría así:

Código: [Seleccionar]
printf("%s ", textoExtraido[i]);
Saludos. ;D

760
Hola Pandemia.

El primer ejercicio no funciona. En la condición del "while" pones "cadenas < 3". Esto no es válido. Deberías empezar cambiando eso.

En el segundo ejercicio te pasa algo parecido, además la comparación de cadenas que pide el segundo apartado de este ejercicio no la realizas por ningún sitio.

Saludos. ;D

Páginas: 1 ... 33 34 35 36 37 [38] 39 40 41 42 43 ... 65

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".