martes, 19 de abril de 2016

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.
Ejemplo: (40  años)
                                                                            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.

Msj= “Hola mundo”;             
Variable  ------------>    Tipo Carácter

Suma=2+5+25;
Variable ----------------->   Tipo Numérica

Pase= True;
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.
Suma=45+209
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.
           Operador
Ejemplo: 4+5
         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,  ).




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








Tabla: Operadores Numéricos.
Operador
Acción
Ejemplo
-
Resta
x = 5 + 3; // x vale 2
+
Suma
x = 2 - 3; // x vale 5
*
Multiplicación
x = 2 + 3; // x vale 6
/
División
x = 6 / 2; // x vale 3
·/.
Módulo
x = 5 % 2; // x vale 1
--
Decremento
x = 1; x--; // x vale 0
++
Incremento
x = 1; x++; // x vale 2



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.


Tabla 3.5: Operadores a nivel de bit
Operador
Acción
&
AND a nivel de bit.
OR a nivel de bit.
XOR a nivel de bit.
Complemento.
>> 
Desplazamiento a la izquierda.
<< 
Desplazamiento a la derecha.


A continuación describiremos cada uno de estos operadores brevemente.
DEFINICIÓNEl 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