Está en la página 1de 20

Universidad Autónoma de Sinaloa

Facultad de Ingeniería Mochis


Licenciatura en Ingeniería de Software
Modalidad Virtual

Asignatura:

Algoritmos y Lógica Computacional

Profesor:

M.I.A. Rocío Jacqueline Becerra Urquídez

Unidad I
Fundamentos Teóricos
Universidad Autónoma de Sinaloa
Facultad de Ingeniería Mochis
Licenciatura en Ingeniería de Software
Modalidad Virtual

Contenido
Presentación de la unidad ............................................................................................................. 3
Competencia específica ................................................................................................................ 3
Recursos complementarios ........................................................................................................... 3
Definición de Algoritmo ................................................................................................................ 4
Características de un algoritmo .................................................................................................... 5
Tipos de algoritmos ....................................................................................................................... 6
Lenguajes algorítmicos .................................................................................................................. 6
Metodología para la solución de problemas por medio de la computadora ............................... 7
Definición del Problema ............................................................................................................ 8
Análisis del Problema ................................................................................................................ 8
Diseño de la Solución ................................................................................................................ 9
Codificación ............................................................................................................................... 9
Pruebas y Depuración ............................................................................................................. 10
Documentación ....................................................................................................................... 10
Mantenimiento ....................................................................................................................... 11
Tipos de Datos ............................................................................................................................. 11
Tipos de Datos Simples ........................................................................................................... 12
Arreglos ................................................................................................................................... 12
Identificadores ............................................................................................................................ 13
Constantes................................................................................................................................... 14
Variables ...................................................................................................................................... 14
Clasificación de las Variables ................................................................................................... 15
Operadores y su jerarquía ........................................................................................................... 16
Expresiones ............................................................................................................................. 16
Operadores.............................................................................................................................. 16
Jerarquía de los operadores .................................................................................................... 19
Universidad Autónoma de Sinaloa
Facultad de Ingeniería Mochis
Licenciatura en Ingeniería de Software
Modalidad Virtual

Presentación de la unidad
Esta unidad presenta los conceptos básicos que se requieren conocer y comprender para
poder introducirse al diseño de algoritmos y poder así construir soluciones a problemas
computacionales.

Competencia específica
El alumno identificará los fundamentos teóricos necesarios para el desarrollo de algoritmos
computacionales.

Recursos complementarios
¿Quieres ser Ingeniero de Software?

https://www.youtube.com/watch?v=c1zXL4eiVSk

Todo el mundo debería saber programar

https://www.youtube.com/watch?v=1bDK1-U1edE

Futuro de la Ingeniería de Software

https://www.youtube.com/watch?v=70uNmsgen7U
Universidad Autónoma de Sinaloa
Facultad de Ingeniería Mochis
Licenciatura en Ingeniería de Software
Modalidad Virtual

Definición de Algoritmo
Los problemas que se plantean en la vida diaria suelen ser resueltos mediante el uso de la
capacidad intelectual y la habilidad manual del ser humano. La utilización de la computadora
en la resolución de problemas aporta grandes ventajas, como son la rapidez de ejecución y la
confiabilidad de los resultados obtenidos.

En la actualidad, los sistemas de computadoras consisten en un enorme conjunto de


elementos de circuitos (hardware) y programación (software), que se han diseñado para
proporcionar a la computación un ambiente productivo y agradable.

Muchos de los problemas acarrean complicados cálculos, así como la utilización de grandes
cantidades de datos; esto nos causa muchos problemas ya que el riesgo de equivocarse es muy
grande, y también con la utilización de grandes cantidades de datos el trabajo se convierte en
pesado y rutinario. Mediante la computadora se eliminan estos problemas, pues su capacidad
se basa en la rapidez, la precisión y memoria.

Sin embargo la computadora no puede hacer todo por si sola. Es preciso que se le describa con
detalle y en su lenguaje, todos los pasos que tiene que realizar para la resolución del
problema. Esta descripción es lo que se conoce como programa de computadora, este dirigirá
el funcionamiento de la máquina en la resolución del problema.

La primer decisión que hay que tomar cuando se crea un programa, es contestar a las
preguntas: ¿Qué es lo que el programa se supone que va a hacer?, ¿cuál es el problema que se
va a resolver?, ¿Qué tarea va a realizar nuestro programa? Cuanto más se detalle la
descripción, más fácil será lograr resultados.

La computadora no solamente es una máquina que puede realizar procesos para darnos
resultados, sin que tengamos la noción exacta de las operaciones que realiza para llegar a esos
resultados. Con la computadora además de lo anterior también podemos diseñar soluciones a
la medida, de problemas específicos que se nos presenten. Más aún, si estos involucran
operaciones matemáticas complejas y/o repetitivas, o requieren del manejo de un volumen
muy grande de datos.

El diseño de soluciones a la medida de nuestros problemas, requiere como en otras disciplinas


una metodología que nos enseñe de manera gradual, la forma de llegar a estas soluciones, de
lo cual se encargan los programas.

Para poder realizar programas, además de conocer la metodología mencionada, también


debemos de conocer, de manera específica las funciones que pueden realizar la computadora
y las formas en que se pueden manejar los elementos que hay en la misma.

La escritura de un programa de computadora consiste normalmente en implementar un


método de resolución de un problema, que se ha diseñado previamente. Con frecuencia este
método es independiente de la computadora utilizada: es igualmente válido para muchas de
ellas. En cualquier caso es el método, no el programa, el que debe estudiarse para comprender
cómo está siendo abordado el problema.
Universidad Autónoma de Sinaloa
Facultad de Ingeniería Mochis
Licenciatura en Ingeniería de Software
Modalidad Virtual

El objetivo del diseño estructurado de algoritmos es obtener la estructura modular y los


detalles de proceso de un algoritmo. No se trata solamente de desarrollar un programa que
“funcione”, sino que también sea fácil de mantener, que mejore su reutilización y se pueda
probar y entender fácilmente.

El término algoritmo es muy anterior a la era informática: proviene de Mohammed al-


Khowārizmī (apellido que se tradujo al latín empleando la palabra “algoritmus”), matemático
persa del siglo IX que enunció paso a paso las reglas para sumar, restar, multiplicar y dividir
números decimales.

Un algoritmo se define como una serie de pasos finitos y organizados que describen el proceso
que se debe seguir para dar solución a un problema específico.

Es un conjunto de instrucciones que especifican la secuencia ordenada de operaciones a


realizar para resolver un problema. En otras palabras, un algoritmo es un método o fórmula
para la resolución de un problema. Un algoritmo es independiente tanto del lenguaje de
programación en que se exprese como del ordenador en el que se ejecute.

Un algoritmo está compuesto por:

1. La etapa de entrada. Indica los datos que son necesarios para la solución del problema
en cuestión.
2. La etapa de proceso o procesamiento. Es donde se realizan las operaciones que tienen
que ver con la solución del problema.
3. La etapa de salida. Es donde se mostrarán los resultados obtenidos en el
procesamiento.

Características de un algoritmo

1. Debe tener un punto particular de inicio.


2. Precisión. El algoritmo debe indicar el orden exacto de ejecución de cada tarea.
3. Debe ser definido, no debe permitir dobles interpretaciones (ambigüedades).
Universidad Autónoma de Sinaloa
Facultad de Ingeniería Mochis
Licenciatura en Ingeniería de Software
Modalidad Virtual

4. Si se sigue el algoritmo dos o más veces con los mismos datos de entrada, se deben
obtener los mismos datos de salida.
5. Debe ser general, es decir, soportar la mayoría de las variantes que se puedan
presentar en la definición del problema.
6. Debe ser finito en tamaño y tiempo de ejecución. El algoritmo debe terminar en algún
momento y debe usar una cantidad de recursos finita.

Tipos de algoritmos
En base a su naturaleza, existen dos tipos de algoritmos:

1. Cualitativos: Son aquellos en los que se describen los pasos utilizando palabras.
Ejemplos:

 Cambio de un foco fundido.


 Consulta de una guía telefónica.
 Consulta de un diccionario.

2. Cuantitativos: Son aquellos en los que se utilizan cálculos numéricos para definir los
pasos del proceso.
Ejemplos:

 Elaboración de la nómina de una empresa.


 Cálculo del área de una figura plana.

Lenguajes algorítmicos

Los lenguajes algorítmicos nos proporcionan metodologías que permiten representar


cualquier problema (o casi cualquiera) para posteriormente expresarlo en un lenguaje de
computadora. De lo anterior podemos concluir que, expresando correctamente un problema
mediante un algoritmo, podemos representarlo en cualquier lenguaje de programación.

Un Lenguaje algorítmico es una serie de símbolos y reglas que se utilizan para describir de
manera explícita un proceso.

Tipos de lenguajes algorítmicos

Gráficos: Es la representación gráfica de las operaciones que realiza un algoritmo (diagrama de


flujo).
Universidad Autónoma de Sinaloa
Facultad de Ingeniería Mochis
Licenciatura en Ingeniería de Software
Modalidad Virtual

No Gráficos: Representa en forma descriptiva las operaciones que debe realizar un algoritmo
(pseudocodigo).

Pseudocódigo es una combinación entre lenguaje natural y lenguaje de programación.

INICIO
Edad: Entero
ESCRIBA “cual es tu edad?”
Lea Edad
SI Edad >=18 entonces
ESCRIBA “Eres mayor de Edad”
SI Edad >=70
ESCRIBA “Eres un adulto mayor”
FINSI
FINSI
ESCRIBA “fin del algoritmo”
FIN

Actividad 1.1 Investigar los símbolos que se utilizan para elaborar diagramas de flujo (Incluir
figura y una breve descripción de para qué se utiliza). Revisar las especificaciones de la
actividad en la plataforma.

Metodología para la solución de problemas por medio de la


computadora
La solución de un problema por computadora, requiere de siete pasos, dispuestos de tal forma
que cada uno es dependiente de los anteriores, lo cual indica que se trata de un proceso
complementario y por lo tanto cada paso exige el mismo cuidado en su elaboración. Los siete
pasos de la metodología son los siguientes:

1. Definición del Problema


2. Análisis de los Datos (del Problema o de la solución)
3. Diseño de la Solución
4. Codificación
Universidad Autónoma de Sinaloa
Facultad de Ingeniería Mochis
Licenciatura en Ingeniería de Software
Modalidad Virtual

5. Pruebas y Depuración
6. Documentación
7. Mantenimiento

Definición del Problema

Esta fase está dada por el enunciado del problema, el cual requiere una definición clara y
precisa. Es importante que se conozca lo que se desea que realice la computadora; mientras
esto no se conozca del todo no tiene mucho caso continuar con la siguiente etapa.

Consiste en la obtención sin ambigüedades de una visión general y clara del problema.

Análisis del Problema

Una vez que se ha comprendido lo que se desea de la computadora, es necesario definir:

- Los datos de entrada.


- Cuál es la información que se desea producir (salida)
- Los métodos y fórmulas que se necesitan para procesar los datos.

Consiste en establecer una serie de preguntas acerca de lo que establece el problema, para
poder determinar si se cuenta con los elementos suficientes para llevar a cabo la solución del
mismo, algunas preguntas son:

¿Con qué cuento? Cuáles son los datos con los que se va a iniciar el proceso, qué tenemos que
proporcionarle a la computadora y si los datos con los que cuento son suficientes para dar
solución al problema.

¿Qué hago con esos datos? Una vez que tenemos todos los datos que necesitamos, debemos
determinar qué hacer con ellos, es decir que fórmula, cálculos, que proceso o transformación
deben seguir los datos para convertirse en resultados.

¿Qué se espera obtener? Que información deseamos obtener con el proceso de datos y de
qué forma presentarla; en caso de la información obtenida no sea la deseada replantear
nuevamente un análisis en los puntos anteriores.
Universidad Autónoma de Sinaloa
Facultad de Ingeniería Mochis
Licenciatura en Ingeniería de Software
Modalidad Virtual

Es recomendable que nos pongamos en el lugar de la computadora y analicemos que es lo que


necesitamos que nos ordenen y en que secuencia para producir los resultados esperados.

Una recomendación muy práctica es el de colocarse en el lugar de la computadora y analizar


qué es lo que se necesita que se ordene y en qué secuencia para producir los resultados
esperados.

Diseño de la Solución

Una computadora no tiene capacidad para solucionar problemas más que cuando se le
proporcionan los sucesivos pasos a realizar, esto se refiere a la obtención de un algoritmo que
resuelva adecuadamente el problema. En caso de obtenerse varios algoritmos, seleccionar uno
de ellos utilizando criterios ya conocidos.

Esta etapa incluye la descripción del algoritmo resultante en un lenguaje natural, de diagrama
de flujo o natural de programación.

Como puede verse, solo se establece la metodología para alcanzar la solución en forma
conceptual, es decir; sin alcanzar la implementación en el sistema de cómputo.

Se denomina prueba de escritorio a la comprobación que se hace de un algoritmo para saber


si está bien hecho. Esta prueba consiste en tomar datos específicos como entrada y seguir la
secuencia indicada en el algoritmo hasta obtener un resultado, el análisis de estos resultados
indicará si el algoritmo está correcto o si por el contrario hay necesidad de corregirlo o
hacerle ajustes.

Codificación

La codificación es la operación de escribir la solución del problema (de acuerdo a la lógica del
diagrama de flujo o pseudocódigo), en una serie de instrucciones detalladas, en un código
reconocible por la computadora, la serie de instrucciones detalladas se le conoce como código
fuente, el cual se escribe en un lenguaje de programación o lenguaje de alto nivel.

Se refiere a la obtención de un programa definitivo que pueda ser comprensible para la


máquina. Incluye una etapa que se reconoce como compilación.
Universidad Autónoma de Sinaloa
Facultad de Ingeniería Mochis
Licenciatura en Ingeniería de Software
Modalidad Virtual

Pruebas y Depuración

Una vez que se ha obtenido el programa ejecutable, este es sometido a prueba a fin de
determinar si resuelve o no el problema planteado en forma satisfactoria.

Las pruebas que se le aplican son de diversa índole y generalmente dependen del tipo de
problema que se está resolviendo. Comúnmente se inicia la prueba de un programa
introduciendo datos válidos, inválidos e incongruentes y observando cómo reacciona en cada
ocasión.

Es conveniente que cuando se pruebe un programa se tomen en cuenta los siguientes


puntos:

1. Tratar de iniciar la prueba con una mentalidad saboteadora, casi disfrutando la tarea
de encontrar un error.
2. Sospechar de todos los resultados que arroje la solución, con lo cual se deberán
verificar todos.
3. Considerar todas las situaciones posibles, normales y aún las anormales.

El proceso de depuración consiste en localizar los errores y corregirlos en caso de que estos
existan. Si no existen errores, puede entenderse la depuración como una etapa de
refinamiento en la que se ajustan detalles para optimizar el desempeño del programa.

Documentación

Es la guía o comunicación escrita es sus variadas formas, ya sea en enunciados,


procedimientos, dibujos o diagramas. A menudo un programa escrito por una persona, es
usado por otra. Por ello la documentación sirve para ayudar a comprender o usar un programa
o para facilitar futuras modificaciones (mantenimiento). La documentación se divide en tres
partes:

- Documentación Interna: Son los comentarios o mensajes que se añaden al código


fuente para hacer más claro el entendimiento de un proceso.

- Documentación Externa: También conocida como Manual Técnico, está integrada por
los siguientes elementos:

o Descripción del Problema


o Nombre del Autor
o Algoritmo (diagrama de flujo o pseudocódigo)
o Diccionario de Datos (Lista de variables y constantes)
o Código Fuente (programa)

- Manual del Usuario: Describe paso a paso la manera cómo funciona el programa, con
el fin de que el usuario obtenga el resultado deseado. Es la documentación que se le
proporciona al usuario final, es una guía que indica el usuario como navegar en el
Universidad Autónoma de Sinaloa
Facultad de Ingeniería Mochis
Licenciatura en Ingeniería de Software
Modalidad Virtual

programa, presentando todas las pantallas y menús que se va a encontrar y una


explicación de los mismos, no contiene información de tipo técnico.

Debido a que el programa resultante en esta etapa se encuentra totalmente depurado (sin
errores), se procede a la utilización para resolver problemas del tipo que dio origen a su
diseño.

En vista de que esta utilización no podrá ser supervisada en todas las ocasiones por el
programador, debe crearse un manual o guía de operación que indique los pasos a seguir para
utilizar el programa.

Mantenimiento

Se lleva acabo después de terminado el programa, cuando se detecta que es necesario hacer
algún cambio, ajuste o complementación al programa para que siga trabajando de manera
correcta. Para poder realizar este trabajo se requiere que el programa este correctamente
documentado.

Se refiere a las actualizaciones que deban aplicarse al programa cuando las circunstancias así
lo requieran. Este programa deberá ser susceptible de ser modificado para adecuarlo a nuevas
condiciones de operación.

Cualquier actualización o cambio en el programa deberá reflejarse en su documentación.

Actividad 1.2 Elabora un algoritmo cualitativo sobre una receta de cocina aplicando las
características de un algoritmo y la metodología
dsdas fgfdg que se vieron en los temas anteriores. Revisar
las especificaciones de la actividad en la plataforma.

Tipos de Datos
Un dato es Información concreta sobre hechos, elementos, etc., que permite estudiarlos,
analizarlos o conocerlos.

Todos los datos tienen un tipo asociado con ellos. Un dato puede ser un simple caracter, tal
como ‘b’, un valor entero tal como 35.

El tipo de dato determina la naturaleza del conjunto de valores que puede contener dicho
dato.
Universidad Autónoma de Sinaloa
Facultad de Ingeniería Mochis
Licenciatura en Ingeniería de Software
Modalidad Virtual

Tipos de Datos Simples

Datos Numéricos:
Permiten representar valores escalares de forma numérica, esto incluye a los números enteros
y los reales. Este tipo de datos permiten realizar operaciones aritméticas comunes.

Datos alfanuméricos (cadena):


Es una secuencia de caracteres alfanuméricos que permiten representar valores identificables
de forma descriptiva, esto incluye nombres de personas, direcciones, etc. Es posible
representar números como alfanuméricos, pero estos pierden su propiedad matemática, es
decir no es posible hacer operaciones con ellos. Este tipo de datos se representan encerrados
entre comillas.

EDAD = 17 NUMÉRICO
TELEFONO = ‘(668) 812-12-12’ ALFANUMÉRICO
DIRECCION = “CALLE XYZ NTE. #123 INT. 4” ALFANUMÉRICO
ESTATURA = 1.70 NUMÉRICO
CALIFICACION = 8.5 NUMÉRICO

Datos lógicos:
Son aquellos que solo pueden contener uno de dos valores (falso o verdadero) ya que
representan el resultado de una comparación entre otros datos (numéricos o alfanuméricos).

TIENES_BECA = TRUE (VERDADERO)


DISPONIBILIDAD_VIAJAR = FALSE (FALSO)

Arreglos

Los arreglos son una colección de datos del mismo tipo que se referencian utilizando un
nombre común. Un arreglo consta de posiciones de memoria continuas. La dirección más baja
Universidad Autónoma de Sinaloa
Facultad de Ingeniería Mochis
Licenciatura en Ingeniería de Software
Modalidad Virtual

corresponde al primer elemento y la más alta al último. Para acceder a un elemento en


particular de un arreglo se usa un índice.

Los arreglos pueden tener una sola dimensión (llamados vectores o unidimensionales) o varias
dimensiones (llamados matrices o multidimensionales).

colores
“Azul” “Rojo” “Verde” “Amarillo” “Café” “Blanco”

El arreglo colores es un vector o unidimensional porque solo es una fila con varias columnas o
casillas. Cada casilla contiene un valor alfanumérico pero el dato es uno (colores). Para acceder
a cada elemento del vector utilizamos corchetes y el índice (el número de casilla).

colores[1] = “Azul”
colores[4] = “Amarillo”

agenda
“ACOSTA” “PEREZ” “CARLOS” “6688121212”
“CASTRO” “SOTO” “LUIS MICGUEL” “6671131415”
“DOMINGUEZ” “LÓPEZ” “ANA MARÍA” “6688151515”

El arreglo agenda es una matriz o arreglo multidimensional o bidimensional (dos dimensiones,


filas y columnas). En este ejemplo, las filas nos permiten hacer referencia a una persona en
particular y las columnas a sus datos, apellido paterno, apellido materno, nombres y teléfono.
Pero todos estos valores pertenecen en sí al dato agenda, Para acceder (leer o escribir) un
valor en la matriz se utilizan corchetes que encierran la fila y la columna a la que se hace
referencia.

agenda[1,1] = ‘ACOSTA
agenda[1,2] = ‘PEREZ’
agenda[1,3] = ‘CARLOS
agenda[1,4] = ‘6688121212’
agenda[2,3] = “LUIS MIGUEL”

Identificadores
Los identificadores representan los datos de un programa (constantes, variables, tipos de
datos). Un identificador es una secuencia de caracteres que sirve para identificar una posición
en la memoria de la computadora, que permite acceder a su contenido.

Reglas para formar un identificador

1. Debe comenzar con una letra (A-Z, mayúsculas o minúsculas)


2. No deben contener espacios en blanco.
Universidad Autónoma de Sinaloa
Facultad de Ingeniería Mochis
Licenciatura en Ingeniería de Software
Modalidad Virtual

3. Letras, dígitos y el carácter guión bajo (_) están permitidos después del primer
carácter.
4. La longitud de identificadores puede ser de varios caracteres. Pero es recomendable
una longitud promedio de 8 caracteres.
5. El nombre del identificador debe dar una idea del valor que contiene.

Ejemplos de identificadores válidos: Ejemplos de Identificadores inválidos:


nombre1 1nombre
edad_alumno edad-alumno
telefono #telefóno
fecha_nac fecha de nacimiento
nombre_apellidos nombre&apellidos

Actividad 1.3. Haz una lista de quince identificadores válidos y quince no válidos. Revisar las
especificaciones de la actividad en la plataforma.

Constantes
Una constante es un dato numérico o alfanumérico que no cambia durante la ejecución del
programa.

Por ejemplo, si queremos calcular el área de un círculo, el dato pi siempre valdrá 3.1416 a
diferencia del radio que dependiendo del círculo tendrá una medida diferente.

Es importante notar que el valor de una constante se mantiene durante la ejecución del
programa, así que si volvemos a ejecutar el programa ese dato constante podría tener un
nuevo valor que no cambiará durante esa ejecución.

Por ejemplo en un programa que permita capturar calificaciones de alumnos de un grupo y


calcular su promedio. Un dato constante podría ser la matrícula del profesor, o el nombre del
grupo, ya que esos datos no cambiarán en la misma ejecución. Cuando se requiera utilizar el
programa para capturar las calificaciones de otro grupo o se cambie de maestro entonces esos
datos tendrán nuevos valores pero se conservan en toda la ejecución del programa.

Variables
Una variable es un espacio en la memoria de la computadora que permite almacenar
temporalmente un dato durante la ejecución de un proceso, su contenido puede cambiar
durante la ejecución del programa.

Para poder reconocer una variable en la memoria de la computadora, es necesario darle un


nombre con el cual podamos identificarla.
Universidad Autónoma de Sinaloa
Facultad de Ingeniería Mochis
Licenciatura en Ingeniería de Software
Modalidad Virtual

Ejemplo:
area = pi * radio ^ 2

Las variables son: el radio, el área y la constate es pi

Clasificación de las Variables

Por su contenido

 Variables Numéricas: Son aquellas en las cuales se almacenan valores numéricos,


positivos o negativos, es decir almacenan números del 0 al 9, signos (+ y -) y el punto
decimal.

Ejemplo:
iva = 0.15 pi = 3.1416 costo = 2500

 Variables Lógicas: Son aquellas que solo pueden tener dos valores (cierto o falso)
estos representan el resultado de una comparación entre otros datos.

 Variables Alfanuméricas: Está formada por caracteres alfanuméricos (letras, números


y caracteres especiales).
Ejemplo:
letra = ’a’
apellido = ’lopez’
direccion = ’Av. Libertad #190’

Por su uso

 Variables de Trabajo: Variables que reciben el resultado de una operación matemática


completa y que se usan normalmente dentro de un programa.

Ejemplo:
Suma = a + b /c

 Contadores: Se utilizan para llevar el control del número de ocasiones en que se


realiza una operación o se cumple una condición. Con los incrementos generalmente
de uno en uno.

 Acumuladores: Forma que toma una variable y que sirve para llevar la suma
acumulativa de una serie de valores que se van leyendo o calculando progresivamente.
Universidad Autónoma de Sinaloa
Facultad de Ingeniería Mochis
Licenciatura en Ingeniería de Software
Modalidad Virtual

Por ejemplo, en un programa para calcular el promedio grupal, una variable de trabajo podría
ser promedio_grupal, una variable contador sería la que nos permita llevar el conteo de
cuántos alumnos hay en el grupo y una variable acumulador sería la que lleve la suma de las
calificaciones de cada alumno.

contador_alumnos = 30
acumulador_calificaciones = 210
promedio_grupal = acumulador_calificaciones / contador_alumnos
promedio_grupal = 210 / 30 = 7.0

Operadores y su jerarquía

Expresiones

Las expresiones son combinaciones de constantes, variables, símbolos de operación,


paréntesis y nombres de funciones especiales.

Por ejemplo:
a + (b + 3) / c

Cada expresión toma un valor que se determina tomando los valores de las variables y
constantes implicadas y la ejecución de las operaciones indicadas. Una expresión consta de
operadores y operandos. Según sea el tipo de datos que manipulan, se clasifican las
expresiones en:

 Aritméticas
 Relacionales
 Lógicas

Operadores

Son elementos que relacionan de forma diferente, los valores de una o más variables y/o
constantes. Es decir, los operadores nos permiten manipular valores.

Operadores Aritméticos

Los operadores aritméticos permiten la realización de operaciones matemáticas con los


valores (variables y constantes). Los operadores aritméticos pueden ser utilizados con tipos de
datos enteros o reales. Si ambos son enteros, el resultado es entero; si alguno de ellos es real,
el resultado es real.
Universidad Autónoma de Sinaloa
Facultad de Ingeniería Mochis
Licenciatura en Ingeniería de Software
Modalidad Virtual

+ Suma
- Resta
* Multiplicación
/ División
MOD ó % Módulo (residuo de la división entera)
^ Exponenciación

Ejemplos:
Expresión Resultado
7/2 3.5
12 MOD 7 5
4+2*5 14

Prioridad de los Operadores Aritméticos

Todas las expresiones entre paréntesis se evalúan primero. Las expresiones con paréntesis
anidados (unos dentro de otros) se evalúan de dentro a fuera, el paréntesis más interno se
evalúa primero.

Dentro de una misma expresión los operadores se evalúan en el siguiente orden:

1. ^ Exponenciación
2. *, /, MOD Multiplicación, división, modulo.
3. +, - Suma y resta.

***Los operadores en una misma expresión con igual nivel de prioridad se evalúan de
izquierda a derecha.

Operadores Relacionales

Se utilizan para establecer una relación entre dos valores. Luego compara estos valores entre
si y esta comparación produce un resultado de certeza o falsedad (verdadero o falso). Los
operadores relacionales comparan valores del mismo tipo (numéricos o cadenas). Estos tienen
el mismo nivel de prioridad en su evaluación.

Los operadores relaciónales tiene menor prioridad que los aritméticos.

> Mayor que


< Menor que
Universidad Autónoma de Sinaloa
Facultad de Ingeniería Mochis
Licenciatura en Ingeniería de Software
Modalidad Virtual

>= Mayor o igual que


<= Menor o igual que
<> o != Diferente
== o = Igual

Ejemplos:
Si a = 10, b = 20, c = 30

a+b>c Falso
a-b<c Verdadero
a - b == c Falso

a * b <> c Verdadero

Operadores Lógicos

Estos operadores se utilizan para establecer relaciones entre valores lógicos. Estos valores
pueden ser resultado de una expresión relacional.

AND Y && Conjunción


OR O || Disyunción
NOT NO ! Negación

Para trabajar con operadores lógicos debemos conocer las tablas de verdad que nos permiten
saber cómo evaluar una expresión lógica dependiendo del operador.

A NOT A
El operador NOT niega o invierte el valor del
V F operando, si es Verdadero lo convierte en Falso y
viceversa.
F V

A B A AND B

V V V
El operador AND requiere que los dos operandos
V F F sean Verdaderos para que el resultado sea
Verdadero.
F V F

F F F
Universidad Autónoma de Sinaloa
Facultad de Ingeniería Mochis
Licenciatura en Ingeniería de Software
Modalidad Virtual

A B A OR B

V V V
El operador OR requiere que al menos un
V F V operando sea Verdadero para que el resultado sea
Verdadero.
F V V

F F F

Prioridad de los Operadores Lógicos

1. NOT
2. AND
3. OR

Jerarquía de los operadores

Operadores Jerarquía

() Mayor

*, /, DIV, MOD

+, -

==, <>, <, <=, >, >=

NOT

AND

OR Menor

Ejemplos de expresiones y jerarquía de operadores:

1. 8 + 3 * 5 =
8 + 15 = 23 La multiplicación tiene prioridad sobre la suma, así que se
resuelve primero.
2. (8 + 3) * 5 =
Universidad Autónoma de Sinaloa
Facultad de Ingeniería Mochis
Licenciatura en Ingeniería de Software
Modalidad Virtual

11 * 5 = 55 Los paréntesis tienen prioridad así que se resuelve primero la


suma que está dentro de los paréntesis y después se
multiplica.
3. 4 – 3 * 6 MOD 3 =
4 – 18 MOD 3 = La multiplicación y el módulo tienen la misma prioridad, pero
la multiplicación aparece primero entonces se inicia por la
multiplicación.

4–0=4 18 MOD 3 se obtiene dividiendo 18 entre 3, lo cual nos da 6 y


sobra 0, el 0 es el residuo que corresponde a la operación
MOD. Por último se realiza la resta.

a = 4, b = 5, c = 8

4. NOT (b * c > 30) =


NOT (5 * 8 > 30) = Cuando la expresión tiene variables, lo primero es sustituir por
los valores
NOT (40 > 30) = La multiplicación tiene prioridad, luego se realiza la
comparación del mayor que (>).
NOT (V) = F 40 es mayor que 30 por lo tanto nos da verdadero (V) pero
todo lo que estaba en el paréntesis se estaba negando con el
NOT así que se convierte en falso (F).
5. a * c MOD (c - b) >= c * b / a =
4 * 8 MOD (8 – 5) >= 8 * 5 / 4 =
4 * 8 MOD 3 >= 8 * 5 / 4 = Los paréntesis tienen prioridad
32 MOD 3 >= 40 / 4 La multiplicación tiene prioridad
2 >= 10 = F El residuo es 2, 2 no es mayor o igual a 10 así que el
resultado es Falso (F)

Actividad 1.4. Resuelve paso a paso los ejercicios de expresiones y jerarquía de operadores.
Revisar las especificaciones de la actividad en la plataforma.

También podría gustarte