Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Programacion GR7
Profesor:
Integrantes:
Resumen
TIPOS DE DATOS
1. Carcter.
Un dato de tipo carcter (char en lenguaje C) es aquel que puede tomar por valor
un carcter perteneciente al conjunto de los caracteres que puede representar el
ordenador.
En lenguaje C, el valor de un dato de tipo carcter se debe representar entre
comillas simples (').
1.1.
Caractersticas:
26
25
1
64
24
1
32
23
22
16
21
20
1
4
1
2
127
Positivo
Negativo
ASCII SENCILLO: cuando se usa hasta el sptimo bit, 27, almacena 127
caracteres.
Ejemplos:
2. Enteros
Es un tipo de dato que puede representar un subconjunto finito de los nmeros
enteros. El nmero mayor que puede representar depende del tamao del espacio
usado por el dato y la posibilidad (o no) de representar nmeros negativos.
Los tipos de dato entero disponibles y su tamao dependen del lenguaje de
programacin usado as como la arquitectura en cuestin.
Por ejemplo, si para almacenar un nmero entero disponemos de 4 bytes de
memoria tememos que:
4 Bytes = 4x8 = 32 bits
Con 32 bits se pueden representar 232=4294967296 valores:
Slo positivos (enteros sin signo): del 0 al 4294967295
Positivos y negativos (enteros con signo): del -2147483648 al 2147483647
Esta informacin la encontramos ms detallada en la siguiente tabla:
Declaracin
Rango de presentacin
Tamao
en bytes
Especificador de
formato
Char
-128 a 127
%hhd
-327768 a 32767
%hd
Int
-2147483648 a 214748367
%d
-9223372036854775808 a
9223372036854775807
%ld
Unsigned char
0 a 255
%hhu
0 a 65535
%hu
Unsigned int (o
unsigned)
0 a 4294967295
%u
0a 18446744073709551615
%lu
3. Real
El tipo de dato real es un tipo de dato en programas informticos que representa la
aproximacin de un nmero real.
Al igual que los nmeros enteros, el tipo real est limitado superior e inferiormente
segn la cantidad de memoria que haya disponible para almacenarlo.
Otro elemento importante a tener en cuenta en este tipo de datos es la precisin con
que se pueden representar nmeros con decimales, cuantos decimales se pueden
representar. Esta caracterstica tambin est directamente relacionada con la
cantidad de memoria disponible para almacenar un valor real.
Al igual que con los otros tipos de datos, se puedes realizar las tpicas operaciones
aritmticas: suma, resta, multiplicacin, divisin.
Tipo
elemental
Declaracin
Rango de
representacin
Tamao
en bytes
Especificador
de formato
Float
+,- 1.1754945*10-30
%f (decimal)
+,- 3.4028232*10+30
Double
DECIMAL
+,- 2.225*10-308
%e (cientfica)
8
+,-1.798*10-308
Long double
+,- 8.410-4937
+,-5.9*10+4937
%lf (decimal)
%le (cientfica)
16
%Lf (decimal)
%Le
(cientfica)
4. Tipos de conversiones
Dado que a C# se le asignan tipos estticos en tiempo de compilacin, despus de
declarar una variable, no se puede volver a declarar ni tampoco utilizar para
almacenar valores de otro tipo, a menos que dicho tipo pueda convertirse en el tipo
de la variable. Por ejemplo, no existe conversin de un entero a una cadena
arbitraria cualquiera. Por lo tanto, despus de declarar i como entero, no puede
asignarle la cadena "Hello", como se muestra en el cdigo siguiente.
int i;
i = "Hello"; // Error: "Cannot implicitly convert type 'string' to 'int'"
Sin embargo, en ocasiones puede que sea necesario copiar un valor en un
parmetro de mtodo o variable de otro tipo. Por ejemplo, puede que tenga una
variable de tipo entero que deba pasar a un mtodo cuyo parmetro es de tipo
double. Estos tipos de operaciones se denominan conversiones de tipos. En C#,
puede realizar los siguientes tipos de conversiones:
sbyte
byte
short
ushort
int
uint
long
char
float
Double
ulong
Comentarios
Las conversiones de int, uint o long a float y de long a double pueden
causar una prdida de precisin, pero no una prdida de magnitud.
No existen conversiones implcitas al tipo char.
De
Para
sbyte
byte
Sbyte o char
short
ushort
int
uint
long
ulong
char
float
sbyte, byte, short, ushort, int, uint, long, ulong, charo decimal
double sbyte, byte, short, ushort, int, uint, long, ulong, char, floato decimal
decimal sbyte, byte, short, ushort, int, uint, long, ulong, char, float o double
Comentarios
Las conversiones numricas explcitas pueden producir prdida de precisin
o provocar excepciones.
Cuando se convierte un valor decimal en un tipo integral, este valor se
redondea hacia cero al valor entero ms prximo. Si el valor entero
resultante queda fuera del intervalo del tipo de destino, se produce una
excepcin OverflowException.
Ejemplos:
EJERCICIO 1
1) Pida por teclado dos nmeros (datos enteros).
2) Calcule la suma y multiplicacin de ambos nmeros.
3) Muestre por pantalla:
"La suma es mayor.", en caso de que sea mayor que la multiplicacin de ambos nmeros.
"La multpilicacin es mayor.", en caso de que sea mayor que la suma de ambos nmeros.
#include <stdio.h>
int main()
{
int a, b, suma, multiplicacion;
printf( "Introduzca primer numero (entero): " );
scanf( "%d", &a );
printf( "Introduzca segundo numero (entero): " );
scanf( "%d", &b );
suma = a + b;
multiplicacion = a * b;
if ( suma > multiplicacion )
printf( "La suma es mayor." );
else
/* Inicio del anidamiento */
if ( multiplicacion > suma )
printf( "La multiplicacion es mayor." );
else
printf( "La suma y multiplicacion son iguales." );
/* Fin del anidamiento */
return 0;
EJERCICIO 2
1) Pida por teclado dos nmeros (datos enteros).
2) Muestre por pantalla el resultado de realizar la divisin entera del primer nmero introducido por el
usuario entre el segundo, y el resto.
#include <stdio.h>
int main()
{
int dividendo, divisor, cociente, resto;
printf( "Introduzca dividendo (entero): " );
scanf( "%d", ÷ndo );
printf( "Introduzca divisor (entero): " );
scanf( "%d", &divisor );
cociente = dividendo / divisor;
resto = dividendo % divisor;
printf( "%d div %d = %d ( Resto = %d )",
dividendo, divisor, cociente, resto );
return 0;
}
EJERCICIO 3
1
Ingrese por teclado una variable de tipo int, realizar un cast para que se muestre un float, un
double y un char en un printf.
#include <stdio.h>
int main()
{
int a;
printf(Ingrese un valor numerico: \t)
scanf(%d,&a)
//Ejemplo cast de a en printf
printf("\n a:%d \n *(float)a:%.3f \n (char)a: %c\n\n\n", a,(float)a,
(double)a,(char)a);
return 0;
}
EJERCICIO 4
1
Crear un programa que lea 2 datos ingresados, un float y un char, y realizar el cast de cada una,
dando como resultado un int, un doubl y un char.
#include <stdio.h>
int main()
{
float b;
char c;
int a;
printf(Ingrese un valor numrico decimal y un carcter alfabetico: #.#letra\t)
scanf(%f-%c,&b,&c)
EJERCICIO 5
1 Realize un programa, que lea 2 valores numericos ingresados por teclado y que
muestre el resultado como un float, en el caso de que no sea un division exacta
#include <stdio.h>
int main()
{
float x;
int a, b;
printf(Ingrese dos valores numricos: (numero-numero) \t) ;
scanf(%d-%d,&a,&b);
x=a/ (float)b;
Bibliografas
https://es.wikipedia.org/wiki/Tipo_de_dato_real
https://es.wikipedia.org/wiki/Entero_(tipo_de_dato)
http://www.carlospes.com/ejercicios_de_lenguaje_c/entrada_y_salida_estandar_002.php
http://programacionnerd.blogspot.com/2012/05/c-conversiones-de-tipo-casting-en-c.html