"Entidades primitivas para el desarrollo de Algoritmos"
3.1 Tipos de Datos
Los datos se clasifican en diversas categorías, según el tipo de máquina o del lenguaje en uso. Generalmente podemos encontrar las siguientes categorías :
| |
| |
|
Datos Numéricos
Son aquéllos que representan una cantidad o valor determinado. Su representación se lleva a cabo en los formatos ya conocidos (enteros, punto y fracciones decimales si estas existen).Estos pueden representarse en dos formas distintas :
Tipo Numérico Entero (integer).
|
|
Tipo Numérico Real
(real).
|
Enteros
Es un conjunto finito de los números enteros. Los enteros son números completos, no tienen componentes fraccionarios o decimales y pueden ser negativos y positivos.
Algunos ejemplos son :
3 7
|
|
-10 9
|
|
15.25
|
|
50
|
Reales
Consiste en un subconjunto de los números reales. Estos números siempre tienen un punto decimal y pueden ser positivos o negativos. Un número real consiste de un número entero y una parte decimal. Algunos ejemplos son :
0.52 664.32
|
|
6.579 8.0
|
|
-9.3 -47.23
|
Cadenas
Son los datos que representan información textual (palabras, frases, símbolos, etc). No representan valor alguno para efectos numéricos. Pueden distinguirse porque son delimitados por apóstrofes o comillas.Se clasifica en dos categorías :
Datos tipo carácter (char)
|
|
Datos tipo Cadena (string)
|
Datos Tipo Carácter
Es un conjunto finito y ordenado de caracteres que la computadora reconoce. Un dato de este tipo contiene solo un carácter.
Reconoce los siguientes caracteres :
Caracteres Alfabéticos
(A,B,C,…Z,a,b,c…z)
|
|
Caracteres Numéricos
(0,1,2,…9)
|
|
Caracteres Especiales (+,
-, *, /, ^, . , ;, <, >, $, …….)
|
Datos Tipo Cadena (string)
Es un sucesión de caracteres que se encuentran delimitados por una comilla (apóstrofe) o dobles comillas, según el tipo de lenguaje de programación. La longitud de una cadena de caracteres es el número de ellos comprendidos entre los separadores o delimitadores.
Ejemplos :
‘Hola Mortimer’
|
|
’12 de octubre de 1496’
|
|
‘Enunciado cualquiera’
|
Nota: Los símbolos disponibles para la formulación de caracteres y de cadenas son aquéllos que se encuentran en el cóodigo ASCII.
ASCII (American Standard Code for Information Interchange).
Lógicos
También se le denomina Booleano, es aquél dato que solo puede tomar uno de dos valores : Falso y verdadero.Se utiliza para representar las alternativas (si/no) a determinadas condiciones. Por ejemplo, cuando se pide si un valor entero sea primo, la respuesta será verdadera o falsa, según sea.
Las categorías y tipos que se mencionaron anteriormente se conocen como Tipos Simples, puesto que no poseen una estructura compleja.
En forma adicional, cada lenguaje puede proporcionar la utilización de Tipos Compuestos, siendo estos, datos que tienen una estructura predeterminada.
Tipos Compuestos
Entre los principales tipos compuestos se encuentran los siguientes:
a.- SUBRANGO : Son aquéllos en los que se especifíca con precisión el intervalo de valores válidos para un dato.
Ejemplos:
0..100 (son enumerativos de tipo entero)
'A'..'Z' (son enumerativos de tipo cadena)
Los Reales no son válidos para crear enumerativos, ya que su intervalo no está definido.
b.- ENUMERATIVOS : Son aquéllos en los que se definen individualmente los valores para un dato.
Ejemplos:
(0,25,40,52) Siempre deben ponerse netre paréntesis.
c.- DEFINIDOS POR EL USUARIO : Son aquéllos que el programador crea para satisfacer las necesidades del programa en diseño.
Constantes y variables
Una Constante es aquélla que no cambia de valor durante la ejecución de un programa (o comprobación de un algoritmo en este caso). Se representa en la forma descrita para cada categoría.Las Variables son aquéllas que pueden modificar su valor durante la ejecución de un programa (idem).
Su representación se da a través de letras y símbolos generalmente numéricos a los que se les asigna un valor.
Ejemplos:
Constantes
|
Variables
|
|
Numéricos
|
36
450.35
0.58
|
A
Nom
Edad
Ciudad
Estatura
|
Cadena
|
'A'
'Juan'
'La Paz'
|
|
Lógicos
|
Falso
Verdadero
|
3.2 Operadores y Operandos
Operadores
Un operador es el símbolo que determina el tipo de operación o relación que habrá de establecerse entre los operandos para alcanzar un resultado.
Los operadores se clasifican en tres grupos:
Aritméticos.
|
|
Relacionales.
|
|
Lógicos.
|
1.- Operadores Aritméticos
Son aquéllos que permiten la realización de cálculos aritméticos. Utilizan operandos numéricos y proporcionan resultados numéricos.
Operador
|
Operación
|
+
|
Suma
|
-
|
Resta
|
*
|
Multiplicación
|
/
|
División real
|
Div
|
División entera
|
Mod
|
Residuo
|
^
|
Exponenciación
|
Ejemplos:
7+3 = 10 10 Div 4 = 2
7-3 = 4 20 Mod 3 = 2
7*3 = 21 5 Mod 7 = 5
10/4= 2.5 4 ^ 2 = 16
En la expresión 7+3, los valores 7 y 3 se denominan operandos. El valor de la expresión 7+3 se conoce como resultado de la expresión.
Todos los operadores aritméticos no existen en todos los lenguajes de programación, por ejemplo, en Fortran no existen Div y mod.
Operadores Div y Mod
El símbolo / se utiliza para la división real, y el operador Div representa la división entera.
Expresión
|
Resultado
|
Expresión
|
Resultado
|
10.5/3.0
|
3.5
|
10
Div 3
|
3
|
1/4
|
0.25
|
18
Div 2
|
9
|
2.0/4.0
|
0.5
|
30
Div 30
|
1
|
30/30
|
1.0
|
10
Mod 3
|
1
|
6/8
|
0.75
|
10
Mod 2
|
0
|
Operadores Relacionales
Permiten realizar comparaciones de valores de tipo numérico o carácter. Estos operadores sirven para expresar las condiciones en los algoritmos. Proporcionan resultados lógicos.
Operador
|
Significado
|
<
|
Menor que
|
>
|
Mayor que
|
=
|
Igual que
|
<=
|
Menor o igual que
|
>=
|
Mayor o igual que
|
<>
|
Diferente de
|
El formato general para las comparaciones es:
expresión1
operador de relación expresión2
El resultado de la operación será Verdadero o Falso. Así por ejemplo, si A=4 y B=3, entonces:
A>B Es Verdadero
(A-2) < (B-4) Es Falso
Los operadores de relación se pueden aplicar a cualquiera de los cuatro tipos de datos estándar: enteros, real, lógico y carácter.
‘A’ < ‘K’ = Verdadero
‘A’ > ‘a’ = Falso
‘MARIA’ < ‘JUAN’ = Falso (se considera la primera letra)
‘JAIME’ > ‘JORGE’ = Falso
Nota: La comparación de cadenas se rige por el código ASCII.
Prioridad De Operadores Aritméticos y Relacionales
Determina el orden en que habrán de realizarse las operaciones en una expresión determinada. Para obtener la prioridad se deben conocer las siguientes reglas:
Las operaciones que están
encerradas entre paréntesis se evalúan primero. Si existen diferentes
paréntesis anidados (interiores unos a otros), las expresiones más internas
se evalúan primero.
|
Las operaciones aritméticas
dentro de una expresión suelen seguir el siguiente orden de prioridad.
|
Operador
|
Prioridad
|
^
|
Alta
|
*,
/, Div
|
|
+, -,
Mod
|
|
Relacionales
|
Baja
|
En caso de coincidir varios operadores de igual prioridad en una expresión o subexpresión encerrada entre paréntesis, el orden de prioridad en este caso es de izquierda a derecha.
Cuando se desea realizar una operación con baja prioridad por adelantado, debe agruparse a los operandos involucrados.
4 + 12 /2 = 10 (sin agrupar)
(4 + 12) /2 = 8 (con agrupador)
Ejemplo:
Obtener los resultados de las expresiones:
-4 * 7 + 2 ^ 3 / 4 - 5
Solución:
-4 *7 + 2 ^ ¾
Resulta:
-4 * 7+ 8/4 -5
-28 + 8/4 -5
-28 + 2 - 5
-26 - 5
-31
Los paréntesis tienen prioridad sobre el resto de las operaciones.
A * (B+3) La constante 3 se suma primero al valor de B, después este
resultado se multiplica por el valor de A.
(A*B) +3 A y B Se multiplican primero y a continuación se suma 3.
A + (B/C) + D Esta expresión equivale a A+ B/C + D
Operadores Lógicos
Son aquéllos que permiten la combinación de condiciones para formar una sola expresión lógica. Utilizan operandos lógicos y proporcionan resultados lógicos también.
Tabla de verdad
Prioridad De Los Operadores Lógicos
Los operadores aritméticos seguían un orden específico o de prioridad cuando existían más de un operador en las expresiones. De modo similar los operadores lógicos y relacionales tienen un orden de prioridad.
Ejemplos:
Not 4 > 6 Produce un error, ya que el operador not se aplica a 4.
Not (4 > 14) Produce un valor verdadero.
(1.0<x) And (x<z +7.0) Si x vale 7 y z vale 4, se obtiene un valor falso.
La operación de asignación es el modo de darle valores a una variable. La operación de asignación se representa por el símbolo u operador
. La
operación de asignación se conoce como instrucción o sentencia de asignación
cuando se refiere a un lenguaje de programación.
A fin de manejar datos por medio de variables, estos pueden recibir valores determinados. El tipo de los valores que pueden recibir dependen de la declaración previa de tales variables.
En una asignación se resuelve, primeramente la expresión (al lado derecho del símbolo de asignación) y se asigna el resultado en la variable.
El formato general de asignación es:
Donde Expresión puede ser
una variable o constante, operación, función.
Ejemplo:
A
9
Significa que la variable A se le ha asignado el valor 9. La acción de asignar es destructiva, ya que el valor que tuviera la variable antes de la asignación se pierde y se reemplaza por el nuevo valor. Así en la secuencia de operaciones:
A
30
A
189
A
9
Cuando se ejecutan, el último valor que toma A será 9, ya que los valores anteriores a este han desaparecido.
Las acciones de asignación se clasifican según sea el tipo de expresiones :
Aritméticas, Lógicas y de Caracteres.
Asignación Aritmética
Las expresiones en las operaciones de asignación son aritméticas:
Suma
5+10+2
Se
evalúa la expresión 5+10+2 y se asigna a la variable Suma, es decir, 17
será el valor que toma Suma.
Asignación Lógica
La expresión que se evalúa en la operación de asignación es lógica. Supóngase que M, N, y P son variables de tipo lógico.
M
8 < 5
N
M o (7 <=
12)
P
7 > 6
Tras ejecutar las operaciones anteriores, las variables M,N,P toman los valores, falso, verdadero, verdadero respectivamente.
Asignación de caracteres
La operación que se evalúa es de tipo caracter.
x
'3 de Mayo
de 1999'
La acción de asignación anterior asigna la cadena de caracteres '3 de Mayo de 1999' a la variable de tipo carácter x.
Entrada y Salida de Información
Los cálculos que realizan las computadoras requieren para ser útiles la Entrada de los datos necesarios para ejecutar las operaciones que posteriormente se convertirán en resultados, es decir, Salida.
Las operaciones de entrada permiten leer determinados valores y asignarlos a determinadas variables. Esta entrada se conoce como operación de Lectura (read). Los datos de entrada se introducen al procesador mediante dispositivos de entrada (teclado, unidades de disco, etc). La salida puede aparecer en un dispositivo de salida (pantalla, impresora, etc). La operación de salida se denomina escritura (write).
En la escritura de algoritmos las acciones de lectura y escritura se representan por los formatos siguientes
Ejemplo: Obtener área de un triángulo.
Entrada
leer(B)
leer(h)
x
B*h
A
x/2
escribir(A)
Fin
Cada expresión toma un valor que se determina tomando los valores de las variables y constantes implicadas y la ejecución de las operaciones indicadas.
Una expresión consta de operadores y operandos. Según sea el tipo de objetos que manipulan, las expresiones se clasifican en :
El resultado de la expresión numérica es de tipo numérico ; el resultado de una expresión relacional y de una expresión lógica es de tipo lógico ; el resultado de una expresión carácter es de tipo carácter.
1.- Expresiones Aritméticas
Las expresiones aritméticas son análogas a las fórmulas matemáticas. Las variables y constantes son numéricas (real o entera) y las operaciones son las aritméticas.
Los cálculos que implican tipos de datos reales y enteros suelen dar normalmente resultados del mismo tipo si los operandos lo son también. Por ejemplo, el producto de operandos reales produce un real.
Ejemplo :
4 x 6 se representa por 4 * 6
39 se representa por 3 ^ 9
18 div 6 se representa por 18/6
2.- Expresiones Lógicas (booleanas)
Es una expresión que solo pueden tomar los valores de : verdadero y falso. Las expresiones lógicas se forman combinando constantes lógicas, variables lógicas y otras expresiones y otras expresiones lógicas utilizando los operadores lógicos not, and y or, y los operadores relacionales (de relación o comparación) =, >, <, <=, >=, <>.
(A*B) +3 A y B Se multiplican primero y a continuación se suma 3.
A + (B/C) + D Esta expresión equivale a A+ B/C + D
Operadores Lógicos
Son aquéllos que permiten la combinación de condiciones para formar una sola expresión lógica. Utilizan operandos lógicos y proporcionan resultados lógicos también.
Operador
|
Relación
|
not
|
Negación (No)
|
and
|
Conjunción (Y)
|
or
|
Disyunción (O)
|
xor
|
Disyunción Exclusiva
(O/SOLO)
|
Se obtiene Verdadero si:
|
|
NOT
|
El operando es falso
|
AND
|
Ambos operandos son
verdaderos
|
OR
|
Al menos un operando es
verdadero
|
XOR
|
Solo uno de los operandos
son verdadero
|
Tabla de verdad
X
|
Y
|
NOT(X)
|
NOT(Y)
|
X AND Y
|
X OR Y
|
X XOR Y
|
F
|
F
|
V
|
V
|
F
|
F
|
F
|
V
|
F
|
F
|
V
|
F
|
V
|
V
|
F
|
V
|
V
|
F
|
F
|
V
|
V
|
V
|
V
|
F
|
F
|
V
|
V
|
F
|
Prioridad De Los Operadores Lógicos
Los operadores aritméticos seguían un orden específico o de prioridad cuando existían más de un operador en las expresiones. De modo similar los operadores lógicos y relacionales tienen un orden de prioridad.
Ejemplos:
Not 4 > 6 Produce un error, ya que el operador not se aplica a 4.
Not (4 > 14) Produce un valor verdadero.
(1.0<x) And (x<z +7.0) Si x vale 7 y z vale 4, se obtiene un valor falso.
Asignación
La operación de asignación es el modo de darle valores a una variable. La operación de asignación se representa por el símbolo u operador

A fin de manejar datos por medio de variables, estos pueden recibir valores determinados. El tipo de los valores que pueden recibir dependen de la declaración previa de tales variables.
En una asignación se resuelve, primeramente la expresión (al lado derecho del símbolo de asignación) y se asigna el resultado en la variable.
El formato general de asignación es:
Ejemplo:
A

Significa que la variable A se le ha asignado el valor 9. La acción de asignar es destructiva, ya que el valor que tuviera la variable antes de la asignación se pierde y se reemplaza por el nuevo valor. Así en la secuencia de operaciones:
A

A

A

Cuando se ejecutan, el último valor que toma A será 9, ya que los valores anteriores a este han desaparecido.
Las acciones de asignación se clasifican según sea el tipo de expresiones :
Aritméticas, Lógicas y de Caracteres.
Asignación Aritmética
Las expresiones en las operaciones de asignación son aritméticas:
Suma

Asignación Lógica
La expresión que se evalúa en la operación de asignación es lógica. Supóngase que M, N, y P son variables de tipo lógico.
M

N

P

Tras ejecutar las operaciones anteriores, las variables M,N,P toman los valores, falso, verdadero, verdadero respectivamente.
Asignación de caracteres
La operación que se evalúa es de tipo caracter.
x

La acción de asignación anterior asigna la cadena de caracteres '3 de Mayo de 1999' a la variable de tipo carácter x.
Entrada y Salida de Información
Los cálculos que realizan las computadoras requieren para ser útiles la Entrada de los datos necesarios para ejecutar las operaciones que posteriormente se convertirán en resultados, es decir, Salida.
Las operaciones de entrada permiten leer determinados valores y asignarlos a determinadas variables. Esta entrada se conoce como operación de Lectura (read). Los datos de entrada se introducen al procesador mediante dispositivos de entrada (teclado, unidades de disco, etc). La salida puede aparecer en un dispositivo de salida (pantalla, impresora, etc). La operación de salida se denomina escritura (write).
En la escritura de algoritmos las acciones de lectura y escritura se representan por los formatos siguientes
leer ( Nom_variable )
escribir (lista de variables de
salida)
Ejemplo: Obtener área de un triángulo.
Entrada
·
Fórmula
(A= B*h/2)
·
Datos
(Base, altura)
Proceso
·
Multiplicar
Base y altura.
·
Dividir
resultado de la multiplicación anterior entre dos.
·
Mostrar
resultado de división anterior.
Salida
·
Area
del triángulo.
Algoritmo
Inicioleer(B)
leer(h)
x

A

escribir(A)
Fin
3.3 Expresiones
Las expresiones son combinaciones de constantes, variables, símbolos de operadores, paréntesis y nombres de funciones especiales. Las mismas ideas son utilizadas en notación matemática tradicional ; por ejemplo :
a + b ( b+2) Aquí los paréntesis
indican el orden de cálculo.
Cada expresión toma un valor que se determina tomando los valores de las variables y constantes implicadas y la ejecución de las operaciones indicadas.
Una expresión consta de operadores y operandos. Según sea el tipo de objetos que manipulan, las expresiones se clasifican en :
Aritméticas
| |
Relacionales
| |
Lógicas
| |
Carácter
|
El resultado de la expresión numérica es de tipo numérico ; el resultado de una expresión relacional y de una expresión lógica es de tipo lógico ; el resultado de una expresión carácter es de tipo carácter.
1.- Expresiones Aritméticas
Las expresiones aritméticas son análogas a las fórmulas matemáticas. Las variables y constantes son numéricas (real o entera) y las operaciones son las aritméticas.
+
|
suma
|
-
|
resta
|
*
|
multiplicación
|
/
|
división
|
^
|
exponenciación
|
div
|
división entera
|
mod
|
módulo (resto)
|
Los cálculos que implican tipos de datos reales y enteros suelen dar normalmente resultados del mismo tipo si los operandos lo son también. Por ejemplo, el producto de operandos reales produce un real.
Ejemplo :
4 x 6 se representa por 4 * 6
39 se representa por 3 ^ 9
18 div 6 se representa por 18/6
2.- Expresiones Lógicas (booleanas)
Es una expresión que solo pueden tomar los valores de : verdadero y falso. Las expresiones lógicas se forman combinando constantes lógicas, variables lógicas y otras expresiones y otras expresiones lógicas utilizando los operadores lógicos not, and y or, y los operadores relacionales (de relación o comparación) =, >, <, <=, >=, <>.
No hay comentarios.:
Publicar un comentario