Blogia

Algoritmos I

Algoritmo

CONCEPTO:

La palabra algoritmo se deriva de la traducción al latín de la palabra Alkhowarizmi, nombre del matemático y astrónomo árabe que escribió un tratado sobre manipulación de números y ecuaciones del siglo IX.

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

CARACTERISTICAS DE UN ALGORITMO

-      PRECISO: Indicar el orden de realización en cada paso.

-      DEFINIDO: Si se sigue dos veces, obtiene el mismo  resultado cada vez.

-      FINITO: Tiene fin, un numero determinado de pasos.

TIPOS DE ALGORITMOS:

ALGORITMO CUALITATIVO:  Son los algoritmos descritos mediante palabras. 

EJEMPLOS:- 

La elaboración de una receta de cocina

- Búsqueda de un numero telefónico

El cambio una llanta

- El cambio de un foco quemado 

ALGORITMO CUANTITATIVO:  Son los algoritmos que se basan en cálculos numéricos. 

EJEMPLOS:

-   Pasos a seguir para calcular los sueldos de los empleados de una empresa.

Instrucciones para calcular los impuestos a pagar de los vecinos de un municipio.

Pasos para calcular el promedio final de una asignatura.

Obtener el máximo común divisor de dos números. 

Los algoritmos se pueden expresar por la siguientes herramientas de diseño:

-  Formulas

-  Diagramas de flujos

Pseudocódigos

N-S (Nassi-Schneiderman) 

Análisis del Problema

Ø       El análisis del problema es la fase fundamental para resolver un problema.  Esta fase requiere  normalmente el máximo de imaginación y creatividad  por parte del programador o del analista.

Ø       Se analiza teniendo presente la especificación de los requerimientos dados por el cliente de la empresa o por la persona que encarga el problema.

 

Acciones que debe tener el análisis del problema:

ENTRADA        PROCESO       SALIDA 

Entrada: el objetivo de este paso es determinar los datos que se utilizaran para resolver el problema.

Proceso: el objetivo es graficar el Procesamiento de Datos, que permita identificar las entradas y salidas de cada uno de los procesos.

Salida: El objetivo es definir las salidas que tendrá el problema referente  a las necesidades detectadas. 

 

Pasos que se deben realizar:

Ø            Se debe examinar cuidadosamente el problema a fin de identificar qué tipo de información se necesita producir (Salida)

Ø            A continuación debe identificar aquellos elementos de información dados en el problema, que puedan ser útiles para obtener solución (Entrada y datos adicionales)

Ø            Luego, identificar los procedimientos necesarios que permitan transformar los datos de entrada en salida (Proceso).

Crear el Identificador:

En este paso se crearan las variables, identificará el tipo de variables o constante y aplicarán las fórmulas que se vieron en el tema Expresiones. 

Fases en la Resolucion de Problemas

El proceso de resolución de un problema con una computadora conduce a la escritura de un programa y a su ejecución en la misma.

Definición de Problema

Elaboración de un concepto que nos permitirá saber que es lo que se pretende solucionar y nos proporcionará información útil para el planteamiento de la solución.

 La resolucion de problemas se subdivide en dos fases importantes:

1. Fases en la Resolucion de Problemas

2. Fase de implementacion en la computadora

 La primera fase tiene 3 elementos importantes:

1. Analisis del problema

2. Diseño del algoritmo

3. Verificación manual del algoritmo.

La segunda fase tiene los siguientes elementos:

1. Codificación del algoritmo en programa

2. Compilación y ejecucion del programa

3. Verificación y depuración del programa

4. Documentación y Mantenimiento

 

Sentencias de Asignación

Se utiliza para asignar o almacenar valores a variables o constantes. Es una operación que sitúa un valor determinado en una posición de memoria.  La operación de asignación se denota con el signo = algunos lenguajes de programación admiten operadores tales como: ←, :=  El tipo de expresión debe ser del mismo tipo que el de la variable, en caso contrario en la fase de compilación se produciría un error de tipos. Aunque a la fecha existen lenguajes de programación con una potente herramienta para la conversión de datos (tal es el caso de Visual Basic), no es recomendable asignar valores de un tipo diferente a variables de otro tipo.

FORMATO:

Nombre del identificador = Expresión o Valor

REGLAS DE LAS SENTENCIAS DE ASIGNACION

1. Una variable al lado derecho de la sentencia de asignacion debe de tener un valor antes de que la sentencia se ejecute. Hasta que un programa le de un valor a una variable, esa variable no tiene valor.

Ejemplo:

C = A + 1     Si la variable A no tiene valor antes de ejecutarse la expresión, se producirá un error lógico.

2. En la izquierda de una sentencia de asignación solo pueden existir identificadores. Por consiguiente no es válido lo siguiente:

   Sueldo - Descuentos = 425

   5 = B

Ejemplos  válidos:

   A = 10

   Pi = 3.1416

   NSueldo = Sueldo + aumento

3. La operación de asignación es destructiva debido a que el valor almacenado en una variable se pierde o se destruye y se sustituye por el nuevo valor de la sentencia de asignación.

4. Es posible utilizar el mismo nombre de identificador en ambos lados del ooperador de asignación.

Ejemplo:

   N = 2

   N = N + 4

Desde el punto de vista matemático carece de sentido.

Clasificación de Asignación

Por su Contenido:

- Asignación Aritmética

- Asignación Alfanumérica

- Asignación Lógica

Por su Uso:

- Asignación de Trabajo

- Contadores

- Acumuladores

Asignación aritmética:

 La expresión que se evalúa  es de tipo aritmético y es aquella en la cual se almacenan valores enteros o reales.

Ejemplos:

Suma = 3+14+8   

Iva = 0.13

Promedio = (N1 + N2 + N3) / 3

Asignación Alfanumérica:

La expresión que se evalúa es de tipo carácter y esta formada por caracteres alfanuméricos (letras, numéricos y caracteres especiales).

Ejemplo:

X = “12 de Octubre de 1942"

Asignación lógica

 La expresión que se evalúa es de tipo lógico y solo puede tomar uno de dos valores falso o verdadero. Estos representan el resultado de una comparación entre otros datos.

Ejemplos: 

M = 8 > 5                             El valor lógico de M es verdadero.                          

Y = 3 > 2 AND 10 <= 5         El valor lógico de Y es Falso 

Expresiones Lógicas

Las Expresiones lógicas son aquellas que pueden tomar uno de dos valores, verdadero o falso. 

La importancia de estas expresiones es la aplicación en las estructuras de control que gobiernan el flujo de un programa.

Las expresiones lógicas se forman combinando constantes y variables con operadores lógicos y relacionales.

 Operadores Relacionales.

Los operadores relacionales se utilizan para expresar condiciones. (comparación entre dos elementos) 

OPERADORES RELACIONALES

OPERADOR

SIGNIFICADO

=

Igual que

>

Mayor que

> =

Mayor o igual que

<

Menor que

< =

Menor o igual que

<>

Diferente de

  FORMATO: 

Expresión1 o valor           Operador de Relación         Expresión2 o valor
  

El resultado de una condición será siempre un dato lógico. (V (verdadero) ó F (falso))

TABLAS DE VERDAD DE LOS OPERADORES LÓGICOS 

Son estructuras lógicas necesarias para poder establecer las posibilidades de falsedad o de verdad de las expresiones lógicas.

 Ø      Operador NOT (no) o Negación: (Not p)

p

Not p

V

F

F

V

 

Cuando una expresión es verdadera al negarla se convierte en falsa, de igual manera cuando una expresión es falsa al negarla se convierte en verdadera. 

Ø      Operador AND (y) ó conjunción: (p and q) 

p

q

p AND q

V

V

V

V

F

F

F

V

F

F

F

F

La expresión p AND q, es verdadero solamente cuando ambas son verdaderas, de lo contrario el resultado será falso. 

Ø      Operador OR (o) ó Disyunción inclusiva: ( p OR q) 

p

q

p OR q

V

V

V

V

F

V

F

V

V

F

F

F

La expresión p o q es falsa solamente cuando ambas expresiones son falsas, caso contrario es verdadera.

Expresiones Aritméticas

EXPRESIONES ARITMETICAS

Las expresiones aritméticas son análogas (parecidas) a las fórmulas matemáticas.  Las variables y constantes son numéricas (enteras o reales) y las operaciones son las aritméticas.

   OPERADORES ARITMETICOS:

OPERADOR

USO Y SIGNIFICADO

TIPOS DE

OPERANDOS

RESULTADO

^

Eleva un valor a la potencia o exponente.

Entero o real

Entero o real

+

Suma dos valores.

Entero o real

Entero o real

-

Resta el valor de la derecha al de la izquierda.

Entero o real

Entero o real

*

Multiplica dos valores.

Entero o real

Entero o real

/

Divide el valor de la izquierda entre el de la derecha.

Real

Real

Div

División entera, devuelve un resultado de tipo entero.

Entero

Entero

Mod

Abreviatura de módulo, devuelve el resto de una división entera.

Entero

Entero

Operador DIV y MOD:

  • El operador Div:

         Representa la división entera y en algunos lenguajes como Visual Basic. Net se seule utilizar el simbolo de la pleca invertida.

  • El operador Mod:

         Representa el resto o residuo de la división entera, aunque hay lenguajes que utilizan otro símbolo como %.

REGLAS DE PRIORIDAD:

Las expresiones que tienen dos o más operandos requieren unas reglas matemáticas que permitan determinar el orden de las operaciones, se denominan reglas de prioridad o precedencia.

1. Las operaciones que están encerradas entre paréntesis se evalúan primero. Si existen paréntesis anidados (interiores unos a otros), las expresiones mas internas se evalúan primero.

2. Prioridad de Operadores Aritméticos: dentro de una misma expresión o subexpresión, los operadores se evalúan en el siguiente orden:

OPERADOR

ORDEN

OPERACION

^

Mayor

¯

Menor

Potenciación

*, /

Multiplicación y división

Div, Mod

División entera y módulo

+, -

Suma y Resta

3. En caso de coincidir varios operadores de igual prioridad en una expresión o sub-expresión encerrada entre paréntesis, el orden de prioridad es de izquierda a derecha.

Expresiones

Las Expresiones son combinaciones de constantes, variables, símbolos de operación, paréntesis y nombres de funciones especiales.

ELEMENTOS DE UNA EXPRESION:

- Operandos

- Operadores

Un operador e un simbolo o palabra que significa que se ha de realizar cierta acción entre dos o mas valores, llamadod operandos.

CLASIFICACION DE LAS EXPRESIONES

Segun el tipo de datos que manipulan las expresiones se clasifican en:

- Expresiones Aritméticas

- Expresiones Lógicas

 

Constantes y Variables

Constantes y Variables

 

Constantes:

Una constante es un dato numérico o alfanumérico que no cambia durante todo el desarrollo del algoritmo o durante la ejecución del programa. Es un objeto de valor invariable.  Para expresar una constante se escribe explícitamente su valor.

Tipos de Constantes:

  • Constantes Numéricas (Enteras y Reales)
  • Constantes Alfanuméricas
  • Constantes Lógicas (Boolenas)

Las constantes pueden ser:

Constantes sin nombre: Es una expresión numérica donde se puede utilizar directamente el valor.

Constantes con nombre: Se hace una reserva de memoria en la cual se guarda el valor que será utilizado como constante.

Ejemplo:

a) PI = 3.1416

b) E = 2.718228

c) Iva = 0.13

 

Variables:

Son zonas de memoria cuyo contenido cambia durante la fase de procesamiento de información.

Tipos de variables:

  •  Variables Numéricas (Enteras y Reales)
  •  Variables Alfanuméricas

           a) Caracteres alfabéticos

           b) Dígitos

           c) Caracteres especiales

  •  Variables Lógicas (Boolenas)

Son las que únicamente pueden contener dos valores, los cuales son:

  •  Valor Verdadero ó 1
  •  Valor Falso ó 0

Estos tipos de variables pueden tomar únicamente valores del mismo tipo, es decir si la variable es entera solamente puede almacenar datos enteros.

Ejemplo:

Una variable declarada como cadena solo puede tomar valores correspondientes a ese tipo.

                                             Nombre = "Manuel López"