Está en la página 1de 34

UNIVERSIDAD VERACRUZANA. F.C.A.

CAMPUS IXTAC

Algorítmica

I. Conceptos Básicos
1. Heurística y Algorítmica
Escucho y olvido,
Leo y comprendo
Veo y recuerdo
Hago y aprendo.
- Proverbio oriental

Se denomina heurística a la capacidad de un sistema para realizar de forma inmediata


innovaciones positivas para sus fines. La capacidad heurística es un rasgo característico de
los humanos, desde cuyo punto de vista puede describirse como el arte y la ciencia del
descubrimiento y de la invención o de resolver problemas mediante la creatividad y el
pensamiento lateral o pensamiento divergente.

La palabra heurística procede del término griego εὑρίσκειν,1 que significa «hallar, inventar»
(etimología que comparte con eureka2 ). La palabra heurística aparece en más de una
categoría gramatical. Cuando se usa como sustantivo, identifica el arte o la ciencia del
descubrimiento, una disciplina susceptible de ser investigada formalmente. Cuando aparece
como adjetivo, se refiere a cosas más concretas, como estrategias heurísticas, reglas
heurísticas o silogismos y conclusiones heurísticas. Claro está que estos dos usos están
íntimamente relacionados ya que la heurística usualmente propone estrategias heurísticas
que guían el descubrimiento.

La creatividad, denominada también inventiva, pensamiento original, imaginación


constructiva, pensamiento divergente... pensamiento creativo, es la generación de nuevas
ideas o conceptos, o de nuevas asociaciones entre ideas y conceptos conocidos, que
habitualmente producen soluciones originales.

 Los tres grandes sentidos del concepto:


o Acto de inventar cualquier cosa nueva (Ingenio).
o Capacidad de encontrar soluciones originales.
o Voluntad de modificar o transformar el mundo.

 Para las culturas hindúes, confucianas, taoístas y budistas, la creación es un tipo


de descubrimiento. Animan al practicante a cuestionarse, investigar y experimentar
de manera práctica.

http://es.wikipedia.org/wiki/Creatividad
M.A.F.O. Claudia García Santos 1
UNIVERSIDAD VERACRUZANA. F.C.A. CAMPUS IXTAC

¿Qué razón hay para cultivar la creatividad?

Además de la satisfacción personal que nos proporcionará la restitución del


funcionamiento cabal del pensamiento creativo, se puede obtener otros beneficios
importantes.
Quizá nunca hubo otra época en la que nos hayamos sentido tan inseguros como en la
actualidad. Esta inseguridad no solo se encuentra en el exterior, sino también dentro de
nosotros mismos.
Incrementa la sensibilidad para analizar los problemas, necesidades y oportunidades, así
como la facultad de observar y percibir con mucha atención.
Nos ayuda a:

 Tender un puente más allá de la simple observación, en busca de una


comprensión más profunda. Cuando uno ve las cosas desde una perspectiva
diferente, se escapa de sus patrones de comportamiento habituales y se libera de
la banda sin fin de viejas ideas.
 Nos permite desechar de programas viejos, actitudes anticuadas y maneras de
hacer las cosas, que si bien son habituales, ya no resultan apropiadas.
 Contribuye a liberarnos del pensamiento estereotipado y circunscrito.
 Nos libera de la rigidez mental y de la rutina y los hábitos viciados.
 Nos ayuda a pensar más allá de lo claro y convenido, lo seguro y lo cierto, lo
probado y no comprobado.
 Aumenta nuestra capacidad para buscar maneras nuevas, distintas y más eficaces
de resolver problemas.
 Aguijonea para que pensemos por anticipado y proyectemos nuestros
pensamientos hacia el futuro, en vez de mirar habitual y tímidamente al pasado en
busca de lo que funcionó y lo que no funcionó.

Ejercicios de creatividad:

a) Simple aritmética. En las siguientes operaciones los operadores : suma indica


multiplicar, división significa sumar, menos significa dividir, multiplicar significa restas.
Resuelve las siguientes:
 7+2=
 20 -10 =
 9/3=
 12 * 2 =
 6*5=

b) ¿Cuál es la mitad de trece? ¿Cuántas respuestas diferentes se le ocurren?

M.A.F.O. Claudia García Santos 2


UNIVERSIDAD VERACRUZANA. F.C.A. CAMPUS IXTAC

c) Nervios templados.

Aquella mañana de primavera Cristina se asomaba por la ventana para ver el


termómetro que estaba colgado en el exterior del edificio. - ¡Mira, Pedro! - exclamó -
¡Hoy hace más calor de lo esperado! - Tranquilízate, querida - dijo Pedro - ese
termómetro está graduado en la escala Celsius y no en Fahrenheit.

¿Qué tal tiempo hacía realmente?

d) La cruz griega. Traslada solo dos monedas a otra posición de manera que se formen
dos hileras que, al sumarse ya sea horizontal o vertical, contengan seis monedas
cada una.

e) Las torres de Hanói

El juego, en su forma más tradicional, consiste en tres varillas verticales. En una de


las varillas se apila un número indeterminado de discos (elaborados de madera) que
determinará la complejidad de la solución, por regla general se consideran ocho
discos. Los discos se apilan sobre una varilla en tamaño decreciente. No hay dos
discos iguales, y todos ellos están apilados de mayor a menor radio en una de las
varillas, quedando las otras dos varillas vacantes. El juego consiste en pasar todos los
discos de la varilla ocupada (es decir la que posee la torre) a una de las otras varillas
vacantes. Para realizar este objetivo, es necesario seguir tres simples reglas:

1. Sólo se puede mover un disco cada vez.


2. Un disco de mayor tamaño no puede descansar sobre uno más pequeño que él
mismo.
3. Sólo puedes desplazar el disco que se encuentre arriba en cada varilla.

Existen diversas formas de realizar la solución final, todas ellas siguiendo estrategias
diversas.

M.A.F.O. Claudia García Santos 3


UNIVERSIDAD VERACRUZANA. F.C.A. CAMPUS IXTAC

f) Las tres mosquiteras.

Silvia, Noelia e Ignacia son tres amigas sorprendentes. Silvia nunca miente. Noelia
jamás dice la verdad. Ignacia decide ser o no veraz al azar, justo antes de responder. Un
día fuimos al campo, y como son tan aprensivas con los mosquitos, habían cubierto sus
rostros con velos de tal manera que no podía reconocerlas. Entonces me retaron a ver si
podía averiguar quién era cada cual. Sólo iban a contestar a una sola pregunta, la
misma para las tres.

¿Qué hubieras preguntado tú?

g) Un oso camina 10 Km. hacia el sur, 10 hacia el este y 10 hacia el norte, volviendo al punto del
que partió. ¿De qué color es el oso?

h) Un hombre esta al principio de un largo pasillo que tiene tres interruptores, al final hay una
habitación con la puerta cerrada. Uno de estos tres interruptores enciende la luz de esa
habitación, que esta inicialmente apagada. ¿Cómo lo hizo para conocer que interruptor enciende
la luz recorriendo una sola vez el trayecto del pasillo? Pista: El hombre tiene una linterna.

i) En una mesa hay tres sombreros negros y dos blancos. Tres señores en fila india se ponen un
sombrero al azar cada uno y sin mirar el color. Se le pregunta al tercero de la fila, que puede ver
el color del sombrero del segundo y el primero, si puede decir el color de su sombrero, a lo que
responde negativamente. Se le pregunta al segundo que ve solo el sombrero del primero y
tampoco puede responder a la pregunta. Por último el primero de la fila que no ve ningún
sombrero responde acertadamente de qué color es el sombrero que tenia puesto. ¿Cuál es este
color y cuál es la lógica que uso para saberlo?

j) Un prisionero está encerrado en una celda que tiene dos puertas, una conduce a la muerte y la
otra a la libertad. Cada puerta está custodiada por un vigilante, el prisionero sabe que uno de
ellos siempre dice la verdad, y el otro siempre miente. Para elegir la puerta por la que pasara
solo puede hacer una pregunta a uno solo de los vigilantes. ¿Cómo puede salvarse?

k) Tres amigos con dificultades económicas comparten un café que les cuesta 30 pesetas, por lo
que cada uno pone 10. Cuando van a pagar piden un descuento y el dueño les rebaja 5 pesetas
tomando cada uno una peseta y dejando dos en un fondo común. Más tarde hacen cuentas y
dicen: Cada uno ha pagado 9 pesetas así que hemos gastado 9x3=27 pesetas que con las dos
del fondo hacen 29 ¿dónde está la peseta que falta?

l) Ana y José Luis fueron a ver el Zoo. Curiosamente en una de las zonas estaban mezclados los
patos con las tortugas. Al salir del Zoo, Ana le dijo a José Luis:
- Oye, José Luis, ¿te has fijado en los patos y en las tortugas que había?
- Pues no. ¿Cuántos había?
- Pues averígualo tú mismo. En total había 56 ojos y 80 patas (de las de andar, no hembras de
pato).

M.A.F.O. Claudia García Santos 4


UNIVERSIDAD VERACRUZANA. F.C.A. CAMPUS IXTAC

Por si no se te ocurre nada, te podemos decir que José Luis encontró la solución al darse cuenta
de que cada animal tiene dos ojos.

m) Un mono tiene un saco con bastantes cacahuetes. Cada mañana su amo le añade exactamente
cien cacahuetes en el saco. Luego, durante el resto del día, el mono se come la mitad de los
cacahuetes que encuentra en el saco y deja la otra mitad. Una noche, después de varios años
comportándose así, el amo del mono contó el número de cacahuetes que el mono había
ahorrado en su saco. ¿Cuántos había?

n) Un tonel, lleno de vino tiene un peso de 35 kg. Cuando está lleno hasta la mitad, pesa 19
Kg. ¿Cuánto pesa el tonel vacío?

o) El frutero vendió en el mercado, la mitad de los melones que llevaba más medio melón.
Después se comió el melón que le quedó. ¿Cuántos melones llevó al mercado?.

M.A.F.O. Claudia García Santos 5


UNIVERSIDAD VERACRUZANA. F.C.A. CAMPUS IXTAC

2. Algoritmo, Pseudocódigo, Diagramas de flujo.

Algoritmo: es un método para resolver un problema mediante una serie de pasos definidos, precisos
y finitos.

En matemáticas, ciencias de la computación y disciplinas relacionadas, un algoritmo (del latín, dixit


algorithmus y éste a su vez del matemático persa kenvorrio) es una lista bien definida, ordenada y
finita de operaciones que permite hallar la solución a un problema. Dado un estado inicial y una
entrada, a través de pasos sucesivos y bien definidos se llega a un estado final, obteniendo una
solución. Los algoritmos son objeto de estudio de la algoritmia.

En la vida cotidiana se emplean algoritmos en multitud de ocasiones para resolver diversos


problemas. Algunos ejemplos se encuentran en los instructivos (manuales de usuario), los cuales
muestran algoritmos para usar el aparato en cuestión o inclusive en las instrucciones que recibe un
trabajador por parte de su patrón. También existen ejemplos de índole matemática, como el algoritmo
de la división para calcular el cociente de dos números, el algoritmo de Euclides para calcular el
máximo común divisor de dos enteros positivos, o el método de Gauss para resolver un Sistema
lineal de ecuaciones.

Características

 Preciso: implica el orden de realización de cada uno de los pasos


 Definido: si se sigue dos veces, se obtiene el mismo resultado.
 Finito: Tiene un número determinado de pasos, implica que tiene un fin.
 No Ambiguo

Tipos :

Método Descripción Ejemplos


Algorítmico Utiliza un algoritmo y puede ser implementado  Instrucciones para manejar un
en una computadora vehículo
 Instrucciones para secar grano
a granel
 Instrucciones para resolver
ecuación de segundo grado
Heurística: Se apoya en el resultado obtenido en un
análisis de alternativas de experiencias
anteriores similares. De las mismas, a se
deducen una serie de reglas empíricas o
heurísticas que de ser seguidas, conducen a
la selección de la mejor alternativa en todas o
la mayoría de las veces.

M.A.F.O. Claudia García Santos 6


UNIVERSIDAD VERACRUZANA. F.C.A. CAMPUS IXTAC

Ejemplos
Los algoritmos se Formulas
 b  b 2  4ac
pueden x1, 2 
expresar por: 2a
Diagramas de flujo
Norte-Sur,Top-Down

Pseudo código inicio


leer a,b,c
calcular perimetro  a  b  c
escribir perímetro
fin

Pasos para resolver un problema utilizando una computadora.

Pasos Etapa Descripción


A Análisis del problema Conducen al diseño detallado por medio un código
B Diseño de algoritmo escrito en forma de un algoritmo
C Codificación Se implementa el algoritmo en un código escrito en un
lenguaje de programación. Refleja las ideas
desarrolladas en las etapas de análisis y diseño.
D Compilación y Traduce el programa fuente a programa en código de
ejecución máquina y lo ejecuta.
E Verificación Busca errores en las etapas anteriores y los elimina.
F Depuración
G Documentación Son comentarios, etiquetas de texto, que facilitan la
comprensión del programa

A. Análisis del problema:


Requiere la clara definición del problema donde se indique que va hacer el programa y cuál
va a ser el resultado.
Debe detallarse las especificaciones de entrada y salida,
Los requisitos que definen el análisis son:

Análisis
del
Problema

Definición Especificaciones Especificaciones


Del de de
Problema entrada salida

M.A.F.O. Claudia García Santos 7


UNIVERSIDAD VERACRUZANA. F.C.A. CAMPUS IXTAC

Esta parte es para darnos cuenta de la manera como esta expresado el problema, ¿Es fácil de
entender cuando se lee? ¿Quedan claros los requerimientos? ¿Está delimitado de forma adecuada?,
todo esto debe quedar absolutamente claro para poder empezar con el siguiente paso.
Determinando un conjunto de preguntas abordaremos aun más el problema:
 ¿Con que cuento?
 ¿Qué hago con los datos?
 ¿Qué espero obtener?

B.Diseño del algoritmo.

Se hace un bosquejo de la posible solución, considerando los elementos del análisis, esto
implica:
 Como se hace o realiza la tarea (o problema) solicitado
 El todo es la sumatoria de las partes.
 Divide el todo en varias partes.

En la resolución de un problema complejo, se divide en varios sub problemas y seguidamente se


vuelven a dividir los sub problemas en otros más sencillos, hasta que puedan implementarse en el
computador.
Esta característica define lo que se entiende como diseño descendente ( Top-Down / Norte-Sur ) o
diseño modular.
El proceso de ruptura del problema en cada etapa se llama refinamiento sucesivo.
 Cada problema se resuelve mediante un modulo (subprograma) y tiene un solo punto de
entrada y un solo punto de salida.
 Un programa bien diseñado consta de un programa principal (módulo de nivel más alto) que
llama a subprogramas (módulos de nivel más bajo), que a su vez pueden llamar otros sub
programas.
Los programas que se estructuran de esta forma, se dicen que tienen diseño modular y el método de
romper el programa en modos pequeños se llama programación modular.
Los módulos pueden ser planificados, codificados, compilados y depurados independientemente
pueden ser intercambiados entre sí.

Este proceso implica la ejecución de los siguientes pasos:

1 programar un modulo
2 comprobar un modulo
3 depurar el modulo
4 combinar el modulo con módulos anteriores

Este proceso convierte el resultado del análisis del problema en un diseño modular con refinamientos
sucesivos que permiten una traducción a un lenguaje que se denomina diseño del algoritmo.

M.A.F.O. Claudia García Santos 8


UNIVERSIDAD VERACRUZANA. F.C.A. CAMPUS IXTAC

Ejercicio que muestra las diversas formas de interpretar un problema, se pretende ser
objetivos en la solución.

El algoritmo se puede representar por medio de dos formas :

 Pseudo código: es el lenguaje de especificación de algoritmos y tiene una estructura: Las


instrucciones se escriben en ingles o en palabras similares al inglés o español que facilitan la
escritura de programación.
Ejemplo :
1. Inicio
2. Escribir “Da tu calificación”
3. Leer Cal
4. Si Cal > 5 entonces
Escribir “ Aprobado” si no
Escribir “Reprobado”
Fin Si
5. Fin

 Diagramas de flujo (flows charts): Es la representación gráfica del algoritmo. Esta


representación se da cuando varios símbolos (que indican diferentes procesos en la
computadora), se relacionan entre si mediante líneas que indican el orden en que se deben
ejecutar los procesos. Según la ANSI consta de una simbología, que tiene diversos
significados.

M.A.F.O. Claudia García Santos 9


UNIVERSIDAD VERACRUZANA. F.C.A. CAMPUS IXTAC

Ejemplo:

M.A.F.O. Claudia García Santos 10


UNIVERSIDAD VERACRUZANA. F.C.A. CAMPUS IXTAC

3. Símbolos de diagramas de flujo

Nombre Símbolo Función


Cualquier tipo de operación que origine cambio de valor,
Proceso formato, posicion de la informacion almacenada en memoria,
operaciones aritmeticas, de transferencia, etc.

Entrada/Sali Cualquier tipo de de introduccion de datos en la memoria desde


da los perifericos”entrada”o registros de informacion procesada en
un periferico de salida

Se utiliza en ocasiones en lugar del simbolo de entrada/salida


Impresora

Llamada a subrutina, funcion o procedimiento; este es un


modulo independiente del programa principal, que recibe una
Subrutina entrada procedente de dicho programa , realiza una tarea
determinada y regresa al terminar al programa principal

Pantalla; en ocaciones se utiliza en lugar de simbolo de entrada


/ salida
Monitor

Indica operaciones logicas o de comparacionentre datos-


normalmente entre dos y en funcion del resultado, determina
Proceso: cual de los dos caminos alternativos se debe seguir;
normalmente tiene dos salidas- respuestas si o no.
Decisión

Sirve para enlazar dos partes cualesquiera de un organigrama


Conector a traves de un conector de salida y otro en la entrada. En la
misma pagina del diagrama

Conexión entre dos puntos del organigrama situados en


Conector paginas diferentes

En ocaciones se utiliza en lugar del simbolo de entrada/salida


Teclado

M.A.F.O. Claudia García Santos 11


UNIVERSIDAD VERACRUZANA. F.C.A. CAMPUS IXTAC

4. Operaciones con los datos

La importancia de este tema es tan grande debido a que todo el sistema de información
realiza cálculos con datos para entregar resultados a la empresa, por lo cual debemos saber
que los datos que maneja la empresa solamente pueden ser números, letras y una
respuesta afirmativa; y los cálculos que el sistema puede realizar sobre estos datos son
operaciones como suma, resta, multiplicación y división, además de comparaciones entre
los datos para saber si uno es mayor que otro, si es menor, si son iguales o diferentes, y
establecer un grado de satisfacción entre dos datos en base a las tablas de la verdad
(AND, OR Y NOT).
Sabiendo todo lo anterior, debemos a prender a expresar los cálculos a realizar por el
sistema de una manera que la computadora pueda comprenderlos y arrojar los resultados
correctos mediante una expresión o formula que se rige por un conjunto de reglas.
Además de que debemos de aprender a crear los espacios temporales de almacenamiento
donde se guardaran tanto los datos como los resultados.

4.1 Tipos de datos simples.

DATO.- “es un pequeña parte de la información que por sí sola no dice nada, pero que en
conjunto forma información”

INFORMACION.- “es un conjunto de datos estructurados o procesados”

Clasificación de los datos


 Entero
Simples  Numérico  Reales
 Lógicos

 Alfanuméricos
 Unidimensionales
Complejos  Arreglos  Multidimensionales

 Estructuras

M.A.F.O. Claudia García Santos 12


UNIVERSIDAD VERACRUZANA. F.C.A. CAMPUS IXTAC

A) Datos simples

 Datos numéricos.- permiten representar valores escalares de forma numérica, esto


incluye a los números enteros y los reales.
o Enteros.- son los números que no tienen parte decimal, pueden ser positivos o
negativos, por ejemplo: 10, 0, 1358, -456.
o Reales.- son los números que contienen una fracción, es decir, punto decimal
y estos al igual que los enteros pueden ser positivos o negativos, por ejemplo:
12.45, 7.0 -157.0001.

 Datos lógicos.- son aquellos que solo pueden tener uno de los dos valores posibles
(cierto o falso) ya que representan el resultado de una comparación entre otros datos
(numéricos o alfanuméricos).

 Datos alfanuméricos.- es una secuencia de caracteres alfanuméricos que permiten


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

4.2 Tipos de operadores

Debemos de aprender a utilizar los datos y operadores, pues somos nosotros quien le
indicara a la computadora los cálculos a realizar a ciertos datos.
Al conjunto de todos los operadores, los podemos dividir en tres grupos:

A) Operadores aritméticos
B) Operadores relacionales
C) Operadores lógicos

A) Operadores aritméticos.- son aquellos con los que podemos realizar operaciones como
suma, resta, multiplicación, división, modulo y asignación.

Las expresiones aritméticas se deben escribir en una línea continua y bajo unas reglas de
procedencia de operadores. Las cuales son guías de acción que permiten calcular las
expresiones en el orden correcto.

1- Se calculan primero las operaciones de multiplicación, división y modulo, los cuales


tienen el mismo nivel de precedencia, por lo cual si existen varios de estos en una
expresión se comienzan a calcular de izquierda a derecha.

M.A.F.O. Claudia García Santos 13


UNIVERSIDAD VERACRUZANA. F.C.A. CAMPUS IXTAC

2- Se calculan las operaciones de suma y de resta, los cuales tienen el mismo nivel de
precedencia. Si la expresión la expresión contiene varias de esta se realiza de
izquierda a derecha.
3- Si en la expresión se encuentran paréntesis, esto indica que lo que está dentro de
ellos se debe resolver antes que cualquier cosa siguiendo las reglas de precedencia
antes mencionados, por lo cual los paréntesis son utilizados para obligar a la
computadora a evaluar primero ciertas expresiones. En caso de existir paréntesis
anidados se evalúa el par mas interno.
4- Por último se realiza la asignación, la cual significa que el valor de la derecha es
obligado al identificador de la izquierda.

PRECEDENCIA DE LOS OPERADORES ARITMETICOS

OPERADOR PRECEDENCIA
( ) Mayor
*, / , %

+, -
Menor
=

Ejemplo 1 : y = 2 * 5 * 5 + 3 * 5 + 7
1.Realiza la multiplicación más a la izquierda
y=2*5*5+3*5+7 y = 10 * 5 + 3 * 5 + 7
5. Realiza la multiplicación más a la izquierda
y = 10 * 5 + 3 * 5 + 7 y = 50 + 3 * 5 + 7
6. Realiza la multiplicación más a la izquierda
y = 50 + 3 * 5 + 7 y = 50 + 15 + 7
7. Realiza suma más a la Izquierda
y = 50 + 15 + 7 y = 65 + 7
8. Realiza la suma
y = 65 + 7 y = 72

Ejemplo 2 : Z = 4 * ( ( 2 + 6 ) * ( 8 – 10 ) )
a. Realiza el paréntesis más interno de la izquierda
Z = 4 * ( ( 2 + 6 ) * ( 8 – 10 ) ) Z = 4 * ( 8 * ( 8 – 10 ) )

2. Realiza el paréntesis más interno


Z = 4 * ( 8 * ( 8 – 10 ) ) Z = 4 * ( 8 * -2 )
3. Realiza el paréntesis
Z = 4 * ( 8 * -2 ) Z = 4 * -16
4. Realiza la multiplicación
Z = 4 * -16 Z = -64

M.A.F.O. Claudia García Santos 14


UNIVERSIDAD VERACRUZANA. F.C.A. CAMPUS IXTAC

Ejercicios:
1.- Resuelve las siguientes operaciones utilizando las reglas de precedencia, donde:
W=5, X=7, Y=3, Z=9

A= Y – Z * X + W / 3
A= Z + W % Y
A= X*(Z–Y)/W
A= ( 4 * Y + Z % W) * X
A= Z * W – X + Y / Z

2.- Expresa las siguientes formulas para que las entienda la computadora:

 Calcular el perímetro de un círculo


 calcular el área de un rectángulo
 calcular el área de un circulo
 X = Z3
 X= 4 AC + ( A + C) – 2 AB
 X = 5 ( Y2 + Z3 – 5 ZW + 3 )

Recordar que dos números enteros dan como resultado un valor entero y un entero y
un real dan como resultado un valor real.

B) Operadores relacionales.- Los operadores relacionales se usan para determinar la


relación de la expresión de la izquierda con la de la derecha (binarios). El resultado de esta
evaluación regresa el valor de falso o verdadero.

Conjunto de operadores relacionales


OPERADOR RELACION
== Igual
!= Diferente
> Mayor que
< Menor que
>= Mayor o igual que

<= Menor o igual que

M.A.F.O. Claudia García Santos 15


UNIVERSIDAD VERACRUZANA. F.C.A. CAMPUS IXTAC

Precedencia de los operadores aritméticos y relacionales


OPERADOR PRECEDENCIA
() Mayor
*, /, %

+, -
<, >, <=, >=

==, !=
=
Menor

Ejemplo 1.-
Expresión Z = 4 <= 2 == 6 != 8 > 10 Resultado : z = 0

Ejemplo 2.-

Expresión Z = 8 = = ( 9 + ( 1 != 0)) > 3 * 5 Resultado : z= 0

Ejercicios: Realiza las siguientes operaciones siguiendo las reglas de precedencia, donde:

W = 3, x = 5, Y = 7, Z = 9

1) A = X ==Z
2) A = W >= Y
3) A= W == X < Y < Z
4) A = ( W == X ) == ( Y > Z )
5) A = X ¡= (W < Z < Y ) == 1
6) A = W * Y >= W * Z
7) A = Y + W * Z / W ¡= Z + W – Y * X
8) ( Y + W ) * Z / W == Y * X – 20 / 4
9) W * Y >= W * Z == ( Y + W ) * Z > 0
10) X > Z * ( W + Y ) ¡= W <= X

M.A.F.O. Claudia García Santos 16


UNIVERSIDAD VERACRUZANA. F.C.A. CAMPUS IXTAC

C) Operadores Lógicos: Los operadores lógicos, se usan para soportar las operaciones
básicas lógicas AND, OR y NOT. Las tablas se describen a continuación:

22 = 4

a b a and a b a or b
b 0 0 0 a Not
0 0 0 0 1
0 1 1
0 1 0 1 0
1 0 1
1 0 0 1 1 1
1 1 1

Los operadores lógicos No están al mismo nivel de precedencia entre ellos. El operador
NOT es el de mayor, posteriormente se encuentra el AND y por último el OR.

Tabla de precedencia de todos los operadores.

Operador Precedencia
( ) Mayor
NOT ¡
* , /, % (residuo)
+,-
<, >, <=, >=
==, ¡=
AND &&
OR ||
= Menor

5. Identificadores.
Para que la computadora procese los datos se pueden guardar temporalmente en una
pequeña parte de la memoria de la computadora, a este espacio se le debe decir que tipo de
datos puede almacenar (enteros, reales, alfanuméricos, etc.) y como queremos que se le
llame para poder localizarlo posteriormente. A este espacio de memoria con un nombre y
tipo específico, se le conoce como identificador.
Si nosotros no creamos un identificador, el dato que deseamos guardar se almacenaría en
una posición de memoria la cual está identificada por un número hexadecimal, y para
recuperarla tendríamos que saber esta dirección, por lo cual es más fácil asignarle un
nombre. Además, si nosotros no le indicamos un tipo para los datos que se van a

M.A.F.O. Claudia García Santos 17


UNIVERSIDAD VERACRUZANA. F.C.A. CAMPUS IXTAC

almacenar, la computadora no sabrá como tratar a esta información, recordemos que en la


computadora solo están almacenados ceros y unos.

Los identificadores se dividen en dos:

 Constantes. Es aquel en el cual, el dato que tiene dentro es el mismo desde que
comienza el programa hasta que termina, y bajo ninguna circunstancia ni
procedimiento puede cambiar. Por ejemplo: Pi, ya que siempre es 3.1416.

 Variables. Es aquel en el cual, el dato que tiene dentro puede cambiar todas las
veces necesarias por otro en cualquier parte del programa siempre y cuando sean del
tipo especificado anteriormente. Por ejemplo: edad, ya que puede almacenar en
determinado momento mi edad, en otro la tuya, etc. A su vez, las variables se pueden
clasificar por su uso en:

o Variables de Trabajo: Son aquellas que reciben el resultado de una operación


matemática compleja y que se usan normalmente dentro de un programa, pero
si es del tipo alfanumérico solo se utiliza para almacenar información.
Ejemplo: promedio = ( 9 + 8 + 7 ) / 3

o 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. Podríamos utilizarlos cuando necesitamos llevar
el conteo del número de personas que votaron por el PAN. Son exclusivamente
del tipo entero.

o 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. Una variable de este tipo podríamos utilizarla para ir
sumando poco a poco el monto total de nuestra compra en un supermercado.

o Variable indicador o de bandera: Es aquella que recibe uno de dos posibles


valores. Se les conoce también como BANDERAS y generalmente son del tipo
boleano.

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.
3. Dígitos y caracteres especiales están permitidos después del primer carácter.
4. La longitud de identificadores puede ser de hasta 256 caracteres.

M.A.F.O. Claudia García Santos 18


UNIVERSIDAD VERACRUZANA. F.C.A. CAMPUS IXTAC

5. El nombre del identificador debe ser significativo.


6. Indicar su tipo (entero, real, alfanumérico, bolean).
7. Si se desea, se puede indicar su uso, el cual como ya sabemos solo es para las
variables.
8. Si se desea, asignarles un valor de inicio. En los constantes es forzoso este punto.

M.A.F.O. Claudia García Santos 19


UNIVERSIDAD VERACRUZANA. F.C.A. CAMPUS IXTAC

II. Algoritmos Secuenciales

La estructura secuencial es aquella en la que una acción (instrucción) sigue a otra en


secuencia. Las tareas se suceden de tal modo que la salida de una es la entrada de la
siguiente y así sucesivamente hasta el fin del proceso.

La desventaja de este tipos de algoritmos es su inflexibilidad, no permite un retorno a una


secuencia de repetición, que en caso de necesitarse se deben escribir las acciones tantas
veces como sea necesario.

Ejemplo: Para realizar una llamada telefónica a una persona.

Ejemplos:
1. Obtener la suma de dos números cualesquiera
2. Obtener y Desplegar el nombre y la edad de una persona
3. Obtener y desplegar el nombre, dirección y estado civil de una persona
4. Capturar el nombre y dos calificaciones de un alumno y desplegar el promedio de estas.
5. Obtener la suma y el promedio de cinco calificaciones que de un alumno
6. Convertir dólares a pesos
7. Obtener el descuento de un producto y desplegarlo
8. Desplegar cuanto pagaría un cliente por una compra con descuento y cuanto seria el cambio que
recibiría en un pago en efectivo.
9. Desplegar el sueldo neto de un empleado considerando impuestos.

M.A.F.O. Claudia García Santos 20


UNIVERSIDAD VERACRUZANA. F.C.A. CAMPUS IXTAC

Proceso Ejemplo1
Escribir 'Da tu numero : '
Leer a
Escribir 'Da otro numero : '
Leer b
c= a + b
Escribir "La suma es : ",c
FinProceso

Proceso Ejemplo2
Escribir "Da tu nombre : "
Leer nombre
Escribir "Da tu edad : "
Leer edad
Escribir nombre,"tiene ",edad," a#os"
FinProceso

M.A.F.O. Claudia García Santos 21


UNIVERSIDAD VERACRUZANA. F.C.A. CAMPUS IXTAC

Ejercicios secuenciales

1) Suponga que un individuo desea invertir su capital en un banco y desea saber cuánto
dinero ganara después de un mes si el banco paga a razón de 2% mensual.

2) Un vendedor recibe un sueldo base más un 10% extra por comisión de sus ventas, el
vendedor desea saber cuánto dinero obtendrá por concepto de comisiones por las tres
ventas que realiza en el mes y el total que recibirá en el mes tomando en cuenta su
sueldo base y comisiones.

3) Una tienda ofrece un descuento del 15% sobre el total de la compra y un cliente desea
saber cuánto deberá pagar finalmente por su compra.

4) Un alumno desea saber cuál será su calificación final en la materia de Algorítmica. Dicha
calificación se compone de los siguientes porcentajes:
55% del promedio de sus tres calificaciones parciales.
30% de la calificación del examen final.
15% de la calificación de un trabajo final.

5) Un maestro desea saber que porcentaje de hombres y que porcentaje de mujeres hay en
un grupo de estudiantes.

6) Realizar un algoritmo que calcule la edad de una persona.

7) Dada un cantidad en pesos, obtener la equivalencia en dólares, asumiendo que la unidad


cambiaría es un dato desconocido.

8) Leer un número y escribir el valor absoluto del mismo.

9) La presión, el volumen y la temperatura de una masa de aire se relacionan por la


fórmula: masa = (presión * volumen)/(0.37 * (temperatura + 460)) Obtener la masa.

10) Calcular el número de pulsaciones que una persona debe tener por cada 10 segundos de
ejercicio, si la fórmula es: num. pulsaciones = (220 - edad)/10

11) Calcular el nuevo salario de un obrero si obtuvo un incremento del 25% sobre su salario
anterior.

M.A.F.O. Claudia García Santos 22


UNIVERSIDAD VERACRUZANA. F.C.A. CAMPUS IXTAC

12) En un hospital existen tres áreas: Ginecología, Pediatría, Traumatología. El presupuesto


anual del hospital se reparte conforme a la sig. tabla:

Área Porcentaje del presupuesto


Ginecología 40%
Traumatología 30%
Pediatría 30%

Obtener la cantidad de dinero que recibirá cada área, para cualquier monto presupuestal
dado.

13) El dueño de una tienda compra un artículo a un precio determinado. Obtener el precio en
que lo debe vender para obtener una ganancia del 30%.

14) Todos los lunes, miércoles y viernes, una persona corre la misma ruta y cronometra los
tiempos obtenidos. Determinar el tiempo promedio que la persona tarda en recorrer la
ruta en una semana cualquiera.

15) Tres personas deciden invertir su dinero para fundar una empresa. Cada una de ellas
invierte una cantidad distinta. Obtener el porcentaje que cada quien invierte con respecto
a la cantidad total invertida.

16) Un alumno desea saber cuál será su promedio general en las tres materias mas difíciles
que cursa y cuál será el promedio que obtendrá en cada una de ellas. Estas materias se
evalúan como se muestra a continuación:

La calificación de Matemáticas se obtiene de la sig. manera:


Examen 90%
Promedio de tareas 10%
En esta materia se pidió un total de tres tareas.

La calificación de Física se obtiene de la sig. manera:


Examen 80%
Promedio de tareas 20%
En esta materia se pidió un total de dos tareas.

La calificación de Química se obtiene de la sig. manera:


Examen 85%
Promedio de tareas 15%
En esta materia se pidió un promedio de tres tareas.

M.A.F.O. Claudia García Santos 23


UNIVERSIDAD VERACRUZANA. F.C.A. CAMPUS IXTAC

III. Algoritmos Secuenciales con decisión


Las estructuras condicionales comparan una variable contra otro(s) valor(es), para que en
base al resultado de esta comparación, se siga un curso de acción dentro del programa.
Estas estructuras son las que nos dan la capacidad de crear sistemas inteligentes, es decir,
que toman decisiones. Cabe mencionar que la comparación se puede hacer contra otra
variable o contra una constante, según se necesite. Existen dos tipos básicos, las simples y
las múltiples.

a) Decisión Simple. Son aquellas en que solamente se puede escoger uno de dos
caminos posibles y al seleccionar se ejecutarán las instrucciones que se encuentren dentro
de este. Esto es similar a la situación que sufrimos
cuando nos encontramos en la punta de una cuchilla, solamente se puede ir por un camino
ya que es imposible cruzar por ambos a la vez.

a)

Ejemplos;
1. Pedir la edad de una persona e indicar si es mayor o menor de edad.
2. Pedir un número e indicar si es positivo o negativo
3. De acuerdo a un promedio de calificaciones indicar si un alumno esta aprobado o
reprobado.
4. Dados 2 números indicar cuál es el mayor y cual el menor.
5. Sumar dos números siempre que no sean iguales de ser así indicarlo.

M.A.F.O. Claudia García Santos 24


UNIVERSIDAD VERACRUZANA. F.C.A. CAMPUS IXTAC

Proceso Ejemplo1_Sec
Escribir 'Da la edad de la persona : '
Leer edad
Si edad>=18 Entonces
Escribir 'Es mayor de edad'
Sino
Escribir 'Es menor de edad'
FinSi
FinProceso

Proceso Ejemplo2_sec
Escribir "Da un numero"
Leer numero
Si numero > 0 Entonces
Escribir "El numero es
positivo"
Sino
Escribir "El numero es
negativo"
Fin Si
FinProceso

M.A.F.O. Claudia García Santos 25


UNIVERSIDAD VERACRUZANA. F.C.A. CAMPUS IXTAC

Proceso Ejemplo3_sec
Escribir 'Da un promedio'
Leer prom
Si (prom>5 Y prom<=10)
Entonces
Escribir 'El alumno esta
aprobado'
Sino
Escribir 'El alumno esta
reprobado'
FinSi
FinProceso

Proceso Ejemplo4_sec
Escribir "Da un numero : "
Leer n1
Escribir "Da otro número : "
Leer n2
Si (n1 > n2) Entonces
Escribir "El numero mayor es :",n1
Escribir "El número menor es :",n2
Sino
Escribir "El numero mayor es :",n2
Escribir "El número menor es :",n1
FinSi
FinProceso

M.A.F.O. Claudia García Santos 26


UNIVERSIDAD VERACRUZANA. F.C.A. CAMPUS IXTAC

Proceso Ejemplo5_sec
Escribir 'Da un numero : '
Leer n1
Escribir 'Da otro número : '
Leer n2
Si (n1=n2) Entonces
Escribir 'Son iguales no
se pueden sumar'
Sino
c<-n1+n2
Escribir 'La suma es : ',c
FinSi
FinProceso

b) Decisión Múltiple. Son aquellas en que solamente se puede escoger uno de n


caminos posibles, y al seleccionar se ejecutarán las instrucciones que se encuentren dentro
de este. Esto es similar a la situación que sufrimos cuando nos encontramos en un cruce de
caminos, solamente se puede ir por un camino ya que es imposible cruzar por más de uno a
la vez

M.A.F.O. Claudia García Santos 27


UNIVERSIDAD VERACRUZANA. F.C.A. CAMPUS IXTAC

M.A.F.O. Claudia García Santos 28


UNIVERSIDAD VERACRUZANA. F.C.A. CAMPUS IXTAC

Inicio

‘Cuál es tu altura?’,Altura

Altura?

<=150 <=170 >170


‘Altura ‘Valor
‘Altura ‘Altura alta
baja’ media incorrecto’

Fin

M.A.F.O. Claudia García Santos 29


UNIVERSIDAD VERACRUZANA. F.C.A. CAMPUS IXTAC

Ejemplos:
1. Pedir la edad de una persona e indicar si es mayor o menor de edad, o es errónea la
edad.
2. Pedir un número e indicar si es positivo o negativo o igual a cero
3. De acuerdo a un promedio de calificaciones indicar si un alumno está aprobado o
reprobado o hay error en el promedio.
4. Dados 2 números indicar cuál es el mayor, cual el menor o si son iguales.
5. Capturar dos números, si el primero es mayor hacer una resta de lo contrario una suma.

Proceso Ejemplo1_SecM
Escribir 'Da la edad: '
Leer edad
Si (edad>=1 Y edad<=90) Entonces
Si (edad>=18) Entonces
Escribir 'Eres mayor de edad'
Sino
Escribir 'Eres Menor de edad'
FinSi
Sino
Escribir 'Error edad fuera de rango'
FinSi
FinProceso

M.A.F.O. Claudia García Santos 30


UNIVERSIDAD VERACRUZANA. F.C.A. CAMPUS IXTAC

Proceso Ejemplo2_SecM
Escribir 'Da un numero'
Leer numero
Si numero=0 Entonces
Escribir 'Es igual a cero'
Sino
Si numero>0 Entonces
Escribir 'El numero es positivo'
Sino
Escribir 'El numero es negativo'
FinSi
FinSi
FinProceso

M.A.F.O. Claudia García Santos 31


UNIVERSIDAD VERACRUZANA. F.C.A. CAMPUS IXTAC

Ejercicios secuenciales con decisión

1. Un hombre desea saber cuánto dinero se genera por concepto de intereses sobre la cantidad
que tiene en inversión en el banco. El decidirá reinvertir los intereses siempre y cuando estos
excedan a $7000, y en ese caso desea saber cuánto dinero tendrá finalmente en su cuenta.
2. Determinar si un alumno aprueba o reprueba un curso, sabiendo que aprobara si su promedio de
tres calificaciones es mayor o igual a 70; reprueba en caso contrario.
3. En un almacén se hace un 20% de descuento a los clientes cuya compra supere los $1000 ¿
Cuál será la cantidad que pagara una persona por su compra?
4. Un obrero necesita calcular su salario semanal, el cual se obtiene de la sig. manera:
5. Calcular el total a pagar por la compra de camisas. Si se compran tres camisas o mas se aplica
un descuento del 20% sobre el total de la compra y si son menos de tres camisas un descuento
del 10%
6. Una empresa quiere hacer una compra de varias piezas de la misma clase a una fábrica de
refacciones. La empresa, dependiendo del monto total de la compra, decidirá que hacer para
pagar al fabricante.
Si el monto total de la compra excede de $500 000 la empresa tendrá la capacidad de invertir de
su propio dinero un 55% del monto de la compra, pedir prestado al banco un 30% y el resto lo
pagara solicitando un crédito al fabricante.
Si el monto total de la compra no excede de $500 000 la empresa tendrá capacidad de invertir
de su propio dinero un 70% y el restante 30% lo pagara solicitando crédito al fabricante.
El fabricante cobra por concepto de intereses un 20% sobre la cantidad que se le pague a
crédito.
7. En un supermercado se hace una promoción, mediante la cual el cliente obtiene un descuento
dependiendo de un numero que se escoge al azar. Si el numero escogido es menor que 74 el
descuento es del 15% sobre el total de la compra, si es mayor o igual a 74 el descuento es del
20%. Obtener cuánto dinero se le descuenta.
8. Calcular el número de pulsaciones que debe tener una persona por cada 10 segundos de
ejercicio aeróbico; la formula que se aplica es:
cuando el sexo es femenino : num. pulsaciones = (220 - edad)/10
y si el sexo es masculino : num. pulsaciones = (210 - edad)/10
9. En una escuela la colegiatura de los alumnos se determina según el numero de materias que
cursan. El costo de todas las materias es el mismo.
10. Se ha establecido un programa para estimular a los alumnos, el cual consiste en lo siguiente: si
el promedio obtenido por un alumno en el último periodo es mayor o igual que 9, se le hará un
descuento del 30% sobre la colegiatura y no se le cobrara IVA; si el promedio obtenido es menor
que 9 deberá pagar la colegiatura completa, la cual incluye el 10% de IVA. Obtener cuanto debe
pagar un alumno.
11. El gobierno ha establecido el programa SAR (Sistema de Ahorro para el Retiro) que consiste en
que los dueños de la empresa deben obligatoriamente depositar en una cuenta bancaria un
porcentaje del salario de los trabajadores; adicionalmente los trabajadores pueden solicitar a la
empresa que deposite directamente una cuota fija o un porcentaje de su salario en la cuenta del
SAR, la cual le será descontada de su pago.

M.A.F.O. Claudia García Santos 32


UNIVERSIDAD VERACRUZANA. F.C.A. CAMPUS IXTAC

12. Un trabajador que ha decidido aportar a su cuenta del SAR desea saber la cantidad total de
dinero que estará depositado a esa cuenta cada mes, y el pago mensual que recibirá.
13. Una persona desea iniciar un negocio, para lo cual piensa verificar cuánto dinero le prestara el
banco por hipotecar su casa. Tiene una cuenta bancaria, pero no quiere disponer de ella a
menos que el monto por hipotecar su casa sea muy pequeño. Si el monto de la hipoteca es
menor que $1 000 000 entonces invertirá el 50% de la inversión total y un socio invertirá el otro
50%. Si el monto de la hipoteca es de $ 1 000 000 o más, entonces invertirá el monto total de la
hipoteca y el resto del dinero que se necesite para cubrir la inversión total se repartirá a partes
iguales entre el socio y el.
14. Una fábrica ha sido sometida a un programa de control de contaminación para lo cual se efectúa
una revisión de los puntos IMECA generados por la fábrica. El programa de control de
contaminación consiste en medir los puntos IMECA que emite la fabrica en cinco días de una
semana y si el promedio es superior a los 170 puntos entonces tendrá la sanción de parar su
producción por una semana y una multa del 50% de las ganancias diarias cuando no se detiene
la producción. Si el promedio obtenido de puntos IMECA es de 170 o menor entonces no tendrá
ni sanción ni multa. El dueño de la fábrica desea saber cuánto dinero perderá después de ser
sometido a la revisión.
15. El IMSS requiere clasificar a las personas que se jubilaran en el año de 2015. Existen tres tipos
de jubilaciones: por edad, por antigüedad joven y por antigüedad adulta. Las personas adscritas
a la jubilación por edad deben tener 60 años o más y una antigüedad en su empleo de menos de
25 años. Las personas adscritas a la jubilación por antigüedad joven deben tener menos de 60
años y una antigüedad en su empleo de 25 años o más.
Las personas adscritas a la jubilación por antigüedad adulta deben tener 60 años o más y una
antigüedad en su empleo de 25 años o más.
Determinar en qué tipo de jubilación, quedara adscrita una persona.
16. En una llantera se ha establecido una promoción de las llantas marca “Ponchadas”, dicha
promoción consiste en lo siguiente:
Si se compran menos de cinco llantas el precio es de $300 cada una, de $250 si se compran de
cinco a 10 y de $200 si se compran más de 10.
Obtener la cantidad de dinero que una persona tiene que pagar por cada una de las llantas que
compra y la que tiene que pagar por el total de la compra.
17. En un juego de preguntas a las que se responde “Si” o “No” gana quien responda correctamente
las tres preguntas. Si se responde mal a cualquiera de ellas ya no se pregunta la siguiente y
termina el juego. Las preguntas son:
Colon descubrió América?
La independencia de México fue en el año 1810?
The Doors fue un grupo de rock Americano?
18. El dueño de una empresa desea planificar las decisiones financieras que tomara en el siguiente
año. La manera de planificarlas depende de lo siguiente:
Si actualmente su capital se encuentra con saldo negativo, pedirá un préstamo bancario para
que su nuevo saldo sea de $10 000. Si su capital tiene actualmente un saldo positivo pedirá un
préstamo bancario para tener un nuevo saldo de $20 000, pero si su capital tiene actualmente un
saldo superior a los $20 000 no pedirá ningún préstamo.
Posteriormente repartirá su presupuesto de la siguiente manera.
$5 000 para equipo de computo

M.A.F.O. Claudia García Santos 33


UNIVERSIDAD VERACRUZANA. F.C.A. CAMPUS IXTAC

$2 000 para mobiliario


y el resto la mitad será para la compra de insumos y la otra para otorgar incentivos
al personal.
Desplegar que cantidades se destinaran para la compra de insumos e incentivos al personal y,
en caso de que fuera necesario, a cuánto ascendería la cantidad que se pediría al banco.
19. Tomando como base los resultados obtenidos en un laboratorio de análisis clínicos, un medico
determina si una persona tiene anemia o no, lo cual depende de su nivel de hemoglobina en la
sangre, de su edad y de su sexo. Si el nivel de hemoglobina que tiene una persona es menor
que el rango que le corresponde, se determina su resultado como positivo y en caso contrario
como negativo. La tabla en la que el médico se basa para obtener el resultado es la siguiente:

EDAD NIVEL HEMOGLOBINA


0 - 1 mes 13 - 26 g%
> 1 y < = 6 meses 10 - 18 g%
> 6 y < = 12 meses 11 - 15 g%
> 1 y < = 5 años 11.5 - 15 g%
> 5 y < = 10 años 12.6 - 15.5 g%
> 10 y < = 15 años 13 - 15.5 g%
mujeres > 15 años 12 - 16 g%
hombres > 15 años 14 - 18 g%

M.A.F.O. Claudia García Santos 34

También podría gustarte