Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Área: NEGOCIOS
Introducción al pensamiento
algorítmico y datos
Pre-condiciones y Post-
Expresiones aritméticas
condiciones
Expresiones lógico-
aritméticas
Área: NEGOCIOS M2
Curso: PENSAMIENTO ALGORÍTMICO Pág. 1
Otro concepto nuevo que también va a ser parte del módulo será el de la abstracción de las variables. En la
vida real, siempre acostumbramos a realizar una abstracción para entender, describir o hacer referencia a un
objeto, tal como un computador, donde solamente hacemos referencia a las características funcionales más
importantes, dejando de lado las partes internas e integrantes del computador con el fin de simplificar el
entendimiento y el uso de las demás personas.
Desde el punto de vista del pensamiento algorítmico, también usaremos la abstracción en los datos y en las
variables.
Área: NEGOCIOS M2
Curso: PENSAMIENTO ALGORÍTMICO Pág. 2
Tabla de verdad1.
P Q no P PyQ PoQ
VERDADERO VERDADERO FALSO VERDADERO VERDADERO
VERDADERO FALSO FALSO FALSO VERDADERO
FALSO VERDADERO VERDADERO FALSO VERDADERO
FALSO FALSO VERDADERO FALSO FALSO
Operando Operando
Expresión lógica R1 R2 Resultado
1 2
(4 > 2) (1 < 5) ((4 > 2) Y (1 < 5)) V V V
(7 =< 8) (2 > 5) ((7 =< 8) Y (2 > 5)) V F F
(9 = 1) (9 > 9) ((9 = 1) O (9 > 9)) F F F
(2 > 9) (3 = 3) (2 > 9) O (3 = 3) F V V
1
Tabla de verdad. Fuente: Jorge Carrillo.
2
Operando y expresiones lógicas. Fuente: Jorge Carrillo.
Área: NEGOCIOS M2
Curso: PENSAMIENTO ALGORÍTMICO Pág. 3
EJEMPLO 1
Para los siguientes ejercicios, considerar que los valores de las variables son:
a = 5, b = 3, c = 1 y port = falso
(a ≤ b) y (b ≥ c)
(5 ≤ 3) y (3 ≥ 1)
(falso) y (verdadero)
falso
De acuerdo con el valor de las variables, en la evaluación de condiciones se obtiene falso para la primera
condición y verdadero para la segunda condición. Teniendo en cuenta los valores de la tabla de verdad, al
evaluar el valor resultante es falso.
3
Operando y expresiones aritméticas. Fuente: Jorge Carrillo.
Área: NEGOCIOS M2
Curso: PENSAMIENTO ALGORÍTMICO Pág. 4
En este caso la variable port 2 ha sido declarada de tipo booleano y se le asigna el valor resultante de la
operación lógica entre c y b con el operador menor o igual. De acuerdo con el valor de las variables, en la
evaluación de condiciones se obtiene verdadero para esta condición.
EJEMPLO 3
(2 b = a + c)
(2 · 3 = 5 + 1)
(6 = 6) verdadero
De acuerdo con el valor de las variables, en la evaluación de condiciones, en esta operación lógica con operador
de igualdad se obtiene verdadero luego de la evaluación de la condición.
EJEMPLO 4
port 2 ← (no port) o (5 > 3)
port 2 ← (no falso) o (verdadero)
port 2 ← verdadero o verdadero
port 2 ← verdadero
Se puede ver que a la variable port 2 se le está asignando el resultado de la operación lógica de la conjunción
que involucra a la negación de la variable port y a la comparación con el operador mayor. De acuerdo con el
valor de las variables, en la evaluación de condiciones se obtiene verdadero para ambas condiciones, por lo
tanto, el valor resultante es verdadero.
Área: NEGOCIOS M2
Curso: PENSAMIENTO ALGORÍTMICO Pág. 5
A la variable port 2 se le asigna el resultado de la operación lógica de la comparación con el operador mayor
de a y b. De acuerdo con el valor de las variables, en la evaluación de condiciones se obtiene verdadero para
esta condición.
EJEMPLO 6
port 2 ← no ((a > b) o (b > c))
port 2 ← no ((5 > 3) o (3 > 1))
port 2 ← no ((verdadero) o (verdadero))
port 2 ← no (verdadero)
port 2 ← falso
A la variable port 2 se le asigna el resultado de la operación lógica de la negación de la disyunción (o) de dos
comparaciones: la primera entre a y b con el operador mayor, y la segunda entre b y c con el operador mayor.
De acuerdo con el valor de las variables, en la evaluación de condiciones se obtiene verdadero; luego de la
negación el valor asignado a la variable port 2 es falso.
Área: NEGOCIOS M2
Curso: PENSAMIENTO ALGORÍTMICO Pág. 6
Diseñar un algoritmo para leer un número entero n y escriba una función que tome dicho número entero y
devuelva el número de dígitos del número y el valor del número entero ingresado.
EJEMPLO 6
var
entero: n1, cd
real: n
inicio
leer (n)
n1 n
cd 0
mientras (n1 > 0) hacer
n1 n1 / 10
cd cd + 1
fin_mientras
escribir (‘El número ingresado es’, n)
escribir (‘Tiene un número de dígitos igual a’, cd)
fin
Área: NEGOCIOS M2
Curso: PENSAMIENTO ALGORÍTMICO Pág. 7
La abstracción de datos es la técnica de programación que permite inventar o definir nuevos tipos de
datos (tipos de datos definidos por el usuario) adecuados a la aplicación que se desea realizar. La
abstracción de datos es una técnica muy potente que permite diseñar programas más cortos, legibles y
flexibles. La esencia de la abstracción es similar a la utilización de un tipo de dato, cuyo uso se realiza
sin tener en cuenta cómo está representado o implementado. Los tipos de datos son abstracciones y el
proceso de construir nuevos tipos se llaman abstracciones de datos. Los nuevos tipos de datos definidos
por el usuario se llaman tipos abstractos de datos (ADT, Abstract Data Types) (…) Los tipos abstractos
de datos proporcionan un mecanismo adicional mediante el cual se realiza una separación clara entre
la interfaz y la implementación del tipo de dato. La implementación de un tipo abstracto de dato consta
de:
La interfaz del tipo abstracto de dato se asocia con las operaciones y datos visibles al exterior del TAD.
Para poder especificar el TAD podemos usar un enfoque informal, describiendo los datos y las operaciones
relacionadas en lenguaje natural. Joyanes (2007) especifica que una descripción informal:
Consta de dos partes:
1. Detallar en los datos del tipo, los valores que pueden tomar.
2. Describir las operaciones, relacionándolas con los datos. El formato que generalmente se emplea,
primero especifica el nombre del TAD y los datos: TAD nombre del tipo (valores y su descripción). A
continuación, cada una de las operaciones con sus argumentos, y una descripción funcional en lenguaje
natural, con este formato: Operación(argumentos).
Área: NEGOCIOS M2
Curso: PENSAMIENTO ALGORÍTMICO Pág. 8
Se puede especificar más operaciones sobre conjuntos, todo dependerá de la aplicación que se quiera dar al
TAD.
Veamos ahora un ejemplo sobre un tipo abstracto de datos (TAD):
4
Definición TAD Conjunto. Fuente: Joyanes, L (2007).
Área: NEGOCIOS M2
Curso: PENSAMIENTO ALGORÍTMICO Pág. 9
Se define un TAD llamado ‘auto’ correspondiente a cualquier automóvil donde también definiremos los
elementos, dentro de los cuales pueden estar por marca, combustible, tipo, color, etc. Dentro de cada
elemento se pueden definir varias opciones, por ejemplo: elemento combustible = gas, bencina, diésel,
eléctrico, híbrido.
Se pueden definir también operaciones sobre auto dependiendo de lo que se quiera realizar en el
algoritmo, por ejemplo:
• Añadir (combustible, diesel): agrega el elemento ‘diesel’ al conjunto llamado ‘combustible’ y los datos
del conjunto combustible serán: gas, bencina, diésel, eléctrico, híbrido.
• Añadir (marca, Toyota): agrega el elemento ‘Toyota’ al conjunto llamado ‘marca’ y los datos del
conjunto marca serán: Audi, BMW, Suzuki, Toyota y Volvo.
• Union (combustible, marca): La operación devuelve un conjunto con la unión de ambos conjuntos
combustible y marca con los elementos comunes y no comunes de ambos.
Otro aspecto importante a considerar es que, para que funcione correctamente un algoritmo, las variables de
entrada deben cumplir con algunas condiciones para que una función o una expresión funcione correctamente,
y que llamaremos precondición. Por ejemplo, si queremos usar una expresión que divide dos variables
(dividendo y divisor), las precondiciones serían que las variables tengan datos numéricos y que el divisor sea
distinto a cero. En este caso con las precondiciones podemos asegurar que el código funcione correctamente
y en caso de que el usuario ingrese un dato que no cumpla con la precondición, el código puede devolver un
mensaje de error.
Para el caso de una post-condición, diremos que, son las condiciones que cumplirá el valor de retorno, y los
parámetros recibidos, en caso de que hayan sido alterados, siempre que se hayan cumplido las precondiciones
y para el ejemplo anterior, la expresión con la división con sus precondiciones asignadas, puede asegurar que
devolverá un número correspondiente al cociente solicitado.
Veamos un ejemplo de un cálculo simple donde se divide dos números enteros a y b que son el dividendo y el
divisor respectivamente donde se usa la pre-condición de que el divisor debe ser un número distinto de cero y
que, al ocurrir, entregará un mensaje de error y pedirá ingresar nuevamente el número divisor y una post-
condición para que devuelva un número real, con el cociente de ambos números:
Área: NEGOCIOS M2
Curso: PENSAMIENTO ALGORÍTMICO Pág. 10
IMPORTANTE
Las precondiciones y post-condiciones describen las condiciones que deben cumplirse a la entrada y a la
salida de un módulo.
Área: NEGOCIOS M2
Curso: PENSAMIENTO ALGORÍTMICO Pág. 11
APORTE A TU FORMACIÓN
Sin duda que en este módulo nos hemos centrado más en el modelamiento matemático a partir de
expresiones aritméticas y lógicas, en la práctica veremos que la mayor proporción de casos de solución de
problemas por la vía de los algoritmos se centra en este tipo de expresiones, por lo que resulta importante
para el desempeño laboral del estudiante, toda vez que se requiera realizar algún cálculo simple o más
complejo donde se requiere establecer condiciones tanto de entrada como de salida para diseñar un
algoritmo que funcione de manera correcta.