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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Curso de C, por Antonio Lebrón Bocanegra

Curso de C, por Antonio Lebrón Bocanegra Curso de C, por Antonio Lebrón Bocanegra Este manual está extraido del paquete de software Tutor C/C++ 1.0, desarrollado por Antonio Lebrón Bocanegra como proyecto fin de carrera en la Facultad de Informática

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

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 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

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

CURSO BASICO DE PROGRAMACION EN C. Apoyo a Investigación C. P. D. Servicios Informáticos U. C. M.

CURSO BASICO DE PROGRAMACION EN C. Apoyo a Investigación C. P. D. Servicios Informáticos U. C. M. CURSO BASICO DE PROGRAMACION EN C Apoyo a Investigación C. P. D. Servicios Informáticos U. C. M. CURSO BASICO DE PROGRAMACION EN C. Servicios Informáticos U. C. M.-1-1 INDICE 1 INDICE 1 2 INTRODUCCION

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

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

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

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

Reglas básicas de la programación en lenguaje C

Reglas básicas de la programación en lenguaje C 0. Introducción Reglas básicas de la programación en lenguaje C ISO - SO Departament d'arquitectura de Computadors Universitat Politècnica de Catalunya C es un lenguaje de programación de propósito general.

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

!!!!!!!! !!!!! 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

CAPITULO 1. CONCEPTOS BÁSICOS. 1. Introducción. Este curso esta basado en un lenguaje de programación estructurada de propósito general.

CAPITULO 1. CONCEPTOS BÁSICOS. 1. Introducción. Este curso esta basado en un lenguaje de programación estructurada de propósito general. 1 CAPITULO 1 CONCEPTOS BÁSICOS 1 Introducción Este curso esta basado en un lenguaje de programación estructurada de propósito general Se pueden utilizar muchos lenguajes para programar una computadora

Más detalles

Aprenda Informática...

Aprenda Informática... Aprenda C++ Básico como si estuviera en primero Aprenda Informática... San Sebastián, Febrero 2004 Paul Bustamante Iker Aguinaga Miguel Aybar Luis Olaizola Iñigo Lazacano Aprenda C++ Básico como si estuviera

Más detalles

Qué ofrece la programación en AutoCAD? Qué necesito para empezar a programar? Qué es C# y.net? Autor: Jorge A. Díez Pomares Laboratorio de C.A.D.

Qué ofrece la programación en AutoCAD? Qué necesito para empezar a programar? Qué es C# y.net? Autor: Jorge A. Díez Pomares Laboratorio de C.A.D. Qué ofrece la programación en AutoCAD? Qué necesito para empezar a programar? Qué es C# y.net? Laboratorio de C.A.D. UMH 1 1.1. INTRODUCCIÓN 1.2. SOFTWARE NECESARIO 1.3. CONFIGURACIÓN DEL PROYECTO EN VS2010

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

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

Apellidos Nombre DNI

Apellidos Nombre DNI Apellidos Nombre DNI Examen de Arquitectura de Computadores (Telemática) Convocatoria de Junio: 25 5 2 Se dispone de un programa escrito en ensamblador encargado de transformar un número escrito en decimal

Más detalles

Funciones en C. En esta unidad aprenderás a: Comprender el desarrollo de un programa utilizando funciones

Funciones en C. En esta unidad aprenderás a: Comprender el desarrollo de un programa utilizando funciones Funciones en C 03 En esta unidad aprenderás a: Comprender el desarrollo de un programa utilizando funciones Establecer la diferencia entre la definición y declaración de una función Conocer y utilizar

Más detalles

Fundamentos de Programación I

Fundamentos de Programación I Dpto. de Ingeniería Telemática Escuela Técnica Superior de Ingeniería Universidad de Sevilla Fundamentos de Programación I Apuntes de la Asignatura Índice general I Teoría 1 1. Introducción a la Programación

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

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

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

Curso de programación en C++ Apuntes de clase EUI (UPV) Valencia, 17 al 28 de Julio de 1995. Sergio Talens Oliag

Curso de programación en C++ Apuntes de clase EUI (UPV) Valencia, 17 al 28 de Julio de 1995. Sergio Talens Oliag Curso de programación en C++ EUI (UPV) Valencia, 17 al 28 de Julio de 1995 Apuntes de clase Sergio Talens Oliag Contenidos BASES TEÓRICAS. INTRODUCCIÓN A LA POO 1 INTRODUCCIÓN.1 PARADIGMAS DE PROGRAMACIÓN..1

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

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

INSTITUTO TECNOLOGICO EL LLANO LICENCIATURA EN INFORMATICA ESTRUCTURA DE DATOS I

INSTITUTO TECNOLOGICO EL LLANO LICENCIATURA EN INFORMATICA ESTRUCTURA DE DATOS I Presentación de la Materia: Programa de Estudios Horar io Lunes 08:30 10:30 Material: Apuntes ftp://ftp.paginasprodigy.com Usuario; tmx9714074 Contraseña: 11466 Softwa re: Java C++ Visual Basic 6 Visual

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

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

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

Estructuras de control

Estructuras de control Estructuras de control Programación estructurada Estructuras condicionales La sentencia if La cláusula else Encadenamiento y anidamiento El operador condicional?: La sentencia switch Estructuras repetitivas/iterativas

Más detalles

Representación de la Información en una Computadora

Representación de la Información en una Computadora Representación de la Información en una Computadora Sistemas de Numeración El sistema de numeración que utiliza el hombre es el sistema decimal (de base 10). Lo creamos en forma natural porque tenemos

Más detalles

ARQUITECTURA DE LAS COMPUTADORAS PRACTICA

ARQUITECTURA DE LAS COMPUTADORAS PRACTICA ARQUITECTURA DE LAS COMPUTADORAS PRACTICA SISTEMAS NUMÉRICOS INTRODUCCIÓN TEÓRICA: Definimos Sistema de Numeración como al conjunto de reglas que permiten, con una cantidad finita de símbolos, representar

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

Tema 1: Computadores y Programas

Tema 1: Computadores y Programas Tema 1: Computadores y Programas Ingeniería Informática Ingeniería Técnica en Informática de Sistemas Ingeniería Técnica en Informática de Gestión Departamento de Ciencia de la Computación e I.A. Universidad

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

Modelos de Computación I. Ingeniería Informática

Modelos de Computación I. Ingeniería Informática Prácticas Pag. 1 Modelos de Computación I Ingeniería Informática Práctica 1 Lex como localizador de expresiones regulares con acciones asociadas Curso 2008-2009 Profesores: Carlos J. Mantas Ruiz Aida Jiménez

Más detalles

FUNDAMENTOS DE JAVA PARA LA CONCURRENCIA

FUNDAMENTOS DE JAVA PARA LA CONCURRENCIA FUNDAMENTOS DE JAVA PARA LA CONCURRENCIA CONTENIDO: La Plataforma J2SE Elementos Básicos de Programación Nociones de Orientación a Objetos E/S y Manejo Básico de Excepciones Otros Conceptos sobre POO:

Más detalles

Los caracteres de Java pueden agruparse en letras, dígitos, espacios en blanco, caracteres especiales, signos de puntuación y secuencias de escape.

Los caracteres de Java pueden agruparse en letras, dígitos, espacios en blanco, caracteres especiales, signos de puntuación y secuencias de escape. CARACTERES EN JAVA Los caracteres de Java pueden agruparse en letras, dígitos, espacios en blanco, caracteres especiales, signos de puntuación y secuencias de escape. Letra, Dígitos y Otros Estos caracteres

Más detalles

EIE 446 - SISTEMAS DIGITALES Tema 2: Sistemas de Numeración, Operaciones y Códigos

EIE 446 - SISTEMAS DIGITALES Tema 2: Sistemas de Numeración, Operaciones y Códigos EIE 446 - SISTEMAS DIGITALES Tema 2: Sistemas de Numeración, Operaciones y Códigos Nombre del curso: Sistemas Digitales Nombre del docente: Héctor Vargas Fecha: 1 er semestre de 2011 INTRODUCCIÓN El sistema

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

Ubicación e historia

Ubicación e historia Introducción a Java Ubicación e historia http:// ://java.sun.com/ JDK (Java Development Kit) JDK 1.0, 1995 JDK 1.1, 1996. Modificación en manejo de eventos; nuevas bibliotecas (reflexión, métodos remotos,...)

Más detalles

Curso: 1ro. LMGE Asignatura: Computación / 2012 Profesor: Federico Olarte Código ASCII

Curso: 1ro. LMGE Asignatura: Computación / 2012 Profesor: Federico Olarte Código ASCII Curso: 1ro. LMGE Asignatura: Computación / 2012 Profesor: Federico Olarte Código ASCII Definición. ASCII (del inglés de American Standard Code for Information Interchange - Código Estándar Estadounidense

Más detalles

Estructuras de Datos Abstractas en Lenguaje Java

Estructuras de Datos Abstractas en Lenguaje Java Universidad de Santiago de Chile Facultad de Ingeniería Departamento de Ingeniería Industrial Estructuras de Datos Abstractas en Lenguaje Java Listas Enlazadas, Colas, Pilas y Árboles Binarios Creado por

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

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

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

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

02 - Conceptos fundamentales sobre el tratamiento de datos

02 - Conceptos fundamentales sobre el tratamiento de datos 02 - Conceptos fundamentales sobre el tratamiento de datos Diego Andrés Alvarez Marín Profesor Asociado Universidad Nacional de Colombia Sede Manizales 1 Temario Tipos de datos Lógica binaria y álgebra

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

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

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

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

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

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

4 o Ingeniería Informática

4 o Ingeniería Informática Esquema del tema 1. Introducción 4 o Ingeniería Informática II26 Procesadores de lenguaje Estructura de los compiladores e intérpretes 2. Etapas del proceso de traducción 3. La interpretación 4. La arquitectura

Más detalles

Capítulo 2 REPRESENTACIÓN DE LOS DATOS. Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C"

Capítulo 2 REPRESENTACIÓN DE LOS DATOS. Presentación resumen del libro: EMPEZAR DE CERO A PROGRAMAR EN lenguaje C Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C" Autor: Carlos Javier Pes Rivas (correo@carlospes.com) Capítulo 2 REPRESENTACIÓN DE LOS DATOS 1 OBJETIVOS Entender cómo la computadora

Más detalles

PROGRAMACIÓN BÁSICA DE LA COMPUTADORA. 1 Introducción. Tabla 1: Instrucciones MIPS

PROGRAMACIÓN BÁSICA DE LA COMPUTADORA. 1 Introducción. Tabla 1: Instrucciones MIPS PROGRAMACIÓN BÁSICA DE LA COMPUTADORA 1 Introducción Un sistema de computadora total incluye tanto circuitería (hardware) como programación (software). El hardware consta de los componentes físicos y todo

Más detalles

Introducción a la programación en R

Introducción a la programación en R Programación en R 1 Introducción a la programación en R Qué es un programa de ordenador? Un programa de ordenador consiste en una secuencia de instrucciones que un ordenador pueda entender. El procesador

Más detalles

EL LENGUAJE DE LAS COMPUTADORAS

EL LENGUAJE DE LAS COMPUTADORAS EL LENGUAJE DE LAS COMPUTADORAS Una computadora maneja sus instrucciones por medio de un sistema numérico binario, que es el más simple de todos al contar con sólo dos símbolos para representar las cantidades.

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

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

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

Guía del Lenguaje de Programación PHP - CEF NAC

Guía del Lenguaje de Programación PHP - CEF NAC 1 Índice Prefacio... 4 Qué significa y cómo funciona PHP?... 5 Como instalar PHP en nuestra computadora.... 5 Capítulos de contenidos de la Guía... 10 1. Ejemplo de un programa básico de PHP para comenzar

Más detalles

Lo que necesitaremos para programar en Java, será un editor de texto o IDE y la JDK.

Lo que necesitaremos para programar en Java, será un editor de texto o IDE y la JDK. Introducción Java surgió en 1991 dentro de la empresa Sun Microsystems como un lenguaje de programación sencillo y universal destinado a electrodomésticos. La reducida potencia de cálculo y memoria de

Más detalles

Estructura de Datos [Tipos de datos concretos y tipos de datos abstractos]

Estructura de Datos [Tipos de datos concretos y tipos de datos abstractos] Estructura de Datos [Tipos de datos concretos y tipos de datos abstractos] M. en C. Sergio Luis Pérez Pérez UAM CUAJIMALPA, MÉXICO, D. F. Trimestre 14-O Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Estructura

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

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

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