domingo, 11 de mayo de 2014

EVAP 3

 BUCLE

Un bucle o ciclo, en programación, es una sentencia que se realiza repetidas veces a un trozo aislado de código, hasta que la condición asignada a dicho bucle deje de cumplirse.
Generalmente,un bucle es utilizado para hacer una acción repetida sin tener que escribir varias veces el mismo código, lo que ahorra tiempo, deja el código más claro y facilita su modificación en el futuro.
El bucle y los condicionales representan la base de la programación estructurada. Es una evolución del código ensamblador, donde la única posibilidad de iterar un código era establecer una sentencia jump (que en los lenguajes de programación fue sustituida por el "ir a" o GOTO).
Los tres bucles más utilizados en programación son el bucle while, el bucle for y el bucle repetirBucle infinito en programación es un error que consiste en realizar un ciclo que se repite de forma indefinida ya que su condición para finalizar nunca se cumple.1

Por definición un bucle debe contener condiciones que establezcan cuándo empieza y cuándo acaba, de manera que, mientras las condiciones se cumplan, ejecute una secuencia de código de manera repetitiva. En el caso de ciclo infinito, como la condición de finalización no se alcanza, el bucle sigue ejecutando el segmento de código indefinidamente.

Ejemplo de ciclo infinito en C (while)[editar]

#include <stdio.h>
#include <iostream>
 
int main(void) {
 int x = 0;
 while(x < 10) {
  printf("\x¡No acabaré nunca!\n");
 } 
 return 0;
}
Se observa que la sentencia printf("\x¡No acabaré nunca!\n"); siempre se ejecuta porque la condición del bucle while() siempre es cierta, no existe una condición de salida que obligue al bucle a finalizar. Exactamente, no se alcanza la condición de salida. Si en el ejemplo anterior, dentro del bloque de código del bucle while, se encontrase la instrucción
x++;
El bucle hubiera ejecutado 10 veces y hubiera terminado.
También existe esta posibilidad con el while(true). En C:
#include <stdio.h>
#include <iostream>
 
int main(void) {
 while(1) {
  printf("\xadNo acabar\x82 en algún momento!\n");
 }
 return 0; /*De todas maneras no llega nunca a ejecutarse esta l\xd6nea*/
}

Lo mismo en c++[editar]

#include <iostream>
using namespace std;
 
int main(void) {
 while(true){
  cout << "Se repite" << endl;
 }
 return 0;
}

Condición == en for. C++[editar]

#include <iostream>
using namespace std;
 
int main(int argc, char *argv[]) {
 
 for(int i=0;i==i;i++){
  cout << "Se repite" << endl;
 }
 
 return 0;
}
Como siempre la variable i va a ser igual a ella misma, se incrementa e itera infinitas veces.

++ -- en for. C++[editar]

#include <iostream>
using namespace std;
 
int main(int argc, char *argv[]) {
 int h=0;
 for(int i=0;i<5;i++){
  i--;
  h++;
  cout << "Se repitio: " << h << " Veces." << endl;
 }
 
return 0;
}
En este caso, por cada vez que se incrementa la variable, como es menor a 5 se decrementa dentro del cuerpo del bucle. Luego se vuelve a incrementar y de esa manera infinitas veces.

Ejemplo de ciclo infinito en C (for)[editar]

#include <stdio.h>
 
int main(void) {
 int cont;
 for (cont = 0; cont < 5; cont++) {
  cont = cont%4;
  printf("%d\n",cont);
 }
 return 0;
}
En la sentencia "printf" se muestra en pantalla 0,1,2,3,0,1,2,3,0,.... infinitamente y mientras no llegue a 5 no se cerrará el programa.
Y también podemos crear un ciclo infinito con el for de esta forma:
#include <stdio.h>
 
int main(void) {
 for (;;)
  printf("Bucle infinito\n");
 return 0;
}

Bucle infinito en Visual Basic (while)[editar]

Public function suma2(a, b) As Double
 
suma2 = a + b
 
While (suma2 >= 10)
suma2 = suma2 + 1
Wend
Siempre que la suma de a y b sea superior o igual a 10.

Bucle infinito en Visual Basic (do - loop)[editar]

Dim Suma
 Suma = 0
 Do
  Suma = Suma + 1
 Loop
La variable "Suma" se sumará infinitamente 1 unidad.

Bucle infinito en Pascal (repeat)[editar]

Una forma de hacer un bucle infinito en Pascal es con un ciclo repeat como se muestra a continuación:
program HASTAELINFINITO;
begin
 repeat
  writeln('Nunca termina!');
 until 2=3;
end.
Ya que 2 nunca es igual a 3, el código se repite hasta el infinito.

Bucle infinito en Pascal (while)[editar]

program HASTAELINFINITO;
 
begin
 while 2<>3 do
  writeln('Nunca termina!');
 end; 
end..

Ejemplo en código C de sentencias repetidas

    int var=0;
 
 
      //código que puede ser sustituido por un bucle
      var = var + 2; //var igual a 2 (puede ser sustituido por var+=2)
      var = var + 2; //var igual a 4
      var = var + 2; //var igual a 6
      var = var + 2; //var igual a 8
      var = var + 2; //var igual a 10
      // fin de código  que puede ser sustituido por un bucle
 
    printf("el resultado es %i", var );
Ejemplo con un bucle:
          int var=0;
 
          //Código para el bucle
          int i;
 
          // este es el Bucle for
          for(i=0;i<10;i+=2)
          { 
             var += 2;          
          }
 
 
          printf("el resultado es %i", var);
Algunos lenguajes de programación tienen sentencias que permiten "escapar" de los bucles sin llegar a la condición de fin, como el romper o el devolver.
Ejemplo escapando de un bucle en Visual Basic 1:
     Dim h&, var&
     var = 0
 
     'Codigo del Bucle
     do
        var = var + 2
 
        if var = 10 then    'Codigo para salir del bucle
           goto escape
        end if
     loop
 
  escape:
     print "El resultado es " & var
Ejemplo escapando de un bucle en Visual Basic 2:
     Dim h&, var&
     var = 0
 
     'Codigo del Bucle
     do
        var = var + 2
 
        if var = 10 then    'Codigo para salir del bucle
           exit do
        end if
     loop
 
     print "El resultado es " & var
Ejemplo escapando de un bucle en Delphi
va
  iConta: Byte;
for iConta := 1 to 15 do 
  if iConta = 10 then   //Se sale al llegar el contador a 10
    break;





EVAP 2

 TOMA DE DECISIONES 
ALGORITMO:
1.- Es una secuencia de pasos o procesos lógicamente relacionados entre sí a fin de obtener la solución a un problema planteado.
2.- Es una lista de instrucciones para efectuar paso a paso un proceso.
3.- Conjunto “FINITO” de pasos o instrucciones, seguidas en un orden lógico, los cuales nos llevan a la solución de un problema específico.
4.- Una serie de instrucciones colocadas en cierta secuencia, necesarias para la descripción de las operaciones que llevan a la solución de un problema.
5.- Es un procedimiento completo para resolver un problema específico en un número “FINITO” de pasos.
6.- Es un método para resolver un problema mediante una serie de datos precisos, definidos y finitos.
PASOS PARA PLANTEAR LA SOLUCIÓN A UN PROBLEMA:
1.- Análisis del problema.
2.- Identificar las entradas, procesos y salidas del problema, declaración de variables.
3.- Diseño del Algoritmo: Describe la secuencia ordenada de los pasos, sin ambigüedad, es decir, siendo preciso y veraz en la búsqueda de la solución al problema.
4.- Codificación del Algoritmo: Es la expresión en un lenguaje de programación de los pasos definidos en el algoritmo.
5.- Ejecución y validación del programa por el computador.
CARACTERÍSTICAS DE ALGORITMOS:
Las características fundamentales que debe cumplir todo algoritmo son:
1.- Un algoritmo debe ser preciso e indicar el orden de realización de cada paso.
2.- Un algoritmo debe estar bien definido, es decir, si se sigue la ejecución dos veces del mismo se debe obtener la misma secuencia lógica. El algoritmo debe definirse de forma precisa para cada paso, es decir, hay que evitar toda ambigüedad al definir cada paso. Puesto que el lenguaje humano es impreciso, los algoritmos se expresan mediante un lenguaje formal, ya sea matemático o de programación para un computador.
3.- Un algoritmo debe ser “FINITO”, Si se sigue un algoritmo se debe terminar en algún momento; o sea, debe tener un numero finito de pasos.
4.- Entrada: El algoritmo tendrá cero o más entradas, es decir, cantidades dadas antes de empezar el algoritmo. Estas cantidades pertenecen además a conjuntos especificados de objetos. Por ejemplo, pueden ser cadenas de caracteres, enteros, naturales, fraccionarios, etc. Se trata siempre de cantidades representativas del mundo real expresadas de tal forma que sean aptas para su interpretación por el computador.
5.- Salida: El algoritmo tiene una o más salidas, en relación con las entradas.

DIAGRAMAS DE FLUJO:
Los diagramas de flujo son esquemas que representan gráficamente un algoritmo por medio de los pasos de un proceso, que se realizan para entender mejor al mismo y son utilizados en programación, economía y procesos industriales. Utilizan una series de símbolos con significados especiales.
Un diagrama de flujo u organigrama es una representación diagramático que ilustra la secuencia de las operaciones que se realizan para conseguir la solución de un problema y son usados normalmente para seguir la secuencia lógicas de las acciones en el diseño de problemas de computadoras y se dibujan generalmente antes de comenzar a programar el código frente a la computadora y una que se dibuja el diagrama de flujo, llega hacer fácil escribir el programa en cualquier idioma de alto nivel.
1.- Lógica dibujada.
2.- Es la representación gráfica de la solución a un problema utilizando símbolos predefinidos para su interpretación.
3.- Es la representación gráfica del algoritmo.
4.- A nivel de programación es la representación gráfica de lo que se desea que la computadora realice.
5.- Son representaciones graficas de un algoritmo el cual muestra los pasos o procesos a seguir para alcanzar la solución de un problema. Es llamado diagramas de flujo porque los símbolos utilizados se conectan por medio de flechas para indicar la secuencia de una operación y son también llamados flujogramas. Utilizan diversos símbolos para representar operaciones específicas.
Importancia de los Diagramas de Flujo:
Es importante ya que ayuda a designar cualquier representación gráfica de un procedimiento o parte de ese, como su nombre lo indica representa el flujo de información de un proceso.
Tipos de Diagramas:
Diagrama de Programa: Representa gráficamente un método propuesto para la solución de un problema determinado.
Diagrama de Sistema: Representa la integración; interacción lógicas de los elementos dentro de un sistema propuesto.
Diagrama de Procedimiento: Representa gráficamente una operación o flujo de datos dentro de un sistema.
Diagrama de flujo sencillo con los pasos a seguir si una lámpara no funciona.
Un diagrama de flujo es la forma más tradicional de especificar los detalles algorítmicos de un proceso. Se utiliza principalmente en programación, economía y procesos industriales; estos diagramas utilizan una serie de símbolos con significados especiales. Son la representación gráfica de los pasos de un proceso, que se realiza para entenderlo mejor. Son modelos tecnológicos utilizados para comprender los rudimentos de la programación lineal.
Definición
Es un esquema para representar gráficamente un algoritmo. Se basan en la utilización de diversos símbolos para representar operaciones específicas. Se les llama diagramas de flujo porque los símbolos utilizados se conectan por medio de flechas para indicar la secuencia de operación.
Símbolos utilizados
Para poder hacer comprensibles los diagramas a todas las personas, los símbolos se someten a una normalización; es decir, se hicieron símbolos casi universales, ya que, en un principio cada usuario podría tener sus propios símbolos para representar sus procesos en forma de Diagrama de flujo. Esto trajo como consecuencia que sólo aquel que conocía sus símbolos, los podía interpretar. La simbología utilizada para la elaboración de diagramas de flujo es variable y debe ajustarse a un patrón definido previamente.
En teoría, no es necesario usar un tipo especial de símbolos para crear un diagrama de flujo, pero existen algunos ampliamente utilizados por lo que es adecuado conocerlos y utilizarlos, ampliando así las posibilidades de crear un diagrama más claro y comprensible para crear un proceso lógico y con opciones múltiples adecuadas. Se utilizan los símbolos indicados a continuación, estandarizados según la norma ISO 5807:
  TOMA DE DECICIONES SIMPLE 


TOMA DE DESIONES DOBLE 


TOMA DE DECIONES MULTIPLE 


evap 1

Algoritmo LAMPARITA 
DECLARACION 
.LAMPARITA
.ESCALERA

ASIGNACION
.1 LAMPARA 
.1 LAMPARITA 

 PROCESO 

1. situar escalera debajo del artefacto que tiene la lamparita quemada 
2. repetir 
subir un peldaño 
hasta que (¿la mano alcanza la lamparita?) (¿hay más peldaño?) 

3. repetir 
girar lamparita sentido anti horario 
hasta que (¿lamparita suelta?) 

4. sacar lamparita 

5. repetir 
bajar peldaño 
hasta que (¿llegar al piso?) 

6. repetir 
subir un peldaño 
hasta que (¿la mano alcanza la lamparita?) (¿hay mas peldaños?) 

7. poner la lamparita 

8. repetir

girar lamparita sentido horario 
hasta que (¿lamparita ajustada?) 

9. repetir 
bajar peldaño 
hasta que (¿llegar al suelo?) 


fin 

mensaje motivacional