Algoritmo Parte 2 Condicionales (1)

  • Upload
    andiblv

  • View
    133

  • Download
    0

Embed Size (px)

Citation preview

UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANAPROYECTO DE CARRERA: ING. INDUSTRIALASIGNATURA: COMPUTACION IPROF(A): INES DOTTOR

12.2.- Las estructuras condicionales comparan una variable contra otro(s) valor(es), para que en base al resultado de esta comparacin, se siga un curso de accin dentro del programa. Cabe mencionar que la comparacin se puede hacer contra otra variable o contra una constante, segn se necesite.

Existen cuatro tipos bsicos, las simples, las dobles, anidadas y las mltiples.

Simples: Las estructuras condicionales simples se les conoce como Tomas de decisin. Estas tomas de decisin tienen la siguiente forma: Si entonces Finsi

En la estructura de seleccin simple SI, evala una condicin lgica y: Si la condicin es verdadera se ejecuta la accin A. La accin A puede ser una accin simple (una sola accin) o una accin compuesta (un conjunto de acciones). Si la condicin es falsa, no se hace nada

Diagrama de Flujo

Pseudocdigo (accin simple) SI( condicin )entonces accin APseudocdigo (accin compuesta)SI( condicin )entonces accin A1 accin A2 . . accin AnFinSi

Por ejemplo, si se desea cambiar el signo de un nmero nicamente en caso que sea negativo, podemos escribir:SI( numero < 0 ) entonces numero = -1 * numeroSi el nmero no es negativo, simplemente esta estructura se pasara por alto y se continuara en la siguiente instruccin despus del SI.

Dobles: Las estructuras condicionales dobles permiten elegir entre dos opciones o alternativas posibles en funcin del cumplimiento o no de una determinada condicin. Se representa de la siguiente forma: Si entonces Sino FinsiDonde:SiIndica el comando de comparacin

CondicinIndica la condicin a evaluar

entoncesPrecede a las acciones a realizar cuando se cumple la condicin

instruccionesSon las acciones a realizar cuando se cumple o no la condicin

SinoPrecede a las acciones a realizar cuando no se cumple la condicin

Fin_SIFin de la condicional

Dependiendo de si la comparacin es cierta o falsa, se pueden realizar una o mas acciones.

La estructura de seleccin doble SI - SINO evala una condicin lgica y: Si la condicin es verdadera, ejecuta la accin A. Si la condicin es falsa, ejecuta la accin B. Tanto la accin A como la accin B pueden ser acciones simples (una sla accin) o acciones compuestas (un conjunto de acciones).

Diagrama de Flujo

Pseudocdigo (acciones simples) SI(condicin)entoncesaccinASINO accin BFINSIPseudocdigo (acciones compuestas)SI( condicin )entonces accin A1 accin A2 . accin AnSINO accin B1 accin B2 . accin BnFINSI

Por ejemplo, si se desea saber si una persona es mayor o menor de edad, podemos escribir:SI( edad >= 18 ) entonces IMPRIMIR "Mayor de edad" SINO IMPRIMIR "Menor de edad"FinSI

Esto imprime "Mayor de edad" si la persona tiene 18 aos ms e imprime "Menor de edad" si la persona tiene menos de 18 aos. En cualquiera de los casos, despus de efectuar la impresin, se ejecutar la primera instruccin que sigue a la estructura SI...SINO.

Operadores Lgicos, Relacionales y AlgebraicosPara expresar condiciones como en el caso de las condiciones de las estructuras selectivas, se requieren de operadores relacionales y operadores lgicos, que se muestran en las tablas 1 y 2, respectivamente. Dichas condiciones solo puede tomar uno de los siguientes valores: verdadero o falso.

Tabla 1 Operadores relacionalesOperadorSignificado

>mayor

>=mayor o igual que

0) ) entonces IMPRIMIR "El nmero es par positivo" SINO IMPRIMIR "El nmero no es par positivo"FINProceso

* Anidadas: Se trata de condiciones que hacen parte de otra. Para cumplirse una condicin debe hacerse cumplido la anterior y as sucesivamente, o sea una condicin dentro de la otra. La forma es la siguiente: Si entonces Si entonces Si entonces Varias condiciones FinSi

Se dice que una estructura SI ( o SI-SINO ) esta anidada cuando esta contenida dentro de otra estructura SI o dentro de otra estructura SI-SINO. No existe lmite en cuanto al nivel de anidamiento. Por ejemplo, una estructura SI con tres niveles de anidamiento tendra el siguiente formato:

SI condicin C1 entonces accin A1 SI condicin C2 entonces accin A2 SI condicin C3 entonces accin A3 FinSI FinSIFinSI

En general, el anidamiento podra evitarse usando el operador lgico "y". As, la anterior seleccin SI anidada puede descomponerse en tres estructuras de seleccin simple no anidadas consecutivas, como se muestra a continuacin.

SI condicin C1 entonces accin A1SI condicin C1 y condicin C2 entonces accin A2SI condicin C1 y condicin C2 y condicin C3 entonces accin A3 Ejemplo 3:- Disee un algoritmo que lea un nmero de tres cifras y determine si es o no capica. Un nmero es capica si es igual al revs del nmero.

Observacin Observe que al ser el nmero de tres cifras, para ser capica es suficiente comprobar que la cifra de las unidades sea igual a la cifra de las centenas. Proceso Capica Defnumero, unidad,centena: ENTERO Inicio LEER numero SI (numero >= 100 y numero hacer < numero1>: < mumero1, numero2 >: < > De otro modo .FinSegun

Esta instruccin permite ejecutar opcionalmente varias acciones posibles, dependiendo del valor almacenado en una variable de tipo numrico. Al ejecutarse, se evala el contenido de la variable y se ejecuta la secuencia de instrucciones asociada con dicho valor.

Cada opcin est formada por uno o ms nmeros separados por comas, dos puntos y una secuencia de instrucciones. Si una opcin incluye varios nmeros, la secuencia de instrucciones asociada se debe ejecutar cuando el valor de la variable es uno de esos nmeros.

Opcionalmente, se puede agregar una opcin final, denominada De Otro Modo, cuya secuencia de instrucciones asociada se ejecutar slo si el valor almacenado en la variable no coincide con ninguna de las opciones anteriores.

Ejemplo 4: Leer a; Segun a Hacer 0,1,2,3: Escribir "Desaprobado"; 4,5,6: Escribir "Condicional"; 10: Escribir "Excelente!"; De Otro Modo: Escribir "Aprobado"; FinSegun

Ejercicios resueltos

1.- Realizar un algoritmo en donde se pide la edad del usuario; si es mayor de edad debe aparecer un mensaje indicndolo. Expresarlo en Pseudocdigo

Pseudocdigo:

Diagrama de Flujo:

2:- Considerando que las estaciones del ao se numeran como 1 para primavera, 2 para verano, 3 para otoo y 4 para invierno; disee un algoritmo que determine el nombre de la estacin del ao conociendo el nmero de la estacin. Proceso Cinco Defnumero: ENTERO nombre: alfanumricoInicio LEER numero SEGN numero hacer 1 : nombre = "Primavera"2 : nombre = "Verano"3 : nombre = "Otoo" 4 : nombre = "Invierno" FinSegun Escribir nombreFIN

3.- Expresar las siguientes condiciones como expresiones lgicas:a. B es mayor que 2.b. M es menor igual que 5 pero mayor que 25.c. P es igual a 6 mayor que Q.d. N es par menor que 50.e. M es mayor que A, B y C.f. Z esta en el intervalo de 4 a 100.g. T es igual a 2, 3 4.

Solucion::a. B > 2 b. ( M 25 ) c. ( P == 6 ) o ( P > Q ) d. ( ( N MOD 2 = 0 ) y ( N < 50 ) e. ( M > A ) y ( M > B ) y ( M > C ) f. ( Z >= 4 ) y ( Z edad2 imprimir ( nombre1, es mayor )6. si edad2 > edad1 imprimir ( nombre2, es mayor)7. Si edad1 = edad2 imprimir (Edades iguales)8. Fin

2. En una Granja existen N conejos, N1 blancos y N2 negros. Se venden X negros y Y blancos.Hacer un algoritmo que:a) Imprima la cantidad de conejos vendidab) Si P1 es el precio de venta de los conejos blancos y P2 es el precio de venta de los conejos negros, imprima el monto total de la venta.c) Imprima el color de los conejos que se vendieron mas.Solucin:1. Inicio2. Leer datos: N, N1,N2,X,Y,P1,P23. Calcular la cantidad de conejos vendida: CCV = X + Y4. Imprimir la cantidad de conejos vendida: Imprimir CCV5. Calcular el monto de la venta: MVenta = X * P2 + Y * P16. Imprimir monto de la venta: Imprimir MVenta7. Si X > Y entoncesImprimir Se vendieron mas conejos negrosen otro casoImprimir Se vendieron mas conejos blancos8. Fin

3. Elaborar un algoritmo que lea el importe bruto de una factura y determine el importe neto segn los siguientes criterios: Importe bruto menor de 20.000 -> sin descuento Importe bruto mayor de 20.000 -> 15% de descuentoSolucin:1. Inicio2. Leer importeb3. Calcular descuento:Si importeb >= 20000 entoncesdescuento =importeb * 0.15;en otro casodescuento = 0finsi4. Calcular monto total de la factura:total:=importe descuento5. Escribir total6. fin

4. Un decreto presidencial permite el aumento del 10& a aquellos trabajadores que ganen el sueldo mnimo oficial (Sueldomo). Hacer un algoritmo que lea el sueldo de un trabajador e imprima el sueldo a devengar, despus del decreto.

Solucin:InicioLeer sueldotSi sueldot = sueldomo entoncessueldot = sueldot + (sueldomo*0,10)Imprimir sueldoFinEJERCICIOS PARA RESOLVER

1.- Desarrolle un algoritmo que permita determinar si un nmero dado es par, impar o cero.

2.- Desarrolle un algoritmo que le permita determinar el nmero medio de tres nmeros. El nmero medio es aquel que no es el mayor ni el menor

3.- Un joyero tiene una promocin del 10 % de descuento sobre las ventas de 20.000 Bs., pero si las ventas son menores a 20000 Bs., el descuento ser del 5%.. Elaborar un algoritmo que calcule el monto a pagar por el cliente.

4.- Realice un algoritmo que solicite un dos enteros, correspondientes al largo y ancho de un rectngulo. Si resulta ser un cuadrado, escriba slo su permetro, en caso contrario, escriba el permetro y el rea

5.- Dados 3 nmeros, informarlos en orden creciente.

6.- De una prueba de nivel realizada a un alumno se conoce la cantidad total de preguntas realizadas y la cantidad de respuestas correctas. Informar el nivel registrado de acuerdo a la siguiente escala :- Muy Bueno si el porcentaje es mayor o igual a 90% ;- Bueno entre 70% y 90% ;- Regular entre 50% y 70% ;- Malo si el porcentaje es menor que 50%.

7.- Considerando que las estaciones del ao se numeran como 1 para primavera, 2 para verano, 3 para otoo y 4 para invierno; disee un algoritmo que determine el nombre de la estacin del ao conociendo el nmero de la estacin

8.-Lea el salario de un empleado y calcule el aguinaldo que se le asignar. Si el salario es menor a $ 100.000 se le pagar un 30% del sueldo, como aguinaldo, en caso contrario se le pagar un 20% del sueldo, como aguinaldo

9.- Calcule el total a pagar por la compra de camisas. Si se compran tres camisas o ms se aplica un descuento del 20% sobre el total de la compra y si son menos de tres camisas un descuento del 10%.

10.- Dada la duracin en minutos de una llamada calcular el costo, considerando?-Hasta tres minutos el costo es 0.50-Por encima de tres minutos es 0.50 ms 0.1*cada minuto adicional a los tres primeros

11.- Escribir un algoritmo que lea los datos siguientes: Nombre, edad, sueldo por hora, horas trabajadas por mes, nmero de hijos, aos de antigedad en el trabajo. Y que determine cual es el sueldo de la persona entrevistada con edad a mayor de 40 aos, tienen entre 1 y 2 hijos inclusive y con antigedad superior a 10 aos. .

12.- La compaa Automovilstica Venezolana, premia anualmente a sus mejores vendedores, de acuerdo a la tabla siguiente: Ventas Comisin sobre ventas totales 1.000.000 < = V < 3.000.000 3 % 3.000.000 < = V < 5.000.000 4 % 5.000.000 < = V < 7.000.000 5 % V > = 7.000.000 6 % Escribir un algoritmo que lea las 3 primeras ventas de un vendedor. Imprima la comisin anual que le corresponde al vendedor.

13.- Imprimir el mensaje Es un numero. mayor a 100 y es par, cuando un numero ledo por teclado sea mayor a 100 y par. Y Es un numero. mayor o igual a cero cuando no.

14.-Escribir un algoritmo que lea el salario de un empleado y calcule el nuevo sueldo de acuerdo a la siguiente tabla. Sueldo Reajuste %0 - 100.000 15101.000 - 200.000 12201.000 - 250.000 10

15.- Dado el monto de una compra calcular el descuento considerado - descuento es 10% si el monto es mayor a 100 bolvares- descuento es 15 % si el monto es mayor a 50 bolvares y menor o igual a 100 bolvares- no hay descuento si el monto es menor o igual a 50

16.- Desarrolle un algoritmo para leer el nombre de un empleado, el salario bsico por hora y el nmero de horas trabajadas durante una semana. Calcule el salario neto, teniendo en cuenta que si el nmero de horas trabajadas durante la semana es mayor de 40 horas, esas horas dems se consideran horas extras y tienen un recargo del 35%. Imprima el nombre del empleado y su salario neto.