Está en la página 1de 15

Universidad de El Salvador

Facultad de Ingeniería y Arquitectura


Escuela de Ingeniería de Sistemas Informáticos
Introducción a la Informática

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

Equipo, Materiales y Herramientas:


● Computadora Personal con Windows.
● Conexión a Internet para entregar la actividad.
● Visual Studio 2015 Community Edition.

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

Parte I. Aplicación de La Metodología Para Resolver Problemas Ejercicios de ejemplo.

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.

SINTÁXIS EN C# DE LA ESTRUCTURA DE SELECCIÓN SIMPLE

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.

La escritura de la estructura de selección simple, es muy fácil, involucra como novedad, la


palabra reservada if y los separadores u operadores de agrupación ( ) y { }.

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.

Sintaxis Utilizarla cuando Ejemplo Comentarios


if (condición) línea; La acción está if(x!=7) a=4; La acción a realizar es muy
formada por una sencilla, una sola instrucción, por
sola instrucción lo que la podemos escribir en
una sola línea.
if ( condición ) La acción está if (x!=7 ) Es igual que en el caso anterior,
línea; formada por una a=4; pero se escribe en dos líneas
sola instrucción, para mantener un mejor orden,
por lo cual no son además se deja una sangría o
necesarias las tabulación en la instrucción es
llaves. decir la segunda línea, también
debe notar que la primera línea
no debe llevar punto y coma.
if ( condición ) La acción si la if ( x>8 ) Cuando las acciones a realizar
condición resulta
{ { dentro de la condición son dos o
verdadera está
línea 1; formada por varias a=2*x; más se debe utilizar llaves para
línea 2; instrucciones, por b=a+x; poner entre ellas las líneas de
... lo cual se utilizan } código, cada línea de instrucción
las llaves
línea N; debe tener punto y coma al final,
} esto se conoce como bloque de
código. Y es la forma que más se
recomienda para trabajar con
estructuras condicionales,
debido a que el código queda
más ordenado y organizado.

2
UNIVERSIDAD DE EL SALVADOR EN LÍNEA
FACULTAD DE INGENIERÍA Y ARQUITECTURA
INTRODUCCIÓN A LA INFORMÁTICA

Es importante recordar también que:

 La condición puede ser simple o compuesta, y se escribe dentro de paréntesis.

Ejemplos:

Esta es una condición simple.


if (Nota>=6)

Las siguientes instrucciones tiene un ejemplo de condición compuesta y significa


Nota>=0 y Nota<=10 ósea se evalúan dos condiciones las cuales están unidas por un
operador lógico Y.

if (Nota>=0 && Nota <=10)

La siguiente instrucción significa que se evalúa que se cumpla como verdadera la


primera condición o la segunda ya que están unidas con un operador lógico O.
if ((x!=7) || (y ==7))

 Si la condición es verdadera se ejecutan la o las líneas que están después de la


sentencia if, y se continúa con la sentencia después de la estructura if.
 En el caso de la condición simple, si la condición es falsa la ejecución del programa
sigue después de la estructura if.
 Si solo hay una sentencia dentro del if las llaves no son necesarias.

Gráficamente la estructura de selección simple se puede representar así:

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

SINTÁXIS EN C# DE LA ESTRUCTURA DE SELECCIÓN DOBLE

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.

Sintaxis Utilizarla cuando Ejemplo Comentarios


if ( condición ) La acción si la if ( x>8 ) Podemos observar
condición resulta
{ { que en una
verdadera está
línea 1; formada por varias a=2*x; condición doble se
línea 2; instrucciones, por lo b=a+x; ejecuta un bloque
... cual se utilizan las } de instrucciones u
llaves, luego existe
línea N; otro bloque de
Else otro, dependiendo
} instrucciones que se { de si la condición
else ejecutan si la a=x+10; evaluada resulta
{ condición resulta } verdadera o falsa.
falsa.
línea 1;
línea 2; Otro ejemplo
... if ( Nota>=6)
línea N; {
} Estado="Aprobado";
}
Else
{
Estado="Reprobado";
}

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.

Gráficamente la estructura de selección doble se puede representar así:

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

A continuación, veremos una serie de ejemplos de uso de estructuras selectivas de manera


anidada.

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

A. Planteamiento general del problema (Método de la caja negra).

ENTRADAS PROCESO SALIDAS

ValorCompra Calcular Descuento TotalAPagar


PorcentajeDescuento Encontrar el monto a pagar

5
UNIVERSIDAD DE EL SALVADOR EN LÍNEA
FACULTAD DE INGENIERÍA Y ARQUITECTURA
INTRODUCCIÓN A LA INFORMÁTICA

B. Análisis del problema.

1. Definición de variables de entrada.

Definición de variables de entrada.


Nombre Tipo Descripción
ValorCompra Real Contiene el monto de la compra.

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

2. Definición de variables de salida.

Definición de variables de salida.


Nombre Tipo Descripción
TotalAPagar Real Almacena la cantidad total de dinero a pagar por el cliente.

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.

Por lo tanto, las formulas a utilizar son:

Descuento = ValorCompra * PorcentajeDescuento;


TotalAPagar = ValorCompra – Descuento;

En donde Descuento es la cantidad a descontar y PorcentajeDescuento es el porcentaje


(20%) a descontar, este valor será expresado así 0.20 y será un valor constante.

6
UNIVERSIDAD DE EL SALVADOR EN LÍNEA
FACULTAD DE INGENIERÍA Y ARQUITECTURA
INTRODUCCIÓN A LA INFORMÁTICA

Los cálculos anteriores se deberán realizar siempre y cuando la compra (ValorCompra)


sea mayor o igual a 1000.00, de lo contrario el pago (TotalAPagar) será igual al valor de la
compra (ValorCompra), es decir que hay que establecer Descuento=0 por lo que no se le
descuenta nada al cliente, resumiendo, lo que tenemos que evaluar es si le hacemos o no
descuento al cliente.

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.

Ordenando un poco las ideas planteadas anteriormente:

¿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”

5. Definición de variables de proceso.

Nombre Tipo Descripción


Descuento Real Contiene el monto de la compra.

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}

1. Escribir “Digite el valor de la compra”


2. Leer ValorCompra
3. Si ValorCompra > 0 entonces
a. Hacer PorcentajeDescuento= 0.2
7
UNIVERSIDAD DE EL SALVADOR EN LÍNEA
FACULTAD DE INGENIERÍA Y ARQUITECTURA
INTRODUCCIÓN A LA INFORMÁTICA

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.

A. Planteamiento general del problema (Método de la caja negra).

ENTRADAS PROCESO SALIDAS

Num1 Evaluar ambos números para Mayor


Num2 determinar si son iguales o
cual de los dos es el mayor.

B. Análisis del problema.

1. Definición de variables de entrada.

Definición de variables de entrada.


Nombre Tipo Descripción
Num1 Entero Primer número para comparar.
Num2 Entero Segundo numero para comparar.

2. Definición de variables de salida.

Definición de variables de salida.


Nombre Tipo Descripción
Mayor Entero Almacena el valor del número que resulta 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.

Por lo tanto, las condiciones de comparación a utilizar son:

Num1==Num2
Num1>Num2

Si en la primera estructura selectiva la condición resulta verdadera entonces se le dice al


usuario que los dos números son iguales, en cambio sí resulta falsa, se evalúa otra
segunda condición dentro del bloque de instrucciones else de la primera estructura
condicional, para averiguar cuál de los dos números es el mayor.

Y las formulas a utilizar son:

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;

Ordenando un poco las ideas planteadas anteriormente:

¿Es Num1 igual a Num2?


SI:
Escribir “Ambos números son iguales”
No:
¿Es Num1>Num2?
SI:
Mayor = Num1
No:
Mayor = Num2
Escribir “El número mayor es ” + Mayor

7. Definición de variables de proceso.


No Hay

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}

1. Escribir “Digite el primer número”


2. Leer Num1
3. Escribir “Digite el segundo número”
4. Leer Num2
5. Si (Num1==Num2) entonces
a. Escribir “Ambos números son iguales”
6. Sino
a. Si (Num1 > Num2) entonces
i. Hacer Mayor=Num1
b. Sino
i. Hacer Mayor=Num2
c. {Fin del condicional del paso a}
d. Escribir “El número mayor es ” + Mayor
7 {Fin del condicional del paso 5}

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();
}
}
}

Producto a elaborar por el estudiante:

Resuelva los siguientes ejercicios

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:

 Planteamiento general del problema (Método de la caja negra).


 Análisis del problema.
 Definición de variables de entrada.
 Definición de variables de salida.
 Restricciones.
 Proceso.
 Definición de variables de proceso.
 Diseño de la solución.
o Algoritmo narrado.
o Sintaxis en C#

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:

 Planteamiento general del problema (Método de la caja negra).


 Análisis del problema.
 Definición de variables de entrada.
 Definición de variables de salida.
 Restricciones.
 Proceso.
 Definición de variables de proceso.
 Diseño de la solución.
o Algoritmo narrado.
o Sintaxis en C#

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.

Resumiendo, el archivo comprimido se deberá llamar CARNET_LAB1.ZIP, el reporte tendrá el


nombre CARNET_ReporteLAB1.pdf, en donde reemplazará la palabra CARNET por su número de
carnet., y las carpetas serán nombradas Ejercicio1 y Ejercicio2.

1. Documento: Deberá de contemplar lo siguiente:


 Carátula
 Índice.
 Introducción

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.

a. Imagen de minerva es decir el logo de la UES, centrada en la parte superior.


b. Datos de la Universidad, Facultad, Carrera, Cátedra.
c. Titulo o tema.
d. Nombre de estudiante, seguido del carnet.
e. Asignatura.
f. Sede.
g. Grupo en aula virtual.
h. Tutor (a).
i. Ciclo y año.
j. Lugar y fecha.

El nombre del documento será CARNET_ReporteLAB1.pdf

FECHA ASIGNACION: 23 de abril de 2018 06:00 am


FECHA ENTREGA: 6 de mayo de 2018 11:55 pm

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

También podría gustarte