Unidad III

"Entidades primitivas para el desarrollo de Algoritmos"

3.1 Tipos de Datos

        Un dato se define como la expresión general que describe los objetos con los cuales opera una computadora. Los datos de entrada se transforman por el programa, después de las etapas intermedias, en datos de salida.

        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 :



  • Numéricos

  • Lógicos

  • Cadenas

   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.

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 . 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:

        Nom_variable Expresión

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

   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
Inicio
   leer(B)
    leer(h)
    x B*h
    A x/2
    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