domingo, 27 de mayo de 2012

Taller 4


LOGICA Y ALGORITMIA
TALLER IV






TUTOR
 Luis Heladio Garzón Rodríguez



ALUMNO
                        Jorge Douglas Hernández Arias




INGENIERÍA DE SISTEMAS GRUPO 4










UNIVERSIDAD DEL TOLIMA
INSTITUTO DE EDUCACIÓN A DISTANCIA
Ibagué, Mayo de 2012









Preguntas Generadoras


Que ejemplo utilizaría para explicar que es una proposición?
En que casos de la vida cotidiana aplica las proposiciones?
Considere si una expresión puede ser una proposición?
Que aplicación tiene la lógica de proposiciones en la programación de soluciones a problemas?
Establezca una relación entre las proposiciones y las tablas de verdad? Como las utilizaría en un programa?
Como se puede evaluar una proposición para establecer el grado de verdad?
Utilizando una proposición identifique las partes que la componen?
Como puede elaborar expresiones aritméticas como proposiciones para evaluarlas lógicamente?
Actividades de Integración
Escribir proposiciones en castellano, luego simbolizarlas y por ultimo evaluar su grado de verdad.
Escribir proposiciones y elaborar su tabla de verdad.


































 Autor: Luis Heladio Garzón Rodríguez. TALLER No. 4
 OBJETIVO GENERAL
Llevar a la práctica los conocimientos adquiridos en los temas de Lógica de programación y Lógica proposicional.
OBJETIVOS ESPECIFICOS
                Elaborar o construir soluciones para los ejercicios propuestos.

TEMA: LOGICA DE PROGRAMACIÓN
La aplicación de estructuras condicionales, permite resolver problemas con un grado de complejidad que exige, que se refleje la toma de decisiones, por ello es necesario que haya revisado y domine las diversas formas de la estructura condicional. Ellas son Simple, Alterna y Anidada.
Como se pudo dar cuenta al preparar el tema las estructuras condicionales le permiten hacer una bifurcación en la escritura de la solución del problema, esto quiere decir que el problema le indica que se debe realizar una tarea determinada u operación cuando se cumple o se da cierta situación o evento, a esto se la llama cumplirse una condición (o cuando es validada como verdadera, 1) y otra tarea u operación cuando no se cumple (o cuando la validación de la condición es falsa , 0).
Las estructuras condicionales pueden ser simples o alternas. Simples las que NO tienen bifurcación o que tienen un bloque de instrucciones para ejecutar únicamente cuando la condición se evalúa como verdadera.
El enunciado del problema siempre proporcionara indicios que le sirven como criterios o restricciones en las que se puede presentar cierta situación. La identificación de si tiene que utilizar o no estructuras condicionales, debe surgir como resultado de un buen análisis.
Si (Condición) entonces
<Intrucciones>
Fin_Si
La estructura condicional alterna se aplica cuando se evidencia que se debe realizar un conjunto de instrucciones cuando se evalúa como verdadera la expresión condicional y otro conjunto de instrucciones cuando es falso.
Si (Condición) entonces
<Intrucciones>
si_no
<Instrucciones>
Fin_Si
Una variante utilizada en programación aplicando las estructuras condicionales alternas, cuando el programa así lo requiere, es la de las estructuras condicionales anidadas. Revise el tema y entienda en que casos debe ser aplicada ese tipo de estructura condicional. Autor: Resuelva los siguientes ejercicios en la misma secuencia en que aparecen.
Los siguientes ejercicios desarróllelos e inclúyalos con la solución de los ejercicios de PLOG_2 del taller 4.

Ejercicio 5.1 Suponga que en la Universidad del Tolima se concede descuento del 50% del valor de la matricula, a los estudiantes de estrato 1. La matricula equivale a un (1) salario mínimo mensual legal vigente (461,500.00) . Escriba un programa.
Aplique todos los pasos indicados en el capitulo 3 del Libro de Lógica y Técnicas de programación para escribir la solución a un problema.
1 Análisis:

Que me piden: Escribir un programa que muestre el valor a pagar de la matricula de un estudiante teniendo en cuenta que si es de estrato 1 tiene un descuento del 50%

Que me dan
- Valor de la matricula: $461500
- descuento 50%

 que necesito:

- Estrato del estudiante.

Como lo hago: evalúo si el estrato del estudiante es 1, si lo es entonces tomo el valor de la matricula y le hago el 50% de descuento.
para saber el valor del descuento, luego al valor de la matricula le resto el descuento para saber el valor que debe pagar:

vd = vm * des/ 100
tot= vm – vd
si no es cierto el valor a pagar es el valor de la matricula sin descuento.

2. Algoritmo descuento:
Inicio
1 conocer el  estrato.
2. si estrato igual a 1:
2.1 calcular valor del descuento y total a pagar
2.2 Mostrar valor matricula
sino
2.3 mostrar valor matricula y decir que no tiene descuento.
fin cond paso 2.
4. fin.

3. Declaración de variables y constantes:

Constantes: des 50, vm 461500
Variables de entrada: est (Entero)
proceso: vd, tot (real)

4. Programa en pseudolenguaje:

Programa descuento

         CONST
         des = 50
         vm = 461500

         VAR
         est entero
         vd, tot real
         Inicio
         escriba “ Estrato del Estudiante: “ lea est
         si est = 1     
                   vd=vm*des/100
                   tot=vm-vd
                   escriba “valor matrícula: “ , tot
                            sino:
                            escriba “Sin Descuento”
                            escriba “valor matrícula: “ , vm

         fin condicion1
fin.



Ejercicio 5.2 Suponga que en la Universidad del Tolima se concede descuento del 50% del valor de la matricula, a los estudiantes de estrato 1 y que su promedio académico en el semestre anterior halla sido superior o igual a 4-5. La matricula equivale a un (1) salario mínimo mensual legal vigente (461,500.00) . Escriba un programa

Paso 1
Analisis : automatizar la solución de ejecutar un descuento para la matricula de la universidad de los alumnos que tenga buen un  rendimiento de 4.5 de nota definitiva en el semestre hacia arriba  genere un descuento del 50% del valor de la matricula.
Que me piden : generar un descuento en la matricula para los alumnos de estrato 1 y  un promedio de 4.5 de nota definitiva.
Que me dan : el valor de la matricula el estrato social de estudiante y el promedio del estudiante y el porcentaje a descontar
Como lo hago : multiplicando el valor de la matricula por el descuento teniendo encuenta el promedio definitivo de un alumno en el semestre
Des = ((v_matri*0.50)*1)

Paso 2
Algoritmo descuento
1 inicio
2 conosco los datos de entrada
3 evaluo condicionalmente
4 proceso
5 mostrar el resultado
6  fin



Paso 3
Declaración de constantes y variables
Cons
C1 (461,500.00)
C2 4-5
C3 1
Var
Entrada  :Est , prom, nom_est
Proceso : desc
Salida : desc v_matri
Paso 4
Programa en seudo codigo
Programa decuentico
Cons
C1 (461,500.00)
C2 4-5
C4 = 0.50
Var
Est , prom, desc, nom_est
Inicio desc =0
Escriba “ nombre del estudiante: “, lea nom_est
Escriba “ estrato socioeconómico del estudiante”, lea Est
Escriba “escriba el promedio del estudiante “ lea prom



Si (est<=1 y prom >=4.5)
   Entonces (Des = ((c1*c4)*1))
  Sino (v_matri = (c1*1))
Fin_si
Escriba “ nombre del estudiante: “,  nom_est
Escriba” el valor de la matricula con descuento es : “,Des
Escriba “ el valor de la matricula es: “,v_matri
Fin

Paso 5
Prueba de escritorio
Est      prom   nom_esr  desc  v_matri
2          3.5      juan                0          461500


Ejercicio 5.3 En la Universidad del Tolima se concede descuentos para el pago de matricula considerando lo siguiente: a estudiantes de estrato 1 o 2 y con promedio de notas no inferior a 3.8 el 50%, estudiantes de estrato 3 el 30% si su promedio de notas es superior a 4.2. La matricula equivale a un (1) salario mínimo mensual legal vigente (461,500.00) . Escriba un programa.


Ejercicio 5.4 El almacén 3 X 1 solicita se le elabore un programa que facilite calcular el valor de una venta a partir del valor unitario, cantidad, tipo de producto (1. No grabado, 2. Grabado). Se debe tener en cuenta que el IVA se aplica según el tipo de articulo si es grabado se aplica el 16% de lo contrario no tiene IVA. (IVA porcentaje para calcular el impuesto de valor agregado a un producto, que se adiciona al valor unitario)

1. Análisis:
Determinar el valor del IVA de un producto dependiendo del tipo y valor unitario.

Que me piden?
Calcular el valor de una venta.

Que me dan?
Valor del IVA y el tipo de producto.

Como lo hago?
Saber el tipo de producto y el valor del IVA correspondiente, si es de tipo 2, multiplico el valor unitario por 16 y lo divido por 100, el resultado lo multiplico por la cantidad. Si es de tipo 1 multiplico el valor de la unidad por la cantidad.
TPRODUCT =<1^>2
((VUNIT*16)/100)*CANT
VUNIT*CANT

2. Algoritmo _ Venta
Inicio
1. Ingresar valor del producto.
2. Ingresar cantidad de producto.
3. Ingresar tipo de producto.
4. Conocer producto tipo de producto.
TPRODUCT =<1^>2
5. Calcular producto si es tipo 2
((VUNIT*16)/100)*CANT
6. Calcular producto si es tipo 1
VUNIT*CANT
7. Mostrar valor de la venta
Fin

3.Declaración de constantes y variables

Constante 16

Variables:
VUNIT =Real; CANT = Entero; TPRODUC = Real; TOTAL = Real;

4.Algoritmo_ Venta
Inicio
VUNIT=0; CANT=0; TPRODUC=0l; TOTAL=0;
Escriba “Digite valor unitario del producto”; Lea VUNIT;
Escriba “Digite cantidad de producto”; Lea CANT;
Escriba “Digite tipo d producto”; Lea TPRODUC;
Si
TPRODUC = 2
Entonces
TOTAL = ((VUNIT*16)/100)*CANT
Escriba “Total a pagar”; TOTAL;
SiNo
TPRODUC = 1
Entonces
TOTAL = VUNIT*CANT
ESCRIBA “Total a pagar”; TOTAL
SiNo
TPRODUCT <1^>2
Entonces
Escriba “El tipo de producto es desconocido”;
Fin Si
Fin Si
Fin Si
Fin

Solucione los ejercicios propuestos en el archivo PLOG_2 que encontrara en la carpeta ejercicios. En lo posible trate de codificar los programas del seudolenguaje al lenguaje C++ y grábelos en un diskette para trabajarlos durante la sesión 2 de Laboratorio. Los Ejercicios propuestos en este documento y en el documento PLOG_2, deben ser resueltos y colocados en aula virtual.
Resuelva los problemas de la hoja de problemas (debe bajar primero el documento de programas de la carpeta ejercicios nombrado PLOG_2).
1.    Resuelva los cuestionarios y preguntas de este archivo.
2.    Resuelva los problemas de programación del archivo PLOG_2, llegando hasta el quinto (4º.) paso, programa escrito en seudolenguaje.
3.    En lo posible trate de codificar los programas del seudo lenguaje al lenguaje C++ y grábelos en un diskette para trabajarlos durante la sesión de Laboratorio siguiente.
4.    Lo que tiene que enviar como solución al Taller 4, es lo indicado en los puntos 1 y 2 anteriores.

 

























 OBJETIVO GENERAL
Poner en practica los conocimientos teóricos en la solución de problemas de programación.
OBJETIVOS ESPECIFICOS
• Poner en práctica la metodología para solucionar problemas de programación.
• Aplicar las estructuras condicionales en la solución de problemas de programaciòn propuestos.

EJERCICIOS
Para solucionar los problemas de programación que se enumera a continuación, debe aplicar los pasos sugeridos para solucionar un problema de programación de la Unidad IV. Luego de escribir el 4º. Paso (programa en seudo lenguaje), haga la prueba de escritorio.
  1. Escriba un algoritmo que calcule el interés obtenido por una suma de dinero, para ello se debe ingresar por teclado la cantidad de dinero (mayor a cero), la tasa de interés (se debe validar que siempre sea mayor que 0), el tiempo en días (debe ser mayor a 0).



1. Analisis:
Escribir un programa que me calcule el interes obtenido por una suma de dinero.
Que me piden: Calcular el interes.
Que me dan: -Cantidad de dinero (mayor que 0)
-Tasa de interes (mayor de 0)
-Tiempo en dias (mayor de 0)
Como lo hago: Evalúo si los datos son mayores que 0 y mientras sean <= 0 pregunto ,luego para calcular el dinero ganado: tomo la cantidad de dinero y la multiplico por la tasa de interés dividida en 100 para saber cuanto interés gana en un mes (asumiendo que la tasa de interés dada es mensual, 30 días ), como ya tengo el interés ganado en un mes, lo multiplico por el numero de dias dividido en 30 que equivale al numero de días expresado en meses:
int=(cant*(tasa/100))*(dias/30)


2. Algoritmo calcularinteres

inicio
1. conocer cantidad de dinero >0
2. conocer tasa de interés > 0
3. conocer tiempo en días >0      
4. Mientras los valores <= 0 preguntar:
4.1 calcular interés obtenido
4.2 mostrar interés obtenido
fin mientras paso 4
5. fin.

3. Declaración de variables y constantes:

Variables: entrada: cant, tasa : real
días: entero
proceso: int :real


4. Programa en seudolenguaje

programa calcularinteres
var: cant, tasa, int : real
dias: entero
inicio
escriba “Los datos que ingrese deben ser mayor a cero .”
mientras cant <= 0
escriba “Cantidad de dinero: “ lea cant
mientras tasa <= 0

escriba “Tasa de interes mensual: “ lea tasa
mientras días  <= 0

escriba “tiempo en dias: “ lea dias

                                               fin_mientras
                        fin_mientras
fin_mientras


int=(cant*(tasa/100))*(dias/30)
escriba “El interes obtenido por el dinero es: “, int

fin.



2. Se ingresa por teclado los datos A, B y C, determine cual es el mayor.

Paso 1
Análisis : automatizar la solución de calcular 3 numeros cual es el mayor Que piden : mostar el resultado del cual numero es mayor
Que me dan : 3 numeros
Como lo hago : evaluando cada uno de los numero para deterinar cual es el mayor
   si (v1 >v2 y v1_t >v3)
       entonces valor mayor = v1    
Paso 2
Algoritmo intereses
1 conosco los valores
2 evaluo los valores
3 mostrar el resultado
4 fin
Paso 3
Declaración de constantes y variables
var
entrada A, B , C real
proceso A, B , C v_may
salida  v_may

paso 4
programa en seudo lenguaje
var
A, B , C v_may  real
real
inicio v_may=0
escriba “ingrese a  “ lea A
escriba “ingrese b  “ lea  B
escriba “ingrese c : “ lea C
   si (A >B y A >C)
        entonces  (valor mayor= A)
            sino
             si ( B >C)
                 entonces  (valor mayor= B)
                   sino (valor mayor = C)
        fin_si
fin_si
escriba “ el valor mayor es : “,v_may
fin

paso 5
prueba de escritorio
A,        B ,       C        v_may             
4          5          6              6                  


3. Se ingresa por teclado los datos A, B y C, determine cual es el mayor y cual el menor.
4. Se ingresa por teclado los datos A, B y C, determine cual es el mayor, el menor y el del medio.
1. Análisis:
Determinar entre tres números el mayor y le menor.

Que me piden?
Numero mayor y menor.

Que me dan?
A, B Y C.

Como lo hago?
Conociendo el valor de cada uno de los valores ingresados realizo A>B>C el mayor seria A, y el menor seria B, y el del medio C.


2. Algoritmo _ Valores
Inicio
1. Ingresar valor de A.
2. Ingresar valor de B.
3. Ingresar valor de C.
4. Determinar que si dos o los tres de los valores equivalen al mismo numero, se debe ingresar otro valor, porque ese seria no valido.
5. Determinar el mayor si A mayor que B y que C, entonces el mayor seria A, el menor C y el intermedio B.
6. Determinar si A mayor que C y que B, entonces el mayor seria A, el menor B y el intermedio C.
7. Determinar si B mayor que A y que C, entonces el mayor seria B, el menor C y el intermedio A.
8. Determinar si B mayor que C y que A, entonces el mayor seria B, el menor A y el intermedio C.
9. Determinar si C mayor que A y que B, entonces el mayor seria C, el menor B y el intermedio A.
10. Mostrar resultado.
Fin

3. Declaración de constantes y variables:

Variables:
A REAL
B REAL
C REAL

4. Algoritmo _ Valores
Inicio
A=0; B=0; C=0;
Escriba “Digite primer valor”; Lea A;
Escriba “Digite segundo Valor”; Lea B;
Escriba “Digite tercer valor”; Lea C;
Si
A = B v A = C v B = C
Entonces
Escriba “Debe digitar diferentes números”;
SiNo
A > B > C
Entonces
Escriba “Numero mayor es:”; A;
Escriba “Numero de la mitad es:”; B;
Escriba “Numero Menor es:”; C;
SiNo
A > C > B
Entonces
Escriba “Numero mayor es:”; A;
Escriba “Numero de la mitad es:”; C;
Escriba “Numero Menor es:”; B;
SiNo
B > A > C
Entonces
Escriba “Numero mayor es:”; B;
Escriba “Numero de la mitad es:”; A;
Escriba “Numero Menor es:”; C;
SiNo
B > C > A
Entonces
Escriba “Numero mayor es:”; B;
Escriba “Numero de la mitad es:”; C;
Escriba “Numero Menor es:”; A;
SiNo
C > A > B
Entonces
Escriba “Numero mayor es:”; C;
Escriba “Numero de la mitad es:”; A
Escriba “Numero Menor es:”; B;
SiNo
Entonces
Escriba “Numero mayor es:”; C;
Escriba “Numero de la mitad es:”; B;
Escriba “Numero Menor es:”; A;
Fin Si
Fin Si
Fin Si
Fin Si
Fin Si
Fin Si
Fin Si
Fin


5. Escriba un programa que acepte la entrada de un número entero y se determine si es par o impar.
1. Analisis:
Que me piden: Determinar si un numero es entero, luego si es par o impar.
Que me dan: un número entero.
Como lo hago: para evaluar si el numero es par o impar, hago la operación numero modulo 2, si el resultado es 1 es impar y si el resultado es 0 es par.

res= num mod 2
si res=1
el numero es impar
si no
si res=0
el numero es entero par
fin si
fin si


2. Algoritmo numeroparimpar:
inicio
1. conocer numero
2. calcular resultado de numero mod 2
3. evaluar el resultado obtenido, para concluir si el numero es un par, impar o real, mostrar resultados.
fin

3. Declaracion de variables:
var: entrada: num : real
proceso: res : real

4. Programa en seudolenguaje:

programa numeroparimpar
var: num, res : real
inicio
escriba: “ingrese numero: “ lea num
res= num mod 2
si res=1
escriba “el numero es entero impar”
si no
si res=0
fin si
fin si
fin.



6. Calcular la edad de una persona a partir de los datos de la fecha de nacimiento.
7. Calcular la raíz cuadrada para un numero positivo dado por teclado. Mostrar el resultado obtenido.
8. Elabore un programa que permita realizar una suma o resta de dos números ingresados por teclado, según se obtenga respuesta a la petición de tipo de operación, en un mensaje al que debe responder S o N.
1. Análisis:
Elaborar una operación determinada por el usuario.

Que me piden?
Sumar o restar y dependiendo de la orden mostrar S o N.

Que me dan?
Dos números

Como lo hago?
Ingresando los dos números, le doy instrucciones al usuario de escoger la opción sumar o restar, dependiendo de esa operación se le debe mostrar S o N.

2. Algoritmo _ Suma Resta
Inicio
1. Ingresar el primer número.
2. Ingresar el segundo número.
3. Escribir la opción para sumar digite 1 y restar digite 2
4. Si escoge la opción 1, entonces sume el primer numero+segundo numero.
5. Si escoge la opción 2, entonces reste el primer numero-segundo número.
6. sino debe escribir una opción valida.
7. Mostrar resultados.
Fin

3. Declaración de constantes y variables:

Variables:

NUM1 REAL
NUM2 REAL
OPC CADENA
TORAL REAL


4. Algoritmo _ Suma y Resta
Inicio
NUM1=0; NUM2=0; OPC=0; TOTAL=0;
Escriba “Digite el primer número”; Lea NUM1;
Escriba “Digite el segundo número”; Lea NUM2;
Escriba “Elija una opción, para sumar digite 1 y restar digite 2”; LEA OPC;
SI
OPC = 1
Entonces
TOTAL = NUM1+NUM2;
Escriba “El resultado es:”; TOTAL;
SINO
OPC = 2
Entonces
TOTAL = NUM1 – NUM2;
Escriba “El resultado es:”; TOTAL;
SINO
Escriba “Debe ingresar una opción valida”;
FIN SI
FIN SI
FIN SI
Fin

9. A partir de dos números dados calcular el cociente y el residuo de su división, luego mostrar el resultado e indicar si el valor del residuo es par o impar.

1. Analisis:

Que me piden: calcular el cociente y el residuo de la division de dos numeros, determinar si el residuo es par o impar y mostrar resultados.

Que me dan: dos numeros: num1 y num2, enteros y num1 debe ser mayor que num2.

Como lo hago: mientras divisor <=0 o (divisor>dividendo), pregunto y leo dividendo y divisor, luego hago los cálculos asi:
Para saber si el numero es par  dividendo mod 2, si resultado 1 es impar, de lo contrario par
Residuo =dividendo mod divisor
Cociente =dividendo/divisor
Muestro los resultados

Fin



2. Algoritmo cocienteyresiduo

inicio:
1. conocer dividendo ( los numeros deben ser enteros)
2. conocer divisor  (debe ser menor que numero1 y debe ser diferente de 0)
3. evaluar si los datos de entrada son correctos, calcular su cociente, calcular su residuo, determinar si el residuo es par o impar, mostrar resultados.
fin

3. Declaracion de variables:

entrada: dividendo, divisor : real
proceso: res1, coci, resi :real

4. Programa en seudolenguaje:

programa cocienteyresiduo
var: dividendo, divisor, res1, res2, coci, resi, pp, : real
escriba “ingrese 2 numeros el segundo debe ser diferente de 0 y menor que el
primero”
mientras divisor = 0 o (divisor >dividendo)
escriba “ingrese dividendo: “ lea dividendo
escriba “ingrese divisor. “ lea divisor

fin_mientras
res1=dividendo mod 2
resi=dividendo mod divisor
coci=dividendo/divisor

escriba “el cociente de la division es: “,coci
escriba “el residuo de la division es: “,resi
           
si res1=1 entonces
escriba “El residuo es impar”
sino
escriba “El residuo es par”
finsi
fin.

10. Elabore un programa para validar la entrada del dato sexo. Los valores permitidos son M o F, minúsculas o mayúsculas. Según sea el valor se debe mostrar el Letrero Masculino o Femenino, si no es ninguna de estas dos letras debe mostrar un mensaje de Equivocación.
11. Un Almacén por departamentos requiere un programa para validar la entrada de los códigos de departamento, son ocho, numerados de 1 a 8. Al validar cada código se debe mostrar el nombre del departamento: 1 Cristalería, 2 Ferretería, 3Ropa, 4 Rancho y Licores, 5 Granos, 6 Carnes y Lácteos, 7 Verduras, 8 Deportes. Si se ingresa un valor errado se debe mostrar un mensaje de advertencia.
12. El departamento de matemáticas de la UT requiere un programa para realizar operaciones de calculo, las opciones son: suma, multiplicación, resta, división utilizando el operador /, división utilizando DIV, división utilizando MOD, Raíz cuadrada, exponenciación. El usuario debe elegir que operación desea realizar. Tenga en cuenta validar para las operaciones diferentes a suma y multiplicación, que el primer valor sea mayor que el segundo valor, de lo contrario no se debe permitir realizar la operación y se tiene que mostrar un mensaje en pantalla.
1. Análisis:
Crear una calculadora con las funciones básicas, y validar así las operaciones con un identificador pero teniendo en cuenta que el primero valor debe de ser mayor que le segundo.

Que me piden?
Realizar operaciones básicas de una calculadora.

Que me dan?
Las operaciones que debe de realizar la calculadora.

Como lo hago?
Ingresando dos numero, teniendo en cuenta que le primero sea mayor que le segundo, sino, entonces muestre un mensaje en pantalla, si los números son bien dados, escoja una de las opciones que se le dan con los identificadores.

2. Algoritmo _ calculadora
Inicio
1. Digite numero 1
2. Digite numero 2
3. SI el numero 1 es mayor que el 2
4. Escriba 1 Para sumar escriba
5. Escriba 2 para restar
6. Escriba 3 para multiplicar
7. Escriba 4 para dividir
8. Escriba 5 para división modular
9. Escriba 6 para modular
10. Escriba 7 para raíz cuadrada
11. Escriba 8 para exponente
11. Escriba digite el número de la operación a realizar
12. Si escoge la opción 1 NUM1 + NUM2
13. Si escoge la opción 2 NUM1 - NUM2
14. Si escoge la opción 3 NUM1 * NUM2
15. Si escoge la opción 4 NUM1 / NUM2
16. Si escoge la opción 5 NUM1 DIV NUM2
17. Si escoge la opción 6 NUM1 MOD NUM2
18. Si escoge la opción 7 Ö NUM1
19. Si escoge la opción 8 NUM1²
20. Mostrar resultados.
Fin

3. Declaración de constantes y variables:

Variables:

NUM1 REAL
NUM2 REAL
OPC CARÁCTER
TOTAL REAL

4. Algoritmo _ calculadora
Inicio
NUM1 = 0; NUM2 = 0; NUM = 0; TOTAL=0;
Escriba “Digite primer numero”; Lea NUM1;
Escriba “Digite primer numero”; Lea NUM2;
Escriba “Para sumar escriba 1”;
Escriba “Para restar escriba 2”;
Escriba “Para multiplicar escriba 3”;
Escriba “Para división escriba 4”;
Escriba “Para división entera escriba 5”;
Escriba “Para modular escriba 6”;
Escriba “Para raíz cuadrada escriba 7”;
Escriba “Para exponente escriba 8”;
Escriba “Digite el numero de la operación a realizar”; Lea OPC;
SI
OPC = 1
Entonces
TOTAL = NUM1 + NUM2;
Escriba “El resultado es:”; TOTAL;
FIN SI
SINO
OPC = 2 ^ NUM1 > 2
Entonces
TOTAL = NUM1 - NUM2;
Escriba “El resultado es:”; TOTAL;
SINO
Escriba “El primer numero debe ser mayor que el segundo”;
FIN SI
FIN SI
SINO
OPC = 3
Entonces
TOTAL = NUM1 * NUM2;
Escriba “El resultado es:”; TOTAL;
FIN SI
SINO
OPC = 4 ^ NUM1 > 2
Entonces
TOTAL = NUM1 / NUM2;
Escriba “El resultado es:”; TOTAL;
SINO
Escriba “El primer numero debe ser mayor que el segundo”;
FIN SI
FIN SI
SINO
OPC = 5 ^ NUM1 > 2
Entonces
TOTAL = NUM1 DIV NUM2;
Escriba “El resultado es:”; TOTAL;
SINO
Escriba “El primer numero debe ser mayor que el segundo”;
FIN SI
FIN SI
SINO
OPC = 6 ^ NUM1 > 2
Entonces
TOTAL = NUM1 MOD NUM2;
Escriba “El resultado es:”; TOTAL;
SINO
Escriba “El primer numero debe ser mayor que el segundo”;
FIN SI
FIN SI
SINO
OPC = 7
Entonces
TOTAL = Ö NUM1;
Escriba “El resultado es:”; TOTAL;
FIN SI
SINO
OPC = 8
Entonces
TOTAL = NUM1²;
Escriba “El resultado es:”; TOTAL;
FIN SI
FIN

13. En una tienda de videos se realiza una promoción para ciertos géneros de película, así: Suspenso 10% descuento, Drama paga una lleva dos, Romántica 30% descuento, Humor pague dos lleve cuatro. Los géneros se codifican: 1 Suspenso, 2 Drama, 3 Romántica, 4 Humor. El valor del alquiler de una película es $ 1200.oo. El programa debe calcular el valor a pagar por el cliente.


1. ANALISIS
Hacer un programa que pueda dar el valor de las películas según su género.
Que tengo? La codificación de los géneros y el valor del alquiler.
Que necesito? Saber el valor a pagar según la promoción.
Como lo hago? Estableciendo el valor del alquiler de acuerdo a cada caso
Precio del alquiler= 1200.00 -

2. ALGORITMO películas
INICIO
1. Conocer género
3. Calcular el valor del alquiler de una película menos la promoción
4. Mostrar precio de alquiler
FIN_ALGORITMO

3. DEFINICION Y DECLARACION DE VARIABLES CONSTANTES

Var: Entrada: genero: cadena
Proceso: valor: real

4. PROGRAMA películas
Var: genero, valor, pel; Reales
INICIO
Escriba “genero [1suspenso, 2drama, 3romántica, 4humor]”Lea genero

Si genero = 1 entonces
Escriba “ para suspenso la promoción es de 10% “
Si genero = 2 entonces
Escriba “ Drama paga 1 lleva 2 “
Si genero = 3 entonces
Escriba “Romantica 30% “

si genero = 4 entonces
Escriba “Humor pague 2 lleve 4 “
Sino escriba “opción errada”
                                               Finsi
                                 Finsi
                        Finsi
            finsi

Escriba “digite el numero de las películas”Lea cant


Si genero = 1 entonces
Descuen=( valor*cant)10/100
Neto =(valor*cant) – descuen

Si genero = 2 entonces

                     Residuo = cant mod 2

                                   Mientras residuo = 1
                                               Escriba “puede llevar una película mas en la promoción” lea cant
  Descuen=( valor*cantl)/2
                       Neto =(valor*cant) – descuen
                        
                                   Fin_mientras

                               Si genero = 3 entonces
                Descuen=( valor*cant)30/100
                Neto =(valor*cant) – descuen
                          

si genero = 4 entonces
Escriba “Humor pague 2 lleve 4, escriba múltiplo de 4 “lea cant
Residuo = cant mod 4
Mientras  residuo <> 0
          Entonces escriba “introduzca bien la cantidad                             para la promoción”
Fin_mientras
      Descuen=( valor*cantl)/2
                         Neto =(valor*cant) – descuen
                        



Sino escriba “opción errada”
                                               Finsi
                                 Finsi
                        Finsi
            finsi

escriba “valor a pagar por el cliente : “ neto
fin

5. PRUEBA DE ESCRITORIO
Suspenso = 1200.00 - 10%= 1080.00
Drama =1200.00
Romántica = 1200.00 – 30% = 840.00
Humor = 1200.00 * 2 = 2400.00


14. Una empresa de viajes prepara un plan para excursiones con descuentos novedosos, para ello diseño la siguiente escala para grupos: Grupos de 15 a 20 personas tendrán un descuento del 10% del valor del tiquete, grupos hasta de 40 personas un descuento del 15% del valor del tiquete, grupos hasta 60 personas un descuento del 15% del valor del tiquete y una bonificación del 60% de un salario mínimo diario. Escriba un programa para calcular el valor que debe pagar una persona de acuerdo al grupo de personas con que viajara y la bonificación a que tiene derecho. Un salario mínimo legal mensual es de $ 322,000.oo.
15. La empresa de renta de vehiculos Rent a Naves cobra de acuerdo a la cantidad de kilómetros recorridos por el arrendatario, descontándolo de un monto dejado al recibir el vehículo, que puede ser 1:Moto o 2:Auto. Para ello tiene la siguiente tabla para liquidar el cobro: Para vehículos tipo 1 menos de 50 Kms $ 30,000, hasta 100 kms $ 60,000, mas de 100 Kms 60,000 mas un incremento de $ 500 pesos por km adicional; para vehículos tipo 2 menos de 70 Kms $ 50,000, entre 71 y 110 Kms $ 90,000, hasta 200 Kms $ 150,000, mas de 200 Kms 150,000 mas $ 3000 por Km adicional. Escriba un programa que liquide el valor que debe pagar una persona por el alquiler teniendo en cuenta la base dejada debe indicar si le sobra dinero o cuanto le falta.
16. Elabore un programa en el que se lea una temperatura en Grados centígrados (entre -15 y 120, el sistema debe rechazar cualquier valor que no este en este rango) y se indique el equivalente en grados kelvin y Fahrenheit.
1. Análisis:
Calculan en grados centígrados y en Fahrenheit entre -15 y 120.

Que me piden?
Grados centígrados y Fahrenheit.

Que me dan?
Grados centígrados y Fahrenheit

Como lo hago?
Ingresando un valor de grados centígrados que se encuentre comprendido entre -15 y 120, y si no lo esta lo rechace, si este si se encuentra en este rango entonces
Que lo convierta a grados kelvin y Fahrenheit.

2. Algoritmo _ grados
Inicio
1. Ingresar una temperatura dada en grados centígrados comprendida entre -15 y 120, sino esta entre este rango no la acepte.
2. Calcular grados Fahrenheit si los grados centígrados ingresados están entre -15 y 120.
3. Calcular grados kelvin si los grados centígrados ingresados se encuentran entre -15 y 120.
4. Mostrar resultados.
Fin

3. Declaración de constantes y variables:

Constantes:

FC = 32
FK = 273
FF = 9/5

Variables:

GK REAL
GF REAL
GC REAL

4. Algoritmo _ grados
Inicio
GK = 0; GF = 0; GC = 0;
Escriba “Digite cantidad de grados centígrados”; Lea GC;
SI
GC < -15 ^ > 120
Escriba “El numero ingresado no se encuentra en el rango”;
FIN SI
SINO
Entonces GK = FK + GC;
GF = (FF * GC) + FC;
Escriba “La cantidad en grados kelvin es:”; GK;
Escriba “La cantidad en grados Fahrenheit:”; GF;
FIN SI
FIN

No hay comentarios:

Publicar un comentario