Está en la página 1de 8

UNIVERSIDAD ANDINA DEL CUSCO

FACULTAD DE INGENIERÍA Y ARQUITECTURA


ESCUELA PROFESIONAL DE INGENIERÍA INDUSTRIAL

GUIA DE APLICACIÓN Nº 04
Operadores DIV y MOD

I. DATOS INFORMATIVOS
1.1. Nombre de la asignatura : Taller de Algorítmica y Programación
1.2. Semestre Académico : 2017-II
1.3. Ciclo de estudios : III
1.4. Área curricular : TB (Tecnología básica)
1.5. Nombre del docente : Ing. Yessenia Bernales Guzmán

II. COMPETENCIAS A CONSEGUIR :

 Conoce y analiza el diseño de algoritmos e implementa programas utilizando un lenguaje de


programación.

III. CAPACIDADES
 Conoce los conceptos básicos de programación y desarrolla algoritmos usando la estructura de
control secuencial.

IV. FUNDAMENTO TEÓRICO:


- Estructura de control Secuencial y la librería Math que proporciona métodos predefinidos:
Las estructuras de control secuencial se ejecutan en una secuencia ordenada una a continuación de
otra.
La librería Math, proporciona un conjunto de métodos y contantes predefinidas para realizar
operaciones matemática básicas, trigonométricas y logarítmicas que pueden ser utilizadas en la
solución de aplicaciones o ejercicios, para poder utilizar cada método o constante tenemos que
conocer el formato de cada una de ellas, en la siguiente tabla tenemos la operación de realiza:

Funciones predefinidas por medio de la Librería Math en C#.


C# Método o constante Semántica o significado del Método o constante
Math.Abs( ) Devuelve el valor absoluto de un número.
Math.Pow ( ) Devuelve el número especificado a la potencia especificada.
Math.Sqrt ( ) Devuelve la raíz cuadrada de un número especificado.
Math.Max ( ) Devuelve el mayor de dos números.
Math.Min ( ) Devuelve el menor de dos números.
Math.Round ( ) Redondea un valor decimal a una precisión especificada.

Ejemplo para utilizar los métodos predefinidos:

int A = 2;
int B = 3;
int Resultado = Math.Pow(A,B);
Resultado almacenará el valor de 8, porque dos elevado al cubo es 8.

En programación debemos recordar que tenemos los operadores aritméticos, estos son:
+, es la suma: 5+3 --> 8
-, es la resta: 9 - 4 --> 5
/, es la división: 45 / 10 --> 4.5

1/8
UNIVERSIDAD ANDINA DEL CUSCO
FACULTAD DE INGENIERÍA Y ARQUITECTURA
ESCUELA PROFESIONAL DE INGENIERÍA INDUSTRIAL

*, es la multiplicación: 9*3 --> 27


^, es la potencia; 2^4 --> 16
DIV, es el operador parte entera de la división
MOD, es el operador que devuelve el residuo de una división
Los operadores de +, -, /, * son conocidos por todos, pero algo nuevo son los operadores DIV y MOD que
son operadores especiales de la división, aquí te muestro algunos ejemplos:

Los operadores DIV y MOD en C#

En C# debemos tener especial cuidado a la hora de usar los operadores, debemos considerar que los
operadores solo trabajan con números enteros (int), estos operadores son:
%, es el operador MOD
/, es el operado DIV

Importante
Debes tener muy presente que el operador "/", también representa la división, pero solo cuando se trata de
números reales.

Ejemplos:

V. APLICACIÓN DE LA GUÍA
Ejercicio N° 1. Elaborar un algoritmo que lea un número de tres cifras y lo descomponga en unidades,
decenas y centenas. El programa debe indicarnos cuantas unidades hay, cuantas decenas y cuantas
centenas.

1. ANÁLISIS
1.1. Entender el Problema.
Supongamos que el número es 785, por lo tanto el programa tiene que devolvernos 7 centenas, 8
decenas y 5 unidades como resultado.

2/8
UNIVERSIDAD ANDINA DEL CUSCO
FACULTAD DE INGENIERÍA Y ARQUITECTURA
ESCUELA PROFESIONAL DE INGENIERÍA INDUSTRIAL

Si aplicamos DIV y MOD entonces podremos hacer lo siguiente:


 785 MOD 10 da como resultado 5, por lo tanto ya tenemos la cantidad de unidades.
 785 DIV 10 da como resultado 78, ahora podemos aplicar (785 DIV 10) MOD 10 que es
como decir 78 MOD 10, que resulta ser 8 por lo tanto ya tenemos las decenas.
 785 DIV100 da como resultado 7, por ello ya tenemos las centenas.

1.2. Modelo
u = num MOD 10
d = (num DIV 10) MOD 10
c = num DIV 100

1.3. Especificación del algoritmo.


1.3.1. Diccionario de variables
- Variables de entrada.-
num {representa un entero}: Entero

- Variables de proceso.-
No existen en este caso

- Variables de salida.-
u, d, c {cifras} : Entero

2. DISEÑO
2.1. Descripción del Algoritmo.

Algoritmo DescomponerCifras
Inicio
{declarar e inicializar variables}
Declarar u,d,c,num
{lee numero}
Leer (num)
{determina las cifras}
u = num MOD 10
d = ( num DIV 10 ) MOD 10
c = ( num DIV 100)
{escribir las cifras}
Escribir u
Escribir d
Escribir c
Fin

3. Codificación en lenguaje de programación C#


static void Main(string[] args)
{
//programa que descompone un numero de tres cifras
//declarar e inicializar variables
int u,d,c,num;
//Leer datos
Console.Write("Ingresar un numero de tres cifras: ");
num = int.Parse(Console.ReadLine());
u = num % 10;
d = ( num / 10 ) % 10;

3/8
UNIVERSIDAD ANDINA DEL CUSCO
FACULTAD DE INGENIERÍA Y ARQUITECTURA
ESCUELA PROFESIONAL DE INGENIERÍA INDUSTRIAL

c = ( num / 100);
//Escribir las cifras
Console.WriteLine("Cantidad de unidades "+u);
Console.WriteLine("Cantidad de decenas "+d);
Console.WriteLine("Cantidad de centenas "+c);
Console.ReadLine();
}

Ejercicio N° 2.Un cajero automático trabaja con billetes de 200, 100, 50, 20 y 10 nuevos soles; un
usuario desea retirar cierta cantidad de dinero y el cajero debe entregar el número mínimo de billetes.
Hacer un programa que resuelva el problema dado.
1. Análisis
1.1 Entender el problema

Monto b200 b100 b50 b20 b10


780 3 1 1 1 1
1390 6 1 1 2 0
1.2 Modelo
b200  monto div 200
resto  monto mod 200
b100  resto div 100
resto  resto mod 100
b50  resto div 50
resto  resto mod 50
b20  resto div 20
resto  resto mod 20
b10  resto div 10

1.3 Especificación del algoritmo (determinación de variables)


Variables de entrada:
monto: entero
Variables de salida:
b200, b100, b50, b20, b10: entero
Variables de proceso:
resto: entero
2. Diseño
2.1 Descripción del algoritmo en pseudocódigo
Inicio {calcula el nro minimo de billetes de 200,100,50,20,10 para retirar de un cajero
automatico}
{leer el monto a retirar}
Leer monto
{calcular el nro minimode billetes de 200,100,50,20 y 10}
b200  monto div 200
resto  monto mod 200
b100  resto div 100
resto  resto mod 100
b50  resto div 50
resto  resto mod 50
b20  resto div 20
resto  resto mod 20
b10  resto div 10
{escribir el nro minimo de billetes}
escribir b200,b100,b50,b20,b10

4/8
UNIVERSIDAD ANDINA DEL CUSCO
FACULTAD DE INGENIERÍA Y ARQUITECTURA
ESCUELA PROFESIONAL DE INGENIERÍA INDUSTRIAL

Fin
3. Codificación en lenguaje C#
static void Main(string[] args)
{
//declaracion de variables
int monto, b200, b100, b50, b20, b10, resto;
//lectura de variables
Console.Write("Ingrese el monto: ");
monto = int.Parse(Console.ReadLine());
// hallamos el numero de billetes de cada denominacion
b200 = monto/200;
resto = monto % 200;
b100 = resto / 100;
resto = resto % 100;
b50 = resto / 50;
resto = resto % 50;
b20 = resto / 20;
resto = resto % 20;
b10 = resto / 10;
//mostramos el numero de billetes de cada denominacion
Console.WriteLine("La cantidad de billetes de 200 es :{0}",b200);
Console.WriteLine("La cantidad de billetes de 100 es :{0}", b100);
Console.WriteLine("La cantidad de billetes de 50 es :{0}", b50);
Console.WriteLine("La cantidad de billetes de 20 es :{0}", b20);
Console.WriteLine("La cantidad de billetes de 10 es :{0}", b10);
Console.ReadKey();
}

Ejercicio N° 3. Un automóvil parte de la UAC hasta Qollana a las HH horas, MM minutos y SS segundos, el
tiempo de viaje hasta llegar al destino es de T segundos. Elaborar un algoritmo que permita
determinar la hora de llegada a Qollana.

1. ANALIZAR EL PROBLEMA
1.1. Entender el Problema.

Datos Resultados
Hora Partida Tiempo viaje Hora Llegada
11:20:15 5 seg 11:20:20
12:30:58 10 seg 12:31:08
13:59:57 20 seg 14:00:17
23:59:55 20 seg 00:00:15

1.2. Modelo:

TotalSegPartida HoraPartida*3600 + MinutosPartida*60 + SegundosPartida


TotalSegLlegada TotalSegPartida + SegViaje
HoraLlegada (TotalSegLlegada DIV 3600) MOD 24
MinLlegada (TotalSegLlegada MOD 3600) DIV 60
SegLlegada (TotalSegLlegada MOD 3600) MOD 60

1.3. Especificación del algoritmo.


1.3.1. Diccionario de variables

5/8
UNIVERSIDAD ANDINA DEL CUSCO
FACULTAD DE INGENIERÍA Y ARQUITECTURA
ESCUELA PROFESIONAL DE INGENIERÍA INDUSTRIAL

- Variables de entrada.-
HoraPartida: hora en la que parte, tipo Entero
MinutosPartida: minuto en la que parte, tipo Entero
SegundosPartida: segundo en la que parte, tipo Entero
SegViaje: cantidad de segundos que dura el viaje, tipo Entero

- Variables de proceso.-
TotalSegPartida : tiempo total en seg a la partida, tipo Entero
TotalSegLlegada: tiempo total en seg a la llegada, tipo Entero
.
- Variables de salida.-
HoraLlegada : la hora en la que llega, tipo Entero.
MinLlegada : minutos en la que llega, tipo Entero.
SegLlegada : segundos en laa que llega, tipo Entero.

1.3.2. Pre Condición.-


{| (0<=HoraPartida <24) y (0<= MinutosPartida <60) y (0<= SegundosPartida <60) y (0<
SegViaje <60)|}

1.3.3 Acción que realiza el algoritmo:


Calcular la hora de llegada en HH,MM y SS.

2. DISEÑO DEL ALGORITMO


2.1. Descripción del Algoritmo:
Inicio {Calcular hora, min y seg de llegada}
Declarar HoraPartida, MinutosPartida, SegundosPartida, SegViaje, TotalSegPartida,
TotalSegLlegada, HoraLlegada, MinLlegada, SegLlegada
{Leer datos}
Leer HoraPartida
Leer MinutosPartida
Leer SegundosPartida
Leer SegViaje

{Calcular hora de llegada}


TotalSegPartida HoraPartida*3600 + MinutosPartida*60 + SegundosPartida
TotalSegLlegada TotalSegPartida + SegViaje
{En Horas, Minutos y Segundos}
HoraLlegada (TotalSegLlegada DIV 3600) MOD 24
MinLlegada (TotalSegLlegada MOD 3600) DIV 60
SegLlegada (TotalSegLlegada MOD 3600) MOD 60

{Escribir Horas, Minutos y Segundos de llegada}


Escribir HoraLlegada
Escribir MinLlegada
Escribir SegLlegada
Fin
3. CODIFICACIÓN EN EL LENGUAJE DE PROGRAMACIÓN C#
static void Main(string[] args)
{
// Acción : Este programa calcula la hora de llegada en HH,MM y SS.

6/8
UNIVERSIDAD ANDINA DEL CUSCO
FACULTAD DE INGENIERÍA Y ARQUITECTURA
ESCUELA PROFESIONAL DE INGENIERÍA INDUSTRIAL

//declarar variables
int HoraPartida, MinutosPartida, SegundosPartida, SegViaje;
int TotalSegPartida, TotalSegLlegada, HoraLlegada, MinLlegada, SegLlegada;
//Leer datos
Console.Write("Ingresa Hora Partida: ");
HoraPartida = int.Parse(Console.ReadLine());
Console.Write("Ingresa Minutos Partida: ");
MinutosPartida = int.Parse(Console.ReadLine());
Console.Write("Ingresa Segundos Partida: ");
SegundosPartida = int.Parse(Console.ReadLine());
Console.Write("Ingresa Segundos Viaje: ");
SegViaje = int.Parse(Console.ReadLine());

//proceso:clcula hora llegada


TotalSegPartida = HoraPartida*3600 + MinutosPartida*60 + SegundosPartida;
TotalSegLlegada = TotalSegPartida + SegViaje;
//En Horas, Minutos y Segundos
HoraLlegada = (TotalSegLlegada / 3600) % 24;
MinLlegada = (TotalSegLlegada % 3600) / 60;
SegLlegada = (TotalSegLlegada % 3600) % 60;

//Escribir Horas, Minutos y Segundos de llegada


Console.Write("\nHora de llegada es: {0} Horas", HoraLlegada);
Console.Write("\nMinuto de llegada es: {0} Minutos", MinLlegada);
Console.Write("\nSegundo de llegada es: {0} Segundos", SegLlegada);
Console.ReadKey();
}

VI. EJERCICIOS PROPUESTOS


Actividad 1
Elaborar un algoritmo que permita invertir un número de 4 dígitos, ejemplo: Si ingresamos el número 7543,
el programa deberá descomponer sus cifras y luego nos dará como respuesta 3457.

Actividad 2
En la empresa Cusco SAC se tiene el tiempo de inicio de un proceso en HH:MM:SS y el tiempo de término
del proceso en HH:MM:SS. Elaborar un algoritmo que determine el tiempo que duró un proceso.

VII. BIBLIOGRAFÍA
 Grupo Liebre. (2000).Algorítmica y programación, Primera edición. Cusco.
 Joyanes Aguilar, L. (2008). Fundamentos de Programación. 4ta Edición. Madrid: Editorial McGraw Hill.

7/8
UNIVERSIDAD ANDINA DEL CUSCO
FACULTAD DE INGENIERÍA Y ARQUITECTURA
ESCUELA PROFESIONAL DE INGENIERÍA INDUSTRIAL

VIII. FICHA DE CALIFICACIÓN

Ficha de calificación de la guía N° 04


Operadores DIV y MOD

Nombre del estudiante…………………………………………………………………………………Código…………………………………

Criterio de Elabora Elabora el Elabora Elabora el Presenta Puntaje


calificación correctamente algoritmo correctamente código en fecha obtenido
el algoritmo parcialmente el código parcialmente
Actividad 1 7 2 2 1 1

Actividad 2 7 2 2 1 1

Firma de la docente …………………………………………………………………………………………………

8/8

También podría gustarte