ALGORITMOS

LOS ALGORITMOS



Es una secuencia de pasos que deben seguir para poder resolver un problema. Ejemplo:

Pasos para cosinar arroz
Pasos para lavar la ropa
Pasos para hacer un jugo

TIPOS DE LENGUAJES ALGORÍTMICOS
GRAFICOS: es la representacion grafica de las operaciones que realiza un algoritmo (diagrama de flujo).

NO GRAFICOS: representa en forma descriptiva las operaciones que debe realizar un algoritmo.

PASOS PARA ELABORAR UN ALGORITMO
1) ENUNCIADO DEL PROBLEMA: es en sí la teoria del problema a resolver.
2)ANALISIS Y FORMULACION MATEMATICA: desarrollar manualmente el problema planteado y obtener las fórmulas que permitan realizar los cálculos necesarios.
3)ELABORACION DEL ALGORITMO:consiste en detallar uno a uno de forma logica los pasos que debe seguirse para la resolucion del problema.

VARIABLE

Reserva un espacio en la memoria del ordenador para luego el usuario coloque o ingrese un valor que puede ser letras, números, etc.

REGLAS PARA NOMBRAR UNA VARIABLE

1) Debe empezar con un a letra del alfabeto.
2) El resto puede contener numeros o caracteres especiales.
3) No puede contener espacios en blanco, en vez de espacios en blanco se puede utilizar el signo del subrayado.
4) No debe contener tíldes ni signos de puntuaciòn.
5) Las palabras reservadas en pseudocódigos.

TIPOS DE VARIABLES

VARIABLES DE TIPO NUMERICO ENTERO.- Son aquellos que almacenan un numero entero. Ejemplo:
Bß15

VARIBLE DE TIPO NUMERICO REAL.- son los que almacenan un número decimal. Ejemplo:
Aß20.3
VARIABLE DE TIPO CARACTER.- Son los que almacenan un solo caracter con una letra y se lo puede representar con apostrofes. Ejemplo:
Cß'5'

VARIABLE DE TIPO CADENA DE CARACTER.- Son los que almacenan dos o mas caracteres con comillas. Ejemplo:
Dß"Casa"

VARIABLE DE TIPO LOGICO.- Son aquellos que pueden contraer un valor ya sea verdadero o falso. (V.  F.).

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

pi = 3.1416
a = 123
b = a + 125
OPERADORES ARITMÉTICOS


Los operadores aritméticos sirven para realizar operaciones tales como suma, resta, división y multiplicación. Existen dos tipos de operadores aritméticos:


JERARQUÍA DE LOS OPERADORES ARITMÉTICOS
Tenga cuidado cuando utilice los operadores pues a veces puede obtener resultados no esperados si no tiene en cuenta su orden de evaluación. Veamos la lista de precedencias, cuanto más arriba se evalúa antes:

Operador

()
Mayor precedencia
˄

*, /, Mod, Div

+,-
Menor precedencia



Para resolver una expresión aritmética siga estas reglas:
  • Primero se resuelven las expresiones que se encuentran entre paréntesis.
  • Se procede aplicando la jerarquía de operadores.
  • Al evaluar una expresión, si hay dos operadores con la misma jerarquía, se procede evaluar de izquierda a derecha.
  • Si hay expresiones relacionales, se resuelven primero paréntesis, luego se encuentran los valores de verdad de las expresiones relacionales y por último se aplica jerarquía de operadores lógicos. En caso de haber iguales, proceder de izquierda a derecha.
Veamos varios casos más y algunos ejercicios para resolver:
a)      4*8 -2˄3+10
            1
4*88+10
    2           3
32 – 18
         4           
14
b)      8 Div3 –(2˄3+10Mod3)
                   1                  2
8 Div3 – (8+1)
                        3
8Div 3 - 9
      4              
 2-9
    5              
-7
OPERADOR DE RELACIÓN
Los operadores de relación se utilizan para comprar el contenido de dos variables. Al comprar un dato con otro, devuelven True, si es  Verdadero, o False, si es falso. Existe seis operadores relacionales básicos:

Operador
Significado
>
Mayor que
<
Menor que
>=
Mayor o igual que
<=
Menor o igual que
=
Igual que
<>
Distinto a


Ejemplos:
1)      5˄2>6˄2
                       1        2
25>36
                       3
Falso
2)      (7Div 3>5)>(2˄(10-7)=8)
                    1
(2>5) > (2˄(10-7)=8)
                     2                        
Falso > (2˄(10-7)=8)
                              3
 Falso > (2˄3=8)
                      4
Falso > (8=8)
                     5
Falso > Verdadero
                6
Falso
Falso es menor que verdadero

OPERADORES LÓGICOS
Estos operadores permiten unir varias expresiones de relación para formar expresiones más complejas. Básicamente son tres:

Operador
Significado
AND
Y lógico
OR
O lógico
NOT
No lógico

EL OPERADOR AND
Este operador combina dos condiciones simples y devuelve verdadero sólo si los dos operandos son verdaderos, en los demás casos devuelve falso.
Tabla de verdad del operador AND:

A
B
A AND  B
VERDADERO
VERDADERO
VERDADERO
VERDADERO
FALSO
FALSO
FLASO
VERDADERO
FALSO
FALSO
FALSO
FALSO


EJEMPLOS:
a)      Si a=2yb=15
(a<5) AND(b>25 )
    1                
VERDADERO AND (b > 25)
                                               2     
VERDADERO AND FALSO
                               3            
FALSO

b)      Si a=30, b= 20 y c=15
(a>b) AND(b>c)
    1                
VERDADERO AND (b > c)
                                              2     
VERDADERO AND VERDADERO
                               3            
VERDADERO


EL OPERADOR OR
Este operador devuelve verdadero si ambos o uno de los operandos es verdaderos. Devuelve falso solo si ambos operandos son falso.
Tabla de verdad del operador OR:

A
B
A OR  B
VERDADERO
VERDADERO
VERDADERO
VERDADERO
FALSO
VERDADERO
FLASO
VERDADERO
VERDADERO
FALSO
FALSO
FALSO


Ejemplos y ejercicios con el operador OR:
a)      Si a=2yb=15
(a<5) OR(b>25 )
    1                
VERDADERO OR (b > 25)
                                            2     
VERDADERO OR FALSO
                               3            
VERDADERO

b)      Si a=30, b= 20 y c=15
(a>b) OR(b>c)
    1                
VERDADERO OR (b > c)
                                           2            
VERDADERO OR VERDADERO
                               3            
VERDADERO

EL OPERADOR NOT

Este operador actúa sobre una sola condición simple u operando y simplemente niega (o invierte) su valor.

Tabla de verdad del operador NOT:


A
NOT A
VERDADERO
FALSO
FALSO
VERDADERO


Ejemplos y ejercicios con el operador NOT:

a)      Si b=15
NOT(b+10>25 )
                    1                       
NOT (25 > 25)
                        2                   
NOT FALSO
            3        
              VERDADERO


b)      Si N=10 y b= 2
NOT((N^b)>25 )
                 1                       
NOT (100> 105)
                        2                   
NOT FALSO
            3        
              VERDADERO


ESCRITURA DE FORMULAS MATEMÁTICAS

En los lenguajes de programación las formulas matemáticas se deben escribir en formato lineal. Esto obliga al uso frecuente de paréntesis que indiquen el orden de evaluación correcta de los operadores.

FORMULAS MATEMATICAS                       FORMATO LINEAL

Área=                                                              area= (base*altura)/2

F=  C + 32                                                         = (9/5)*C+32

Suma=                                                              Suma= N*(N+1)/2

M= C(1+i/N)NxT                                               M=C*(1+i/N)^(N*T)


EJEMPLO DE ALGORITMO
Realizar un algoritmo que me permita ingresar dos numeros, sumarlos y luego presentar el resultado.

DESARROLLO
1.- Inicio
2.- Ingresar A, B
3.- Proceso de Suma A+B
4.- Presentar Suma
5.- Fin


ANALISIS:

Todo algoritmo lleva su inicio y su fin, todos los pasos van enumerados luego se ingresa los dos números representados por dos variables (A, B), además asignamos una nueva variable (suma) en la que almacenaremos el resultado, luego se presenta el valor de dicha variable.    

PRUEBA DE ESCRITORIO

Permite hacer una prueba de nuestro algoritmo dando valores obteniendo resultados, que de ser los buscados, estaremos confirmando que la lógica aplicada por nosotros es aceptable.
Ejemplo:

A
B
SUMA ß   A+B
PRESENTO
10
5
15 ß 10+5
15
20
4
24ß 20+4
24
30
2
32ß 30+2
32


Estas estructuras se utilizan para TOMAR DECISIONES (por eso también se llaman estructuras de decisión o alternativas). Lo que se hace es EVALUAR una condición, y, a continuación, en función del resultado, se lleva a cabo una opción u otra.

ALTERNATIVAS SIMPLES (CONDICIONAL SI)
Son los conocidos "si... entonces". Se usan de la siguiente manera: yo quiero evaluar una condición, y si se cumple (es decir, si es cierta), entonces realizaré una serie de pasos.


1. Inicio
2. Presentar "introduce un numero"
3. Ingresar numero
4. SI numero>=0 ENTONCES
5. Proceso raiz=raiz_cuadrada(numero)
6. Presentar "la raíz cuadrada es:"
7. Presentar la raiz
8. Fin del SI
9. Fin

ALTERNATIVAS DOBLES (SI…SINO….)

¿Qué pasa si no cumple la condición puesta?
Si no decimos nada el programa seguirá a la siguiente orden de forma secuencial. Pero también podemos especificar qué pasaría si no cumple la condición. Es el famoso trío "si... entonces... sino esto otro"

  1. Inicio
  2. Presentar “introduce un numero”
  3. Ingresar numero
  4. SI numero >= 0 ENTONCES
  5. Proceso raíz= raíz _ cuadrada(numero)
  6. Presentar “la raíz cuadrada es:”
  7. Presentar la raíz
  8. SINO  
  9. Presentar “Lo siento, no puedo calcular la raíz cuadrada de un numero negativo”
  10. Fin del SI
  11. Fin
BUCLES REPETITIVOS
1.    MIENTRAS/HACER
El bloque de sentencias mientras se cumple una determinada condición; es decir, la acción o acciones se repiten mientras la condición es verdadera. Ejemplo:
Calcular las suma de los cuadrados de los números entre 1 y 5.

ANALISIS
           
Para elaborar el siguiente ejercicio hemos tomando en cuenta el bucle  mientras/hacer: Para saber la suma de los cuadros entre 1 y 5  asignamos un valor (1) al contador (i), lo mismo al acumulador (suma), con un valor (0), luego ubicaremos bucle repetitivo mientras, acompañado de la condición (i<=5), el cual repetirá una cierta cantidad de veces, hasta que la condición sea falsa, dentro del acumulador, multiplicaremos el contador por el mismo y será almacenado hasta que salga del bucle, después hay que hacer un proceso (ißi+1) que vaya incrementando el valor de (i) en 1, hasta que finalice la condición.

1.  Inicio
2.  Proceso i ß1
3.  Proceso suma ß 0
4.  mientras (i <= 5)hacer
5.  Proceso suma= suma + i * i
6.  Proceso i ß i + 1
7.  Fin_mientras
8.  Presentar (“La suma de los cuadrados hasta 5 es:”, suma)
9.  Fin

PRUEBA DE ESCRITORIO


2.    REPETIR/MIENTRAS

El bucle REPETIR… MIENTRAS es similar al bucle mientras, la diferencia radica en el momento de evaluación de la condición.
En el bucle REPETIR… MIENTRAS la condición se evalúa después de ejecutar el bloque de instrucciones, por lo tanto, el bloque se ejecuta por lo menos una vez. Este bloque se ejecuta nuevamente si la condición evalúa como verdadero, y no se ejecuta más si se evalúa como falso.
La forma general del bucle REPETIR… MIENTRAS es la siguiente. Ejemplo:
El problema de calcular la suma de los números naturales desde 1 hasta n (enunciado anteriormente), se puede solucionar usando el bucle REPETIR… MIENTRAS.

ANÁLISIS

Para  calcular la suma de los números ingresamos un valor (n), asignamos un valor (1) al contador (i), lo mismo al acumulador (suma), con un valor (0), y empezamos a realizar el bucle (repetir… mientras), escribimos como cabecera la palabra repetir como cabecera principal, realizamos el proceso (sumaßsuma+i) esto nos permite acumular el valor del contador, en el proceso (ißi+1) representa el incremento en el contador en 1, mientras la condición (i<=n), seguirá repitiendo hasta que sea falso, luego presentara por pantalla la suma de los números acumulados (Suma).


1.     Inicio
2.     presentar ( “Introduzca el número: ” )
3.     ingresar (n)
4.     Proceso suma ß0
5.     Procesos iß1
6.     Repetir
7.     Proceso suma ßsuma + i
8.     Proceso i ß i + 1
9.     mientras (i <= n)
10.  presentar ( “La suma es: ”, suma )
11.  Fin
PRUEBA DE ESCRITORIO