viernes, 30 de noviembre de 2018

PROGRAMACION EN PSEUDOCODIGO Y ESTRUCTURADO

La informática se suele definir como la ciencia que estudia el tratamiento automatizado de la información. Para realizar dicho tratamiento automatizado es necesario una máquina que lo realice (el hardware), pero también es necesario una serie de datos a procesar y unas instrucciones para llevar a cabo este proceso (software). Por tanto una de las principales áreas de estudio es el conjunto de lenguajes y la forma en que se  pueden definir las instrucciones que procesarán los datos sobre un ordenador. En este artículo  se va  a describir el paradigma de la programación estructurada, que se considera el primer paradigma de programación moderno.


La programación estructurada es un paradigma; ya que está orientada a mejorar la claridad, calidad y tiempo de desarrollo de un programa de computadora, utilizando únicamente subrutinas y tres estructuras: secuencia, selección (if y switch) e iteración (bucles for y while), considerando innecesario y contraproducente el uso de la instrucción de transferencia incondicional (GOTO), que podría conducir a "código espagueti", que es mucho más difícil de seguir y de mantener, y era la causa de muchos errores de programación.

9.1PROGRAMACION EN PSEUDOCODIGO

El pseudocódigo (o falso lenguaje) es comúnmente utilizado por los programadores para omitir secciones de código o para dar una explicación del paradigma que tomó el mismo programador para hacer sus códigos, esto quiere decir que el pseudocódigo no es programable sino facilita la programación.

El principal objetivo del pseudocódigo es el de representar la solución a un algoritmo de la forma más detallada posible, y a su vez lo más parecida posible al lenguaje que posteriormente se utilizará para la codificación del mismo


El pseudocódigo utiliza para representar las acciones sucesivas palabras reservadas en inglés (similares a sus homónimos en los lenguajes de programación), tales como star,begin, end, stop, if-then-else, while, repeat-until….etc
Es un lenguaje de especificación de algoritmos. El uso de tal lenguaje hace el paso de codificación final (esto es, la traducción a un lenguaje de programación) relativamente fácil.

El pseudocódigo nació como un lenguaje similar al inglés y era un medio representar básicamente las estructuras de control de programación estructurada. Se considera un primer borrador, dado que el pseudocódigo tiene que traducirse posteriormente a un lenguaje de programación. Cabe señalar que el pseudocódigo no puede ser ejecutado por una computadora.

9.2PROGRMACION ESTRUCTURADA

Programación estructurada. Es un paradigma de programación orientado a mejorar la claridad, calidad y tiempo de desarrollo de un programa de computadora, utilizando únicamente subrutinas y tres estructuras: secuencia, selección (if y switch) e iteración (bucles for y while), considerando innecesario y contraproducente el uso de la instrucción de transferencia incondicional (GOTO), que podría conducir a "código espagueti", que es mucho más difícil de seguir y de mantener, y era la causa de muchos errores de programación.
Surgió en la década de 1960, particularmente del trabajo Böhm y Jacopini, y una famosa carta, La sentencia goto considerada perjudicial, de Edsger Dijkstra en 1968 y fue reforzado teóricamente por el teorema del programa estructurado, y prácticamente por la aparición de lenguajes como ALGOL con adecuadas y ricas estructuras de control.

-IDENTIFICACIÓN DE ESTRUCTURA BÁSICA
Lo primero que debemos considerar dentro de la organización básica de HTML es el uso de los corchetes angulares < y >. En HTML estos corchetes contienen en su interior código especial llamado ETIQUETA que indican la estructura y el formato del CONTENIDO de la página. HTML está formado por muchas etiquetas que pueden realizar infinidad de tareas para dar formato a nuestras páginas Web. Tres son las etiquetas (tags) que describen la estructura general de un documento y dan una información sencilla sobre él. Estas etiquetas no afectan a la apariencia del documento y solo interpretan y filtran los archivos HTML.


  • <HTML>: Limitan el documento (inicio y fin) e indica que se encuentra escrito en este lenguaje.
  • <HEAD>: Específica el prólogo del resto del archivo esto es, el encabezado. Son pocas las etiquetas que van dentro de ella, destacando la del título <TITLE> que será utilizado por los marcadores del navegador e identificará el contenido de la página. Solo puede haber un título por documento, preferiblemente corto aunque significativo, y no caben otras etiquetas dentro de él. En <HEAD> no hay que colocar nada del texto del documento.
  • <BODY>: Encierra el resto del documento, el contenido es el que se muestra en un explorador Web.

-PROGRAMACIÓN
Resultado de imagen para programacion informatica definicionLa programación informática es el proceso por medio del cual se diseña, codifica, limpia y protege el código fuente de programas computacionales. A través de la programación se dictan los pasos a seguir para la creación del código fuente de programas informáticos. De acuerdo con ellos el código se escribe, se prueba y se perfecciona.
El objetivo de la programación es la de crear software, que después será ejecutado de manera directa por el hardware de la computadora, o a través de otro programa.

La programación se guía por una serie de reglas y un conjunto pequeño de órdenes, instrucciones y expresiones que tienden a parecerse a una lengua natural acotada. El lenguaje de programación, son todas aquellas reglas o normas, símbolos y palabras particulares empleadas para la creación de un programa y con él, ofrecerle una solución a un problema determinado.
Ahora bien, dependiendo del lenguaje que se elija, se puede hablar del tipo de programación que se va a realizar. Algunos de ellos son:
Programación secuencial: son aquellos programas que se diseñan con directrices que van en secuencia una detrás de la otra. Por ejemplo: Cobol, Basic.
Programación estructurada: se considera así, cuando la programación es diseñada por módulos. Cada módulo realiza una tarea en especial, y cuando se requiera de esa tarea, sencillamente se le hace el llamado a ese módulo. Por ejemplo: Turbo Pascal, Ada, Modula.
Imagen relacionadaProgramación orientada a objetos: son aquellos lenguajes que permiten la implementación de objetos dentro del diseño del mismo y el usuario podrá pegar a cada objeto un código de programa. Algunos de estos son: Java, Xml, entre otros.
Programación lógica o de lenguaje natural: son aquellos programas que se diseñan con interfaces, de tal manera que el usuario pueda darle ordenes a la máquina utilizando un lenguaje simple. Por ejemplo: Prolog.
Programación de inteligencia artificial: son aquellos programas que más se acercan a la inteligencia humana, ya que tienen la capacidad de desarrollar conocimiento. Este tipo de lenguaje trabaja de una manera muy semejante a la mente humana.



-LENGUAJE DE PROGRAMACIÓN
El lenguaje de programación es el responsable de que la computadora siga paso a paso las órdenes que el programador ha diseñado en el algoritmo. Con esto se entiende que el lenguaje de programación es una especie de intermediario entre el ordenador y el usuario, para que este último pueda darle respuesta a los problemas mediante la computadora y haciendo uso de palabras (funciones), que le interpretan dicho programa al computador para la realización de ese trabajo.

Imagen relacionada Es un idioma artificial diseñado para expresar computaciones que pueden ser llevadas a cabo por máquinas como las computadoras. Pueden usarse para crear programas que controlen el comportamiento físico y lógico de una máquina, para expresar algoritmos con precisión, o como modo de comunicación humana.
Está formado de un conjunto de símbolos y reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos y expresiones. Al proceso por el cual se escribe, se prueba, se depura, se compila y se mantiene el código fuente de un programa informático se le llama programación.
También la palabra programación se define como el proceso de creación de un programa de computadora, mediante la aplicación de procedimientos lógicos, a través de los siguientes pasos:

  • El desarrollo lógico del programa para resolver un problema en particular.
  • Escritura de la lógica del programa empleando un lenguaje de programación específico (codificación del programa)
  • Ensamblaje o compilación del programa hasta convertirlo en lenguaje de máquina.
  • Prueba y depuración del programa.
  •   Desarrollo de la documentación.
Existe un error común que trata por sinónimos los términos 'lenguaje de programación' y 'lenguaje informático'. Los lenguajes informáticos engloban a los lenguajes de programación y a otros más, como por ejemplo el HTML. (lenguaje para el marcado de páginas web que no es propiamente un lenguaje de programación sino un conjunto de instrucciones que permiten diseñar el contenido y el texto de los documentos)


-COMPILADORES E INTERPRETES
Un compilador es un programa informático que traduce un programa escrito en un lenguaje de programación a otro lenguaje de programación, generando un programa equivalente que la máquina será capaz de interpretar. Usualmente el segundo lenguaje es lenguaje de máquina, pero también puede ser un código intermedio , o simplemente texto. Este proceso de traducción se conoce como compilación.

Un compilador es un programa que permite traducir el código fuente de un programa en lenguaje de alto nivel, a otro lenguaje de nivel inferior (típicamente lenguaje de máquina). De esta manera un programador puede diseñar un programa en un lenguaje mucho más cercano a como piensa un ser humano, para luego compilarlo a un programa más manejable por una computadora.

PARTES DEL COMPILADOR:

File:CompilationScheme-Spanish.pngAnálisis: Se trata de la comprobación de la corrección del programa fuente, e incluye las fases correspondientes al Análisis Léxico (que consiste en la descomposición del programa fuente en componentes léxicos), Análisis Sintáctico (agrupación de los componentes léxicos en frases gramaticales ) y Análisis Semántico (comprobación de la validez semántica de las sentencias aceptadas en la fase de Análisis Sintáctico).



Síntesis: Su objetivo es la generación de la salida expresada en el lenguaje objeto y suele estar formado por una o varias combinaciones de fases de Generación de Código (normalmente se trata de código intermedio o de código objeto) y de Optimización de Código (en las que se busca obtener un código lo más eficiente posible).



Front-end: es la parte que analiza el código fuente, comprueba su validez, genera el árbol de derivación y rellena los valores de la tabla de símbolos. Esta parte suele ser independiente de la plataforma o sistema para el cual se vaya a compilar, y está compuesta por las fases comprendidas entre el Análisis Léxico y la Generación de Código Intermedio.
INTERPRETE
En ciencias de la computación, intérprete o interpretador es un programa informático capaz de analizar y ejecutar otros programas, escritos en un lenguaje de alto nivel. Los intérpretes se diferencian de los compiladores en que mientras estos traducen un programa desde su descripción en un lenguaje de programación al código de máquina del sistema, los intérpretes sólo realizan la traducción a medida que sea necesaria, típicamente, instrucción por instrucción, y normalmente no guardan el resultado de dicha traducción.


Usando un intérprete, un solo archivo fuente puede producir resultados iguales incluso en sistemas sumamente diferentes (ej. una PC y un PlayStation 3). Usando un compilador, un solo archivo fuente puede producir resultados iguales solo si es compilado a distintos ejecutables específicos a cada sistema.

Los programas interpretados suelen ser más lentos que los compilados debido a la necesidad de traducir el programa mientras se ejecuta, pero a cambio son más flexibles como entornos de programación y de puración (lo que se traduce, por ejemplo, en una mayor facilidad para reemplazar partes enteras del programa o añadir módulos completamente nuevos), y permiten ofrecer al programa interpretado un entorno no dependiente de la máquina donde se ejecuta el intérprete, sino del propio intérprete (lo que se conoce comúnmente como máquina virtual).
Resultado de imagen para librerias programacion definicion 

-LIBRERÍAS
En programación, una librería es un archivo o conjunto de archivos que se utilizan pra facilitar la programación. Las librerías, también llamadas "frameworks", consisten en archivos de código a los que llamamos al principio de la página, por ejemplo, un librería javascript será un archivo en javascript que insertamos al principio de la página.
Podemos insertar cualquier archivo al principio de la página, sin embargo no todos los archivos pueden considerarse librerías. Para que un archivo sea una librería, este puede tener que usarse en distintas páginas, no sólo del mismo sitio, sino de varios sitios. Además debe modificar el código de tal manera que nos facilite la inserción de nuevo código en la página.
Un ejemplo de librería sería la inclusión de un archivo reset.css que nos resetea la página para que ésta se vea igual en todos los navegadores. El archivo vale para páginas de distintos sitios, y nos asegura que el estilo de la página se verá igual en todos los navegadores.



librerías caseras
Si entendemos el concepto de librería, veremos que no es difícil, sabiendo un poco de programación, crear nosotros mismos nuestras pequeñas librerías, que nos sirven para diferentes tareas concretas. Por ejemplo, si has seguido el manual de Ajax en la sección "Nuevas Tendencias" verás que hemos creado un "Objeto Ajax" que nos facilita el trabajo con ajax.
Este objeto lo hemos puesto dentro de un archivo para poder utilizarlo en distintas páginas que enlacen con este archivo. Esto puede considerarse una pequeña librería casera o propia.
Las librerías caseras son, por lo tanto, archivos que fabrica el propio programador para facilitar su propio trabajo, y que puede incluir en cualquier página cuando lo necesite.


librerías externas
El concepto de librería externa es el mismo pero ampliado. Una librería externa es un archivo (o a veces varios) que está fabricado por expertos programadores, y que no sólo vale para un caso concreto, sino que podemos utilizar de forma general. La utilización de nuevos objetos, métodos, y propiedades puede variar la forma de programar el resto del código, ya que éstos afectan a la mayoría de las acciones que pueden realizarse en la programación.
Debemos, por tanto, aprender a programar utilizando estas librerías. En algunas de ellas es casi como aprender otro código de programación. Sin embargo, una vez aprendido vemos cómo el trabajo se hace mucho mas fácil, y además podemos realizar acciones que de otro modo nos resultarían muy complicadas utilizando sólo el código de programación.
Veremos en esta sección las librerías más utilizadas con javascript. Estas son jQuery y MooTools. Cada una de ellas tiene sus características y su manera de trabajar en la página.


Jquery

Esta es una librería javascript que pretende facilitar al máximo el trabajo con javascript. Para ello se basa en el objeto jQuery que accede de forma rápida y simple a los elementos de la página y le aplica una serie de métodos y propiedades que simplifican el trabajo con javascript.
En JQuery se puede decir que se aplica el lema de "menos es mas", es decir, con menos código y menos complicación, se consiguen más resultados.
JQuery es una opción interesante si no se nos da bien programar en javascript, ya que consigue los mismos resultados con un código mucho más simple. Eso sí, debemos aprender el nuevo código que nos propone JQuery.


Mootools

Esta es una librería javascript, que aunque es un poco más complicada de utilizar que JQuery, es bastante más completa. Permite realizar acciones que muchas veces o nos sería muy complicado de hacer o no sabríamos como hacerlas. Y todo ello utilizando objetos y métodos ya definidos.
Mootools es particularmente útil por la cantidad de efectos que podemos hacer en la página de un manera bastante sencilla.
El manual consta de tres partes. En la primer aprendemos a utilizar mootools para hacer las mismas tareas que con javascript, pero de un manera más simple.
En la segunda nos ocupamos de los efectos especiales que pueden hacerse en la página, mediante el objeto Fx de Mootools. Entre otros podemos hacer listas desplegables, mover elementos, intercambiarlos, efecto acordeón, etc.
La tercera parte seguimos viendo algunos efectos y el control de algunos elementos de la página.


Otras librerías

Las dos librerías javascript que vemos aquí son las más usadas por los programadores, jQuery tiene la ventaja de su simplicidad, mientras que Mootools es considerada la librería más "compacta". Además de éstas hay otras librerías javascript de caracter general, como Prototype, YUI, Dojo, etc.
Particularmente no las he probado, por lo que no puedo dar un opinión sobre ellas. Lo cierto es que hay muchos programadores que las usan y les dan también buenos resultados, Si algún día utilizo alguna de ellas ya hos haré saber mi opinión.


-CREACION DE ESCTRUCTURAS SECUENCIALES

Resultado de imagen para creacion de estructura secuencialesUna estructura de programa es secuencial si se ejecutan una tras otra a modo de secuencia, es decir que una instrucción no se ejecuta hasta que finaliza la anterior.
Ejemplo:
   INPUT x
   INPUT y
   auxiliar= x
   x= y
   y= auxiliar
   PRINT x
   PRINT y
Esta secuencia de instrucciones permuta los valores de x e y, con ayuda de una variable auxiliar, intermedia.

  • 1º Se guarda una copia del valor de x en auxiliar.
  • 2º Se guarda el valor de y en x, perdiendo su valor anterior, pero se mantiene una copia del contenido en auxiliar.
  • 3º Se copia a y el valor de auxiliar, que es el valor inicial de x.

  • El resultado es el intercambio de los valores entre x e y, en tres operaciones secuenciales.


-ESTRUCTURA SELECTIVAS IF-ELSE Y ANIDADES 
MÚLTIPLES

selectivaLas estructuras selectivas se utilizan para tomar decisiones lógicas; de ahí que se suelan denominar también estructuras de decisión o alternativas y son utilizadas en todos los lenguajes de programación, en este caso veremos estructuras selectivas para el lenguaje de programación Ruby,  creado por el programador japonés Yukihiro “Matz” Matsumoto, quien comenzó a trabajar en Ruby en 1993, y lo presentó públicamente en 1995.En el círculo de amigos de Matsumoto se le puso el nombre de “Ruby” (en español rubí) como broma aludiendo al lenguaje de programación “Perl” (perla)
En las estructuras selectivas se evalúan una condición y en función del resultado de la misma se realiza una opción u otra. Las condiciones se especifican usando expresiones lógicas. La representación de una estructura selectiva se hace con palabras en pseudocódigo (if, then, else o bien en español si, entonces, si_no), las estructuras selectivas pueden ser:

Simples

Las estructuras selectivas simples o condicionales están compuesta únicamente de una sola condición si es verdadera ejecutara la acción o acciones si la condición es falsa no hará nada.

if (condición) entre paréntesis esta la condición que se debe evaluar

acción (si la condición entre paréntesis es verdadera se ejecutara la acción o acciones, porque, puede estar conformado por varias acciones)

end
Antes de mostrar el ejemplo vamos a explicar algunos comandos que vamos a utilizar:
# => este comando nos permite poner un comentario, puede ser a principio de linea o en cualquier posición de ella.
puts => este comando nos permite imprimir cualquier texto en pantalla, puede ser el resultado de una operación o un texto escrito entre comillas.
Ejemplo:
edad = 19 # asignamos un valor a la variable edad

if (edad > 17)

puts “Es mayor de edad”

end
Si ejecutamos el programa que hemos desarrollado el resultado seria: Es mayor de edad, porque, la condición que esta entre paréntesis es verdadera, porque, edad que tiene asignado 19 es mayor a 17, en cambio, si el valor asignado a la variable edad fuera menor a 18, no mostraría ningún resultado.

Dobles

Las estructuras selectivas dobles están compuesta únicamente de una sola condición, si es verdadera ejecutara la acción o acciones y si la condición es falsa ejecutara las acciones para la condición falsa. Esta estructura selectiva solo se debe utilizar únicamente cuando existen dos condiciones, si hubieran mas de dos condiciones se puede utilizar varias selectivas simples o una selectiva múltiple.

if (condición)

acción (si la condición entre paréntesis es verdadera se ejecutara la acción o acciones, porque, puede estar conformado por varias lineas)

else

acción (si la condición entre paréntesis es falsa se ejecutara la acción o acciones, porque, puede estar conformado por varias lineas)

end
Ejemplo:
Siguiendo con el ejemplo anterior asignaremos el mismo valor a la variable edad
edad = 19 # asignamos un valor a la variable edad

if (edad > 17)

puts “Es mayor de edad”

else

puts “Es menor de edad”

end
Si ejecutamos el programa que hemos desarrollado el resultado seria: Es mayor de edad, porque, la condición que esta entre paréntesis es verdadera, porque, edad que tiene asignado 19 es mayor a 17, en cambio, si el valor asignado a la variable edad fuera menor a 18,  el resultado seria Es menor de edad, porque, la condición es falsa.

Múltiples

Las estructuras selectivas múltiples o anidadas están compuesta múltiples selectivas simples que están unidas por el comando elsif el resultado que se obtiene con una selectiva multiple se puede obtener con varias selectivas simples, entonces, ¿cual es la diferencia? el codigo es mas pequeño, aunque, yo siempre he recomendado a mis alumnos que cuando recien se esta aprendiendo a programar es recomendable que al principio se trabaje con selectivas simples, a medida que se va aprendiendo y ganando destreza se puede comenzar a utilizar las selectivas multiples en los casos que ellos crean conveniente y necesarios.

if (condición)

acción (si la condición entre paréntesis es verdadera se ejecutara la acción o acciones, porque, puede estar conformado por varias lineas)

elsif (condición)

acción (si la condición entre paréntesis es verdadera se ejecutara la acción o acciones, porque, puede estar conformado por varias lineas)

elsif (condición)

acción (si la condición entre paréntesis es verdadera se ejecutara la acción o acciones, porque, puede estar conformado por varias lineas)

end
Ejemplo:
Siguiendo con el ejemplo anterior asignaremos el mismo valor a la variable edad
edad = 19 # asignamos un valor a la variable edad

if (edad > 17)

puts “Es mayor de edad”

elsif (edad < 18)

puts “Es menor de edad”

end
Si ejecutamos el programa que hemos desarrollado el resultado seria: Es mayor de edad, porque, la condición que esta entre paréntesis de la primera condición es verdadera, porque, en las selectivas múltiples cada condición debe ser única, porque, cuando ingresa en una de ellas ahí termina el programa, si el valor asignado a la variable edad fuera menor a 18,  el resultado seria Es menor de edad, porque, hubiera ingresado en la segunda condición y no en la primera.



-ESTRUCTURAS DE INTERACTIVA DO-WHILE 
Una estructura iterativa Do-While ejecuta al menos una vez su bloque repetitivo, a diferencia del while o del for que podían no ejecutar el bloque, este bloque de instrucciones se repetirán siempre que la condición sea verdadera.  

Sintaxis Iterativa Bucle Do While:




Problema 12


Hacer un programa en java que permita validar el ingreso de notas (0-20) para “n”  alumnos, es decir mientras la nota este fuera de ese rango el programa deberá indicar
 al usuario ingresar la nota, hasta que se ingrese la nota correcta; al final mostrar el 
promedio.
 Diagrama de Flujo:




Formulario:






Código del Jbutton Calcular



    private void btnCalcularActionPerformed(java.awt.event.ActionEvent evt) {                                           

        //Declaración de variables

            int cantAlumnos, nota;

            double suma=0;

            double promedio;

            //Entrada de datos

            cantAlumnos = Integer.parseInt(txtCantAlumnos.getText());

            //proceso

            //Implementamos el bucle

            for (int i = 1; i <= cantAlumnos;i++ )

            {

                do

                {

                    //Leer la nota con un inputbox

                    //Agregar la referencia para utilizar el input box

                    nota = Integer.parseInt(JOptionPane.showInputDialog(this,"Ingrese la Nota del alumno " + i, "Notas",1));

                } while (nota <= 0 || nota >= 20);

                suma = suma + nota;

            }

            promedio=suma/cantAlumnos;

            //Salida de información

            txtPromedio.setText(Double.toString(promedio));



    }                                          




Código del Jbutton Nuevo



private void btnNuevoActionPerformed(java.awt.event.ActionEvent evt) {                                        

        txtCantAlumnos.setText(null);

        txtPromedio.setText(null);

    }               
                      
Código del Jbutton Salir



private void btnSalirActionPerformed(java.awt.event.ActionEvent evt) {                                        

         this.dispose();

    }   


Resultado de imagen para estructura interactiva do-while

PROGRAMACION EN PSEUDOCODIGO Y ESTRUCTURADO

La informática se suele definir como la ciencia que estudia el tratamiento automatizado de la información. Para realizar dicho tratamiento...