Professional Documents
Culture Documents
REPRESENTACION DE DATOS
Presenta la forma como se representan los datos en
una computadora sustentados en conceptos de matemtica discreta y prueba los mismos utilizando los lenguajes de programacin C y C++.
Tipos de datos
Tipo Entero
Conjunto de los nmeros enteros positivos y negativos En la prctica estn limitados por el almacenamiento -> Overflow Operaciones bsicas: aritmticas, relacionales
Tipo Real
Conjunto de los nmeros reales positivos y negativos (parte entera y parte decimal separada por un punto) En la prctica estn limitados por el almacenamiento -> Overflow Operaciones bsicas: aritmticas, relacionales
Tipos de datos
Conjunto de valores junto con las operaciones sobre
Tipos de datos
Tipo carcter Conjunto de elementos de un conjunto de caracteres predefinidos o alfabeto (normalmente se utiliza el conjunto de caracteres ASCII) Generalmente se almacenan internamente como datos enteros (cdigo ASCII) Operaciones de conversin de enteros a caracteres y viceversa y relacionales Lgicos Valores entre 2 posibles, es decir, valores binarios (verdad/falso, si/no) En algunos lenguajes no se implementan sino que se consideran como verdad cualquier valor distinto de 0 Operaciones: operadores lgicos (AND, OR y NOT) Fundamentales para evaluar condiciones
Clases de Datos
Clase Entero
Representa valores discretos , conocidos generalmente como los int. Los enteros estndar tienen un rango de 32768 a 32767
Clase Entero short int o short int unsigned int long int or long unsigned long Tamao de bytes 1o2 2o4 2o4 4 4
Representacin de Enteros
El tremendo crecimiento de las computadoras se debe
particularmente al hecho de que estos dispositivos fsicos son cada vez ms baratos y se distinguen por que manipulan dos estados a grandes velocidades. De hecho las computadoras son dispositivos que manipulan dos estados (0,1); es decir binario y tambin con representaciones en octal y hexadecimal los que son utilizados para la representacin de datos.
El siguiente programa en C++ calcula la representacin de algunos nmeros en base decimal, octal y hexadecimal para datos de tipo entero.
#include <iostream> #include <conio.h> int x[]={1,-1,256,360,512, 1024}; using namespace std; int main() { int i; for(i=0;i<sizeof(x)/sizeof(int);i++) { cout<<endl<<"En decimal " <<dec<<x[i]; cout<<endl<<"En hexadecimal "<<hex<<x[i]; cout<<endl<<"En octal " <<oct<<x[i]<<endl; } system ("PAUSE"); return 0; }
Clase flotante
Donde entero puede ser un digito decimal o una
secuencia de dgitos
Clase Entero float double long double Tamao de bytes 4 8 10 o 12
enteros no negativos. Esta notacin no soporta enteros negativos ni nmeros de punto flotante El 0 es el nico que est representado en notacin sin signo. C++ posee los siguientes tipos de notacin sin signo en sus programas.
- unsigned char 8 bits
- unsigned short 16 bits - unsigned int (tamao nativo de la mquina) - unsigned long (depende de la mquina)
NOTA: El nmero de bits para cada tipo puede ser dependiente del compilador.
cout<<" RANGO DE LOS ENTEROS SIN SIGNO"<<endl; cout<<endl<<"Entero sin signo maximo "<<UINT_MAX; cout<<endl<<"Entero corto sin signo maximo "<<SHRT_MAX; cout<<endl<<"Entero largo sin signo maximo "<<LONG_MAX; cout<<endl<<"Caracter sin signo maximo "<<UCHAR_MAX; cout<<endl; system("PAUSE"); return 0;
}
representar enteros positivos y negativos. La notacin de magnitud con signo no soporta nmeros en punto flotante. El rango de las magnitudes de notacin con signo es simtrico y el cero es el nico no representado.
REPRESENTACION DE CARACTERES
Los caracteres (letras, dgitos, signos de puntuacin,
etc.) son representados en el sistema de caracteres ASCII , el cual es un conjunto que posee 256 cdigos (0,, 255), donde cada cdigo es 1 byte. Los primeros 128 cdigos ASCII son caracteres de control los cuales fueron de uso comn en las primeras mquinas. Como puede verse, los caracteres ASCII son ordinales y a cada carcter le corresponde un nmero.
Clase caracter
ASCII consta de 256 caracteres (0 255)
Clase caracter char unsigned char Tamao de bytes 1 1 Rango de Valores -128 a 127 0 a 255
Programa que muestra los caracteres alfabticos tanto en maysculas como en minsculas y su correspondiente valor ASCII
#include <iostream> #include <stdlib.h> #include <ctype.h> using namespace std; int main() { char c; cout<<"\nCARACTERES ALFABETICOS EN MAYUSCULAS"<<endl; for (c='A'; c<='Z'; c++) cout<<c<<" = "<< toascii(c)<<"\t"; cout<<endl; cout<<"\nCARACTERES ALFABETICOS EN MINUSCULAS"<<endl; for (c='a'; c<='z'; c++) cout<<c<<" = "<< toascii(c)<<"\t"; cout<<endl<<endl; system("PAUSE"); }
Clase booleana
Todo objeto booleano solo posee uno de los valores:
Clase enum
En C y C++ se pueden definir nuevos datos a partir
Elementos de un algoritmo
Variables, constantes y expresiones
Estructuras de control Secuencial
Condicional Repetitiva
Variables
Una variable es un objeto de datos que posee un valor
conocido por su nombre (identificador) Toda variable tiene un tipo asociado Su valor puede ser modificado pero en un instante dado slo contiene un valor determinado Es necesario declarar las variables al principio del algoritmo
Elegir el nombre mediante un identificador Determinar el tipo de datos que va a contener
Ejemplos
Sueldo: real Edad: entero Letra_nif: caracter
fsicas de memoria interna. a c Toda variable posee: un nombre, un tipo de dato. b 5 10 2 Ejemplo:
int X;
Memoria RAM
Constantes
Objeto de datos que contiene un valor invariable
conocido por su identificador Es necesario inicializar las constantes al principio del algoritmo
Esto determina el tipo de la constante
Identificadores
Un identificador es una secuencia de caracteres que permite identificar de forma nica a cada elemento/objeto de un algoritmo No todos los caracteres son vlidos por lo que normalmente se usan letras, dgitos y subrayado (_) El primer carcter debe ser una letra o subrayado Pueden tener cualquier longitud dentro del lmite que imponga el compilador Las palabras reservadas del lenguaje no pueden utilizarse como identificadores Algunos lenguajes no distinguen entre caracteres en maysculas y minsculas (Pascal, Modula-2) y otros s (C, Java) Reglas para crear identificadores o Usar solo letras, dgitos y subrayado o Usar minsculas para identificadores de variables o Usar maysculas para identificadores de constantes o Para identificadores de funciones con ms de una palabra usar subrayado para separar las palabras o maysculas para la primera letra de cada palabra (Ej. CalcularFechaNacimiento)
Operadores
Clase 2
25
Operadores
+ * / %
7 3 10 2.5 2 1
Clase 2
26
Operadores
Mayor que Mayor o igual que Menor que Menor o igual que <= Igual que diferente de
Clase 2 27
Operadores
Clase 2
28
Operadores
Variable = Expresion Variable: Cualquier nombre de variable Expresion: Cualquier literal numrico o alfanumrico, constante o expresin vlida. Primero se evala Expresion y el resultado se asigna a variable
29
Clase 2
Expresiones
Una EXPRESIN es cualquier combinacin vlida de operandos y operadores. Los operandos pueden ser literales (numricos, alfanumricos, lgicos), constantes, variables, funciones. Las expresiones pueden ser Aritmticas, Relacionales, Lgicas, carcter dependiendo de los operadores que se usan
Clase 2
30
Expresiones Aritmticas
Una expresin aritmtica es una expresin que puede ser evaluada como un nmero Llamada tambin Expresiones numricas Operandos: Literales numricos, Expresiones numricas, funciones numricas Operadores: Aritmticos Resultado: Valor numrico Ejemplo: Si A=2, entonces 5*A+2/A-3 8
31
Clase 2
Expresiones Relacionales
Llamada tambin Expresin de comparacin Operandos: Expresiones numricas alfanumricas Operadores: relacionales Resultado: Valor lgico (booleano) Ejemplo: Si A=2, entonces 5*A > 3
Clase 2
32
Expresiones Lgicas
Operandos: Expresiones relacionales lgicas Operadores: lgicos Resultado: Valor lgico (booleano) Ejemplo: Si A = 2 4*A > -1 And X2 = X && A True True And False Or False False
Clase 2
33
Asociatividad
Izquierda a Derecha Derecha a Izquierda Derecha a Izquierda Izquierda a Derecha Izquierda a Derecha Izquierda a Derecha Izquierda a Derecha Izquierda a Derecha Izquierda a Derecha Izquierda a Derecha Izquierda a Derecha Izquierda a Derecha Derecha a Izquierda