Documentos de Académico
Documentos de Profesional
Documentos de Cultura
REPRESENTACIÓN DE UN ALGORITMO.
En esta sección se explican dos formas de representar un algoritmo. La primera forma
corresponde a una representación gráfica y esquemática denominada diagrama de flujo,
la cual ofrece una descripción visual de las actividades implicadas en un proceso
mostrando la relación secuencial entre ellas y facilitando su rápida comprensión. La
segunda forma concierne a una descripción compacta e informal de alto nivel,
denominada pseudocódigo.
Diagrama de Flujo:
Un diagrama de flujo no solamente establece la representación de un algoritmo, sino que
sirve de herramienta complementaria dentro del proceso de formulación de la estructura
de un programa previo situarnos delante un computador a desarrollarlo.
Al ser una descripción visual de las actividades implicadas en un algoritmo y al mostrar la
relación secuencial entre ellas y su interdependencia con las demás actividades mientras
se va estableciendo el flujo de información, su correcto desarrollo nos permitirá
evidenciar aspectos probablemente desconocidos como es el caso de la existencia de
posibles bucles infinitos, al igual que definir el número de pasos que requiere un
algoritmo. Por lo tanto, se torna imperativo definir una simbología, así como establecer el
proceso a seguir para su correcta formulación, dos aspectos esenciales que serán
detallados en los siguientes párrafos.
Pseudocódigo:
El pseudocódigo, igualmente conocido como falso lenguaje, es una representación de alto
nivel e informal del principio operativo de un algoritmo. Para ello utiliza las convenciones
estructurales de un lenguaje de programación auténtico, pero sin serlo, debido a que está
concebido para la lectura humana. Por tal razón se excluyen detalles que se consideran no
esenciales y que pudieran dificultar su comprensión, como es el caso de la declaración de
variables, código específico del sistema y algunas subrutinas, brindándole independencia
ante cualquier lenguaje de programación con el cual se pudiera llegar a implementar un
algoritmo
Los tipos de datos numéricos en Java no pueden representar cualquier número entero o
real. Por ejemplo, el tipo de dato entero int tiene un intervalo de representación entre
2147483648 y 2147483647.
Los datos de tipo doublé no tienen tanta limitación. Pueden alcanzar un valor del orden de
10308, pero tienen otro problema: la precisión. En concreto, el tipo doublé tiene una
precisión de 15 dígitos significativos.
Un número real de tipo float utiliza 32 bits de los cuales 24 son para la mantisa y 8 para el
exponente. La mantisa representa un valor entre –1.0 y 1.0 y el exponente representa la
potencia de2 necesaria para igualar la mantisa al valor que se quiere representar
conjuntamente.
Los números reales se caracterizan por dos magnitudes: la precisión y el intervalo de
representación. La precisión es el número de dígitos significativos con los que se puede
representar un número y el intervalo de representación es la diferencia entre el mayor y el
menor número que se pueden representar.
La precisión de un número real depende del número de bits de su mantisa mientras que el
intervalo depende del número de bits de su exponente.
Una mantisa de 24 bits como en el caso del tipo float puede representar
aproximadamente, ±223, o sea, cerca de 7 dígitos decimales significativos.
Un exponente de 8 bits puede representar multiplicadores entre 2–128 y 2127 de forma
que el intervalo de representación es de 10–38 a 1038 aproximadamente. En
consecuencia, los datos de tipo float tienen un intervalo de representación mucho mayor
en el mayor de los enteros, pero con sólo siete dígitos significativos de precisión.
Por su parte, un número real de tipo doublé utiliza 64 bits en la memoria del ordenador
dividida en 53 bits para la mantisa y 11 para el exponente. Una mantisa de 53 bits permite
representar entre 15 y 16 dígitos decimales significativos así que la precisión es de 15
dígitos decimales. Un exponente de 11 bits permite representar multiplicadores entre 2–
1024 y 21024, de forma que el intervalo de representación va de 10–308 a 10308
aproximadamente.
Una constante real se distingue de un entero porque contiene un punto decimal (no una
coma) y/o un exponente. Si la constante es positiva puede escribirse con o sin el signo +.
El tipo de una constante real se puede especificar añadiendo la letra F para el tipo float o
la letra D para doublé. Por defecto, una constante real es de tipo doublé. En este caso
debe estar en el intervalo de representación comprendido entre los valores numéricos
reales -1.79769313486231570E+308 y 1.79769313486231570E+308.
Tipos de Variables:
El tipo de variable hace referencia al dominio o clase al que pertenece dicha variable. Por
ejemplo, una variable de tipo «entero», hace referencia a que puede tomar cualquier
valor dentro del dominio de los números enteros, mientras que una variable tipo
«character» es aquella que puede tomar el valor de cualquier carácter individual (letra,
número, signo, símbolos especiales, etc.).
Cada lenguaje de programación posee un conjunto de tipos de datos básicos o primitivos
que le permiten almacenar:
▪ Caracteres,
▪ Números enteros,
▪ Números reales y
▪ Valores booleanos o lógicos (verdadero o falso).
El tipo de dato de una variable es una restricción impuesta para la interpretación,
manipulación y representación del dato, que no solo determina el conjunto de posibles
valores que la variable puede asumir, sino el conjunto de operaciones que con ella se
pueden realizar. Adicionalmente, cada variable ocupa un lugar en la memoria del
computador, cuyo tamaño asignado depende del tipo de variable seleccionada.
Declaraciones de variables.
Una variable es un espacio de la memoria correspondiente a un dato cuyo valor puede
modificarse durante la ejecución de un programa y que está asociado a un identificador.
Toda variable ha de declararse antes de ser usada en el código de un programa en Java. En
la declaración de una variable debe indicarse explícitamente el identificador de la variable
y el tipo de dato asociado. El tipo de dato determina el espacio reservado en memoria, los
diferentes valores que puede tomar la variable y las operaciones que pueden realizarse
con ella. La declaración de una variable en el código fuente de un programa de Java puede
hacerse de la siguiente forma: tipo de dato identificador de la variable; o bien, la
declaración de múltiples variables (con los correspondientes identificadores separados por
comas) del mismo tipo: tipo de dato ident_1, ident_2, . . ., ident_n;
Por ejemplo:
int n;
doublé x, y;
En el primer ejemplo se declara n como una variable de tipo int. En el segundo ejemplo se
declaran dos variables x e y de tipo doublé. En Java una variable queda definida
únicamente dentro del bloque de sentencias (entre llaves {}) en el que ha sido declarada.
De esta forma queda determinado su ámbito o alcance (scope) en el que puede
emplearse.
Operadores.
Un operador lleva a cabo operaciones sobre uno (operador unario), dos (operador binario)
o tres (operador ternario) datos u operandos de tipo primitivo devolviendo un valor
determinado también de un tipo primitivo. El tipo de valor devuelto tras la evaluación
depende del operador y del tipo de los operandos. Por ejemplo, los operadores
aritméticos trabajan con operandos numéricos, llevan a cabo operaciones aritméticas
básicas y devuelven el valor numérico correspondiente. Los operadores se pueden
clasificar en distintos grupos:
▪ Operador asignación: El operador asignación, =, es un operador binario que asigna el
valor del término de la derecha al operando de la izquierda. El operando de la izquierda
suele ser el identificador de una variable. El término de la derecha es, en general, una
expresión de un tipo de dato compatible; en particular puede ser una constante u otra
variable. Como caso particular, y a diferencia de los demás operadores, este operador no
se evalúa devolviendo un determinado valor.
▪El operador condicional: Este operador ternario tomado de C/C++ permite devolver
valores en función de una expresión lógica. Sintaxis:
Expresión Lógica ? expresion_1: expresion_2
Si el resultado de evaluar la expresión lógica es verdadero, devuelve el valor de la primera
expresión, y en caso contrario, devuelve el valor de la segunda expresión.
▪Operadores de bit: Tienen operandos de tipo entero (o char) y un resultado de tipo
entero. Realizan operaciones con dígitos (ceros y unos) de la representación binaria de los
operandos. Exceptuando al operador negación, los demás operadores son binarios.