PROGRAMACIÓN 2
MODULO 2
ACTIVIDAD 1
INTRODUCCIÓN A CONDICIONALES
CONDICIONALES SIMPLES
Concepto de condicionales
Los condicionales son estructuras que nos permiten controlar
el flujo de un programa mediante una condición que nosotros
como programadores establecemos.
Esta condición debe ser booleana y debe brindar como
resultado: Verdadero o Falso.
Los condicionales simples se definen de la siguiente manera:
Si condición Entonces
//instrucción/es
FinSi
Proceso Nombre Algoritmo
Definir x Como Entero
“Ingrese un numero”
F V
x>100
X, “es mayor a 100”
FinProceso
Ej: Si estamos en un supermercado y al último momento nos damos
cuenta de que nos faltó comprar un producto, nos preguntamos si el
dinero que nos quedó será suficiente para poder adquirirlo. Si fuera
suficiente, lo compramos, del contrario no lo hacemos y finalizamos
la compra.
Representando en una estructura condicional:
Si dinero >= precioProducto Entonces
comprarProducto
FinSi
Consigna
Desarrollar un pequeño sistema que permita el ingreso de 5
números y que por pantalla nos muestra cual es el mayor. Se
debe imprimir un mensaje con la repuesta correspondiente.
1 Entender
2 Analizar
3 Desarrollar
INTRODUCCIÓN AL OPERADOR MOD
Concepto:
El operador mod, es el resto de la división entera, en otras
palabras el residuo que sobra al calcularse la división entre dos
números que no tienen decimales.
Operador mod PSEINT.
Casos más comunes de utilización:
Algoritmo Par o Impar
Múltiplo de un número
Resto
Ejemplo
Dividiendo 24 2
Divisor
0 12 Cociente
Resto 0
OPERADORES CONDICIONALES
Operadores Condicionales
Son aquellos operadores que sirven para comprar valores.
Siempre devuelvan valores booleanos: Verdadero o Falso.
Pueden ser Relacionales o Lógicos.
Operadores Relacionales
Los operadores relacionales son símbolos que sirven para realizar
comparaciones de igualdad, desigualdad y relación de menor o
mayor, entre dos variables y/o constantes.
Si la comparación es cierta, el resultado es verdadero, caso
contrario, el resultado es falso.
Operadores Relacionales
Los operadores relacionales son símbolos que sirven para realizar
comparaciones de igualdad, desigualdad y relación de menor o
mayor, entre dos variables y/o constantes.
Si la comparación es cierta, el resultado es verdadero, caso
contrario, el resultado es falso.
Operador Nombre Ejemplo significado Resultado
< Menor que 5<3 5 es menor Falso
que 3
> Mayor que 5>3 5 es mayor Verdadero
que 3
== Igual a “c”==”b” “c” es igual Falso
a “b”
!= Diferente a “c”!=”b” “c” es Verdadero
diferente a
“b”
<= Menor que 6 <= 4 6 es menor Falso
o igual a o igual a 4
>= Mayor que 6 >= 6 6 es mayor Verdadero
o igual a o igual a 6
Operadores Lógicos
Los operadores lógicos sirven para evaluar condiciones complejas.
AND (el resultado es verdadero si ambas expresiones son
verdaderos).
OR (el resultado es verdadero si alguna expresión es
verdadera).
NOT (el resultado invierte la condición de la expresión).
Operador Nombre Expresión Resultado
&& AND A&&b -Verdadero: si
“a” y “b” son
verdaderos.
-Falso: si “a” es
falso, o si “b”
es falso, o si
“a” y “b” son
falsos.
|| OR a||b -Verdadero: si
“a” es
verdadero, o si
“b” es
verdadero, o si
“a” y “b” son
verdaderos.
-Falso: si “a” y
“b” son falsos.
CONDICIONALES COMPUESTAS
Condicionales Compuestas
Estas estructuras de control son de gran utilidad para cuando el
algoritmo a desarrollar requiera una descripción más complicada
que una lista sencilla de instrucciones.
Se realiza una evaluación de una condición y de acuerdo al
resultado, el algoritmo realiza una determinada acción.
Condicionales Dobles
Esta estructura permite elegir dos opciones o alternativas posibles.
Se realiza una evaluación de una condición y de acuerdo al
resultado, si es verdadero e algoritmo realiza una determinada
acción, y si resulta falso, realiza otra acción.
Estructura
Si <condición> entonces
Acción 1
SiNo
Acción
FinSi
Diagrama de flujo
Condició
Operación1 Operación2
CONDICIONAL MÚLTIPLE
Condicional
Una estructura condicional múltiple, también conocida como
"switch" o "case" en otros lenguajes de programación, es una
herramienta que permite tomar decisiones complejas en función del
valor de una variable.
Anidación
Práctica de incorporar llamadas a procedimientos o estructuras
(unas/os) dentro de otras/as.
Falso Verdadero
Condición
Falso Verdadero
Operaciones
Condición
Operaciones
Proceso SinAnidación
Expresión_lógica
“acciones_por_verdadero”
Expresión_lógica
“acciones_por_verdadero”
Expresión_lógica
“acciones_por_verdadero” “acciones_por_verdadero”
FinProceso
SWITCH-CASE
Condicional Switch-Case
Anteriormente vimos la condicional múltiple, la cual es muy parecida
a la condicional Switch-Case, y en ciertas ocasiones puede ser
remplazada por ésta última, ya que enlazar muchos condicionales if,
llamados “Si-Entonces” en Pseint, es difícil de leer y menos eficiente.
Sintaxis Switch-Case:
La sintaxis del condicional es la siguiente:
Según variable_numerica Hacer
Opción_1:
//Secuencia_de_accion
Opción_2:
//Secuencia_de_accion 2
Opción_3:
//Secuncia_de_accion_3
De otro modo:
//Secuencia_de_acciones_predefinida
FinSegun
Variable_numérica = Variable o constante a comparar.
Opción_1 = Valor que se compara con la variable numérica.
Secuencia_de_acciones_1 = Secuencia de acciones que se
ejecutaran si la opción cumple la condición.
De Otro Modo = Opción por defecto, es decir, que si ninguna
opción anterior se cumple, se ejecutará esta secuencia de
comandos.
ACTIVIDAD 3
OPERADORES CONDICIONALES
Operadores relacionales
Ingresaremos un valor que indica la temperatura corporal de
una persona.
Si el valor es MAYOR que la condición, el programa mostrará
un mensajes por consola.
Operadores Lógicos
Usaremos el condicional OR.
Ingresaremos 2 valores, el primero corresponde a la edad y el
segundo a los años de aporte.
En el condicional IF se evaluará si ambos valores cumplen con
la condición o si alguno de los dos.
Operador Nombre Expresión Resultado
|| OR a||b
PRUEBA DE ESCRITORIO 1
Condicionales Dobles
Las estructuras condicionales dobles permiten elegir entre dos
opciones o alternativas posibles, en función del cumplimiento o no
de una determinada condición.
Por lo tanto, las estructuras condicionales dobles presentan dos
caminos diferentes que puede tomar el flujo de ejecución del
programa. Si la expresión a evaluar sale con resultado
VERDADERO, el programa se irá por una rama, en caso contrario
(FALSO), se irá por la otra rama.
Operador MOD
El operador MOD u operador Módulo (a veces se lo representa
con el símbolo %) es un operador aritmético que devuelve el resto
de una división entre dos números enteros.
Su estructura básica es:
numero1 MOD numero2
En este ejemplo, se devuelve el resto de la división
numero1/numero2.
Por ejemplo, para la división 15/4, tendremos un resto de 3, ya
que no es una división exacta. Por lo tanto, 15 MOD 4 es 3. Si
trabajamos con divisiones exactas, por ejemplo 20/4, tenemos un
resto 0. Por lo tanto, 20 MOD 4 es 0.
Este operador aritmético, por lo tanto, tiene aplicaciones que
están asociadas a la división.
Prueba de escritorio
Es una prueba paso a paso de cada una de las acciones que
conforman el algoritmo. Su objetivo es analizar en cada momento
cómo van cambiando los valores de las variables, así como el flujo
de ejecución del programa. Para facilitar este análisis se hace uso
de una tabla en la que se indican las líneas ejecución del
algoritmo y los estados de cada una de las variables. Los mismos
serán indicados en las columnas de la tabla.
Ejercicio n°2: Enunciado
Solicitar al usuario el ingreso de dos números enteros.
Averiguar si un número es múltiplo de otro.
Mostrar el número y la verificación de que si es o no múltiplo del
otro número ingresado por pantalla.
Lógica del ejercicio con MOD
Se requieren dos variables numéricas enteras:
Variable 1 (entera): num1; Variable 2 (entera): num2
El RESTO de la división entre ambas: num1 MOD num2
Para que num1 sea múltiplo de num2, el resto debe ser 0, por lo
que se evaluará en una estructura condicional doble:
Si el resto ES 0, será múltiplo: num1 MOD num2 == 0 (ingresará
en la primera rama del condicional);
SINO (caso contrario), no es múltiplo. (Ingresará en la segunda
rama del condicional, es decir en el SINO).
Estructura del algoritmo
Según el enunciado, se requiere:
Definir las variables: Se indica el tipo de la variable según la
naturaleza de la misma, cómo se va a comportar a lo largo del
programa (si es Entera, Real, Lógica, Cadena).
-Inicializar las variables definidas (según cómo se haya definido la
variable, es necesario darle un valor inicial al comienzo del
programa: para las Entera o Real es 0, para la Lógica es FALSO,
para cadena es “”).
-Solicitar al usuario los valores de las variables (Valores de
entrada al programa, que deben ser del tipo definido inicialmente
para que el flujo del mismo se ejecute sin errores).
-Evaluar la expresión lógica del resto de la división entre ambas
variables en una condicional.
-Se mostrará por pantalla en una función del resultado de la
expresión (Valores de salida, ya que se mostrarán los estados
finales de las variables).
Algoritmo
Según el enunciado, se requiere:
-Definir las variables.
-Inicializar las variables definidas.
-Solicitar al usuario los valores de las variables.
-Evaluar la expresión lógica del resto de la división entre ambas
variables.
-Se mostrará por pantalla en función del resultado de la
expresión.
Líneas(inst) Num1 Num2
1(1) <<Variable no <<Variable no
definida (NUM1)>> definida (NUM1)>>
3(1) <<Variable no <<Variable no
definida (NUM1)>> definida (NUM1)>>
4(1) <<Variable no <<Variable no
definida (NUM1)>> definida (NUM1)>>
6(1) <<Variable no <<Variable no
definida (NUM1)>> definida (NUM1)>>
7(1) 0 <<Variable no
definida (NUM1)>>
9(1) 0 0
10(1) 0 0
11(1) 10 0
12(1) 10 0
14(1) 10 2
15(1) 10 2
18(1) 10 2
10(1) 10 2
Prueba de escritorio: VERDADERO
Línea Num1 Num2
1 <NO DEFINIDA> <NO DEFINIDA>
3 <NO DEFINIDA> <NO DEFINIDA>
4 <NO <NO DEFINIDA>
INICIALIZADA>
6 <NO <NO
INICIALIZADA> INICIALIZADA>
7 0 <NO
INICIALIZADA>
9 0 <NO
INICIALIZADA>
10 0 0
11 10 0
12 10 0
14 10 2
15 10 2
18 10 2
19 10 2
Prueba de escritorio: FALSO
Líneas(inst) Num1 Num2
1(1) <<Variable no <<Variable no
definida (NUM1)>> definida (NUM1)>>
3(1) <<Variable no <<Variable no
definida (NUM1)>> definida (NUM1)>>
4(1) <<Variable no <<Variable no
definida (NUM1)>> definida (NUM1)>>
6(1) <<Variable no <<Variable no
definida (NUM1)>> definida (NUM1)>>
7(1) 0 <<Variable no
definida (NUM1)>>
9(1) 0 0
10(1) 0 0
11(1) 10 0
12(1) 10 0
12(1) 10 3
14(1) 10 3
16(1) 10 3
17(1) 10 3
18(1) 10 3
19(1) 10 3
Prueba de escritorio: FALSO
Línea Num1 Num2
1 <NO DEFINIDA> >NO DEFINIDA>
… … …
12 10 0
14 10 3
16 10 3
17 10 3
18 10 3
19 10 3
PRUEBA DE ESCRITORIO 2
Estructura condicional dobles
Las estructuras condicionales dobles permiten elegir entre dos
opciones o alternativas posibles, en función del cumplimiento o no
de una determinada condición.
Por lo tanto, las estructuras condicionales dobles presentan dos
caminos diferentes que pueden tomar el flujo de ejecución del
programa. Si la expresión a evaluar sale con resultado positivo, el
programa se irá por una rama y si tiene resultado negativo se va por
otra rama.
Prueba de escritorio
Es una prueba paso a paso de cada una de las acciones que
conforman un algoritmo. El objetivo es analizar en cada momento
cómo van cambiando los valores de las variables. Para facilitar este
análisis se hace uso de una tabla en la que se disponen en cada
columna las distintas variables y en cada fila los valores que éstas
van tomando.
Ejercicio a realizar
Enunciado: Ingresaremos un valor que indica la cantidad de ventas
que realizó una persona en un mes determinado. Si el valor es
MAYOR que la condición, el programa mostrará un mensaje por
consola notificando que el empleado ha sido beneficiado.
SINO el programa mostrará un mensaje diferente.
Variables para definir:
Ventas: Representa la cantidad de ventas realizadas, y se inicia
en 0 debido a que aún no conocemos el valor que será
ingresado.
Objetivo: Representa el objetivo de ventas para ser
beneficiado. Tendrá un valor de 10.
Ambas variables son de tipo entero porque representan
cantidades de productos que se cuentan en unidades completas.
Prueba de Escritorio
Línea Ventas Objetivo
1 <SIN DEFINIR> <SIN DEFINIR>
2 <SIN DEFINIR> <SIN DEFINIR>
3 <SIN DEFINIR> <SIN DEFINIR>
4 <SIN <SIN DEFINIR>
INICIALIZAR>
5 <SIN <SIN
INICIALIZAR> INICIALIZAR>
6 <SIN <SIN
INICIALIZAR> INICIALIZAR>
7 0 <SIN
INICIALIZAR>
8 0 10
9 0 10
10 0 10
11 8 10
12 8 10
13 8 10
14 8 10
15 8 10
16 8 10
17 8 10
18 8 10
PRUEBA DE ESCRITORIO 3
Estructuras condicionales
Las estructuras condicionales sirven para tomar decisiones en los
algoritmos.
Toda toma de decisiones tiene una evaluación a realizar en función
de ella.
Esta evaluación generalmente compara una variable con otra o
contra otro valor para que, en base al resultado, se siga un curso de
acción adentro del programa.
Estructuras condicionales dobles
Las estructuras condicionales dobles permiten elegir entre 2 (dos)
opciones disponibles, en función del cumplimiento o no de una
condición.
Por lo tanto, presentan 2 caminos diferentes que pueden tomar el
flujo de ejecución del programa.
Si <condición> entonces
Instrucción (es)
Si no NO SI
<CONDICIÓN>
Instrucción (es)
Fin-Si
TAREAS A REALIZAR SI TAREAS A REALIZAR SI LA
LA CONDICIÓN ES FALSA CONDICIÓN ES VERDADERA
¿Qué es una prueba de escritorio?
Una prueba de escritorio es un método de prueba de software que
implica revisar y evaluar el código fuente de un programa
manualmente, sin ejecutar el programa. Este tipo de pruebas se
centra en analizar el código en busca de posibles errores, anomalías
o mejores en la lógica del programa.
Son muy útiles a la hora de encontrar problemas que pueden ser
inevitables durante las pruebas automatizadas y pueden ayudar a
mejorar la calidad y robustez del código fuente. Este tipo de revisión
es común en el desarrollo de software, donde se busca garantizar
que el código cumpla con estándares de calidad y sea fácil de
mantener y entender.
Ejercicio de ejemplo
Ingresamos 2 valores, el VALOR1 indica la cantidad de artículos que
va a comprar una persona y el VALOR2 indica el monto total de la
compra.
Si la cantidad de artículos (VALOR1) es igual (=) o mayor (>) a 10; la
persona sólo abonará a la mitad del monto.
Sino abonará el monto total.
Línea cantArt montoCompra total
1 - - -
2 - - -
3 NULL NULL NULL
4 NULL NULL NULL
5 0 NULL NULL
6 0 0 NULL
7 0 0 0
8 0 0 0
9 0 0 0
10 12 0 0
11 12 0 0
12 12 22500 0
13 12 22500 0
14 7 8000 0
15 7 8000 0
16 7 8000 0
17 7 8000 0
18 7 8000 8000
19 7 8000 8000
20 7 8000 8000
21 - - -