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 Metodología y tecnología de la programación (I) 2/50 Í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 Nuestro primer programa en C Componentes de un programa en C Directivas del preprocesador La directiva #include La directiva #define Comentarios Literales Palabras reservadas...21

3 Metodología y tecnología de la programación (I) 3/ 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 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...47

4 Metodología y tecnología de la programación (I) 4/ 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...50

5 Metodología y tecnología de la programación (I) 5/50 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.

6 Metodología y tecnología de la programación (I) 6/50 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 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;

7 Metodología y tecnología de la programación (I) 7/50 Al definir una variable es posible inicializarla, esto es, darle un valor inicial. tipo_de_dato nombre_variable = valor; 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:

8 Metodología y tecnología de la programación (I) 8/50 '\0' carácter de fin de cadena '\a' carácter de alarma '\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 Metodología y tecnología de la programación (I) 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 Metodología y tecnología de la programación (I) 10/50 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 Metodología y tecnología de la programación (I) 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 Metodología y tecnología de la programación (I) 12/50 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 Metodología y tecnología de la programación (I) 13/50 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 Metodología y tecnología de la programación (I) 14/50 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 Metodología y tecnología de la programación (I) 15/50 4 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". 5 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 */

16 Metodología y tecnología de la programación (I) 16/50 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).

17 Metodología y tecnología de la programación (I) 17/50 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. 5.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

18 Metodología y tecnología de la programación (I) 18/50 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

19 Metodología y tecnología de la programación (I) 19/50 cabecera, header files, de ahí la extensión.h. Además de los que pueda crear el usuario, el compilador de C dispone de varios archivos de cabecera que es necesario incluir para utilizar la mayoría de las funciones de las librerías que se suministran con el compilador. En los manuales del compilador se indica qué fichero.h es necesario incluir para cada función. En las versiones de C para PC's esta información suele estar disponible en la ayuda interactiva del compilador. También es posible descargarse archivos cabecera como librerías creadas por terceras partes La directiva #define Esta directiva sirve, entre otras cosas, para definir constantes simbólicas. Permite asignar a un identificador un valor determinado que nunca cambiará. Cuando se compile el programa, el preprocesador substituye cada aparición de dicho identificador por su valor antes de compilar esa línea. Al igual que en el caso de la directiva #include, el proceso es transparente al usuario. Veamos cómo funciona con un ejemplo: /* *ejemplo4_4.c */ #define PI int radio=5; float Area; main() { Area=PI*radio*radio; Generalmente las constantes simbólicas se definen con mayúsculas, para diferenciarlas de los nombres de las variables, que generalmente se escriben con minúsculas. 5.2 Comentarios Los comentarios en un programa sirven para documentarlo, de forma que sea comprensible tanto para el que lo ha escrito como para otras personas. Los comentarios en C van entre los caracteres /* y */. El compilador hace caso omiso del contenido de los comentarios. Un comentario puede colocarse en cualquier parte del programa, salvo en medio de una palabra o un literal, y puede ocupar varias líneas. /* este programa es un ejemplo */ int a,b, /* coeficientes */ err; /* error */

20 Metodología y tecnología de la programación (I) 20/50 /* comentario de 2 lineas */ main(){ /* comienzan las sentencias */ /* hacer aqui la lectura de datos */ err=a-(a/b)*b; /* bonita formula */ /* esto no lo compilo porque esta incompleto error2= printf(); */ /* fin de main */ Marcando como comentario una parte del programa se evita que el compilador la procese. Esto puede ser útil para poder compilar un programa en el que algunas partes del mismo están incompletas o con errores. En C99 se ha añadido un nuevo tipo de comentario: "//". Este comentario afecta todo el texto que se encuentre en la misma línea donde aparecen las dos barras y después de ellas. A continuación volvemos a presentar el mismo código del ejemplo anterior empleando este nuevo tipo de comentario en todas las situaciones en las que es posible // este programa es un ejemplo int a,b, /* coeficientes */ err; // error /* comentario de 2 lineas */ main(){ // comienzan las sentencias // hacer aqui la lectura de datos err=a-(a/b)*b; // bonita formula /* esto no lo compilo porque esta incompleto error2= printf(); */ // fin de main 5.3 Literales Son caracteres cuyo valor es literalmente el que aparece escrito en el programa. Los literales pueden ser numéricos o alfanuméricos. Los números que aparecen en cualquier programa son literales numéricos. Los literales alfanuméricos son caracteres o cadenas de caracteres, que pueden contener letras, números y otros símbolos. Los caracteres individuales se encierran entre comillas simples ('a') y las cadenas de caracteres entre comillas dobles ("hola"), aunque sean cadenas de un sólo carácter.

21 Metodología y tecnología de la programación (I) 21/50 Los literales numéricos pueden estar en base 10 (decimal) u otras bases como la base 16 (hexadecimal) o la base 8 (octal). Los números pueden ser enteros o reales. Para los reales se utiliza el punto decimal (.) y en ningún caso se utiliza la coma (,). Los números reales se pueden escribir en notación científica, como 1.34E Palabras reservadas Son palabras de C que tienen un uso establecido y no pueden ser utilizadas para ninguna otra función como, por ejemplo, para ser identificadores. El compilador de C produce un error si estas palabras se utilizan de forma no permitida. Son palabras reservadas los nombres de tipos de datos, instrucciones y algunas más: auto extern sizeof break float static case for struct char goto switch const if typedef continue int union default long unsigned do register void double return volatile else short while enum signed De estas palabras, 27 existían en la versión original de C y las 5 siguientes fueron añadidas en el ANSI C 85: const, enum, signed, void y volatile. En C99 se han añadido las palabras inline, _Bool, _Complex, y _Imaginary. Además, cada compilador puede añadir algunas palabras reservadas adicionales, lo que puede romper la portabilidad de los programas. 5.5 Identificadores Son palabras incluidas en el compilador (realmente, incluidas en las librerías que tiene el compilador) o creadas por el usuario que sirven para dar nombre a variables, funciones y tipos de datos. Tienen que cumplir las siguientes reglas de formación: Su longitud debe estar entre 1 y 32 caracteres. Pueden contener letras, números y el símbolo _ (guión bajo). No pueden contener espacios y se distinguen las mayúsculas de las minúsculas. El primer carácter debe ser una letra o _.

22 Metodología y tecnología de la programación (I) 22/50 A diferencia de las palabras reservadas, cuyo significado no puede ser modificado por el usuario, los identificadores incluidos en las librerías del compilador pueden ser redefinidos (es decir, definidos con un nuevo significado), aunque no es conveniente, ya que en este caso pierden su significado original. 5.6 Símbolos En C se usan los símbolos siguientes: ; para indicar el final de una sentencia. { para indicar el principio y el fin de un bloque de sentencias o de una función. () para indicar los argumentos de una función, para encerrar una expresión lógica en las sentencias de control de flujo y para indicar la precedencia en expresiones aritméticas. /* */ para indicar el principio y el fin de un comentario. # para indicar una directiva del preprocesador., para separar varias variables en una declaración, varios parámetros de una función. También puede separar varias sentencias en una secuencia de sentencias (algo poco usado).. para separar el nombre de una variable unión o estructura del nombre de sus campos. -> para separar el nombre de un puntero del de un campo.? : en la sentencia-expresión condicional. Además se utilizan los símbolos de operadores aritméticos, relacionales, lógicos y de bits: Operadores Aritméticos = Asignación. + Suma. - Resta, signo negativo. * Multiplicación. / División (cociente); aplicado sobre datos enteros en la división de números enteros (9/4=2). % División en módulo (resto).

23 Metodología y tecnología de la programación (I) 23/50 ++ Incremento en Decremento en 1. Operadores Relacionales = = Igual que.!= Distinto que. > Mayor que. >= Mayor o igual que. < Menor que. <= Menor o igual que. Operadores Lógicos && Y. O.! No. Operadores de bits & AND OR. ~ NOT (complemento a 1). ^ XOR (OR exclusivo). >> desplazamiento a la derecha. << desplazamiento a la izquierda. A continuación indicamos la precedencia (de mayor a menor), esto es, el orden de evaluación, de estos operadores. Ésta nos permitirá saber si al escribir 5+4*2 se ejecuta la operación (5+4)*2 ó 5+ (4*2). También mostramos su asociatividad, es decir, el orden en el que se evaluarán los operadores cuando haya varios que tengan la misma precedencia: ( ) [ ]. -> a la derecha.! ~ & * sizeof a la izquierda. * / % a la derecha.

24 Metodología y tecnología de la programación (I) 24/ a la derecha. << >> a la derecha. < <= > >= a la derecha. ==!= a la derecha. & a la derecha. ^ a la derecha. a la derecha. && a la derecha. a la derecha.?: a la izquierda. = += -= etc. a la izquierda., a la derecha. La precedencia disminuye de arriba a abajo. La asociatividad normal es a la derecha, por ejemplo, a+b+c se calcula como (a+b)+c. Habitualmente, para simplificar tanto la escritura como la lectura del programa y para evitar cometer errores, no se abusa de los órdenes de precedencia y asociatividad por perfecto de los operadores y se emplean paréntesis (a) para indicar el orden de las operaciones. A continuación mostramos un código de ejemplo que muestra cómo funcionan los operadores de incremento y decremento, así como los operadores que permiten realizar una operación aritmética sobre una variable y asignar el resultado a esa misma variable: /* *ejemplo4_5.c */ #include <stdio.h> main () { int entero = 1; float real = 10.0F; printf("entero: %d\n", entero); //imprimirá 1 ya que el entero se muestran antes de incrementarse printf("entero++: %d\n", entero++); //pero después de ejecutar la sentencia entero vale 2 printf("entero: %d\n", entero); //imprimirá 3 ya que se incrementa antes de mostrarse

25 Metodología y tecnología de la programación (I) 25/50 printf("++entero: %d\n", ++entero); //imprimirá 3 ya que el entero se muestra antes debe incrementarse printf("entero--: %d\n", entero--); //pero tras ejecutar la sentencia entero vale 2 printf("entero: %d\n", entero); //imprimirá 1 ya que se decrementa antes de mostrarse printf("--entero: %d\n", --entero); printf("real: %f\n",real); //equivalente a real = real + 2; real += 2; printf("real += 2: %f\n",real); //equivalente a real = real - 6; real -= 6; printf("real -= 6: %f\n",real); //equivalente a real = real * 3; real *= 3; printf("real *= 3: %f\n",real); //equivalente a real = real / 9; real /= 9; printf("real /= 9: %f\n",real); system ("pause"); es continuación presentamos un código de ejemplo que muestra cómo emplear variables enteras para representar valores lógicos y como los operadores lógicos actúan sobre ellas: /* *ejemplo4_6.c */ #include <stdio.h> main () { int variablelogica = 0, variablelogica2; variablelogica2 =!variablelogica; printf("variablelogica: %d, variablelogica2: %d\n", variablelogica,variablelogica2); printf("variablelogica&&variablelogica2: %d\n", variablelogica&&variablelogica2); printf("variablelogica variablelogica2: %d\n", variablelogica variablelogica2); printf("\n\ntabla de verdad del operador &&:\n"); printf("0 && 0: %d\n",0&&0); printf("0 && 1: %d\n",0&&1); printf("1 && 0: %d\n",1&&0);

26 Metodología y tecnología de la programación (I) 26/50 printf("1 && 1: %d\n",1&&1); printf("\n\ntabla de verdad del operador :\n"); printf("0 0: %d\n",0 0); printf("0 1: %d\n",0 1); printf("1 0: %d\n",1 0); printf("1 1: %d\n",1 1); system ("pause"); 6 Sentencias Las sentencias de un programa especifican una acción a realizar. Las sentencias en C suelen finalizar con un punto y coma. Una expresión es una secuencia de operadores y operandos que especifica un valor. Por ejemplo, la sentencia 4+5; está formada por la expresión 4+5, que utiliza el operador suma sobre dos operandos constantes enteras y cuyo valor es 9. En un programa C hay una parte de declaraciones y otra de instrucciones. En la parte de declaraciones se pueden utilizar sentencias para: Declaración de tipos de datos. Declaración de variables. Declaración de funciones. Y en la parte de instrucciones, se utilizan tres tipos principales de sentencias: Sentencias de asignación. Sentencias de control. Llamadas a funciones.

27 Metodología y tecnología de la programación (I) 27/50 7 Sentencias de control de flujo Las sentencias que se tratan en este apartado permiten realizar las estructuras de bifurcación y bucle estudiadas en el tema sobre algoritmos. Permiten, por tanto, construir programas cuyo flujo de ejecución sea más versátil que la ejecución secuencial. 7.1 Bloque de sentencias Se denomina bloque de sentencias a un grupo de sentencias cualquiera encerradas entre llaves {. Los bloques de sentencias sirven para agrupar varias sentencias bajo el control de otra (bifurcación, bucle). En cualquier parte del programa donde pueda ir una sentencia, puede ir también un bloque de sentencias. 7.2 Sentencia condicional simple : if La sentencia if se utiliza para hacer una bifurcación en el flujo del programa. Puede aparecer de modo aislado o junto con la sentencia else: if (condicion) sentencia1; if (condicion) sentencia1; else sentencia2; En el ejemplo de la izquierda, si la condición es cierta, se ejecuta la sentencia1; si es falsa, se salta. En cualquier caso, después se ejecutan las sentencias que sigan al if. En el de la derecha, si la condición es cierta, se ejecuta la sentencia1 y si es falsa, se ejecuta la sentencia2. Después se ejecutan las sentencias que sigan al if. Obsérvese que o bien se ejecutan las sentencias de la parte if, o las de la parte else, nunca ambos grupos. Como se aprecia en el ejemplo de la izquierda, la parte de else es opcional. En caso de ser necesarias varias sentencias en la parte if o en la else se utilizará un bloque de sentencias, como se muestra en el siguiente ejemplo: if (a>0) { printf("a es positivo"); b=a; else printf("a es negativo");

28 Metodología y tecnología de la programación (I) 28/50 En el ejemplo anterior, la rama if utiliza un bloque de sentencias, que va desde la llave { hasta la. La rama else comienza justo después de dicha palabra y termina en el primer punto y coma después de ella. Para saber el alcance de una sentencia if o else se sigue la siguiente regla: si no se utiliza un bloque de sentencias, tanto la rama if como la else terminan en el primer punto y coma después de dichas palabras. Por tanto, en el ejemplo siguiente if (V1>0) V2=2*PI*R*V1/60; printf("vel lineal: %f\n",v2); la sentencia printf no está comprendida dentro del if, ya que éste termina en el punto y coma que sigue al cálculo de V2. Si se coloca una sentencia else después del printf, el compilador no la reconocerá como parte del if y se producirá un error. Aunque no es obligatorio, es recomendable emplear siempre las llaves detrás del if y del else; de este modo se incrementa la legibilidad del código y disminuye la posibilidad de cometer errores en el futuro cuando, por ejemplo, añadamos más sentencias que estén bajo la acción del if. A continuación mostramos el diagrama de flujo correspondiente con un condicional tipo if else: El formato de espacios o saltos de línea no influyen en la ejecución de la sentencia, sólo se utilizan para que la estructura del programa resulte más clara al leerlo. Normalmente, las sentencias que se ejecutan bajo el control de otra se indentan dos espacios hacia la derecha.

29 Metodología y tecnología de la programación (I) 29/50 Por lo tanto, la sentencia printf del último ejemplo, que no pertenece al if, debería comenzar dos espacios hacia atrás Expresiones condicionales Se denomina expresión condicional a la que se evalúa como VERDADERO o FALSO. Generalmente relaciona 2 o más expresiones mediante operadores relacionales y/o lógicos. Los operadores relacionales se utilizan para comparar expresiones numéricas, como b*b - 4*a*c > 0 o K<=sin(x). Los operadores lógicos se utilizan hacer una expresión condicional compleja a partir de condiciones más simples, por ejemplo, la condición de la sentencia if siguiente : if (aciertos>=11 && sellada==1) printf(" Tengo premio! "); En C, cualquier expresión puede ser una expresión condicional. A diferencia de otros lenguajes, no existe un tipo de datos para valores lógicos ni una sintaxis estricta para dichas expresiones. Simplemente, cualquier expresión que de un resultado igual a 0 se considera falsa y si da un resultado distinto de 0, es verdadera. Por ello, es posible ver programas con sentencias como la siguiente: if (a-5) x=x+1; Esta condición es cero (FALSO) cuando a vale 5, y distinto de cero (VERDADERO) en otro caso. Por ello es equivalente a la condición a!=5. Por claridad, es preferible utilizar la comparación en lugar de la operación aritmética. En el ejemplo siguiente, las dos condiciones son equivalentes: if (opcion!=0) printf("calculando..."); if (opcion) printf("calculando..."); aunque la primera es más legible. Es frecuente confundir el operador de asignación ( = ) con el de comparación ( == ). En las expresiones lógicas hay que utilizar el de comparación, si no, la sentencia no funcionará correctamente. Por ejemplo, en la sentencia

30 Metodología y tecnología de la programación (I) 30/50 if (a=5) printf("hola") se asigna el valor 5 a la variable "a", perdiéndose el que tuviese antes. El valor de esta expresión es 5, por lo tanto su valor lógico es CIERTO y siempre se ejecutará el printf Sentencias if anidadas Se dice que una sentencia if está anidada si se ejecuta dentro de una de las ramas de otra sentencia if. El programa siguiente muestra un grupo de sentencias if anidadas para traducir una nota numérica a un mensaje. /* *ejemplo4_7.c */ #include <stdio.h> float Nota; main() { printf("\ndame la nota numerica : "); scanf("%f",&nota); if (Nota<5) { printf("\nsuspenso\n"); else { if (Nota<7) { printf("\naprobado\n"); else if (Nota<8.5) { printf("\nnotable\n"); else if (Nota<9.5) { printf("\nsobresaliente\n"); else { printf("\nmatricula de Honor\n"); system("pause"); Si se quisiera añadir dos mensajes, uno de Por los pelos... para los aprobados con nota menor de 5.5 y uno de Que fiera.. para los alumnos con sobresaliente o matricula, habría que dejar el programa así: /* *ejemplo4_8.c */ #include <stdio.h> float Nota; main()

31 Metodología y tecnología de la programación (I) 31/50 { printf("\ndame la nota numerica : "); scanf("%f",&nota); if (Nota<5) { printf("\nsuspenso\n"); else { if (Nota<7) { printf("\naprobado\n"); if (Nota<5.5){ printf("por los pelos...\n"); else if (Nota<8.5) { printf("\nnotable\n"); else if (Nota<9.5) { printf("\nsobresaliente\n"); else { printf("\nmatricula de Honor\n"); printf("que fiera...\n"); system("pause"); 7.3 Bucles en C Un bucle está formado por un conjunto de sentencias que se repiten bajo el control de una condición. A diferencia de otros lenguajes como BASIC o PASCAL, donde las sentencias del bucle se repiten hasta que una condición es cierta, en C se repiten mientras la condición es cierta. Por lo tanto, hay que buscar una condición adecuada para que el bucle se comporte como deseamos. Los bucles pueden llevar la condición al principio o al final. Los bucles con la condición al final se realizan con la sentencia do - while y los que llevan la condición al principio con las sentencias while y for Bucle do-while La forma general de un bucle do-while es: do sentencia; while (condicion);

32 Metodología y tecnología de la programación (I) 32/50 En caso de querer incluir más de una sentencia, se utiliza un bloque de sentencias. El principio del bucle es la sentencia do y el final la sentencia while. Las sentencias entre ambas son el cuerpo del bucle. La ejecución de este bucle es como sigue: se ejecutan las sentencias que siguen al do, hasta el while. Se comprueba la condición. Si es cierta, se vuelve a la primera sentencia del bucle. Si es falsa, se sale del bucle y se ejecuta la sentencia que sigue al while. Como la condición se comprueba al final, el bucle siempre se ejecuta al menos 1 vez. Veamos un ejemplo: /* *ejemplo4_9.c */ #include <stdio.h> #include <stdlib.h> #include <time.h> main() { intr; srand(time(null)); do { r =rand(); printf("%g\n",r); while(r <RAND_MAX- RAND_MAX/100); El bucle anterior se repite mientras el número aleatorio deseado sea menor que RAND_MAX- RAND_MAX/100. A continuación presentamos el diagrama de flujo correspondiente a este programa:

33 Metodología y tecnología de la programación (I) 33/ Bucle while Es similar al anterior, pero con la condición al principio. En este caso, se prueba la condición antes de ejecutar la primera vez el bucle. Si la condición es falsa inicialmente, el bucle no se ejecuta ninguna vez. while (condicion) sentencia; Nuevamente, en caso de requerir más de una sentencia, se utiliza un bloque de sentencias. Mostramos el código del ejemplo anterior rehecho con este nuevo tipo de bucle: /* *ejemplo4_10.c */ #include <stdio.h> #include <stdlib.h> #include <time.h> main() { srand(time(null)); int r=0; while(r <RAND_MAX- RAND_MAX/100) { r =rand(); printf("%g\n",r);

34 Metodología y tecnología de la programación (I) 34/50 Su diagrama de flujo correspondiente será: Bucle for Es un bucle con la condición al principio, como el while, pero que además permite incluir una sentencia de inicialización del bucle y otra de actualización del mismo. Estos tres elementos se separan por un punto y coma. for (expresion_inicio ; condicion ; expresion_actualizacion) { sentencia; Todo bucle for es equivalente a un bucle while con la expresión inicial antes del bucle y la expresión de actualización al final del mismo. expresion_inicio; while (condicion) { sentencia; expresion_actualizacion; La expresión de inicialización se ejecuta una sola vez al comenzar el bucle. La expresión de actualización se ejecuta cada vez que se llega al final del bucle, antes de comprobar la

35 Metodología y tecnología de la programación (I) 35/50 condición. Debido a esta característica, el bucle for se utiliza con frecuencia para bucles con contadores fijos como, por ejemplo, este bucle for para sumar los cuadrados de los números de 1 a 10 y bucle while equivalente: for (i=1 ; i<11 ; i=i+1) { cuadrado=i*i; suma=suma+cuadrado; i=1; while(i<11) { cuadrado=i*i; suma=suma+cuadrado; i=i+1; La utilización de for en lugar de while se hace sólo por claridad, al estar agrupadas las sentencias de control del bucle en una misma línea. A continuación mostramos el diagrama de flujo correspondiente con este bucle:

36 Metodología y tecnología de la programación (I) 36/50 En un bucle for puede omitirse cualquiera de las dos sentencias, o la condición, o todas ellas; por ejemplo, es válido el siguiente bucle: for ( ; ; ) { sentencia1; sentencia2; En este caso, el bucle no termina nunca, salvo que una sentencia interna break o exit (que veremos más tarde en este tema) lo haga terminar. Si se desea que en un bucle se inicialice o actualice más de una variable se utiliza la secuencia de expresiones. Consiste en separar las diferentes sentencias por una coma (, ), como en el ejemplo siguiente: for (i=0,j=1,s=0,a=0 ; i<10 ; i=i+1,j=j+i*2) { s=s+i; a=a+j; A continuación mostramos un programa que imprime los 127 primeros caracteres ASCII junto con su valor entero equivalente: /* *ejemplo4_11.c */ #include <stdio.h> #include <stdlib.h> main() { char c; for( c = 0; c < 127; c++){ printf("e valor: %i se corresponde con el carácter %c\n",(int)c,c); Bucles anidados Se dice que un bucle está anidado cuando está dentro de otro bucle más amplio. En esta estructura, el bucle interno se ejecuta completamente (todas las repeticiones) para cada paso del bucle externo. Este tipo de construcciones son muy empleadas para procesar matrices, y para otros programas, como el siguiente, que escribe en pantalla una tabla de potencias:

37 Metodología y tecnología de la programación (I) 37/50 /* *ejemplo4_12.c */ #include <stdio.h> #include "math.h" #define MAXBASE 15 #define MAXEXP 7 int base,exponente; main() { /* cabecera de la tabla, con los exponentes y una raya */ printf("\n\n\n "); for (exponente=1;exponente<=maxexp;exponente++) printf("%10i",exponente); printf("\n " " \n"); /* bucles anidados */ for (base=1;base<=maxbase;base++) { printf("%2d %c",base,179); /* base y palito (ASCII 179) */ for (exponente=1;exponente<=maxexp;exponente++) printf("%10li",(long) pow(base,exponente)); printf("\n"); El bucle externo hace variar la base. Para cada base (cada paso del bucle externo), el bucle interno hace variar el exponente de forma que tome todos sus valores. Esto se repite para todos los valores de la base. La función pow(x,y) calcula x elevado a y; está definida en math.h. Al imprimir el resultado, se convierte de double, que es el que devuelve la función, a long, mediante el uso de un molde o cast Sentencias break y continue A veces resulta necesario abandonar un bucle por alguna condición que se verifica cuando se está dentro del bloque de código, sin esperar a evaluar la condición del bucle. Para salir de un bucle puede utilizarse la sentencia break, en combinación con un if, como en el siguiente ejemplo: /* *ejemplo4_13.c */ #include <stdio.h> #include <stdlib.h> #include <time.h> int secreto,numero; main() { srand(time(null));

38 Metodología y tecnología de la programación (I) 38/50 secreto=rand()% 10; printf("\nadivina el Numero secreto." " Para salir da el numero 0\n\n"); do { printf("\ndame un numero del 1 al 10 : "); scanf("%d",&numero); if (numero==0) break; /* == corta el bucle == */ if (numero!=secreto) { printf("ese no es el numero secreto."); if (secreto>numero) printf("el numero secreto es mayor.\n"); else printf("el numero secreto es menor.\n"); else printf(" Has acertado! \n"); while (numero!=secreto); La sentencia continue se utiliza dentro de un bucle para iniciar una nueva iteración del mismo, saltándose las sentencias que la siguen. Es equivalente a un salto al final del bucle, por tanto, si es un bucle for, se ejecuta la sentencia de actualización (aunque está colocada al principio, se ejecuta al final del bucle) y si es un bucle do while se comprueba la condición. El siguiente programa salta los números impares, con una sentencia continue, y descompone los pares hasta saber si son potencias de 2 o no: /* *ejemplo4_14.c */ #include <stdio.h> Unsigned int num,pot; main() { for (num=1;num<64000;num++) { if (num%2!=0) continue; /* == siguiente iteracion == */ pot=num; printf("\n\n %u ",pot); while (pot%2==0) { pot=pot/2; printf("%u ",pot); if (pot==1) printf("\n %u es potencia de 2\n",num); else printf("\n %u no es potencia de 2\n",num);

39 Metodología y tecnología de la programación (I) 39/ Bifurcación múltiple: sentencia switch La bifurcación múltiple permite que un programa tome distintas acciones según el valor de una expresión de tipo int o char. Se realiza mediante la sentencia switch, que tiene la siguiente sintaxis: switch(selector) { case valor1 : Grupo de sentencias1; break; case valor2 : Grupo de sentencias2; break; case valor3 : Grupo de sentencias3; break; case valor4 : Grupo de sentencias4; break; case valor5 : Grupo de sentencias5; break; //... default: statement; Dentro de los paréntesis del switch se coloca la expresión. Para cada valor para el cual se desea ejecutar un conjunto diferente de sentencias se pone una sentencia case seguida de dicho valor (en forma de constante, no sirve una variable). Cuando se ejecuta la sentencia switch, se compara el valor de la expresión con cada constante por orden, y si coincide con una, se ejecutan las sentencias que siguen al case. Una vez que se verifica una sentencia case, se ejecutan las sentencias asociadas y las de todos los case que haya a continuación. Para cortar la ejecución de las sentencias y salir del switch, puede ponerse donde resulte oportuno una sentencia break, esto es, un salto incondicional fuera del switch (la sentencia break será explicada en detalle más adelante en este tema). Si para varios valores de la expresión deben ejecutarse las mismas sentencias, pueden ponerse los case seguidos, con las sentencias en el último de ellos. La etiqueta default es opcional y, si se llega a ella (si no se sale con un break), siempre se ejecuta sea cual sea el valor de la expresión. A continuación mostramos el diagrama de control de flujo correspondiente con un switch:

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

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

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

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

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

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

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

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

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

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

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

Apuntes de ACCESS. Apuntes de Access. Campos de Búsqueda:

Apuntes de ACCESS. Apuntes de Access. Campos de Búsqueda: Apuntes de ACCESS Campos de Búsqueda: Los campos de búsqueda permiten seleccionar el valor de un campo de una lista desplegable en lugar de tener que escribirlos. El usuario sólo tiene que elegir un valor

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

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

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

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

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

SISTEMAS DE NUMERACIÓN. Sistema decimal

SISTEMAS DE NUMERACIÓN. Sistema decimal SISTEMAS DE NUMERACIÓN Sistema decimal Desde antiguo el Hombre ha ideado sistemas para numerar objetos, algunos sistemas primitivos han llegado hasta nuestros días, tal es el caso de los "números romanos",

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

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

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

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

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

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

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

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

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

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

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

Creación de Funciones de Conducción

Creación de Funciones de Conducción Creación de Funciones de Conducción Requerimientos Para el desarrollo de esta actividad se requiere que: Contemos con un robot BoeBot armado con placa Arduino. Repetición En estos momentos habremos notado

Más detalles

by Tim Tran: https://picasaweb.google.com/lh/photo/sdo00o8wa-czfov3nd0eoa?full-exif=true

by Tim Tran: https://picasaweb.google.com/lh/photo/sdo00o8wa-czfov3nd0eoa?full-exif=true by Tim Tran: https://picasaweb.google.com/lh/photo/sdo00o8wa-czfov3nd0eoa?full-exif=true I. FUNDAMENTOS 3. Representación de la información Introducción a la Informática Curso de Acceso a la Universidad

Más detalles

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL OBJETIVO Mejorar el nivel de comprensión y el manejo de las destrezas del estudiante para utilizar formulas en Microsoft Excel 2010. 1) DEFINICIÓN Una fórmula de Excel es un código especial que introducimos

Más detalles

TABLA DE DECISION. Consideremos la siguiente tabla, expresada en forma genérica, como ejemplo y establezcamos la manera en que debe leerse.

TABLA DE DECISION. Consideremos la siguiente tabla, expresada en forma genérica, como ejemplo y establezcamos la manera en que debe leerse. TABLA DE DECISION La tabla de decisión es una herramienta que sintetiza procesos en los cuales se dan un conjunto de condiciones y un conjunto de acciones a tomar según el valor que toman las condiciones.

Más detalles

Tecnologías en la Educación Matemática. Expresiones. Datos. Expresiones Aritméticas. Expresiones Aritméticas 19/08/2014

Tecnologías en la Educación Matemática. Expresiones. Datos. Expresiones Aritméticas. Expresiones Aritméticas 19/08/2014 Tecnologías en la Educación Matemática jac@cs.uns.edu.ar Dpto. de Ciencias e Ingeniería de la Computación UNIVERSIDAD NACIONAL DEL SUR 1 Datos Los algoritmos combinan datos con acciones. Los datos de entrada

Más detalles

TIPOS DE VARIABLES EN PHP. DECLARACIÓN Y ASIGNACIÓN. LA INSTRUCCIÓN ECHO PARA INSERTAR TEXTO O CÓDIGO. (CU00816B)

TIPOS DE VARIABLES EN PHP. DECLARACIÓN Y ASIGNACIÓN. LA INSTRUCCIÓN ECHO PARA INSERTAR TEXTO O CÓDIGO. (CU00816B) APRENDERAPROGRAMAR.COM TIPOS DE VARIABLES EN PHP. DECLARACIÓN Y ASIGNACIÓN. LA INSTRUCCIÓN ECHO PARA INSERTAR TEXTO O CÓDIGO. (CU00816B) Sección: Cursos Categoría: Tutorial básico del programador web:

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

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal)

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal) Unidad I Sistemas numéricos 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal) Los computadores manipulan y almacenan los datos usando interruptores electrónicos que están ENCENDIDOS o APAGADOS.

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

En la actualidad ASCII es un código de 8 bits, también conocido como ASCII extendido, que aumenta su capacidad con 128 caracteres adicionales

En la actualidad ASCII es un código de 8 bits, también conocido como ASCII extendido, que aumenta su capacidad con 128 caracteres adicionales Definición(1) Sistemas numéricos MIA José Rafael Rojano Cáceres Arquitectura de Computadoras I Un sistema de representación numérica es un sistema de lenguaje que consiste en: un conjunto ordenado de símbolos

Más detalles

Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero.

Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero. Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero. Uso de Ficheros Todas las estructuras de datos vistas hasta ahora utilizan la

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

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

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

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

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 a PHP. * No es necesario declarar previamente las variables.

Introducción a PHP. * No es necesario declarar previamente las variables. Introducción a PHP La programación de sitios web cada día está más orientada al desarrollo de páginas dinámicas y aplicaciones, o sea sitios donde el usuario pueda interactuar con la web. Dentro de los

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

Introducción a la programación orientada a objetos

Introducción a la programación orientada a objetos Introducción a la programación orientada a objetos 1. Introducción a la programación orientada a objetos 2. Las clases 3. El tipo Struct 4. Diferencias entre Class y Struct 5. Pilares de la Programación

Más detalles

Centro de Capacitación en Informática

Centro de Capacitación en Informática Fórmulas y Funciones Las fórmulas constituyen el núcleo de cualquier hoja de cálculo, y por tanto de Excel. Mediante fórmulas, se llevan a cabo todos los cálculos que se necesitan en una hoja de cálculo.

Más detalles

Objetivo: Introducción conceptual y aplicación básica de los lenguajes del lado del servidor.

Objetivo: Introducción conceptual y aplicación básica de los lenguajes del lado del servidor. Sesión 03: Lenguajes web del servidor Competencias a Conseguir: - Conocer el entorno de trabajo a nivel de servidores web. - Instalación del localhost (Servidor Local). - Repaso general de PHP y ejercicios

Más detalles

DESARROLLO DE HABILIDADES DEL PENSAMIENTO LÓGICO

DESARROLLO DE HABILIDADES DEL PENSAMIENTO LÓGICO I. SISTEMAS NUMÉRICOS DESARROLLO DE HABILIDADES DEL PENSAMIENTO LÓGICO LIC. LEYDY ROXANA ZEPEDA RUIZ SEPTIEMBRE DICIEMBRE 2011 Ocosingo, Chis. 1.1Sistemas numéricos. Los números son los mismos en todos

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

Los sistemas de numeración se clasifican en: posicionales y no posicionales.

Los sistemas de numeración se clasifican en: posicionales y no posicionales. SISTEMAS NUMERICOS Un sistema numérico es un conjunto de números que se relacionan para expresar la relación existente entre la cantidad y la unidad. Debido a que un número es un símbolo, podemos encontrar

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

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

8. Sentencia return y métodos

8. Sentencia return y métodos 92 A. García-Beltrán y J.M. Arranz 8. Sentencia return y métodos Objetivos: a) Describir el funcionamiento de la sentencia return b) Interpretar el resultado de una sentencia return en el código fuente

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

LECCIÓN 8: CIRCUITOS Y ALGORITMOS DE MULTIPLICACIÓN DE ENTEROS

LECCIÓN 8: CIRCUITOS Y ALGORITMOS DE MULTIPLICACIÓN DE ENTEROS ESTRUCTURA DE COMPUTADORES Pag. 8.1 LECCIÓN 8: CIRCUITOS Y ALGORITMOS DE MULTIPLICACIÓN DE ENTEROS 1. Circuitos de multiplicación La operación de multiplicar es mas compleja que la suma y por tanto se

Más detalles

El lenguaje C. #define MAX LINEA 1000 /* maximo tamanio de linea de entrada */

El lenguaje C. #define MAX LINEA 1000 /* maximo tamanio de linea de entrada */ Principios de Programación El lenguaje C 1. Variables locales y globales 1.1. Variables locales Las funciones permiten al programador modularizar un programa. Todas las variables declaradas en las definiciones

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

Capítulo 4 Procesos con estructuras de repetición

Capítulo 4 Procesos con estructuras de repetición Estructura de contador Capítulo 4 Procesos con estructuras de repetición Esta es una operación que incrementa en una unidad el valor almacenado en la variable c, cada vez que el flujo del diagrama pasa

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

La ventana de Microsoft Excel

La ventana de Microsoft Excel Actividad N 1 Conceptos básicos de Planilla de Cálculo La ventana del Microsoft Excel y sus partes. Movimiento del cursor. Tipos de datos. Metodología de trabajo con planillas. La ventana de Microsoft

Más detalles

Estructuras de Datos y Algoritmos Tecnólogo en Informática

Estructuras de Datos y Algoritmos Tecnólogo en Informática Estructuras de Datos y Algoritmos Tecnólogo en Informática INSTRUCTIVO DEL COMANDO MAKE ESTRUCTURAS DE DATOS Y ALGORITMOS - TECNÓLOGO EN INFORMÁTICA 1 Contenido Introducción... 3 El archivo makefile...

Más detalles

Sistemas de Numeración Operaciones - Códigos

Sistemas de Numeración Operaciones - Códigos Sistemas de Numeración Operaciones - Códigos Tema 2 1. Sistema decimal 2. Sistema binario 3. Sistema hexadecimal 4. Sistema octal 5. Conversión decimal binario 6. Aritmética binaria 7. Complemento a la

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

MATERIAL 2 EXCEL 2007

MATERIAL 2 EXCEL 2007 INTRODUCCIÓN A EXCEL 2007 MATERIAL 2 EXCEL 2007 Excel 2007 es una planilla de cálculo, un programa que permite manejar datos de diferente tipo, realizar cálculos, hacer gráficos y tablas; una herramienta

Más detalles

Estructuras de Control - Diagrama de Flujo

Estructuras de Control - Diagrama de Flujo RESOLUCIÓN DE PROBLEMAS Y ALGORITMOS Ingeniería en Computación Ingeniería en Informática UNIVERSIDAD NACIONAL DE SAN LUIS DEPARTAMENTO DE INFORMÁTICA AÑO 2015 Índice 1. Programación estructurada 2 1.1.

Más detalles

TEMA 2 WINDOWS XP Lección 4 BLOC DE NOTAS

TEMA 2 WINDOWS XP Lección 4 BLOC DE NOTAS TEMA 2 WINDOWS XP Lección 4 BLOC DE NOTAS 1) EL PEQUEÑO EDITOR El Bloc de notas de Windows XP es un básico editor de texto con el que podemos escribir anotaciones, de hasta 1024 caracteres por línea y

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

Sistemas de numeración

Sistemas de numeración Sistemas de numeración Un sistema de numeración es un conjunto de símbolos y reglas que permiten representar datos numéricos. Los sistemas de numeración actuales son sistemas posicionales, que se caracterizan

Más detalles

Comenzando con MATLAB

Comenzando con MATLAB ÁLGEBRA LINEAL INGENIERÍA INFORMÁTICA Curso 08/09 PRÁCTICA 1 Comenzando con MATLAB 1 Funcionamiento de Matlab MATLAB es un sistema interactivo basado en matrices para cálculos científicos y de ingeniería.

Más detalles

Examen escrito de Programación 1

Examen escrito de Programación 1 Examen escrito de Programación 1 Escuela de Ingeniería y Arquitectura Departamento de Informática e Ingeniería de Sistemas 2 de septiembre de 2015 Se debe disponer sobre la mesa en lugar visible un documento

Más detalles

INTRODUCCION A LA PROGRAMACION DE PLC

INTRODUCCION A LA PROGRAMACION DE PLC INTRODUCCION A LA PROGRAMACION DE PLC Esta guía se utilizará para estudiar la estructura general de programación de um PLC Instrucciones y Programas Una instrucción u orden de trabajo consta de dos partes

Más detalles

TEMA 2: Representación de la Información en las computadoras

TEMA 2: Representación de la Información en las computadoras TEMA 2: Representación de la Información en las computadoras Introducción Una computadora es una máquina que procesa información y ejecuta programas. Para que la computadora ejecute un programa, es necesario

Más detalles

Tema 7: Programación con Matlab

Tema 7: Programación con Matlab Tema 7: Programación con Matlab 1. Introducción Matlab puede utilizarse como un lenguaje de programación que incluye todos los elementos necesarios. Añade la gran ventaja de poder incorporar a los programas

Más detalles

Tema 2 Conceptos básicos de programación. Fundamentos de Informática

Tema 2 Conceptos básicos de programación. Fundamentos de Informática Tema 2 Conceptos básicos de programación Fundamentos de Informática Índice Metodología de la programación Programación estructurada 2 Pasos a seguir para el desarrollo de un programa (fases): Análisis

Más detalles

TEMA 1: SISTEMAS INFORMÁTICOS. Parte 2: representación de la información

TEMA 1: SISTEMAS INFORMÁTICOS. Parte 2: representación de la información TEMA 1: SISTEMAS INFORMÁTICOS Parte 2: representación de la información Qué vamos a ver? Cómo se representa y almacena la información en un ordenador Cómo podemos relacionar la información que entendemos

Más detalles

El sistema decimal, es aquél en el que se combinan 10 cifras (o dígitos) del 0 al 9 para indicar una cantidad específica.

El sistema decimal, es aquél en el que se combinan 10 cifras (o dígitos) del 0 al 9 para indicar una cantidad específica. 5.2 SISTEMAS DE NUMERACIÓN. DECIMAL El sistema decimal, es aquél en el que se combinan 10 cifras (o dígitos) del 0 al 9 para indicar una cantidad específica. La base de un sistema indica el número de caracteres

Más detalles

Roberto Quejido Cañamero

Roberto Quejido Cañamero Crear un documento de texto con todas las preguntas y respuestas del tema. Tiene que aparecer en él todos los contenidos del tema. 1. Explica qué son los modos de presentación en Writer, cuáles hay y cómo

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

Operación Microsoft Access 97

Operación Microsoft Access 97 Trabajar con Controles Características de los controles Un control es un objeto gráfico, como por ejemplo un cuadro de texto, un botón de comando o un rectángulo que se coloca en un formulario o informe

Más detalles

Algoritmos y Diagramas de Flujo 2

Algoritmos y Diagramas de Flujo 2 Algoritmos y Diagramas de Flujo 2 Programación Java NetBeans 7.0 RPC Contenido 2.1 Algoritmo...1 Fase de creación de un algoritmo...1 Herramientas de un algoritmo...2 2.2 Diagrama de Flujo...2 Símbolos

Más detalles

CASO PRÁCTICO DISTRIBUCIÓN DE COSTES

CASO PRÁCTICO DISTRIBUCIÓN DE COSTES CASO PRÁCTICO DISTRIBUCIÓN DE COSTES Nuestra empresa tiene centros de distribución en tres ciudades europeas: Zaragoza, Milán y Burdeos. Hemos solicitado a los responsables de cada uno de los centros que

Más detalles

Lección 1. Representación de números

Lección 1. Representación de números Lección 1. Representación de números 1.1 Sistemas de numeración Empecemos comentando cual es el significado de la notación decimal a la que estamos tan acostumbrados. Normalmente se escribe en notación

Más detalles

Carmen. Estándares de codificación. Manuel Arias Calleja

Carmen. Estándares de codificación. Manuel Arias Calleja Carmen. Estándares de codificación Manuel Arias Calleja II Índice general 1. Estandares de codificación 1 1.1. Nombres de ficheros........................ 1 1.2. Organización de ficheros......................

Más detalles

Sintaxis y Convenciones de Java. M. en C. Erika Vilches

Sintaxis y Convenciones de Java. M. en C. Erika Vilches Sintaxis y Convenciones de Java M. en C. Erika Vilches Estructura del Código en Java Hay una clase en un archivo fuente Hay métodos en una clase Hay enunciados en un método Anatomía de una Clase Cuando

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

Práctica 2: Simón dice

Práctica 2: Simón dice Práctica 2: Simón dice Fecha de entrega: 31 de enero de 2016 0.- Descripción del juego (Wikipedia.org) Simon dice es un juego electrónico, creado por Ralph Baer, que consiste en reproducir una secuencia

Más detalles

Anexo B. Comunicaciones entre mc y PC

Anexo B. Comunicaciones entre mc y PC Anexo B Comunicaciones entre mc y PC En este apartado se hará hincapié en los comandos para el manejo del módulo de comunicaciones desde el PC. Conociendo estos comando se podrá realizar una aplicación

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

Bases de datos en Excel

Bases de datos en Excel Universidad Complutense de Madrid CURSOS DE FORMACIÓN EN INFORMÁTICA Bases de datos en Excel Hojas de cálculo Tema 5 Bases de datos en Excel Hasta ahora hemos usado Excel básicamente para realizar cálculos

Más detalles

A25. Informática aplicada a la gestión Curso 2005/2006 Word Tema 3. Formato de sección.

A25. Informática aplicada a la gestión Curso 2005/2006 Word Tema 3. Formato de sección. DEPARTAMENTO DE LENGUAJES Y SISTEMAS INFORMÁTICOS ESCUELA SUPERIOR DE TECNOLOGÍA Y CIENCIAS EXPERIMENTALES A.D.E.M. Segundo Curso A25. Informática aplicada a la gestión Curso 2005/2006 Word Tema 3. Formato

Más detalles

Introducción a los Sistemas Digitales

Introducción a los Sistemas Digitales Tema Sistema Estructura y comportamiento Señal analógica y señal digital Señal binaria Sistemas de numeración Representación de números enteros Signo-magnitud Complemento a dos Codificación Códigos numéricos

Más detalles

! Una variable declarada con final no puede volver a ser reinicializada. numero = 2;! ! Para definir constantes

! Una variable declarada con final no puede volver a ser reinicializada. numero = 2;! ! Para definir constantes Modificador final Introducción a la Programación IV Curso de Programación en Java Luis Guerra l.guerra@upm.es Enero 2012 Una variable declarada con final no puede volver a ser reinicializada final int

Más detalles

Naturaleza binaria. Conversión decimal a binario

Naturaleza binaria. Conversión decimal a binario Naturaleza binaria En los circuitos digitales sólo hay 2 voltajes. Esto significa que al utilizar 2 estados lógicos se puede asociar cada uno con un nivel de tensión, así se puede codificar cualquier número,

Más detalles