Autor Tema: Operadores aritméticos básicos programación C módulo o resto lenguajeC CU00518F  (Leído 2342 veces)

Jack_F

  • Visitante
Respuesta al ejercicio CU00518F del curso básico de programación en lenguaje C.

Operadores aritméticos básicos en lenguaje C. Prioridades. Concepto de módulo o resto de división (CU00518F)
Citar
EJERCICIO

Tomando como punto de partida el código que hemos visto de ejemplo de uso de operadores aritméticos, define un programa análogo que realice lo siguiente. En primer lugar define cuatro variables enteras a las que denominaremos num1, num2, num3 y num4 cuyos valores serán 28, 7, 15 y 3. A continuación muestra el contenido de cada variable por pantalla. A continuación muestra por pantalla el resultado de multiplicar num1 por 3. A continuación muestra por pantalla el resultado de sumar num1 y num2. A continuación muestra por pantalla el resultado de restarle num2 a num1. A continuación muestra por pantalla el resultado de dividir num1 entre num2. A continuación muestra el resto de la división entre num1 y num3. A continuación muestra por pantalla el resto de la división entre num1 y num2. Finalmente muestra por pantalla de nuevo el valor de cada una de las variables. El valor final debe ser igual al valor inicial puesto que no hemos indicado que deba modificarse ninguna variable.

 Responde a las siguientes cuestiones:

a) ¿Cuál es el código del programa que has definido?

b) ¿Cuáles son los resultados que obtienes por pantalla al ejecutar el programa?


A: El código que defini es el siguiente.
Código: [Seleccionar]
#include <stdio.h>
#include <stdlib.h>

int main()
{
      int Num1 = 28; int Num2 = 7;
    int Num3 = 15; int Num4 = 5;
    printf("A continuación muestra por pantalla el resutado de multiplicar Num1 por es 3 %d\n", Num1*3);
    printf("A continuación muestra por pantalla el resultado de sumar Num1 y Num2 es %d\n", Num1+Num2);
    printf("A continuación muestra por pantalla el resultado de restarle Num2 a Num1 es %d\n", Num2-Num1);
    printf("A continuación muestra por pantalla el resultado de dividir Num1 entre Num2 es %d\n", Num1/Num2);
    printf("A continuación muestra por pantalla el resultado de dividir Num1 entre Num3 es %d\n", Num1/Num3);
    printf("A continuación muestra por pantalla el resto de la división entre Num1 y Num2 es%d\n",Num1%Num2);

    printf("Num1 vale %d, Num2 vale %d, Num3 vale %d, Num4 vale %d\n", Num1,Num2,Num3,Num4);
    return 0;
}

B: Los resultados que tengo son.
1: 84.
2: 35.
3: -21.
4: 4:
5: 1.
6: 0.

La verdad se me hace raro que en el ultimo resultado que es el resto de la división, salga cero. Ya que yo hice el calculo con una calculadora y me dio 1.96, la verdad no entiendo, porque da ese resultado.

Un saludo. :) :) :)
« Última modificación: 26 de Agosto 2017, 17:48 por Alex Rodríguez »

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
Hola KFZ_10 casi bien pero has cambiado algunas cosas respecto a lo que pedía el enunciado

Ordenadamente lo que se pedía era:

muestra el contenido de cada variable por pantalla --> 28, 7, 15, 5

multiplicar num1 por 3: 28*3 = 84

sumar num1 y num2: 35

restarle num2 a num1: 28 - 7 = 21

dividir num1 entre num2: 28 / 7 = 4

resto de la división entre num1 y num3: 28 % 15 = 13

resto de la división entre num1 y num2: 28 % 7 = 0 (la división es exacta 4, el resto es cero)



El resto de la división entre num1 y num3 es el módulo o resto de la división entre 28 y 15, al dividir nos cabe a uno y de 15 a 28 el resto es 13. Tienes que tener muy claro que no es lo mismo módulo de una división (que es el resto, valor entero) que el resultado de una división.

El código del programa quedaría así:

Código: [Seleccionar]
#include <stdio.h>
#include <stdlib.h>

int main()
{
      int Num1 = 28; int Num2 = 7;
    int Num3 = 15; int Num4 = 5;
    printf("Num1 vale %d, Num2 vale %d, Num3 vale %d, Num4 vale %d\n", Num1,Num2,Num3,Num4);
    printf("A continuacion muestra por pantalla el resutado de multiplicar Num1 por 3 es %d\n", Num1*3);
    printf("A continuacion muestra por pantalla el resultado de sumar Num1 y Num2 es %d\n", Num1+Num2);
    printf("A continuacion muestra por pantalla el resultado de restarle Num2 a Num1 es %d\n", Num1-Num2);
    printf("A continuacion muestra por pantalla el resultado de dividir Num1 entre Num2 es %d\n", Num1/Num2);
    printf("A continuacion muestra por pantalla el resto de dividir Num1 entre Num3 es %d\n", Num1%Num3);
    printf("A continuacion muestra por pantalla el resto de la división entre Num1 y Num2 es%d\n",Num1%Num2);

    printf("Num1 vale %d, Num2 vale %d, Num3 vale %d, Num4 vale %d\n", Num1,Num2,Num3,Num4);
    return 0;
}

El resultado que se obtiene es:

Num1 vale 28, Num2 vale 7, Num3 vale 15, Num4 vale 5
A continuacion muestra por pantalla el resutado de multiplicar Num1 por 3 es 84
A continuacion muestra por pantalla el resultado de sumar Num1 y Num2 es 35
A continuacion muestra por pantalla el resultado de restarle Num2 a Num1 es 21
A continuacion muestra por pantalla el resultado de dividir Num1 entre Num2 es 4

A continuaci¾n muestra por pantalla el resto de dividir Num1 entre Num3 es 13
A continuaci¾n muestra por pantalla el resto de la divisi¾n entre Num1 y Num2 es 0
Num1 vale 28, Num2 vale 7, Num3 vale 15, Num4 vale 5
Process returned 0 (0x0)   execution time : 0.438 s
Press any key to continue.

 

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".