La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

PROGRAMACIÓN MULTIMEDIA

Presentaciones similares


Presentación del tema: "PROGRAMACIÓN MULTIMEDIA"— Transcripción de la presentación:

1 PROGRAMACIÓN MULTIMEDIA
4-Octubre-2001 PROGRAMACIÓN MULTIMEDIA INTRODUCCIÓN LENGUAJE C - Antes de empezar: Situación no matriculados. - Antes de empezar: Definición de programación multimedia. ©Carlos A. Lázaro Carrascosa.

2 Programación Multimedia
4-Octubre-2001 Características propósito general compilado - nivel medio - estructurado portable pequeño © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N. ©Carlos A. Lázaro Carrascosa.

3 Programación Multimedia
4-Octubre-2001 Estructura declaraciones globales main( ){ variables locales Bloque de sentencias } funcion1( ){ bloque de sentencias © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N. ©Carlos A. Lázaro Carrascosa.

4 Programación Multimedia
4-Octubre-2001 Comentarios /* Este es un ejemplo de comentario */ /* Un comentario también puede estar escrito en varias líneas */ El comentario, contenido entre estos dos símbolos, no será tenido en cuenta por el compilador. © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N. ©Carlos A. Lázaro Carrascosa.

5 Programación Multimedia
4-Octubre-2001 Palabras reservadas char int float double if else do while for switch short long extern static default continue break register sizeof typedef (no se pueden usar como identificadores) © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N. ©Carlos A. Lázaro Carrascosa.

6 Programación Multimedia
4-Octubre-2001 Identificadores Nombres que damos a funciones y variables Secuencia de letras y dígitos (admite subrayado) No admite acentos ni eñes No pueden empezar por número Distinguen mayúsculas de minúsculas © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N. ©Carlos A. Lázaro Carrascosa.

7 Programación Multimedia
4-Octubre-2001 Tipos básicos TIPO Tamaño Rango de valores char byte a 127 int bytes a 32767 float bytes '4 E-38 a 3'4 E+38 double bytes '7 E-308 a 1'7 E+308 Actividades del laboratorio. (Tratamiento de la señal, reconocimiento de voz) - IVORY -ALAS -HISPAVOZ © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N. ©Carlos A. Lázaro Carrascosa.

8 Programación Multimedia
4-Octubre-2001 Cualificadores signed (por defecto) signed char, signed int unsigned unsigned char, unsigned int short (por defecto) short char, short int long long int (4 bytes), long double (10 bytes) Se pueden combinar: signed long int = signed long = long unsigned long int = unsigned long © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N. ©Carlos A. Lázaro Carrascosa.

9 Programación Multimedia
4-Octubre-2001 Variables Tipos de datos referenciados por un identificador Su contenido puede ser modificado en el programa Sólo pueden pertenecer a un tipo Para utilizarla tiene que ser declarada antes Es posible declarar e inicializar variables del mismo tipo en la misma sentencia: int num1=4,num2,num3=6; © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N. ©Carlos A. Lázaro Carrascosa.

10 Programación Multimedia
4-Octubre-2001 Tipos de variables Globales: Se declaran antes de la función main(). Pueden ser utilizadas en cualquier parte del programa y se destruyen al finalizar éste. Locales: Se declaran dentro de la función en la que vayan a ser utilizadas. Sólo existe dentro de esta función y se destruyenal finalizar ésta. © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N. ©Carlos A. Lázaro Carrascosa.

11 Programación Multimedia
4-Octubre-2001 Constantes - Mantienen su valor a lo largo de todo el programa Para idicar la compilador que es una constante usaremos la directiva #define #include <stdio.h> #define pi #define escribe printf main() { /* Calcula el perímetro */ int r; escribe("Introduce el radio: "); scanf("%d",&r); escribe("El perímetro es: %f",2*pi*r); } © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N. ©Carlos A. Lázaro Carrascosa.

12 Programación Multimedia
4-Octubre-2001 Secuencias de escape \n salto de línea \b retroceso \t tabulación horizontal \v tabulación vertical \\ contrabarra \f salto de página \' apóstrofe \" comillas dobles \0 fin de una cadena de caracteres © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N. ©Carlos A. Lázaro Carrascosa.

13 Programación Multimedia
4-Octubre-2001 Operadores aritméticos Binarios (infijos): + Suma - Resta * Multiplicación / División % Módulo (resto) Unarios (prefijos y postfijos): ++ Incremento (suma 1) - - Decremento (resta 1) - Cambio de signo © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N. ©Carlos A. Lázaro Carrascosa.

14 Programación Multimedia
4-Octubre-2001 Operadores de asignación = Asignación simple += Suma -= Resta *= Multiplicación /= División %= Módulo (resto) n=n+3 se puede escribir n+=3 k=k*(x-2) lo podemos sustituir por k*=x-2 © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N. ©Carlos A. Lázaro Carrascosa.

15 Programación Multimedia
4-Octubre-2001 Precedencia de operadores aritméticos Mayor precedencia ( ),++,- - *, /, % +, - Menor precendencia A igual precedencia: de izquierda a derecha © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N. ©Carlos A. Lázaro Carrascosa.

16 Programación Multimedia
4-Octubre-2001 Operadores relacionales > Mayor que < Menor que >= Mayor o igual que <= Menor o igual que == Igual que != Distinto que - Devuelven 1 para verdadero y 0 para falso - Se evalúan de izquierda a derecha - == y != tienen menos precedencia que el resto © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N. ©Carlos A. Lázaro Carrascosa.

17 Programación Multimedia
4-Octubre-2001 Operadores lógicos && AND || OR ! NOT (El valor contrario) © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N. ©Carlos A. Lázaro Carrascosa.

18 Programación Multimedia
4-Octubre-2001 Sentencias condicionales: if else if (condición) sentencia; if (condición) sentencia1; else sentencia2; -  La sentencia puede ser a su vez del tipo if else  -  Existe la posibilidad de utilizar llaves para ejecutar más de una sentencia dentro de la misma condición. © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N. ©Carlos A. Lázaro Carrascosa.

19 Programación Multimedia
4-Octubre-2001 Sentencias condicionales: switch switch (variable){ case contenido_variable1: sentencias; break; case contenido_variable2: default: sentencias; } - Cada case puede incluir una o más sentencias sin necesidad de ir entre llaves, ya que se ejecutan todas hasta que se encuentra la sentencia BREAK. La variable evaluada sólo puede ser de tipo entero o caracter. default ejecutará las sentencias que incluya, en caso de que la opción escogida no exista. © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N. ©Carlos A. Lázaro Carrascosa.

20 Programación Multimedia
4-Octubre-2001 Bucles while while (condición) sentencia; do while do{ sentencia1; sentencia2; } while (condición); for for (inicialización;condición;incremento){ sentencia1; sentencia2; } break continue goto © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N. ©Carlos A. Lázaro Carrascosa.

21 Programación Multimedia
4-Octubre-2001 Funciones - bloques de código utilizados para dividir un programa en partes más pequeñas, cada una de las cuáles tendrá una tarea determinada. tipo_función nombre_función (tipo y nombre de argumentos) { bloque de sentencias } - Las funciones pueden ser llamadas desde la función main o desde otras funciones. Nunca se debe llamar a la función main desde otro lugar del programa. Los argumentos de la función y sus variables locales se destruirán al finalizar la ejecución de la misma. © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N. ©Carlos A. Lázaro Carrascosa.

22 Programación Multimedia
4-Octubre-2001 Funciones (2) pueden devolver un valor: return(valor o expresión) el valor devuelto debe asignarse a una variable variables locales del mismo nombre prevalecerán sobre globales se deben declarar (prototipos). O antes del main, o en otro fichero (#include) © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N. ©Carlos A. Lázaro Carrascosa.

23 Programación Multimedia
4-Octubre-2001 Funciones (y 3) - Paso de parámetros por valor. Trabajamos con una copia. No se pueden mandar arrays por valor. - Paso de parámetros por referencia. Enviamos la dirección de memoria. Trabajamos con el original. © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N. ©Carlos A. Lázaro Carrascosa.

24 Programación Multimedia
4-Octubre-2001 Arrays Identificador que referencia un conjunto de datos del mismo tipo, accesibles mediante índices. El índice será un valor entero y positivo. En C los arrays comienzan por la posición 0. tipo nombre [tamaño]; tipo nombre []={ valor 1, valor 2...} tipo nombre [tamaño 1][tamaño 2]...; - los arrays únicamente pueden ser enviados a una función por referencia. Para ello deberemos enviar la dirección de memoria del primer elemento del array. © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N. ©Carlos A. Lázaro Carrascosa.

25 Programación Multimedia
4-Octubre-2001 Punteros tipo *nombre; Existen dos operadores especiales para trabajar con punteros: & y *.  El primero devuelve la dirección de memoria de su operando. Por ejemplo, si queremos guardar en el puntero x la dirección de memoria de la variable num, deberemos hacer lo siguiente: x=&num;   El segundo devuelve el valor de la variable cuya dirección es contenida por el puntero. Este ejemplo sitúa el contenido de la variable apuntada por x, es decir num, en la variable a: a=*x; © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N. ©Carlos A. Lázaro Carrascosa.

26 Programación Multimedia
4-Octubre-2001 Estructuras struct tipo_estructura { tipo_variable nombre_variable1; tipo_variable nombre_variable2; tipo_variable nombre_variable3; }; struct tipoestructura fijo Para poder declarar una variable, la estructura tiene que estar declarada antes. (y antes del main) Acceso a los campos: variable.campo permiten pasar el contenido de una estructura a otra, siempre que sean del mismo tipo       struct trabajador fijo={"Pedro","Hernández Suárez", 32, "gerente"}; struct notas alumno={"Carlos Pérez",{8,7,9,6,10}}; © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N. ©Carlos A. Lázaro Carrascosa.

27 Programación Multimedia
4-Octubre-2001 Ficheros Apertura: FILE *pf; pf=fopen("datos.txt","r"); if (pf == NULL) printf("Error al abrir el fichero"); Cierre: fclose(puntero); Lectura/Escritura fwrite( *buffer, tamaño, nº de veces, puntero_fichero ); fread( *buffer, tamaño, nº de veces, puntero_fichero ); © Carlos A. Lázaro Carrascosa. Laboratorio de Comunicación Oral R.W.N. ©Carlos A. Lázaro Carrascosa.

28 PROGRAMACIÓN MULTIMEDIA
4-Octubre-2001 PROGRAMACIÓN MULTIMEDIA INTRODUCCIÓN LENGUAJE C ©Carlos A. Lázaro Carrascosa.


Descargar ppt "PROGRAMACIÓN MULTIMEDIA"

Presentaciones similares


Anuncios Google