Вы находитесь на странице: 1из 41

3----Operacin Operador Suma += A += B A = A + Resta -= A -= B A = A Multiplicacin *= A *= B Divisin /= A /= B Resto de divisin %= Desplazamiento a la izquierda Desplazamiento a la derecha Desplazamiento a la derecha sin

AND de bits &= A &= B OR de bits |= A |= B XOR de bits ^= A ^= B

Utilizacin Operacin equivalente B B A = A * B A = A / B A %= B A = A % B <<= A <<= B A = A << B >>= A >>= B A = A >> B signo >>>= A >>>= B A = A >>> B A = A & B A = A | B A = A ^ B

1----if ( (flags & VISIBLE) == 1 ) //Lo que haya que hacer 2----El formato general completo de la estructura IF es el siguiente: if (Valor_1 operador Valor_2) { comandos } elseif (Valor_1 operador Valor_2) { comandos } else { comandos } 4----La instruccin switch() es una instruccin de decisin mltiple, donde el compilado r prueba o busca el valor contenido en una variable contra una lista de constant es ints o chars, cuando el computador encuentra el valor de igualdad entre varia ble y constante, entonces ejecuta el grupo de instrucciones asociados a dicha co nstante, si no encuentra el valor de igualdad entre variable y constante, entonc es ejecuta un grupo de instrucciones asociados a un default, aunque este ultimo es opcional. 5--- TEMA 8: CICLO WHILE C++ En este ciclo el cuerpo de instrucciones se ejecuta mientras una condicin permane zca como verdadera en el momento en que la condicin se convierte en falsa el cicl o termina. Su formato general es : cargar o inicializar variable de condicin; while(condicin) { grupo cierto de instrucciones; instruccin(es) para salir del ciclo; }; Un error muy comun con el while, es poner un punto y coma(;) despues de la (cond icin) ejemplo while(condicion); ?-esto es y causa un error. Prog7.cpp 6---- TEMA 7: CICLO FOR C++ Instrucciones para ciclos resuelven el problema de repetir todo el programa o ci

erta parte del programa mas de una vez. Este ciclo es uno de los mas usados para repetir una secuencia de instrucciones, sobre todo cuando se conoce la cantidad exacta de veces que se quiere que se ej ecute una instruccin simple o compuesta. Su formato general es: for (inicializacin; condicin; incremento) { instruccin(es); }; ejemplo: for(x=1;x?10;x=x+1) { puts( MAMA ); };

En su forma simple la inicializacin es una instruccin de asignacin que carga la var iable de control de ciclo con un valor inicial. La condicin es una expresin relacional que evala la variable de control de ciclo co ntra un valor final o de parada que determina cuando debe acabar el ciclo. El incremento define la manera en que la variable de control de ciclo debe cambi ar cada vez que el computador repite un ciclo. Se deben separar esos 3 argumentos con punto y coma (;) 7-----Bueno, casi creo que nunca he hablado de matrices, parmetros o funciones en este blog, pero este post es una peticin de Rodrigo que me dijo por email que te na problemas con su tarea porque no sabe cmo pasar una matriz como parmetro a una f uncin en c++. Es algo sencillo, pero difcil de deducir. Veamos. Si tu arreglo es de una dimensin int matriz[4]; la forma de declarar la funcin es la siguiente: void fx(int m[4]) { ...cdigo... } Y la forma de llamar la funcin sera: fx(matriz); Si el arreglo es de dos dimensiones int matriz[4][3]; pues es lo mismo: void fx(int m[4][3]) { ...cdigo... } Y la forma de llamar la funcin sera: fx(matriz); Si la funcin retorna una matriz int matriz[4]; se declara normal: void fx(int m[4]) { return matriz[4]; } Y la forma de llamar la funcin sera: matriz[4] = fx(matriz); Este programa pide tres nmeros, los almacena en una matriz, le suma 1 a cada elem ento y los muestra, usando para cada accin una funcin. As que tenemos funciones que reciben matrices y que retornan matrices. Chquenlo. 8---- UNIDAD 4: C++ PROCEDIMIENTOS Y FUNCIONES

TEMA 4: FUNCIONES C++ Una funcion es un modulo de un programa separado del cuerpo principal, que reali za una tarea especifica y que puede regresar un valor a la parte principal del p rograma u otra funcion o procedimiento que la invoque. La forma general de una funcion es: Tipodato Nomfun(parametros) { cuerpo de instrucciones; return [dato,var,expresion]; } Donde tipodato especifica el tipo de dato que regresara la funcin. La instruccin RETURN es quien regresa un y solo un dato a la parte del programa q ue la este llamando o invocando, sin embargo es de considerar que return puede r egresar un dato, una variable o una expresin algebraica(no ecuacin o formula) como lo muestran los siguientes ejemplos; a) return 3.1416; b) return area; c) return x + 15/2; La lista de parametros formales es una lista de variables separadas por comas (, ) que almacenaran los valores que reciba la funcion, estas variables actuan como locales dentro del cuerpo de la funcion. Aunque no se ocupen parametros los parntesis son requeridos. 9---Operadores es. Los operadores son smbolos especiales que por lo comn se utilizan en expresion

La tabla siguiente muestra los distintos tipos de operadores que utiliza Java. Operador Significado Ejemplo Operadores aritmticos + Suma a + b Resta a - b * Multiplicacin a * b / Divisin a / b % Mdulo a % b Operadores de asignacin = Asignacin a = b += Suma y asignacin a += b (a=a + b) -= Resta y asignacin a -= b (a=a - b) *= Multiplicacin y asignacin a *= b (a=a * b) /= Divisin y asignacin a / b (a=a / b) %= Mdulo y asignacin a % b (a=a % b) Operadores relacionales == Igualdad a == b != Distinto a != b

< Menor que a < b > Mayor que a > b <= Menor o igual que a <= b >= Mayor o igual que a >= b Operadores especiales ++ Incremento a++ (postincremento) ++a (preincremento) -Decremento a-- (postdecremento) --a (predecremento) (tipo)expr Cast a = (int) b + Concatenacin de cadenas a = "cad1" + "cad2" . Acceso a variables y mtodos a = obj.var1 ( ) Agrupacin de expresiones a = (a + b) * c La tabla siguiente muestra la precedencia asignada a los operadores, stos son lis tados en orden de precedencia. Los operadores en la misma fila tienen igual precedencia Operador Notas . [] () Los corchetes se utilizan para los arreglos ++ -- ! ~ ! es el NOT lgico y ~ es el complemento de bits new (tipo)expr new se utiliza para crear instancias de clases * / % Multiplicativos + Aditivos << >> >>> Corrimiento de bits < > <= >= Relacionales == != Igualdad & AND (entre bits) ^ OR exclusivo (entre bits) | OR inclusivo (entre bits) && AND lgico || OR lgico ? : Condicional = += -= *= /= %= &= ^= |= <<= >>= >>>= Asignacin 10----PROCEDENCIA DE OPERADORES : http://imagenes.mailxmail.com/cursos/imagenes /6/6/precedencia-de-operadores-en-java_4566_38_1.jpg Precedencia de operadores Programacin en Java/Precedencia de operadores Saltar a: navegacin, buscar ? Operador cast Precedencia de operadores Estructuras de control ? Ya que conocimos a los operadores, vamos a tratar de colocarlos todos juntos en una sola expresin. Vamos a ver como se organizan para trabajar: int j = 10; boolean esCierto = j/j*j>j-j+j&&j<<j>>>j==j%j||++j<--j+j--; Civilizadamente se organizan de acuerdo al nivel del precedencia de cada uno. Pr imeramente proceden los unarios, luego los aritmticos, despus los de bits, posteri ormente los relacionales, detrs vienen los booleanos y por ltimo el operador de as ignacin. La regla de precedencia establece que los operadores de mayor nivel se e jecuten primero. Precedencia de operadores Descripcin Operadores operadores posfijos op++ op-operadores unarios ++op --op +op -op ~ ! multiplicacin y divisin * / % suma y resta + desplazamiento << >> >>>

operadores relacionales equivalencia == != operador AND & operador XOR ^ operador OR | AND booleano && OR booleano || condicional ?: operadores de asignacin

< > <= =>

= += -= *= /= %= &= ^= |= <<= >>= >>>=

En la tabla se muestra el nivel de precedencia de los operadores. Los de mayor n ivel se encuentran arriba. Podemos ver que los ltimos son los de asignacin. Esto e s lgico, ya que se debe calcular primeramente la expresin antes de asignar un resu ltado a una variable. Veamos unos ejemplos de cmo acta esta regla. int j = 1 + 3 * 4; // resultado j = 13 Desde que aprendimos aritmtica bsica, conocemos la regla que nos obliga a calcular la multiplicacin antes de una suma. Esto tambin se cumple en Java. int j = 1 + 3 4; resultado j= 0;

Si todos los operadores tienen un nivel idntico de precedencia se evalua la expre sin de izquierda a derecha. Utilizacin de parntesis Se utilizan para aislar una porcin de la expresin de forma que el clculo se ejecute de forma independiente. Puede forzar a una expresin a ignorar las reglas de prec edencia. int j = 1 + 3 * 4; // resultado j = 13 int h = (1 + 3) * 4 // resultado j = 16 Tomando el primer ejemplo, forzamos al compilador a realizar la suma antes que l a multiplicacin. En este ejemplo es imprescindible la utilizacin de parntesis : int k = 1 + (h = 3); Si quitamos los parntesis el compilador protestar. Porque al establecer un nivel m uy bajo para la asignacin, procede primero la suma. Pero estamos sumando con una variable sin valor. Como en matemticas, podemos anidar los parntesis. Se comenzara a evaluar los inter nos hasta llegar a los externos. Cabe agregar que los parntesis no disminuyen el rendimiento de los programas. Por lo tanto, agregar parntesis no afecta negativamente al programa. int k = ((12 - 2) * ( 21 - 11)) / ((1+1)*(15-10)) + 1 ; 11-----Librerias o Bibliotecas en Lenguaje C Prof. Lus E. Aponte I. LIBRERIAS EN LENGUAJE C

#include <stdio.h> clearerr fclose feof ferror fflush fgetc fgetpos fgets fopen formato fprintf fputc fputs fread freopen fscanf fseek fsetpos ftell fwrite

getc getchar gets perror printf putc putchar puts remove rename rewind scanf setbuf setybuf sprintf sscanf tmpfile tmpnam ungetc vfprintf vprintf

vsprintf #include <stdlib.h> abort abs atexit atof atoi atol bsearch calloc div exit free getenv labs ldiv malloc mblen mbstowcs mbtowc qsort

rand Realloc srand strtod strtol strtoul system wctomb

#include <string.h> memchr memcmp memcpy memmove memset strcat strchr strcmp strcoll strcpy strcspn strerror

strlen strmcat strmcmp strmcpy strpbrk strrchr strspn strstr strtok strxfrm

#include <ctype.h> tolower toupper

#include <locale.h> localeconv setlocale

#include <math.h> Acos Asin atan atan2 ceil cos cosh Exp

Fabs floor fmod frexp ldexp log log10 modf pow sin sinh sqrt tan tanh

#include <setjmp.h> longjmp

setjmp

#include <signal.h> raise signal

#include <time.h> asctime clock ctime difftime Gmtime localtime

mktime strftime time

Otras librerias que no tienen funciones asociadas. Pero tienen macros constantes y/o estructuras. #include <assert.h> #include <errno.h> #include <float.h> #include <limits.h> #include <stdarg.h> #include <stddef.h>

RESUMEN DE LIBRERIAS assert.h Contiene una macro para el diagnstico dentro de los programas. ctype.h Contiene varias funciones para comprobacin de tipos y transformacin de ca racteres. errno.h Contiene varias macros usadas para informar de errores. limits.h Contienen varias macros que definen constantes para el tamao de tipo en teros. float.h Contienen varias macros que definen constantes para el tamao de tipo flo tante. locale.h Contienen varias macros, funciones y tipos para unidades locales, como unidad monetaria, tiempo, dgitos, etc. math.h Contiene una macro y varias funciones matemticas. setjmp.h Contienen declaraciones que proporcionan una forma de evitar la secuen cia normal de llamada y regreso de funciones.

signal.h Contiene un tipo, dos funciones y varias macros para manejar condicion es excepcionales que aparecen durante la ejecucin, tal como una seal de interrupcin de una fuente externa o un error en la ejecucin. stdarg.h Contiene un tipo y tres macros que proporcionan recursos para recorrer una lista de argumentos de funcin de tamao y tipo desconocido. stddef.h Contiene varios tipos y macros que tambin estn definidas en otras librera s, como size_t. stdio.h Contiene tipos, macros y funciones para la realizacin de tareas de E/S. stdlib.h Contiene tipos, macros y funciones para la conversin numrica, generacin d e nmeros aleatorios, bsquedas y ordenacin, gestin de memoria y tareas similares. string.h Contiene tipos, macros y funciones para la manipulacin de cadenas de ca racteres. time.h Contiene tipos, macros y funciones para la la manipulacin de informacin so bre fechas y horas.

Tipos: char, int, float, long, long long, short, double, void. CADENAS DE FORMATO d, i entero decimal con signo o entero octal sin signo u entero decimal sin signo x entero hexadecimal sin signo (en minsculas) X entero hexadecimal sin signo (en maysculas) f Coma flotante en la forma [-]dddd.dddd e

Coma flotante en la forma [-]d.dddd e[+/-]ddd g Coma flotante segn el valor E Como e pero en maysculas G Como g pero en maysculas c un carcter s cadena de caracteres terminada en '\0' % imprime el carcter % p puntero SECUENCIA DE ESCAPE \a Alerta \b Espacio atrs \f Salto de pgina \n Salto de lnea

\r Retorno de carro \t Tabulacin horizontal \v Tabulacin vertical \\ Barra invertida \' Comilla simple \" Comillas dobles \OOO Visualiza un carcter cuyo cdigo ASCII es OOO en octal \xHHH Visualiza un carcter cuyo cdigo ASCII es HHH en hexadecimal Funcionabilidad de la Funcin System, que pertenece a la librera <stlib.h> Colores de Fondo 0 1 2 3 4 5 6 7 8 9 = = = = = = = = = = Negro Azul Verde Aguamarina Rojo Prpura Amarillo Blanco Gris Azul claro

Colores de Fuente a = Verde claro b = Aguamarina claro c = Rojo claro d = Prpura claro

e = Amarillo claro f = Blanco brillante UNO ****** Mensajes: 5393 Nacionalidad: co Ver Perfil http://juank.black-byte.com Re: Libreria Alloc.h Respuesta #1 en: Viernes 3 de Diciembre de 2004, 06:02 0 Primero que nada alloc.h no es una librerra, es el harchivo de encabezados para poder unsar la libreria alloc (.h quiere decir .header, esn espaol encabezado) y gracias a este archivo es que puedes usar la libreria ya que este contiene la de claracion de las funciones mas no su cuerpo, tambien tiene definicion de constan tes y variables gobales. Ahora com consejo no le des include alloc.h, dale malloc.h y me cuentas si te fu nciono o no. 2 Tabla de referencia rpida Funcin Valores isalnum (A - Z o a - z) o (0 - 9) isalpha (A - Z o a - z) isascii 0 - 127 (0x00-0x7F) iscntrl (0x7F o 0x00-0x1F) isdigit (0 - 9) isgraph Imprimibles menos ' ' islower (a - z) isprint Imprimibles incluido ' ' ispunct Signos de puntuacin isspace espacio, tab, retorno de lnea, cambio de lnea, tab vertical, salto de pgina (0x09 a 0x0D, 0x20). isupper (A-Z) isxdigit (0 to 9, A to F, a to f). Vase tambin 13LIBRERIA Archivos de cabeceras de la biblioteca ANSI C <assert.h> Contiene la macro assert (asercin), utilizada para detectar error es lgicos y otros tipos de fallos en la depuracin de un programa. <complex.h> Conjunto de funciones para manipular nmeros complejos (nuevo en C 99). <cstring> Contiene las funciones strlen, strstr, strchr, strcat. <ctype.h> Contiene funciones para clasificar caracteres segn sus tipos o pa ra convertir entre maysculas y minsculas independientemente del conjunto de caract eres (tpicamente ASCII o alguna de sus extensiones). <errno.h> Para analizar los cdigos de error devueltos por las funciones de biblioteca. <fenv.h> Para controlar entornos en coma flotante (nuevo en C99). <float.h> Contiene la definicin de constantes que especifican ciertas propi edades de la biblioteca de coma flotante, como la diferencia mnima entre dos nmero s en coma flotante (_EPSOLON), el nmero mximo de dgitos de precisin (_DIG), o el ran go de valores que se pueden representar (_MIN, _MAX). <inttypes.h> Para operaciones de conversin con precisin entre tipos enteros (nu evo en C99). <iso646.h> Para utilizar los conjuntos de caracteres ISO 646 (nuevo en NA1) . <limits.h> Contiene la definicin de constantes que especifican ciertas propi edades de los tipos enteros, como rango de valores que se pueden representar (_M IN, _MAX). <locale.h> Para la funcin setlocale() y las constantes relacionadas. Se util iza para seleccionar el entorno local apropiado (configuracin regional).

<math.h> Contiene las funciones matemticas comunes. <setjmp.h> Declara las macros setjmp y longjmp para proporcionar saltos de flujo de control de programa no locales. <signal.h> Para controlar algunas situaciones excepcionales como la divisin por cero. <stdarg.h> posibilita el acceso a una cantidad variable de argumentos pasad os a una funcin. <stdbool.h> Para el tipo booleano (nuevo en C99). <stdint.h> Para definir varios tipos enteros (nuevo en C99). <stddef.h> Para definir varios tipos de macros de utilidad. <stdio.h> Proporciona el ncleo de las capacidades de entrada/salida del len guaje C (incluye la venerable funcin printf). <stdlib.h> Para realizar ciertas operaciones como conversin de tipos, genera cin de nmeros pseudo-aleatorios, gestin de memoria dinmica, control de procesos, fun ciones de entorno, de sealizacin (??), de ordenacin y bsqueda. <string.h> Para manipulacin de cadenas de caracteres. <tgmath.h> Contiene funcionalidades matemticas de tipo genrico (type-generic) (nuevo en C99). <time.h> Para tratamiento y conversin entre formatos de fecha y hora. <wchar.h> Para manipular flujos de datos anchos y varias clases de cadenas de caracteres anchos (2 o ms bytes por carcter), necesario para soportar caracter es de diferentes idiomas (nuevo en NA1). <wctype.h> Para clasificar caracteres anchos (nuevo en NA1). 12-----------Me t od o lo g a y T c nica s d e Pro g ramaci n I 2 0 0 4 / 20 05 1 Elementos bsicos de un lenguaje de alto nivel: C++ CONTENIDOS 1. Estructura bsica de un programa C++. 2. Tipos de datos simples. 3. Constantes y variables en C++. Declaracin. 4. Operadores y expresiones. 5. Instrucciones de Entrada y Salida. Algunas caractersticas de C++. Metodologa y Tcnicas de Programacin I 2004/2005 2

1 Estructura bsica de un programa C++ Metodologa y Tcnicas de Programacin I 2004/2005 5 Un ejemplo sencillo de un programa que intercambia el valor de 2 nmeros: #include <iostream.h> int main() { int x, y; int aux; cin >> x >> y; aux = x; x = y; y = aux; cout << x <<y; return 0; } Flujo de salida por estndar (pantalla) Declaracin de variables locales Estructura de un programa C++ << : operador de insercin para flujos de salida Flujo de entrada Devuelve el valor-resultado Metodologa y Tcnicas de Programacin I 2004/2005 6 Directivas del preprocesador Los compiladores de C++ proporcionan bibliotecas de funciones. Cada biblioteca de funciones tiene asociada un archivo de definicin que se denomina cabecera . Para utilizar algo de una biblioteca en un programa, hay que colocar al principio del programa una directiva de preprocesamiento seguida de la cabecera de la biblioteca entre ngulos. Instrucciones al compilador antes de que se compile el programa principal Las directivas ms usuales son: # include # define # include <iostream.h> Indica al compilador que lea las directivas antes de compilar la funcin principal Estructura de un programa C++ Metodologa y Tcnicas de Programacin I 2004/2005 11 2 Tipos de datos simples Metodologa y Tcnicas de Programacin I 2004/2005 12 Tipos de datos bsicos en C++ El tipo de dato determina la naturaleza del valor que puede tomar una variable.Un tipo de dato define un dominio

de valores y las operaciones que se pueden realizar con stos valores. C++ dispone de unos cuantos tipos de datos predefinidos (simples) y permite al programador crear otros tipos de datos Tipo de datos bsicos int ( Nmeros enteros ) float ( Nmeros reales ) double ( Nmeros reales ms grandes que float ) bool ( Valores lgicos ) char ( Caracteres y cualquier cantidad de 8 bits ) void ( Nada. Sirve para indicar que una foncin no devuelve valores ) Metodologa y Tcnicas de Programacin I 2004/2005 13 Tipo int Tamao en bytes: 2 bytes (16 bits) Dominio: son todos los nmeros enteros entre los valores -32.768 y 32.767 Operaciones: Tipos de datos bsicos en C++ + Suma -Resta * Producto / Divisin entera % Resto de la divisin entera (mdulo) - , + Signo negativo, positivo ++ Incrementacin -- Decrementacin int ? ?? ? int int int ? ?? ? int Prioridad de los operadores: ++, - -

10*5 ++ - , + (unario) -3 * , /, % 3*5 +, - 6+7 Nmeros enteros 10 6 Metodologa y Tcnicas de Programacin I 2004/2005 14 Operadores de incrementacin y decrementacin Se trata de los operadores: ++ - Suma una unidad a su argumento Resta una unidad a su argumento m = m + 1; m++; ++m; Son equivalentes Si precede al operando, se realiza la operacin ++ o -- y luego se realiza la asignacin. Si sigue al operando, se realiza la asignacin y posteriormente se realiza la operacin ++ o -x = 10; y = x++; // y vale 10 x = 10; y = ++x; // y vale 11 Tipos de datos bsicos en C++ Metodologa y Tcnicas de Programacin I 2004/2005 15 Tipo float Tamao en bytes: 4 bytes Dominio: son todos los nmeros reales que contienen una coma decimal comprendidos entre los valores: 3,4 10 -38 y 3,4 10 38 Operaciones: Tipos de datos bsicos en C++ + Suma -Resta * Producto / Divisin en coma flotante float float ?

?? ? float La prioridad de los operadores es la misma que para el tipo int Nmeros reales - , + Signo negativo, positivo ++ Incrementacin -- Decrementacin float ? ?? ? float Metodologa y Tcnicas de Programacin I 2004/2005 16 Tipo double Tamao en bytes: 8 bytes Dominio: son todos los nmeros reales que contienen una coma decimal comprendidos entre los valores: 1,7 10 -308 y 1,7 10 308 Operaciones: Tipos de datos bsicos en C++ + Suma -Resta * Producto / Divisin en coma flotante double double ? ?? ? double La prioridad de los operadores es la misma que para el tipo int Igual que float pero ms grandes Nmeros reales - , + Signo negativo, positivo ++ Incrementacin -- Decrementacin double ?

?? ? double Metodologa y Tcnicas de Programacin I 2004/2005 17 Adems de stas operaciones, C++ dispone de un gran conjunto de funciones matemticas . Tipos de datos bsicos en C++ #include <math.h> { x = abs(-7) // x vale 7 y = ceil (5.2) // y vale 6 z = floor (5.2) // z vale 5 resto = fmod(5.0, 2.0) // resto vale 1 } abs : int ? int Calcula el valor absoluto de un nmero ceil : double ? double Calcula el nmero entero mayor o igual que el dado floor : double ? double Redondea por defecto el valor de un nmero fmod : double double ? double Calcula el resto de la divisin real de dos nmeros sqrt: double ? double Calcula la raz cuadrada de un nmero Funciones: math.h float.h complex.h Los archivos de cabecera que contienen stas funciones son entre otras: Tipo bool Tamao en bytes: 1 byte Dominio: dos nicos valores: { true, false } Operaciones:

Tipos de datos bsicos en C++ No todos los compiladores de C++ tienen ste tipo de dato. En su lugar se utiliza el tipo int para representar el tipo de datos bool , de forma que el valor entero 0 representa false y cualquier otro valor representa true. Falso ? Cero Verdadero ? Distinto de cero && Y lgica (and) || O lgica (or) bool bool ? ?? ? bool ! N egacin lgica (not) bool ? ?? ? bool Prioridad de los operadores ! &&, || Operadores lgicos Metodologa y Tcnicas de Programacin I 2004/2005 19 Tabla de verdad: A B ! A A && B A || B TTFTT TFFFT FTTFT FFTFF = = Igual a != Distinto > Mayor que < Menor que >= Mayor o igual que <= Menor o igual que Operadores relacionales Los operadores relacionales se utilizan para comprobar una condicin Operadores relacionales: Tipos de datos bsicos en C++ Metodologa y Tcnicas de Programacin I 2004/2005 20 Escritura de valores bool Raramente se tiene la necesidad de escribir o leer valores de tipo bool ya que ste tipo de datos se utiliza sobre todo para evaluar

expresiones lgicas. En caso necesario, si escribimos un dato de tipo bool cuyo valor es true, en consola se visualiza el valor 1. La lectura es anlogo. Tipos de datos bsicos en C++ Metodologa y Tcnicas de Programacin I 2004/2005 21 Tipo char Tamao en bytes: 1 byte Dominio: dgitos, letras maysculas, letras minsculas y signos de puntuacin. Tipos de datos bsicos en C++ 0 < 1 < 2 .... < 9 < A < B < ... < Z < a < b < ...< z Internamente, los caracteres se almacenan como nmeros. El tipo char representa valores en el rango -128 y 127 y se asocian con el cdigo ASCII. As, el carcter A se almacena como el nmero 65, etc ... Metodologa y Tcnicas de Programacin I 2004/2005 22 Operaciones: Dado que los caracteres se almacenan internamente como nmeros enteros, se pueden realizar operaciones aritmticas con los datos de tipo char. Se puede sumar un entero a un carcter para obtener otro cdigo ASCII diferente. Ejemplos: Para convertir una letra minscula en mayscula basta con restar 32. a - 32 = A Para convertir una letra mayscula en minscula basta con sumar 32. B + 32 = b Para convertir el carcter 4 en el nmero 4 basta con restar 48. 4 - 48 = 4 Tipos de datos bsicos en C++ Ms adelante veremos que, en unin con la estructura array , se pueden almacenar cadenas de caracteres . Metodologa y Tcnicas de Programacin I 2004/2005 23 Tipos de datos bsicos en C++ #include <ctype> { ... char c = A ; c = tolower (c); // c vale a t = isdigit(c) ; // t vale O (FALSE) ... } isdigit: char ? int Devuelve TRUE si el carcter es: 0 , ... , 9 isalpha : char ? int Devuelve TRUE si el carcter es: A , ... , Z , a , ... , z .

islower : char ? int Devuelve TRUE si el carcter es una letra minscula: a , ... , isupper : char ? int Devuelve TRUE si el carcter es una letra mayscula: A , ... , Z . tolower: char ? char Convierte un carcter mayscula en minscula. toupper: char ? char Convierte un carcter minscula en mayscula. ctype.h Funciones: El archivo de cabecera que contiene stas funciones es: char c = 65; Metodologa y Tcnicas de Programacin I 2004/2005 24 Modificadores de tipos de datos Los tipos de datos int , double y char tienen variaciones o modificadores de tipos de datos . Permiten un uso ms eficiente de los tipos de datos Son modificadores los siguientes: signed unsigned short log unsigned int 0 ...65625 long double -3,37 10 -4932 ... 3,37 10 4932 long int -2147483648 ... 2147483647 Rango de valores Tipos de datos bsicos en C++ Metodologa y Tcnicas de Programacin I 2004/2005 25

z .

Las computadoras realizan numerosas operaciones para la resolucin de problemas, - Operaciones aritmticas y lgicas. - Operaciones condicionales. ... Adems, puede ocurrir que en una misma expresin concurran varios tipos de datos. Ante sta situacin, debemos saber cmo se comporta el compilador. Cuando los dos operandos son de tipos distintos, el de tipo menor se promociona al de tipo mayor . long double double float int short int char Tipos de mayor a menor + Tipos de datos bsicos en C++ Metodologa y Tcnicas de Programacin I 2004/2005 26 Tipos de datos bsicos en C++ #include <stdio.h> #include <iostream.h> int main() { int i; i = sizeof ( int )*8; cout <<"Tamao (en bits) del tipo int = " ; cout << i; return 0; } Tipo de datos Datos almacenados N de Bytes char caracteres 1 int enteros 2 float reales 4 double reales 8 bool lgicos 1 En cuanto a la memoria que ocupa cada tipo: Esto no siempre es cierto,

depende del ordenador y del compilador. Para saber en nuestro caso qu tamao tienen nuestros tipos de datos debemos hacer lo siguiente Metodologa y Tcnicas de Programacin I 2004/2005 27 3 Constantes y variables C++ Metodologa y Tcnicas de Programacin I 2004/2005 28 Constantes y Variables Son porciones de memoria que almacenan un valor. Las variables son palabras que manipulan datos. Dicho valor puede ser modificado en cualquier momento durante la ejecucin del programa. Una constante es una variable cuyo valor no puede ser modificado. Las variables pueden almacenar todo tipo de datos: caracteres, nmeros, estructuras, etc ... Dependiendo del valor de la variable, decimos que dicha variable es de un tipo de dato. Tanto las variables como las constantes estn constituidas por un nombre y un valor. El nombre lo llamaremos identificador. Toda variable utilizada en un programa debe ser declarada previamente. En C++, sta declaracin puede situarse en cualquier parte del programa. Variables globales Variables locales Parmetros Dependiendo de dnde se definan, tenemos varios tipos: Metodologa y Tcnicas de Programacin I 2004/2005 29 Constantes y Variables Declaracin de variables La declaracin de una variable consiste en escribir un sentencia que proporciona informacin al compilador de C++. El compilador reserva un espacio de almacenamiento en memoria. Los nombres de las variables se suelen escribir en minsculas. El procedimiento para declarar una variable: <tipo_de_dato> <nombre_de_variable> ; <tipo_de_dato> <lista de variables> ; <tipo_de_dato> <nombre_de_variable> = valor; int x; char x, y, z; long int i =10, j, k=0; En C++ las variables no se actualizan automticamente Metodologa y Tcnicas de Programacin I 2004/2005 30 Una forma de expresar el procedimiento para declarar una variable es mediante los

diagramas sintcticos : Constantes y Variables Tipo de dato Nombre_de_variable Valor_inicial = ; , Declaracin de variables Declaraciones locales Son variables locales aquellas que estn declaradas dentro de las funciones o de los bloques. Metodologa y Tcnicas de Programacin I 2004/2005 31 Declaraciones globales ( variables globales, funciones, ...) La zona de declaraciones globales de un programa puede incluir declaraciones de variables y declaraciones de funciones ( prototipos ). Las funciones y variables aqu declaradas, se pueden utilizar en cualquier punto del programa. Parmetros Definidos en la lista de parmetros formales de las funciones . Constantes y Variables Metodologa y Tcnicas de Programacin I 2004/2005 32 Ejemplos: ... int funcion1() { int i; if ( i= =1) { char m= s ; .... } /* aqu no se conoce a m */ } ... La variable m solo existe en ste bloque Variables locales ... int calcular(int i, float j) { ...

} ... Parmetros Constantes y Variables Metodologa y Tcnicas de Programacin I 2004/2005 33 Declaracin de Constantes Una constante es una variable cuyo valor no puede ser modificado. Los nombres de las constantes se suelen escribir en maysculas. 1. Constantes declaradas const La palabra reservada const es un calificador de tipo variable e indica que el va lor de variable no se puede modificar. Constantes y Variables const <tipo_de_dato> <nombre_de_constante> = <valor> ; ... const int DIAS = 7; const char ; VACIO = const char PORCENTAJE = % ; ... Ejemplos Si se intenta modificar una variable definida con const , se produce error. Metodologa y Tcnicas de Programacin I 2004/2005 34 2. Constantes definidas Se declaran mediante la directiva #define Constantes y Variables #define <nombre_de_constante> <valor> ... #define pi 3.14 #define fin F ... Ejemplos No se especifica el tipo de dato No aparece ; al final de la sentencia No aparece el smbolo = Es ms recomendable utilizar const en lugar de #define ya que el compilador genera cdigo ms eficiente. Metodologa y Tcnicas de Programacin I 2004/2005 35

3. Constantes enumeradas Las constantes enumeradas permiten crear listas de elementos afines. Constantes y Variables enum <nombre_de_constante> { <lista_de_valores> }; ... enum Colores {Rojo, Verde, Azul, Amarillo}; enum Botones {Salir, Jugar}; ... Colores favorito = Rojo; ... Ejemplo de constante enumerada de una lista de colores El compilador asigna un nmero a cada elemento del conjunto (comenzando con 0). Se comporta como cualquier otro tipo de datos . Se pueden declarar variables de tipo enumerado. Metodologa y Tcnicas de Programacin I 2004/2005 36 #include <iostream.h> int main() { enum Dias { Lunes, Martes, Miercoles, Jueves, Viernes }; Dias libre = Viernes; // Dias libre = 4; cout << libre; // se visualiza por pantalla el nmero 4 return 0; } Ejemplo del funcionamiento de enumeraciones Constantes y Variables Metodologa y Tcnicas de Programacin I 2004/2005 37 4 Operadores y expresiones Metodologa y Tcnicas de Programacin I 2004/2005 38 1. Instrucciones de asignacin. El operador asignacin (=) asigna el valor de la expresin derecha a la variable situada en la izquierda de la instruccin. Podemos tener en C++ varios operadores de asignacin: =+=-=*=/=%= Operadores y Expresiones <nombre_de_variable> = <expresin> ; Puede ser otra variable, una constante o una operacin entre variables y constantes. Metodologa y Tcnicas de Programacin I 2004/2005 39 Operadores y Expresiones Ejemplos: m = n; // asigna el valor de n a m m = m + n; //suma m y n y lo asigna a la variable m m = m- n; // resta m menos n y lo asigna a la variable m m = m * n; //multiplica m por n y lo asigna a la variable m m = m / n;

//divide m entre n y lo asigna a la variable m m = m % n; //calcula el resto de la div. entera y lo asigna a la variable m m += n; m -= n; m *= n; m /= n; m %= n; Instruccin abreviada. Metodologa y Tcnicas de Programacin I 2004/2005 40 Operadores y Expresiones Ms ejemplos: m = n = t = 10; // Damos a las variables m, n y t el valor 10 m = n = t = a; // las variables m, n y t toman el valor de la variable a Podemos dar valores a varias variables a la vez Tambin podemos asignar a varias variables el valor de otra de un slo golpe Metodologa y Tcnicas de Programacin I 2004/2005 41 2. Operador de direccin: & Cuando se declara una variable, se le asocian tres caractersticas: - nombre de la variable - tipo de la variable - direccin de memoria Operadores y Expresiones ... char x = A ; ... El valor de la variable x es A . La direccin de memoria es 2. 0 1 999 998 2 997 0000001 1001111 1000001 x Para conocer la direccin de memoria donde se encuentra almacenada la variable, se puede utilizar el operador &. ... cout << x; cout << &x; ... Se visualiza el valor: A Se visualiza la direccin: 2 Metodologa y Tcnicas de Programacin I 2004/2005 42 Referencias Puede ser interesante declarar dos variables con la misma direccin de memoria. Para realizar sta tarea tambin utilizamos el operador & . Operadores y Expresiones 0

1 999 998 2 997 0000001 1001111 1000001 x #include <iostream.h> int main() { char x = A ; char & p = x; cout << x << p; p = b ; // x tambin vale b cout << x << p; ... return 0; } p La direccin de la variable p es la misma que la direccin de la variable x <tipo> & <variable> = <variable>; Metodologa y Tcnicas de Programacin I 2004/2005 43 5 Instrucciones de Entrada / Salida Metodologa y Tcnicas de Programacin I 2004/2005 44 Permiten la comunicacin del ordenador con el exterior para tomar datos o devolver resultados Instrucciones de Entrada / Salida En C++ la entrada y salida se lee y escribe en flujos. Cuando se incluye la biblioteca iostream.h en el programa, se definen automticamente dos flujos: Esta biblioteca tambin nos proporciona dos operadores, uno de insercin ( <<) , que inserta datos en el flujo cout y otro operador de extraccin ( >> ) para extraer valores del flujo cin y almacenarlos en variables. Flujo

cin (se utiliza para la Flujo cout (se utiliza para la ... cout << x; cout << x << y << z cout << x vale: cout << Hola\n ; ... ... cin >> a; cin >> a >> b >> c; ... Salto de lnea \n tambin provoca salto de lnea

entrada de datos) salida de datos) << endl; << x;

???????????????????? CUALES SON LOS NOMBRESSSSSSSS Introduccin al lenguaje C Enviado por tlbk0065 Anuncios Google Peinados TRESemm Con TRESemm Split Remedy tendrs un cabello perfecto. Pruebalo. Facebook.com/TRESem meMX Community Management Curso de nivel master universitario Apntate hoy con descuento del 10% karding.org Peinados Modernos Sedal Sedal Naturals. Inspirado en la naturaleza co-creado con tecnologa facebook.com/Se dalMexico EL lenguaje C es el resultado de un proceso de desarrollo que inici con un lengua je denominado BCPL. Este influenci a otro llamado B (inventado por Ken Thompson). En los aos 70; ste lenguaje llev a la aparicin del C. Con la popularidad de las microcomputadoras muchas compaias comenzarona implement ar su propio C por lo cual surgieron discrepancias entre s. Por esta razn ANSI (American National Standars Institute, por sus siglas en ingls) , estableci un comit en 1983 para crear una definicin no ambiga del lenguaje C e ind ependiente de la mquina que pudiera utilizarse en todos los tipos de C. Algunos de las C existentes son: -Quick C -C++ -Turbo C -Turbo C ++ -Borland C

-Borland C++ -Microsoft C -etc. Este manual se basa en el C estandar el cual puede utilizarse en todos los tipos de C. C es un lenguaje de programacin de nivel medio ya que combina los elementos del l enguaje de alto nivel con la funcionalidad del ensamblador. Su caracterstica principal es ser portable,es decir,es posible adaptar los progra mas escritos para un tipo de computadora en otra. Otra de sus caractersticas principales es el ser esctructurado, es decir, el prog rama se divide en mdulos (funciones) independientes entre s. El lenguaje C inicialmente fu creado para la programacin de -Sistemas operativos -Intrpretes -Editores -Ensambladores -Compiladores -Administradores de bases de datos. Actualmente, debido a sus caratersticas, puede ser utilizado paratodo tipo de pro gramas. ELEMENTOS GENERALES DE UN PROGRAMA EN C Aunque cada uno de los programas son distintos, todos tienen caractersticas comun es. Los elementos de un programa en C son los siguientes: Comentarios Inclusin de archivos main() { variables locales flujo de sentencias } Definicin de funciones creadas por el programador utilizadas en main() Veamos en que consiste cada uno: Comentarios:Se identifican porque van entre diagonales y asterisco.Nos sirve par

a escribir informacin que nos referencie al programa pero que no forme parte de l. Por ejemplo especificar que hace elprograma, quien lo elabor, en que fecha, que versin es, etc. Inclusin de archivos: Consiste en mandar llamar a la o las bibliotecas donde se e ncuentran definidas las funciones de C (instrucciones) que estamos utilizando en el programa. En realidad, la inclusin de archivos no forma parte de la estructura propia de un programa sino que pertenece al desarrollo integrado de C. Se incluye aqu para qu e el alumno no olvide que debe mandar llamar a los archivos donde se encuentran definidas las funciones estandar que va a utilizar. main(): En C, todo est constituido a base de funciones. El programa principal no es la excepcin. main() indica el comienzo de la funcin principal del programa la c ual se delimita con llaves. Variables locales: Antes de realizar alguna operacin en el programa, se deben dec larar la(s) variable(s) que se utilizarn en el programa. Flujo de sentencias: Es la declaracin de todas las instrucciones que conforman el programa. Definicin de funciones creadas por el programador utilizadas enmain(): Finalmente ,se procede a definir el contenido de las funciones utilizadas dentro de main(). Estas contienen los mismos elementos que la funcin principal. Para ejecutarlo, realice los siguientes pasos: * Oprima la tecla F10 y seleccione la opcin File.Posicionese en Open y pulse ente r. * Escriba el nombre del archivo donde va a guardar su programa,que no exceda de ocho letras. Automticamente se le agregar la terminacin .c .Digite<ENTER>. *Transcriba el programa. Importante: Despus de cada asignacin o funcin es imprecindible colocar un punto y coma (;) ya q ue ste es un terminador de proposiciones. En caso de que no se escriba, se marcar un error a la hora de compilar el programa. En C, los comandos deben ser escritos con letras minsculas, tal como se ha hecho en este programa ejemplo. En el caso de las variables o la funciones definidas p or el usuario la situacin es similar: no es lo mismo Apellido que apellido que APELLIDO Aunque para nosotros es lo mismo, el compilador de C, los toma como tres nombres distintos. Por tanto, asegrese de mandar llamar las variables o funciones exacta mente de la misma forma en que las declar. Despus de que el programa se encuentra en la ventana activa de edicin, procedamos

a compilarlo: *Presione la tecla F10, escoja el submenCompile. Escoja la opcin Compile. Si su programa presenta errores, puede presionar la tecla F1 para saber las posibles causas del error. Corrjalos y vuelvalo acompilar hasta qu e hasta que la compilacin sea exitosa. Los warnings (advertencias) indican posibles errores en la estructura del progra ma. Si usted est seguro de que su programa est correcto, ignrelos. No le causarn pro blemas a la hora de correrlo aunque lo ideal sera que no las hubiera. Si no se encontraron errores, proceda a ejecutarlo: - Escoja el submen Run. -Presione <ENTER> en la opcin RUN AUTOEVALUACIN 1. Qu es C? 2. Cmo creamos un archivo? 3. En un programa en C, qu significa main()? 4. Qu funcin desempea <conio.h>en el programa? 5. Para qu sirven la llave abierta y la llave cerrada{} 6. Cmo se compila el programa? 7. Cmo ejecutamos un programa? 8. Captura y ejecuta los programas que se muestran a continuacin: a)/*Programa que despliega un mensaje de bienvenida en la pantalla*/ #include<stdio.h> #include<conio.h> void main() { clrscr(); gotoxy(20,10); printf("BIENVENIDO AL CURSO DE C ESTANDAR"); delay(2500); } b) /*Programa que calcula el nmero de dias vividos*/ #include<stdio.h>

#include<conio.h> void main() { char nombre[50]; int edad; clrscr(); printf("Cmo te llamas?\n "); scanf("%s",nombre); printf("Cuntos aos tienes?\n"); scanf("%i",&edad); edad=edad*365; gotoxy(5,10); printf("%s, has vivido %i dias",nombre,edad); gotoxy(40,22); printf("Pulsa cualquier tecla para terminar..."); getch(); } c) /*Programa que saca el promedio de 3 nmeros*/ #include<stdio.h> #include<conio.h> void main() { float numero; float promedio=0; clrscr(); printf("Dame el primer nmero: "); scanf("%f",&numero); promedio+=numero; printf("Dame el segundo nmero: "); scanf("%f",&numero);

promedio+=numero; printf("Dame el tercer nmero: "); scanf("%f",&numero); promedio+=numero; promedio=promedio/3; printf("El promedio es %f",promedio); gotoxy(40,22); printf("Presione cualquier tecla para terminar..."); getch(); } d) /*Programa que convierte un nmero decimal entero a octal*/ #include<stdio.h> #include<conio.h> void main() { int numero; clrscr(); printf("Numero entero en decimal: "); scanf("%i", &numero); printf("\n\nSu representacion en octal es %o"); gotoxy(40,22); printf("Presione cualquier tecla para terminar..."); getch(); } e) /*Programa que manda un mensaje de advertencia*/ #include <dos.h> #include<conio.h> int main(void) { clrscr();

gotoxy(28,11); printf(" P E L I G R O ! "); sound(250); delay(600); sound(80); delay(600); delay(600); nosound(); return 0; }

Autor: Roman tlbk0065[arroba]telebrokers.com.ar

Вам также может понравиться