Documentos de Académico
Documentos de Profesional
Documentos de Cultura
a + 5*b
(a >= 0) and ((b+5) > 10)
a
-a * 2 + b
-b + sqrt(b**2 – 4*a*c)
length(s) > 0
Las expresiones se evalúan de acuerdo con la precedencia de los operadores. Ante una
secuencia de operadores de igual precedencia, la evaluación se realiza según el orden de
escritura, de izquierda a derecha. El orden de evaluación puede modificarse usando
paréntesis.
Algunos ejemplos de tipos de datos que existen en los lenguajes de programación son:
1.2.4 Funciones.
Las funciones se crearon para evitar tener que repetir constantemente fragmentos de
código. Una función podría considerarse como una variable que encierra código dentro de
sí. Por lo tanto, cuando accedemos a dicha variable (la función) en realidad lo que estamos
es diciendo al programa que ejecute un determinado código predefinido anteriormente.
Todos los lenguajes de programación tienen algunos elementos de formación primitivos
para la descripción de los datos y de los procesos o transformaciones aplicadas a estos datos
(tal como la suma de dos números o la selección de un elemento que forma parte de una
colección). Estos elementos primitivos son definidos por reglas sintácticas y semánticas que
describen su estructura y significado respectivamente.
Modelo de Programación Funcional.
2.1 Introducción al modelo de programación
funcional.
Dentro del grupo de los tipos de datos numéricos, a su vez, destacan dos
tipos: los enteros y los reales.
Entre los tipos de datos de texto hay que mencionar dos: el tipo carácter y
el tipo cadena (cadena de caracteres, o string).
Puedes ver de forma más esquemática esta agrupación de tipos de datos.
Este esquema en realidad es mucho más extenso, ya que cada lenguaje
tiene multitud de tipos de datos, pero como se mencionó anteriormente,
ahora debes captar las nociones elementales de los tipos de datos, por
tanto, en principio, es preferible que te centres en unos pocos, los más
generales y comunes:
Tipo de dato entero: Son los números naturales positivos y negativos,
más el cero. Se trata de un conjunto infinito de términos que en
matemáticas usualmente se denomina "Z", compuesto por los números
sin decimales. Cada término crece o decrece según para donde nos
desplacemos en una unidad, por ejemplo 12, 13, 14, 15 o -3, -4, -5, -6.
Son ejemplos 2, -4 y 0. En pseudocódigo se suele utilizar la palabra
reservada "entero" para este tipo de datos.
Tipo de dato real: Son los que pueden tomar como valores a los
números racionales o irracionales. Este tipo de datos admite decimales.
En matemáticas se denomina conjunto "R" y es también un conjunto
infinito de términos. En este conjunto entre dos términos siempre
existen un número infinito de términos. Para éstos, en pseudocódigo, se
usa la palabra reservada "real".
Tipo de dato lógico: Un dato lógico es aquel que sólo puede tomar
valor verdadero o valor falso, es decir que algo se cumpla o no. Un
ejemplo puede ser una puerta de paso, que puede estar abierta
(asociamos por ejemplo verdadero) o cerrada (falso en este caso por
oposición al convenio anterior). Para referenciar este tipo de datos en
pseudocódigo se usa la palabra reservada "lógico".
Tipo de dato carácter: El conjunto de valores que representa este tipo
de datos es el formado por cualquier carácter que pueda representar el
ordenador. Normalmente se representan entre comillas, ya sean dobles
o simples (dependiendo del lenguaje). En pseudocódigo, para este tipo
de datos, se utiliza la palabra reservada "carácter".
Tipo de datos cadena: Una cadena es una secuencia de caracteres y
se representa también normalmente entre comillas. Los espacios en
blanco dentro del entrecomillado también son caracteres que forman
parte de la cadena, por ejemplo "El gato" es una cadena de 7
caracteres. En pseudocódigo se usa la palabra reservada "cadena" para
este tipo de datos.
2.2. Funciones.
Un problema complejo se puede dividir en pequeños subproblemas mas
sencillos. Estos subproblemas se conocen como “Módulos” y su
complementacion en un lenguaje se llama subprograma (procedimientos
y funciones).
Un subprograma realiza las mismas acciones que un programa, sin
embargo, un subprograma lo utiliza solamente un programa para un
propósito especifico.
Un subprograma recibe datos de un programa y le devuelve resultados
(el programa “llama” o “invoca” al subprograma, este ejecuta una tarea
especifica y devuelve el “control” al programa que lo llamo).
Función: Una función en matemáticas, es una operación que toma un o
mas valores (argumentos) y devuelve un resultado (valor de la función
para los argumentos dados). Por ejemplo:
F(X) = X / (1+X2)
Donde:
F ………….. Nombre de la función
X …………. Es el argumento (también conocido como parámetro formal)
Definición de funciones: Una definición de función se presenta de la
siguiente manera:
Función nombre_funcion (p1, p2, …, pn)
Inicio
Bloque de instrucciones
Fin
Donde:
Función …………… Es la palabra clave que nos indica una definición de
función.
Nombre_funcion ….. Es el identificador con el cual se reconoce a la
función en el cuerpo del
algoritmo principal.
P1,p2,…,pn ……… Es el grupo de parámetros que define a la función.
Llamado a una función
Cuando definimos una función solo le indicamos al algoritmo que esta
función existe, pero una definición de función no implica la realización
de las instrucciones que la constituyen. Para hacer uso de una función,
el algoritmo principal la debe llamar. Por ejemplo:
Función F(X)
Inicio
F = X /(1 + X^2)
Fin
Inicio
Imprimir “Este es el algoritmo principal”
Leer N
R = F(N) llamado de la función
Imprimir “El resultado de la función es:”,R
Fin
2.3. Intervalos.
Los intervalos son subconjuntos de R (ICR). Se dice que I es un intervalo si
y solo si es el conjunto de todos los números reales que se comprenden
entre otros dos llamados extremos que se puede dar real o ideal.
2.- Tipos de intervalo:
- Intervalo cerrado:
- Intervalo abierto:
2.4. Operadores.
Fig
.3: La siguiente imagen muestra de forma gráfica los nodos Padre, Hijo y Hermanos
Los arboles a demas de los nodos tiene otras propiedades importantes que son utilizadas en
diferente ámbitos los cuales son:
Nivel: Nos referimos como nivel a cada generación dentro del árbol. Por ejemplo, cuando a un
nodo hoja le agregamos un hijo, el nodo hoja pasa a ser un nodo rama pero a demas el árbol
crece una generación por lo que el Árbol tiene un nivel mas.Cada generación tiene un número
de Nivel distinto que las demas generaciones.
Fig. 6:
Imagen que nuestra dos Árboles con Orden = 2(Izquierda) y un segundo con Orden =
3(Derecha).
Notemos que un Árbol con Orden = 1 no tendría sentido ya que seria una estructura lineal. ya
que cada nodo solo podría tener un Hijo y tendríamos un Árbol como la Imagen de la Fig.1.
Este valor no lo calculamos, si no que ya lo debemos conocer cuando diseñamos nuestra
estructura, ya que si queremos calcular esto lo que obtendremos es el grado(hablamos de el
continuación).
Grado: El grado se refiere al número mayor de hijos que tiene alguno de los nodos del Árbol y
esta limitado por el Orden, ya que este indica el número máximo de hijos que puede tener un
nodo.
Fig. 7:
En la imagen podemos apreciar un Árbol con grado 2(Izquierda) y un otro con grado
3(Derecha).
El grado se calcula contando de forma recursiva el número de hijos de cada sub-árbol hijo y el
numero de hijos del nodo actual para tomar el mayor, esta operación se hace de forma
recursiva para recorrer todo el árbol.
grado = max(contarHijos(hijo1),contarHijos(hijo2), contarHijos(hijoN), contarHijos(this))
Sub-Árbol: Conocemos como Sub-Árbol a todo Árbol generado a partir de una sección
determinada del Árbol, Por lo que podemos decir que un Árbol es un nodo Raíz con N Sub-
Árboles.
F
ig. 8: En la imagen de puede apreciar que un Árbol esta compuesto por una seria de Sub-
Arboles los cual conforman toda la estructura.
Existen escenarios donde podemos sacar un Sub-Árboles del Árbol para procesarlo de forma
separada, de esta forma el Sub-Árboles pasa a ser un Árbol independiente, También podemos
eliminar Sub-Árboles completos, Agregarlos,entre otras operaciones.
Árbol n-ario
los arboles n-arios son aquellos arboles donde el número máximo de hijos por nodo es
de N, en la figura 7 podemos apreciar dos árboles con grado 2 y grado 3, estos dos arboles
también los podemos definir como Árbol n-ario con n = 2 y n=3 respectivamente.
Árboles binarios
Esta estructura se caracteriza por que cada nodo solo puede tener máximo 2 hijo, dicho de
otra manera es un Árbol n-ario de Grado 2.
Fig. 9: En la imagen podemos apreciar un Árbol Binario.
Árbol binario lleno: Es aquel que el que todos los nodos tiene cero o 2 hijos con excepción
de la Raíz.
Fig. 11: En la imagen podemos apreciar que el árbol de la izquierda tiene todas sus hojas al
mismo nivel y que ademas esta lleno, lo que lo convierte en un árbol binario perfecto. Sin
embargo, del lado derecho podemos ver que aunque el árbol esta lleno no tiene todas las
hojas al mismo nivel lo que hace que no sea un árbol binario perfecto pero si lleno.