Está en la página 1de 15

UNIVERSIDAD DE EL SALVADOR

FACULTAD DE INGENIERIA Y ARQUITECTURA


ESCUELA DE INGENIERIA DE SISTEMAS INFORMATICOS
INTRODUCCION A LA INFORMATICA

Ciclo I - 2015

GUIA DE TRABAJO No. 4


"Lgica Estructurada: Decisiones o Estructuras Selectivas"
Objetivos:

Evaluar expresiones lgicas, utilizando la Jerarqua General de Operadores.

Aplicar las Estructuras Selectivas en la solucin de problemas.

Practicar la sintaxis del lenguaje C, en flujogramas con estructuras Selectivas Simples,


Dobles, Anidadas y Mltiples, empleando como herramienta el entorno de desarrollo de
Dev-C++ 4.9.9.2

Tiempo de duracin: 2 semanas


Semana 1
Indicaciones generales:

Leer el material de la Unidad IV y tratar de comprender los ejemplos y si se tienen dudas


consultarlas previamente.

De la parte I, de la gua de la gua de trabajo N 4, desarrolle nuevamente paso y paso


el ejemplo aplicando la jerarqua de los operadores y si tiene dudas en el laboratorio se
le aclara oportunamente, lo mismo se har con el ejercicio de la Parte II.

Traer el formato para desarrollar sus ejercicios de aplicacin de la metodologa para


resolver problemas.

Metodologa:
La sesin de discusin se desarrollar de la siguiente forma:

El instructor le indicar a los alumnos que formen parejas para que trabajen en resolver la
gua.

En la parte I, el instructor comentar el ejercicio resuelto, aclarando dudas al respecto y le


indicar a los alumnos 2 ejercicios a resolver de los propuestos.

En la parte II, el ejercicio consiste en revisar y comprender la solucin del enunciado que
aparece como ejemplo, y que ha sido resuelto utilizando la Metodologa para resolver
problemas.
La prueba lgica de la solucin, se les muestra para tengan una idea de cmo realizar la
comprobacin manual de su solucin.

Finalmente, el instructor indicara a los alumnos, 2 ejercicios para que lo resuelvan en el


resto de la sesin de laboratorio.

Ciclo_I 2015

PARTE I.
Evaluacin de Expresiones lgicas.
1. Ejemplo: Utilizando la jerarqua general de los operadores, evale la siguiente expresin,
considerando F: Falso C: Cierto
( 3 % 5 * 5 >= 7 % 2 - 5) || !( 4 + 8 / 2 >= 7 - 2 % 3 ) && (2 % 5 - 3 <= 25 % 7 )
Paso 1: (
Paso 2: (
Paso 3: (
Paso 4: (
Paso 5: (
Paso 6:
Paso 7:
Paso 8:
Paso 9:
Paso 10:
Paso 11:
Paso 12:
Paso 13:
Paso 14:
Paso 15:
Paso 16:
Paso 17:
Paso 18:

3 % 5 * 5 >= 7 % 2 - 5)
3 * 5 >= 7 % 2 - 5)
15 >= 7 % 2 - 5)
15 >= 1 - 5)
15 >= - 4 )
C
C
C
C
C
C
C
C
C
C
C
C
C

||
||
||
||
||
||
||
||
||
||
||
||
||
||
||
||
||

!( 4 + 8 / 2 >= 7 - 2 % 3 ) && (2 % 5 - 3 <= 25 % 7 )


!( 4 + 8 / 2 >= 7 - 2 % 3 ) && (2 % 5 - 3 <= 25 % 7 )
!( 4 + 8 / 2 >= 7 - 2 % 3 ) && (2 % 5 - 3 <= 25 % 7 )
!( 4 + 8 / 2 >= 7 - 2 % 3 ) && (2 % 5 - 3 <= 25 % 7 )
!( 4 + 8 / 2 >= 7 - 2 % 3 ) && (2 % 5 - 3 <= 25 % 7 )
!( 4 + 8 / 2 >= 7 - 2 % 3 ) && (2 % 5 - 3 <= 25 % 7 )
!( 4 + 4 >= 7 - 2 % 3 )
&& (2 % 5 - 3 <= 25 % 7 )
!( 4 + 4 >= 7 - 2 )
&& (2 % 5 - 3 <= 25 % 7 )
!( 8 >= 7 - 2 )
&& (2 % 5 - 3 <= 25 % 7 )
!( 8 >= 5 )
&& (2 % 5 - 3 <= 25 % 7 )
!C
&& (2 % 5 - 3 <= 25 % 7 )
!C
&& ( 2 - 3 <= 25 % 7 )
!C
&& ( 2 - 3 <= 4 )
!C
&& ( - 1 <= 4 )
!C
&& C
F
&& C
F

2. Ejercicios Propuestos: Evale las siguientes condiciones.


a) 6 >= 3

b) 2 != 3

c) 2 <= 3

d) 2 * 8 == 13 + 3

e) 2 3 > 3 - 2

f) 4 2 < 6 / 2

g) pow(2,2) 4 * 1 * 3 >= 0

h) 2 * 1 != 0

i) sqrt(49) + abs(-2) 5 % 2 > = 45/5

j) 2 > 3 && 2==3 || 2 < 3 && !(3 >4)

k) !(4 == 0) && !(pow(2,2) 4*3*2<0)

l) !(pow(4, 3) < 7%3) && !(2-2 == 0)

m) ( (n1 >= 0) && (n1<= 10) ) || ((n2 >= 0) || (n2 <= 10)) , donde n1 = 6 y n2 = -8
n) (x * 5 + pow(b, 2)/ 4) <= (pow(x,2) / b) , donde x = 6 y b = 7
o) ! (( 7 * 3 % 2 *4) > ( 15 / 3 * 6 >= 15 * 2 / 30 == 15))

PARTE II.
Aplicacin de Estructuras Selectivas.
1. Revise la solucin del siguiente ejercicio, prubelo y corrobore los resultados.

Ciclo_I 2015

ENUNCIADO:
"Disee una solucin que dada una cantidad en dlares (USD), le permita tener la opcin de
conocer su equivalente ya sea en:
Colones costarricenses (CRC)
Lempiras hondureos (HNL)
Quetzales guatemaltecos (GTQ) o
Crdobas nicaragenses (NIO).
Sabiendo que:
Un Dlar equivale a: 496.7 Colones costarricenses, 18.895 Lempiras, 7.6045 Quetzales y
22.2250 Crdobas."

SOLUCION:
I. Planteamiento del problema
Datos de Entrada

Datos de Salida

Cantidad en Dlares
Moneda a la que se convertir:
Equivalencia $1 = 496.7 CRC
Equivalencia $1 = 18.895 HNL
Equivalencia $1 = 7.6045 GTQ
Equivalencia $1 = 22.2250 NIO

Equivalente en la Moneda elegida

II. Anlisis del problema


a. Definicin de Variables de Salida
Nombre
Moneda_E

Tipo
Real

Descripcin
Contiene el valor obtenido como equivalente a la Moneda
convertida

b. Definicin de Datos de Entrada


b.1) Variables
Nombre
Moneda
Opcion

Tipo
Real
Entera

Descripcin
Contiene el Valor de la cantidad dada en dlares
Contiene el valor a tomar por el selector en la estructura de
decisin:
1 Colones, 2 Lempiras,
3 Quetzales, 4 Crdoba

b.2) Constantes
Nombre
CC
LE

Real

Descripcin
Contiene el valor equivalente en Colones
Costarricenses
Contiene el valor equivalente en Lempiras

QU

Real

Contiene el valor equivalente en Quetzales

7.6045

CO

Real

Contiene el valor equivalente en Crdobas

22.2250

Ciclo_I 2015

Tipo
Real

Valor
496.7
18.895

c. Restricciones:
Moneda > 0,
Opcion >= 1 && Opcion <= 4
d. Proceso:
Asignar:
CC = 496.7
LE = 18.895
QU = 7.6045
CO = 22.2250
Tomando en cuenta la restriccin:
Es (Moneda > 0) && ( Opcion >= 1 && Opcion <= 4)?
SI:
Es Opcion == 1?
SI:
Moneda_E = Moneda * CC
Desplegar Dolares , Moneda, Son en Colones Costarricenses, Moneda_E
NO:
Es Opcion == 2?
SI:
Moneda_E = Moneda * LE
Desplegar Dolares, Moneda, Son en Lempiras, Moneda_E
NO:
Es Opcion == 3?
SI:
Moneda_E = Moneda * QU
Desplegar Dolares, Moneda, Son en Quetzales, Moneda_E
NO:
Moneda_E = Moneda * CO
Desplegar Dolares, Moneda, Son en Crdobas
,Moneda_E

NO:
Desplegar ERROR EN DATOS DE ENTRADA!!!
e. Definicin de Variables de Proceso
NO SE UTILIZAN
III. Diseo de la Solucin
Flujograma

Ciclo_I 2015

Inicio

CC = 496.7
LE = 18.895
QU = 7.6045
CO = 22.2250

Digite la cantidad
en dlares a
convertir

Moneda

Elija la moneda a la que


se convertir:
1. Colones costarricenses
2. Lempiras
3. Quetzales
4. Cordobas

Opcion

No

(Moneda > 0) &&


(Opcion >=1 &&
Opcion <=4)

Si

ERROR EN DATOS
DE ENTRADA!!!

FIN

Ciclo_I 2015

1
No
No

Opcion == 1

Si

Si

Moneda_E=Moneda * CC

Si

Moneda_E=Moneda * LE

Moneda, Dolares,
equivalen a, Moneda_E,
Colones costarricenses

Moneda_E=Moneda * CO

Moneda_E=Moneda * QU

Moneda, Dolares,
equivalen a, Moneda_E,
Lempiras

Moneda, Dolares,
equivalen a, Moneda_E,
Cordobas

Moneda, Dolares,
equivalen a, Moneda_E,
Quetzales

No

Opcion == 2

Opcion == 3

Ciclo_I 2015

Prueba Lgica: Ejecute el programa tomando en cuenta los siguientes


datos: 7.50, 4
Zona de memoria (RAM)
CC

LE

QU

CO

Moneda

Opcion

Moneda_E

496.7

18.895

7.6045

22.2250

7.50

168.69

Zona de Proceso (ALU)


(Moneda > 0) && (Opcion >=1 && Opcion <=4)?
(7.50 > 0)&&(4>=1&&4<=4)
C&&(4>=1&&4<=4)
C&&(C&&4<=4)
C&&(C&&C)
C&&(C&&C)
C&&C
Cierto
Si:
Opcion == 1?
4 == 1 Falso
No:
Opcion == 2?
4 == 2 Falso
No:
Opcion == 3?
4 == 3 Falso
Si:
Moneda_E= Moneda * CO

Zona de Salida
Digite la cantidad en dlares a convertir
7.50
Elija la moneda a la que se convertir:
1. Colones costarricenses
2. Lempiras
3. Quetzales
4. Cordobas
4
7.50 Dolares equivalen a 168.69 Cordobas

Moneda_E = 7.50 * 22.2250


Moneda_E = 166.69
2. Ejercicios Propuestos.
Indicacin:
Disee un flujograma, para cada uno de los siguientes enunciados, utilizando la Metodologa
para resolver problemas (Planteamiento, Anlisis, Flujograma, Prueba Lgica ).
1. Disee una solucin que permita leer dos nmeros y determinar el nmero mayor, el
nmero menor o un mensaje de que los nmeros son iguales.
2. Dados tres nmeros enteros muestre cual es el nmero mayor y el nmero menor.
3. Disee una solucin que lea un nmero entero, verifique si es par o impar e indique con
un mensaje el resultado.
Ciclo_I 2015

4. Dadas las coordenadas de un punto en el plano cartesiano, despliegue un mensaje


indicando en que cuadrante se encuentra, si est en el eje de las x, de las y, en el origen.
5. Disee una solucin que determine si un ao es bisiesto. Un ao es bisiesto si es mltiplo
de 4 (por ejemplo 1984). Sin embargo, los aos mltiplos de 100 slo son bisiestos cuando
a su vez son mltiplos de 400 (por ejemplo, 1800 no es bisiesto, mientras que 2000 si lo es).
6. Dado como dato la nota de ciclo de un alumno, disee una solucin que determine si el
alumno aprob o reprob, siendo la nota mnima de aprobacin 6.0.
7. Dado como dato el CUM de carrera de un alumno de la UES, determine si el
alumno ha ganado o no la calidad de EGRESADO, siendo la nota mnima para egresar 7.0
si no cumple el requisito deber CURSAR ASIGNATURAS.
8. En la Facultad de Ingenieria y Arquitectura, los alumnos que obtengan una nota de ciclo
entre 5.0 y 5.94 inclusive, tienen derecho a realizar un examen de Suficiencia con el cual
tiene la opcin de aprobar la asignatura. Disee una solucin que permita conocer a partir
de la nota de ciclo si el alumno califica para hacer el examen de Suficiencia o no, y sino si el
alumno aprob o reprob.
9. En un almacn se hace un 10% de descuento a los clientes solo si la compra es mayor a
$100.00. Calcule cunto tendr que pagar una persona por su compra.
10. En un cine se hace un 50% de descuento en el valor de la entrada a las personas mayores
de 60 aos y a los menores de 18 aos, el resto de personas paga el monto sin descuento.
Dadas la edad de la persona y el precio del boleto, calcule cunto pagar una persona por
su entrada.
11. Dados el nombre del cliente, y el valor de la compra, calcule el monto a pagar considerando
lo siguiente:
Si la compra es menor o igual a $75.00, NO tiene descuento.
Si la compra es mayor de $75.00, tiene un descuento del 5%
Si la compra es mayor de $150.00, tiene un descuento del 10%
Se deber imprimir el nombre del cliente, el valor de la compra y el monto real a pagar.
12. Se desea calcular el sueldo de un trabajador, teniendo las horas trabajadas durante la
semana y la clase de puesto que desempea, disee la solucin que permita desplegar los
datos del empleado y su sueldo semanal, sabiendo que el trabajador clase A se le paga
$7.00/hora, la clase B $8.50, la clase C $10.00 y la clase D $12.50.
13. Una tienda vende Agua embotellada en garrafones de 5 galones, a un precio de $2.00 la
unidad. Si la compra es de 10 menos unidades no se hace descuento, pero si es de ms
de 10 unidades, las primeras 10 cuestan el precio establecido, las dems tienen un 10% de
descuento. Si la compra es mayor de 30, obtiene un 30% de descuento tomando como base
el precio establecido, exclusivamente sobre las que pasen de 30. Dado el nmero de
unidades que compra un cliente, calcule e imprima el total de la compra, el descuento, y el
total a cancelar por la compra.

Ciclo_I 2015

14. Dados como datos el nombre, la categora y el sueldo de un trabajador, calcule e imprima el
valor del bono navideo que le corresponde, tome en cuenta la siguiente tabla:

CATEGORIA
1
2
3
4

BONO (%)
30
15
8
5

15. En una tienda se efectan descuentos a los clientes dependiendo del valor de la compra.
Los descuentos se aplican de acuerdo con los siguientes rangos:
Si el monto es menor a $100.00 , no hay descuento
Si el monto va de $100.00 a $ 500.00 no inclusive, 5%
Si el monto va de $500.00 a $ 1000.00 no inclusive, 10%
Si el monto es de $1000.00 o ms, 20%
Dado el nombre del cliente y el monto de la compra, imprima el nombre, el descuento
aplicado (si hay) y el total a pagar.
16. En una tienda se efectan descuentos a los clientes dependiendo del valor de la compra.
Los descuentos se aplican de acuerdo con los siguientes rangos:
Tipo de producto
A
B
C

Forma de Pago
1 Crdito
2 Contado
1 Crdito
2 Contado
1 Crdito
2 Contado

Descuento
5%
7%
10%
14%
20%
28%

Dado el tipo de producto, forma de pago y el monto de la compra, despliegue el total a


pagar por la compra.

17. Una empresa tiene un programa de incentivos para sus empleados por medio de
bonificaciones mensuales, dependiendo del mes del ao en que se est y el salario del
empleado. En Enero la bonificacin es de 10% del salario; en Febrero y Abril de 3%, en
Mayo es del 20%, en Junio y Julio de 2%, en Agosto de 5%; de Septiembre a Noviembre es
de 6% y en Diciembre de 35%. Calcular el monto de la bonificacin para un empleado, dado
su nombre, salario y el mes en que la recibir.
18. En una ffbrica de computadoras se planea ofrecer a los clientes un descuento que
depender del nmero de computadoras que compren. Si las computadoras son menos de
100 se les da un 10% de descuento sobre el total de la compra; si el nmero de
computadoras es mayor o igual a 100 pero menor que 200 se les otorga un 20% de
descuento; y si son 200 ms se les da un 40% de descuento. Dado el precio por unidad
de la computadora, calcule e imprima, el descuento y el valor real a pagar.
Ciclo_I 2015

19. Un banco que otorga prestamos personales esta interesado en una solucin para lo
siguiente: dados el nombre, el tipo de empleado y el salario, calcule e imprima el monto y el
plazo mximo del prstamo.
TIPO EMPLEADO
1. Pblico
2. Privado
3. Independiente

Monto (Veces el salario)


10
7
5

Plazo (Aos)
7
5
3

20. Una empresa vende a sus clientes mayoristas con tres formas de pago (vase tabla). Dado
el monto de la compra y el tipo de pago, aplique el descuento recargo correspondiente,
calcule e imprima el total a pagar.
TIPO PAGO
Contado
Cheque
Crdito

Descuento (%)
25
15
10

Recargo (%)
0
2
4

21. En el auto lote Los Fantsticos se tiene una promocin, en la cual dependiendo de la
marca del carro, as se le aplican los impuestos y el descuento a la hora de la compra.

1
2
3
4

Marca
Toyota
Chevrolet
Ford
Hyundai

Impuestos
5%
7%
4%
8%

Descuentos
10 %
15 %
20 %
30 %

Disee una solucin que permita imprimir la marca del vehiculo que compra, el precio
original, los impuestos de compra y el precio final de compra.

Semana 2

"Programas con Estructuras Selectivas"


Objetivos:

Practicar la sintaxis del lenguaje C, en flujogramas con estructuras Selectivas Simples,


Dobles, Anidadas y Mltiples, empleando como herramienta el entorno de desarrollo de
Dev-C++ 4.9.

Metodologa:
La sesin de laboratorio se desarrollar de la siguiente forma:

En la parte I, los alumnos codificarn el programa que corresponde al ejemplo desarrollado


en la gua de trabajo N 4.

En la parte II, los alumnos codificarn los flujogramas de los dos ejercicios resueltos en la
sesin anterior.

Ciclo_I 2015

10

En la parte III, los alumnos codificarn un flujograma de los 3 propuestos.

Finalmente, el instructor le indicar a los alumnos 3 ejercicios de la gua de trabajo N 4


para ser resueltos en su casa aplicando la metodologa de solucin de problemas hasta la
fase IV de Diseo de solucin y la codificacin respectiva, para ser presentado en la
prxima sesin de laboratorio.

Esta tarea tendr que ser entregada en la semana del 4 al 9 de mayo, en sus respectivos
grupos de laboratorio, al no ms entrar y en pareja.
Formato de entrega:
. Una hoja que contiene:
Los nombres y carnet de los alumnos
El grupo de laboratorio
El nombre del instructor
.
.

El enunciado y desarrollo hasta flujograma en el formato proporcionado por la catedra.


El cdigo deber ser impreso y debern colocarle como mensaje sus datos dentro del
programa; as:
/* Nombre del primer alumno Juan Carlos Alas Dimas
Carnet: #####
Nombre del segundo alumno Esteban Melara Cartagena
Carnet: ##### */

Ciclo_I 2015

11

PARTE I.
CODIFICACIN DEL EJEMPLO RESUELTO EN LA GUA DE TRABAJO N 4.
Indicacin: Digitar el siguiente programa, guardarlo como F:\ EJ01_G6.CPP, compilar y
ejecutarlo para verificar resultados.
#include <stdio.h>
#include <conio.h>
#define CC 496.7
#define LE 18.895
#define QU 7.6045
#define CO 22.2250

//definicion de constantes

main()
{
float Moneda, Moneda_E;
int Opcion;
puts("Digite la cantidad en Dolares a convertir: $");
scanf("%f", &Moneda);
puts("Elija la moneda a la que se convertir:");
printf("\n 1. Colones Costarricenses ");
printf("\n 2. Lempiras");
printf("\n 3. Quetzales");
printf("\n 4. Cordobas");
printf("\nSu opcion es:\n");
scanf("%d", &Opcion);
if ((Moneda > 0) && (Opcion >= 1 && Opcion <= 4)) // Restriccion
{
if (Opcion == 1)
{
Moneda_E = Moneda * CC;
printf("\n*** Cantidad en Dolares: %.2f \n*** Cantidad en Colones Costarricenses: %.2f", Moneda, Moneda_E);
}
else
if (Opcion == 2)
{
Moneda_E = Moneda * LE;
printf("\n*** Cantidad en Dolares: %.2f \n*** Cantidad en Lempiras: %.2f", Moneda, Moneda_E);
}
else
if (Opcion == 3)
{
Moneda_E = Moneda * QU;
printf("\n*** Cantidad en Dolares: %.2f \n*** Cantidad en Quetzales: %.2f", Moneda, Moneda_E);
}
else
{
Moneda_E = Moneda * CO;
printf("\n*** Cantidad en Dolares: %.2f \n*** Cantidad en Cordobas: %.2f", Moneda, Moneda_E);
}
}
else // De la Restriccin
printf("\n \n ERROR EN DATOS DE ENTRADA !!!");
getch();
return 0;
}

Ciclo_I 2015

12

PARTE II.
EJERCICIOS RESUELTOS.
Indicacin: Codificar los flujogramas de los ejercicios que resolvi en la discusin anterior y
gurdelos con nombres adecuados (por ejemplo F:\ EJ02_G6.CPP, F:\ EJ03_G6.CPP, F:\
EJ07_G6.CPP, etc.), luego compilarlos y probar su correcto funcionamiento.

PARTE III.
FLUJOGRAMAS A CODIFICAR.
Indicacin: Codificar los siguientes flujogramas en el entorno de desarrollo de Dev-C++,
compilarlos y ejecutarlos con datos que permitan comprobar el buen funcionamiento de la
solucin.

1)

Guardar como:
F:\ EJ04_G4.CPP
Use datos enteros

INICIO

Digite dos
nmeros enteros
positivos

n1, n2

NO

SI
n1 > 0 && n2 > 0

NO

Error de
datos

SI
n1 == n2

NO

SI
n1 > n2

El primero es
menor que el
segundo

Ambos son
iguales

El primero es
mayor que el
segundo

FIN

Ciclo_I 2015

13

2)

Guardar como:
F:\ EJ05_G4.CPP
Donde:
Sal_act, Aum, Nue_Sal son reales

INICIO

A1 = 0.25
A2 = 0.20
A3 = 0.10

Digite el
Salario Actual:

Sal_act

No

Si

Sal_act > 0

No

No

Sal_act < 501

Sal_act < 201

Si

Si

Aum = Sal_act *
A1

Aum = Sal_act *
A2

Aum = Sal_act *
A3

ERROR EN
SALARIO
Nue_Sal = Sal_act
+ Aum

El Nuevo Salario
es:, Nue_Sal

FIN

Ciclo_I 2015

14

3)
INICIO

Guardar como:
F:\ EJ06_G4.CPP

Digite el tipo y el
precio del par de
zapatos a
comprar

Donde: tz es entero,
p y pvf son reales

tz, p

NO

SI
p>0

Error de
datos

NO

SI

tz == 1 ||
tz == 2 ||
tz == 3

Error de
dato de tipo
de zapato

tz
1

des = p * 0.10

des = p * 0.20

des = p * 0.30

pvf = p - des

p, des, pvf

FIN

Ciclo_I 2015

15

También podría gustarte