[go: up one dir, main page]

0% encontró este documento útil (0 votos)
268 vistas28 páginas

Unidad I Algoritmos

El documento presenta la Unidad I de un curso sobre algoritmos. La unidad cubre la resolución de problemas por computadora, la descripción de algoritmos en forma narrativa y el uso de datos como constantes, variables y expresiones. El objetivo es que los estudiantes aprendan a analizar problemas, diseñar algoritmos y describirlos narrativamente usando elementos como objetivos, datos de entrada/salida y procesos requeridos.

Cargado por

Jorge Estevan
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
268 vistas28 páginas

Unidad I Algoritmos

El documento presenta la Unidad I de un curso sobre algoritmos. La unidad cubre la resolución de problemas por computadora, la descripción de algoritmos en forma narrativa y el uso de datos como constantes, variables y expresiones. El objetivo es que los estudiantes aprendan a analizar problemas, diseñar algoritmos y describirlos narrativamente usando elementos como objetivos, datos de entrada/salida y procesos requeridos.

Cargado por

Jorge Estevan
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 28

Algoritmos – Unidad I

________________________________________________

UNIDAD I

ALGORITMOS Y PROGRAMAS

Objetivo de la Unidad:

Al finalizar la Unidad el estudiante estará en capacidad de:

Describir Algoritmos en forma narrada, definir los tipos de datos


manejados por los ordenadores, declarar constantes y variables para el
tratamiento de la información, realizar proceso con los operadores
aritméticos, relacionales, lógicos y de asignación teniendo en cuenta
sus prioridades en la ejecución y declarar identificadores respetando las
reglas para dar su definición.

Contenido temático:

• Resolución de problemas por computadora


• Fase de resolución de problemas
• Análisis del problema
• Diseño del Algoritmo
• Verificación del algoritmos
• Fase de implementación
• Descripción de Algoritmos en forma narrada
• Datos
• Constantes
• Variables
• Expresiones
• Operadores
• Aritméticos
• Relacionales
• Lógicos
• Asignación
• Evaluación de expresiones
• Reglas para la construcción de identificadores

Ing. Oswaldo Basurto G. Mg. 1


Algoritmos – Unidad I

________________________________________________

1.1. Algoritmos y Programas

1.1.1. Fase de resolución del problema

En esta fase incluye el análisis del problema así como el diseño y posterior
verificación del algoritmo.

Análisis del Codificación del


problema algoritmo

Diseño del Ejecución del


Algoritmo programa

Verificación del
Verificación del
programa
algoritmo
Fase de resolución del problema Fase de implementación en un Lenguaje de
Programación

1.1.1.1. Análisis del Problema

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.

En este punto se debe centrar en el objetivo, los datos de entrada (información


dada al algoritmo), los procesos (operaciones o cálculos necesarios) y los
datos de salida o resultados finales (respuesta dada por el algoritmo).

1.1.1.2. Diseño del Algoritmo

Un algoritmo puede ser definido como una secuencia ordenada de pasos, sin
ambigüedades, que conducen a la solución de un problema y expresado en
lenguaje natural. Nuestra vida cotidiana está cargada de algoritmos, existiendo
algoritmos matemáticos, deportivos, químicos, etc.

Todo algoritmo debe ser:

Ing. Oswaldo Basurto G. Mg. 2


Algoritmos – Unidad I

________________________________________________

Preciso.- Tienen un orden para cada uno de los pasos

Definido.- Si se sigue el algoritmo varias veces proporcionándole los


mismos datos, se debe obtener siempre los mismos resultados.

Finito.- Al seguir el algoritmo, este debe tener un número finito de


pasos, es decir debe tener un fin.

El lenguaje algorítmico debe ser independiente de cualquier lenguaje de


programación pero fácilmente traducible a cada uno de ellos. Para alcanzar los
objetivos se utilizan técnicas o métodos normalizados para la representación de
algoritmos, tales como: Diagramas de Flujo, Diagramas de Caja (N-S) O
Seudocódigos.

1.1.1.3. Verificación de Algoritmos

Una vez que se ha terminado de escribir un algoritmo es necesario comprobar


que realiza las tareas para las que se ha diseñado y produce el resultado
correcto y esperado, esta fase se la conoce como LA PRUEBA DE
ESCRITORIO.

1.1.2. Fase de Implementación

Una vez que el algoritmo esta diseñado mediante una herramienta de


programación y verificado se debe pasar a la fase de codificación en un
lenguaje de programación, la ejecución y comprobación del programa en el
ordenador.

1.2. Descripción de Algoritmos en forma Narrada

Se basa en el lenguaje natural de las personas, sin ninguna técnica precisa,


por lo que se corre el riesgo de distorsionar el verdadero sentido de lo que se
pretende hacer en el programa.

Para desarrollar un algoritmo en forma narrada se debe identificar en el


enunciado del problema tres elementos que son:

 1.- El objetivo (a donde debo llegar)

 2.- Elementos constitutivos (con que cuento)

 3.- El o los condicionantes (se deben respetar)

Ing. Oswaldo Basurto G. Mg. 3


Algoritmos – Unidad I

________________________________________________

1.2.1. Ejemplos de Algoritmos Narrados

Ejercicio Nro. 1: Diseñar un algoritmo que permita describir los pasos


necesarios que realiza una persona para levantarse de la cama en un
día norma y sin despertador (la persona ya esta dormida).

Desarrollo:

Objetivo: Levantarse de la cama

Elementos Constitutivos: Persona, cama, reloj

Condicionante (s): Día normal y sin despertador

1.- Despertarse

2.- Abrir los ojos

3.- Mirar la hora


Cuando hacemos una
4.- Es hora de levantarse? pregunta solo podrá
ejecutarse solamente lo
SI - Paso 5 especificado por el SI o por el
NO
NO - Sigo Durmiendo

5.- Levantarse

6.- Fin

Prueba de Escritorio

Ing. Oswaldo Basurto G. Mg. 4


Algoritmos – Unidad I

________________________________________________

Ejercicio Nro. 2: Se tiene 2 recipientes plásticos de 4 y 5 litros


respectivamente, se cuenta además con agua en abundancia ,se desea dejar
en el recipiente de 4 litros exactamente 2 litros ,los recipientes no tienen
ninguna marca de medida.

Desarrollo:

Objetivo : Dejar 2 litros en el recipiente de 4

Elementos Constitutivos : 2 recipientes , agua abundante

El o los condicionantes : Los recipientes no tienen marca


de medida.

1. Lleno el recipiente de 5 ltrs

2. Paso del de 5 ltrs al de 4 ltrs

3. Boto el contenido del de 4 ltrs

4. Paso del de 5ltrs al de 4 ltrs

5. Lleno el recipiente de 5 ltrs

6. Paso del de 5 ltrs al de 4 ltrs

7. Boto el contenido del de 4 ltrs

8. Paso del de 5ltrs al de 4 ltrs

9. Fin

Prueba de Escritorio
Paso 5ltrs. 4ltrs. Paso 5ltrs. 4ltrs.

Ing. Oswaldo Basurto G. Mg. 5


Algoritmos – Unidad I

________________________________________________

Ejercicio Nro. 3: Optimizando el ejercicio anterior.

Como vemos en el ejercicio anterior, los pasos del 1 al 4 son


exactamente los mismos que del 5 al 8, por lo que debemos buscar la
forma de no repetir la escritura de los pasos pero que si se ejecuten
porque son necesarios para llegar al objetivo. La solución sería:

Objetivo : Dejar 2 litros en el recipiente de 4


Elementos Constitutivos : 2 recipientes , agua abundante
El o los condicionantes : Los recipientes no tienen marca
de medida.
Desarrollo:

Inicio

Repetir

 Lleno el recipiente de 5 ltrs

 Paso del de 5 ltrs al de 4 ltrs

 Boto el contenido del de 4 ltrs

 Paso del de 5ltrs al de 4 ltrs

Mientras (¿están < de 2 ltrs. en el de 4 ltrs?).

Fin

Prueba de Escritorio
5ltrs. 4ltrs.

Si la respuesta a la
condición mientras
está menos de 2
litros en el de 4ltrs.
sea verdadera, se
repite el proceso,
cuando sea falso se
termina el algoritmo
FIN
Ing. Oswaldo Basurto G. Mg. 6
Algoritmos – Unidad I

________________________________________________

Ejercicio Nro. 4: Que cambios se deberían hacer en el algoritmo


anterior para poder dejar (N) litros en el de 4ltrs., donde N es un número
entre 1 y 4 ltrs. posibles que puede almacenar el recipiente.

Desarrollo:

Objetivo : Dejar (N) litros en el recipiente de 4 ltrs.

Elementos Constitutivos : 2 recipientes , agua abundante

El o los condicionantes : Los recipientes no tienen marca


de medida.

Inicio

Cuántos litros desea dejar en el de 4ltrs. (N)

Repetir

 Lleno el recipiente de 5 ltrs

 Paso del de 5 ltrs al de 4 ltrs

 Boto el contenido del de 4 ltrs

 Paso del de 5ltrs al de 4 ltrs

Mientras (están < de (N) ltrs. en el de 4 ltrs).

Fin

Prueba de Escritorio

5ltrs. 4ltrs.

Si la respuesta a la
pregunta mientras
están menos de N
litros en el de 4ltrs.
sea verdadera, se
repite el proceso,
cuando sea falso se
termina el algoritmo
FIN

Ing. Oswaldo Basurto G. Mg. 7


Algoritmos – Unidad I

________________________________________________

Ejercicio Nro. 5: Se tiene 6 objetos de igual forma y tamaño uno de


ellos es más pesado. Se cuenta además con una balanza romana; se
desea encontrar el objeto más pesado, utilizando 2 veces la balanza.

Desarrollo:

Objetivo : Encontrar el objeto más pesado

Elementos Constitutivos : 6 objetos , balanza romana

El o los condicionantes : Utilizar 2 veces la balanza

1. Dividir en 2 grupos de tres (A y B)


2. Pesar A y B (1ra. pesada)

3. A > B ?
Si - En P ponga A
No - En P ponga B
4. Dividir P en 3 (P1, P2, P3)
5. Pesar P1 y P2 (2da. pesada)

6. P1 = P2 ?
Si - En R ponga P3
No - P1 > P2 ?
Si - En R ponga P1
No - En R ponga P2
7. R es el elemento más pesado
8. Fin

Ing. Oswaldo Basurto G. Mg. 8


Algoritmos – Unidad I

________________________________________________

Prueba de Escritorio

NOTA: Se asigna valores en los objetos solamente cuando realizamos la


prueba de escritorio.
Primera pesada

A B

Segunda pesada

P1 P2

Para mejor comprensión del


algoritmo, realice varias pruebas
de escritorio, poniendo el valor
para el elemento diferente en otras posiciones y compruebe paso a paso si se
llega al objetivo.

Desafío: Encuentre la solución dividiendo inicialmente en tres grupos


de 2 elementos (A, B, C).

Ejercicio Nro. 6: Se tiene 12 objetos de igual forma y tamaño uno de


ellos es más liviano. Se cuenta además con una balanza romana; se
desea encontrar el objeto más liviano, utilizando 3 veces la balanza.

Desarrollo:

Objetivo : Encontrar el objeto más liviano.

Elementos Constitutivos : 12 objetos , balanza romana

El o los condicionantes : Utilizar 3 veces la balanza

1. Dividir en 2 grupos de 6 (A y B )
2. Pesar A y B (1ra. pesada)

3. A < B ?
Si - En L ponga A
No - En L ponga B
4. Dividir L en 3 grupos de 2 ( L1, L2, L3 )
5. Pesar L1 y L2 (2da. pesada)

6. L1 = L2 ?
Ing. Oswaldo Basurto G. Mg. 9
Algoritmos – Unidad I

________________________________________________

Si - En Q ponga L3
No - L1 < L2 ?
Si - En Q ponga L1
No - En Q ponga L2
7. . Dividir Q en 2 (Q1 y Q2 )
8. Pesar Q1 y Q2 (3ra. pesada)

9. Q1 < Q2 ?
Si - En R ponga Q1
No - En R ponga Q2
10. R es el elemento más liviano
11. Fin
Prueba de Escritorio

Para mejor comprensión del algoritmo, realice varias pruebas de escritorio,


poniendo el valor para el elemento diferente en otras posiciones y compruebe
paso a paso si se llega al objetivo.

Ing. Oswaldo Basurto G. Mg. 10


Algoritmos – Unidad I

________________________________________________

1.2.2. Ejercicios propuestos

1) Se tiene 8 objetos de igual forma y tamaño, uno de ellos es más pesado,


se cuenta además con una balanza romana; encontrar el elemento más
pesado utilizando 3 veces la balanza.

2) Se tiene 9 elementos de igual forma y tamaño, uno de ellos es más


liviano, se cuenta con una balanza romana; encontrar el elemento más
liviano utilizando 2 veces la balanza.

3) Se tiene 24 objetos de igual apariencia física, uno de los cuales es más


pesado. Escribir un algoritmo que permita identificar al objeto más
pesado, utilizando una balanza romana en un máximo de 4 pesadas.

4) Se tiene 12 objetos de igual forma y tamaño, uno de ellos es más


pesado o más liviano, se cuenta con una balanza romana, encontrar el
elemento diferente y determinar y es más pesado o más liviano
utilizando 4 veces la balanza.

Ing. Oswaldo Basurto G. Mg. 11


Algoritmos – Unidad I

________________________________________________

1.3. Datos

Dato es la expresión general que describe los objetos con los cuales opera el
algoritmo. Los datos podrán ser de los siguientes tipos:

1.3.1. Numéricos

Estos datos pueden representarse en dos formas muy distintas: como números
enteros o reales

Entero.- Denominados en ocasiones números de “punto fijo”, son


aquellos que no tienen punto decimal, es decir no poseen parte
fraccionaria o decimal y pueden ser negativos, positivos e incluso el
cero. El límite de los números enteros depende del compilador del
lenguaje al que codifiquemos el programa.

Real.- Son aquellos que siempre tienen un punto decimal, por lo cual se
pueden expresar como una fracción de los números enteros, es decir, se
almacenan en la computadora como números con parte entera y parte
fraccionaria.

1.3.2. No numéricos

Son aquellos que pueden contener una combinación de todos los códigos
ASCII reconocidos por el computador.

Carácter.- Conjunto finito y ordenado de los caracteres que la


computadora reconoce (generalmente hablamos de los códigos ASCII
(Código Estándar Americano para el Intercambio de Información)).

Cadena.- Los datos de este tipo contendrán una serie finita de


caracteres que podrán ser ingresados o enviado a consola.
Ing. Oswaldo Basurto G. Mg. 12
Algoritmos – Unidad I

________________________________________________

Lógico.- Conjunto formado por los valores Verdadero o Falso (True,


False).

Al establecer un tipo para un dato hay que considerar las operaciones que
vamos a realizar con él y los instrumentos disponibles; además, se
determina la forma de representación en memoria. Los datos pueden ser
expresados como constantes, variables, expresiones o funciones.

1.3.3. Constantes

Son datos cuyo valor no cambia durante todo el desarrollo del algoritmo. Las
constantes podrán ser literales o con nombres. Las constantes simbólicas o
con nombre se identifican por su nombre y el valor asignado; tendremos
entonces:

Numéricas enteras.- En el rango de los enteros, compuestas por el


signo (+,-) seguido de una serie de dígitos (0-9). Ejemplo:
TRANSPORTE = 120, BONO = 50.

Numéricas reales.- Compuestas por el signo (+,-) seguido por una


serie de dígitos (0-9) y un punto decimal (.) Se los puede expresar
también en notación exponencial compuesto por el signo (+,-) una serie
de dígitos (0-9) y un punto decimal que constituyen la mantisa, la letra
E/e antes del exponente, el signo (+,-) y otra serie de dígitos (0-9) .
Ejemplo: iess = 0.0935, iva = 0.12, e=+1.2E+10, x=-5e-5

Lógicas.- Sólo existen dos constantes lógicas, verdadero o falso (true,


false). Ejemplo: CONTINUAR = verdadero, APROBADO = falso

Carácter.- Cualquier carácter del juego de caracteres utilizado colocado


entre somillas simples o apóstrofes. Los caracteres que reconocen las
computadoras son: dígitos (0-9), caracteres alfabéticos (mayúsculas o
minúsculas) y caracteres especiales (&,%, *, “,?). Ejemplo: OPCION =
„S‟, BORRADO = „*‟

Cadena.- Serie de caracteres válidos encerrados entre comillas


simples. Ejemplo: Mensaje = “Desea continuar”, BarraMsj = “Ingrese
datos válidos”, Acceso = “Inserte la Tarjeta”.

1.3.4. Variables

Una variable es un objeto cuyo valor puede cambiar durante la ejecución del
algoritmo. Se identifica por su nombre y por su tipo de dato y es el que
determina el conjunto de valores que podrá tomar la variable. En los
seudocódigos es obligatorio declara las variables. A las variables se les puede

Ing. Oswaldo Basurto G. Mg. 13


Algoritmos – Unidad I

________________________________________________

dar valores mediante una operación de asignación o la lectura de la variable


(ingreso de datos).

Cuando se traduce a un lenguaje de programación la declaración de variables


originará que se reserve un determinado espacio de memoria etiquetado con el
correspondiente identificador.

1.3.5. 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 podrán
ser: aritméticos, relacionales, lógicos y de asignación.

1.3.6. Operadores Aritméticos

Sirven para realizar operaciones, sumas, restas, multiplicaciones, divisiones.


La regla general dice que el resultado de cualquier operación debe ser del
mismo tipo de dato de sus dos operandos. Por ejemplo si sumamos dos
enteros el resultado es entero, si restamos dos reales el resultado es real. Si
se mezcla diferentes tipos de datos el resultado será del que tiene mayor
capacidad de almacenamiento; por ejemplo, si sumamos un número real y un
entero, el resultado será un real. Los operadores aritméticos son:

PRIORIDAD EN
OPERACIÓN SIMBOLO EJECUCIÓN

Potenciación ** primera

División / segunda

Multiplicación * segunda

Módulo Mod segunda

División entera Div segunda

Suma + tercera

Resta - tercera

Ing. Oswaldo Basurto G. Mg. 14


Algoritmos – Unidad I

________________________________________________

1.3.7. Funciones

En los lenguajes de programación existen ciertas funciones predefinidas o


internas que aceptan unos argumentos y producen un valor denominado
resultado. A continuación se indican algunas de las funciones internas más
comunes en la mayoría de los lenguajes de programación:

TIPO DE RESULTADO
FUNCIÓN SIGNIFICADO
ARGUMENTO
(X)

abs(x) Valor absoluto Entero/Real Entero/Real


arctan(x) Arco tangente Entero/Real Entero/Real
sen(x) seno Entero/Real Entero/Real
cos(x) coseno Entero/Real Entero/Real
Raíz de un número donde Entero/Real
raizN(x) N puede ser 2, 3, …
Entero/Real
redondeo(x) Redondea un número real Real Entero
trunc(x) Trunca un valor decimal Real Entero

Convierte a mayúscula un
mayúscula(x) carácter ingresado caracter caracter

Convierte a minúscula un
minúscula(x) valor ingresado caracter caracter

Devuelve la longitud de
longitud(x) una cadena cadena cadena

Las funciones se utilizarán escribiendo su nombre, seguido de los argumentos


adecuados encerrados entre paréntesis, en una expresión.

Ejemplos:

abs(-3) El resultado sería: 3

acrtan(12.34) El resultado sería: 1.4899357

cos(90) El resultado sería: 0

sen(90) El resultado sería: 1

mayúscula(a) El resultado sería: A

Ing. Oswaldo Basurto G. Mg. 15


Algoritmos – Unidad I

________________________________________________

1.3.8. Operadores de Relación

Estos operadores dan como resultado valores de tipo lógico (V o F) cuando se


aplican para comparar cualquier tipo de dato. Siempre se debe hacer la
comparación entre elementos del mismo tipo (numéricos, cadenas o
caracteres). Los operadores de relación son:

SIMBOLO SIGNIFICADO

> Mayor que

< Menor que

>= Mayor o igual que

<= Menor o igual que

= Igual que

<> Diferente que o no igual

Ejemplos:

(10 > 6) El resultado es Verdadero (V)

Número tiene un valor de 80, si aplicamos la condición:

( número <= 10) el resultado es Falso (F)

En los siguientes ejemplos, el resultado de la condición


dependerá de los valores que contengan las variables nombre
y Op.

(nombre_empleado = “Juan Perez”)

(Op = „S‟)

Si la variable nombre_empleado contiene almacenado el nombre Juan


Pérez, el resultado de la condición es VERDADERO, caso contrario es
FALSO.

Ing. Oswaldo Basurto G. Mg. 16


Algoritmos – Unidad I

________________________________________________

1.3.9. Operadores Lógicos

Los operadores lógicos son tres: NO (NOT), Y (AND), O (OR). Sirven para
realizar condiciones compuestas y dan como resultado un valor de verdad (V o
F). El siguiente cuadro resume las tablas de verdad de los operadores lógicos:

Operador Y (AND)

V V V

V F F

F V F

F F F

Operador O (OR)

V V V

V F V

F V V

F F F

Operador NO (NOT)

V F

F V

Ejemplos:

Para encontrar el valor de verdad resultante, se debe primero obtener un


resultado de la primera condición, luego de la segunda y finalmente
entre estos dos valores se establece el valor resultante de acuerdo a la
tabla de verdad del operador.

(código = „C‟) OR (precio = 100)

(A > B) AND (B > C)


Ing. Oswaldo Basurto G. Mg. 17
Algoritmos – Unidad I

________________________________________________

1.3.9. Operador de Asignación

La operación de asignación es una manera fácil de dar valores a una variable.


Se utiliza el símbolo con el siguiente formato:

Identificador valor o expresión

Donde identificador puede ser una variable que recibe el valor o el resultado de
evaluar una expresión.

Ejemplo:

A 3 => Esto significa que la variable A recibe el valor de 3

La operación de asignación es destructiva porque cualquiera que hubiera sido


el valor que la variable tenía antes de la asignación, se pierde, ya que ha sido
reemplazado por el nuevo valor. Por ejemplo, si tenemos la siguiente
secuencia:

num 0

num 2

num 10

El valor final de num es 10 ya que los valor 0 y 2 se pierde con cada asignación
posterior.

Una variable puede aparecer en ambos lados de una operación de asignación,


obteniéndose de esta forma los contadores y acumuladores.

Algunos programadores o autores de libros utilizan el signo = (igual) como


operador de asignación, lo importante al utilizar este operador es no
confundirlo con el operador relacional igual.

1.3.10. Contador

Incrementa el valor de una variable en un valor constante, por lo general de 1


en 1, denominándose variable contador. Por ejemplo, en las instrucciones:

conta 0

conta conta + 1

Ing. Oswaldo Basurto G. Mg. 18


Algoritmos – Unidad I

________________________________________________

La última instrucción significa que debe evaluarse la expresión conta + 1 con el


valor actual de conta que es (0) y luego el resultado asignarlo nuevamente en
conta,, tomando finalmente conta el valor de 1. Si esta instrucción se repite
varias veces, conta se incrementará siempre en 1.

1.3.11. Acumulador

Es similar al contador, con la diferencia que se asigna a la variable acumulador


un valor diferente cada vez. Por ejemplo:

acum 0

ingresar un valor a X

acum acum + X

Se acumulará en la variable acum el valor que reciba X, y si se repite el


proceso siempre X tendrá un valor diferente para ser acumulado. Si el usuario
ingresa 10 a X , acum tomará el valor de 0 + 10 (igual a 10) la primera vez, si
se repite el proceso y X recibe el valor de 3, acum tomará el valor de 10 + 3
(igual a 13).

Cuando utilizamos contadores o acumuladores es necesario inicializar estos ya


sea en cero o un valor inicial cualquiera. Tome en cuenta que cuando se
acumulan sumas por lo general se inicializa en cero (0) y cuando acumulamos
multiplicaciones se inicializa en uno (1).

Ejemplos: Cont=0 cuenta = 1

Acum=0 total = 1

1.3.12. Evaluación de Expresiones

Una vez que se conocen los diferentes operadores y sus prioridades, la


evaluación de expresiones es muy fácil; simplemente se evalúan de izquierda a
derecha para cada clase de operadores que estén interviniendo en la
expresión. Además se debe considerar que si existe paréntesis para agrupar
términos primero se ejecutan estos y desde los más internos en caso de que
existan varios. Si existen operadores de diferente prioridad se ejecutan en
orden desde la más alta.

Ejemplo: c a2 b2 c=raiz2(a**2 + b**2)

Ing. Oswaldo Basurto G. Mg. 19


Algoritmos – Unidad I

________________________________________________

1.4. Ejercicios Resueltos

1. Evaluar la siguiente expresión

(8 + 7) * (3 + 4) * 5

Al existir paréntesis en la
expresión, se ejecutan primero
15 7
estos y luego la multiplicación que
como tienen la misma prioridad se
ejecutan de izquierda a derecha.
105

525

2. Si se tiene las siguiente asignaciones:

A 6, B 2, 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 + B mod C

f) A div B div C

Los resultados serían:

a)
6 - 2 + 3 Como intervienen operadores de la
misma prioridad, se ejecutan las
operaciones de izquierda a derecha

Ing. Oswaldo Basurto G. Mg. 20


Algoritmos – Unidad I

________________________________________________

b) 6 * 2 div 3
Como intervienen operadores de la
misma prioridad, se ejecutan las
operaciones de izquierda a
12 derecha; el operador div devuelve
la parte entera de la división.

c) 6 div 2 + 3

El operador div tiene mayor


prioridad que el operador + por lo
3 tanto se ejecuta primero y luego la
suma.

d) 6 * 2 mod 3

Ambos operadores tienen la misma


12 prioridad por lo tanto se ejecutan
de izquierda a derecha; el operador
mod devuelve el residuo de la
división por lo tanto 12 mod 3 el
0 residuo es 0, este resultado
multiplicado por 12 nos da un
valor resultante de 0.
e) 6 + 2 mod 3

El operador mod tiene mayor


2
prioridad y se ejecuta primero,
por tanto el resultado de la
operación 2 mod 3 , el residuo
8 es 2 que sumado a 6 nos da
como resultado 8.

Ing. Oswaldo Basurto G. Mg. 21


Algoritmos – Unidad I

________________________________________________

f) 6 div 2 div 3

Ambos operadores tienen la


misma prioridad, por lo tanto se
3 ejecutan de izquierda a
derecha.

3) Evaluar paso a paso las siguientes expresiones:

a) 4.5 / 2 - ( 2 + 4 )

b) 3 * ( 2 / 3 ) + 3

c) ( 3 + 4 ) < ( 5 mod 5 )

d) (2 > 5) and ( 9 < 2 )

e) ( 1.5 < 2) or ( 2 > 6 )

Los resultados serían:

a) 4.5 / 2 -(2 + 4)
Primero se realiza la suma de
los paréntesis, luego la división
y finalmente la resta.
6

2.25

-3.75

b) 3 * (2 / 3) + 3
1 Primero se realiza la división de
los paréntesis, luego la
multiplicación y finalmente la
0.66
suma.
2

6
Ing. Oswaldo Basurto G. Mg. 22

1
Algoritmos – Unidad I

________________________________________________

c) ( 3 + 4 ) < ( 5 mod 5
) Primero se realizan los
paréntesis, luego el resultado
de ellos se evalúa con el
operador de relación menor
0
que (<) dando como resultado
7 el valor de verdad falso (F).

d) (2 > 5) 1and ( 9 < 2 )


Primero se evalúan las
condiciones de los paréntesis
obteniéndose un valor de
F F
verdad por cada una y estos se
evalúan con el operador lógico
and dando como resultado otro
F valor de verdad de acuerdo a la
tabla correspondiente.

1
e) ( 1.5 < 2) or ( 2 > 6 )
Primero se evalúan las
condiciones de los paréntesis
obteniéndose un valor de
V F
verdad por cada una y estos se
evalúan con el operador lógico
0r dando como resultado otro
V valor de verdad de acuerdo a la
tabla correspondiente.

Ing. Oswaldo Basurto G. Mg. 23


Algoritmos – Unidad I

________________________________________________

4). Escribir las siguientes expresiones matemáticas en forma de expresiones


algorítmicas.

n q
a) m
p n s m

Respuesta:
m + ((n/(p+n) + q/(s+m))

b b2 4ac
b)
2a

Respuesta:
(-b + raiz2 (b**2 – 4*a*c) ) / (2*a)

a2 b2
c)
c

Respuesta: (a**2 + b**2) / c

Ing. Oswaldo Basurto G. Mg. 24


Algoritmos – Unidad I

________________________________________________

1.5. Ejercicios propuestos

1) Determinar los valores de las variables de tipo entero A,B,C después de la


ejecución de las siguientes operaciones de asignación:

A 5
B 4
C A + 3 * B
C C + A + B
B C - A
A A * C / B
A: …………. B: …………… C: …………….

2) Se tienen las variables A,B,C de tipo entero; evaluar las siguientes


expresiones para los valores:

A 4; B 7; C 2

a) 2 * A - 4 * B / A**3

b) 6 / 3 * 2 / 4 - A / B **2 / 3**B / 2 * 4

c) ( A * B ) / 3**2 / 6 * C

d) ( ( ( B + C ) / 2 * A + 15 ) * 4 * A ) - 13

e) B**A**C

f) 7 div 2 * 7 mod 2

g) 12 div 3 - 12 mod 3

h) ( 10 * 7 - 6 mod 3 ) * 4 + 15

3) Si A=4, B=8 y C=7, encontrar el valor de las de las siguientes expresiones:


(en este ejercicio el signo = es utilizado como operador de asignación).

a) (A – B) + C * 10 ………………. d) (A * B) mod C ………………

b) A * B div C mod 4 ………………. e) A + (B mod C) ………………

c) A div (B + C) / A ………………. f) A div (B div C) - 4 ……………

Ing. Oswaldo Basurto G. Mg. 25


Algoritmos – Unidad I

________________________________________________

4) Convertir las siguientes fórmulas algebraicas en instrucciones de asignación:

M
a) a 4
N

N
b) x M
p q

sen ( x) cos(y)
c) e
tan( x)

N
p
d) b P
r
q
s

b b2 4ac
e) x
2a

n
m
p n
f) n m
r
q
s m

x y 3x 2 4 y
g) r 7y
2 2x 5 y 2

5) Determinar el valor de las variables Y y Z de tipo Real después de la


ejecución de las siguientes operaciones de asignación:

X = 1.5
Y = sen(raíz2(X + X))
Z= trunc( x**3 + cos(x)) + 10

Y: …………………….. Z: ……………….

Ing. Oswaldo Basurto G. Mg. 26


Algoritmos – Unidad I

________________________________________________

1.6. Reglas para construcción de Identificadores

Los identificadores son los nombres que se dan a las constantes, variables,
funciones, procedimientos u otros objetos que se declaran dentro de un
algoritmo. Las reglas establecen que:

Debe escoger un nombre que represente lo que va a contener

Debe comenzar con una letra del alfabeto ingles (a-z o A-Z),
los siguientes pueden ser combinaciones de letras,
números(0-9) y el carácter subrayado ( _ ).

No puede tener caracteres especiales (*,%,/,;,?), incluido el


espacio en blanco.

No utilice palabras reservadas (inicio, si, mientras, hacer).

Ejemplo:

Determinar cual de los identificadores son válidos.

a) Renta Válido

b) ALQUILER Válido

c) Constante Válido

d) Tom´s NO válido tiene un carácter especial ( „ )

e) Dos Pulgadas NO válido tiene un espacio en blanco

f) C3P0 Válido

g) Bienvenido#5 NO válido tiene un carácter especial ( # )

h) Elemento Válido

i) 4ª2D2 NO válido empieza con un número

j) 13Nombre NO válido empieza con un número

k) Nombre_Apellido Válido

l) NombresApellidos Válido

Ing. Oswaldo Basurto G. Mg. 27


Algoritmos – Unidad I

________________________________________________

1.6.1. Ejercicios propuestos

Determinar cuáles de los siguientes identificadores son válidos y si no lo son


indicar la causa.

a) YROJO e) N/4 i) X1Y3

b) X-ROJO f) 1234 j) NUM_ALUMNOS

c) 2BLANCO g) SUMA * 10 k) TOTAL SUMA

d) Promedio h) Prom_notas_1 l) X%@yahoo.com

Ing. Oswaldo Basurto G. Mg. 28

También podría gustarte