Unidad 3: Datos y Entidades Primitivas.
Conceptos y Diferencias entre datos e información, tipos de datos.
Definición de Datos: Símbolos que representan un valor o
carácter, pero no se representa algo ni tiene sentido.
Definición de información: Es un dato ubicado en un contexto
y por ende representa algo.
En Resumen:
¿Qué es Dato?
Son símbolos que carecen de un sentido hasta que se ubican en un
contexto.
Dato Sentido
¿Qué es Información?
Es
un conjunto organizado de datos procesados, que constituyen un mensaje que
cambia el estado de conocimiento del sujeto o sistema que recibe dicho mensaje.
Tipos de datos:
1)
Numéricos -----> 0,2,2,3………
2)
Carácter --------> a,b,
c
3)
Lógico -------> Verdadero o Falso.
Variable ------------> Tipo
Carácter
Variable -----------------> Tipo Numérica
Variable------------> Tipo Lógico
En resumen.
.
Variable: Es una sección de memoria, donde se guardan
datos temporalmente, está compuesta por un identificador y un tipo de dato.
Su nombre es un identificador, dato de suma es 65, Suma=Núm//; toda
variable inicia siendo nulo (0)
En resumen.
Operadores: son símbolos que ejercen
una acción sobre un dato o elemento operador.
Datos
Datos
¿Qué es un operador?:
Un operador es un símbolo (+, -, *, /, etc) que tiene una función predefinida (suma, resta, multiplicación, etc) y que recibe sus argumentos de manera infija, en el caso de tener 2 argumentos de manera prefija o postfija, en el caso de tener uno solo ( , o bien, ).
Un operador es un símbolo (+, -, *, /, etc) que tiene una función predefinida (suma, resta, multiplicación, etc) y que recibe sus argumentos de manera infija, en el caso de tener 2 argumentos de manera prefija o postfija, en el caso de tener uno solo ( , o bien, ).
TIPOS DE OPERADORES
o Operadores de Asignación
o
Operadores
Numéricos
o
Operadores
de Comparación
o
Operadores
lógicos
o
Operadores a
nivel de bit (bitwise operators)
o
Operadores
especiales
o
Operadores
de Asignación: Un operador de asignación asigna un valor a el
operador de la izquierda en función a el valor del operando de la derecha. El
operador básico de asignación es el igual (=), que asigna el valor de la
derecha a el operador de la izquierda. Por ejemplo, x =
y, está asignando el valor y a x.
Los otros operadores de asignación y su forma abreviada están en la
siguiente tabla:
Tabla
3.1 Operadores de asignación
|
|
Operador
abreviado
|
Significado
|
x += y
|
x = x + y
|
x -= y
|
x = x - y
|
x *= y
|
x = x * y
|
x /= y
|
x = x / y
|
x %= y
|
x = x % y
|
x <<= y
|
x = x << y
|
x >>= y
|
x = x >> y
|
x >>>= y
|
x = x >>> y
|
x &= y
|
x = x & y
|
x ^= y
|
x = x ^ y
|
x |= y
|
x = x | y
|
Operadores
Numéricos: Los operadores aritméticos nos permiten,
básicamente, hacer cualquier operación aritmética, que necesitemos (ejemplo:
suma, resta, multiplicación, etc). En la siguiente tabla se muestran los
operadores de los que disponemos en C y su función asociada.
|
Operadores de Comparación: Al igual que
en matemáticas, estos operadores nos permitirán evaluar las relaciones
(igualdad, mayor, menor, etc) entre un par de operados (en principio, pensemos
en números). Los operadores relacionales de los que disponemos en C son:
Operador
|
Acción
|
>
|
Mayor que
|
>=
|
Mayor o igual que
|
<
|
Menor que
|
<=
|
Menor o igual que
|
==
|
Igual
|
!=
|
Distinto
|
El resultado de
cualquier evaluación de este tipo, es un valor ``cierto'' (true) o
``falso'' (false). La mayoría de lenguajes tienen algún tipo predefinido
para representar estos valores (boolean, bool, etc); sin embargo en C, se
utilizan valores enteros para representar esto:
falso (false)
|
0
|
cierto (true)
|
cualquier valor
distinto de 0, aunque normalmente se usará el 1
|
Operadores lógicos: Como operadores
lógicos designamos a aquellos operadores que nos permiten ``conectar'' un par
de propiedades (al igual que en lógica):
Numero = 2701; if ( Es Primo(numero) && (numero > 1000) ){ /*
Ejecutaremos este código si numero */ /* es primo y número es mayor que 100 */
}
Operador
|
Acción
|
&&
|
Conjunción
(Y)
|
||
|
Disyunción
(O)
|
!
|
Negación
|
Tabla: Operadores
lógicos.
|
Los operadores lógicos de los que disponemos en C son los siguientes:
Al igual que con la igualdad hay que tener especial cuidado con los
operadores && y
, ya que si ponemos sólamente un & o
un , nos estamos refiriendo a un ``and'' o un ``or'' a
nivel de bit, por lo que el código puede que no haga lo que queremos (o que
algunas veces lo haga y otras veces no).
Operadores a nivel
de bit (bitwise operators): En
determinadas ocasiones nos puede interesar manipular datos a nivel de bit; por
ejemplo activar o desactivar flags. Un flag es una
``variable'' que puede tomar 2 valores, por lo que se suele representar con un
bit. Debido a que en C (y en la mayoría de lenguajes de programación) no
existen tipos predefinidos de un bit, lo que se suele hacer es agrupar
varios flags en una variable de tipo entero (``short int'',
``int'' o lo que queramos).
Para acceder a estos flags o simplemente para activarlos es necesario
utilizar operadores a nivel de bit. Veámoslo en un ejemplo.
La llamada al sistema ``open'' (en POSIX) necesita
que se le especifique que hacer con el fichero a abrir: crearlo si no existe,
sobreescribirlo si existe, no sobreescribirlo, etc.
int open(const char *path, int flags); //Donde: // path --> indica el
path de donde se encuentra el fichero // flags --> indica lo que queremos
hacer con el fichero ... // //Flags puede ser: // O_CREAT Si el fichero no
existe, será creado. // O_EXCL Cuando se combina con O_CREAT, se considerará un
// error que el fichero ya exista. // O_TRUNC Si el fichero ya existe, será
truncado. // O_APPEND El fichero se abrirá en modo de sólo-añadir. //
O_NONBLOCK El fichero se abre en modo no bloqueante. // ...
Si queremos abrir el fichero ``/tmp/tutorial_c.txt'' en modo lectura y
que se pueda escribir al final del mismo pondremos:
int fd; fd = open ("/tmp/tutorial_c.txt", O_CREAT | O_APPEND
); // también lo podríamos hacer "a pelo": // open
("/tmp/tutorial_c.txt", 0x440) write(fd, "Hola mundo...n",
14); close (fd);
Aunque normalmente no se suelen utilizar, es bueno conocer como actúan
estos operadores y de cuales disponemos.
|
A continuación describiremos cada uno de estos
operadores brevemente.
DEFINICIÓN: El
operador AND (&): El operador
AND compara dos bits; si los dos son 1 el resultado es 1, en otro caso el
resultado será 0.
Operadores de cadena de caracteres:
Además de los operadores de comparación, que pueden ser usado para
evaluar strings, el operador de concatenación (+) une dos valores string,
devolviendo otro string que es la unión de estos. Por ejemplo,
"Mi" + "String" devuelve un único string "Mi
string".
La versión acortada de este operador de asignación
+= puede ser usado también para concatenar string. Por ejemplo, si una
variable myString tiene el
valor "alpha", el resultado de aplicar la operacion myString
+= "bet" asigna el string "alphabet" a esta
variable.
Operadores
especiales
JavaScript provides the following special operators:
En JavaScript
provee los siguientes operadores especiales:
o
Conditional operator
Las Expresiones
Definición de una
expresión: En programación una
expresión es una combinación de constantes, variables o funciones, que es
interpretada de acuerdo a las normas particulares de precedencia y asociación
para un lenguaje de programación en particular. Como en matemáticas, la
expresión en su valor evaluado, es decir, la expresión es una representación de
ese valor.
Tipo de Expresiones.
·
Expresión aritmética: 3+2*+1,……
·
Expresión Lógica: XOR y, NOTx,…
·
Expresión con Predicados: P(a) AND Q(b),….
Expresión aritmética: En informática y
lenguajes de programación, se entiende por expresión aritmética a aquella donde
los “operadores2 que intervienen en ella son numéricos, el resultado es un
“numero” y los operadores son aritméticos.
Los operadores aritméticos más comúnmente
utilizados son:
El signo (+) más para sumar.
El signo (-) menos para restar.
El signo (*) asterisco para multiplicar.
El signo (/) para dividir.
El signo (%) para obtener el resto de una división
entera.
Estos símbolos se les conocen como operadores
binarios, pues pueden operar sobre dos valores o variables.
La lista siguiente son ejemplos de expresiones
aritméticas.
Resultado= x-y:
Total= Capital+ interés;
Cuadrado= x*x;
Celsius= (Fahrenheit-32)/1.8
Hay que comprender para el signo igual (=) en las
expresiones anteriores se le conoce como “operador de asignación”. Asigna el
valor de la derecha de dicho signo igual a la variable de la izquierda.
En la última expresión, se utiliza “paréntesis” ()
para realizar primero cierta operación.
Expresión Lógica: una expresión lógica
únicamente puede tomar dos valores que son:
.True .ó .False.
Este tipo de expresiones permiten crear
“estructuras de control” dentro del programa FORTRAN que dependiendo de los
valores obtenidos por la expresión se bifurcan y recorren caminos alternativos.
A la hora de construir una expresión lógica FORTRAN cuenta con una serie de operadores
lógicos que se aplican siempre entre dos elementos del mismo tipo, bien
numéricos o bien tipo carácter. Una vez construida la expresión esta únicamente
puede tomar dos valores cierto o falso.
Expresión con
Predicados: La lógica de primera orden, también llamada lógica
de predicados o cálculo de predicados, es un “sistema formal” diseñado para
estudiar la “inferencia” en los lenguajes de primer orden son a su vez,
“lenguajes formales” con “cuantificadores” que alcanzan sólo a “variables” de
individuos, y con predicados y funciones
cuyos argumentos son sólo contantes o variables de individuos.
La lógica de primer orden tiene el poder expresivo
suficiente para definir a prácticamente todas las matemáticas.
Evaluación de
Expresiones
En Resumen.
¿Qué
son expresiones?
*Son el método
fundamental que tiene el programador de expresar computaciones.
*Las expresiones están
compuestas de operadores, operados, paréntesis y llamada a funciones.
Los operadores pueden ser:
Unarios: cuando tan solo
tienen un operado son operadores prefijos.
Binarios: 2 operados. Son
operadores infijos.
Ternarios: 3 operados.
Orden de evaluación de los operadores.
El orden en que se evalúan los operados
viene dado por una regla:
*Reglas de procedencia
*Reglas de asociatividad
*Uso de paréntesis.
Toda expresión regresa a su valor. Si hay más de un
operador, se evalúan primero operadores mayor precedencia, en caso de empate,
se aplica regla de asociatividad.
Para evaluar
una expresión no hay que hacer nada del otro mundo, pues es bien sencillo. Solo
hay que saber sumar, restar, si un número es mayor que otro.
Jerarquía en
ejecución 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 podemos seguir las siguientes tres reglas
de evaluación de expresiones:
(Regla 1) En todas las
expresiones se evalúan primero las expresiones de los paréntesis más anidados
(interiores uno a otro); y éstos modifican la prioridad según las 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.
(Regla 3) Todas las
expresiones se evalúan de izquierda a derecha.
Los Identificadores.
Los identificadores (IDs) son Símbolos Léxicos que nombran entidades. El concepto es análogo al
de “nombres de procesamiento de la información”. Nombrar las entidades hace
posible referirse a las mismas, lo cual es esencial para cualquier tipo de
procesamiento simbólico.
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 constates, 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
puede utilizarse para referirse a otro 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 carácter) 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 mas que
identificadores textuales (estas direcciones de memoria un 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.
En resumen.
Variable: lo que manejamos es un identificador,
un identificador es un nombre.
Reglas de la
Escritura.
1) Tiene que ser corto.
2) No puede contener
espacios.
2.1) Suma_Decimales.
2.2) SumaDecimales.
3) Respectar Mayúscula y
Minúscula.
4) Evitar usar
Mayúsculas.
5) Debe reflejar el
contexto en el que se usa.
Son distintos por la mayuscula. Ident=ident
LAS VARIABLES
CLASIFICACIÓN DE LAS
VARIABLES:
Por su Contenido
|
Numéricas.
|
Alfanuméricas.
|
|
Lógicas.
|
Por
su Uso
|
Contador
|
A=A+1; suma de 1 en 1 y guarda ese valor en sí mismo.
|
Acumulador
|
I=I+b; suma el valor de x proceso más su propio valor.
|
|
De
Trabajo
|
Suma=1+2; son las variables que usamos en cualquier proceso.
|
|
Auxiliares
|
Aux=suma; copian el valor de otra variable.
|
|
Constante
|
Valor=10;
|
Por su Contenido
Variables
Numéricas: Son aquellas en las cuales se almacenan valores numéricos,
positivos o negativos, es decir almacenan números del 0 al 9, signos (+ y -) y
el punto decimal. Ejemplo: IVA=0,15 pi= 3,1416 costo 2500.
Variables
Alfanuméricas: Esta formada por caracteres alfanuméricos (letras,
números y caracteres especiales). Ejemplo: letra a apellido = López dirección =
Av. Libertad#190.
Variables Lógicas:
Son aquellas que solo pueden tener dos valores (cierto o Falso) estos
representan el resultado de una comparación entre otros datos.
Por su Uso
Variables Contadores:
se utilizan para llevar el control del número de ocasiones en que se realiza
una operación o se cumple una condición. Con los incrementos generalmente de
uno en uno.
Variables
Acumuladores: Forma que toma una variable y que sirve para llevar la
suma acumulativa de una serie de valores que se van leyendo o calculando
progresivamente.
Variables de
Trabajo: Variables que reciben el resultado de una operación matemática
completa y que se usa normalmente dentro de un programa. Ejemplo suma= a+b/c.
Variables
Auxiliares: Son las variables que copian, reciben e intercambian datos
por método auxiliar. Ejemplo suponiendo que las variables se llaman A y B, si A
contiene 3 y B contiene 5, después del intercambio A contendrá 5 y B 3. Las
instrucciones a realizar son: AUX=A; /A=B; / B=AUX;
Variables Constantes:
Son aquellas de datos cuyo valor no se puede cambiar durante la ejecución del
programa. Recibe un valor en el momento de la compilación y éste permanece
inalterado durante todo el programa. Ejemplo Valor=10;
No hay comentarios:
Publicar un comentario