Академический Документы
Профессиональный Документы
Культура Документы
Programación 1 (03)
Unidad IV: Introducción al
d d d ó l
lenguaje de programación C
Prof. Flor Narciso
Departamento de Computación
Escuela de Ingeniería de Sistemas
Facultad de Ingeniería
Universidad de Los Andes
Conceptos Básicos: Dato
Dato Representación simbólica (numérica, alfabética, etc.), atributo o
Dato:
característica de una entidad
característica de una entidad
1
18/11/2008
Conceptos Básicos: Valor
Valor
valor ≅ elemento perteneciente a un conjunto
conjunto ≅ tipo de dato
• Todos los valores del conjunto deben cumplir la misma
propiedad, y el conjunto define el tipo de operaciones
que se pueden aplicar sobre sus valores
Ejemplo:
3 ∈ A: El valor 3 es un elemento perteneciente al
conjunto A = {0, 1, 2, 3, 4, ...}
Conceptos Básicos: Variable
Variable
Elemento de la memoria principal que sirve para
almacenar un valor, referenciada por un nombre
(identificador), y perteneciente a un tipo de dato
Puede almacenar un valor distinto en cada instante de
tiempo
Espacio en memoria
2
18/11/2008
Conceptos Básicos: Memoria
Memoria principal
Memoria principal
• Lugar donde se almacenan los valores
Conceptos Básicos: Memoria
variable
a=2 Memoria principal
…….
0000000000000100
Localidad Valor
de la variable 2 de la
0000000000000101
a (dirección variable
de memoria) 0000000000000110 a
0000000000000111
……
3
18/11/2008
Conceptos Básicos: Memoria
variable
b=7 Memoria principal
…….
0000000000000100
2
0000000000000101
Localidad Valor
de la variable 7
0000000000000110 d lla
de
b (dirección variable
de memoria) 0000000000000111 b
……
Conceptos Básicos: Memoria
variable
numero = 10 Memoria principal
…….
0000000000000100
2
0000000000000101
7
0000000000000110
Localidad Valor
de la variable 10
0000000000000111 de la
numero variable
(dirección …… numero
de memoria)
Prof. Flor Narciso Programación 1
Semestre B-2008
8
4
18/11/2008
Conceptos Básicos: Memoria
variable
numero = -2
2 Memoria principal
…….
-8
0000000000000100
2
0000000000000101
7
0000000000000110
Localidad Valor
de la variable 10 -2
0000000000000111 de la
numero variable
(dirección …… numero
de memoria)
Prof. Flor Narciso Programación 1
Semestre B-2008
9
Conceptos Básicos: Tipo de dato
Tipo de dato
• Conjunto de valores, denominado dominio, sobre el cual se
pueden realizar un conjunto de operaciones
• Toda variable debe estar asociada a un tipo de dato,
responsable de indicar el dominio de valores válidos
5
18/11/2008
Conceptos Básicos: Tipo de dato
Tipo de dato
Puede clasificarse como escalar o estructurado
Ê Escalar o simple: Aquel cuyo dominio presenta una
propiedad de orden (entero, real, carácter, lógico)
Ejemplos:
– Un día es un dato simple: dia = 11
U dí d t i l di 11
– Una letra es un dato simple: letra =‘Z’
Conceptos Básicos: Tipo de dato
Tipo de dato
Ê Estructurado
Estructurado o compuesto: Aquel que se define mediante
o compuesto: Aquel que se define mediante
composición de tipos de datos (vector, cadena de caracteres,
matriz, registro)
Ejemplo
El tipo de dato hora podría estar representado por los atributos HORA,
MIN y SEG (tres datos simples), siendo los tres de tipo entero
Las operaciones aplicables sobre el tipo de dato fecha podrían ser:
Ê Mostrar hora
Ê Incrementar hora
Ê Incrementar minutos
Ê Incrementar segundos
6
18/11/2008
Conceptos Básicos: Tipo de dato
Tipo de dato estructurado
Ejemplo
Tipos de datos en C
7
18/11/2008
Tipos de datos simples en C
Tipo entero
Z = { …, ‐3, ‐2, ‐1, 0, 1, 2, 3, … }
Dependiendo del número de bits empleado
en cada computadora (n), los dominios del
tipo de dato entero varían
a) –2 (n – 1), ..., 0, ..., 2 (n – 1) – 1 enteros positivos y negativos
Si n = 16
–2 (16 – 1), ..., 0, ..., 2 (16 – 1) – 1= –2 (15), ..., 0, ..., 2 (15) – 1
= 32768
= ‐32768, …, 0, …, 32767
0 32767
b) 0, ..., 2n – 1 enteros positivos
Si n = 16
0, ..., 216 – 1 = 0, ..., 65535
edad = 29
anio = 1988
Prof. Flor Narciso Programación 1
Semestre B-2008
15
Tipos de datos simples en C
Tipo entero
Tipo entero
Tipo Nro. Bits Dominio
int 16 -32768 a 32767
unsigned int 16 0 a 65535
signed int 16 -32768 a 32767
short int 16 -32768 a 32767
unsigned short int 16 0 a 65535
signed short int 16 -32768 a 32767
long int : 32 -2147483648 a 2147483647
signed long int 32 -2147483648 a 2147483647
unsigned long int 32 0 a 4294967295
8
18/11/2008
Tipos de datos simples en C
Tipo real
Subconjunto de los números reales (R) limitado no sólo en
el tamaño, sino también en cuanto a la precisión (que
depende de la computadora)
Se conocen como números de punto flotante cuya
representación consta de una mantisa (parte fraccional), de
una base y de un exponente (potencia a la cual se eleva la
una base y de un exponente (potencia a la cual se eleva la
base)
Tipos de datos simples en C
Tipo real
p
Para el número 0.437875x103 se tiene:
mantisa = 0.437875
base = 10
exponente = 3
Ejemplos
0.08 3739.41 ‐3.7452 52.3244 ‐8.12 3.0
9
18/11/2008
Tipos de datos simples en C
Ti
Tipo real
l
Tipo Nro. Dominio Presición
Bits
float 32 1.17x10-38 a 3.4x10-8 6 dígitos decimales
double 64 2.22x10-308 a 1.79x10308 10 dígitos decimales
Tipos de datos simples en C
Tipo carácter
p
Conjunto finito y ordenado de los caracteres que la computadora
reconoce (letra, dígito, signo de puntuación, etc.)
Un carácter es almacenado en un byte usando el código de 8 bits
ASCII (American Standard Code for Information Interchange), lo
que da la posibilidad de representar
28 = 256 caracteres diferentes
• Se escriben entre comillas simples: ‘a’, ‘1’, ‘%’, ‘;’
10
18/11/2008
21
Tipos de datos simples en C
Tipo carácter
Tipo Nro. Dominio
Bits
signed char 8 -128 a 127
unsigned char 8 0 a 255
respuestaCorrectaPreg3 = ‘c’
11
18/11/2008
Tipos de datos simples en C
Tipo lógico
EEs aquel que puede tomar por valor solo uno de los dos siguientes
l d l l d l d i i
{cierto, falso}
• Un dato de tipo lógico siempre está asociado a
algo que se cumpla o no se cumpla
Ejemplo: El estado del tiempo (asociando cierto a
que esté lloviendo y falso a que no esté lloviendo)
é ll i d f l é ll i d )
Estado = falso (indica que no está lloviendo)
Tipos de datos simples en C: Ejercicios
• Clasifique los siguientes datos en simples y compuestos
– El número de botones de una camisa
– La altura de un edificio
– Los datos de una cuenta bancaria
– El número de pasajeros de un avión
– El resultado de hacer una apuesta (ganar o perder)
– La capital de Francia
– La letra ‘b’ escrita en mayúscula
12
18/11/2008
Declaración de variables
Declaración de variables
tipo_de_dato lista_de_variables;
Ejemplos
int dia, mes, anio;
double a, b, c;
int edad;
long int C, distancia;
unsigned int A = 347; //* Inicializacion de variable al
momento de la declaracion */
unsigned long int B = 294967295;
char letra = ‘a’;
int x = y = z = 0;
13
18/11/2008
Ámbito y vida de las variables
• Lugar, dentro de un programa, en el que una variable tiene
significado
• Hasta ahora todas nuestras variables han tenido como ámbito
toda la función main
Tipos de variables
Ê Variable local
• Es aquella que está declarada dentro de un bloque delimitado por { }
• Sólo se puede usar dentro del bloque en el que ha sido declarada
Ê Variable global
• Es aquella que está declarada para todo el programa, es decir, fuera de cualquier
bloque o función. Conserva su valor durante la ejecución de todo el programa
14
18/11/2008
Declaración de variables locales:
Ejemplo
#include <stdio.h>
l d d h /*
/* Declaracion de importacion */
l d */
short numero;
int main () {
int i, j = 0, k; /* Declaracion de variables locales */
char car1, car2;
float dividendo, divisor;
int x, y, z;
Conjunto de sentencias/* Cuerpo de la funcion */
return 0;
}
#include <stdio.h>
<stdio h>
int valor; /* Declaracion de variable global */
int main()
{
printf(“Introduzca un numero\n”);
scanf(“%d”, &valor);
printf(“El numero leido es %d\n”,valor);
valor = valor + 1;
return
t 0;
0
}
15
18/11/2008
#include <stdio.h>
int resultado; /* Declaracion de variable global */
int main()
{
int x, y, z; /* Declaracion de variables locales */
printf(“Introduzca tres numeros enteros:\n”);
scanf(“%d %d %d”, x, y, z);
resultado = x * y * z; //* Calcular el producto de los tres
numeros */
printf(“El producto de los tres numeros es %d”, resultado);
return 0;
}
Constantes
Constante
• Valor que no cambia durante la ejecución de un programa
• Puede ser entera, real o carácter
Ejemplos:
enteras: 123, 345, ‐1943, +4567
caracteres: 'c','d','e',’\n’
Prof. Flor Narciso Programación 1
Semestre B-2008
32
16
18/11/2008
Constantes globales
Se
Se utiliza la directiva de preprocesador o de
utiliza la directiva de preprocesador o de
compilación #define
#define identificador valor
Asigna un valor a un identificador
Un proceso previo a la compilación sustituirá el
identificador por el valor en cualquier parte del
identificador por el valor en cualquier parte del
programa donde aparezca el identificador
Constantes globales: Ejemplos
#d fi PI 3 14159
#define PI 3.14159
#define DOS_PI 6.28
#define MAXIMO 256
#define PRIMERALETRA ‘A’
#define CIERTO 1
#define FALSO 0
#d fi ERROR MSG "E
#define ERROR_MSG "Error en la lectura\n”
l l t \ ”
#define MENSAJE "Introduzca su nombre:"
17
18/11/2008
Constantes globales: Ejemplo
#include <stdio.h> /* Declaracion de importacion */
#d fi LONGITUD 32
#define LONGITUD 32 /* D fi i i d
/* Definicion de constante global*/
t t l b l*/
int main ( )
{
int lon1 = LONGITUD, x; /* Declaracion de variables locales */
x = LONGITUD + lon1;
printf(“x = %d”, x);
return 0;
return 0;
}
LONGITUD 32
lon1 32
x 64
Constantes locales
const tipo_de_dato identificador = valor;
int main ( )
{
Declaración de constantes locales /* Opcional */
Declaración de variables locales /* Opcional */
Conjunto de sentencias /* Cuerpo de la funcion */
return 0;
}
Una constante declarada de esta manera tan sólo puede usarse dentro del bloque
en el cual ha sido declarada
18
18/11/2008
Constantes locales: Ejemplos
Constantes: Ejercicios
Definir cada una de las siguientes constantes (consulte las fuentes apropiadas para
los valores que se necesiten)
A) Como globales
A) Como globales
B) Como locales
613 ‐ Número de Avogrado
613.0 ‐ Masa del electrón (en Kg)
‐613 ‐ Diámetro atómico (en cm)
‘6’
“PD‐10”
‐3.012x1015
17x1012
Π
e
19