Guia - Laboratorio 1 - 2018
Guia - Laboratorio 1 - 2018
Guia - Laboratorio 1 - 2018
Ciclo I-2018
Guía No.1 De LABORATORIO
Metodología para resolver problemas con estructuras
selectivas
Programación C# - Algoritmos con estructuras selectiva
anidada.
Introducción
Esta guía consta de dos partes. En la primera parte se desarrolla dos ejercicios completos en los
cuales se aplica estructuras selectivas; la segunda parte trata sobre dos ejercicios propuestos, los
cuales el estudiante desarrollará como actividad evaluada de laboratorio los cuales serán
entregados en el aula virtual en la fecha correspondiente que se especifica en este documento.
Objetivo General:
● Adquirir el conocimiento y la habilidad para desarrollar soluciones haciendo uso de la
metodología para resolver problemas, impartida en la asignatura; empleando las
estructuras de control secuenciales, selectivas simples, dobles, anidadas o múltiples
según sea necesario, todo esto auxiliándose de la herramienta para desarrollo de
aplicaciones IDE Visual Studio 2015 para codificar la solución a los ejercicios evaluados
que se le solicitan.
Objetivos Específicos:
● Conocer, comprender y aplicar las estructuras selectivas simples, dobles, anidadas y
múltiples en el diseño de algoritmos.
● identificar cuándo utilizar las estructuras selectivas simples, dobles, anidadas y múltiples
en un algoritmo.
● Adquirir el conocimiento y la habilidad para implementar soluciones con estructuras
selectivas anidadas usando el Lenguaje C#.
Metodología. El estudiante DEBE desarrollar los dos ejercicios planteados en la Parte II. Además,
recuerde que el día su tutoría previa a la entrega de esta actividad, usted como estudiante podrá
consultarle a su tutor alguna duda que tenga con respecto a ella.
UNIVERSIDAD DE EL SALVADOR EN LÍNEA
FACULTAD DE INGENIERÍA Y ARQUITECTURA
INTRODUCCIÓN A LA INFORMÁTICA
Para poder comenzar con los ejercicios de ejemplo veremos un poco de teoría sobre las
condiciones simples, dobles y su uso de manera anidada.
La estructura de selección simple evalúa una condición, si esta es verdadera ejecuta una o
varias instrucciones, si es falsa continua la ejecución normal del programa.
If en español significa si, y nos indica que inicia la estructura y a continuación se escribe la
expresión lógica o condición dentro de paréntesis; Si tiene más de una instrucción a realizar
se debe de escribir dentro de llaves.
2
UNIVERSIDAD DE EL SALVADOR EN LÍNEA
FACULTAD DE INGENIERÍA Y ARQUITECTURA
INTRODUCCIÓN A LA INFORMÁTICA
Ejemplos:
Falso Verdadero
Condición
Instrucciones
3
UNIVERSIDAD DE EL SALVADOR EN LÍNEA
FACULTAD DE INGENIERÍA Y ARQUITECTURA
INTRODUCCIÓN A LA INFORMÁTICA
La estructura condicional también se puede trabajar de manera doble, es decir, que cuando la
condición evaluada resulta verdadera realizamos una serie de acciones al igual que la estructura
condicional simple, la diferencia es que si la condición es falsa se ejecuta otro bloque de acciones
a realizar.
También las estructuras selectivas se pueden utilizar de manera anidada, lo cual significa que
dentro del bloque de instrucciones que se ejecutan si la condición resulta verdadera o falsa,
puede ir incluida otra estructura selectiva, y así sucesivamente dependiendo de las necesidades
del ejercicio, esto se da cuando tenemos más de una condición independiente que evaluar.
Falso Verdadero
Condición
Instrucciones Instrucciones
4
UNIVERSIDAD DE EL SALVADOR EN LÍNEA
FACULTAD DE INGENIERÍA Y ARQUITECTURA
INTRODUCCIÓN A LA INFORMÁTICA
ANIDAMIENTO
Anidar estructuras selectivas implica utilizarlas una dentro de otra, ya sea en el bloque de
instrucciones verdadero o en el bloque de instrucciones falso, su objetivo es evaluar otra
condición diferente a la evaluada en la estructura selectiva más externa.
Por ejemplo:
Falso Condición
Verdadero
1
Instrucciones
Falso Verdadero
Condición
2
Instrucciones Instrucciones
Ejemplo 1:
En un almacén se realiza un descuento de 20% a los clientes cuya compra sea mayor o igual a
los $1000.00 dólares. ¿Cuál será la cantidad de dinero que pagará una persona por su compra?
DESARROLLO DE LA SOLUCION
5
UNIVERSIDAD DE EL SALVADOR EN LÍNEA
FACULTAD DE INGENIERÍA Y ARQUITECTURA
INTRODUCCIÓN A LA INFORMÁTICA
Definición de constantes.
Nombre Tipo Descripción
PorcentajeDescuento Real Porcentaje de descuento a aplicar y su valor será 0.20 es
decir y será 20%.
3. Restricciones.
Debido a que es necesario que se realice una compra para hace el cálculo el valor de
compra ingresado debe satisfacer esta condición.
ValorCompra>0
Solamente se les aplicará descuento a los clientes cuya compra sea mayor o igual a
1000.00, por lo tanto, ValorCompra>=1000.00 para la estructura condicional.
4. Proceso.
Vamos a recordar que en esta parte, solo escribimos los procesos matemáticos (cálculos
o asignaciones) y los procesos lógicos (comparaciones o condiciones), que se realizarán
para resolver el problema, y si se escriben en orden nos facilita aún más el diseño de
solución.
6
UNIVERSIDAD DE EL SALVADOR EN LÍNEA
FACULTAD DE INGENIERÍA Y ARQUITECTURA
INTRODUCCIÓN A LA INFORMÁTICA
También hay que considerar que el dato ingresado por el cliente (ValorCompra) sea mayor
a cero mediante una condición, y si dicha condición se cumple entonces se realiza todo el
proceso, en caso contrario solo se muestra un mensaje que diga que el valor de la compra
ingresado es incorrecto.
¿Es ValorCompra>0?
SI:
PorcentajeDescuento=0.20
Descuento = 0
¿Es ValorCompra>=1000.00?
SI:
Descuento = ValorCompra * PorcentajeDescuento
TotalAPagar = ValorCompra – Descuento
No:
TotalAPagar=ValorCompra
Escribir “Total a pagar” + TotalAPagar + “dólares”
No:
Imprimir “El valor de la compra ingresado es incorrecto”
C. Diseño de la solución.
Algoritmo narrado.
Proceso: Descuento_Compras
{El programa aplicará el 20% de descuento a los clientes cuya compra supere los $1000.00}
{TotalAPagar, ValorCompra, PorcentajeDescuento y Descuento son variables de tipo real}
b. Hacer Descuento=0
c. Si ValorCompra >= 1000.00 entonces
i. Descuento=PorcentajeDescuento * ValorCompra
ii. Hacer TotalAPagar=ValorCompra - Descuento
d. Sino
i. Hacer TotalAPagar=ValorCompra
e. {Fin del condicional del paso c}
f. Escribir “Total a pagar” + TotalAPagar + “dólares”
4. Sino
a. Escribir “El valor de la compra ingresado es incorrecto”
5 {Fin del condicional del paso 3}
Sintaxis en C#
using System;
namespace Descuento_Compras
{
class Program
{
static void Main(string[] args)
{
float ValorCompra, TotalAPagar, Descuento, PorcentajeDescuento;
Console.WriteLine("Digite el valor de la compra");
//la lectura por consola es de tipo String
ValorCompra = float.Parse(Console.ReadLine());
if (ValorCompra>0)
{
Descuento = 0;
PorcentajeDescuento = 0.2f;
if (ValorCompra>=1000.00)
{
Descuento = PorcentajeDescuento * ValorCompra;
TotalAPagar = ValorCompra - Descuento;
}
else
{
TotalAPagar = ValorCompra;
}
Console.WriteLine("\n\nTotal a pagar \t " + TotalAPagar + " dólares");
}
else
{
Console.WriteLine("\n\nEl valor de la compra ingresado es incorrecto");
}
Console.WriteLine("\n\nPresione una tecla para continuar...");
Console.Read();
}
}
}
8
UNIVERSIDAD DE EL SALVADOR EN LÍNEA
FACULTAD DE INGENIERÍA Y ARQUITECTURA
INTRODUCCIÓN A LA INFORMÁTICA
Ejemplo 2: Dados dos números enteros, se desea saber cuál de los dos es el mayor.
3. Restricciones.
Solo se aplicará la solución a números enteros, positivos, negativos y cero.
6. Proceso.
Vamos a recordar que, en esta parte, solo escribimos los procesos matemáticos (cálculos
o asignaciones) y los procesos lógicos (comparaciones o condiciones), que se realizarán
para resolver el problema, y si se escriben en orden nos facilita aún más el diseño de
solución.
9
UNIVERSIDAD DE EL SALVADOR EN LÍNEA
FACULTAD DE INGENIERÍA Y ARQUITECTURA
INTRODUCCIÓN A LA INFORMÁTICA
Debemos tener en cuenta que primero hay que evaluar si los dos números son iguales,
en caso de ser cierto no se realiza ninguna otra acción solo imprimir que son iguales, por
lo tanto, debemos definir y evaluar primero esta condición.
Num1==Num2
Num1>Num2
Mayor = Num1;
Los cálculos anteriores se deberán realizar siempre y cuando Num1 sea mayor a Num2,
de lo contrario, si la condición resulta falsa eso quiere decir que el mayor es Num2, por lo
cual la formula a aplicar será.
Mayor = Num2;
10
UNIVERSIDAD DE EL SALVADOR EN LÍNEA
FACULTAD DE INGENIERÍA Y ARQUITECTURA
INTRODUCCIÓN A LA INFORMÁTICA
C. Diseño de la solución.
Algoritmo narrado.
Proceso: ComparacionNumeros
{El programa realizará una comparación de dos números para saber si son iguales o cual es
el mayor}
{Num1, Num2, Mayor son variables de tipo entero}
Sintaxis en C#
using System;
namespace ComparacionNumeros
{
class Program
{
static void Main(string[] args)
{
int Num1, Num2, Mayor;
Console.WriteLine("Digite el primer número");
Num1 = int.Parse(Console.ReadLine());
Console.WriteLine("Digite el segundo número");
Num2 = int.Parse(Console.ReadLine());
if (Num1==Num2)
Console.WriteLine("Ambos números son iguales");
else
{
if (Num1 > Num2)
{
Mayor = Num1;
}
else
{
11
UNIVERSIDAD DE EL SALVADOR EN LÍNEA
FACULTAD DE INGENIERÍA Y ARQUITECTURA
INTRODUCCIÓN A LA INFORMÁTICA
Mayor = Num2;
}
Console.WriteLine("\n\nEl número mayor es {0}", Mayor);
}
Console.WriteLine("\n\nPresione una tecla para continuar...");
Console.ReadKey();
}
}
}
Ejercicio 1:
Diseñe una solución que solicite la Estatura (Metros) y Peso (Kilogramos) de una persona, calcule
su índice de masa corporal (IMC) y luego, la solución muestre en pantalla el tipo de IMC calculado
según la siguiente tabla:
Formula
12
UNIVERSIDAD DE EL SALVADOR EN LÍNEA
FACULTAD DE INGENIERÍA Y ARQUITECTURA
INTRODUCCIÓN A LA INFORMÁTICA
Se pide:
13
UNIVERSIDAD DE EL SALVADOR EN LÍNEA
FACULTAD DE INGENIERÍA Y ARQUITECTURA
INTRODUCCIÓN A LA INFORMÁTICA
Ejercicio 2:
El consultorio "Pase Adelante, siéntase bien” tiene como política cobrar la consulta con base en
el número de cita, de la siguiente forma:
Las tres primeras citas a $200.00 c/u.
Las siguientes dos citas a $150.00 c/u.
Las tres siguientes citas a $100.00 c/u.
Las restantes a $50.00 c/u, mientras dure el tratamiento.
Se requiere un algoritmo para determinar:
a) Cuánto pagará el paciente por la cita actual ingresada.
b) El monto de lo que ha pagado el paciente por el tratamiento hasta el momento.
Se pide:
INDICACIONES DE ENTREGA
Los estudiantes entregarán un archivo comprimido conteniendo los proyectos en C# de los dos
ejercicios solicitados en carpetas separadas y con el nombre Ejercicio1 y Ejercicio2. Además,
entregarán un documento con el desarrollo de las fases del proceso solucionador de problemas,
para cada ejercicio.
14
UNIVERSIDAD DE EL SALVADOR EN LÍNEA
FACULTAD DE INGENIERÍA Y ARQUITECTURA
INTRODUCCIÓN A LA INFORMÁTICA
Objetivo general
Objetivos específicos
Desarrollo de los ejercicios (para cada uno de los dos ejercicios)
o Enunciado.
o Planteamiento general del problema (Método de la caja negra).
o Análisis del problema.
o Definición de variables de entrada.
o Definición de variables de salida.
o Restricciones.
o Proceso.
o Definición de variables de proceso.
o Diseño de la solución.
Algoritmo narrado.
Sintaxis en C#
Conclusiones.
Recomendaciones.
Bibliografía.
Carátula.
En esta parte se presenta la información personal (nombre, carnet, asignatura) e información de
la Universidad.
MEDIO: Enlace en aula virtual llamado Laboratorio 1 Evaluado: Metodología para resolver
problemas con estructuras selectivas, ubicado al final de la Unidad 4.
15