lunes, 1 de noviembre de 2010

ACTIVIDAD " ADSI "

4.  ALGORITMO

Un algoritmo es un conjunto finito de pasos definidos, estructurados en el tiempo y formulados con base a un conjunto finito de reglas no ambiguas, que proveen un procedimiento para dar la solución o indicar la falta de esta a un problema en un tiempo determinado. [Rodolfo Quispe-Otazu, 2004]


Características:
Las características fundamentales que debe cumplir todo algoritmo son:
  • Ser definido: Sin ambigüedad, cada paso del algoritmo debe indicar la acción a realizar sin criterios de interpretación.
  • Ser finito: Un número específico y numerable de pasos debe componer al algoritmo, el cual deberá finalizar al completarlos.
  • Tener cero o más entradas: Datos son proporcionados a un algoritmo como insumo (o estos son generados de alguna forma) para llevar a cabo las operaciones que comprende.
  • Tener una o más salidas: Debe siempre devolver un resultado; de nada sirve un algoritmo que hace algo y nunca sabemos que fue. El devolver un resultado no debe ser considerado como únicamente “verlos” en forma impresa o en pantalla, como ocurre con las computadoras. Existen muchos otros mecanismos susceptibles de programación que no cuentan con una salida de resultados de esta forma. Por salida de resultados debe entenderse todo medio o canal por el cual es posible apreciar los efectos de las acciones del algoritmo.
  • Efectividad: El tiempo y esfuerzo por cada paso realizado debe ser preciso, no usando nada más ni nada menos que aquello que se requiera para y en su ejecución.


VARIABLE

En programación, una variable es un espacio de memoria reservado para almacenar un valor que corresponde a un tipo de dato soportado por el lenguaje de programación. Una variable es representada y usada a través de una etiqueta (un nombre) que le asigna un programador o que ya viene predefinida.

Por ejemplo, en la variable de nombre "num", se almacena el número 8 (de tipo entero). De formagenérica, para utilizarla y sumarle un uno se debería programar: num = num + 1.
Una variable puede ser del tipo boleano, entero, decimal de coma flotante, caracter, cadena detexto, arreglo, matriz, tipo definido por el usuario, etc. Estos son tipos de datos. 

Una variable, por lo general, como su nombre lo indica, puede variar su valor durante la ejecucióndel programa. Dependiendo del lenguaje de programación usado, también puede cambiar el tipode dato que almacena.


CONSTANTE

Las constantes son valores inmutables que se conocen en tiempo de compilación y no cambian mientras dura el programa .Las constantes se declaran con el modificador const.Solo los tipos integrados de C# (excluido System.Object) se pueden declarar como const.Para obtener una lista de los tipos integrados, veaBuilt-In Types Table (C# Reference).Los tipos definidos por el usuario, incluidas las clases, los structs y las matrices, no pueden ser const.Use el modificador readonly para crear una clase, un struct o una matriz que se inicialice una vez en tiempo de ejecución (por ejemplo, en un constructor) y que posteriormente no se pueda cambiar.


CICLO

Estructuras repetitivas o loops o también llamados bucles.
Un ciclo repetitivo es una estructura que te permite repetir una operación o varias una determinada cantidad de veces en función de las condiciones que le impongas.


Las instrucciones que estén dentro del loop se repetirán una cierta cantidad de veces mientras se cumpla una condición.


TIPOS DE CICLOS


(bucles o loops) son estructuras de control muy importantes en la programación. Su función principal es repetir bloques de instrucciones un número (a veces indeterminado) de veces.

Existen 3 tipos básicos de ciclos: Para...Hacer, Mientras...Hacer y Repetir...Hasta. Todos los lenguajes de programación modernos implementan al menos estos tres tipos básicos, pero muchos lenguajes primitivos sólo ofrecen uno o dos de ellos debiéndose simular los otros utilizando los existentes

Cuándo se deben usar ciclos?

La clave para contestar esta pregunta está en el análisis cuidadoso del planteamiento del problema. Los criterios siguientes pueden ayudarte a descubrir si necesitas o no utilizar un ciclo en la solución a implementar.
1.      Cuando debas aplicar un mismo proceso a distintos grupos de datos
2.      Cuando sepas de antemano que el programa debe iterar varias veces
3.      Cuando debas procesar estructuras de datos
4.      Cuando debas procesar archivos
5.      Cuando debas ofrecer menús de opciones
6.      Cuando debas validar datos de entrada
7.      Cuando la finalización del programa dependa del usuario o de un dato especial
8.      Cuando la finalización del programa dependa del cumplimiento de una meta


ACOMULADOR

Es una formula que te va guardando información de un contador de ciclos por ejemplo vamos a sacar el promedio de una serie de números
En programación, se llama acumulador a unavariable cuyo valor se incrementa o decrementa en un valor que no tiene por qué ser fijo (en cada iteración de un bucle). Un acumulador suele utilizarse para acumular resultados producidos en las iteraciones de un bucle.



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).

                  

CONDICIONAL
                       
Un condicional en la programación es una sentencia o grupo de sentencias que puede ejecutarse o no en función del valor de una condición.
     
     Los tipos más conocidos de condicionales son el SI ENTONCES (if then), el SI - SI NO (if then- else) y el SEGÚN (case o switch), aunque también podríamos mencionar al lanzamiento de errores como una alternativa más moderna para evitar el "anidamiento" de condicionales.


                  
LOGICA PROPOSICIONAL



En lógica(matemática), la lógica proposicional es un sistema formal diseñado para analizar ciertos tipos de argumentos. En lógica proposicional, las fórmulas representan proposiciones y las conectivas lógicas son operaciones sobre dichas fórmulas, capaces de formar otras fórmulas de mayor complejidad.1 Como otros sistemas lógicos, la lógica proposicional intenta esclarecer nuestra comprensión de la noción de consecuencia lógica para el rango de argumentos que analiza.




TABLAS DE VERDAD 


DISYUNCIÓN



Es un operador que opera sobre dos valores de verdad, típicamente los valores de verdad de dos proposiciones, devolviendo el valor de verdad verdadero cuando una de las proposiciones es verdadera, o cuando ambas lo son, y falso cuando ambas son falsas.

A :       V V V V F F F F  
B:         V V F F V V F F

A v B : V V V V V V F F


CONJUNCION  Es un operador que opera sobre dos valores de verdad, típicamente los valores de verdad de dos proposiciones, devolviendo el valor de verdad verdadero cuando ambas proposiciones son verdaderas, y falso en cualquier otro caso.

A :       V V V V F F F F  
B:         V V F F V V F F

A ò B :  V V F F F F F F


NEGACION
La respuesta seria contraria al caso de disyunción y conjunción ( Si la respuesta es F pasaria a ser V )
Es un operador que opera sobre un único valor de verdad, devolviendo el valor contradictorio de la proposición considerada.


ESTRUCTURA DE UN ALGORITMO

Funcion <nombre_funcion> (n_parametro: tipo, n_parametro: tipo): tipo funcion
Var <variables locales funcion>
Inicio
<acciones>
retorno <valor>
fin <nombre_funcion>
La lista de parámetros es la información que se le tiene que pasar a la función. Los parámetros luego dentro de la función los podemos utilizar igual que si fueran variables locales definidas en la función y para cada parámetro hay que poner su nombre y tipo.
El nombre de la función lo da al usuario y tiene que ser significativo.
En las variables locales se declaran las variables que se pueden usar dentro de la función.
Entre las acciones tendrá que existir entre ellas una del tipo retorno <valor>. Esta sentencia pondrá fin a la ejecución de la función y devolverá el valor de la función, es decir, como valor asociado al nombre de mismo tipo que el tipo de datos que devuelve a la función, este valor por tanto tiene que ser del mismo tipo que el tipo de datos que devuelve la función, que es el que habremos indicado al declarar la función en la parte final de la cabecera.
No se permiten funciones que no devuelvan nada.
Los parámetros que aparecen en la declaración de la función se denominan parámetros formales, y los parámetros que yo utilizo cuando llamo a la función se denominan parámetros actuales o reales.



OPERADORES

En todos los lenguajes de programación se utilizan operadores para efectuar operaciones aritméticas. Combinando las variables y constantes en expresiones aritméticas por medio de funciones adecuadas.
Una expresión es un conjunto de datos o funciones unidos por operadores aritméticos, los cuales se muestran en la siguiente tabla:
Operadores Lógicos
En ocasiones en los programas se necesitan realizar comparaciones entre distintos valores, esto se realiza utilizando los operadores relaciones, los cuales se listan a continuación:
Operador Significado
< Menor que > Mayor que <= Menor o igual que >= Mayor o igual que = Igual a <> Distinto a, diferente de
.::Operadores aritmeticos y de asignación
A continuación se explican los tipos de operadores (aritméticos y de asignación) que permiten realizar operaciones matemáticas en lenguaje C.
“Operadores aritméticos”

     Existen dos tipos de operadores aritméticos:
 
 
     Los binarios:
 
 
               +             Suma
               -              Resta
               *              Multiplicación
               /              División
               %            Módulo (resto)
 
 
     y los unarios:
 
 
               ++           Incremento (suma 1)
               - -            Decremento (resta 1)
               -              Cambio de signo
 
 
 
     Su sintaxis es:
 
 
               binarios:
                               <variable1><operador><variable2>
 
 
               unarios:
                               <variable><operador> y al revés, <operador><variable>.
Operadores de asignación”
La mayoría de los operadores aritméticos binarios explicados con anterioridad tienen su correspondiente operador de asignación:
               =             Asignación simple
               +=           Suma
               -=            Resta
               *=            Multiplicación
               /=            División
               %=          Módulo (resto)
Con estos operadores se pueden escribir, de forma más breve, expresiones del tipo:
               n=n+3 se puede escribir n+=3
               k=k*(x-2) lo podemos sustituir por k*=x-2
Jerarquía de los operadores”
Será importante tener en cuenta la precedencia de los operadores a la hora de trabajar con ellos:
               ( )            Mayor precedencia
               ++, - -
               *, /, %
               +, -          Menor precendencia
Las operaciones con mayor precedencia se realizan antes que las de menor precedencia.
Si en una operación encontramos signos del mismo nivel de precedencia, dicha operación se realiza de izquierda a derecha. A continuación se muestra un ejemplo sobre ello:
               a*b+c/d-e
 
               1.  a*b resultado = x
               2.  c/d resultado = y
               3.  x+y resultado = z
               4.  z-e 
Fijarse que la multiplicación se resuelve antes que la división ya que está situada más a la izquierda en la operación. Lo mismo ocurre con la suma y la resta.


No hay comentarios:

Publicar un comentario