Lenguaje C. 1. Introducción Un programa en C Tipo de datos int Tipos enteros short, long y unsigned... 4

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Lenguaje C. 1. Introducción Un programa en C Tipo de datos int Tipos enteros short, long y unsigned... 4"

Transcripción

1 Lenguaje C Índice 1. Introducción 2 2. Un programa en C Ejemplo de un programa en C Comentarios en un programa Declaraciones, expresiones, asignación, tipos de datos Declaraciones Tipos de datos fundamentales Tipo de datos int Tipos enteros short, long y unsigned Tipos Flotantes Tipo de datos char El preprocesador 5 5. Funciones principales Usos de printf() y scanf() Usos de getchar() y putchar() Asignacion Notación compactada Operadores aritmeticos Operadores de incremento y decremento Operadores de relación, igualdad y lógica Operadores y expresiones de relación Operadores y expresiones de igualdad Operadores y expresiones lógicos

2 2 8. Proposición vacía Proposiciones if e if else Operador condicional Proposición while Proposición for Proposición do Proposición switch Proposiciones break y continue Funciones Definición de una Función Proposición return Especificador de tipo void Arreglos y cadenas Arreglos unidimensionales Cadenas Funciones de manejo de cadenas Arreglos multidimensionales Estructuras y typedef Uso de typedef Estructuras Archivos Descripcion de algunas funciones sobre manejo de archivos Descriptor de archivos de entrada y salida Algunas funciones para usar con descriptores de archivos Como compilar un programa hecho en C Introducción C es un lenguaje de programación diseñado por Dennis Ritchie, de los Laboratorios Bell, y se instaló en un PDP-11 en 1972; se diseño para ser el lenguaje de los sistemas operativos UNIX. A su vez, UNIX es un sistema operativo desarrollado por Ken Thompson, quien utilizó el lenguaje ensamblador y un lenguaje llamado B para producir las versiones originales de UNIX, en C se inventó para superar las limitaciones de B. C es un lenguaje maduro de propósitos generales que se desarrolló a partir de estas raíces; su definición aparece en 1978 en el apéndice C Reference Manual del libro The C Programming Language, de Brian W. Kernighan y Dennis M. Ritchie (Englewood Cliffs, Nueva Jersey, Prentice-Hall 1978), pero el estándar recomendable mas reciente apareció en junio de 1983, en el documento de los Laboratorios Bell titulado The C Programming Language-Reference Manual, escrito por Dennis M. Ritchie.

3 2 UN PROGRAMA EN C 3 2. Un programa en C Generalizando, un programa en C consta de tres secciones. La primera sección es donde van todos los encabezados. Estos encabezados son comúnmente los #define y los #include (lo cual se explica más adelante). Luego se tienen las funciones. Al igual que Pascal, en C todas las funciones que se van a ocupar en el programa deben declarar antes que la función principal (main ( ) ). Declarando las funciones a ocupar al principio del programa, se logra que la función principal este antes que el resto de las funciones. Ahora, sólo se habla de funciones ya que en C no existen los procedimientos. Finalmente, se tiene a la función principal, llamada main. Cuando se ejecuta el programa, lo primero que se ejecuta es esta función, y de ahí sigue el resto del programa. Los símbolos { y indican el inicio y término de un bloque de código, típicamente bloques que delimitan una función, una condición o ciclo. Si el bloque de código contiene una sola línea, entonces puede omitirse el uso de llaves ({ ), en caso contrario es obligación usarlos, puesto que cambiará completamente la interpretación del programa Ejemplo de un programa en C En este ejemplo se utilizaran palabras y funciones que aún no han sido explicadas. Mas adelante se explicaran cada una de ellas. Programa 1: Ejemplo 2 1 / Programa e j e m p l o que d e s p l i e g a e l c o n t e n i d o d e l RUT en p a n t a l l a / 2 # i n c l u d e < s t d i o. h> 3 4 # d e f i n e RUT " " 5 6 void 7 d e s p l i e g a _ r u t ( ) { 8 p r i n t f ( "Mi r u t es : \ % s \ n ", RUT) ; i n t 12 main ( i n t argc, char a rgv ) { 13 d e s p l i e g a _ r u t ( ) ; return 0 ; / Fin programa / 2.2. Comentarios en un programa Los caracteres /* indican el inicio de un comentario, el cual finaliza con los caracteres */. El objetivo de los comentarios es facilitar la lectura de un programa. Desde el punto de vista del compilador, el contenido de los comentarios es ignorado ya que es para el entendimiento humano, por lo tanto, es recomendable seguir prácticas que le den real valor a un comentario, entre ellas se encuentran: No repetir lo que ya es obvio. Comentar las funciones y los datos globales. No comentar el código malo, es mejor reescribirlo. No contradecir el código. Debe aclarar, no confundir.

4 4 3. Declaraciones, expresiones, asignación, tipos de datos Declaraciones Tipos de datos fundamentales Tipo de datos int Tipos enteros short, long y unsigned Tipos flotantes Tipo de datos char 3.1. Declaraciones Las variables y las constantes son los objetos que manipula un programa. En general, deben declararse todas las variables antes de poderlas usar. Por ejemplo, i n t i, j, k ; f l o a t l a r g o, a l t u r a ; char c ; son declaraciones que especifican que i, j, y k son variables de tipo int, que largo y altura son variables de tipo float, y que c es una variable de tipo char Tipos de datos fundamentales C proporciona varios tipos fundamentales. Ellos son : char short int long unsigned char unsigned short unsigned unsigned long float double 3.3. Tipo de datos int En C, el tipo de datos int es el tipo de trabajo principal del lenguaje. Junto con los tipos short, long y unsigned; int esta diseñado para trabajar con valores enteros representables en una maquina. i n t a, b, c / a, b y c con de t i p o i n t / b = 5 ; / A s i g n a c i ó n. Ahora b v a l e 5. / 3.4. Tipos enteros short, long y unsigned En C, el tipo de datos int es el natural o habitual para trabajar con enteros. Los demás tipos enteros: char, short, long y los tipos unsigned, tienen un uso mas especializado. Por ejemplo, el tipo de datos short puede aplicarse a situaciones en las que es importante el almacenamiento. El compilador puede asignar una cantidad menor de almacenamiento para un short que para un int, a pesar de que no se le pida hacerlo. El tipo de datos long es para situaciones en las que se desea un mayor intervalo de valores enteros. El compilador puede asignar una cantidad mayor de almacenamiento para un long que para un int, aunque no se le pida. Las variables de tipo unsigned se almacenan en el mismo numero de bytes que un int. Sin embargo, como el nombre indica, los valores enteros almacenados no tendrán signo.

5 4 EL PREPROCESADOR Tipos Flotantes C proporciona los tipos flotantes float y double, para manejar números como: Algunos enteros pueden representarse como constantes flotantes, pero deben escribirse con un punto decimal, como en También hay una notación exponencial, como en e Tipo de datos char Las constantes y variables de tipo char se usan para representar caracteres, y cada caracter se almacena en un byte. Un char se almacena en un byte de acuerdo con su código ASCII, y se considera que tiene un valor entero correspondiente. Las constantes de tipo char se escriben entre apóstrofos, como a. Algunos caracteres son no imprimibles, y otros son difíciles de imprimir; para ellos se requiere una secuencia de escape. Por ejemplo, en un programa, el caracter NEWLINE se escribe \ n, y aunque se describe con dos caracteres, \ y N representan un solo caracter ASCII. El caracter BACKSLASH \ tambien se conoce como CARACTER DE ESCAPE, y se utiliza para escapar del significado usual del caracter precedente. Veamos este tipo de caracteres: nulo \0 comillas \ caracter de alarma \a apóstrofos \ retroceso \b diagonal invertida \\ tabulador horizontal \t interrogación \? tabulador vertical \v comillas \ salto de línea \n número octal \ooo retorno de carro \r número hexadecimal \xhh avance de hoja \f 4. El preprocesador Para ampliar su capacidad y notación, el lenguaje C se basa en gran medida en el preprocesador. Las líneas que se inician # con en la primera columna se llaman líneas de control, y se comunican con el preprocesador. La sintáxis de las líneas de control es independiente del resto del lenguaje C. El efecto de una línea de control abarca desde su lugar en el archivo hasta el final de ese archivo. Una línea de control como # i n c l u d e " nombre a r c h i v o " hace que el preprocesador reemplace la línea con una copia del contenido del archivo nombrado. El archivo se busca primero en el directorio actual y luego en los lugares estándar. Con una línea de control como # i n c l u d e < nombre a r c h i v o > el preprocesador solo busca el archivo en los lugares estándar y no en el directorio actual. No hay restricción para lo que puede contener un archivo incluido; en especial, puede contener otras líneas de control, que a su vez serán ampliadas por el preprocesador. Las líneas de control con define se pueden presentar de varias formas. Por ejemplo: # d e f i n e STRING " E s t e es un ejemplo " # d e f i n e SEGUNDOS_AL_DIA ( )

6 6 En este ejemplo, el string es (60 * 60 * 24) y el preprocesador reemplazara a SEGUNDOS_AL_DIA por ese string todas las veces que aparezca en el resto del archivo. Un error frecuente es terminar una línea define con un punto y coma, lo cual la convierte en parte de la cadena de reemplazo, cuando esto no es lo que se desea. Los define sencillos tienen varios usos importantes que mejoran la claridad y la transportabilidad de los programas. Por ejemplo, para constantes especiales: # d e f i n e PI # d e f i n e E / e x p o n e n c i a l / # d e f i n e C / v e l o c i d a d de l a l u z en km / seg / En términos generales, las constantes simbólicas ayudan en la documentación al reemplazar lo que de otra forma seria una constante enigmática con un identificador mnemónico, hacen mas portátil el programa al permitir que se alteren en un solo lugar las constantes que pueden ser dependientes del sistema, y mejoran la confiabilidad al restringir a un solo lugar la verificación de la representación real de la constante. 5. Funciones principales 5.1. Usos de printf() y scanf() La función printf() se usa para la salida; en forma similar, la función scanf() se usa para la entrada. En sentido técnico, estas funciones no son parte del lenguaje C, sino del sistema C; residen en una biblioteca estándar y están disponibles para usarlas donde quiera que haya un sistema C. Ambas funciones tienen una lista de parámetros con dos partes: cadena de control y lista de argumentos. La primera es una cadena y puede contener especificaciones de conversión o formatos. Una especificación de conversión se inicia con un caracter % y termina con un caracter de conversión; por ejemplo, en el formato %d la letra d es el caracter de conversión y permite imprimir el valor de una expresión como un entero decimal. Para imprimir las letras ABC en la pantalla, podría usarse la proposición p r i n t f ( "ABC" ) ; Otra manera de hacer esto es mediante la proposición p r i n t f ( " %s ", "ABC" ) ; El formato %s hace que el argumento ABC se imprima en el formato de una cadena de caracteres. Esto mismo puede realizarse también con la proposición: p r i n t f ( " %s ", "ABC" ) ; Los apóstrofos que encierran cada letra se emplean para designar constantes de caracteres; de acuerdo con esto, A es la constante de caracter que corresponde a la letra A mayúscula. El formato %c imprime el valor de una expresión como un caracter. Por ejemplo: c1 = A ; c2 = B ; c3 = C ; p r i n t f ( " %c %c %c ", c1, c2, c3 ) ; imprimirá de nuevo las letras ABC en la pantalla. Ahora veamos los caracteres de conversión: c caracter d decimal e número de punto flotante en notación científica f número de punto flotante g en el formato-e o el formato-f, el que sea más corto

7 5 FUNCIONES PRINCIPALES 7 s string La función scanf() es análoga a la función printf(), pero se usa para la entrada. Su primer argumento es una cadena de control con formatos que corresponden a las diferentes formas en que pueden interpretarse los caracteres en la entrada como valores para los diferentes tipos de variables. La lista de argumentos esta formada por direcciones de variables. El símbolo & representa al operador de dirección; por ejemplo, la proposición s c a n f ( " %d ", & x ) ; contiene el formato %d, el cual provoca que scanf() interprete los caracteres de entrada como un entero decimal y que coloque el valor en la dirección x. La función scanf() puede usarse para convertir cadenas de dígitos decimales en valores enteros y almacenarlos en el lugar apropiado. Ahora veamos los caracteres de conversión: c caracter d decimal f número de punto flotante (float) lf numero de punto flotante (double) s cadena de caracteres Veamos un ejemplo. 1 # i n c l u d e < s t d i o. h> 2 3 i n t 4 main ( i n t argc, char a rgv ) { 5 i n t x ; 6 char c ; 7 f l o a t y ; 8 double z ; 9 10 p r i n t f ( " \ n I n g r e s e un c a r a c t e r : " ) ; 11 s c a n f ( " %c ", & c ) ; p r i n t f ( " \ n I n g r e s e un i n t : " ) ; 14 s c a n f ( " %d ", & x ) ; p r i n t f ( " \ n I n g r e s e un f l o a t : " ) ; 17 s c a n f ( " %f ", & y ) ; p r i n t f ( " \ n I n g r e s e un d o u b l e : " ) ; 20 s c a n f ( " %l f ", & z ) ; p r i n t f ( " \ n \ nlos d a t o s que ud. i n g r e s o f u e r o n : \ n " ) ; 23 p r i n t f ( " %c %d %e %e \ n \ n ", c, x, y, z ) ; return 0 ; Usos de getchar() y putchar() El sistema proporciona getchar() y putchar() para manejar los caracteres de entrada y salida. Ejemplo: 1 # i n c l u d e < s t d i o. h> 2 3 i n t 4 main ( i n t argc, char a rgv ) { 5 char c ; 6 7 c = g e t c h a r ( ) ; 8 9 p u t c h a r ( c ) ; 10 p u t c h a r ( c ) ; return 0 ; 13

8 8 Todo lo que hace este programa es recibir un caracter de entrada y devolverlo a la pantalla dos veces. La variable c se declara de tipo char, uno de los fundamentales en C. Las variables de este tipo pueden tener valor de caracteres. 6. Asignacion El signo de igualdad, =, es el operador básico de asignación en C. Un ejemplo de asignación es: i = 7 A la variable i se le asigno el valor 7, y la expresión, como un todo, toma ese valor. Cuando la expresión va seguida de un punto y coma, se convierte en una proposición. Algunos ejemplos de proposiciones son: i = 7 ; x = s i n ( ) ; Se calcula el valor de la expresión que esta a la derecha del signo = y luego se asigna a la variable del lado izquierdo. Por ejemplo i n t a, b, c ; a = 7 ; b = 2 ; c = a + b ; declara que las variables a, b y c son de tipo int, luego asigna el valor 7 a a, el valor 2 a b, y el valor de la expresión a + b a c Notación compactada Una expresión como k = k + 2 ; sumará dos al antiguo valor de k y le asignara el resultado; así la expresión, como un todo tendrá ese valor. La expresión k + = 2 ; utiliza el operador de asignación += para ejecutar la misma tarea. Otro ejemplo seria k = 3 + x ; es equivalente a k = k ( 3 + x ) ; 7. Operadores aritmeticos Los operadores aritméticos + suma - resta * multiplicación / división % módulo

9 7 OPERADORES ARITMETICOS 9 corresponden a las operaciones matemáticas normales de suma, resta, multiplicación, división y módulo, respectivamente. La división de enteros devuelve el valor entero que obtuvo y desecha cualquier fracción restante. Por ejemplo, 1 / 2 tiene el valor 0, 3 / 2 tiene el valor 1, y -7 / 3 tiene el valor -2. La expresión a % b se lee "a módulo b". Si a y b son enteros positivos, el resultado será el residuo de la división de a ente b. Por ejemplo, 7 % 2 tiene el valor 1, y 12 % 3 tiene el valor 0; si a, b o ambos son negativos, entonces a % b esta definido, pero el resultado es dependiente de la maquina. El valor de b no puede ser cero, porque eso nos conduciría a dividir por cero Operadores de incremento y decremento Como operador de incremento tenemos el ++ y de decremento es el. Tanto ++ como - - pueden aplicarse a variables, pero no a constantes o a expresiones. Algunos ejemplos son: ++y ; k ; y ++; k ; La proposición ++y ; / es e q u i v a l e n t e a y = y + 1 / Así, también la proposición y + + ; / es e q u i v a l e n t e a y = y + 1 / y de manera similar k ; / es e q u i v a l e n t e a k = k 1 / k ; / es e q u i v a l e n t e a k = k 1 / Las expresiones ++a y a++ provocan que a se incremente en 1. En forma similar, a y a causan que a disminuya en 1. No obstante, al usar ++a en una expresión, el valor de a se aumenta antes de evaluar la expresión, mientras que al emplear a++, la expresión se evalúa con el valor actual de a, incrementándolo después. Lo mismo ocurre con a y a Operadores de relación, igualdad y lógica Operadores y expresiones de relación Operadores y expresiones de igualdad Operadores y expresiones lógicos 7.3. Operadores y expresiones de relación Los operadores de relación < menor que > mayor que <= menor o igual que >= mayor o igual que son todos binarios. Cada uno de ellos toma dos expresiones como operandos y dan como resultado el valor int 0 o el valor int 1. Considérese una expresión de relación como a <b. Intuitivamente, si el valor de a es menor que el de b, la expresión es VERDADERA; y como en C lo VERDADERO se representa con cualquier valor distinto de 0, es natural que a <b tenga el valor int 1. Si el valor de a no es menor que el de b, entonces la expresión es FALSA, y a <b tendrá el valor int 0. Algunos ejemplos:

10 Operadores y expresiones de igualdad a < 3 a > b -7.7 <= >= (2.0 * x + 3.3) 7.4. Operadores y expresiones de igualdad Los operadores de igualdad == igual a!=> distinto de son operadores binarios que actúan sobre expresiones, y producen valores INT 0 o 1. Las conversiones usuales de aritmética se aplican a las expresiones que sean operandos de los operadores de igualdad. Algunos ejemplos: c == w x!= == 33 Intuitivamente, una expresión de igualdad como a = = b es VERDADERA o FALSA. Si el valor de a es igual al de b, entonces la expresión producirá el valor int 1, en caso contrario, si a no es igual b la expresión producirá el valor int 0. La expresión a!= b se evalúa de la misma manera. Observese que las expresiones a == b a = b son similares a primera vista. Se parecen en la forma, pero son completamente distintas en cuanto a la función. La expresión a = = b es una prueba de igualdad, mientras que a = b es una expresión de asignación. Uno de los errores más comunes en programación es codificar algo como en lugar de i f ( i = 5 ) { / r e a l i z a r alguna o p e r a c i o n / i f ( i = = 5 ) { / r e a l i z a r alguna o p e r a c i o n / La expresión de la primera proposición if siempre es VERDADERA, y será muy difícil encontrar un error de este tipo Operadores y expresiones lógicos Los operadores lógicos! (unario) negación && y lógico o lógico se aplican a expresiones, producen los valores int 0 ó 1. Algunos ejemplos:

11 8 PROPOSICIÓN VACÍA 11!5! z! (x + 7.7) 2 3 a b a && 1 a && b 8. Proposición vacía La proposición vacía se escribe como un ; sencillo; resulta útil cuando en la sintáxis se requiere una proposición, pero no se necesita ninguna acción semántica. Como se verá, esto es a veces útil en proposiciones que afectan al flujo de control, como if o for Proposiciones if e if else En una construcción de la forma i f ( e x p r e s i o n ) p r o p o s i c i o n p r o p o s i c i o n s i g u i e n t e si la expresion es VERDADERA (no cero), se ejecuta proposicion; de lo contrario, se salta proposicion y el control pasa a proposicion siguiente. Veamos algunos ejemplos: i f ( x! = 1 ) y / = x ; i f ( c = = ) { c o u n t ++; p r i n t f ( " Van %d b l a n c o s. \ n ", c o u n t ) ; La proposición if else esta estrechamente relacionada con la proposición if y tiene la forma i f ( e x p r e s i o n ) p r o p o s i c i o n 1 e l s e p r o p o s i c i o n 2 p r o p o s i c i o n s i g u i e n t e Si la expresion no es cero (VERDADERA), se ejecuta proposicion1 y se salta proposicion2; por el contrario, si la expresión es cero ( FALSO), entonces se salta proposicion1 y se ejecuta proposicion2. En ambos casos el control pasa a proposicion siguiente. Veamos algunos ejemplos: i f ( x < y x = = 0 ) { min = x ; e l s e min = y ; i f ( a < = c && c < = z ) { c o u n t ++; p r i n t f ( " Otra l e t r a m i n u s c u l a \ n " ) ; e l s e { c o u n t 2 ++; p r i n t f ( " %c no es l e t r a m i n u s c u l a \ n ", c ) ;

12 Operador condicional 8.2. Operador condicional En una construcción como exp1? exp2 : exp3 primero se evalúa exp1; si no es cero (VERDADERA), se evalúa exp2, y su resultado será el valor de la expresión condicional en su totalidad. Si exp1 es cero (FALSA), entonces se evalúa exp3, y su resultado será el valor de la expresión condicional en su totalidad. Así pues, puede emplearse una expresión condicional para hacer el trabajo de una proposición if else. Veamos: i f ( x < z ) x = y ; e l s e x = z ; esto, asigna a x el mínimo de y y z. Eso mismo puede lograrse escribiendo x = ( x < z )? y : z ; 8.3. Proposición while En una construcción de la forma while ( e x p r e s i o n ) p r o p o s i c i o n p r o p o s i c i o n s i g u i e n t e primero se evalúa expresion; si es cero (FALSO), el control pasa directamente a proposicion siguiente, pero si no es cero (VERDADERO), entonces proposicion se ejecuta y el control se devuelve al principio del ciclo while. De este modo, proposicion se ejecuta varias veces hasta que expresion sea cero, en ese momento, el control pasara a proposicion siguiente. El efecto de esto es que proposicion puede ejecutarse cero, una o mas veces. Es posible que, sin advertirlo, se especifique una expresión que nunca se convierta cero, y con esto el programa quedara en un ciclo infinito a menos que se introduzcan medios para escapar del ciclo while; para evitar tal situación debe tenerse cuidado. Como ejemplo, considérese el siguiente ejemplo: i n t n ; p r i n t f ( " I n g r e s e un e n t e r o : " ) ; s c a n f ( " %d ", & n ) ; while ( n ) { / r e a l i z a r alguna a c c i o n / La intención es introducir un entero positivo y asignarlo a la variable n; luego se ejecutarán las proposiciones del ciclo while de manera repetida, hasta que la expresión n sea cero. No obstante, si por algún error se asigna a n un numero negativo, el ciclo será infinito. Para evitar esta posibilidad, seria mejor hacer: while ( n > 0 ) { / r e a l i z a r alguna a c c i o n / En ocasiones, es conveniente que un ciclo while contenga solo una proposición vacía. Un ejemplo típico es: while ( ( c = g e t c h a r ( ) ) = = ) ; / p r o p o s i c i o n v a c i a /

13 8 PROPOSICIÓN VACÍA Proposición for En la construcción f o r ( e x p r e s i o n 1 ; e x p r e s i o n 2 ; e x p r e s i o n 3 ) p r o p o s i c i o n p r o p o s i c i o n s i g u i e n t e primero se evalúa expresion1 (lo usual es que expresion1 inicie el ciclo); después, se evalúa expresion2, y si no es cero (VERDADERO), se ejecuta la proposicion, se evalúa expresion3 y el control regresa al principio del ciclo for, pero ahora se salta la evaluación de expresion1. Lo común es que expresion2 sea una expresión lógica que controle la iteración. Este proceso continua hasta que expresion2 sea igual a cero (FALSO), punto en el cual el control pasa a proposicion siguiente. Algunos ejemplos son: f o r ( i = 1 ; i < = n ; + + i ) p r i n t f ( " %d \ n ", i ) ; f o r ( j = 2 ; k % j = = 0 ; j ++) { p r i n t f ( " %d es d i v i s o r de %d \ n ", j, k ) ; suma + = j ; En una proposición for puede faltar alguna o todas las expresiones, pero deben permanecer los signos punto y coma. Si falta la expresion1, no se efectúa el paso de dar valor inicial como parte del ciclo for. Como regla especial, se establece que siempre que no este presente expresion2, la prueba siempre dará como resultado VERDAD. Por tanto, el ciclo for es infinito en la codificación i n t i = 0 ; i n t suma = 0 ; f o r ( ; ; ) { suma + = i ++; p r i n t f ( " %d \ n ", suma ) ; 8.5. Proposición do La proposición do puede considerarse una variante de la proposición while. En lugar de hacer la prueba en la parte superior del ciclo, esta proposición lo hace en la parte inferior. En una construcción de la forma do p r o p o s i c i o n while ( e x p r e s i o n ) p r o p o s i c i o n s i g u i e n t e se ejecuta proposicion, se evalúa expresion y, si no es cero (VERDAD), el control regresa al principio de la proposición do y el proceso se repite. Cuando expresion es cero (FALSO), el control pasa a proposicion siguiente. Como ejemplo, supóngase que se desea leer un entero positivo e insistir en que es un entero positivo. Entonces seria: / / do { p r i n t f ( " I n g r e s e un e n t e r o p o s i t i v o : " ) ; s c a n f ( " %d ", & n ) ; while ( n < = 0 ) ; 8.6. Proposición switch switch es una proposición condicional múltiple que generaliza a la proposición if else. Lo siguiente es un ejemplo típico de switch:

14 Proposiciones break y continue s w i t c h ( c ) { c ase a : ++ a _ c n t ; break ; c ase b : ++ b _ c n t ; break ; c ase c : c ase C : ++ cc_cnt ; break ; d e f a u l t : ++ o t r o s _ c n t ; Obsérvese que en este ejemplo toda la proposición switch esta encerrada entre llaves; esto será así en todas las situaciones, excepto en las mas descuidadas. Se evalúa la expresión entera que sigue switch y se efectúan las conversiones aritméticas usuales; el resultado debe ser un int. En este ejemplo, la expresión es la variable char c. Después de evaluar la expresión, el control salta a la etiqueta apropiada case. Todas las etiquetas de los casos deben ser exclusivas, y cero, una o mas etiquetas de caso pueden preceder a cada proposición. Por lo común, la ultima proposición antes de la siguiente etiqueta es break. Si no hay una proposición break, la ejecución "cae hasta" la siguiente proposición en el caso que sigue. La ausencia de proposiciones break es una causa frecuente de error en el uso de switch. Por ultimo, puede haber una proposición etiquetada default. Esto indica que si la evaluación de switch no coincide con ninguna etiqueta, entonces toma en cuenta el default Proposiciones break y continue Dos proposiciones especiales break; y continue; interrumpen el flujo normal de control. La proposición break provoca una salida del ciclo mas interno o proposición switch. En el ejemplo siguiente se realiza una prueba para encontrar un argumento negativo, y, si resulta verdadera, se utilizara una proposición break para pasar el control a la proposición inmediatamente posterior al ciclo. # d e f i n e TRUE 1... while ( TRUE) { s c a n f ( " %d ", & x ) ; i f ( x < 0 ) break ; / s a l i r d e l c i c l o s i e l v a l o r es n e g a t i v o / p r i n t f ( " %d \ n ", x ) ;... / l a p r o p o s i c i o n break s a l t a h a s t a aqui / Este es un ejemplo típico de break. Lo que de otra forma seria un ciclo infinito, puede terminarse con una condición dada después de haberla probado con la expresión if. La proposición continue hace que se detenga la iteración actual de un ciclo y que se inicie de inmediato la siguiente. El código siguiente procesara todos los caracteres excepto los dígitos: f o r ( i = 0 ; i < TOTAL; + + i ) { c = g e t c h a r ( ) ; i f ( 0 < = c && c < = 9 ) c o n t i n u e ;... / p r o c e s a r o t r o s c a r a c t e r e s / / c o n t i n u e t r a n s f i e r e e l c o n t r o l h a s t a aca para empezar l a s i g u i e n t e i t e r a c i o n / La proposición continue solo puede presentarse en ciclos for, while y do. Como muestra el ejemplo, continue transfiere el control al final de la iteración actual, mientras que break concluye todo.

15 9 FUNCIONES Funciones d e f i n i c i o n de una f u n c i o n p r o p o s i c i o n return e s p e c i f i c a d o r de t i p o void 9.1. Definición de una Función La definición de una función consiste en un encabezamiento y un cuerpo. De manera explícita, podríamos decir que es un bloque o una proposición compuesta. Si hay declaraciones, deben aparecer al principio del bloque, antes de cualquier proposición ejecutable. El encabezamiento puede ser tan solo un identificador y unos paréntesis. Un ejemplo sencillo es: i n t suma_num ( i n t a, i n t b ) { i n t suma ; suma = a + b ; return suma ; Todas las variables declaradas en el cuerpo de una función se dice que son "locales" a esa función. Otras variables no declaradas ni como argumentos ni en el cuerpo de la función se consideran como "globales" a la función y deben definirse en forma externa Proposición return La proposición return concluye la ejecución de la función y devuelve el control al medio que la llamo. Si la proposición return contiene una expresión, el valor de esta también regresa al medio que hizo la llamada; además, este valor se convertirá al tipo dado por el especificador de tipo de la función. double g ( char a, b, c ) { i n t i ;... return i ; / e l v a l o r se c o n v e r t i r a en un d ouble / El double que aparece en el ejemplo anterior, es el especificador del tipo de la función; especifica el tipo del valor que devuelve la función. En una función puede haber cero o mas proposiciones return; si no hay ninguna, el control vuelve al medio que hizo la llamada al llegar a la llave que delimita el cuerpo de la función. Supóngase que se desea una función que devuelva el cuadrado de un entero n, donde n es un parámetro. cuadrado() será el nombre de la función y tendrá una lista de parámetros con una sola variable de tipo int. i n t c u a d r a d o ( i n t n ) { return ( n n ) ; i n t main ( i n t argc, char a rgv ) { i n t x, i ; i = 5 ; x = c u a d r a d o ( i ) ; p r i n t f ( " %d \ n ", x ) ; return 0 ; Las funciones se declaran como objetos individuales que no pueden anidarse. Si un especificador de tipo de una función esta ausente, entonces por defecto asume int.

16 Especificador de tipo void 9.3. Especificador de tipo void El especificador de tipo void se usa para declarar funciones que no se pretende que devuelvan valores. Emplear una función void en una expresión que requiere un valor hace que el compilador produzca un mensaje de error. 10. Arreglos y cadenas Arreglos unidimensionales Cadenas Funciones de manejo de cadenas Arreglos multidimensionales Arreglos unidimensionales Puede considerarse un arreglo como una variable simple con un índice o un subíndice. Los corchetes, [ ], sirven para encerrar los subíndices. Para usar cal[0], cal[1] y cal[2] en un programa, debe declararse: i n t c a l [ 3 ] ; donde el entero 3 representa el numero de elementos del arreglo. La indexación de elementos en los arreglos siempre inicia en 0. La declaración del arreglo unidimensional es un tipo seguido de un identificador con una expresión constante int entre corchetes. El valor de la expresión, que debe ser positivo, es el tamaño del arreglo y especifica el numero de elementos que contiene. Para acceder a algún elemento del arreglo, puede hacerse de la siguiente forma: i n t a [ 5 ] = { 1, 2, 3, 4, 5 / a s i g n a c i o n de v a l o r e s i n i c i a l e s / i n t c ; c = a [ 1 0 ] ; / a [ 0 ] es e l p r i mer e l e m e n t o / p r i n t f ( " %d \ n ", c + a [ 4 ] ) ; / a [ 4 ] e l u l t i m o e l e m e n t o / Cadenas Los strings son arreglos unidimensionales de tipo char. Por convención, una cadena en C se termina con el caracter nulo \0. Por ejemplo, si tenemos char a[5], el elemento a[4] es el \0. Las constantes de cadenas se escriben entre comillas; por ejemplo, abc es un arreglo de caracteres de tamaño 4, donde el ultimo elemento es el caracter nulo \0.

17 11 ESTRUCTURAS Y TYPEDEF Funciones de manejo de cadenas strcmp (cadena1, cadena2) Se devuelve un entero que es menor, igual o mayor que cero, dependiendo de si cadena1 es lexicograficamente menor, igual o mayor que cadena2. strncmp (cadena1, cadena2, n) Es semejante a strcmp(), excepto en que se compara un máximo de n caracteres. strlen (cadena) Se devuelve el numero de caracteres que estan antes de \0. strcat (cadena1, cadena2) Una copia de cadena2, incluyendo el caracter nulo, se agrega al final de cadena1 y se devuelve el valor cadena1. strncat (cadena1, cadena2, n) Es semejante a strcat(), excepto en que se agregan, a lo sumo, n caracteres no nulos seguidos por \0. strcpy (cadena1, cadena2) cadena2 se copia en cadena1 hasta que se llega a \0 ; se sobreescribe todo lo que existe en cadena1. strncpy (cadena1, cadena2, n) Es semejante a strcpy(), excepto en que se mueven exactamente n caracteres Arreglos multidimensionales El lenguaje C permite arreglos de cualquier tipo, incluyendo arreglos de arreglos. Con dos pares de corchetes se obtiene un arreglo bidimensional. Esta idea puede repetirse para obtener arreglos de dimensiones mas altas. Con cada par de corchetes se agrega otra dimensión al arreglo. i n t a [ ] ; / a r r e g l o u n i d i m e n s i o n a l / i n t b [ 3 ] [ 5 ] ; / a r r e g l o b i d i m e n s i o n a l / i n t c [ 7 ] [ 9 ] [ 2 ] ; / a r r e g l o t r i d i m e n s i o n a l / 11. Estructuras y typedef Uso de typedef Estructuras Uso de typedef C proporciona diversos tipos fundamentales, como char e int, y varios tipos derivados, como arreglos y punteros; también proporciona la declaración typedef, que permite la asociación explícita de un tipo con un identificador. Algunos ejemplos son: t y p e d e f i n t metros, d e c i m e t r o s, c e n t i m e t r o s ; t y p e d e f i n t v e c t o r [ 1 0 ] ; En cada una de estas definiciones de tipo, los identificadores nombrados pueden usarse después para declarar variables o funciones, del mismo modo en que se usan los tipos ordinarios; por ejemplo, m e t r o s l a r g o, ancho ; declara que las variables largp y ancho son de tipo metros, que, a su vez, equivale al tipo int. De esta manera, metros puede emplearse como una declaración de un tipo sinónimo de int Estructuras Las estructuras son un medio para reunir un grupo de datos que quizá sean de diferentes tipos. Para ejemplificar esto en forma sencilla, se definira una estructura que describa un naipe. Un naipe como el tres de pica tiene un valor en puntos (3) y otro según la pinta (picas). Pueden declararse dos variables:

18 18 i n t p u n t o s ; char p i n t a ; que retienen la información. La variable puntos tomara valores del 1 al 13, para representar desde el "as" hasta el "rey"; y la variable pinta tomara los valores t, d, c, y p, para representar a las pintas (trébol, diamante, corazón y pica). Las estructuras permiten agrupar a las variables, por lo que s t r u c t n a i p e { i n t p u n t o s ; char p i n t a ; creara el tipo de dato derivado struct naipe, donde naipe es el nombre de la estructura. Así, el nombre puede usarse para declarar variables de este tipo. La declaración s t r u c t n a i p e c1, c2 ; asigna almacenamiento para los identificadores c1 y c2, que son de tipo struct naipe. Los identificadores pinta y puntos se consideran miembros de struct naipe. Para tener acceso a los valores de los miembros, se empleara el operador miembro de estructura ". ". Se asignaran a c1 los valores que representan al tres de picas y a c2 los valores que representan al rey de diamantes. c1. p u n t o s = 3 ; c1. p i n t a = p ; c2. p u n t o s = 1 3 ; c2. p i n t a = d ; Suele ser una buena practica de programación asociar un nombre a un tipo de estructura, pues es conveniente tanto para las declaraciones futuras como para la documentación. Cuando se usa typedef para nombrar a un tipo de estructura, el nombre no tiene importancia. Un ejemplo de esto es: t y p e d e f s t r u c t { f l o a t r e ; f l o a t im ; complex ; complex a, b, c [ ] ; El tipo complex sirve ahora en lugar del tipo de estructura. El programador obtiene un alto grado de modalidad y facilidad de transporte usando typedef para denominar dichos tipos derivados y almacenamiento de encabezamientos. 12. Archivos Un archivo es accequible a través de un puntero a una estructura definida como FILE en el archivo estándar de encabezamientos stdio.h. Esta estructura contiene miembros que describen el estado actual del archivo. En forma abstracta, un archivo se considera como un flujo de caracteres que se procesa secuencialmente. El sistema proporciona tres archivos estándar. stdin stdout stderr archivo de entrada conectado al teclado archivo de salida conectado a la pantalla conectado a la pantalla La función fopen() puede emplearse para abrir un archivo; devuelve un puntero a FILE. Para abrir el archivo mi_archivo, por ejemplo, podría escribirse: # i n c l u d e < s t d i o. h> i n t main ( i n t argc, char a rgv ) { i n t c ; FILE fp ; fp = fopen ( " m i _ a r c h i v o ", " r " ) ;...

19 12 ARCHIVOS 19 Después de abrir un archivo, el puntero se utiliza de manera exclusiva en todas las referencias al archivo Descripcion de algunas funciones sobre manejo de archivos fopen (nombre_archivo, modo_archivo) fclose (puntero_archivo) fprintf (puntero_archivo, s, args) fscanf (puntero_archivo, s, args) getc (puntero_archivo) fgetc (puntero_archivo) ungetc (c, puntero_archivo) putc (c, puntero_archivo) fputc (c, puntero_archivo) fgets (s, n, puntero_archivo) fputs (s, puntero_archivo) Ejecuta las labores necesarias para abrir un archivo con BUFFERS y devuelve un puntero a FILE. Si nombre_archivo no es accesible, entonces devuelve el valor NULL; tanto nombre_archivo como modo_archivo son cadenas. Los modos de los archivos son "r", "w" y "a", que corresponden a (READ, WRITE Y APPEND) leer, escribir y añadir, respectivamente. El puntero se coloca al principio si el modo es "r" o "w", y se coloca al final si el modo es "a"; si el modo del archivo es "w" o "a" y el archivo no existe, entonces se crea. Efectúa las labores necesarias para vaciar BUFFERS y terminar todas las conecciones con el archivo indicado. Si puntero_archivo no esta asociado con un archivo, se devuelve EOF. Los parámetros s y args son los mismos que usa printf(). Entonces fprintf() escribe el string s en el archivo que esta siendo apuntado por puntero_archivo. Corresponde a scanf(), pero tiene como primer argumento un puntero a un archivo que indica el archivo que se leerá. Por lo tanto requiere que puntero_archivo sea un puntero a FILE y que el string s y la lista de argumentos (args) se ajusten a las convenciones necesarias para scanf(). Con esto se obtiene el siguiente caracter del archivo al que apunta puntero_archivo. El valor del caracter se devuelve como un int. Si se encuentra un fin de archivo o si hay un error, se devuelve EOF. Actúa en forma similar a getc(). Esta función devuelve el valor char de c al archivo al que apunta puntero_archivo, y devuelve el valor int de c. Si el archivo tiene BUFFERS y se leyeron uno o mas caracteres, puede regresar, por lo menos, un caracter. Si no es posible devolver un caracter, se devuelve EOF. Coloca el valor char de c en el archivo de salida hacia el que apunta puntero_archivo. Devuelve el valor int del caracter escrito. Es similar a putc(). Se leen los caracteres del archivo al que apunta puntero_archivo y se colocan dentro de la cadena s hasta que haya leído n - 1 caracteres o un caracter de salto de línea, lo que suceda primero. la cadena s terminada en un caracter nulo se copia en el archivo al que apunta puntero_archivo, a menos que se copie el caracter nulo de terminación.

20 Descriptor de archivos de entrada y salida fseek (puntero_archivo, desplazamiento, lugar) Se establece la posición de la siguiente operación de entrada o salida. desplazamiento es una variable de tipo long; lugar es una variable de int que puede tomar uno de los tres valores 0, 1 o 2 de acuerdo con la posición del archivo: principio del archivo, posición actual o fin de archivo, respectivamente. El puntero del archivo se mueve desplazamiento bytes a partir de lugar. fseek() destruye todos los efectos de ungetc(). rewind (puntero_archivo) Es equivalente a fseek (puntero_archivo, 0L, 0). ftell (puntero_archivo) El desplazamiento actual, desde el principio del archivo al que apunta puntero_archivo, se devuelve como long; en UNIX, el desplazamiento se mide en bytes. unlink (nombre_archivo) El archivo nombrado se elimina del directorio. Si no hay otros enlaces con el archivo en otros directorios, el espacio se devuelve al sistema operativo y se destruye el archivo. Esta funcion devuelve -1 si l archivo no existe o no es accesible; en caso contrario, devuelve cero. Veamos un ejemplo. 1 / C o n v e r t i r a mayusculas t o d a s l a s l e t r a s de un a r c h i v o / 2 3 # i n c l u d e < s t d i o. h> 4 5 # d e f i n e ARCHIVO " / tmp / ejemplo. t x t " 6 7 i n t 8 main ( i n t argc, char a rgv ) { 9 i n t c ; 10 FILE fp ; i f ( ( fp = fopen ( ARCHIVO, " r " ) ) = = NULL) 13 p r i n t f ( " Archivo i n e x i s t e n t e \ n " ) ; 14 e l s e { 15 while ( ( c = g e t c ( fp ) )! = EOF) 16 i f ( a < = c && c < = z ) 17 p u t c h a r ( c + A a ) ; 18 e l s e 19 p u t c h a r ( c ) ; Descriptor de archivos de entrada y salida Un descriptor de archivo es un entero no negativo asociado a un archivo. Estos descriptores de archivos son un medio de comunicación entre las funciones y el sistema operativo UNIX. Estas funciones son dependientes de la máquina y no son portátiles. Descriptores de archivos asociados a los archivos estándar stdin 0 stdout 1 stderr Algunas funciones para usar con descriptores de archivos

21 13 COMO COMPILAR UN PROGRAMA HECHO EN C 21 creat (nombre_archivo, proteccion) open (nombre_archivo, acceso) nombre_archivo es una cadena. En UNIX, la protección se define con códigos octales de tres dígitos; otros sistemas pueden usar convenciones diferentes. creat() devuelve un descriptor de archivo; si falla, devuelve -1. Si ya existe el archivo nombrado, se trunca a la longitud cero; de lo contrario, se crea un nuevo archivo con la protección especificada. Devuelve un descriptor de archivo, o -1 si falla; el acceso es 0 para leer, 1 para escribir y 2 para ambas acciones. Todas las referencias posteriores al archivo deben hacerse a través del descriptor de archivo. close (fd) fd es un descriptor de archivo. Si un archivo esta cerrado, se devuelve 0; de lo contrario, se devuelve -1 como muestra de que fallo. read(fd, buffer, n). Se intenta leer el archivo asociado con el descriptor de archivo fd en la localidad especificada por buffer, n bytes como máximo. Por lo general, buffer es un arreglo de caracteres cuyo tamaño es suficiente para contener n bytes. Si fd es 0 (stdin), entonces se leerá una línea como máximo. El archivo no se lee mas allá de EOF. read() devuelve el numero real de bytes leídos, o -1 en caso de fallar. write (fd, buffer, n) lseek (fd, desplazamiento, lugar) buffer es la dirección de n bytes contiguos de almacenamiento; el contenido de buffer se escribe en el archivo asociado con el descriptor de archivo fd. Se devuelve el numero real de bytes escritos, o -1 en caso de fallar; si el valor que se devuelve no es n, deberá considerarse como un error. desplazamiento es un entero; puede ser negativo, cero o positivo; lugar es un entero que puede ser cero, uno o dos, según la posición en el archivo sea la actual, el inicio o el fin, respectivamente. La posición actual en archivo asociado con el descriptor de archivo fd cambia desplazamiento bytes a partir de lugar y su valor se devuelve como un long. 13. Como compilar un programa hecho en C Para compilar un programa con extensión.c se tiene que invocar al compilador, que en este caso será gcc. Entonces, cuando se ejecuta: gcc Wall g c programa. c gcc o programa programa. o si no hay errores, generara un archivo ejecutable llamado programa.

Programación en C. Algoritmo y Estructura de Datos. Ing. M. Laura López. Programación en C

Programación en C. Algoritmo y Estructura de Datos. Ing. M. Laura López. Programación en C Algoritmo y Estructura de Datos Ing. M. Laura López 1 Estructura de un programa en C 2 Estructura de un programa en C #include Archivos de cabecera # define Definición de constantes Declaraciones Globales

Más detalles

Elementos de un programa en C

Elementos de un programa en C Elementos de un programa en C Un programa en C consta de uno o más archivos. Un archivo es traducido en diferentes fases. La primera fase es el preprocesado, que realiza la inclusión de archivos y la sustitución

Más detalles

Lección 2 Introducción al lenguaje C

Lección 2 Introducción al lenguaje C Lección Introducción al lenguaje C Decimal Binario Hexadecimal A B C D E F Octal Equivalencia entre decimal, binario, hexadecimal y octal. Código ASCII (American Standard Code for Information Interchange)

Más detalles

TEMA 2. LENGUAJE C. CONCEPTOS BÁSICOS Y PROGRAMACIÓN ELEMENTAL.

TEMA 2. LENGUAJE C. CONCEPTOS BÁSICOS Y PROGRAMACIÓN ELEMENTAL. Tema 2. TEMA 2. LENGUAJE C. CONCEPTOS BÁSICOS Y PROGRAMACIÓN ELEMENTAL. PARTE : VARIABLES, OPERADORES Y CONSTANTES.. INTRODUCCIÓN AL LENGUAJE C 2. PROGRAMAS BÁSICOS EN LENGUAJE C 3. DATOS EN LENGUAJE C

Más detalles

Curso de Programación Avanzada en C

Curso de Programación Avanzada en C Curso de Programación Avanzada en C Copyright, 1996 Universidad Sim on Bol ivar 1 Prof. Mariela J. Curiel Contenido del Curso Conceptos BásicosB Estructuras de Control Arreglos Otros tipos de datos derivados

Más detalles

Tipos de Datos en C. Palabras reservadas en C

Tipos de Datos en C. Palabras reservadas en C Tipos de Datos en C Tipo Tamaño de bits Rango char 8-128 a 127 unsigned char 8 0 a 255 signed char 8-128 a 127 int 16 32768 a 32767 unsigned int 16 0 a 65535 signed int 16 Igual que int short int 16 Igual

Más detalles

Informática PRÀCTICA 9 Curs Práctica Nº 9: Rango y precisión de representación de números en el ordenador.

Informática PRÀCTICA 9 Curs Práctica Nº 9: Rango y precisión de representación de números en el ordenador. Departamento de Práctica Nº 9: Rango y precisión de representación de números en el ordenador. Uso de punteros Objetivos de la práctica: - Entender la representación de números (enteros y reales) en el

Más detalles

Laboratorio de Arquitectura de Redes. Entrada y salida estándar

Laboratorio de Arquitectura de Redes. Entrada y salida estándar Laboratorio de Arquitectura de Redes Entrada y salida estándar Entrada y salida estándar Entradas y salidas Salida con formato: printf() Entrada de datos con formato: scanf() El buffer de teclado Entrada

Más detalles

TEMA 2. EL LENGUAJE C. ELEMENTOS BÁSICOS

TEMA 2. EL LENGUAJE C. ELEMENTOS BÁSICOS TEMA 2. EL LENGUAJE C. ELEMENTOS BÁSICOS Una vez que ya sabes crear tus propios programas, vamos a analizar los fundamentos del lenguaje de programación C. Este capítulo incluye además los siguientes temas:

Más detalles

Tipos de datos y Operadores Básicos

Tipos de datos y Operadores Básicos Módulo I: Conceptos Básicos Tema 1. Qué es un ordenador? Tema 2. Cómo se representan los datos en un ordenador? Tema 3. Qué es un lenguaje de programación? Tema 4. Cómo se hace un programa informático?

Más detalles

Lenguaje C Elementos de un Programa. Ing. Hugo Fdo. Velasco Peña Universidad Nacional 2006

Lenguaje C Elementos de un Programa. Ing. Hugo Fdo. Velasco Peña Universidad Nacional 2006 Lenguaje C Elementos de un Programa Ing. Hugo Fdo. Velasco Peña Universidad Nacional 2006 Objetivos Conocer los elementos que conforman un programa en C 1. Elementos léxicos de un Programa Cuando el programa

Más detalles

Informática Ingeniería en Electrónica y Automática Industrial

Informática Ingeniería en Electrónica y Automática Industrial Informática Ingeniería en Electrónica y Automática Industrial Entrada y salida estándar V1.3 Autores Entrada y salida estándar Entradas y salidas Salida con formato: printf() Entrada de datos con formato:

Más detalles

Principios de Computadoras II

Principios de Computadoras II Departamento de Ingeniería Electrónica y Computadoras Operadores y Expresiones rcoppo@uns.edu.ar Primer programa en Java 2 Comentarios en Java Comentario tradicional (multi-línea) Comentario de línea Comentario

Más detalles

Programación en Lenguaje C

Programación en Lenguaje C Lenguaje de programación C Programación en Lenguaje C Introducción El Lenguaje de programación C fue implantado por primera vez en los años 70 por Dennis Ritchie para una computadora DEC PDP-11 corriendo

Más detalles

Programación Estructurada

Programación Estructurada Programación Estructurada PROGRAMACIÓN ESTRUCTURADA 1 Sesión No. 2 Nombre: El lenguaje de programación C Contextualización Una constante en todos los lenguajes de programación (viejos y nuevos) es la implementación

Más detalles

EJERCICIOS. Algo de C CADENAS

EJERCICIOS. Algo de C CADENAS EJERCICIOS (1) Sea el lenguaje Todos los números binarios que contienen el grupo 00 por lo menos una vez. Dibuje el DT de un AFN que lo reconozca. (2) Escriba la descripción formal del AFN diseñado en

Más detalles

JavaScript Básico. Elementos Básicos: Comentarios: Literales: Valores que puede tomar una variable o una constante.

JavaScript Básico. Elementos Básicos: Comentarios: Literales: Valores que puede tomar una variable o una constante. Javascript (II) 1 Elementos Básicos: Comentarios: Para una línea // Esto es un Comentario Para un bloque /*......... */ Literales: Valores que puede tomar una variable o una constante. Ejemplos: "Soy una

Más detalles

INTRODUCCIÓN AL LENGUAJE C

INTRODUCCIÓN AL LENGUAJE C INTRODUCCIÓN AL LENGUAJE C Fundamentos de Informática EUP ULPGC Jose Torres 1 de 36 Historia de C Precursores: muchas ideas provienen de BCPL (Martin Richards, 1967) y de B (Ken Thompson, 1970) C fue diseñado

Más detalles

Programación En Lenguaje C

Programación En Lenguaje C Programación En Lenguaje C Introducción Básica para Primero de Bachillerato TECNOLOGÍA DE LA INFORMACIÓN IES PALAS ATENEA Lenguaje C Estructurado Secuencial De alto Nivel Altamente portable Necesita un

Más detalles

El lenguaje C. 1. Identificadores, constantes y variables

El lenguaje C. 1. Identificadores, constantes y variables Principios de Programación El lenguaje C 1. Identificadores, constantes y variables 1.1. Conceptos de memoria Los nombres de variable como x, y, suma corresponden a localizaciones o posiciones en la memoria

Más detalles

Sintaxis de C Ing. Jose Maria Sola Dr. Oscar Ricardo Bruno

Sintaxis de C Ing. Jose Maria Sola Dr. Oscar Ricardo Bruno 1.1. Gramática Léxica 1.1.1. Elementos Léxicos Sintaxis de C Ing. Jose Maria Sola Dr. Oscar Ricardo Bruno ->

Más detalles

Tema 05: Elementos de un programa en C

Tema 05: Elementos de un programa en C Tema 05: Elementos de un programa en C M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom Estructuras de datos (Prof. Edgardo A. Franco) 1

Más detalles

Programación estructurada (Introducción a lenguaje C)

Programación estructurada (Introducción a lenguaje C) Programación estructurada (Introducción a lenguaje C) M. en C. Sergio Luis Pérez Pérez UAM CUAJIMALPA, MÉXICO, D. F. Trimestre 15-I Sergio Luis Pérez (UAM CUAJIMALPA) Curso de programación estructurada

Más detalles

Lenguajes de programación

Lenguajes de programación Lenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa de computador es una secuencia de estas instrucciones Etapas

Más detalles

Una expresión es una combinación de uno o más operandos y operadores para obtener un resultado.

Una expresión es una combinación de uno o más operandos y operadores para obtener un resultado. 1.6. EXPRESIONES CONCEPTO: Una expresión es una combinación de uno o más operandos y operadores para obtener un resultado. Los operandos pueden ser constantes, variables, otras expresiones e incluso funciones.

Más detalles

TEMA 02 TIPOS, OPERADORES Y EXPRESIONES

TEMA 02 TIPOS, OPERADORES Y EXPRESIONES TEMA 02 TIPOS, OPERADORES Y EXPRESIONES 2.1.- Introducción. 2.2.- Datos. 2.3.- Entrada y salida básica. 2.4.- Modificadores. 2.5.- Cadenas de caracteres. 2.6.- Operadores. 2.7.- Precedencia de operadores.

Más detalles

Tema 5. Entrada y Salida

Tema 5. Entrada y Salida Tema 5 Entrada y Salida Contenidos 1. Conceptos Previos de Entrada y Salida de Datos. 2. Funciones de Salida de Datos. putchar puts printf 3. Funciones de Entrada de Datos. getchar gets scanf 4. Ficheros

Más detalles

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main.

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main. LENGUAJE C CARACTERISTICAS DEL LENGUAJE 'C' El lenguaje 'C' se conoce como un lenguaje compilado. Existen dos tipos de lenguaje: interpretados y compilados. Los interpretados son aquellos que necesitan

Más detalles

Tema 13: Manejo de archivos en lenguaje C

Tema 13: Manejo de archivos en lenguaje C Tema 13: Manejo de archivos en lenguaje C M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom Estructuras de datos (Prof. Edgardo A. Franco)

Más detalles

Lenguaje de programación C. Introducción

Lenguaje de programación C. Introducción Lenguaje de programación C Introducción 1 Elementos del lenguaje C Colección de funciones Estas funciones contienen declaraciones, sentencias, expresiones y otros elementos que en conjunto indican a la

Más detalles

Se guardan en archivos con extencion c y los cabezales con extension h

Se guardan en archivos con extencion c y los cabezales con extension h Se guardan en archivos con extencion c y los cabezales con extension h Tipos de Variables: Tipo Tamaño(bytes) Limite inferior Limite superior char 1 -- -- unsigned char 1 0 255 short int 2-32768 +32767

Más detalles

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta Centro Asociado Palma de Mallorca Antonio Rivero Cuesta La Sintaxis de Java I... 5 Tipos de datos... 6 Tipos de datos simples... 7 Operadores... 11 Operadores Aritméticos... 12 Operadores relacionales...

Más detalles

Tipos de variables. Lenguaje C. Departamento de Electrónica. Tipos de datos, variables y constantes. Fundación San Valero

Tipos de variables. Lenguaje C. Departamento de Electrónica. Tipos de datos, variables y constantes. Fundación San Valero Lenguaje C Tipos de variables Departamento de Electrónica Fundación San Valero Tipos de datos, Cinco tipos de datos básicos: Carácter (char): 8 bits -128 a 127. Entero (int): 32 bits -2.147.483.648 a 2.147.483.647.

Más detalles

Constantes. Las constantes no cambian durante la ejecucion de un programa en C++, en C++ existen 4 tipos de constantes:

Constantes. Las constantes no cambian durante la ejecucion de un programa en C++, en C++ existen 4 tipos de constantes: Constantes Las constantes se pueden declarar con la palabra reservada const y se le asigna un valor en el momento de la declaracion, este valor no se puede modificar durante el programa y cualquier intento

Más detalles

Fundamentos de Programación 2017-I

Fundamentos de Programación 2017-I Fundamentos de Programación 2017-I Fundamentos para la construcción de código a partir del algoritmo Objetivo: El alumno construirá programas utilizando el lenguaje de programación C a través de un análisis

Más detalles

INICIACIÓN A LA PROGRAMACIÓN EN C

INICIACIÓN A LA PROGRAMACIÓN EN C INICIACIÓN A LA PROGRAMACIÓN EN C Estructura de un programa sencillo en lenguaje c: Librería estándar de entrada salida Llave de apertura para delimitar el cuerpo de la función Llave de cierre para delimitar

Más detalles

Lenguaje C. República Bolivariana de Venezuela Fundación Misión Sucre Aldea Fray Pedro de Agreda Introducción a la Programación III

Lenguaje C. República Bolivariana de Venezuela Fundación Misión Sucre Aldea Fray Pedro de Agreda Introducción a la Programación III República Bolivariana de Venezuela Fundación Misión Sucre Aldea Fray Pedro de Agreda Introducción a la Programación III Lenguaje C 1 Puntos previos Los códigos fuentes generados en C requieren ser compilados

Más detalles

LENGUAJE. Tema 2 Elementos de un programa

LENGUAJE. Tema 2 Elementos de un programa LENGUAJE Tema 2 Elementos de un programa ELEMENTOS DE UN PROGRAMA Comentarios. Identificadores. Constantes. Variables. Operadores. Sentencias o instrucciones. COMENTARIOS Los comentarios en C pueden ocupar

Más detalles

Apunte Laboratorio ALPI - El lenguaje de programación Pascal

Apunte Laboratorio ALPI - El lenguaje de programación Pascal Apunte Laboratorio ALPI - El lenguaje de programación Pascal 1 2 ÍNDICE GENERAL Índice 1. Estructura de un Programa en Pascal 3 2. Sintaxis de Pascal 4 2.1. Uso de mayúsculas.....................................

Más detalles

1.1 Tipos de Datos Primitivos. 1.2 Tipos de datos estructurados. 1.3 Definición de estructura de datos

1.1 Tipos de Datos Primitivos. 1.2 Tipos de datos estructurados. 1.3 Definición de estructura de datos 1.1 Tipos de Datos Primitivos 1.2 Tipos de datos estructurados 1.2.1 Arreglos unidimensionales, bidimensionales y cadenas de caracteres 1.2.2 Registros o Estructuras (unión y estructura) 1.3 Definición

Más detalles

Introducción a la Programación

Introducción a la Programación Introducción a la Programación Fundamentos de Programación Ingeniería Informática en Sistemas de Información Alicia Troncoso 1 Contenido l Introducción l Mi primer programa l Etapas a seguir en la programación

Más detalles

OPERACIONES SOBRE LENGUAJES REGULARES LA UNIÓN DE LENGUAJES REGULARES

OPERACIONES SOBRE LENGUAJES REGULARES LA UNIÓN DE LENGUAJES REGULARES OPERACIONES SOBRE LENGUAJES REGULARES LA UNIÓN DE LENGUAJES REGULARES Sean L1 y L2 dos LRs. Entonces L1 L2, es un LR Si L1 es representado por una ER R1 y L2 es representado por cierta expresión R2, la

Más detalles

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 2 - Introducción al lenguaje Java, identificadores y comentarios. Carlos Montenegro Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 1. Introducción: Java tiene como todos

Más detalles

Es un lenguaje estructurado, tiene una abundante cantidad de operadores y tipos de datos.

Es un lenguaje estructurado, tiene una abundante cantidad de operadores y tipos de datos. Lenguaje C Un poco de historia C es un lenguaje de propósito general, es decir, se pueden desarrollar aplicaciones de diversas áreas. Dentro de sus principales características podemos mencionar que: Es

Más detalles

Introducción al lenguaje C

Introducción al lenguaje C Introducción al lenguaje C Ampliación de Informática Belarmino Pulido Junquera Índice 1. Presentación del lenguaje C 2. Estructura de un programa en C 3. Tipos de datos escalares 4. Operadores básicos

Más detalles

Descripción de un Programa

Descripción de un Programa Unidad 2 Descripción de un Programa 1 El Lenguaje C (1) El lenguaje C fue creado en 1972 por Ken L. Thompson y Dennis M. Ritchie en los Laboratorios Bell. Es evolución de un lenguaje más antiguo: B (a

Más detalles

INTRODUCCIóN A LA PROGRAMACIóN APUNTES DE JAVA APUNTES DE JAVA

INTRODUCCIóN A LA PROGRAMACIóN APUNTES DE JAVA APUNTES DE JAVA APUNTES DE JAVA FUNCIONAMIENTO DE UN PROGRAMA Assembler Ensamblador Ejecuta Programador Programa fuente BASIC Interprete Ejecuta C, C++, Pascal Compilador Compila Ejecuta Programa fuente Programa Objeto

Más detalles

Algoritmos y Programación I

Algoritmos y Programación I Algoritmos y Programación I ARREGLOS Y ESTRUCTURAS EN C Arreglos Un arreglo o vector es un conjunto de datos del mismo tipo, almacenados de forma contigua (es decir uno al lado del otro) en memoria principal.

Más detalles

Tipos de Datos. Tipos de Datos Simples Estándar

Tipos de Datos. Tipos de Datos Simples Estándar Departamento de Informática Universidad Técnica Federico Santa María Tipos de Datos Programación de Computadores Profesor: Teddy Alfaro Tipos de Datos Simples Estándar char es un carácter (alfanumérico),

Más detalles

Programación Orientada a Objetos Sentencias Java Parte I Ing. Julio Ernesto Carreño Vargas MsC.

Programación Orientada a Objetos Sentencias Java Parte I Ing. Julio Ernesto Carreño Vargas MsC. Sentencias Java Parte I Ing. Julio Ernesto Carreño Vargas MsC. Variables Conceptos de Memoria Una variable es un espacio en la memoria del PC Cada variable tiene un nombre, un tipo, un tamaño y un valor

Más detalles

ESCUELA POLITÉCNICA SUPERIOR PRÁCTICA 2: EXPRESIONES, PRINTF Y SCANF

ESCUELA POLITÉCNICA SUPERIOR PRÁCTICA 2: EXPRESIONES, PRINTF Y SCANF ESCUELA POLITÉCNICA SUPERIOR GRADO EN DISEÑO IND. INFORMÁTICA CURSO 2012-13 PRÁCTICA 2: EXPRESIONES, PRINTF Y SCANF HASTA AHORA... En prácticas anteriores se ha aprendido: La estructura principal de un

Más detalles

abril de 2017 Desarrollo de aplicaciones en Java Tipos de datos primitivos Tipos de datos Elementos de aplicaciones simples

abril de 2017 Desarrollo de aplicaciones en Java Tipos de datos primitivos Tipos de datos Elementos de aplicaciones simples Desarrollo de aplicaciones en Java Generación de código fuente Compilación Ejecución Elementos de aplicaciones simples EII147-01-02 Introducción a las tecnologías de información Escuela de Ingeniería Industrial

Más detalles

REPRESENTACIÓN DE DATOS

REPRESENTACIÓN DE DATOS REPRESENTACIÓN DE DATOS Tipos de datos primitivos Tipos de Datos Estructurados TIPOS DE DATOS SIMPLES O PRIMITIVOS Dato Longitud Rango 2 TIPOS DE DATOS SIMPLES O PRIMITIVOS Surgen de la necesidad de tener

Más detalles

UNIDAD 1. Algoritmo se define como un conjunto de instrucciones que la computadora debe seguir para resolver un problema.

UNIDAD 1. Algoritmo se define como un conjunto de instrucciones que la computadora debe seguir para resolver un problema. UNIDAD 1 1.1 Definición de Algoritmo La palabra algoritmo se deriva de la traducción al latín del nombre Muhammad Musa Al-khawarizmi, un matemático y astrónomo árabe que en el siglo IX escribió un tratado

Más detalles

Unidad II Fundamentos de C++ M.C. Juan Carlos Olivares Rojas

Unidad II Fundamentos de C++ M.C. Juan Carlos Olivares Rojas Unidad II Fundamentos de C++ M.C. Juan Carlos Olivares Rojas Agenda 2.1 Familiarización con el ambiente de programación 2.2 Análisis de la estructura de un programa 2.3 Envío de mensajes a la salida estándar

Más detalles

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Unidad Didáctica 2 Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.3 Índice

Más detalles

INTRODUCCIÓN AL LENGUAJE DE PROGRAMACIÓN C

INTRODUCCIÓN AL LENGUAJE DE PROGRAMACIÓN C INTRODUCCIÓN AL LENGUAJE DE PROGRAMACIÓN C Programación en Entornos Multitarea Curso 2006/2007 Introducción C: lenguaje de medio nivel 32 palabras clave Eficiencia de ejecución del código generado Portabilidad

Más detalles

Algoritmo, Estructuras y Programación I Ing. Marglorie Colina

Algoritmo, Estructuras y Programación I Ing. Marglorie Colina Unidad II: Fundamentos de la Programación Estructurada Algoritmo, Estructuras y Programación I Ing. Marglorie Colina Estructura General de un Programa Zona de ficheros de cabecera de las librerías Zona

Más detalles

Lenguaje de Programación: C++ ARCHIVOS I/O

Lenguaje de Programación: C++ ARCHIVOS I/O UG C++ Lenguaje de Programación: C++ ARCHIVOS I/O Universidad de Guanajuato Octubre 2010 Como abrir un archivo Antes de poder escribir datos en un archivo, debemos abrirlo, esto significa que debemos decirle

Más detalles

Programación n Orientada a Objetos Sentencias Java Parte I. Ing. Julio Ernesto Carreño o Vargas MsC.

Programación n Orientada a Objetos Sentencias Java Parte I. Ing. Julio Ernesto Carreño o Vargas MsC. Programación n Orientada a Objetos Sentencias Java Parte I Ing. Julio Ernesto Carreño o Vargas MsC. Variables y expresiones aritméticas Variables Conceptos de Memoria Una variable es un espacio en la memoria

Más detalles

Informática PRÀCTICA 3 Curs Práctica Nº 3: Tipos de datos simples. Constantes y variables. Operadores aritméticos. Formato de salida.

Informática PRÀCTICA 3 Curs Práctica Nº 3: Tipos de datos simples. Constantes y variables. Operadores aritméticos. Formato de salida. Práctica Nº 3: Tipos de datos simples. Constantes y variables. Operadores aritméticos. Formato de salida. Objetivos de la práctica: - Mostrar la sintaxis de los diferentes tipos de datos presentes en C/C++.

Más detalles

Elementos léxicos del lenguaje de programación C

Elementos léxicos del lenguaje de programación C Elementos léxicos del lenguaje de programación C Elementos léxicos de los lenguajes de programación (tokens) Palabras reservadas Identificadores Literales Operadores Delimitadores Comentarios Apéndices

Más detalles

Introducción a Java. Introducción a Java. Programación I

Introducción a Java. Introducción a Java. Programación I Introducción a Java Introducción a Java Programación I Como Funciona Tipos de Datos TIPO TAMAÑO RANGO byte 8 bits Valores numéricos de 128 a 127 short 16 bits Valores numéricos de 32.768 a 32.767 int 32

Más detalles

Tema 1 INTRODUCCIÓN A LOS LENGUAJES DE PROGRAMACIÓN

Tema 1 INTRODUCCIÓN A LOS LENGUAJES DE PROGRAMACIÓN Tema 1 INTRODUCCIÓN A LOS LENGUAJES DE PROGRAMACIÓN - Introducción - Sintaxis - Semántica básica - Tipos de datos - Expresiones y enunciados - Procedimientos y ambientes - Tipos abstractos de datos y módulos

Más detalles

Tema 07: Tipos de datos en C & entrada y salida estándar

Tema 07: Tipos de datos en C & entrada y salida estándar Tema 07: Tipos de datos en C & entrada y salida estándar M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom Estructuras de datos (Prof. Edgardo

Más detalles

Tema 6. Gestión de ficheros en C. Programación en Lenguajes Estructurados

Tema 6. Gestión de ficheros en C. Programación en Lenguajes Estructurados Tema 6. Gestión de ficheros en C Programación en Lenguajes Estructurados Tema 6. Gestión de ficheros en C 6.1. Introducción a los ficheros En la mayor parte de los programas se quiere almacenar información

Más detalles

4. Operadores Operador asignación

4. Operadores Operador asignación Programación orientada a objetos con Java 43 4. Operadores Objetivos: a) Describir los operadores (aritméticos, incrementales, de relación, lógicos y de asignación) y los tipos de dato primitivos sobre

Más detalles

Operaciones de E/S en ANSI C

Operaciones de E/S en ANSI C Operaciones de E/S en ANSI C Las operaciones de entrada/salida estándar (realizadas habitualmente con printf y scanf) se realizan en realidad sobre ficheros que representan los dispositivos mediante los

Más detalles

Operadores aritméticos. / División operando enteros o reales si operandos son entero resultado es entero. Resto de caso resultado real

Operadores aritméticos. / División operando enteros o reales si operandos son entero resultado es entero. Resto de caso resultado real 7.1 Operadores aritméticos Operadores aritméticos operadores Operación + Suma operandos pueden ser enteros o reales - Resta operandos pueden ser enteros o reales * Multiplicación operando enteros o reales

Más detalles

Comprender las diferencias entre tipos de datos primitivos similares, y aprender a elegir el tipo más conveniente en cada caso.

Comprender las diferencias entre tipos de datos primitivos similares, y aprender a elegir el tipo más conveniente en cada caso. Elementos básicos de programación en Java Objetivos del tema Conocer la estructura básica de un programa Java. Comprender los conceptos de tipo, valor y variable. Comprender las diferencias entre tipos

Más detalles

Laboratorio de Arquitectura de Redes. Introducción al lenguaje C

Laboratorio de Arquitectura de Redes. Introducción al lenguaje C Laboratorio de Arquitectura de Redes Introducción al lenguaje C Introducción al lenguaje C Introducción Características del lenguaje C Funciones en C Identificadores o etiquetas Las librerías y el linkado

Más detalles

Java. Introducción a la Programación Orientada a Objetos

Java. Introducción a la Programación Orientada a Objetos Java Java es un lenguaje de programación presentado en 1995 enfocado a: soportar los fundamentos de la programación orientada a objetos. generar código independiente de la arquitectura de la computadora

Más detalles

TIPOS DE DATOS BASICOS EN LENGUAJE C

TIPOS DE DATOS BASICOS EN LENGUAJE C TIPOS DE DATOS BASICOS EN LENGUAJE C TIPO char int float double void ANCHO EN BIT 64 0 TIPOS DE DATOS RANGO EN PC -12 a 127 3.4E-3 a 3.4E+3 1.7E-30 a 1.7E+30 sin valores TIPO ANCHO EN BIT RANGO EN PC char

Más detalles

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs. Variables Una variable no es más que un nombre simbólico que identifica una dirección de memoria: Suma el contenido de la posición 3001 y la 3002 y lo almacenas en la posición 3003 vs. total = cantidad1

Más detalles

Laboratorio de Arquitectura de Redes. Punteros en lenguaje C

Laboratorio de Arquitectura de Redes. Punteros en lenguaje C Laboratorio de Arquitectura de Redes Punteros en lenguaje C Punteros en lenguaje C Definición Declaración e inicialización de punteros Operadores de punteros: «*» y «&» Operaciones con punteros Operaciones

Más detalles

Ficheros conceptos. Manejo de ficheros en C. Apertura del fichero Función fopen: nombre del fichero. Apertura del fichero Función fopen

Ficheros conceptos. Manejo de ficheros en C. Apertura del fichero Función fopen: nombre del fichero. Apertura del fichero Función fopen Fundamentos de Informática. Dpto. de ATC - Página 1 de 8 conceptos Manejo de ficheros en C Contienen los datos que se almacenan en dispositivos de almacenamiento masivo: disquetes, discos duros, DROM,

Más detalles

CAPITULO 4: ENTRADA Y SALIDA DE DATOS.

CAPITULO 4: ENTRADA Y SALIDA DE DATOS. CAPITULO 4: ENTRADA Y SALIDA DE DATOS. 1. INTRODUCCIÓN. Hemos visto que el lenguaje C va acompañado de una colección de funciones de biblioteca que incluye un cierto número de funciones de entrada/salida.

Más detalles

Los parámetros: son los campos que se comunican a los métodos de los objetos.

Los parámetros: son los campos que se comunican a los métodos de los objetos. Modulo 6. Variables y Operadores Variables Un objeto almacena los estados en campos, estos campos se conocen en java como variables. Por eso a menudo podemos ver estas dos palabras usadas para referirse

Más detalles

OPERADORES Y EXPRESIONES

OPERADORES Y EXPRESIONES OPERADORES Y EXPRESIONES Una expresión es una combinación de variables, literales y operadores, que representan un valor Operadores aritméticos Operador Función + suma - resta * producto / división % operador

Más detalles

Docente: Juan Carlos Pérez P. Alumno : Fecha : Nota:

Docente: Juan Carlos Pérez P. Alumno : Fecha : Nota: Docente: Juan Carlos Pérez P. Alumno : Fecha : Nota: Justificación: Se pretende con éste contribuir a que el alumno se inicie y conozca el entorno del IDE en la creación de pequeños programas en java Objetivos:

Más detalles

VARIABLES, CONSTANTES Y EXPRESIONES ASIGNACIÓN. TIPOS ELEMENTALES. PRECEDENCIA DE LOS ESTRUCTURAS DE CONTROL. CONDICIONAL E

VARIABLES, CONSTANTES Y EXPRESIONES ASIGNACIÓN. TIPOS ELEMENTALES. PRECEDENCIA DE LOS ESTRUCTURAS DE CONTROL. CONDICIONAL E Java Java es un lenguaje de programación presentado en 1995 enfocado a: soportar los fundamentos de la programación orientada a objetos. generar código independiente de la arquitectura de la computadora

Más detalles

LENGUAJE. Tema 8 Ficheros

LENGUAJE. Tema 8 Ficheros LENGUAJE Tema 8 Ficheros FICHEROS EN C Los ficheros, en contraposición con las estructuras de datos vistas hasta ahora (variables simples, vectores, registros, etc.), son estructuras de datos almacenadas

Más detalles

Actividad Algoritmos, Estructura y Programación I. FOR, DO-WHILE

Actividad Algoritmos, Estructura y Programación I. FOR, DO-WHILE Actividad Algoritmos, Estructura y Programación I. FOR, DO-WHILE 1. Qué es un bucle? 2. A que se denomina cuerpo de un bucle? 3. Define iteración de un bucle. 4. Cuál es el cuerpo de un bucle? 5. Qué es

Más detalles

Operadores y Expresiones

Operadores y Expresiones Operadores y Expresiones Los programas Java constan de datos, sentencias de programas y expresiones. Una expresión es normalmente, una ecuación matemática, tal como 3 * x + 5 * z. En esta expresión, los

Más detalles

Informática General 2016 Cátedra: Valeria Drelichman, Pedro Paleo, Leonardo Nadel, Norma Morales

Informática General 2016 Cátedra: Valeria Drelichman, Pedro Paleo, Leonardo Nadel, Norma Morales UNA / AREA TRANSDEPARTAMENTAL DE ARTES MULTIMEDIALES Licenciatura en Artes Multimediales Informática General 2016 Cátedra: Valeria Drelichman, Pedro Paleo, Leonardo Nadel, Norma Morales JavaScript Algoritmo

Más detalles

Tema 2: EL TIPO DE DATOS ENTERO. INSTRUCCIÓN DE ASIGNACIÓN Y DE COMPOSICIÓN SECUENCIAL

Tema 2: EL TIPO DE DATOS ENTERO. INSTRUCCIÓN DE ASIGNACIÓN Y DE COMPOSICIÓN SECUENCIAL Tema 2: EL TIPO DE DATOS ENTERO. INSTRUCCIÓN DE ASIGNACIÓN Y DE COMPOSICIÓN SECUENCIAL Cualquier duda sobre el contenido de este tema se puede enviar al foro TEORIA2. 2.1.- El tipo de datos entero (byte,

Más detalles

Tema 1: Introducción a C

Tema 1: Introducción a C Fundamentos de Informática I ETSII Tema 1: Introducción a C. Departamento de Sistemas Informáticos y Computación Universidad Politécnica de Valencia Tema 1: Introducción a C Índice: Objetivos Conceptos

Más detalles

Estructuras de Datos Declaraciones Tipos de Datos

Estructuras de Datos Declaraciones Tipos de Datos Departamento de Informática Universidad Técnica Federico Santa María Estructuras de Datos Declaraciones Tipos de Datos Temas: 2-3-4 IWI-131, paralelo 01 Profesor: Teddy Alfaro O. Lenguaje de Programación

Más detalles

TEMA 5. CONTROL DE FLUJO DEL PROGRAMA. Sentencia Instrucción Expresión Operadores + Operandos Sintaxis: Sentencia ;

TEMA 5. CONTROL DE FLUJO DEL PROGRAMA. Sentencia Instrucción Expresión Operadores + Operandos Sintaxis: Sentencia ; TEMA 5. CONTROL DE FLUJO DEL PROGRAMA 5.1 Sentencias Una sentencia es una expresión seguida de un punto y coma. Sentencia Instrucción Expresión Operadores + Operandos Sintaxis: Sentencia ; El ; es obligatorio

Más detalles

Operadores aritméticos

Operadores aritméticos Bloque 3.2 Operadores aritméticos Suma : x + y Resta : x y Multiplicación : x * y División : x / y Módulo : x % y (resto de la división Si los operandos son enteros tipo del resultado

Más detalles

Fundamentos PHP. El término puntuación nos referimos a la sintaxis usada en PHP para la terminación de una línea de código (;)

Fundamentos PHP. El término puntuación nos referimos a la sintaxis usada en PHP para la terminación de una línea de código (;) Tags Fundamentos PHP La Sintaxis de PHP se deriva de muchos lenguajes de programación principalmente de C pero Perl también ha tenido mucha influencia en esta sintaxis Con las últimas incorporaciones agregadas,

Más detalles

Archivos & Cadenas CURSO DE PROGRAMACIÓN EN C. Centro de Investigación y de Estudios Avanzados del IPN. CINVESTAV - Tamaulipas.

Archivos & Cadenas CURSO DE PROGRAMACIÓN EN C. Centro de Investigación y de Estudios Avanzados del IPN. CINVESTAV - Tamaulipas. Archivos & Cadenas CURSO DE PROGRAMACIÓN EN C Centro de Investigación y de Estudios Avanzados del IPN. CINVESTAV - Tamaulipas. Febrero 2016 [Curso de programación en C] - Archivos & Cadenas 1/17 Archivos

Más detalles

Tema 2: Desarrollo de Algoritmos. E.E. de Algorítmica

Tema 2: Desarrollo de Algoritmos. E.E. de Algorítmica Tema 2: Desarrollo de Algoritmos E.E. de Algorítmica Temas a tratar Identificadores Variables Constantes Tipos de Datos Separadores Operadores Aritméticos Unarios Relacionales y Condicionales Nivel de

Más detalles

Tema 3: Entrada/Salida de Ficheros

Tema 3: Entrada/Salida de Ficheros Tema 3: Objetivo: Almacenar datos en un dispositivo de almacenamiento secundario (p.e. disco duro). Pasos a seguir: 1 Abrir fichero 2 Escribir/leer del fichero 3 Cerrar fichero 1 Tema 3: Abrir el fichero:

Más detalles

Universidad de Pamplona Materia: Programación 1 Docente: Ing. Lusbin Raúl Vargas LENGUAJE C ESTRUCTURA DE UN PROGRAMA EN C

Universidad de Pamplona Materia: Programación 1 Docente: Ing. Lusbin Raúl Vargas LENGUAJE C ESTRUCTURA DE UN PROGRAMA EN C Universidad de Pamplona Materia: Programación 1 Docente: Ing. Lusbin Raúl Vargas LENGUAJE C ESTRUCTURA DE UN PROGRAMA EN C Directivas del procesador Main() { Declaraciones Definiciones proposiciones }

Más detalles

Por ejemplo, para declarar un arreglo de enteros llamado a con diez elementos se hace de la siguiente forma:

Por ejemplo, para declarar un arreglo de enteros llamado a con diez elementos se hace de la siguiente forma: Arreglos unidimensionales y multidimensionales Los arreglos son una colección de variables del mismo tipo que se referencian utilizando un nombre común. Un arreglo consta de posiciones de memoria contigua.

Más detalles

Informática. JavaScript: Lenguaje de programación. Fco J. Martín Mateos Carmen Graciani

Informática. JavaScript: Lenguaje de programación. Fco J. Martín Mateos Carmen Graciani Informática JavaScript: Lenguaje de programación Fco J. Martín Mateos Carmen Graciani Dpto. Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Literales Enteros Con base decimal:

Más detalles

Estructura de datos y Programación

Estructura de datos y Programación Estructura de datos y Programación Tema: Conceptos Básicos- Estructuras de control - Arreglos Ing. Analia Méndez Ing. Raquel Zarco Año: 2012 ELEMENTOS DE UN PROGRAMA EN JAVA El programa Java consta de

Más detalles

funciones printf scanf

funciones printf scanf FUNCIONES EN C FUNCIONES Los módulos en C se llaman funciones. Hemos estado utilizando funciones de la biblioteca estandar stdio.h como por ejemplo printf y scanf. Comenzaremos viendo algunas funciones

Más detalles

Objetivos. El alumno conocerá y aplicará el concepto de archivo para el almacenamiento y recuperación de datos persistentes.

Objetivos. El alumno conocerá y aplicará el concepto de archivo para el almacenamiento y recuperación de datos persistentes. Objetivos El alumno conocerá y aplicará el concepto de archivo para el almacenamiento y recuperación de datos persistentes. Al final de esta práctica el alumno podrá: 1. Utilizar las herramientas para

Más detalles