Tema 4: Introducción a la programación I

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

Download "Tema 4: Introducción a la programación I"

Transcripción

1 Tema 4: Introducción a la programación I Objetivos del tema: Una vez visto los fundamentos de un computador y conociendo cuáles son los pasos a seguir para solucionar un problema del mundo real mediante un programa, es el momento de comenzar a estudiar un lenguaje de programación que permita concretar una solución al problema en software. El lenguaje de programación que hemos elegido para esta asignatura es C++, si bien inicialmente empezaremos por C, que puede considerarse una versión limitada del anterior que no soporta la programación orientada a objetos.

2 Programación 2/56 Índice Índice Breve historia de C Variables y tipos de datos Tipos de datos básicos Caracteres Valores lógicos Números enteros Números reales Rango y precisión de los tipos numéricos de C Declaraciones de constantes Datos estructurados Tipos de datos estructurados Tablas Listas Pilas Colas Diccionarios o mapas Árboles...20

3 Programación 3/ Grafos Nuestro primer programa en C Componentes de un programa en C Directivas del preprocesador La directiva #include La directiva #define Comentarios Literales Palabras reservadas Identificadores Símbolos Sentencias Sentencias de control de flujo Bloque de sentencias Sentencia condicional simple : if Expresiones condicionales Sentencias if anidadas Bucles en C Bucle do-while Bucle while...39

4 Programación 4/ Bucle for Bucles anidados Sentencias break y continue Bifurcación múltiple: sentencia switch El operador condicional Terminación del programa: función exit() Ejercicios Apéndice I: sistemas binario, octal y hexadecimal Conversiones entre bases Conversión Binario - Hexadecimal Conversión Hexadecimal - Binario Conversión Binario - Decimal Conversión Decimal - Binario Conversión Decimal - Octal Conversión Decimal Hexadecimal Conversión Binario Octal...56

5 Programación 5/56 1 Breve historia de C A principios de la década de los 70 un pequeño equipo de investigación de los laboratorios Bell de ATT comenzó a desarrollar un nuevo sistema operativo que, con el tiempo, acabaría llamándose UNIX. En esta tarea se encontraron con que programar en lenguaje ensamblador un sistema operativo era excesivamente complicado, además de no permitir portar el sistema operativo a otros ordenadores. Es por ello que decidieron desarrollar un nuevo lenguaje de programación que permitiera construir el sistema operativo. Para ello se inspiraron en otros dos lenguajes de programación en cuyo desarrollo habían participado varios miembros del proyecto: los lenguajes B y BCPL. El lenguaje resultante se llamó C. El nuevo lenguaje de programación resultó ser una herramienta muy útil para programar software de sistemas, por lo que se hizo popular muy rápidamente los laboratorios Bell. Inicialmente no existía ninguna versión definitiva y estable de lenguaje, hasta que en 1978 se escribió el primer libro de referencia sobre él: The C Programming Languge. El lenguaje se hizo muy popular y muchas universidades y fabricantes de ordenadores crearon sus propios compiladores para C. A mediados de la década de los 80 gran parte de la programación de los computadores del mundo se efectuaba en C. La profusión de compiladores, en los que cada fabricante añadía sus propias instrucciones y bibliotecas, llevó a la falta de portabilidad entre los programas. Esto llevó a ANSI (American National Standards Institute) a crear una versión estándar del lenguaje que se llamó ANSI C. Desde entonces ha habido varias revisiones del estándar, la más reciente de ellas en Esta versión de mantenimiento del estándar, C99, añade nuevas características a ANSI C y resuelve ciertos problemas que tenía éste. En la actualidad C se encuentra en cierto declive, por un lado por la aparición de nuevos lenguajes de programación más simples que, a costa de disminuir la eficiencia del programa, abstraen más al programador de los detalles de la maquina y le permiten ser más productivo, a la vez que disminuyen la curva de aprendizaje del lenguaje. Por otro lado, la gran importancia las aplicaciones distribuidas y orientadas a Internet, para las cuales C no fue diseñado ya que fue creado más de 20 años antes de la aparición de Internet, hacen que en muchas ocasiones sean preferibles otros lenguajes de programación. Sin embargo, sigue habiendo ciertas aplicaciones para las cuales C (o su versión orientada a objetos, C++) siguen siendo la mejor herramienta: los sistemas operativos, los vídeo

6 Programación 6/56 juegos y, en general, las aplicaciones de escritorio están mayormente desarrolladas en C. Por otro lado, este lenguaje de programación ha influido notablemente en los lenguajes que más apogeo tienen en la actualidad y que están llamados a ser los dominantes el día de mañana: Java y C#. C es un lenguaje de propósito general, esto es, desde él puede abordarse prácticamente cualquier tipo de problema. Es un lenguaje de bajo-medio nivel, que permite el acceso al hardware de la computadora de manera que se puede hacer uso eficiente de los recursos con los que cuenta un equipo. Esto lo hace especialmente adecuado para aquellos problemas que requieran cálculo intensivo y una gestión cuidadosa del espacio de almacenamiento. Se ajusta muy bien a los esquemas de diseño jerárquico de arriba a abajo y, por tanto, a la programación estructurada y a la modular. 2 Variables y tipos de datos Las variables son identificadores utilizados para almacenar datos. Cada variable se asocia con una determinada zona dentro de la memoria del ordenador cuyo tamaño dependerá del tipo de dato que almacene la variable. Todos los datos a nivel de la máquina se representan en una secuencia de bits; sin embargo C, en particular, y los lenguajes de alto nivel, en general, permiten basarse en abstracciones que permiten ignorar los detalles de la representación interna de los datos. Las variables pueden contener diferentes valores durante los diferentes pasos de la ejecución de un programa. Todas las variables en C deben definirse antes de su uso. Una variable se define la siguiente forma: tipo_de_dato nombre_variable; esta sentencia define la variable nombre_variable que almacenará un dato del tipo tipo_de_dato. Es posible definir varias variables del mismo tipo a la vez: tipo_de_dato nombre_variable1, nombre_variable2,..., nombre_variablen; Al definir una variable es posible inicializarla, esto es, darle un valor inicial. tipo_de_dato nombre_variable = valor;

7 Programación 7/56 Si intentamos acceder al valor de la variable antes de inicializarla ésta puede contener un valor cualquiera que podría diferir dependiendo de la plataforma en la que se ejecute el programa, por lo que siempre debemos darle un valor inicial a las variables antes de usarlas y no confiar en la inicialización por defecto del compilador. El nombre de una variable es una forma simbólica de llamar a la dirección de memoria donde comienza el dato que almacena. Los nombres de las variables deben guardar relación con el objeto que representa. En C existen una serie de tipos de datos básicos que es posible componer para crear tipos de datos más complejos adaptados a las necesidades particulares un programa. Empezaremos viendo cuáles son los tipos de datos básicos. 3 Tipos de datos básicos En C hay tres categorías básicas de tipos de datos: caracteres, números enteros y números reales. Además, muchos lenguajes de programación incluyen como tipo básico de datos variables lógicas o boolean. 3.1 Caracteres El tipo de datos char se emplea para almacenar caracteres, o enteros de 8 bits. Los literales de tipo carácter se representan mediante un único carácter encerrado entre comillas simples. Así por ejemplo: char letra = a ; define una variable de tipo carácter que se llama letra y que contiene el carácter a. Hay ciertos caracteres especiales (también se les denomina secuencias de escape) cuya representación textual no coincide con su representación en pantalla (una tabulación, el carácter de nueva línea, etc.), pudiendo incluso no tener ningún tipo de presentación en pantalla sino realizando alguna acción (emitir un sonido, avanzar una página, etc.) o poseyendo un significado especial dentro del lenguaje de programación (el carácter de fin de cadena). Estos caracteres de escape son: '\0' carácter de fin de cadena '\a' carácter de alarma

8 Programación 8/56 '\b' retroceso '\f' avance de hoja '\n' nueva línea '\r' retorno que carro '\t' tabulador horizontal '\v' tabulador vertical '\\' diagonal invertida '\?' interrogación '\'' apóstrofo '\"' comillas '\ooo' representa el carácter cuya posición de la tabla ASCII se corresponde con el número octal "ooo". '\xhh' representa el carácter cuya posición de la tabla ASCII se corresponde con el número hexadecimal "hh". Los caracteres se representan en el ordenador mediante el código ASCII, American Standard Code for Information Interchange (Código Estadounidense Estándar para el Intercambio de Información), un código de caracteres basado en el alfabeto latino tal como se usa en inglés moderno y otras lenguas occidentales. Creado en 1963 por el Comité Estadounidense de Estándares (ASA) como una evolución de los conjuntos de códigos utilizados entonces en telegrafía. A continuación mostramos la tabla de caracteres ASCII:

9 Programación 9/ Valores lógicos Se emplean para representar valores lógicos, esto es, datos que sólo pueden ser ciertos o falsos. Su representación depende de la implementación de cada lenguaje; en ocasiones se emplea TRUE para representar una condición que se satisface y FALSE para una que no se satisface; otra opción es emplear un 0 para representar una condición que no se satisface y un 1 (o un valor numérico cualquiera distinto cero) para representar una condición se satisface. C tradicionalmente no ha contado con un tipo de dato para representar los valores lógicos. En C cualquier valor entero que tome un valor diferente de cero se interpreta como un dato lógico que toma el valor cierto, y cualquier valor entero que tome el valor cero se interpreta como un dato lógico que toma el valor falso. C99 introdujo un nuevo tipo de dato, _Bool, para representar valores lógicos. Dado lo reciente de esta especificación, todavía hay compiladores que no lo soportan. Por otro lado, las librerías estándar de C (y

10 Programación 10/56 la gran cantidad de código C que se escribió antes de esta especificación), definidas antes de esta especificación, emplean enteros para representar valores lógicos. Finalmente, el empleo de este nuevo tipo de dato rompe la compatibilidad entre C y C++, ya que impide compilar con un compilador del segundo lenguaje código del primero: para C++ _Bool no es un tipo de dato, ni una palabra reserva. Por todos estos motivos, en este texto no se empleará el tipo de dato _Bool en los programas C, sino que se emplearán variables enteras para representar valores lógicos. 3.3 Números enteros Los números enteros, como su propio nombre indica, representan datos numéricos que no tienen parte decimal. Existen varias formas de representar un número entero en código binario. Números enteros sin signo: o Binario puro: el número entero se representa por su binario correspondiente o Decimal codificado en binario (BCD): se usa un grupo de 4 bits por cada dígito decimal Números enteros con signo o Representación en signo-magnitud (SM): el bit que va más a la izquierda representa el signo (0 si es un número positivo,1 si es un número negativo) y el resto representan la magnitud El rango de valores que se puede presentar es: -2 n-1 +1 x 2 n-1-1. o Complemento a 1 (C-1): los números positivos se representa n igual que en SM. En los negativos se cambian los 0s por 1s.

11 Programación 11/ Rango de representación: -2 n-1 +1 x 2 n-1-1. o Complemento a (C-2): los números positivos se representan igual que en SM. En los negativos se cambian los 0s por 1s y se suma = Rango de representación: -2 n-1 x 2 n-1-1. o Exceso a 2 n-1 : No hay bit para el signo. Se representa en binario el valor correspondiente con número + exceso (2 n-1 ), donde exceso (2 n-1 ) es el número entero una unidad superior al mayor número que se puede presentar con n-1 bits = = Rango de representación: -2 n-1 x 2 n-1-1. En C, los tipos de datos enteros pueden ser char, short, int o long que almacenan, habitualmente, enteros de 8, 16, 32 o 64 bits, respectivamente. int numero, altura, profundidad; long balance, distancia; A los tipos char e int se les pueden aplicar los modificadores signed y unsigned para que sean con signo o sin signo. Los tipos con signo tienen un bit menos de longitud. El tipo char puede corresponder a signed char o unsigned char dependiendo del compilador.

12 Programación 12/56 Los números enteros se pueden representar tanto el formato decimal como octal (para ello se debe anteponer un 0 al número 0712) y en hexadecimal (se antepone un 0x al número 0xFA81). Para más información acerca de estos sistemas de numeración y las conversiones entre distintos sistemas consultar el apéndice del capítulo. Los tipos int y long admiten el modificador long (e int el short) para indicar el número de bits (mayor o menor rango de valores). 3.4 Números reales Los números reales se emplean, habitualmente, para presentar números que tienen una parte decimal; en ocasiones también se le ampara representan números enteros cuyo tamaño demasiado grande para ser representado por los datos de tipo enteros. Los números reales se pueden representar como un conjunto dígitos del 0 al 9 más el punto decimal: O también en notación científica o exponencial: " mantisaeexponente". Número = mantisa * Base de exponenciación exponente Mantisa: número real Base de exponenciación (E): base decimal. Exponente: exponente correspondiente a un número entero con su signo 2.5E3 2.5x E x10-2 Internamente, los números reales se representan en notación científica; la base es 2, la mantisa en binario puro (SM, C-1, C-2), y el exponente en exceso a 2 n-1 (ó SM). En C los números reales de simple precisión (32 bits) se representan como sigue: Signo: 1 bit (posiciones 31) Exponente: 8 bits (posiciones 23 a 30)

13 Programación 13/56 Mantisa: 23 bits (posiciones 0 a 22) Y los de doble precisión precisión (64 bits): Signo: 1 bit (posiciones 63) Exponente: 11 bits (posiciones 52 a 62) Mantisa: 52 bits (posiciones 0 a 51) Los tipos de datos reales son float y double; el segundo almacena números de mayor tamaño y con una mayor precisión que el primero. Ejemplos de uso de este tipo de de datos son: float elevacion = 2.43, x = 4.0; El tipo double admiten el modificador long para indicar es irse un número mayor de bits (mayor o menor rango de valores). 3.5 Rango y precisión de los tipos numéricos de C El número de bits, alcance y precisión de los tipos (tanto enteros como reales) de datos dependen de cada compilador, aunque suelen ser similares para una misma CPU (I80x86, SPARC, Alpha, etc.), ya que se adaptan a los que suministra ésta. Debido esta variación entre distintos compiladores el mejor modo de conocer el rango de valores que pueden representar cada uno de los tipos de datos es consultar los archivos de cabecera limits.h y float.h, que, respectivamente, nos indican los valores mínimo y máximo para cada uno de los tipos de datos enteros y reales. Para que el alumno tenga ciertas referencias del rango la precisión de los distintos tipos de datos listamos a continuación los valores que típicamente se emplean actualmente para los tipos de datos más comunes. En primer lugar indicamos el tamaño en bits del dato y a continuación su rango. char: a 127 unsigned char: 8 0 a 255 signed char: a 127 int: a

14 Programación 14/56 unsigned int: 32 0 a signed int: a short int: a unsigned short int: 16 0 a signed short int: a long int: a signed long int: a unsigned long int: 32 0 a long long: 64 9,223,372,036,854,775,808 a 9,223,372,036,854,775,807 float: 32 seis dígitos de precisión 3.4 x a 3.4 x double: 64 diez dígitos de precisión 1.7 x a 1.7 x long double: dígitos de precisión 3.4 E a 1.1 E Declaraciones de constantes Hemos visto una forma de representar datos cuyo valor no cambia (constantes) en un programa C: mediante la declarativa define. Esta declarativa hace que el preprocesador sustituya toda las ocurrencias de un identificador por un determinado valor, siendo por tanto el valor de la constante un literal en el programa C que es compilado. También es posible definir una constante empleando una variable cuyo contenido no puede ser modificado durante la ejecución del programa. Para ello se emplea la palabra reservada const: const int i= 8; tras esta definición cualquier intento de asignar un valor a la variable i provocará un error en el compilador., así, el siguiente código sería ilegal: const int i= 8; i=8;

15 Programación 15/56 4 Datos estructurados La resolución de un problema puede complicarse o simplificarse notablemente dependiendo de la representación elegida para los datos. Los tipos de datos básicos que hemos visto hasta ahora a menudo resulta una representación demasiado simple para los datos de los problemas del mundo real. Es por ello por lo que se definen estructuras de datos, esto es, una colección de variables homogéneas o heterogéneas con algún tipo de relación entre ellas. Estas estructuras de datos pueden clasificarse, en función de su almacenamiento, en datos internos y datos externos. Los datos internos son los que residen en la memoria principal del ordenador, mientras que los externos residen en los dispositivos de almacenamiento masivo. Dependiendo si el tamaño los datos puede o no cambiar durante la ejecución del programa los datos se clasifican estáticos (su tamaño no puede variar durante la ejecución del programa) y dinámicos (su tamaño sí varía durante la ejecución del programa). Dependiendo de las relaciones que guarda no datos entre si se pueden clasificar en datos lineales, aquellos que están enlazados a un elemento anterior y a uno posterior, y datos no lineales, que pueden estar enlazados múltiples elementos. Por último, si cada dato individual está formado por un conjunto de datos simples o primitivos (carácter, real, entero o lógico) se dice que los datos son compuestos. 4.1 Tipos de datos estructurados Tablas Son estructuras estáticas de datos homogéneos que están constituidas por un número fijo de elementos situados en direcciones contiguas memoria. Dependiendo de su dimensionalidad se clasifican en: Unidimensionales, son los llamados vectores o arrays. Bidimensionales, también llamados matrices. Multidimensionales, o poliedros.

16 Programación 16/56 Se suelen emplear para representar colecciones de datos homogéneas relacionadas lógicamente ellas y de carácter estático, como puede ser los días de la semana (array) o un listado de las notas que cada alumno de una clase ha obtenido en las diferentes asignaturas (matriz). Posición Lunes Martes Miércoles Jueves Viernes Sábado Domingo Alumno/ asignatura Alumno 1 Alumno 2 Alumno 3 Alumno 4 Asignatura Asignatura Asignatura Listas Es una estructura dinámica de datos constituida por elementos (que habitualmente son del mismo tipo) denominados nodos. Esta estructura se corresponde con el concepto de "lista" de la vida cotidiana: una lista de la compra, la lista de invitados a una boda o la lista de las películas más taquilleras se corresponden con esta estructura. En una lista es posible acceder a cualquier elemento, sin importar en la posición en la que esté, siendo posible eliminarlo o modificarlo y añadir elementos en cualquier posición. Dependiendo de cómo se relacionan entre sí los distintos elementos de una lista, éstas se pueden clasificar en: Simplemente enlazadas: cada elemento de la lista está enlazado con el siguiente elemento. Doblemente enlazadas: cada elemento de la lista está enlazado

17 Programación 17/56 con los elementos siguiente y anterior. Listas circulares: son aquellas listas en las cuales el último elemento está enlazado con el primero. Las operaciones típicas que se pueden realizar sobre una lista son: Insertar, eliminar o buscar un nodo. Vaciar la lista de elementos. Extraer un su conjunto de elementos de la lista. Concatenar dos listas. Comprobar si la lista está vacía o no. Existen dos tipos de listas muy empleadas en computación que son casos particulares de las listas generales: las colas y las pilas Pilas Una pila es una lista basada en el criterio LIFO (last in first out, el último que entra es el primero que sale). Los elementos se añaden apilándose unos sobre otros y sólo se tiene acceso al que está en la parte superior.

18 Programación 18/56 Las pilas también son estructuras de uso común en la vida real: una pila de libros que está sobre una mesa, una pila de latas de coca cola en un supermercado o la pila de papeles que usa la impresora para imprimir. En computación, son empleadas tanto por los compiladores como por los intérpretes para ejecutar programas. Las operaciones típicas que se pueden realizar sobre una pila son: Apilar un elemento en la parte superior (push). Extraer elemento que se encuentra en la parte superior (pop). Comprobar si la pila está vacía. Vaciar la pila. Obtener elemento que está encima de la pila sin extraerlo (top) Colas Una cola es una lista basada en el criterio FIFO (first in first out, el primero que entra es el primero que sale). Los nuevos elementos se añaden en la parte de atrás y la extracción de elementos se realiza por la de delante. Nuevamente, esta estructura informática se inspira en soluciones de la vida real: la cola del supermercado, la cola de trabajos en una impresora, o la cola del comedor universitario funcionando modo similar a esta estructura. Las operaciones típicas que se puede realizar sobre una cola son: Añadir un elemento la cola. Extraer el primer elemento de la cola. Comprobar si la cola está vacía. Vaciar todos los elementos la cola. Obtener el primer elemento de la cola sin extraerlo.

19 Programación 19/ Diccionarios o mapas Es una estructura dinámica de datos formada por una serie de parejas (clave, valor). Conociendo la clave es posible recuperar el valor correspondiente. Una guía telefónica o un diccionario son ejemplos del mundo real que funcionan de un modo similar a estructura. En ellos la clave sería el nombre de la persona cuyo teléfono queremos averiguar o la palabra cuya definición estamos buscando, y el valor sería el número de teléfono y la definición, respectivamente. En un mapa, los distintos elementos pueden encontrarse ordenados o no según su clave, y dependiendo del tipo de mapa es posible que se permitan claves repetidas o que no se permita la repetición claves. Las operaciones típicas que se realizan sobre un diccionario o mapa son: Insertar una pareja (clave, valor). Eliminar una pareja (clave, valor). Recuperar el valor asociado a una clave. Comprobar si una clave pertenece o no a la estructura. Listar todas las claves. Listar todos los valores. Borrar todos los elementos.

20 Programación 20/ Árboles Representan estructuras jerárquicas en las que cada nodo tiene un único antecesor pero puede tener varios sucesores. Existe un elemento denominado raíz sin antecesor del cual derivan todos los demás. Un tipo muy común de árboles son los árboles binarios, donde cada nodo tiene como máximo dos descendientes. Los árboles gramaticales para analizar las oraciones del lenguaje o un árbol genealógico son ejemplos del mundo real de función de un modo similar a esta estructura Grafos Un grafo es un conjunto de nodos conectados mediante arcos sin ningún tipo de restricción entre las conexiones que se pueden establecer entre un nodo y los demás. Si, por ejemplo, quisiésemos representar gráficamente las distancias que hay entre distintas ciudades de un país que están conectadas de modo directo entre sí esta sería la estructura más adecuada representar esta información..

21 Programación 21/56 5 Nuestro primer programa en C Un programa en C es un fichero de texto, normalmente con extensión.c, que contienen las sentencias del lenguaje. A continuación mostramos un programa muy simple que imprime en pantalla el texto " Hola mundo!": /* *Nuestro primer programa. *ejemplo4_1.c */ #include <stdio.h> int main(void) { printf(" Hola mundo!"); El texto que está delimitado entre /* */ es un comentario para el programador y, por tanto, no hace que se ejecute ninguna sentencia. La ejecución del programa comienza por la primera línea de la función principal, el main. En este caso la única sentencia que tiene la función principal es un printf, que imprime por pantalla el texto que se le pasa como argumento. Para compilar este programa desde la línea de comandos empleando, por ejemplo, con el compilador gcc emplearemos el comando "gcc ejemplo4_1.c". Como resultado tendremos un fichero de nombre " a.out" en Linux, o " a.exe" en Windows. Si queremos indicar el nombre del archivo ejecutable podemos emplear la opción "-o": "gcc -o ejemplo4_1 ejemplo4_1.c". 6 Componentes de un programa en C Un programa puede contener los siguientes elementos: directivas del preprocesador, comentarios, palabras reservadas, identificadores, símbolos, y literales. Ejemplo: /* *ejemplo4_2.c */ #include "stdio.h" int numero; /* este programa es muy simple */

22 Programación 22/56 main() { numero=5; if (numero>3) printf("el numero es %d ", numero); En este programa: #include "stdio.h" : es una directiva del preprocesador. /* este programa es muy simple */ : es un comentario. int, main, if : son palabras reservadas. numero, printf son identificadores. ; ( ) >, " { son símbolos. "El numero es %d ", 5 y 3 son literales. El formato en que se deben describir los distintos componentes de un programa en C es bastante libre, y se rige por las siguientes reglas: No se pueden pegar palabras (no es correcto escribir "intnumero"). No se pueden partir palabras (no es correcto "ma in"). Se diferencian las mayúsculas de las minúsculas (numero es distinto de Numero). El número de espacios en blanco entre palabras (1 o más) o símbolos (0 o más) no importa. El formato de las líneas es libre, se puede escribir el mismo programa en una sola línea o en varias, siempre que no dividamos una palabra o un literal en dos partes. El ejemplo siguiente muestra dos formas equivalentes de escribir una sentencia de C. if (numero>3) printf("el numero es %d ", numero); es lo mismo que if (numero>3) printf("el numero es %d ", numero); Cada sentencia (no cada línea) finaliza con un punto y coma (generalmente).

23 Programación 23/56 Cualquier identificador (variable, constante o función) que usemos en el programa debe ser definido antes de ser utilizado. El compilador traduce el programa leyéndolo de arriba a abajo y da un error si encuentra que se utiliza algo que no ha sido definido previamente. A continuación veremos más en detalle cada uno de los componentes que pueden aparecer en un programa C. 6.1 Directivas del preprocesador El preprocesador de C es un programa que se ejecuta automáticamente con el compilador y que realiza ciertas modificaciones sobre el código fuente. El compilador actuará sobre el código fuente modificado. Algunas de estas modificaciones son automáticas, mientras que otras pueden ser indicadas por el usuario sobre el programa antes de que se compile. Las modificaciones a realizar se indican por una directiva del preprocesador, que comienza por el símbolo #. Algunas de las directivas existentes son: #define #if #line #elif #ifdef #pragma #else #ifndef #undef #error #include Las directivas #include y #define son las que se utilizan con más frecuencia, por lo que se describirán a continuación La directiva #include Esta directiva hace que el código fuente contenido en un fichero se lea de disco y se compile como si estuviese dentro del programa que se está compilando. El formato de esta directiva es: # include "fichero" o #include <fichero> Cuando se utilizan los caracteres < >, el preprocesador busca el fichero a incluir en un directorio o directorios definidos en la instalación del compilador (generalmente, un directorio llamado INCLUDE). Cuando se utilizan los caracteres " ", se busca el fichero

24 Programación 24/56 primero en el directorio actual (desde el que se utiliza el compilador), y después en dichos directorios. Esta directiva funciona del siguiente modo. Supongamos que tenemos un fichero de programa (prueba.c) y un fichero con definiciones adicionales (cosas.h) a incluir en el mismo. Cuando el preprocesador encuentra el #include "cosas" lo elimina, incluye las líneas de cosas.h el fichero prueba.c y después compila el fichero modificado. El preprocesador no modifica realmente el fichero en disco, sino que hace todo el trabajo en memoria o en una copia temporal del fichero, que borra después de la compilación. Todo este proceso se realiza de forma automática al compilar el programa, sin requerirse la intervención del programador. Veamos un ejemplo: /* *ejemplo4_3.c */ #include "cosas.h" float Area; main() { Area=Pi*radio*radio; printf ("Area: %f", Area); el programa a incluir será: cosas.h float Pi=3.1416; int radio=5; El programa que genera el preprocesador y que será compilado por el compilador es: float Pi=3.1416; int radio=5; float Area; main() { Area=Pi*radio*radio; printf ("Area: %f", Area); Los archivos que se incluyen suelen ser fragmentos de programa con definiciones de tipos, variables o funciones, para utilizarlos en el programa principal. Se denominan archivos de

Tema 4: Introducción a la programación I

Tema 4: Introducción a la programación I Tema 4: Introducción a la programación I Objetivos del tema: Una vez visto los fundamentos de un computador y conociendo cuáles son los pasos a seguir para solucionar un problema del mundo real mediante

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

Lenguaje C. Tipos de Datos Simples y Estructuras de Control

Lenguaje C. Tipos de Datos Simples y Estructuras de Control Lenguaje C Tipos de Datos Simples y Estructuras de Control Lenguaje C C es un lenguaje de programación creado en 1972 por Dennis M. Ritchie en los Laboratorios Bell como evolución del anterior lenguaje

Más detalles

1 Estructura básica de un programa C++

1 Estructura básica de un programa C++ Elementos básicos de un lenguaje de alto nivel: C++ CONTENIDOS 1. Estructura básica de un programa C++. 2. Tipos de datos simples. 3. Constantes y variables en C++. Declaración. 4. Operadores y expresiones.

Más detalles

Elementos léxicos del lenguaje de programación Java

Elementos léxicos del lenguaje de programación Java Elementos léxicos del lenguaje de programación Java Elementos léxicos del lenguaje de programación Java Palabras reservadas Identificadores Literales Operadores Delimitadores Comentarios Apéndices Operadores

Más detalles

CONCEPTOS BASICOS DEL LENGUAJE JAVA

CONCEPTOS BASICOS DEL LENGUAJE JAVA CONCEPTOS BASICOS DEL LENGUAJE JAVA NOMENCLATURA GENERAL En Java se distinguen las letras mayúsculas y minúsculas. Las reglas del lenguaje respecto a los nombres de variables son muy amplias y permiten

Más detalles

TEMA 4. ELEMENTOS BÁSICOS DE PROGRAMACIÓN

TEMA 4. ELEMENTOS BÁSICOS DE PROGRAMACIÓN TEMA 4. ELEMENTOS BÁSICOS DE PROGRAMACIÓN 4.1 Definiciones y palabras reservadas básicas del C El lenguaje C++ está compuesto por: 32 palabras clave (estándar ANSI), comunes a todos los compiladores de

Más detalles

Programación básica C++

Programación básica C++ Programación en Lenguaje C++ Programación básica C++ 6.3.1 Declaración de variables Introducción 6 Las variables sirven para identificar un determinado valor. Es importante tener en cuenta, que una variable

Más detalles

Preliminares. Tipos de variables y Expresiones

Preliminares. Tipos de variables y Expresiones Preliminares. Tipos de variables y Expresiones Felipe Osorio Instituto de Estadística Pontificia Universidad Católica de Valparaíso Marzo 5, 2015 1 / 20 Preliminares Computadoras desarrollan tareas a un

Más detalles

www.aprendoencasa.com Curso Introducción JAVA Pág.: 1

www.aprendoencasa.com Curso Introducción JAVA Pág.: 1 www.aprendoencasa.com Curso Introducción JAVA Pág.: 1 Introducción Java es un lenguaje basado en la programación orientada a objetos (POO), este tipo de programación va más allá del tipo de programación

Más detalles

LENGUAJE. Tema 1 - Introducción

LENGUAJE. Tema 1 - Introducción LENGUAJE Tema 1 - Introducción HISTORIA DEL LENGUAJE C El lenguaje de programación C fue creado por Dennis Ritchie cuando trabajaba en Bell Laboratories de AT&T junto con Ken Thompson en el diseño del

Más detalles

Tema 9. Vectores y Matrices

Tema 9. Vectores y Matrices Tema 9. Vectores y Matrices OBJETIVO En temas anteriores hemos declarado variables simples de tipo int, float, o de cualquier otro tipo simple. A menudo necesitaremos declarar una colección de variables,

Más detalles

Tema 3 Elementos básicos de programación

Tema 3 Elementos básicos de programación Representación de Datos y Aplicaciones Tema 3 Elementos básicos de programación Natividad Martínez Madrid nati@it.uc3m.es Objetivos del tema 3 Conocer la estructura básica de un programa Java Comprender

Más detalles

Tema 5 Sentencias de control de flujo. Fundamentos de Informática

Tema 5 Sentencias de control de flujo. Fundamentos de Informática Tema 5 Fundamentos de Informática Sentencias de Control Tipos de sentencias de control: Comprobación lógica para bifurcar el flujo de un programa. Sentencias de control condicional o alternativo Comprobació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

TEMA 3: EL LENGUAJE C: PRESENTACIÓN

TEMA 3: EL LENGUAJE C: PRESENTACIÓN TEMA 3: EL LENGUAJE C: PRESENTACIÓN Historia del lenguaje C Características del lenguaje C Estructura de un programa en C El editor de textos: elementos Funciones: de usuario y de librería Librerías de

Más detalles

Estructura de Datos. Unidad I Tipos de Datos

Estructura de Datos. Unidad I Tipos de Datos Estructura de Datos Unidad I Tipos de Datos Conceptos Básicos Algoritmo: es una secuencia finita de pasos o instrucciones ordenadas crono-lógicamente que describen un método para resolver un problema específico.

Más detalles

Introducción al tipo de dato ARRAY

Introducción al tipo de dato ARRAY CONTENIDOS. Introducción al tipo de dato ARRAY. Definición, Características, Declaración, Acceso e Inicialización.. Arrays multidimensionales Definición, Declaración, Acceso e Inicialización. Introducción

Más detalles

Tema 2. El lenguaje de programación Java (Parte 1)

Tema 2. El lenguaje de programación Java (Parte 1) Programación en Java Tema 2. El lenguaje de programación Java (Parte 1) Luis Rodríguez Baena Facultad de Informática Elementos del lenguaje (I) El juego de caracteres. No utiliza ASCII, sino Unicode de

Más detalles

3.2 Operaciones aritmético-lógicas en Pascal

3.2 Operaciones aritmético-lógicas en Pascal 3.2 Operaciones aritmético-lógicas en Pascal Operadores Los operadores sirven para combinar los términos de las expresiones. En Pascal, se manejan tres grupos de operadores : 1. ARITMÉTICOS 2. RELACIONALES

Más detalles

Scripting en el cliente: Javascript. Tecnologías Web

Scripting en el cliente: Javascript. Tecnologías Web Scripting en el cliente: Javascript Tecnologías Web Motivación Por qué usar JavaScript? Permite crear efectos atractivos visualmente Permite crear sitios WEB que se visualicen de la misma manera en distintos

Más detalles

Aprendiendo a programar Microcontroladores PIC en Lenguaje C con CCS

Aprendiendo a programar Microcontroladores PIC en Lenguaje C con CCS Aprendiendo a programar Microcontroladores PIC en Lenguaje C con CCS Por Andrés Raúl Bruno Saravia Entrega Nº 5. Cómo declaramos una variable en Lenguaje C? En C siempre se deben declarar las variables.

Más detalles

Contenido. Capítulo 1. Introducción a lenguaje C 1

Contenido. Capítulo 1. Introducción a lenguaje C 1 Contenido Capítulo 1. Introducción a lenguaje C 1 Introducción... 2 Qué es un lenguaje de programación?... 2 Tipos de lenguajes de programación... 2 Introducción a lenguaje C... 2 Historia de lenguaje

Más detalles

Introduccion al Lenguaje C. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia

Introduccion al Lenguaje C. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Introduccion al Lenguaje C Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Introducción C es un lenguaje de programación creado en 1972 por

Más detalles

Introducción a la Programación 11 O. Humberto Cervantes Maceda

Introducción a la Programación 11 O. Humberto Cervantes Maceda Introducción a la Programación 11 O Humberto Cervantes Maceda Recordando En la sesión anterior vimos que la información almacenada en la memoria, y por lo tanto aquella que procesa la unidad central de

Más detalles

TEMA 8: ESTRUCTURAS DE DATOS COMPLEJAS 1 VECTORES ESTÁTICOS 2 2 CADENAS O VECTORES DE CARACTERES 6 3 PASO DE CADENAS Y ARRAYS A FUNCIONES 8

TEMA 8: ESTRUCTURAS DE DATOS COMPLEJAS 1 VECTORES ESTÁTICOS 2 2 CADENAS O VECTORES DE CARACTERES 6 3 PASO DE CADENAS Y ARRAYS A FUNCIONES 8 TEMA 8: ESTRUCTURAS DE DATOS COMPLEJAS 1 VECTORES ESTÁTICOS 2 1.1 VECTORES O ARRAYS UNIDIMENSIONALES 2 1.2 ARRAYS MULTIDIMENSIONALES 3 1.3 INICIALIZACIÓN DE ARRAYS 4 1.3.1 INICIALIZACIÓN DE ARRAYS SIN

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

Capitulo 12. Tira de bits

Capitulo 12. Tira de bits Capitulo 12. Tira de bits 12.1 Representación de números naturales (enteros positivos) base 10 base 2 base 16 decimal binario hexadecimal 0 0 0 1 1 1 2 10 2 3 11 3 4 100 4 5 101 5 6 110 6 7 111 7 8 1000

Más detalles

Representación de la Información

Representación de la Información Representar: Expresar una información como una combinación de símbolos de un determinado lenguaje. Trece -> símbolos 1 y 3 Interpretar: Obtener la información originalmente representada a partir de una

Más detalles

!!!!!!!! !!!!! Práctica!4.! Programación!básica!en!C.! ! Grado!en!Ingeniería!!en!Electrónica!y!Automática!Industrial! ! Curso!2015H2016!

!!!!!!!! !!!!! Práctica!4.! Programación!básica!en!C.! ! Grado!en!Ingeniería!!en!Electrónica!y!Automática!Industrial! ! Curso!2015H2016! INFORMÁTICA Práctica4. ProgramaciónbásicaenC. GradoenIngenieríaenElectrónicayAutomáticaIndustrial Curso2015H2016 v2.1(18.09.2015) A continuación figuran una serie de ejercicios propuestos, agrupados por

Más detalles

1 ELEMENTOS BASICOS DEL LENGUAJE

1 ELEMENTOS BASICOS DEL LENGUAJE 1 ELEMENTOS SICOS DEL LENGUJE Contenido: Variables su declaracion y asignacion Caracteres en java Secuencias de escape y comentarios Tipos de datos Operadores aritméticos, relacionales y lógicos Entrada

Más detalles

Estructura de Computadores

Estructura de Computadores Estructura de Computadores Tema 2. Representación de la información Departamento de Informática Grupo de Arquitectura de Computadores, Comunicaciones y Sistemas UNIVERSIDAD CARLOS III DE MADRID Contenido

Más detalles

Programación: QBASIC

Programación: QBASIC 1. QBASIC Programación: QBASIC Guía del alumno Qbasic es una versión moderna del lenguaje BASIC. Se trata de un lenguaje de alto nivel. En un lenguaje de alto nivel las instrucciones tienen un formato

Más detalles

El lenguaje C: Elementos básicos del lenguaje

El lenguaje C: Elementos básicos del lenguaje Facultad de Ciencias Exactas, Ingeniería y Agrimensura Departamento de Sistemas e Informática Escuela de Electrónica Informática II El lenguaje C: Elementos básicos del lenguaje Este material debe utilizarse

Más detalles

Para leer la entrada de consola, lo primero que se hace es construir un Scanner que este asociado al flujo de entrada estándar System.

Para leer la entrada de consola, lo primero que se hace es construir un Scanner que este asociado al flujo de entrada estándar System. CICLO: 01/2010 Universidad Don Bosco Materia: Lenguaje de Programación III Contenido: 1-Lectura de Datos de entrada. 2-Introduccion a JOPTIONPANE. 3-Estructuras de Control. ->LECTURA DE DATOS DE ENTRADA

Más detalles

UNIDAD 2 Configuración y operación de un sistema de cómputo Representación de datos Conceptos El concepto de bit (abreviatura de binary digit) es fundamental para el almacenamiento de datos Puede representarse

Más detalles

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA UNED Centro Asociado de Cádiz RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA 1. OBJETOS Cualquier elemento del programa es un objeto. Un programa es un conjunto de objetos que se comunican entre sí

Más detalles

Práctica 3 mtp. metodoloxía e tecnoloxía da programación. Presentar detalles básicos sobre la sintaxis del lenguaje de programación Java.

Práctica 3 mtp. metodoloxía e tecnoloxía da programación. Presentar detalles básicos sobre la sintaxis del lenguaje de programación Java. Práctica 3 mtp metodoloxía e tecnoloxía da programación Objetivos: Duración: Presentar detalles básicos sobre la sintaxis del lenguaje de programación Java. 1 semana 1.- Identificadores Los identificadores

Más detalles

Fundamentos del Lenguaje de Programación Java

Fundamentos del Lenguaje de Programación Java Fundamentos del Lenguaje de Programación Java M.C. Jorge Eduardo Ibarra Esquer jorgeeie@uabc.mx El lenguaje Java Estándares de codificación Comentarios Programas con Java Identificadores Palabras clave

Más detalles

INFORMÁTICA. Práctica 5. Programación en C. Grado en Ingeniería en Electrónica y Automática Industrial. Curso 2013-2014. v1.0 (05.03.

INFORMÁTICA. Práctica 5. Programación en C. Grado en Ingeniería en Electrónica y Automática Industrial. Curso 2013-2014. v1.0 (05.03. INFORMÁTICA Práctica 5. Programación en C. Grado en Ingeniería en Electrónica y Automática Industrial Curso 2013-2014 v1.0 (05.03.14) A continuación figuran una serie de ejercicios propuestos, agrupados

Más detalles

CONTENIDOS. 2. Entidades primitivas para el desarrollo de algoritmos.

CONTENIDOS. 2. Entidades primitivas para el desarrollo de algoritmos. Introducción a la ciencia de la computación y a la programación 1. La computadora CONTENIDOS 2. Entidades primitivas para el desarrollo de algoritmos. 3. Metodología a seguir para la resolución de problemas

Más detalles

Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java

Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java Identificadores Las variables se utilizan en programación para almacenar temporalmente

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 : Códigos Binarios

Tema 2 : Códigos Binarios Tema 2 : Códigos Binarios Objetivo: Conocer diferentes códigos binarios Conocer algunos códigos de detección y corrección de errores. Códigos alfanuméricos 1 Códigos Binarios A la representación de cifras,

Más detalles

Tema 2. La Información y su representación

Tema 2. La Información y su representación Tema 2. La Información y su representación 2.1 Introducción. Un ordenador es una máquina que procesa información. La ejecución de un programa implica la realización de unos tratamientos, según especifica

Más detalles

Una variable de clase escalar tiene un nivel de indirección igual a 1. Por ejemplo, las variables i, b y x definidas como se muestra a continuación.

Una variable de clase escalar tiene un nivel de indirección igual a 1. Por ejemplo, las variables i, b y x definidas como se muestra a continuación. Descripción de la semántica de ALFA En esta descripción sólo se mencionarán los aspectos en los que el lenguaje de programación ALFA pueda diferir de otros lenguajes de programación de alto nivel. Se sobreentienden

Más detalles

INTRODUCCIÓN. Estructura de Datos Tipos Abstractos de Datos (TAD S) Profs. Lorna Figueroa M. Mauricio Solar F. UTFSM 1 / 2008

INTRODUCCIÓN. Estructura de Datos Tipos Abstractos de Datos (TAD S) Profs. Lorna Figueroa M. Mauricio Solar F. UTFSM 1 / 2008 INTRODUCCIÓN Estructura de Datos Tipos Abstractos de Datos (TAD S) Para poder obtener un programa que resuelva un problema dado, son necesarios varios pasos : La formulación y especificación del problema

Más detalles

Modulo 1 El lenguaje Java

Modulo 1 El lenguaje Java Modulo 1 El lenguaje Java 13 - Codificación en Java Una de las grandes diferencias entre Java y Pascal en cuando a la codificación es que Java se trata de un lenguaje de los llamados case sensitive Esto

Más detalles

Informática I. While & do While

Informática I. While & do While Asignatura: Informática I Trabajo práctico Nº5 While & do While Estructura repetitiva MIENTRAS o while En C la sentencia while (condición o expresión) instrucciones; es seguramente la más utilizada. La

Más detalles

2.1.- EJEMPLO DE UN PROGRAMA FORTRAN

2.1.- EJEMPLO DE UN PROGRAMA FORTRAN 2.1.- EJEMPLO DE UN PROGRAMA FORTRAN Con el presente apartado comenzaremos a conocer cómo se escribe un programa en lenguaje FORTRAN bajo el entorno de programación FORTRAN. En primer lugar conozcamos

Más detalles

Informática y Programación Escuela de Ingenierías Industriales y Civiles Curso 2010/2011

Informática y Programación Escuela de Ingenierías Industriales y Civiles Curso 2010/2011 Módulo 2. Fundamentos de Programación Informática y Programación Escuela de Ingenierías Industriales y Civiles Curso 2010/2011 1 CONTENIDO Tema 1. Conceptos generales de algorítmica Tema 2. Sentencias

Más detalles

Mi primer proyecto en Dev-C++

Mi primer proyecto en Dev-C++ Mi primer proyecto en Dev-C++ Para realizar esta actividad deberás disponer de un ordenador en el que esté instalado el Dev-C++. Debes ir realizando cada uno de los pasos indicados, en el mismo orden en

Más detalles

Programando en C a Bajo Nivel

Programando en C a Bajo Nivel Universidad de Buenos Aires Facultad De Ingeniería Programando en C a Bajo Nivel [75.40] Algoritmos y Programación I 1er Cuatrimestre 011 Cátedra: Ing. Pablo Guarna Autor: Bernardo Ortega Moncada Versión

Más detalles

Ejemplos de conversión de reales a enteros

Ejemplos de conversión de reales a enteros Ejemplos de conversión de reales a enteros Con el siguiente programa se pueden apreciar las diferencias entre las cuatro funciones para convertir de reales a enteros: program convertir_real_a_entero print

Más detalles

Lenguaje C Bucles, Condicionales, operadores y Algoritmos.

Lenguaje C Bucles, Condicionales, operadores y Algoritmos. Lenguaje C Bucles, Condicionales, operadores y Algoritmos. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Operadores Los operadores son aquellos

Más detalles

Programa Java. El lenguaje de programación Java. Comentarios. Programa Java. Palabras reservadas. Identificadores

Programa Java. El lenguaje de programación Java. Comentarios. Programa Java. Palabras reservadas. Identificadores El lenguaje de programación Java Programa Java Un programa Java está formado por un conjunto de clases que interactúan entre sí La clase es la unidad básica de programación La ejecución depende de la clase

Más detalles

Sentencias o instrucciones en Visual BASIC

Sentencias o instrucciones en Visual BASIC Tecnología a de la Informació Sentencias o instrucciones en Visual BASIC REM Tecnología a de la Informació REM es una sentencia no ejecutable y permite introducir comentarios en los programas. A esta práctica

Más detalles

Objetivo de aprendizaje del tema

Objetivo de aprendizaje del tema Computación II Tema 3. Identificadores, palabras clave y tipos de datos Objetivo de aprendizaje del tema Al finalizar el tema serás capaz de: Distinguir i entre modificadores d válidos y no válidos. Enumerar

Más detalles

FUNCIONAMIENTO DIGITAL DE UN SISTEMA. EL SISTEMA BINARIO. Sistema Digital. Fr. Casares. Sistema Digital. Sistema Digital

FUNCIONAMIENTO DIGITAL DE UN SISTEMA. EL SISTEMA BINARIO. Sistema Digital. Fr. Casares. Sistema Digital. Sistema Digital FUNCIONAMIENTO DIGITAL Sistema Digital -Emplea dispositivos en los que solo son posibles dos estados DE UN SISTEMA. EL SISTEMA BINARIO Relé Elemento Válvula Situación (Falso) (Verdadero) Desactivado Cerrada

Más detalles

Gestor de aplicaciones Java. Esta herramienta es el intérprete de los archivos de clase generados por el javac (compilador).

Gestor de aplicaciones Java. Esta herramienta es el intérprete de los archivos de clase generados por el javac (compilador). CAPÍTULO 4 Requerimientos de software Este capítulo presenta las herramientas necesarias para la construcción y ejecución de programas en el lenguaje de programación JAVA, los requerimientos mínimos de

Más detalles

UNIDAD 3: ARITMÉTICA DEL COMPUTADOR

UNIDAD 3: ARITMÉTICA DEL COMPUTADOR UNIDAD 3: ARITMÉTICA DEL COMPUTADOR Señor estudiante, es un gusto iniciar nuevamente con usted el desarrollo de esta tercera unidad. En esta ocasión, haremos una explicación más detallada de la representación

Más detalles

Arrays y Cadenas en C

Arrays y Cadenas en C Arrays y Cadenas en C Los arrays son variables estructuradas, donde cada elemento se almacena de forma consecutiva en memoria. Las cadenas de caracteres son declaradas en C como arrays de caracteres y

Más detalles

Apuntes de Microcontroladores (Repaso de temas previos)

Apuntes de Microcontroladores (Repaso de temas previos) Apuntes de Microcontroladores (Repaso de temas previos) Por M. C. Miguelangel Fraga Aguilar Enero 2015 Representaciones numéricas En estos apuntes se usara el posfijo b para denotar un número escrito en

Más detalles

DOCUMENTACIÓN PARA EL TRABAJO CON LA PLATAFORMA GUADALBOT

DOCUMENTACIÓN PARA EL TRABAJO CON LA PLATAFORMA GUADALBOT DOCUMENTACIÓN PARA EL TRABAJO CON LA PLATAFORMA GUADALBOT I.E.S VIRGEN DE LAS NIEVES Programación C para microcontroladores Tema 2. Tipos de datos, variables y operadores Índice de contenidos Tipos de

Más detalles

Prácticas: Introducción a la programación en Java. Informática (1º Ingeniería Civil) Curso 2011/2012

Prácticas: Introducción a la programación en Java. Informática (1º Ingeniería Civil) Curso 2011/2012 Prácticas: Introducción a la programación en Java Informática (1º Ingeniería Civil) Índice Introducción a Java y al entorno de desarrollo NetBeans Estructura de un programa Tipos de datos Operadores Sentencias

Más detalles

CAPÍTULO IV BREVE DESCRIPCIÓN DE LA INFRAESTRUCTURA DE CÓMPUTO VISUAL BASIC 6.0 PARA WINDOWS

CAPÍTULO IV BREVE DESCRIPCIÓN DE LA INFRAESTRUCTURA DE CÓMPUTO VISUAL BASIC 6.0 PARA WINDOWS CAPÍTULO IV BREVE DESCRIPCIÓN DE LA INFRAESTRUCTURA DE CÓMPUTO VISUAL BASIC 6.0 PARA WINDOWS 4.1 Antecedentes históricos El lenguaje de programación BASIC (Beginner's All purpose Symbolic Instruction Code)

Más detalles

TEMA I: INTRODUCCIÓN A LA ELECTRÓNICA DIGITAL

TEMA I: INTRODUCCIÓN A LA ELECTRÓNICA DIGITAL TEMA I: INTRODUCCIÓN A LA ELECTRÓNICA DIGITAL 1. Electrónica Digital Antes de empezar en el tema en cuestión, vamos a dar una posible definición de la disciplina que vamos a tratar, así como su ámbito

Más detalles

Capítulo 1: Sistemas de representación numérica Introducción. Dpto. de ATC, Universidad de Sevilla - Página 1 de 8

Capítulo 1: Sistemas de representación numérica Introducción. Dpto. de ATC, Universidad de Sevilla - Página 1 de 8 Dpto. de ATC, Universidad de Sevilla - Página de Capítulo : INTRODUCCIÓN SISTEMAS DE REPRESENTACIÓN NUMÉRICA Introducción Bases de numeración Sistema decimal Sistema binario Sistema hexadecimal REPRESENTACIÓN

Más detalles

PRÁCTICA 5. SENTENCIAS DE CONTROL REPETITIVAS.

PRÁCTICA 5. SENTENCIAS DE CONTROL REPETITIVAS. PRÁCTICA 5. SENTENCIAS DE CONTROL REPETITIVAS. 1. Introducción. En esta práctica veremos todos los conceptos explicados en la segunda parte del Tema 5 de teoría: las Sentencias de Control Repetitivas,

Más detalles

Para dudas, comentarios escribe a: giovvani@msn.com C BASICO

Para dudas, comentarios escribe a: giovvani@msn.com C BASICO C BASICO Qué es C? C es un lenguaje de programación de alto nivel desarrollado en el año 1972 por Dennos Ritchie en AT&T Bell Labs. La legibilidad, facilidad de mantenimiento y la portabilidad son algunas

Más detalles

SOLUCION EXAMEN junio 2006

SOLUCION EXAMEN junio 2006 SOLUCION EXAMEN junio 2006 1. Explique razonadamente si las siguientes afirmaciones son verdaderas o falsas: I) (1 p) En UNIX únicamente se distinguen dos tipos de procesos: los procesos de usuario y los

Más detalles

PRÁCTICA MANEJO INTERNO DE DATOS

PRÁCTICA MANEJO INTERNO DE DATOS Objetivos PRÁCTICA 1. El alumno conocerá la representación de datos en el sistema binario y hexadecimal 2. El alumno conocerá como definir un programa en el entorno de desarrollo del lenguaje C Introducción

Más detalles

Sistemas de numeración, operaciones y códigos.

Sistemas de numeración, operaciones y códigos. Tema : Sistemas de numeración, operaciones y códigos. Para representar ideas, los seres humanos (al menos los occidentales) utilizamos cadenas de símbolos alfanuméricos de un alfabeto definido. En el mundo

Más detalles

Fundamentos de Informática. Primer Curso de Ingenieros Químicos. Práctica 1. Dev C++ Compilador de C para Windows

Fundamentos de Informática. Primer Curso de Ingenieros Químicos. Práctica 1. Dev C++ Compilador de C para Windows Práctica 1 Dev C++ Compilador de C para Windows 1. Desarrollo de la práctica Posiblemente, el mejor modo de aprender estas nociones, es comenzar con la escritura de un primer programa en Dev-C++, tal como

Más detalles

Curso PHP Módulo 1 R-Luis

Curso PHP Módulo 1 R-Luis Lenguaje PHP Introducción Archivos HTML y PHP: Crear un archivo php es tan sencillo como cambiarle la extensión a un archivo html, por ejemplo podemos pasar de index.html a index.php sin ningún inconveniente.

Más detalles

Arreglos. // Incluir E/S y Librerías Standard #include #include

Arreglos. // Incluir E/S y Librerías Standard #include <stdlib.h> #include <stdio.h> Arreglos Introducción. En los temas anteriores se han estudiado los diferentes tipos de datos simples de C++, usados para representar valores simples como enteros, reales o caracteres. Sin embargo, en

Más detalles

ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA 301127- Programación de sitios web Act 4: Lección Evaluativa 1

ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA 301127- Programación de sitios web Act 4: Lección Evaluativa 1 Qué es PHP? PHP: HyperText Preprocessor. Es un lenguaje de tipo scripting, que actualmente está siendo utilizado como una de las mejores alternativas para desarrollar aplicaciones en la Web. Un lenguaje

Más detalles

Tema 4: Sistemas de Numeración. Codificación Binaria. Escuela Politécnica Superior Ingeniería Informática Universidad Autónoma de Madrid

Tema 4: Sistemas de Numeración. Codificación Binaria. Escuela Politécnica Superior Ingeniería Informática Universidad Autónoma de Madrid Tema 4: Sistemas de Numeración. Codificación Binaria Ingeniería Informática Universidad Autónoma de Madrid 1 O B J E T I V O S Sistemas de Numeración. Codificación Binaria Conocer los diferentes sistemas

Más detalles

Representación de Datos. Una Introducción a los Sistemas Numéricos

Representación de Datos. Una Introducción a los Sistemas Numéricos Representación de Datos Una Introducción a los Sistemas Numéricos Tipos de Datos Datos Texto Número Imagen Audio Video Multimedia: Información que contiene números, texto, imágenes, audio y video. Como

Más detalles

Programación en lenguaje C++

Programación en lenguaje C++ Programación en Lenguaje C++ Objetivos Unidad Tema Subtema Objetivos VI 6.1 Metodología de la programación Metodologías Diseños de algoritmos Creación de algoritmos Entender y aplicar los pasos a seguir

Más detalles

TRADUCTORES, COMPILADORES E INTÉRPRETES. EJERCICIOS TEMA 5, 6, 7 y 8.

TRADUCTORES, COMPILADORES E INTÉRPRETES. EJERCICIOS TEMA 5, 6, 7 y 8. TRADUCTORES, COMPILADORES E INTÉRPRETES. EJERCICIOS TEMA 5, 6, 7 y 8. 1.) (HOLUB). Escribir un traductor que reconozca definiciones de C siguiendo el estilo antiguo, tal como: prueba(uno, dos, tres, cuatro,

Más detalles

ESTRUCTURA DE DATOS: ARREGLOS

ESTRUCTURA DE DATOS: ARREGLOS ESTRUCTURA DE DATOS: ARREGLOS 1. Introduccion 2. Arreglos - Concepto - Caracteristicas 3. Arreglos Unidimensionales 4. Arreglos Bidimensionales 5. Ventajas del uso de arreglos 6. Ejemplo 1. Introducción

Más detalles

LENGUAJE ANSI C Guía de referencia

LENGUAJE ANSI C Guía de referencia Apéndice W2 LENGUAJE ANSI C Guía de referencia C.1. Elementos básicos de un programa El lenguaje C fue desarrollado en Bell laboratories para su uso en investigación y se caracteriza por un gran número

Más detalles

Tutorial Básico de vbscript

Tutorial Básico de vbscript Tutorial Básico de vbscript Bueno, primero aclarar que este tutorial, pretende explicar de manera básica las distintas instrucciones aplicadas en visual basic script (vbs de aquí en más), para que así

Más detalles

1. SISTEMAS DIGITALES

1. SISTEMAS DIGITALES 1. SISTEMAS DIGITALES DOCENTE: ING. LUIS FELIPE CASTELLANOS CASTELLANOS CORREO ELECTRÓNICO: FELIPECASTELLANOS2@HOTMAIL.COM FELIPECASTELLANOS2@GMAIL.COM PAGINA WEB MAESTROFELIPE.JIMDO.COM 1.1. INTRODUCCIÓN

Más detalles

El lenguaje C. 1. Más sobre Instrucciones de control

El lenguaje C. 1. Más sobre Instrucciones de control Principios de ción El lenguaje C 1. Más sobre Instrucciones de control Estudiaremos con mayor detalle la repetición y presentaremos estructuras adicionales de control de la repetición a saber las estructuras

Más detalles

Pseudolenguaje. (1 byte) 0.. 255 (valores códigos ASCII) [CHAR_MIN.. CHAR_MAX] (Definida en ) No hay. Dominio 0.. 2 n 1 [MIN(C)..

Pseudolenguaje. (1 byte) 0.. 255 (valores códigos ASCII) [CHAR_MIN.. CHAR_MAX] (Definida en <limits.h>) No hay. Dominio 0.. 2 n 1 [MIN(C).. Tipo C Dominio 0.. 2 n -1 [MIN(C).. MAX(C)] Operadores Aritméticos Otras funciones No hay CHR(...) CAP(...) ORD(...) E/S No Formateada: Leer (...) Escribir (...) char (1 byte) 0.. 255 (valores códigos

Más detalles

1. Informática e información. 2. Sistemas de numeración. 3. Sistema binario, operaciones aritméticas en binario, 4. Sistemas octal y hexadecimal. 5.

1. Informática e información. 2. Sistemas de numeración. 3. Sistema binario, operaciones aritméticas en binario, 4. Sistemas octal y hexadecimal. 5. Representación de la información Contenidos 1. Informática e información. 2. Sistemas de numeración. 3. Sistema binario, operaciones aritméticas en binario, 4. Sistemas octal y hexadecimal. 5. Conversiones

Más detalles

Curso 0 de Informática

Curso 0 de Informática Curso 0 de Informática 2015-2016 Tema 1: Introducción a la Informática y Conceptos básicos 1 Motivación (I): En los procesos industriales, cada vez es mayor el uso de sistemas informáticos para: Monitorización,

Más detalles

TEMA 2. Agenda. Fundamentos de JAVA

TEMA 2. Agenda. Fundamentos de JAVA TEMA 2 Fundamentos de JAVA V1.3 Manuel Pereira González Agenda Introducción Historia de Java Características Principales Hello World Tipos Operadores Control de Flujo E/S básica Atributos y Métodos Resumen

Más detalles

Tema 4: Estructuras de Control Estructura y Contenidos

Tema 4: Estructuras de Control Estructura y Contenidos Tema 4: Estructuras de Control Estructura y Contenidos 4.1. ESTRUCTURA SECUENCIAL. 4.2. ESTRUCTURAS DE SELECCIÓN. 4.2.1. Selección simple ( if ). 4.2.2. Selección binaria ( if... ). 4.2.3. Selección múltiple

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

DIAGRAMAS DE FLUJO: DFD

DIAGRAMAS DE FLUJO: DFD DIAGRAMAS DE FLUJO: DFD DFD es un programa de libre disposición para ayuda al diseño e implementación de algoritmos expresados en diagramas de flujo (DF). Además incorpora opciones para el depurado de

Más detalles

UNIVERSIDAD TECNOLÓGICA NACIONAL FACULTAD REGIONAL CÓRDOBA EL LENGUAJE DE LOS DATOS EN LA PC Y SU FORMA DE ALMACENAMIENTO

UNIVERSIDAD TECNOLÓGICA NACIONAL FACULTAD REGIONAL CÓRDOBA EL LENGUAJE DE LOS DATOS EN LA PC Y SU FORMA DE ALMACENAMIENTO UNIVERSIDAD TECNOLÓGICA NACIONAL FACULTAD REGIONAL CÓRDOBA EL LENGUAJE DE LOS DATOS EN LA PC Y SU FORMA DE ALMACENAMIENTO TRABAJO REALIZADO COMO APOYO PARA LA CATEDRA INFORMATICA I Autora: Ing. Ing. Sylvia

Más detalles

PROGRAMACIÓ DIDÁCTICA: Secuanciación, Temporalización y Unidades Didácticas

PROGRAMACIÓ DIDÁCTICA: Secuanciación, Temporalización y Unidades Didácticas Departamento de Informática PROGRAMACIÓN DIDÁCTICA Curso 11-12 1 CONSEJERÍA DE EDUCACIÓN I.E.S. NERVIÓN Departamento de Informática CICLO FORMATIVO: TÉCNICO SUPERIOR EN DESARROLLO DE APLICACIONES MULTIPLATAFORMA.

Más detalles

Unidad de trabajo 2: INFORMÁTICA BÁSICA (primera parte)

Unidad de trabajo 2: INFORMÁTICA BÁSICA (primera parte) Unidad de trabajo 2: INFORMÁTICA BÁSICA (primera parte) Unidad de trabajo 2: INFORMÁTICA BÁSICA... 1 1. Representación interna de datos.... 1 1.2. Sistemas de numeración.... 2 1.3. Aritmética binaria...

Más detalles

U i n d id d a 3. El Element os á bá i s cos de un programa

U i n d id d a 3. El Element os á bá i s cos de un programa Programación Digital U id d 3 El t bá i Unidad 3. Elementos básicos de un programa 1. Concepto de Programa Es un conjunto de instrucciones (órdenes dadas a la computadora), que producirán la ejecución

Más detalles

En cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.

En cualquier caso, tampoco es demasiado importante el significado de la B, si es que lo tiene, lo interesante realmente es el algoritmo. Arboles-B Características Los árboles-b son árboles de búsqueda. La "B" probablemente se debe a que el algoritmo fue desarrollado por "Rudolf Bayer" y "Eduard M. McCreight", que trabajan para la empresa

Más detalles

Informática I. Código 2547100 Semestre 2014-2. Para Ingeniería Electrónica e Ingeniería de Telecomunicaciones Profesor: Sebastián Isaza

Informática I. Código 2547100 Semestre 2014-2. Para Ingeniería Electrónica e Ingeniería de Telecomunicaciones Profesor: Sebastián Isaza Informática I Código 2547100 Semestre 2014-2 Para Ingeniería Electrónica e Ingeniería de Telecomunicaciones Profesor: Sebastián Isaza Programming tools Editor de texto (gedit, kate, vim, wordpad, etc):

Más detalles

Programación Avanzada para Sistemas de Telecomunicación. Objetos y clases. J.C. Cruellas. Objetos y clases

Programación Avanzada para Sistemas de Telecomunicación. Objetos y clases. J.C. Cruellas. Objetos y clases Programación Avanzada para Sistemas de Telecomunicación Objetos y clases Juan Carlos Cruellas cruellas@ac.upc.es Objetos y clases Concepto de objeto. Concepto de clase. Clases, objetos y programas. Clases

Más detalles