viernes, 18 de septiembre de 2009

METODOLOGÍA PARA LA RESOLUCIÓN DE UN PROBLEMA POR MEDIO DE UN COMPUTADOR


METODOLOGÍA PARA LA RESOLUCIÓN DE UN PROBLEMA POR MEDIO DE UN COMPUTADOR

- Análisis previo del problema.


- Primera visión del método de resolución.


- Descomposición en módulos.


- (Programación estructurada).


- Búsqueda de soluciones parciales.


- Ensamblaje de soluciones finales.

QUÉ ES UN ALGORITMO

QUÉ ES UN ALGORITMO

Un algoritmo es el conjunto de operaciones y procedimientos que deben seguirse para resolver un problema. La palabra "algoritmo" deriva del nombre latinizado del gran matemático árabe Mohamed Ibn Moussa Al Kow Rizmi, el cual escribió sobre entre los años 800 y 825 su obra Quitab Al Jabr Al Mugabala, donde se recogía el sistema de numeración hindú y el concepto del cero. Fue Fibonacci, el que tradujo su obra al latín y la inició con las palabras: Algoritmi dicit.

TIPOS DE ALGORITMOS

TIPOS DE ALGORITMOS

Existen dos tipos y son llamados así por su naturaleza:

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

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

TIPOS DE DATOS

TIPOS DE DATOS


Los tipos de datos existentes son:
Ø Cadenas
Ø enteros
Ø Reales
Ø Booleanos
Ø arreglos y objetos
Ø AbstractoMaquina

IDENTIFICADOR

IDENTIFICADOR

Los identificadores (IDs) son símbolos léxicos que nombran entidades. El concepto es análogo al de "nombre". Los identificadores se usan ampliamente en prácticamente todos los sistemas de procesamiento de la información. Nombrar las entidades hace posible referirse a las mismas, lo cual es esencial para cualquier tipo de procesamiento simbólico.

CONSTANTE, VARIABLE Y EXPRESIÓN :

CONSTANTE, VARIABLE Y EXPRESIÓN :

Constantes:
Una constante es un dato numérico o alfanumérico que no cambia durante la ejecución del programa. Ejemplo: pi = 3.1416
Variable:
Es un espacio en la memoria de la computadora que permite almacenar temporalmente un dato durante la ejecución de un proceso, su contenido puede cambiar durante la ejecución del programa. Para poder reconocer una variable en la memoria de la computadora, es necesario darle un nombre con el cual podamos identificarla dentro de un algoritmo. Ejemplo: area = pi * radio ^ 2 Las variables son : el radio, el area y la constate es pi.

Expresiones:
Las expresiones son combinaciones de constantes, variables, símbolos de operación, paréntesis y nombres de funciones especiales. Por ejemplo: a + (b + 3) / c Cada expresión toma un valor que se determina tomando los valores de las variables y constantes implicadas y la ejecución de las operaciones indicadas.Una expresión consta de operadores y operandos. Según sea el tipo de datos que manipulan, se clasifican las expresiones en:

- Aritméticas

- Relacionales

- Lógicas

TIPOS DE VARIABLES

TIPOS DE VARIABLES

Las variables no tienen tipos explícitamente. Sin embargo podemos definir cinco tipos

Booleanas : 0/no/off (en caso de ser falso) y 1/yes/on/ (en caso de ser verdadero) o un número diferente de 0

Números : 1 0 3.14 1.e-10, se tratan como cadenas, salvo en expresiones aritméticas en que se convierte primero en binario.

Cadenas de caracteres : Bienvenido, "Madame De Labas", 32 , {z 3.14}
Listas : de booleanas, nombres, cadenas o listas (pudiendo anidar listas)

Matrices asociativas : T(clave) M(2,3) que puedan contener los 4 tipos anteriores, incluso mezclados

TIPOS GENERALES DE OPERADORES

TIPOS GENERALES DE OPERADORES

Operadores de condición

Relacionan un término A con otro B estableciendo su igualdad, jerarquía o cualquier otra relación posible, como ejemplos tenemos:

A = B establece que A es igual que B.

En este caso hay que distinguir entre operador = de asignación y el operador = de comparación. El primero toma el valor de B y se lo asigna a A; el segundo solamente compara los valores de A y B sin modificarlos y devuelve un valor lógico o de verdad verdadero si ambos valores son iguales o falso si dichos valores no son iguales.

A ≠ B o desigualdad.

Este caso es justamente el opuesto al anterior, aunque aquí no podemos hablar de asignación, pero si de comparación. Ahora el resultado de esta operación será F si los valores A y B son iguales y V si son distintos.

Operadores de orden: establecen o verifican clasificaciones entre números (A <> B, etc.) u otro tipo de valores (caracteres, cadenas, ...).

Todo tipo de dato susceptible de ser ordenado por cualquier criterio puede ser comparado con estos operadores; como los anteriores devuelven un valor de verdad en función del resultado que tenga la comparación en cada caso.

· A > B Devuelve V si A es estrictamente mayor que B y F en caso contrario
· A < B Devuelve V si A es estrictamente menor que B y F en caso contrario
· A ≥ B Devuelve V si A es mayor o igual que B y F en caso contrario
· A ≤ B Devuelve V si A es menor o igual que B y F en caso contrario

OPERADORES NUMERICOS

OPERADORES NUMERICOS

Los siguientes ejemplos muestran los operadores numéricos. Una expresión que utiliza un operador numérico devuelve un número.
El operador módulo (%) divide el primer número por el segundo, devolviendo un número entero del resto de la división. Estos son algunos ejemplos:
10%2 devuelve 0, puesto que 10 entre 2 no tiene resto.
10%3 devuelve 1, puesto que el resto de la división es 1.
10,5%3 devuelve 0, puesto que el resto no es un número entero.

- Suma. Número+Número.
Ejemplo: 2+3 es igual a 5.

- Resta. Número-Número.
Ejemplo: 3-2 es igual a 1.

- Multiplicación. Número*Número.
Ejemplo: 5*2 es igual a 10.

- División. Número/Número.
Ejemplo: 5/2 es igual a 2,5.

- División Entera. Número\Número.
Ejemplo: 5\2 es igual a 2.

- Módulo. Número%Número.
Ejemplo: 5%2 es igual a 1.

- Exponenciación. Número^Número.
Ejemplo: 2^3 es igual a 8.

OPERADOR LÓGICO

OPERADOR LÓGICO

Los Operadores Lógicos son utilizados por la lógica proposicional para admitir o rechazar proposiciones. En programación de ordenadores se utilizan para combinar valores lógicos (Verdadero/Falso) y obtener nuevos valores lógicos que determinen el flujo de control de un algoritmo o programa.
Muy utilizados en Informática, Lógica proposicional y Álgebra booleana, entre otras disciplinas. Los operadores lógicos nos proporcionan un resultado a partir de que se cumpla o no una cierta condición. Esto genera una serie de valores que, en los casos más sencillos, pueden ser parametrizados con los valores numéricos 0 y 1, como se puede apreciar en los ejemplos de abajo. La combinación de dos o más operadores lógicos conforma una función lógica.
Los más sencillos son (nótese su relación con los operadores relacionales):

- Operador NO-lógico: '¬A' significa todo lo que no es A'

- Operador Y-lógico: 'A ∧ B' significa 'A y B a la vez'; resultando FALSO (0) si no se cumple y VERDADERO (1) si sí lo hace.

- Operador O-lógico: 'A ∨ B' significa 'O bien A, o bien B, o bien los dos'; resultando FALSO (0) si no se dan ni A ni B y VERDADERO (1) si se da alguno de los dos o los dos a la vez.

- Operador =: 'A = B' significa 'A debe ser igual a B'; resultando FALSO (0) si esto no es así y VERDADERO (1) en caso contrario.

- Operador <: 'A <>

ESTRUCTURAS ALGORÍTMICAS

ESTRUCTURAS ALGORÍTMICAS

Las estructuras de operación de programas son un grupo de formas de trabajo,
que permiten, mediante la manipulación de variables, realizar ciertos procesos
específicos que nos lleven a la solución de problemas. Estas estructuras se clasifican
de acuerdo con su complejidad en:
- Asignación

Secuenciales
- Entrada
- Salida
- Simples

Condicionales
- Múltiples
- Hacer para

Cíclicas
- Hacer mientras
- Repetir hasta

DEFINICIÓN DE ASIGNACIÓN

DEFINICIÓN DE ASIGNACIÓN

En programación, tipo de operador que sirve para almacenar un valor en una variable. Por ejemplo en lenguaje C, numero = 4;. El operador de asignación es = y asigna a la variable numero el valor 4. No debe confundirse con la igualdad, que suele representarse == en lenguaje C y otros lenguajes.El operador de asignación puede cambiar dependiendo del lenguaje de programación. Suele usarse =, pero también:=.
Se representa mediante: una flecha

martes, 15 de septiembre de 2009

CONTADORES

CONTADORES


Un contador es un dispositivo capaz de medir (contar) el número de cambios de nivel en una señal de entrada, activando una señal de salida cuando se alcanza un valor prefijado.
Están definidos dos tipos de contadores:
· Contador incremental, que acumula el numero de impulsos recibidos por su entrada de pulses.
· Contador bidireccional (UP/DOWN), que acumula la diferencia entre los pulses recibidos por sus entradas de cuenta ascendente y cuenta descendente.
En estos últimos existen, a su vez, dos versiones:
· De entradas de pulsos separadas, UP (cuenta ascendente) y DOWN (cuenta descendente).
· De entrada de pulses común (PULSE), y señal adicional de dirección de cuenta (U/D).
Contador 0

ACUMULADOR

ACUMULADOR

En computación, un acumulador es un registro en donde se almacenan los resultados lógicos y aritméticos intermedios. Sin un registro acumulador, sería necesario escribir el resultado de cada cálculo (suma, multiplicación, etc.) en la memoria primaria, tal vez para leerse y ser usado sólo para la siguiente operación. Acceder a la memoria primaria es más lento que acceder a un registro acumulador, porque la tecnología utilizada para la memoria primaria (que es más grande, pero más barata) es más lenta.

Acumulador contador + 1

BANDERA

BANDERA


En programación, bandera (flag) se refiere a uno o más bits que son usados para almacenar un valor binario o código que tiene un significado asignado.Las banderas son generalmente encontradas como miembros de una estructura de datos definida (como una entrada en una base de datos) y el significado del valor contenido en una bandera generalmente será definido en relación a la estructura de datos a la que pertenece. En muchos casos, el valor binario de una bandera será para representar uno de varios posibles estados o categorías. En otros casos, los valores binarios podrían representar uno o más atributos en un campo de bit, generalmente relacionado a habilidades o permisos, como "puede ser escrito" o "puede ser eliminado". De todas maneras hay muchos otros posibles significados que pueden ser asignados a los valores en las banderas. Un uso común de banderas es para marcar o designar estructuras de datos para el procesamiento futuro.