Está en la página 1de 19

MÓDULO

Área: NEGOCIOS

1 Curso: PENSAMIENTO ALGORÍTMICO


Módulo: Introducción al pensamiento algorítmico y datos
Área: NEGOCIOS M1
Curso: PENSAMIENTO ALGORÍTMICO

Introducción al pensamiento algorítmico y datos


Índice

Introducción ......................................................................................................................................................... 1
1. Introducción al Pensamiento Algorítmico ........................................................................................................ 2
1.1. Introducción ............................................................................................................................................................... 2
1.2. Conceptos de problema, solución y algoritmo. .......................................................................................................... 2
1.2.1. Problema ............................................................................................................................................................. 2
1.2.2. Solución ............................................................................................................................................................... 3
1.2.3. Algoritmo............................................................................................................................................................. 3
2. Datos ................................................................................................................................................................. 6
2.1. Tipo ............................................................................................................................................................................. 6
2.2. Valor ........................................................................................................................................................................... 7
2.2.1. Constantes........................................................................................................................................................... 7
2.2.2. Variables .............................................................................................................................................................. 8
2.2.3. Expresiones ......................................................................................................................................................... 9
2.2.4. Funciones ............................................................................................................................................................ 9
2.3. Tipos de datos primitivos.......................................................................................................................................... 11
2.4. Operaciones sobre datos .......................................................................................................................................... 11
2.4.1. Operadores aritméticos .................................................................................................................................... 11
2.4.2. Operador de concatenación .............................................................................................................................. 12
2.4.3. Operadores de relación ..................................................................................................................................... 12
2.4.4. Operadores lógicos............................................................................................................................................ 12
2.4.5. Evaluación de expresiones ................................................................................................................................ 13
Cierre .................................................................................................................................................................. 16
Área: NEGOCIOS M1
Curso: PENSAMIENTO ALGORÍTMICO

Introducción al pensamiento algorítmico y datos


Mapa de Contenido

Introducción al pensamiento
algorítmico y datos

Introducción al
Datos
pensamiento algorítmico

Introducción Tipo

Conceptos Valor

Tipos de datos
primitivos

Operación sobre
datos
Área: NEGOCIOS M1
Curso: PENSAMIENTO ALGORÍTMICO Pág. 1

Introducción al pensamiento algorítmico y datos


RESULTADO DE Entiende, de manera formal y desde la perspectiva de la ingeniería, conceptos
APRENDIZAJE básicos de la resolución de problemas, identificando distintos tipos de datos,
DEL MÓDULO rangos y posibles valores que puede tomar un dato.

Introducción
En nuestra vida cotidiana cuando realizamos cualquier actividad, en el
trabajo, en nuestro hogar o cuando nos desplazamos desde un punto a otro,
inconscientemente tendemos a establecer una secuencia de pasos en forma
mental y a tomar alguna decisión si sucede lo uno o lo otro. Esta secuencia de
pasos estructurada que muchas veces uno piensa, constituye un proceso que
forma parte de un algoritmo.

Cuando iniciamos un desplazamiento desde nuestro hogar hasta el punto de destino, primero veremos las
alternativas de movilización: bus, automóvil, metro, a pie o bien una combinación de las anteriores, acto
seguido, seleccionaremos mentalmente la alternativa de transporte en función de lo que tengamos disponible,
a la comodidad y al tiempo de viaje. Si, por ejemplo, optamos por viajar en automóvil, podremos elegir alguna
alternativa de ruta preferida hacia el punto de destino y si en el trayecto vemos que está congestionada,
usaremos una ruta diferente que nos puede recomendar la aplicación móvil Waze1 y que iteraremos hasta
llegar al destino.

Ejemplos como el anterior, que aplicamos en nuestra vida cotidiana, son parte del proceso del pensamiento
algorítmico y si analizamos otras situaciones más complejas que nos demandan tiempo para buscar la solución,
podemos construir un resultado basado en un proceso que se alimenta de entradas y entrega salidas que nos
pueden simplificar la vida a través de la automatización de un cálculo o de una rutina.

Iniciamos este módulo con la ansiedad de aprender cómo se puede construir un algoritmo, analizar cuáles son
los datos de entrada que se requieren y los datos de salida que necesito para poder facilitar una solución a una
problemática.

1 waze es la aplicación de tráfico y navegación basada en la comunidad más grande del mundo-https://www.waze.com
Área: NEGOCIOS M1
Curso: PENSAMIENTO ALGORÍTMICO Pág. 2

Introducción al pensamiento algorítmico y datos


1. Introducción al Pensamiento Algorítmico

1.1. Introducción
En cada situación de la vida nos veremos enfrentados a que existe un problema o una problemática asociada
a cualquier actividad que se realice en forma recurrente u ocasional. Cualquiera sea la naturaleza del problema,
siempre se requerirá solucionarlo. Surge de esta manera, la resolución que según indica Joyanes (2006):

La resolución de un problema exige el diseño de un algoritmo que resuelva el problema propuesto. Los pasos
para la resolución de un problema son:

a. Diseño del algoritmo, que describe la secuencia ordenada de pasos —sin ambigüedades— que
conducen a la solución de un problema dado. (Análisis del problema y desarrollo del algoritmo.)
b. Expresar el algoritmo como un programa en un lenguaje de programación adecuado. (Fase de
codificación.)
c. Ejecución y validación del programa por la computadora.

Para llegar a la realización de un programa es necesario el diseño previo de un algoritmo, de modo que sin
algoritmo no puede existir un programa. Los algoritmos son independientes tanto del lenguaje de
programación en que se expresan como de la computadora que los ejecuta. En cada problema el algoritmo se
puede expresar en un lenguaje diferente de programación y ejecutarse en una computadora distinta; sin
embargo, el algoritmo será siempre el mismo. Así, por ejemplo, en una analogía con la vida diaria, una receta
de un plato de cocina se puede expresar en español, inglés o francés, pero cualquiera que sea el lenguaje, los
pasos para la elaboración del plato se realizarán sin importar el idioma del cocinero2.

1.2. Conceptos de problema, solución y algoritmo.

1.2.1. Problema
El problema nace de una necesidad, de un requerimiento o simplemente de la voluntad
de querer mejorar algo. En situaciones que tienen que ver con el ámbito personal de la
vida cotidiana o bien en situaciones de alguna actividad en particular que se repiten y no
tenemos una solución inmediata, hablamos de que es necesario ocupar alguna solución.

2
Joyanes, A. L. (2006). Programación en C++: algoritmos, estructuras de datos y objetos (2a. ed.). Madrid, ES: McGraw-
Hill España. Retrieved from http://www.ebrary.com
Área: NEGOCIOS M1
Curso: PENSAMIENTO ALGORÍTMICO Pág. 3

Introducción al pensamiento algorítmico y datos


1.2.2. Solución
El primer paso para encontrar la solución a un problema es el análisis del mismo. Se debe examinar
cuidadosamente el problema a fin de obtener una idea clara sobre lo que se solicita y determinar los datos
necesarios para conseguirlo.

1.2.3. Algoritmo
La solución debe establecerse como idea u objetivo general con objetivos específicos y debe ser llevada a una
instancia de desarrollo de una secuencia de pasos. Tal como lo indica Joyanes (2003):

Un algoritmo puede ser definido como la secuencia ordenada de pasos, sin ambigüedades, que conducen a la
solución de un problema dado y puede ser expresado en lenguaje natural, por ejemplo, el castellano.
Todo algoritmo debe ser:

a. Preciso. Indicando el orden de realización de cada uno de los pasos.


b. Definido. Si se sigue el algoritmo varias veces proporcionándole los mismos datos, se deben obtener
siempre los mismos resultados.
c. Finito. Al seguir el algoritmo, éste debe terminar en algún momento, es decir tener un número finito
de pasos.

Para diseñar un algoritmo se debe comenzar por identificar las tareas más importantes para resolver el
problema y disponerlas en el orden en el que han de ser ejecutadas. Los pasos en esta primera descripción de
actividades deberán ser refinados, añadiendo más detalles a los mismos e incluso, algunos de ellos, pueden
requerir un refinamiento adicional antes de que podamos obtener un algoritmo claro, preciso y completo. Este
método de diseño de los algoritmos en etapas, yendo de los conceptos generales a los de detalle a través de
refinamientos sucesivos, se conoce como método descendente (top-down).

En un algoritmo se deben considerar tres partes:

a. Entrada. Información dada al algoritmo.


b. Proceso. Operaciones o cálculos necesarios para encontrar la solución del problema.
c. Salida. Respuestas dadas por el algoritmo o resultados finales de los cálculos.3

3
Joyanes, A. L., Rodríguez, B. L., & Fernández, A. M. (2003). Fundamentos de programación: libro de problemas.
Algoritmos, estructuras de datos y objetos (2a. ed.). Madrid, ES: McGraw-Hill España. Retrieved from
http://www.ebrary.com
Área: NEGOCIOS M1
Curso: PENSAMIENTO ALGORÍTMICO Pág. 4

Introducción al pensamiento algorítmico y datos


En base a lo anterior, veamos ahora un ejemplo cotidiano donde mentalmente y quizás inconscientemente
usamos un algoritmo mental como una secuencia de pasos para el caso de una situación real:

EJEMPLO 1 – CASO LAVANDERÍA


Para el caso de una situación real donde se requiere lavar la ropa sucia en un sistema de auto lavandería cuyo valor
es de $ 1.300 y que se debe pagar en monedero electrónico que acepta solamente monedas de $ 100 y $ 500,
analizaremos el algoritmo en sus tres pasos:

Entrada
Las entradas son:
1. La ropa sucia
2. Monedas de $ 100 y $ 500 para pago de $ 1.300
3. Detergente para lavado de ropa

EJEMPLO 1 - PROCESO – CASO LAVANDERÍA.

Paso 1: Consultar a lavandería si hay disponibilidad de lavadora


Paso 2: Llevar ropa sucia, detergente y dinero a la lavandería
Paso 3: Elegir lavadora disponible
Paso 4: Ingresar valor exacto de $ 1.300 en monedas de $ 100 y $ 500 en monedero electrónico de la lavadora
Paso 5: Seleccionar el tipo de lavado: agua fría, agua tibia o agua caliente
Paso 6: Esperar que la lavadora se llene con agua durante 30 segundos
Paso 7: Abrir la tapa superior de la lavadora
Paso 8: Vaciar la cantidad de detergente al interior de la lavadora
Paso 9: Colocar la ropa sucia al interior de la lavadora y cerrar la tapa de la lavadora
Paso 10: Verificar que se inicia el lavado de la ropa
Paso 11: Esperar el tiempo de duración del lavado indicado en display digital de la lavadora
Paso 12: Una vez terminado el lavado, abrir la tapa y sacar la ropa limpia

EJEMPLO 1 - SALIDA – CASO LAVANDERÍA

La ropa limpia y seca

Ahora vamos a realizar un segundo ejemplo donde se requiere realizar un cálculo simple que muchas veces
puede ocupar un instante de nuestro tiempo y para lo cual también se utilizará un algoritmo:
Área: NEGOCIOS M1
Curso: PENSAMIENTO ALGORÍTMICO Pág. 5

Introducción al pensamiento algorítmico y datos


EJEMPLO 2 - ALGORÍTMO QUE CALCULA LA SUPERFICIE DE UN TRIÁNGULO EN FUNCIÓN DE LA BASE Y LA ALTURA

Escribir un algoritmo que calcule la superficie de un triángulo en función de la base y la altura.

Análisis del problema


Datos de entrada: b (base), a (altura)
Datos de salida: s (superficie)
Para calcular la superficie se aplica la fórmula s = base * altura/2.

EJEMPLO 2 – DISEÑO DEL ALGORITMO - SUPERFICE DEL TRIANGULO

inicio
leer b, a
sb*a/2
escribir s
fin

Otro tipo de problema que podemos encontrar en la práctica, se refiere a que la solución no es muy simple de
calcular en forma mental debido a la cantidad de datos y en consecuencia requiere de un cálculo repetitivo
que se puede realizar con un algoritmo basado en un bucle. Vamos a analizar un nuevo ejemplo, donde se
requiere diseñar un algoritmo que imprima y sume la serie de números 3,6,9,12,...,99.

EJEMPLO 3 – SERIE NUMÉRICA

Análisis del problema


Se trata de idear un método con el que obtengamos dicha serie, que no es más que incrementar una variable de tres
en tres. Para ello se hará un bucle en base a la sentencia “mientras” y que se acabe cuando el número sea mayor que
99 (o cuando se realice 33 veces). Dentro de ese bucle se incrementa la variable, se imprime y se acumula su valor en
otra variable llamada suma, que será el dato de salida. No tendremos por tanto ninguna variable de entrada, y sí dos
de salida, la que nos va sacando los números de tres en tres (núm) y suma.
Área: NEGOCIOS M1
Curso: PENSAMIENTO ALGORÍTMICO Pág. 6

Introducción al pensamiento algorítmico y datos


EJEMPLO 3 - SERIE NUMÉRICA - DISEÑO DEL ALGORÍTMO
inicio
asignar a suma un 0
asignar a núm un 3
mientras núm <= 99
escribir núm
incrementar suma en núm
incrementar núm en 3
escribir suma
fin

2. Datos
Cuando analizamos los primeros algoritmos en el Capítulo 1, se necesitaba declarar primero los datos de
entrada, es decir la información que debemos ingresar para alimentar al proceso, por ejemplo, el precio del
servicio de la lavandería o bien la cantidad de detergente que se debe usar de acuerdo con la cantidad de ropa
a lavar. Por otra parte, también en la salida se obtiene un dato, por ejemplo, la ropa limpia. En este contexto
podemos encontrar que en la práctica los datos pueden ser de distintos tipos, puede ser una expresión
numérica del tipo entero, real, lógica o de carácter y también podrán tener un valor que no cambia o bien que
puede ser variable, por lo que los datos pueden ser de varios tipos y pueden tomar valores distintos según
corresponda.

Joyanes4, realiza una sub clasificación de los datos de acuerdo con el tipo y el valor que éstos tienen:

2.1. Tipo
El tipo de un dato determina su forma de almacenamiento en memoria y las operaciones que van a poder ser
efectuadas con él. En principio hay que tener en cuenta que, prácticamente en cualquier lenguaje y por tanto
en cualquier algoritmo, se podrán usar datos de los siguientes tipos:

a. Entero. Subconjunto finito de los números enteros, cuyo rango o tamaño dependerá del lenguaje en
el que posteriormente codifiquemos el algoritmo y de la computadora utilizada.
b. Real. Subconjunto de los números reales limitado no sólo en cuanto al tamaño, sino también en cuanto
a la precisión.
c. Lógico. Conjunto formado por los valores verdadero y falso.
d. Carácter. Conjunto finito y ordenado de los caracteres que la computadora reconoce.
e. Cadena. Los datos (objetos) de este tipo contendrán una serie finita de caracteres, que podrán ser
directamente traídos o enviados a/desde la consola.

4
Joyanes, A. L., Rodríguez, B. L., & Fernández, A. M. (2003). Fundamentos de programación: libro de problemas.
Algoritmos, estructuras de datos y objetos (2a. ed.). Madrid, ES: McGraw-Hill España.
Área: NEGOCIOS M1
Curso: PENSAMIENTO ALGORÍTMICO Pág. 7

Introducción al pensamiento algorítmico y datos


Es decir, los tipos entero, real, carácter, cadena y lógico son tipos predefinidos en la mayoría de los lenguajes
de programación. En los algoritmos para indicar que un dato es de uno de estos tipos se declarará utilizando
directamente el identificador o nombre del tipo.

Además, los lenguajes permiten al programador definir sus propios tipos de datos. Al definir nuevos tipos de
datos hay que considerar tanto sus posibles valores como las operaciones que van a poder ser efectuadas con
los datos del mismo. Lo usual es que se definan nuevos tipos de datos agrupando valores de otros tipos
definidos previamente o de tipos estándar. Por este motivo se dice que están estructurados. Si todos los valores
agrupados fueran del mismo tipo se consideraría a éste como el tipo base del nuevo tipo estructurado.

Algunos ejemplos de tipos de datos son:

Entero Real Lógico


-100, -5, 20, 1500 -100, -5.5, 20.66, 150 Verdadero, Falso

Cadena
Carácter
‘Esta cadena contiene
q, w, e, r, t, y, 1, 5, 9
34 caracteres’

2.2. Valor
De acuerdo con el valor que pueden tener los datos, pueden venir expresados como constantes, variables,
expresiones o funciones, por lo que Joyanes5:

2.2.1. Constantes
Son datos cuyo valor no cambia durante todo el desarrollo del algoritmo. Las constantes podrán ser literales o
con nombres, también denominadas simbólicas. Las constantes simbólicas o con nombre se identifican por su
nombre y el valor asignado. Una constante literal es un valor de cualquier tipo que se utiliza como tal.
Tendremos pues constantes:

a. Numéricas enteras: En el rango de los enteros. Compuestas por el signo (+, –) seguido de una serie de
dígitos (0 al 9).

5
Joyanes, A. L., Rodríguez, B. L., & Fernández, A. M. (2003). Fundamentos de programación: libro de problemas.
Algoritmos, estructuras de datos y objetos (2a. ed.). Madrid, ES: McGraw-Hill España.
Área: NEGOCIOS M1
Curso: PENSAMIENTO ALGORÍTMICO Pág. 8

Introducción al pensamiento algorítmico y datos


b. Numéricas reales: Compuestas por el signo (+, –) seguido de una serie de dígitos (0 a 9) y un punto
decimal (.) o compuestas por el signo (+, –), una serie de dígitos (0 a 9) y un punto decimal que
constituyen la mantisa6, la letra E antes del exponente, el signo (+,–) y otra serie de dígitos (0 a 9).
c. Lógicas: Sólo existen dos constantes lógicas, verdad y falso.
d. Carácter: Cualquier carácter del juego de caracteres utilizado colocado entre comillas simples o
apóstrofes. Los caracteres que reconocen las computadoras son dígitos, caracteres alfabéticos, tanto
mayúsculas como minúsculas, y caracteres especiales.
e. Cadena: Serie de caracteres válidos encerrados entre comillas simples.

2.2.2. Variables
Una variable es un objeto cuyo valor puede cambiar durante el desarrollo del algoritmo. Se identifica por su
nombre y por su tipo, que podrá ser cualquiera, y es el que determina el conjunto de valores que podrá tomar
la variable. En los algoritmos se deben declarar las variables que se van a usar, especificando su tipo. Según la
forma para la representación del algoritmo elegida la declaración se hará con una simple tabla de variables o
de una forma algo más rígida, especificando:

var
< tipo_de_dato> : < lista_identificadores_de_variable>

donde
<tipo_de_dato> representa un tipo de dato
y
<lista_identificadores_de_variable> deberá ser sustituido por una lista con los nombres de las variables
de dicho tipo separados por comas.

EJEMPLO
Si las variables usan datos del tipo entero y los identificadores son A, B y suma, se tiene:

var
entero: A,B,suma

Cuando se traduce el algoritmo a un lenguaje de programación y se ejecuta el programa resultante, la


declaración de cada una de las variables originará que se reserve un determinado espacio en memoria
etiquetado con el correspondiente identificador.

La asignación de valor a una variable se podrá hacer en modo interactivo mediante una instrucción de lectura
o bien de forma interna a través del operador de asignación.

6
Parte decimal de un logaritmo. http://dle.rae.es/?id=OHkv7dL
Área: NEGOCIOS M1
Curso: PENSAMIENTO ALGORÍTMICO Pág. 9

Introducción al pensamiento algorítmico y datos


2.2.3. Expresiones
Una expresión es una combinación de operadores y operandos. Los operandos podrán ser constantes, variables
u otras expresiones y los operadores de cadena, aritméticos, relacionales o lógicos. Las expresiones se
clasifican, según el resultado que producen, en:

a. Numéricas. Los operandos que intervienen en ellas son numéricos, el resultado es también de tipo
numérico y se construyen mediante los operadores aritméticos. Se pueden considerar análogas a
las fórmulas matemáticas.
b. Alfanuméricas. Los operandos son de tipo alfanumérico y producen resultados también de dicho
tipo. Se construyen mediante el operador de concatenación, representado por el operador
ampersand (&) o con el mismo símbolo utilizado en las expresiones aritméticas para la suma.
c. Booleanas. Su resultado podrá ser verdadero o falso. Se construyen mediante los operadores
relacionales y lógicos.

2.2.4. Funciones
En los lenguajes de programación existen ciertas funciones predefinidas o internas que aceptan unos
argumentos y producen un valor denominado resultado. Como funciones numéricas, se usarán de las
siguientes:
Tabla Descripción de Funciones7

Función Descripción Tipo de argumento Resultado


abs (x) valor absoluto de x entero o real igual que el argumento
arctan (x) arcotangente de x entero o real real
cos (x) coseno de x entero o real real
cuadrado (x) cuadrado de x entero o real igual que el argumento
ent (x) entero de x real entero
exp (x) elevado a x entero o real real
ln (x) logaritmo natural de x entero o real real
log10 (x) logaritmo base 10 de x entero o real real
raíz2 (x) raíz cuadrada de x entero de x real
redondeo (x) redondea x al entero más próximo real entero
sen (x) seno de x entero o real real
trunc (x) parte entera de x real entero

7
Adaptado de Joyanes, A. L., Rodríguez, B. L., & Fernández, A. M. (2003). Fundamentos de programación: libro de
problemas. Algoritmos, estructuras de datos y objetos (2a. ed.). Madrid, ES: McGraw-Hill España.
http://site.ebrary.com/lib/ippsp/reader.action?ppg=36&docID=10498607&tm=1512052880196
Área: NEGOCIOS M1
Curso: PENSAMIENTO ALGORÍTMICO Pág. 10

Introducción al pensamiento algorítmico y datos


Veamos ahora un ejemplo de algoritmo más consolidado donde integremos tipos de datos y una notación más
elaborada:

“Diseñar un algoritmo que lea cuatro variables y calcule e imprima su producto, su suma y su
media aritmética”.

Análisis del problema


Datos de entrada: a,b,c,d
Datos de salida: Producto, suma y media

Lo primero que debemos realizar es definir a qué tipo de datos corresponden los de entrada y salida; en este
caso todos son variables, de los cuales la variable media será del tipo real y todas las demás variables (a, b, c,
d, producto y suma) serán del tipo entero.

Después de leer los cuatro datos de entrada a, b, c y d, asignamos a la variable producto la multiplicación de
las cuatro variables de entrada. A la variable suma le asignamos la suma y a la variable media le asignamos el
resultado de sumar las cuatro variables y dividirlas entre cuatro. Como el operador suma tiene menos prioridad
que el operador división, será necesario encerrar la suma entre paréntesis. También podríamos haber dividido
directamente la variable suma en cuatro.

DISEÑO DEL ALGORÍTMO

algoritmo ejercicio
var
entero : a,b,c,d,producto,suma
real : media
inicio
leer (a,b,c,d)
producto ← a * b * c * d
suma ← a + b + c + d
media ← (a + b + c + d) / 4
escribir (producto,suma,media)
fin
Área: NEGOCIOS M1
Curso: PENSAMIENTO ALGORÍTMICO Pág. 11

Introducción al pensamiento algorítmico y datos


2.3. Tipos de datos primitivos
Se denomina dato primitivo al que es parte en forma original de un lenguaje de programación determinado,
esto es, aquellos datos que nos proporciona el lenguaje y con los que podemos (en ocasiones) construir tipos
de datos abstractos y estructuras de datos.
Los ejemplos de tipos primitivos son:
a. Char (Carácter)
b. Int (Entero)
c. Float (Real - Coma flotante)

Otros tipos de datos que pueden ser considerados primitivos ya que la mayoría de los lenguajes de
programación así los proporcionan (aunque no todos) son:

a. Booleano (Lógico: Verdadero, Falso)


b. String (Cadena de caracteres)
c. Puntero (Dirección de memoria - Int)

2.4. Operaciones sobre datos


Las operaciones de los datos se realizarán dentro de las expresiones mediante los operadores. Los operadores
pueden ser aritméticos, de concatenación, de relación y lógicos. A continuación, veremos cada tipo de
operadores:

2.4.1. Operadores aritméticos


a. menos unario ( – )
b. multiplicación ( * )
c. división real ( / )
d. exponenciación ( ** )
e. adición ( + )
f. resta ( – )
g. módulo o residuo de la división entera (mod)
h. cociente de la división entera (div)

IMPORTANTE

Se debe tener en cuenta que la división real siempre dará un resultado real y que los operadores mod y div sólo
operan con enteros y el resultado es entero.
Área: NEGOCIOS M1
Curso: PENSAMIENTO ALGORÍTMICO Pág. 12

Introducción al pensamiento algorítmico y datos


2.4.2. Operador de concatenación
Está representado por el operador ampersand (&) o con el mismo símbolo utilizado en las expresiones
aritméticas para la suma.

2.4.3. Operadores de relación


a. igual ( = )
b. distinto ( <> )
c. menor que ( < )
d. mayor que ( > )
e. mayor o igual ( >= )
f. menor o igual ( <= )

Actúan sobre operandos del mismo tipo y siempre devuelven un resultado de tipo lógico.

2.4.4. Operadores lógicos


a. negación lógica (no)
b. multiplicación lógica ( y )
c. suma lógica ( o )

Actúan sobre operandos de tipo lógico y devuelven resultados del mismo tipo, determinados por las tablas de
verdad correspondientes a cada uno de ellos.

Tabla de verdad8

a b no a ayb aob
verdad verdad falso verdad verdad
verdad falso falso falso verdad
falso verdad verdad falso verdad
falso falso verdad falso falso

8
Adaptado de Joyanes, A. L., Rodríguez, B. L., & Fernández, A. M. (2003). Fundamentos de programación: libro de
problemas. Algoritmos, estructuras de datos y objetos (2a. ed.). Madrid, ES: McGraw-Hill España.
Área: NEGOCIOS M1
Curso: PENSAMIENTO ALGORÍTMICO Pág. 13

Introducción al pensamiento algorítmico y datos


2.4.5. Evaluación de expresiones
Toda expresión debe tener un resultado. El orden de prioridad general adoptado, no común a todos los
lenguajes.
Tabla de Expresiones

** Exponenciación
no , – Operadores unarios
* , / , div , mod , y Operadores multiplicativos
+,–,o Operadores aditivos
= , <> , > , < , >= , <= Operadores de relación

La evaluación de operadores con la misma prioridad se realizará siempre de izquierda a derecha. Si una
expresión contiene subexpresiones encerradas entre paréntesis, dichas subexpresiones se evaluarán primero.

Para evaluar una expresión solamente se deben seguir tres reglas de prioridad:

PRIORIDADES

Prioridad 1: los paréntesis (si tiene)


Prioridad 2: seguir el orden de prioridad de operadores
Prioridad 3: si aparecen dos o más operadores iguales, se evalúan de izquierda a derecha.

IMPORTANTE

Se debe tener en cuenta que la división real siempre dará un resultado real y que los operadores mod y div sólo
operan con enteros y el resultado es entero.
Área: NEGOCIOS M1
Curso: PENSAMIENTO ALGORÍTMICO Pág. 14

Introducción al pensamiento algorítmico y datos


Veamos unos ejemplos con operadores aritméticos donde establezcamos las prioridades y calculemos el
resultado:

EJEMPLO OPERADORES ARITMÉTICOS

Si A = 6, B = 2 y C = 3, encontrar los valores de las siguientes expresiones:


a) A-B+C
b) A*B div C
c) A div B + C
d) A*B mod C
e) A+C mod B
f) A div B div C

Los resultados son:


a) (6-2)+3 = 7
Como los operadores – y + tienen la misma prioridad, se elige el operador – con mayor prioridad por
estar más a la izquierda, luego queda entre paréntesis (A-B).

b) (6*2) div 3 = 4
Como los operadores * y div tienen la misma prioridad, se elige el operador * con mayor prioridad por
estar más a la izquierda, luego queda entre paréntesis (A*B).

c) (6 div 2)+3 = 6
Como el operador div tiene prioridad sobre el operador +, queda entre paréntesis (A div B).

d) (6*2) mod 3 = 0
Como los operadores * y mod tienen la misma prioridad, se elige el operador * con mayor prioridad
por estar más a la izquierda, luego queda entre paréntesis (A*B).

e) 6+(3 mod 2) = 7
Como el operador mod tiene prioridad sobre el operador +, queda entre paréntesis (C mod B).

f) (6 div 2) div 3 = 1
Como los operadores div y div tienen la misma prioridad, se elige el primer operador div con mayor
prioridad por estar más a la izquierda, luego queda entre paréntesis (A div B).
Área: NEGOCIOS M1
Curso: PENSAMIENTO ALGORÍTMICO Pág. 15

Introducción al pensamiento algorítmico y datos


EJEMPLO OPERADORES LÓGICOS

Si A = verdadero, B = falso y C = verdadero, encontrar el valor de la siguiente expresión:


A v B ᴧ ~ C= se lee A o B y no C

El resultado se logra aplicando paréntesis para establecer la prioridad de los operadores:


A v (B ᴧ (~ C)

a. Luego reemplazamos los valores: verdadero o (falso y (no verdadero))


b. Y aplicamos la tabla de verdad, quedando: verdadero o (falso y falso)
c. Luego queda: verdadero o falso
d. Finalmente el resultado es: verdadero

“Como el orden de mayor a menor prioridad de los operadores lógicos es no, y, o, primero queda
entre paréntesis (no C), luego (B y (no C)) y finalmente queda A o ( B y (no C))”.

Para finalizar el módulo y atendiendo a que se han definido los operadores y se han realizado varios ejemplos,
vamos a realizar un algoritmo más complejo que puede realizar una comparación de datos del tipo carácter
que serán ingresados a través de teclado y se requiere que a la salida se escriba un mensaje en pantalla de si
se encuentran en orden alfabético.

EJEMPLO

var
carácter: a,b
inicio
leer (a,b)
si a < b entonces
escribir (‘están en orden alfabético’)
si_no
si a = b entonces
escribir (‘son iguales’)
si_no
escribir (‘no están en orden alfabético’)
fin_si
fin_si
fin
Área: NEGOCIOS M1
Curso: PENSAMIENTO ALGORÍTMICO Pág. 16

Introducción al pensamiento algorítmico y datos


Se puede apreciar que los datos ingresados por teclado se obtienen a través de la instrucción ‘leer (a,b)’. En
este caso usamos un bloque de decisión a través de la instrucción ‘si’ que compara ambas variables que fueron
definidas como tipo carácter. Si a es menor que b en orden alfabético, entonces se escribe el mensaje que
están en orden alfabético y si no es así, compara nuevamente para ver si son iguales, si es así, se escribe el
mensaje que son iguales y si no es así, entonces por descarte escribe que no están en orden alfabético.

Cierre
Al completar el estudio de este módulo hemos conocido y aprendido de los siguientes temas:

a. Estructura de un algoritmo compuesto por los datos de entrada, de salida y el proceso, con el fin de tener
la base necesaria para profundizar con más detalle en las próximas unidades sobre las propiedades y partes
de un algoritmo.

b. Un algoritmo se desarrolla en base a un análisis del problema y el diseño del algoritmo. Este aprendizaje
será bastante útil en las unidades siguientes para poder construir y representar algoritmos a través de
diagramas de flujo.

c. Existen tipos de datos que pueden ser variables, constantes y expresiones que están compuestos por
operandos y operadores aritméticos, lógicos, de relación y concatenación. Todos los componentes
anteriores serán integrados en próxima unidad cuando se vea con más detalle la construcción de
expresiones más complejas del tipo aritméticas y lógicas.

d. Resolución y diseño de algoritmos de cálculo con distintos operadores, variables y tipos de datos en forma
básica con el fin de poder desarrollar en las próximas unidades, tipos de algoritmos basados en
instrucciones repetitivas y relaciones de recurrencia.

Sin duda que los aprendizajes logrados en este módulo servirán como base para profundizar con más detalle
en algoritmos más complejos que serán vistos en las próximas unidades de esta asignatura.

APORTE A TU FORMACIÓN

El resultado del aprendizaje del módulo permitirá al alumno poder comenzar con cualquier tipo de diseño de
algoritmo para buscar una solución a una problemática en la vida cotidiana o en el contexto productivo de una
empresa ya que cuenta con la base del pensamiento algorítmico.
El alumno podrá disponer de las herramientas básicas para comenzar a desarrollar procedimientos que se utilicen en
una empresa para poder resolver múltiples problemáticas o requerimientos y generar los entregables específicos y
generales.

También podría gustarte