conceptos basicos en lenguaje c

19
18/11/2008 1 Programación 1 (03) dd d ó l Unidad IV: Introducciónal 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 Dato: Representación simbólica (numérica, alfabética, etc.), atributo o característica de una entidad característica de una entidad Ejemplos : cifras de venta de un supermercado, notas de un parcial, número de vuelos Maiquetía-Porlamar, etc.. Tipos básicos de datos: 1) Número (entero, real) 2) Carácter 3) Dirección de memoria (apuntador) 4) Lógico 4) Lógico Prof. Flor Narciso 2 Programación 1 Semestre B-2008

Upload: 19592130

Post on 11-Apr-2015

1.760 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Conceptos basicos en lenguaje c

18/11/2008

1

Programación 1 (03)d d d ó lUnidad IV: Introducción al 

lenguaje de programación C

Prof. Flor NarcisoDepartamento de ComputaciónEscuela de Ingeniería de Sistemas

Facultad de IngenieríaUniversidad de Los Andes

Conceptos Básicos: Dato

DatoDato: Representación simbólica (numérica, alfabética, etc.), atributo o característica de una entidadcaracterística de una entidad

Ejemplos: cifras de venta de un supermercado, notas de un parcial, número de vuelos Maiquetía-Porlamar, etc..

Tipos básicos de datos:

1) Número (entero, real)2) Carácter3) Dirección de memoria (apuntador)4) Lógico4) Lógico

Prof. Flor Narciso 2Programación 1Semestre B-2008

Page 2: Conceptos basicos en lenguaje c

18/11/2008

2

Conceptos Básicos: Valor

Valor

valor ≅ elemento perteneciente a un conjuntoconjunto ≅ 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, ...}

Prof. Flor Narciso 3Programación 1Semestre B-2008

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

Prof. Flor Narciso 4Programación 1Semestre B-2008

Valor

Espacio en memoria

NombreTipo de dato

Page 3: Conceptos basicos en lenguaje c

18/11/2008

3

Conceptos Básicos: Memoria

Memoria principalMemoria principal

• Lugar donde se almacenan los valores

Prof. Flor Narciso 5Programación 1Semestre B-2008

Conceptos Básicos: Memoria

a = 2variable

…….

0000000000000100

00000000000001012

Localidad de la variable a (direcciónde memoria)

Valor de la variable

Memoria principala = 2

Prof. Flor Narciso

0000000000000110

0000000000000111

……

de memoria) a

6Programación 1Semestre B-2008

Page 4: Conceptos basicos en lenguaje c

18/11/2008

4

Conceptos Básicos: Memoria

b = 7variable

…….

0000000000000100

00000000000001012

7Localidad de la variable

Valor d l

Memoria principalb = 7

Prof. Flor Narciso

00000000000001107

0000000000000111

……

de la variable b (direcciónde memoria)

de la variableb

7Programación 1Semestre B-2008

Conceptos Básicos: Memoria

numero = 10variable

…….

0000000000000100

00000000000001012

7

Memoria principalnumero = 10

Prof. Flor Narciso

00000000000001107

000000000000011110

……

Localidad de la variable numero (direcciónde memoria)

Valor de la variablenumero

8Programación 1Semestre B-2008

Page 5: Conceptos basicos en lenguaje c

18/11/2008

5

Conceptos Básicos: Memoria

numero = 2variable

…….

0000000000000100-8

00000000000001012

7

Memoria principalnumero = -2

Prof. Flor Narciso

00000000000001107

000000000000011110 -2

……

9Programación 1Semestre B-2008

Localidad de la variable numero (direcciónde memoria)

Valor de la variablenumero

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

Prof. Flor Narciso 10Programación 1Semestre B-2008

Page 6: Conceptos basicos en lenguaje c

18/11/2008

6

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:

U dí d t i l di 11– Un día es un dato simple: dia = 11

– Una letra es un dato simple: letra =‘Z’

Prof. Flor Narciso 11Programación 1Semestre B-2008

Conceptos Básicos: Tipo de datoTipo de dato

Estructurado o compuesto: Aquel que se define medianteEstructurado 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 horaIncrementar horaIncrementar minutosIncrementar segundos

Prof. Flor Narciso 12Programación 1Semestre B-2008

Page 7: Conceptos basicos en lenguaje c

18/11/2008

7

Conceptos Básicos: Tipo de dato

Tipo de dato estructurado

Ejemplo

Para formar un nombre de persona se utilizan varios caracteres

nombre = “Ana” (dato compuesto por tres caracteres)

caracteres: ‘A’ , ‘n’ , ‘a’

Prof. Flor Narciso 13Programación 1Semestre B-2008

Tipos de datos en C

Prof. Flor Narciso

© 2003 Brooks/Cole - Thomson Learning™© 2003 Brooks/Cole - Thomson Learning™© 2003 Brooks/Cole - Thomson Learning™

14Programación 1Semestre B-2008

Page 8: Conceptos basicos en lenguaje c

18/11/2008

8

Tipos de datos simples en C

Tipo enteroZ = { …, ‐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 negativosSi n = 16–2 (16 – 1), ..., 0, ..., 2 (16 – 1) – 1= –2 (15), ..., 0, ..., 2 (15) – 1= 32768 0 32767=  ‐32768, …, 0, …, 32767

b) 0, ..., 2n – 1 enteros positivosSi n = 160, ..., 216 – 1 = 0, ..., 65535

Prof. Flor Narciso 15Programación 1Semestre B-2008

edad = 29anio = 1988  

Tipos de datos simples en C

Tipo enteroTipo Nro. Bits Dominio

int 16 -32768 a 32767

unsigned int 16 0 a 65535

signed int 16 -32768 a 32767short int 16 -32768 a 32767unsigned short int 16 0 a 65535

Tipo entero

Prof. Flor Narciso

unsigned short int 16 0 a 65535signed short int 16 -32768 a 32767long int 32 -2147483648 a 2147483647signed long int 32 -2147483648 a 2147483647unsigned long int 32 0 a 4294967295

:

16Programación 1Semestre B-2008

Page 9: Conceptos basicos en lenguaje c

18/11/2008

9

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 launa base y de un exponente (potencia a la cual se eleva la base)

Prof. Flor Narciso 17Programación 1Semestre B-2008

Tipos de datos simples en C

Tipo realpPara el número  0.437875x103 se tiene:

mantisa = 0.437875 base = 10exponente = 3

Ejemplos

0.08   3739.41   ‐3.7452   52.3244   ‐8.12   3.0

Prof. Flor Narciso 18Programación 1Semestre B-2008

Page 10: Conceptos basicos en lenguaje c

18/11/2008

10

Tipos de datos simples en C

Ti lTipo Nro.

BitsDominio Presición

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

Tipo real

Prof. Flor Narciso 19Programación 1Semestre B-2008

Tipos de datos simples en C

Tipo carácterp

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 828 = 256 caracteres diferentes

• Se escriben entre comillas simples: ‘a’, ‘1’, ‘%’, ‘;’

Prof. Flor Narciso 20Programación 1Semestre B-2008

Page 11: Conceptos basicos en lenguaje c

18/11/2008

11

21

Tipos de datos simples en C

Tipo carácter

Tipo Nro. Bits

Dominio

signed char 8 -128 a 127

unsigned char 8 0 a 255

En un examen con preguntas en las que hay que seleccionar la respuesta

Prof. Flor Narciso 22Programación 1Semestre B-2008

En un examen con preguntas en las que hay que seleccionar la respuesta correcta entre varias opciones dadas (a, b, c, d, e), la respuesta correcta de cada una de las preguntas es un dato de tipo carácter.

respuestaCorrectaPreg3 = ‘c’

Page 12: Conceptos basicos en lenguaje c

18/11/2008

12

Tipos de datos simples en C

Tipo lógico

E l d l l d l d i iEs aquel que puede tomar por valor solo uno de los dos siguientes{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 é ll i d f l é ll i d )que esté lloviendo y falso a que no esté lloviendo)

Estado = falso (indica que no está lloviendo)

Prof. Flor Narciso 23Programación 1Semestre B-2008

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

Prof. Flor Narciso 24Programación 1Semestre B-2008

Page 13: Conceptos basicos en lenguaje c

18/11/2008

13

En C todas las variables que van a ser usadas en un programa deben ser declaradas antes de ser

d

Declaración de variables

usadas

Objetivos de la declaración de variables:Asociar un tipo de dato y un identificador (o nombre) a

la variable para que el compilador pueda verificar la correctitud de las operaciones en donde interviene la variable

P iti l il d á t i dPermitir que el compilador sepa cuánto espacio de memoria se necesita para almacenar el valor de la variable, y asignar la dirección de memoria donde este valor se va a almacenar

Prof. Flor Narciso 25Programación 1Semestre B-2008

tipo_de_dato lista_de_variables;

Declaración de variables

Ejemplosint dia, mes, anio;double a, b, c;int edad;long int C, distancia;

unsigned int A = 347; /* Inicializacion de variable alunsigned int A = 347; / Inicializacion de variable al momento de la declaracion */

unsigned long int B = 294967295;char letra = ‘a’;int x = y = z = 0;

Prof. Flor Narciso 26Programación 1Semestre B-2008

Page 14: Conceptos basicos en lenguaje c

18/11/2008

14

Ámbito y vida de las variables

• Lugar, dentro de un programa, en el que una variable tiene significadosignificado

• Hasta ahora todas nuestras variables han tenido como ámbito toda la función main

• No todas las variables están “activas” a lo largo de todo un programa

Prof. Flor Narciso 27Programación 1Semestre B-2008

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

Prof. Flor Narciso 28Programación 1Semestre B-2008

Page 15: Conceptos basicos en lenguaje c

18/11/2008

15

Declaración de variables locales: Ejemplo

l d d h /* l d */#include <stdio.h> /* Declaracion de importacion */

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;

}

Prof. Flor Narciso 29Programación 1Semestre B-2008

#include <stdio h>

Declaración de variables globales: Ejemplo

#include <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;

t 0return 0;

}

NOTA: Salvo para la declaración de variables globales, el lenguaje C no admite ninguna otra sentencia fuera de las funciones

Prof. Flor Narciso 30Programación 1Semestre B-2008

Page 16: Conceptos basicos en lenguaje c

18/11/2008

16

#include <stdio.h>

Declaración de variables: Ejemplo

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 tresresultado x y z; / Calcular el producto de los tres

numeros */printf(“El producto de los tres numeros es %d”, resultado);return 0;

}

Prof. Flor Narciso 31Programación 1Semestre B-2008

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 32Programación 1Semestre B-2008

Page 17: Conceptos basicos en lenguaje c

18/11/2008

17

Constantes globales

Se utiliza la directiva de preprocesador o deSe 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 delidentificador por el valor en cualquier parte del programa donde aparezca el identificador

Prof. Flor Narciso 33Programación 1Semestre B-2008

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 l l t \ ”#define ERROR_MSG   "Error en la lectura\n” 

#define MENSAJE "Introduzca su nombre:"

Prof. Flor Narciso 34Programación 1Semestre B-2008

Page 18: Conceptos basicos en lenguaje c

18/11/2008

18

Constantes globales: Ejemplo

#include <stdio.h> /* Declaracion de importacion */

#d fi LONGITUD 32 /* D fi i i d t t l b l*/#define LONGITUD 32 /* Definicion de constante global*/

int main ( ){

int lon1 = LONGITUD, x; /* Declaracion de variables locales */

x = LONGITUD + lon1;printf(“x = %d”, x);return 0;return 0;

}

Prof. Flor Narciso

LONGITUD 32lon1 32

x 64

35Programación 1Semestre B-2008

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

Prof. Flor Narciso 36Programación 1Semestre B-2008

Page 19: Conceptos basicos en lenguaje c

18/11/2008

19

Constantes locales: Ejemplos

int main(){

const float pi;/* Error: pi debe ser inicializada *//* en la declaracion */

pi = 3.14159;/* Error: no se puede modificar *//* el valor de una constante */

#include <stdio.h>

int main(){

const float X = 7.0;

printf(“%f” X);/* el valor de una constante */

return 0;}

printf( %f , X);}

Prof. Flor Narciso 37Programación 1Semestre B-2008

Constantes: EjerciciosDefinir cada una de las siguientes constantes (consulte las fuentes apropiadas para los valores que se necesiten)A) Como globalesA) Como globalesB) Como locales

613 ‐ Número de Avogrado613.0 ‐Masa del electrón (en Kg)‐613 ‐ Diámetro atómico (en cm)‘6’“PD‐10”‐3.012x1015

17x1012

Πe

Prof. Flor Narciso 38Programación 1Semestre B-2008