Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Apuntes3 CONDICIONALES
Apuntes3 CONDICIONALES
Forma1. SI-SINO-FINSI
SINO
FIN SI
FORMA 2. SI –FINSI
FIN SI
Antes de hacer algoritmo, repasemos algunos temas necesarios para entender las
expresiones condicionales y por ende la Primitiva SI.
T← 10
Z← - 5
X ← 100
COMPOSICION (Se EJEMPLO Resultado
puede comparar:)
VARIABLE contra T > 100 Falso( 10 no es mayor que 100)
CONSTANTE
VARIABLE contra X < = Z Falso( 100 no es menor o igual a
VARIABLE -5
VARIABLE contra T >= X-Z Falso( 10 no es mayor o igual que
EXPRESIÓN 105)
EXPRESIÓN contra X – T > 0 Verdadero( 90 es mayor que 0)
CONSTANTE
EXPRESIÓN contra T+ Z = X Falso( 5 no es igual a 100)
VARIABLE
EXPRESION contra (T+100 >= X+Z) Verdadero( 110 es mayor ó igual a
EXPRESIÓN 95
CONSTANTE contra -10 < Z Verdadero ( -10 es menor que -5)
VARIABLE
CONSTANTE contra (90 < X-T+Z) Falso (90 no es menor que 85)
EXPRESIÓN
2.- ^ La exponenciación
4.- +, -, And
Una expresión lógica, es lo mismo que una expresión booleana y lo mismo que una
expresión condicional, el resultado de estas expresiones es VERDADERO o FALSO. No te
dejes confundir.
EJERCICIO.
Cuál es el resultado de las siguientes expresiones boolena?. Suponiendo que se tiene
las siguientes variables con sus respectivos valores.
a=10 b= 12 c=100 d=300
Si (a= b) , el resultado de esta expresión es falso porque a no es igual a b, a
vale 10 y b vale 12
Si (a<b y c<d) el resultado es verdadero porque se cumplen las dos
condiciones.
INICIO
Reales: Nota1, Nota2, DEF
Escriba “Digite su nota en el I parcial”
Lea Nota1
Escriba “Digite su nota en el II parcial”
Lea Nota2
DEF ← Nota1*0.60 + Nota2*0.40
Escriba “Su definitiva fue de:”, DEF
FIN
INICIO
Reales: Nota1, Nota2, DEF
Escriba “Digite su nota en el I parcial”
Lea Nota1
Escriba “Digite su nota en el II parcial”
Lea Nota2
DEF ← Nota1*0.60 + Nota2*0.40
Si (DEF >= 2.95) entonces
Escriba “Aprobó la asignatura con una nota de:”, DEF
Sino
Escriba “Reprobó la asignatura con una nota de:”, DEF
Fin-si
FIN
Con los datos anteriores cuando se ejecuta la primitiva Si, el algoritmo evalúa la
condición y como la variable DEF es mayor o igual que 2.95, la condición es
Verdadera. Entonces, escribe: Aprobó la asignatura con una nota de: 3.1
1. Hacer un algoritmo que lea dos números y escriba cual es el mayor. Suponga que
los números son diferentes.
INICIO
Reales A, B
ESCRIBA "Digite un número"
LEA A
ESCRIBA "Digite otro número"
LEA B
SI ( A > B ) ENTONCES
ESCRIBA "El mayor es el número", A
SINO
ESCRIBA "El mayor es el número", B
FIN-SI
FIN
INICIO
Reales totalventas, comi
ESCRIBA "Digite el total de ventas del empleado "
LEA totventas
SI ( totventas > = 5000000 ) ENTONCES
comi = totventas * 5 / 100
SINO
comi = totventas * 3 / 100
FIN-SI
ESCRIBA “La comisión del empleado es: ”, comi
FIN
INICIO
Real sal
Enteros: años
ESCRIBA "Digite el salario del empleado "
LEA sal
ESCRIBA "Digite el número de años trabajados "
LEA años
SI (años > 10 ) ENTONCES
bon = sal * 20 / 100
ESCRIBA “El salario es : ”, sal, “La Bonificacion es:”, bon
FIN-SI
FIN
4. Hacer un algoritmo que lea el nombre del empleado, su salario básico por hora y el
número de horas trabajadas. Calcular el salario bruto, retención en la fuente y el
salario neto teniendo en cuenta para el cálculo de la retención lo siguiente:
i. Para salario bruto $1.500.000 a $3.000.000 la retención es de 5%
ii. Mayor de $3.000.000 la retención es de 8%
iii. Menor de $1.500.000 no hay retención.
Escriba Nombre del empleado, salario bruto, valor de retención y salario neto.
Primitiva Si - Fin-si.
Forma de la Primitiva
Si (Expresión Lógica) entonces
Instrucción(es)
Fin-si
La Primitiva Si - Fin-si. Funciona de la siguiente forma, si el resultado de la
( Instrucción Condicional) es verdadero se realiza la Instrucción o las Instrucciones
que se encuentran dentro del Si, pero si el resultado es falso se ejecutan la Instrucción
que se encuentran después del Fin-si.
Para el algoritmo que estamos revisando, suponga que el profesor decide premiar los
estudiantes que tienen la definitiva mayor de 4.7 y colocarles 5.0.
INICIO
Numericas Nota1, Nota2, DEF
Escriba “Digite su nota en el I parcial”
Lea Nota1
Escriba “Digite su nota en el II parcial”
Lea Nota2
DEF ← Nota1*0.60 + Nota2*0.40
Si (DEF > 4.7) entonces
DEF ← 5.0
Fin-si
Escriba “La definitiva es: “, DEF
FIN
Dentro de un Si pueden existir otros Si, a este tipo de ejercicios se les llama Si
anidados.
5. Hacer un algoritmo que dado los tres lados de un triángulo, diga si este es
equilátero, escaleno o isósceles.
Solución No. 1
INICIO
Reales Lado1, Lado2, Lado3
ESCRIBA "Digite los tres lados del triangulo"
LEA Lado1, Lado2, Lado3
SI (Lado1 = Lado2) Entonces
SI (Lado2 = Lado3) Entonces
ESCRIBA "El triangulo es equilátero"
SINO
ESCRIBA "El triangulo es Isósceles"
FIN-SI
SINO
SI (Lado1 = Lado3) Entonces
ESCRIBA "El triangulo es Isósceles"
SINO
SI (Lado2= Lado3) Entonces
ESCRIBA "El triangulo es Isósceles"
SINO
ESCRIBA "El triangulo es Escaleno"
FIN-SI
FIN-SI
FIN-SI
FIN
INICIO
Reales Lado1, Lado2, Lado3
ESCRIBA "Digite los tres lados del triangulo"
LEA Lado1, Lado2, Lado3
SI ( ( Lado1 = Lado2 ) y (Lado2 = Lado3 ) ) ENTONCES
ESCRIBA "El triangulo es equilátero"
SINO
SI (Lado1 = Lado2 ó Lado2 = Lado3 ó Lado3 = Lado1) ENTONCES
ESCRIBA "El triangulo es isósceles"
SINO
ESCRIBA "El triangulo es escaleno"
FIN-SI
FIN-SI
FIN.
INICIO
Reales Lado1, Lado2, Lado3
ESCRIBA "Digite los tres lados del triangulo"
LEA Lado1, Lado2, Lado3
SI ( Lado1 = Lado2 Y Lado2 = Lado3 ) ENT
ESCRIBA "El triangulo es equilátero"
FIN_SI
Si (Lado1 = Lado2 O Lado2 = Lado3 O Lado3 =Lado1) ENT
ESCRIBA "El triangulo es isósceles"
FIN-SI
Si (Lado1 <> Lado2 Y Lado2 <> Lado3 ) ENT
ESCRIBA "El triangulo es Escaleno"
FIN-SI
FIN.
Diseñar un algoritmo que lea dos números reales, los cuales representan las
coordenadas (x, y) de un punto del plano. El algoritmo deberá determinar el número
del cuadrante (1, 2, 3, ó 4) al que pertenece el punto, o un cero si este último se haya
situado en uno de los ejes o en el origen de coordenadas. Observa el gráfico
Para resolver este problema teniendo en cuenta la metodología sugerida:
Entrada:
Necesita dos números que representarían las coordenadas de un punto del plano.
Como el algoritmo debe ser general pedimos al usuario dos valores numéricos y
los almacenamos en dos Variables que las identificaremos como x e y.
Salida
El algoritmo deberá determinar mostrar por pantalla el número del cuadrante (1, 2,
3, ó 4) al que pertenece el punto, o un cero si este punto se haya situado en uno
de los ejes o en el origen de coordenadas.
Procedimiento:
INICIO
Reales : x,y
Escriba “Digite dos valores correspondientes a la coordenada en X y la
coordenada en el eje Y:”
Lea x,y
Si (x>0 y y>0)
Escriba “ El punto está ubicado en el I Cuadrante”
Si-no
Si (x<0 y y>0)
Escriba “ El punto está ubicado en el II Cuadrante”
Si-no
Si (x<0 y y<0)
Escriba “ El punto está ubicado en el III Cuadrante”
Si-no
Si (x>0 y y<0)
Escriba “El punto está ubicado en el IV Cuadrante”
Si-no
Si ( x=0 y y=0)
Escriba” El punto está en el origen
Si-no
Si ( x=0)
Escriba “ el punto está sobre el eje de las
y”
Si-no
Escriba “ el punto está sobre el eje de las x”
Fin-si
Fin-si
Fin-si
Fin-si
Fin-si
Fin-si
FIN
X Y Escribe
5 7 El punto está ubicado en el I cuadrante
X Y Escribe
-5 -7 El punto está ubicado en el III cuadrante
X Y Escribe
-5 7 El punto está ubicado en el II cuadrante
X Y Escribe
5 -7 El punto está ubicado en el IV cuadrante
X Y Escribe
0 0 El punto está en el origen
X Y Escribe
0 7 El punto esta sobre el eje y
X Y Escribe
5 0 El punto esta sobre el eje x
Realice una prueba de escritorio al siguiente algoritmo y escriba cual es la
diferencia con la solución anterior?
SOLUCION 2
Inicio
Reales: x,y
Escriba “Cuáles son las coordenadas de x y de y)?”
Lea x,y
Si (x= 0 y y= 0)
Escriba “ Punto ubicado en el origen
Si-no
Si (x= 0 o y=0)
Escriba” Punto ubica en los ejes”
Si-no
Si (x>0 )
Si (y>0)
Escriba “ El punto está ubicado en el I Cuadrante”
Si-no
Escriba “ El punto está ubicado en el IVCuadrante”
Fin-si
Si-no
Si (y>0)
Escriba “ El punto está ubicado en el II Cuadrante”
Si-no
Escriba “ El punto está ubicado en el III Cuadrante”
Fin-si
Fin-si
Fin-si
Fin-si
FIN
Observa OTRA solución al mismo algoritmo y concluya cuál es la diferencia y que
solución sería la mejor y porque?
INICIO
Si (x= 0 y y= 0)
Escriba “ Punto ubicado en el origen
Fin-si
Si (x= 0 o y=0)
Escriba” Punto ubica en los ejes”
Fin-si
Si (x>0 ) y (y>0)
Escriba “ El punto está ubicado en el I Cuadrante”
Fin-si
Si (x<0 ) y (y>0)
Escriba “ El punto está ubicado en el II Cuadrante”
Fin-si
Si (x<0 ) y (y<0)
Escriba “ El punto está ubicado en el IIICuadrante”
Fin-si
Si (x> 0 y y<0)
Escriba “ El punto está ubicado en el IV Cuadrante”
Fin-si
FIN
LA PRIMITIVA DEPENDIENDO DE (DD)
La instrucción Dependiendo De es utilizada para realizar los menús de opciones y
para simplificar algunas instrucciones Si anidadas. NO TODOS LOS SI ANIDADOS
SE PUEDEN IMPLEMENTAR POR DEPENDIENDO DE.
Forma1
DD (expresión) HAGA
valor 1: Bloque de instrucciones 1
valor 2: Bloque de instrucciones 2
··
·
valor n: Bloque de instrucciones n
FIN-DD
FORMA 2
DD (expresión) HAGA
valor 1: Bloque de instrucciones 1
valor 2: Bloque de instrucciones 2
·
··
valor n: Bloque de instrucciones n
SINO
Bloque de instrucciones
FIN-DD
EJEMPLOS
Suponga que el sueldo básico de los trabajadores es Sueldo = ht * 2500+5000 donde
ht son las horas trabajadas. Al sueldo debe descontarse una cuota de seguro social,
este descuento varía de acuerdo con el tipo de empleado asegurados según la tabla.
TIPO DESCUEN
TO
1 $3000
2 $2000
3 $1500
4 $1000
Diseñe un algoritmo que dadas las horas de trabajo y el tipo de empleado calcule el
sueldo que se debe pagar a un empleado asegurado.
INICIO
Enteras: tipo, sal, Descu
ESCRIBA “ Digite número de horas trabajadas”
LEA ht
ESCRIBA “Digite el tipo de empleado”
LEA tipo
DD tipo HAGA
1: Descu = 3000
2: Descu = 2000
3: Descu = 1500
4: Descu = 1000
FIN-DD
sal = ht * 2500 + 5000 - Descu
ESCRIBA "El salario a pagar es: ", sal
FIN
Hacer un algoritmo que realice las siguientes operaciones de acuerdo a la elección del
usuario:
Peri ← 5 * lado1
Area ← Peri *apotema/2
Escriba “El área del Pentagono es:”, Area
Escriba “ El perímetro es: , Peri
Fin_DD
FIN
1 Suma de 2 números.
2 Resta de 2 números.
3 Multiplicación de 2 números.
4 División de 2 números si se puede.
5. Leer un número mas de los dos anteriores y ordenarlos
Inicio:
Var Num1, Num2, Num3, Res : Reales
EJERCICIOS:
TEMA A
Prueba de escritorio:
INICIO
Enteras: Lado1, Lado2, Lado3, a, b,c, t
Logicas: p
Lado1← 4
Lado2← - 5
Lado3← 6
a← lado1
b← lado2 Lado1 Lado2 Lado3 a b c t p
c← - lado3
Si (a > b) ent
t← a
a←b
b← t
Fin-Si
Si (a <= - c) ent
t←a
a← - c
c←t
Sino
t←b
b← c
c← - t
Fin-Si
c ← c+2
t ← t+a
s ← NO (a%7 >b) o ( Lado 2 = c) y (t+c < a)
Escriba a, b, c, lado1, lado2, t, c
FIN
TEMA B
INICIO
Enteras: Lado1, Lado2, Lado3, a, b,c, t
Logicas: p
Lado1← 6
Lado2← 4
Lado3← -5
a← lado1
b← lado2 Lado1 Lado2 Lado3 a b c t p
c← - lado3
Si (a > b) ent
t← a
a←b
b← t
Fin-Si
Si (a <= - c) ent
t←a
a← - c
c←t
Sino
t←b
b← c
c← - t
Fin-Si
c ← c+2
t ← t+a
s ← NO (a%7 >b) o ( Lado 2 = c) y (a < t+c)
Escriba a, b, c, lado1, lado2, t, c
FIN