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 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.
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
La 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.
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.
Programació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.
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.
-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:
Aná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).
-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
Una 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
- 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
Las 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();
}