viernes, 23 de marzo de 2012

Referencias de Internet

Referencias




Desarrollo Web, 2012. Consultado en http://www.desarrolloweb.com/articulos/2477.php









Estructura de control selectiva

Estructuras de control Selectivas

Existen dos tipos de estructuras de control selectivas, estas se basan en una condición o en una opción para decidir la parte del programa por el que pasará.
a.       Simple
b.      Doble o compuesta
Selectiva simple.- evalúa una condición, si esta es verdadera ejecuta la acción o acciones especificadas, si es falsa no realiza ninguna acción.



Nota: Si existe sola una instrucción o sentencia dentro de la condición no es necesario marcarlos con inicio y fin, en caso contrario si, como se muestra en el diagrama anterior.

Selectiva doble o compuesta.- evalúa una condición, si esta es verdadera ejecuta la acción o acciones especificadas, si es falsa ejecuta otra acción o acciones.


Nota: Si existe sola una instrucción o sentencia dentro de la condición no es necesario marcarlos con inicio y fin como en este caso que la condición fue falsa, en caso contrario si, en este ejemplo cuando la condición fue verdadera.


jueves, 22 de marzo de 2012

Estructura de control cíclica

Estructura de control Cíclica

Las estructuras cíclicas se utilizan para ejecutar fragmentos de código un número limitado de veces. Existen tres estructuras cíclicas generales, las cuales son:
  • Desde Hasta (For)
  • Hacer Mientras (While)
  • Hacer Hasta (Do While)
Las tres estructuras tienen el mismo objetivo, ejecutar un fragmento de código un número limitado de veces, su principal diferencia se encuentra en la forma en la cual limitan el número de ocasiones que se ejecutará el código.

Estructura Cíclica: Desde Hasta

La estructura cíclica Desde Hasta tiene una característica especial por sobre las otras estructuras cíclicas existentes, tiene la capacidad de incluir una o más variables que trabajaran como contadores, con las cuales se controla el número de ocasiones que se ejecutará el ciclo.
Esta sentencia repetirá el mismo código tantas veces como se le indique (actúa como un bucle). A partir de un valor inicial de una variable la va incrementando en cada iteración del bucle hasta que tome un valor determinado, momento en el que sale del bucle y continúa ejecutando el código inmediatamente inferior al ciclo Desde-Hasta.


Composición
  • Desde: Indica la variable que se utilizará y el valor que tendrá cuando el bloque de código se ejecute por primera vez i=0.
  • Hasta: Debe hacer relación a la misma variable indicada en la sección desde, indica una sentencia lógica, que al momento de cumplirse detendrá la ejecución del ciclo Desde-Hasta, i=10.
  • Incremento: Indica el valor por el cual será incrementado la variable mencionada, el incremento puede ser positivo o negativo, pero se debe tener especial cuidado en que la sección Hasta se cumpla en algún momento incremento 1.
  • Acción(es): Corresponde al conjunto de líneas de código que se encuentran dentro del ciclo Desde-Hasta y que se ejecutarán en forma repetitiva.
Estructura cíclica: Hacer Mientras

El Ciclo Hacer-Mientras es conocido en los lenguajes de programación como ciclo While, una de sus características es que verifica si la condición se cumple antes de ingresar al bloque de código que se va a repetir, el límite de ejecuciones estará dado por la condición, se ejecutará mientras la condición devuelva un valor lógico verdadero.
Composición
Hacer Mientras:

Marca el inicio del bloque de código que se repetirá en forma cíclica.
Condición:
Se refiere a una comparación lógica que se evaluará en cada ejecución del ciclo, si esta operación lógica entrega un resultado verdadero continúa ejecutando el bloque de código, en caso contrario saldrá del ciclo y continuará con la línea de código que está a continuación del Fin Mientras
Fin Mientras:

Indica el término del bloque de código que se repetirá en forma cíclica.

Estructura de control secuencial


Estructura de control Secuencial

Una estructura de control secuencial, en realidad, no es más que escribir un paso del algoritmo detrás de otro, el que primero se haya escrito será el que primero se ejecute.   Dicho de otra forma la estructura secuencial es aquella en la que una acción (instrucción) sigue a otra en secuencia, y las tareas se suceden de tal modo que la salida de una es la entrada de otra y así sucesivamente hasta el fin del proceso.

El flujo del programa coincide con el orden físico en el que se han ido poniendo las instrucciones.  Dentro de este tipo podemos encontrar operaciones de inicio/fin, inicialización de variables, operaciones de asignación, cálculo, sumarización, etc. Además este tipo de estructuras se basan en las 5 fases que deben cubrir todos los algoritmos o programas que son:

  • ·         Definición de variables
  • ·         Inicialización de variables
  • ·         Lectura de datos
  • ·         Cálculo
  • ·         Salida



Estructuras de control

Tipos de Estructuras de control


Introducción.

En lenguajes de programación, las estructuras de control permiten modificar el flujo de ejecución de las instrucciones de un programa

Con las estructuras de control se puede:

§  De acuerdo a una condición, ejecutar un grupo u otro de sentencias (If-Then-Else y Select-Case)
§  Ejecutar un grupo de sentencias mientras exista una condición (Do-While)
§  Ejecutar un grupo de sentencias hasta que exista una condición (Do-Until)
§  Ejecutar un grupo de sentencias un número determinado de veces (For-Next)

Todas las estructuras de control tienen un único punto de entrada y un único punto de salida.   Esta es una de las cosas que permite que la programación se rija por los principios de la programación estructurada.

Los lenguajes de programación modernos tienen estructuras de control similares. Básicamente lo que varía entre las estructuras de control de los diferentes lenguajes es su sintaxis, cada lenguaje tiene una sintaxis propia para expresar la estructura.

De acuerdo al teorema del programa estructurado (Bohm & Jacopini, 1966) cualquier programa puede escribirse utilizando únicamente estos 3 tipos de estructura.    Las estructuras de control sirven para:

·         Acceder a un arreglo
·         Procesar una cadena de caracteres
·         Realizar operaciones matemáticas
·         Ordenar y buscar datos
·         Ejecutar acciones en más de una ocasión

Paradigmas de programación

Paradigmas de programación





Es posible definir un paradigma de programación como una propuesta tecnológica adoptada por los programadores quienes se centran en tratar de resolver uno o varios problemas claramente delimitados. Desde luego la resolución de estos problemas debe suponer un avance significativo en algún parámetro que afecte a la ingeniería de software.  Está delimitado en el tiempo en cuanto a aceptación y uso ya que nuevos paradigmas aportan nuevas o mejores soluciones que la sustituyen parcial o totalmente.

Los paradigmas de programación más comunes son:
  • Imperativo
  • Funcional
  • Lógico
  • Declarativo
  • Orientado a objetos
Cabe mencionar que es posible seleccionar el uso en forma pura de estos paradigmas al momento de programar, sin embargo en la práctica es habitual que se mezclen , dando lugar a la programación multiparadigma.



Definición de Programación Estructurada

Programación Estructurada


La programación estructurada nace como una solución a los problemas que presentaba la programación no estructurada.  Y es una técnica en la cual la estructura de un programa, es decir, la exigencia de sus partes realiza tan claramente, como es posible, una tarea mediante el uso de estructuras lógicas de control:

Introducción:




La programación estructurada está compuesta por un conjunto de técnicas que han ido evolucionando, aumentando considerablemente la productividad del programa reduciendo el tiempo de depuración y mantenimiento del mismo.   Esta programación utiliza un número limitado de estructuras de control, reduciendo así de forma considerable los errores.  Además incorpora:

  •    Un diseño descendente (top-dow): el problema se descompone en etapas o estructuras jerárquicas
  •   Recursos abstractos ; consiste en descomponer las acciones complejas en otras más simples capaces de ser resueltas con mayor facilidad
  •   Estructuras básicas también conocidas como estructuras de control: se cuentan con tres tipos
  •           Estructuras secuenciales: cada acción sigue a otra, donde la salida de la primera es la entrada de la otra
  •       Estructuras selectivas: se evalúan las condiciones y en función del resultado de las mismas se realizan unas acciones u otras haciendo uso de expresiones lógicas
  •     Estructuras repetitivas o cíclicas: son secuencias de instrucciones que se repiten un número determinado de veces.





Las principales ventajas de la programación estructurada son:


  •    Los programas son más fáciles de entender
  •    Se reduce la complejidad de las pruebas
  •    Aumenta la productividad del programador
  •    Los programas quedan mejor documentados de forma interna.

Es posible decir que un programa está estructurado si posee un único punto de entrada y solo uno de salida, que existan de 1 a N caminos desde el principio hasta el fin del programa y por último que todas las instrucciones son ejecutables sin que aparezcan bucles infinitos.


Programación Estructurada



Programación Estructurada


Integrantes:
 
  • Sergio Maldonado Mercado
Resumen:

El presente Blog es resultado del diseño y la planeación de un blog educativo con la tématica de la programación estructurada y tiene por objetivos:
  • Conocer y comprener el concepto e importancia de la programación en la actualidad, asi como su evolucion histórica hasta llegar a la programación actual para reconocer la importancia de su aplicacion en la vida cotidiana.
  • Conocer y aplicar los fundamentos básicos de algoritmia necesarios para comparar y valorar distintos algoritmos para resolver un problema.
  •  Conocer las características que diferencían a la Programación Estructurada para aplicarlos en la solución de problemas de su interés.
  • Manejar los diferentes tipos de estructuras conocidas en la Programacion Estructurada para utilizarlas en el planteamiento de soluciones de problemas basados en la lógica de sistemas computacionales.


 En el blog se tiene los siguientes apartados:
  1. Definición de programación
  2. Paradigmas de programación
  3. Historia de la programación
  4. Programación Estructurada
  5. Tipos de estructuras
  6. Ejemplos
  7. Ejercicios propuestos

En Construcción...

Bibliografía:

  • G. Brassard, P. Bratley. Fundamentos de Algoritmia. Prentice Hall, 1997.
  • Narciso Martí Oliet, Yolanda Ortega Mallén, José Alberto Verdejo López. Estructura de datos y algoritmos. Ejercicios y problemas resueltos. Prentice Hall, 2003.
  • Martín Gonzalez Rodríguez. Principios de Algoritmia. Cuaderno Didáctico Nº 22. Servitec.
  • Juan Ramón Pérez Pérez. Técnicas de Diseño de Algoritmos. Cuaderno Didáctico Nº 31. Servitec.
  • Mark Allen Weiss. Estructuras de datos en Java. (2000) Addison Wesley.
  • Ricardo Peña Marí. Diseño de programas. Formalismo y abstracción. 2ª edición (1998) Prentice Hall.
  • Aho A.V.,Hopcroft S.E. y Ullman S.D. Estructuras de datos y algoritmos. Ed. Addison.Wesley Iberoamericana, 1988.
  •  Francisco Ceballos, Java 2.4a Edición. Ed. AlfaOmega. México 2012.
  • Douglas Bell & Mike Parr. Java para estudiantes. 6a. Edicion. Ed. Pearson - Prentice Hall. México 2012.
  • Ravi Sethi: "Lenguajes de Programación: Conceptos y Contructores." Addison- Wesley Iberoamericana, U.S.A, 1992.
  • Lewis, T.G. y Smith, M.Z.: Estructura de Datos. Paraninfo, Madrid, 1985.
  • Terrance, W Pratt, Marvin V. Zelbwitz: "Lenguajes de Programación: Diseño e implementación", Prentice Hall, Hispanamericana,U.S.A.
  • D Appleby, y J.J. VandeKopple, Lenguajes de programación: paradigma y práctica, McGraw-Hill Interamericana, 1998
  • T.W. Pratt y M.V. Zelkowitz, Lenguajes de programación: diseño e implementación, Prentice-Hall Hispanoamericana, 3 ed., 1998
  • R. Sethi, Lenguajes de programación: conceptos y constructores, Addison-Wesley Iberoamericana, 1992

miércoles, 21 de marzo de 2012

Ejemplo 3. Condicionales Múltiples

Ejemplo 3.


Este es el ejemplo 3 de programación en el que se utilizan condicionales múltiples y estructuras secuenciales




En este ejemplo se solicita la edad de una persona y se define en que etapa de la vida se encuentra de acuerdo a ciertos rangos preestablecidos.

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ejemplo3condicionalesmultiplesetapasdelavida;
import java.util.Scanner;
/**
 *
 * @author Pavlov
 */
public class Main {
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        Scanner leer = new Scanner(System.in);
        int edad;
        System.out.println("Da la edad de la persona:");
        edad=leer.nextInt();
        if(edad>=0 && edad<=3)
            System.out.println("Etapa de la Lactacia");
        else if(edad<=12)
            System.out.println("Etapa de la Niñez");
        else if(edad<=18)
            System.out.println("Etapa de la Adolescencia");
        else if(edad<=25)
            System.out.println("Etapa de la Juventud");
        else if(edad<=60)
            System.out.println("Etapa de la Adultez");
        else
            System.out.println("Etapa de la Vejez");
    }
}

Ejemplo 2: Estructuras condicionales dobles.

Ejemplo 2.


Este es el ejemplo 2 de programación estructurada en el cual se muestra un programa que combina condicionales dobles y estructuras secuenciales.







En este ejercicio se pide la edad de una persona, y se confirma su mayoría o minoría de edad de acuerdo al parámetro de México que es a los 18 años.


/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package ejemplo2condicionalesdoblesmayoriadeedad;
import java.util.Scanner;
/
*
* @author Pavlov
*/
public class Main {
/

* @param args the command line arguments
*/
public static void main(String[] args) {
Scanner leer = new Scanner(System.in);
int edad;
System.out.println("\nDa la edad de la persona:\n");
edad=leer.nextInt();
if(edad<18)
System.out.println("La persona es menor de edad");
else
System.out.println("La persona es mayor de edad");
}
}

Ejemplo 1: Estructuras secuenciales y condicionales

Ejemplo 1.


El siguiente es el ejemplo 1 de la programación estructurada en la que se combinan las estructuras secuenciales y las estructuras condicionales simples.






En este ejercicio se pide la producción semanal de dos meses de una empresa, se calcula el promedio de producción del periodo y da una indicación de un bono ganado por los obreros si la producción promedio sobrepasa las 500 unidades.


/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package ejemplo1condicionalessimplesbonoobreros;
import java.util.Scanner;
/
*
* @author Pavlov
*/
public class Main {
/

* @param args the command line arguments
*/
public static void main(String[] args) {
Scanner leer = new Scanner(System.in);
int total1,total2,total3,total4,total5,total6,total7,total8;
float promedio;
System.out.println("Da el total de produccion de la semana 1 del mes 1:\n");
total1=leer.nextInt();
System.out.println("Da el total de produccion de la semana 2 del mes 1:\n");
total2=leer.nextInt();
System.out.println("Da el total de produccion de la semana 3 del mes 1:\n");
total3=leer.nextInt();
System.out.println("Da el total de produccion de la semana 4 del mes 1:\n");
total4=leer.nextInt();
System.out.println("Da el total de produccion de la semana 1 del mes 2:\n");
total5=leer.nextInt();
System.out.println("Da el total de produccion de la semana 2 del mes 2:\n");
total6=leer.nextInt();
System.out.println("Da el total de produccion de la semana 3 del mes 2:\n");
total7=leer.nextInt();
System.out.println("Da el total de produccion de la semana 4 del mes 2:\n");
total8=leer.nextInt();
promedio=(total1+total2+total3+total4+total5+total6+total7+total8)/8;
System.out.println("\n\n\tEl promedio de produccion de los dos meses es: "+promedio);
if(promedio>=500)
System.out.println("\n\n\t\t\tLos obreros ganaron el bono de produccion...");
}
}