Escolar Documentos
Profissional Documentos
Cultura Documentos
TIPOS DE DATOS
Un tipo de datos es la propiedad de un valor que determina su dominio (qué valores puede tomar),
qué operaciones se le pueden aplicar y cómo es representado internamente por el computador.
Todos los valores que aparecen en un programa tienen un tipo.
A continuación revisaremos los tipos de datos elementales de Python. Además de éstos, existen
muchos otros, y más adelante aprenderemos a crear nuestros propios tipos de datos.
Números enteros
El tipo int (del inglés integer, que significa «entero») permite representar números enteros.
Los valores que puede tomar un int son todos los números enteros: ... -3, -2, -1, 0, 1, 2, 3, ...
Los números enteros literales se escriben con un signo opcional seguido por una secuencia de dígitos:
1570
+4591
-12
Números reales
El tipo float permite representar números reales.
El nombre float viene del término punto flotante, que es la manera en que el computador representa
internamente los números reales.
Hay que tener mucho cuidado, porque los números reales no se pueden representar de manera
exacta en un computador. Por ejemplo, el número decimal 0.7 es representado internamente por el
computador mediante la aproximación 0.69999999999999996. Todas las operaciones entre
valores float son aproximaciones. Esto puede conducir a resultados algo sorpresivos:
>>> 881.9843000
881.9843
>>> -3.14159
-3.14159
>>> 1024.
1024.0
>>> .22
0.22
Otra representación es la notación científica, en la que se escribe un factor y una potencia de diez
separados por una letra e. Por ejemplo:
>>> -2.45E4
-24500.0
>>> 7e-2
0.07
>>> 6.02e23
6.02e+23
>>> 9.1094E-31
9.1094e-31
Los dos últimos valores del ejemplo son iguales, respectivamente,
a 6.02×10236.02×1023 (la constante de Avogadro) y 9.1094×10−319.1094×10−31 (la masa del
electrón).
Números complejos
El tipo complex permite representar números complejos.
Los números complejos tienen una parte real y una imaginaria. La parte imaginaria es denotada
agregando una j inmediatamente después de su valor:
3 + 9j
-1.4 + 2.7j
Valores lógicos
Los valores lógicos True y False (verdadero y falso) son de tipo bool, que representa valores lógicos.
El nombre bool viene del matemático George Boole, quien creó un sistema algebraico para la
lógica binaria. Por lo mismo, a True y False también se les llama valores booleanos. El nombre no es
muy intuitivo, pero es el que se usa en informática, así que hay que conocerlo.
Texto
A los valores que representan texto se les llama strings, y tienen el tipo str.
Los strings literales pueden ser representados con texto entre comillas simples o comillas dobles:
"ejemplo 1"
'ejemplo 2'
La ventaja de tener dos tipos de comillas es que se puede usar uno de ellos cuando el otro aparece
como parte del texto:
"Let's go!"
'Ella dijo "hola"'
Es importante entender que los strings no son lo mismo que los valores que en él pueden estar
representados:
>>> 5 == '5'
False
>>> True == 'True'
False
Los strings que difieren en mayúsculas y minúsculas, o en espacios también son distintos:
IDENTIFICADORES
En los lenguajes informáticos, los identificadores son elementos textuales (también llamados símbolos)
que nombran entidades del lenguaje. Algunas de las entidades que un identificador puede denotar
son las variables, las constantes, los tipos de dato, las etiquetas,
las subrutinas (procedimientos y funciones) y los paquetes.
En muchos lenguajes algunas secuencias tienen la forma léxica de un identificador pero son
conocidos como palabras clave (o palabras reservadas). Lo habitual es que si un identificador se
corresponde con una palabra clave o reservada, éste ya no pueda utilizarse para referirse a otro
tipo de entidades como variables o constantes (en unos pocos lenguajes, como PL/1, esta distinción
no está del todo clara).
Los lenguajes informáticos normalmente ponen restricciones en qué caracteres pueden aparecer en
un identificador. Por ejemplo, en las primeras versiones de C y C++, los identificadores están
restringidos para que sean una secuencia de una o más letras ASCII, dígitos numéricos (que en
ningún caso deben aparecer como primer caracter) y barras bajas. Las versiones posteriores de
estos lenguajes, así como otros muchos más lenguajes modernos soportan casi todos los
caracteres Unicode en un identificador. Una restricción común es que no está permitido el uso de
espacios en blanco ni operadores del lenguaje.
En lenguajes de programación compilados, los identificadores generalmente son entidades
en tiempo de compilación, es decir, en tiempo de ejecución el programa compilado contiene
referencias a direcciones de memoria y offsets más que identificadores textuales (estas direcciones
de memoria u offsets, han sido asignadas por el compilador a cada identificador).
En lenguajes interpretados los identificadores están frecuentemente en tiempo de ejecución, a veces
incluso como objetos de primera clase que pueden ser manipulados y evaluados libremente. En Lisp,
éstos se llaman símbolos.
Los compiladores e intérpretes normalmente no asignan ningún significado semántico a un
identificador basado en la secuencia de caracteres actual. Sin embargo, hay excepciones. Por
ejemplo:
En Perl una variable se indica utilizando un prefijo llamado sigil, que especifica aspectos de
cómo se interpreta la variable en las expresiones.
En Ruby una variable se considera automáticamente como inmutable si su identificador
empieza con una letra mayúscula.
En Fortran, la primera letra de una variable indica si por defecto es creada como entero o
como flotante.
*Expresión:
Una expresión es una secuencia de operadores y operandos que describe un cálculo. Normalmente
una expresión se evalúa en tiempo de ejecución.
*OPERADORES:
operadores: un operador es el símbolo que determina el tipo de operación o relación que habrá
que establecerse entre los operandos de una expresión para alcanzar un resultado.
Los operadores se clasifican en tres grupos:
Aritméticos
Relacionales
Lógicos
1.-Operadores aritméticos: son aquellos que permiten la realización de cálculos aritméticos. Utilizan
operandos numéricos y proporcionan resultados numéricos.
Operadores aritméticos
+ ------- suma
- -------resta
* -------Multiplicación
/ -------División real
Div -----División entera
Mod ----Residuo
^ -------Exponenciación
Ejemplos:
7+3 = 10
7-3 = 4
20 Mod 3 = 2
10/4 = 2.5
2^3 = 8
En la expresión 7+3, los valores 7 y 3 se denominan operandos, que son los valores que se evalúan
o relacionan. El valor de la expresión 7 + 3 se conoce como resultado de la expresión, que es el
producto de la relación entre los operandos condicionados por el operador.
*Operadores Relacionales:
Operador Acción
> Mayor que
= Igual
<> Distinto
Si la propuesta es cierta, el resultado es true (un valor distinto de cero), si es falsa false (cero).
Ejemplos:
Si a = 10, b = 20, c = 30
a+b>c Falso
a - b <> Verdadero
a-b=c Falso
*Operadores lógicos
son aquellos 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.
Operadores
not -------------negación (no)
and -------------conjunción (y)
or --------------disyunción (o)
xor -------------disyunción exclusiva (o/solo)
El orden en que se evalúan los operandos viene dado por unas reglas:
Reglas de procedencia
Reglas de asociatividad
Uso de paréntesis
EVALUACIÓN DE EXPRESIONES
Toda expresión regresa un valor. Si hay más de un operador, se evalúan primero operadores
mayor precedencia, en caso de empate, se aplica regla asociatividad
Para evaluar una expresión no hay que hacer nada del otro mundo, pues es bien sencillo. Sólo hay
que saber sumar, restar, si un número es mayor que otro
1. Una sola constante o variable, la cual puede estar precedida por un signo + ó – .
Toda variable utilizada en una expresión debe tener un valor almacenado para que la expresión,
al ser evaluada, dé como resultado un valor.
Cualquier constante o variable puede ser reemplazada por una llamada a una función.
JERARQUÍA DE OPERADORES
El orden general de evaluación de los operadores de una expresión va de izquierda a derecha, con
la excepción de las asignaciones que lo hacen de derecha a izquierda.
(Regla 1) En todas las expresiones se evalúan primero las expresiones de los paréntesis más
anidados (interiores unos a otros); y éstos modifican la prioridad según la cantidad de éstos, los
cuales tienen que estar balanceados (el mismo número de paréntesis que abren debe ser igual al
número de los paréntesis que cierran).
(Regla 2) Todas las expresiones se evalúan tomando en cuenta la jerarquía de los operadores.
PASCAL no permite evaluación de circuito corto. No se pueden usar sentencias del siguiente tipo:
A:array[1..10] of integer;
ADA: “and”, “or” no son operaciones de circuito corto y “or them” y “and them” si son operaciones
de circuito corto.