Вы находитесь на странице: 1из 8

UNIVERSIDAD ANDINA DEL CUSCO

FACULTAD DE INGENIERÍA Y ARQUITECTURA


ESCUELA PROFESIONAL DE INGENIERÍA CIVIL

GUIA DE APLICACIÓN Nº 04
Estructuras de control secuencial

I. DATOS INFORMATIVOS
1.1. Nombre de la asignatura : Taller de Algorítmica y Programación
1.2. Semestre Académico : 2018-I
1.3. Ciclo de estudios : III
1.4. Área curricular : EBE
1.5. Nombre del docente : Mtra. Ing. Lizet Vargas Vera

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.
Math.Sin ( ) Devuelve el seno de un ángulo especificado.
Math.Cos( ) Devuelve el coseno del ángulo especificado.
Math.Tan ( ) Devuelve la tangente de un ángulo especificado.
Math.PI ( ) Representa la relación entre la longitud de la circunferencia de un circulo y su diámetro,
especificada por la constante n.
Math.Exp( ) Devuelve e elevado a la potencia especificada.
Math.E Representa la base logarítmica natural, especificada por la constante, e.
Math.Equals( ) Determina si dos elementos son iguales.
Math.Truncate ( ) Calcula la parte entera de un número de punto flotante de precisión doble especificado.
Math.Acos( ) Devuelve el Angulo cuyo coseno es el número especificado.
Math.Asin( ) Devuelve el Angulo cuyo seno es el número especificado.
Math.Atan( ) Devuelve el Angulo cuya tangente es el numero especificado.
Math.Atan2( ) Devuelve el Angulo cuya tangente es el cociente de dos números especificados.
Math.BigMul( ) Calcula el producto completo de dos números.

Guía Elaborada por Mtra. Ing. Yessenia Bernales Guzmán 1/8


UNIVERSIDAD ANDINA DEL CUSCO
FACULTAD DE INGENIERÍA Y ARQUITECTURA
ESCUELA PROFESIONAL DE INGENIERÍA CIVIL

Math.Ceiling( ) Devuelve el valor integral más pequeño que es mayor o igual que el número de punto flotante
de precisión doble especificado.
Math.Cosh( ) Devuelve el coseno hiperbólico del ángulo especificado.
Math.DivRem( ) Calcula el cociente de dos números enteros con signo y devuelve también el resto de la
división como parámetro de salida.
Math.Floor( ) Devuelve el entero más grande mayor o igual que el número de punto flotante de precisión
doble especificado.
Math.IEEERemainder( ) Devuelve el resto de la división de dos números especificados.
Math.Log ( ) Devuelve el logaritmo de un número especificado en una base especificada.
Math.Log10 ( ) Devuelve el logaritmo en base 10 de un numero especificado
Math.ReferenceEquals ( ) Determina si dos instancias especificadas son iguales.
Math.Sign ( ) Devuelve un valor que indica el signo de un número decimal.
Math.Sinh ( ) Devuelve el seno hiperbólico de un ángulo especificado.
Math.Tanh ( ) Devuelve la tangente hiperbólica de un ángulo especificado.

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.

EXPRESIONES
Son combinaciones de constantes, variables, símbolos de operación, paréntesis y nombres de funciones
especiales.
Una expresión consta de operandos y operadores. Según el tipo de objetos que manipulan las expresiones se
clasifican en:
- Numérica
Son análogas a las expresiones matemáticas. Las variables y constantes son numéricas (real o entera) y
las operaciones son las aritméticas.

Operador Significado
+ Suma
- Resta
* Multiplicación
/ División
^ Exponenciación
div División entera
mod Modulo(resto)

En la expresión: 5+3
Los valores 5 y 3 se denominan operandos. El valor de la expresión 5+3 se conoce como resultado de la
expresión.
Los operadores se utilizan de igual forma que en matemáticas. Por consiguiente, A x B se escribe en un
algoritmo como A*B, y C/4 como C/4.
El operador de exponenciación es diferente según el tipo de lenguaje de programación elegido.
Ejemplos:
5x7 Se representa por 5 * 7
6
4 Se representa por 6/4
37 Se representa por 3^7

Guía Elaborada por Mtra. Ing. Yessenia Bernales Guzmán 2/8


UNIVERSIDAD ANDINA DEL CUSCO
FACULTAD DE INGENIERÍA Y ARQUITECTURA
ESCUELA PROFESIONAL DE INGENIERÍA CIVIL

Operadores DIV y MOD


El símbolo “/” se utiliza para la división real y el operador div se utiliza para la división entera
A div B
Solo se puede utilizar si A y B son expresiones enteras y obtiene la parte entera de A/B por consiguiente:
15 div 6
Toma el valor de 2
Gráficamente podemos verlo:

Ejemplos:

25 div 3 Equivale a 8
19 mod 3 Equivale a 1
42 div 10 Equivale a 4
16 mod 5 Equivale a 1

Reglas de Prioridad
Las operaciones encerradas entre paréntesis se evalúan primero. Si existen diferentes paréntesis
anidados (interiores unos a otros), las expresiones más internas se evalúan primero.
Las operaciones aritméticas dentro de una expresión suelen seguir el siguiente orden de prioridad:
 Operador exponencial
 Operador *, /
 Operadores div y mod
 Operadores +,-

-4*7+2^3/4–5
1. (– 4 * 7) + 8 / 4 - 5
2. – 28 + (8 / 4) – 5
3. – 28 + 2 – 5
4. – 26 – 5
5. – 31

V. APLICACIÓN DE LA GUÍA:
Ejercicio N° 1. 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
Guía Elaborada por Mtra. Ing. Yessenia Bernales Guzmán 3/8
UNIVERSIDAD ANDINA DEL CUSCO
FACULTAD DE INGENIERÍA Y ARQUITECTURA
ESCUELA PROFESIONAL DE INGENIERÍA CIVIL

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}
Declarar monto, b200, resto, b100, b50, b20, b10
{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
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 número 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();

Guía Elaborada por Mtra. Ing. Yessenia Bernales Guzmán 4/8


UNIVERSIDAD ANDINA DEL CUSCO
FACULTAD DE INGENIERÍA Y ARQUITECTURA
ESCUELA PROFESIONAL DE INGENIERÍA CIVIL

Ejercicio N° 2.- Elaborar un algoritmo para evaluar la expresión 6-3*2^3-2+1


1. Análisis
1.1. Entender el problema
Resolviendo la expresión obtendríamos:
6-3*2^3-2+1
6-3*8-2+1
6-24-2+1
6-24-1
-18-1
-19
1.2. Modelo
x  6 - (3*(2^3)) -2+1

1.3. Especificación del algoritmo


1.3.1. Diccionario de variables
Variables de entrada:

Variables de salida:
x: doble
1.3.2. Pre Condición {| | }
1.3.3 Acción que realiza el algoritmo:
Evalúa el valor de x.
1.3.4. Post Condición {| x  6 - (3*(2^3)) -2+1 | }

2. DISEÑAR EL ALGORITMO
2.1. Descripción del algoritmo
Inicio {resolviendo una expresión}
Declarar x
{No tenemos variables de entrada}

{Calcular la expresión}
x  6- (3*(2^3)) - 2+1

{Escribir el valor de la expresión}


Escribir x
Fin

2.1. Prueba manual del algoritmo


N° Instrucciones x Consola

1 Declarar ?
2 x  6-(3*(2^3))-2+1
3 Escribir “El valor de la -19 El valor de la expresión
expresión es: ” , x es: -19

3. Traducir el algoritmo en lenguaje de programación C#


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

Guía Elaborada por Mtra. Ing. Yessenia Bernales Guzmán 5/8


UNIVERSIDAD ANDINA DEL CUSCO
FACULTAD DE INGENIERÍA Y ARQUITECTURA
ESCUELA PROFESIONAL DE INGENIERÍA CIVIL

namespace ConsoleApplication14
{
class Program
{
static void Main(string[] args)
{
// Acción: este programa evalúa e valor de la expresión

double x = (6 - (3 * (System.Math.Pow(2, 3))) - 2 + 1);


Console.WriteLine("El valor de la expresión es: {0}", x);
Console.ReadKey();

}
}
}

Ejercicio N° 3: La tarifa e agua potable es S/0.30 por metro cúbico consumido. Adicionalmente se cobre por
gastos e emisión de facturas y reparto de recibos S/1.00 por usuario y un 18% por IGV al costo del servicio.
Elaborar un algoritmo que calcule el monto que debe pagar un usuario.
1. Análisis
1.1 Entender el problema

Datos Variables de proceso Resultado


consumo subtotal gastosvarios IGV total
(m3)
100 30.00 1.00 31.00*0.18 =5.58 36.58
150 45.00 1.00 46.00*0.18 = 8.28 54.28
1.2 Modelo

subtotal  (consumo*0.30) + 1
IGV  subtotal * 0.18
total  subtotal + IGV

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


Variables de entrada:
consumo: entero
Variables de salida:
total: real
Variables de proceso o auxiliares:
subtotal: real
IGV: real
2. Diseño
2.1 Descripción del algoritmo en pseudocódigo
Inicio {calcula el monto total}
{Declarar variables}
Declarar consumo, subtotal, IGV, total
{leer el consumo}
leer consumo
{calcular el subtotal, IGV y total a pagar}
subtotal  (consumo*0.30) + 1
IGV subtotal * 0.18
total  subtotal + IGV
{escribir el resultado}

Guía Elaborada por Mtra. Ing. Yessenia Bernales Guzmán 6/8


UNIVERSIDAD ANDINA DEL CUSCO
FACULTAD DE INGENIERÍA Y ARQUITECTURA
ESCUELA PROFESIONAL DE INGENIERÍA CIVIL

Escribir total
Fin
3. Codificación en lenguaje C#
static void Main(string[] args)
{
//declaracion de variables
int consume;
float subtotal, IGV, total;
//lectura de variables
Console.Write("Ingrese el monto: ");
consumo = int.Parse(Console.ReadLine());

// calculamos subtotal, IGV y total a pagar


subtotal = (consumo*0.30) + 1;
IGV= subtotal * 0.18;
total = subtotal + IGV;

//mostramos el resultado
Console.WriteLine("El monto a pagar es :{0}",total);
Console.ReadKey();
}

VI. ACTIVIDADES DE LABORATORIO:


Actividad 1
Elaborar un algoritmo que calcule y muestre el sueldo neto de un trabajador. Se tienen como datos de entrada
el nombre, sueldo y horas extras. Por cada hora extra se paga S/. 16.00.

Actividad 2
Dos socios de una empresa aportan cada uno cierta cantidad de un mismo producto. Luego de producida la
venta reciben una cantidad de dinero. Elaborar un algoritmo para determinar cuánto corresponde a cada
socio, proporcional a su aporte.

Nota. Entregar el desarrollo de actividades resueltas a mano, sólo el código puede ser en máquina.

VII. REFERENCIAS BIBLIOGRÁFICAS

 Grupo Liebre. (2000).Algorítmica y programación, Primera edición. Cusco.


 Charte Ojeda, F. (2002). Microsoft Visual C#.NET. Madrid: Editorial. Anaya Multimedia.
 Francia Huambachano, D. (2007). Desarrollo de Aplicaciones Visual C#.NET. Lima: Editorial.
MACRO.
 Joyanes Aguilar, L. (2008). Fundamentos de Programación. 4ta Edición. Madrid: Editorial McGraw
Hill.

Guía Elaborada por Mtra. Ing. Yessenia Bernales Guzmán 7/8


UNIVERSIDAD ANDINA DEL CUSCO
FACULTAD DE INGENIERÍA Y ARQUITECTURA
ESCUELA PROFESIONAL DE INGENIERÍA CIVIL

VIII. FICHA DE CALIFICACIÓN:

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


Estructuras de control secuencial

Nombre del estudiante…………………………………………………………………………………

Nombre del estudiante…………………………………………………………………………………

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 6 2 3 1 1

Actividad 2 6 2 3 1 1

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

Guía Elaborada por Mtra. Ing. Yessenia Bernales Guzmán 8/8

Вам также может понравиться