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

CBETIS: 133 SAETI

ALUMNO: OSVALDO DAMIAN RAFAEL CONTRERAS

GRADO: 2

GRUPO: A

UNIDAD: I
CONCEPTOS GENERALES.

El comit para el estndar ANSI C fue formado en 1983 con el objetivo de crear un lenguaje uniforme a partir del C original, desarrollado por Kernighan y Ritchie en 1972, en la ATT. Hasta entonces el estndar lo marcaba el libro escrito en 1978 por estos dos autores. El lenguaje C++ se comenz a desarrollar en 1980. Su autor fue B. Stroustrup, tambin de la ATT. Al comienzo era una extensin del lenguaje C que fue denominada C with classes. Este nuevo lenguaje comenz a ser utilizado fuera de la ATT en 1983. El nombre C++ es tambin de ese ao, y hace referencia al carcter del operador incremento de C (++). Ante la gran difusin y xito que iba obteniendo en el mundo de los programadores, la ATT comenz a estandarizarlo internamente en 1987. En 1989 se form un comit ANSI (seguido algn tiempo despus por un comit ISO) para estandarizarlo a nivel americano e internacional. En la actualidad, el C++ es un lenguaje verstil, potente y general. Su xito entre los programadores profesionales le ha llevado a ocupar el primer puesto como herramienta de desarrollo de aplicaciones. El C++ mantiene las ventajas del C en cuanto a riqueza de operadores y expresiones, flexibilidad, concisin y eficiencia. Adems, ha eliminado algunas de las dificultades y limitaciones del C original. La evolucin de C++ ha continuado con la aparicin de Java, un lenguaje creado simplificando algunas cosas de C++ y aadiendo otras, que se utiliza para realizar aplicaciones en Internet. Hay que sealar que el C++ ha influido en algunos puntos muy importantes del ANSI C, como por ejemplo en la forma de declarar las funciones, en los punteros a void, etc. En efecto, aunque el C++ es posterior al C, sus primeras versiones son anteriores al ANSI C, y algunas de las mejoras de ste fueron tomadas del C++.

LENGUEJE: Lenguaje. Cualquier notacin de representar algoritmos o estructuras de datos es considerado un lenguaje. Pseudolenguajes. Notacin informal, pero entendible. Lenguajes de Especificacin. Para especificar cmo deben hacerse un determinado sistema. Existen formales. Z, TROLL, etc. Se estudian en Ingeniera de Software. No son implementados en computador. Lenguajes de Programacin de Computadores. FORTRAN, COBOL, PASCAL, C, ADA, C++, Visual Basic, etc.

PROGRAMA: En sentido in formatico est constituido por un conjunto de instrucciones que se ejecutan ordinariamente si no secuencial, es decir, una detrs de otra. Recientemente con el objeto de disminuir tiempos de ejecucin de programas crticos por su tamao o complejidad, se esta haciendo un gran esfuerzo en desarrollar programas paralelos, esto es, programas que se puedan ejecutar simultneamente en varios procesadores. La programacin paralela es mucha ms complicada que la secuencial y no se har referencia a ella en este caso. INSTRUCCIN: Las aplicaciones informticas que habitualmente se utilizan, incluso a nivel de informtica personal suelen contener decenas y aun cientos de miles de lneas de cdigo fuente. A medida que los programas se van desarrollando y aumentan de tamao, se convertirn rpidamente en sistemas poco manejables si no fuera por la modularizacion, que es el proceso consistente en dividir un programa muy grande en una serie de mdulos mucho ms pequeos y manejables. A estos mdulos se les ha solido denominar de distintas formas (subprogramas, subrutinas, procedimientos, funciones etc.). Sea cual sea la nomenclatura, la idea es sin embargo siempre la misma.

VARIABLE:

Todas las variables han de ser declaradas antes de ser usadas. Forma general: tipo lista_de_variables; int i,j,l; short int si;

Existen tres sitios donde se pueden declarar variables: dentro de las funciones (variables locales), en la definicin de parmetros de funciones (parmetros formales) y fuera de todas las funciones (variables globales). Variables externas Si una funcin situada en un fichero fuente desea utilizar una variable de este tipo declarada en otro fichero, la debe declarar (o mejor dicho referenciar) con la palabra extern. Archivo 1 int x,y; char ch; main ( ) { x=120; ...... } Archivo 2 extern int x,y; extern char ch; void func1( ) { x=y/10; ....... }

Variable estticas (static) Tienen memoria asignada durante toda la ejecucin del programa. Su valor es recordado incluso si la funcin donde est definida acaba y se vuelve a llamar ms tarde. Ejemplo: series (void) { static int num; num=num+23; return (num); }

Variables registro

El especificador register pide a Turbo C que mantenga el valor de una variable con ese especificador de forma que se permita el acceso ms rpido a la misma. Para enteros y caracteres esto significa colocarla en un registro de la CPU. Slo se puede aplicar a variables locales y a los parmetros formales de una funcin. Son ideales para el control de bucles. pot_ent (int m, register int e) { register int temp; temp=1; for ( ; e; e--) temp *=m; return (temp); } CONSTANTE: Se entiende por constantes aquel tipo de informacin numrica o alfanumrica que no puede cambiar ms que con una nueva compilacin del programa. Como ya se ha dicho anteriormente, en el cdigo de un programa en C++ pueden aparecer diversos tipos de constantes. Constantes Tipo dato char int float Ejemplo de constantes 'a' '\n' '9' 1 123 -234 123.23

Una constante de tipo cadena de carcteres est constituida por una secuencia de carcteres entre comillas dobles "Hola". Carcteres con barra invertida \n Nueva lnea \t Tabulacin horizontal \b Espacio atras \r Retorno de carro \f Salto de pgina \\ Barra invertida \' Comilla simple \" Comilla doble OPERADORES:

Un operador es un carcter o grupo de caracteres que acta sobre una ,dos o ms variables para realizar una determinada operacin con un determinado resultado. Ejemplos de tipos de operador son la suma (+), la diferencia (-), el producto (*), etc. Los operadores pueden ser unarios, binarios y ternarios, segn acten sobre uno, dos o tres operadores, respectivamente. En C++ existen muchos operadores de diversos tipos (este es uno de los puntos fuertes del lenguaje).

COMPONENTES Y ESTRUCTURA DE UN PROGRAMA: A continuacin se mencionaran los 3 elementos importantes que compones y estructuran un programa: COMPILADOR. Es el elemento ms caracterstico del lenguaje C++. Como ya se ha dicho anteriormente, su misin consiste en traducir a lenguaje de maquina el programa C++ contenido en uno o ms ficheros fuente. El compilador es capaz de detectar ciertos errores durante el proceso de una compilacin, enviando al usuario el correspondiente mensaje de error. PROCESADOR. El procesador es un componente caracterstico de C++, que no existe en otros lenguajes de programacin. El procesador acta sobre el programa fuente, antes de que empiece la compilacin propiamente dicha, para realizar ciertas operaciones. Una de esas operaciones es, por ejemplo, la sustitucin de constantes simblicas. As es posible que un programa haga uso repetidas veces del valor 3.14592654, correspondiente al nmero. Es posible definir una constante simblica llamada PI que se define como 3.14592654 cada vez que lo encuentra. Las constantes simblicas suelen escribirse completamente con maysculas, para distinguir las variables. LIBRERA ESTANDAR. Con objeto de mantener el lenguaje lo mas sencillo posible, muchas sentencias que existen en otros lenguajes, no tienen su correspondiente contrapartida en C++. Por ejemplo no hay sentencias para entrada y salida de datos. Es evidente, sin embargo, que esta es una funcionalidad que hay que cubrir de lguna manera. El lenguej C++ lo hace por medio de funciones programadas que se venden o se entregan junto con el compilador. Estas funciones estn agrupadas en un conjunto de libreras de cdigo objeto, que constituyen la llamada librera estndar. TIPOS Y DECLARACIN DE VARIABLES EN C: El C++, como cualquier otro leguaje de programacin, tiene posibilidad de trabajar con datos de distinta naturaleza: texto formado por caracteres alfanumricos, nmeros enteros, nmeros reales con parte entera y parte fraccionaria, etc. Adems, algunos de estos tipos de datos admiten distintos nmeros de cifras (rango y/o precisin), posibilidad de ser solo positivos o de ser positivos y negativos etc. En este apartado se vern los tipos

fundamentales de datos admitidos por el C++. Ms adelante se ver que hay otros tipos de datos, derivados de los fundamentales. Tipos de datos Existen cinco tipos de datos atmicos en C: Tipo char int float double void bits 8 16 32 64 0 rango 0 a 255 -32.768 a 32.767 3,4 E -38 a 3,4 E +38 1,7 E -308 a 1,7 E +308 sin valor

El void se usa para declarar funciones que no devuelven ningn valor o para declarar funciones sin parmetros. Modificadores de tipos signed unsigned long short Los modificadores signed, unsigned, long y short se pueden aplicar a los tipos base entero y carcter. Sin embargo, long tambin se puede aplicar a double. Tipo char unsigned char signed char int unsigned int signed int short int unsigned short int signed short int long int signed long int float double long double bits 8 8 8 16 16 16 16 16 16 32 32 32 64 64 Rango -128 a 127 0 a 255 -128 a 127 -32.768 a 32.767 0 a 65.535 -32.768 a 32.767 -32.768 a 32.767 0 a 65.535 -32.768 a 32.767 -2147483648 a 2147483647 -2147483648 a 2147483647 3,4 E -38 a 3,4 E +38 1,7 E -308 a 1,7 E +308 1,7 E -308 a 1,7 E +308

Modificadores de acceso Las variables de tipo const no pueden ser cambiadas durante la ejecucin del programa. Por ejemplo,

const int a; Declaracin de variables Todas las variables han de ser declaradas antes de ser usadas. Forma general: tipo lista_de_variables; int i,j,l; short int si;

Existen tres sitios donde se pueden declarar variables: dentro de las funciones (variables locales), en la definicin de parmetros de funciones (parmetros formales) y fuera de todas las funciones (variables globales). Variables externas Si una funcin situada en un fichero fuente desea utilizar una variable de este tipo declarada en otro fichero, la debe declarar (o mejor dicho referenciar) con la palabra extern.

Variable estticas (static) Tienen memoria asignada durante toda la ejecucin del programa. Su valor es recordado incluso si la funcin donde est definida acaba y se vuelve a llamar ms tarde. Ejemplo: series (void) { static int num; num=num+23; return (num); }

Variables registro El especificador register pide a Turbo C que mantenga el valor de una variable con ese especificador de forma que se permita el acceso ms rpido a la misma. Para enteros y carcteres esto significa colocarla en un registro de la CPU.

Slo se puede aplicar a variables locales y a los parmetros fomales de una funcin. Son ideales para el control de bucles. pot_ent (int m, register int e) { register int temp; temp=1; for ( ; e; e--) temp *=m; return (temp); } TIPOS DE CONSTANTES: Se entiende por constante aquel tipo de informacin numrica o alfanumrica que no puede cambiar ms que von una nueva compilacin del programa. Como ya se ha dicho anteriormente, en el cdigo de un programa en C++ pueden aparecer diversos tipos de constantes. Constantes Tipo dato char int float Ejemplo de constantes 'a' '\n' '9' 1 123 -234 123.23

Una constante de tipo cadena de carcteres est constituida por una secuencia de carcteres entre comillas dobles "Hola". Carcteres con barra invertida \n \t \b \r \f \\ \' \" Nueva lnea Tabulacin horizontal Espacio atras Retorno de carro Salto de pgina Barra invertida Comilla simple Comilla doble

USO DE OPERADORES:

En C hay tres clases de operadores: aritmticos, relacionales y lgicos, y a nivel de bits. Los operadores aritmticos son los mas sencillos de entender y de utilizar. Todos ellos son operadores binarios. En C++ se utilizan los signos sig. Aritmeticos + * / % -++ resta suma producto divisin mdulo (resto de la divisin entera) decrementar incrementar

Este es un apartado especialmente importante par todas aquellas personas sin experiencia en programacin. Una caracterstica imprescindeble de cualquier lenguaje de programacin es la de considerar alternativas, esto es, la de proceder de un modo u otro segn se cumplan o no ciertas condiciones. Los operadores relacionales permiten estudira si se cumplen o no esas condiciones. Asi pues, estos operadores producen un resultado u otro segn se cumplan o no lagunas condiciones. Relacionales En C cierto es cualquier valor distinto de cero. Falso es cero. > >= < <= == != mayor que mayor o igual que menor que menor o igual que igual distinto

Los operadores lgicos son operadores binarios que permiten combinar los resultados de los operadores relacionales, comprobando que se cumplen simultneamente varias condiciones, que se cumple una u otra, etc. El lenguaje C++ tiene dos operadores lgicos: el operador Y (&&) y el operdaor 0 ( | | ). Lgicos && || ! y o no

SENTENCIAS DE E/S:

Entrada/Salida en C++

Las caractersticas adicionales de entrada/salida en C++ se consiguen incluyendo la librera #include <iostream.h> Esto permite que los operadores << y >> se encuentren sobrecargados con nuevas funcionalidades de entrada/salida. Estas se pueden usar con unos operandos que se denominan streams y que son: cin stream estndar de entrada cout stream estndar de salida cerr stream estndar de salida de error clog igual que el anterior, pero con un buffer que permite poder enviar una gran cantidad de mensajes simultneamente. El tipo de cin es una clase denominada istream. La clase de cout, cerr y clog es ostream. Ambas clases son derivadas de ios. Salida El operador de salida tambin se llama de insercin. Para sacar un conjunto de caracteres por pantalla se ejecuta el comando: cout << mi_string << = << i + j; // Tantos strings como se desee Los tipos que soporta este operador son: char, short, int, long, const char*, float, double, long double, void (direccion hexadecimal) Para sacar un nico carcter: cout.put(ch); Para sacar n bytes consecutivos empezando en la direccin a: cout.write(a, n) Existen manipuladores para adaptar la salida proporcionada por cout con algn formato. Se encuentran en el fichero de cabecera <iomanip.h>. Estos manipuladores son: setw(n) Saca la salida en un campo de n espacios setfill(ch) Utiliza como carcter de relleno ch dec Salida en decimal (por defecto) hex Salida en hexadecimal oct Salida en octal endl Inserta un new-line ends Inserta un caracter null flush Saca por la salida todos los datos que se encuentren en el buffer setbase(n) Establece la base de conversin a n (8,10,16) setprecision(n) Establece la precisin para flotantes en n dgitos setiosflags(f) Establece los bits de formato definidos en f que es tipo long resetiosflags(f) Resetea los bits de formato definidos en f que es tipo long Ejemplos de salida son: cout << setw(4) << x;// salida en un campo de 4 digitos cout << setw(6) << x << endl;// salida en campo de 6 dgitos con cambio de lnea cout << setw(10) << setprecision(10) << x << endl;

Entrada

Para la entrada se utiliza el operador >>. Si su primer operando es tipo istream tiene significado de entrada o extraccin. Dada una variable x tipo float la sentencia: cin >> x; Lee un valor numrico de entrada. Se puede utilizar tambin como: cin >> x >> y >> z; Siendo x, y,z de los tipos declarados anteriormente. Tal y como est definida, la entrada se salta todos los caracteres en blanco. Para conseguir un nico carcter, independientemente de que sea blanco o no se emplea: cin.get(ch); // ch de tipo char; Para leer un carcter en el stream de entrada, pero sin extraerlo y que se pueda leer ms tarde se emplea: cin.putback(ch); Para leer un string de tamao fijo: cin.get(str, 40); // 39 caracteres + NULL La lectura se cierra cuando se lee un carcter \n. Pero este ltimo no se lee. Por lo tanto, para leer lneas es ms interesante: cin.getline(str,40); // Esta funcion detecta y lee el caracter de \n Para leer un nmero de caracteres independientemente de cuales sean sus caractersticas se emplea.

UNIDAD: II
Estructuras de control .Definicin general,tipos y funcion en C++
En principio, las sentencias de un programa en C++ se ejecutan secuencialmente,esto es,cada una a continuacin de la anterior empezando por la primera y acabando por la ultima.El lenguaje C++ dispone de varias sentencias para modificar este flujo secuencial de la ejecucin. Las mas utilizadas se agrupan en dos familias: Las bifurcaciones, que permiten elegir entre dos o mas opciones segn ciertas condiciones, y los bucles, que permiten ejecutar rapidamente un conjunto de instrucciones tantas veces como se desee,cambiando o actualizando ciertos valores.

SELECTIVAS
Estructura selectiva simple Estructura selectiva doble Estructura selectiva mltiple

Selectiva simple
La instruccin selectiva determina si una instruccin particular se ejecuta o no, segn el cumplimiento de una condicin.

Selectiva doble
La instruccin de selectiva doble permite que el flujo del diagrama se bifurque por dos ramas diferentes dependiendo del cumplimiento de una condicion.

Si al evaluar la condicin el estado es verdadero, entonces se ejecuta un conjunto de instrucciones: si el resultado es falso entonces se ejecuta otro conjunto de instrucciones.

Selectiva mltiple
Es una selectiva conformada por dos o mas slectva tambien conocida como selectiva anidada

IfThenElse Dedicar unos artculos exclusivamente al lenguaje de programacin C que es el que personalmente me gusta mucho, y que hasta ahora, es el que manejo ms. La sentencia if permite una accin previamente predeterminada por el programador, la cual se cumplir si la condicin tiene valor lgico verdadero (segn la tabla de la verdad es 1) o valor lgico falso (segn la tabla de la verdad es 0).

La sintaxis o estructura general de la sentencia condicional if es la siguiente: if (expresin) sentencia_1; else /* Opcional */ sentencia_2; Si la expresin (conocida tambin como condicin o argumento) posee un valor distinto de cero (valor lgico TRUE = 1), se ejecuta la accin sentencia_1. En cambio, si es cero (valor lgico FALSE = 0), no se ejecutar, a menos que exista un bloque else (como el que se mostr en la sintaxis anterior), en cuyo caso se ejecutar la sentencia_2. Vale la pena resaltar que no es necesario que est un bloque else. De hecho, con la sentencia condicional if basta para determinar alguna condicin, y saber qu se ejecutar, segn lo que previamente haya sentenciado el programador. Por ejemplo, realicemos un ejercicio bsico donde se aplique la sentencia condicional if. Creemos un programa donde el usuario ingrese un nmero, y mediante la sentencia condicional if, se determine si es o no un nmero par.

Se puede ver anteriormente que con una sentencia condicional if es posible, a travs de una condicin previamente establecida por el programador, determinar si es posible o no (dependindo del valor lgico que obtenga la variable) realizar acciones. Por otra parte, cabe resaltar que si es una sentencia condicional if SIMPLE no es necesario utilizar { } para abrir/cerrar la expresin; es simple cuando slo hay una lnea de sentencia. Si son varias lneas (como en nuestro ejemplo, que utilizamos una para sentenciar y otra para imprimir un mensaje), s se debe utilizar las llaves para abrir/cerrar el ciclo porque sino, lo prximo a la primera lnea no se tomar en cuenta.

Switch
Tambin existen ocasiones o programas donde se exige evaluar muchas condiciones a la vez, en estos casos o se usa una condicin compuesta muy grande o se debe intentar convertir el problema a uno que se pueda resolver usando la instruccin switch(); La instruccin switch() es una instruccin de decisin mltiple, donde el compilador prueba o busca el valor contenido en una variable contra una lista de constantes ints o chars, cuando el computador encuentra el valor de igualdad entre variable y constante, entonces ejecuta el grupo de instrucciones asociados a dicha constante, si no encuentra el valor de igualdad entre variable y constante, entonces ejecuta un grupo de instrucciones asociados a un default, aunque este ultimo es opcional. El formato de esta instruccin es el siguiente;

Ejemplos
Prog5.cpp

#include <stdio.h> #include <conio.h> #include <string.h> void main() { // declaracion variables char letra; //capturando

clrscr(); gotoxy(10,5);printf("dame una letra : "); letra=getchar();getchar(); //empieza switch() switch(letra) { case 'a': gotoxy(30,5);puts("aguila");break; case 'b': case 'B': gotoxy(30,5);puts("baca");break; case 'c': gotoxy(30,5);puts("caballo ");puts("camello");break; default:gotoxy(30,5);puts("no hay"); } getchar();

NOTAS
1.- Solo se puede usar como variable de condicin una variable entera o variable char. 2.- Las constantes que estamos buscando y comparando son de tipo char, por eso se deben encerrar entre apstrofes ( '). 3.- Si se quiere resolver el problema de maysculas o minsculas en el teclado, observar que se usan dos case, pero con un solo break; 6.- Recordar que switch() solo trabaja con constantes y variables de tipo char o int, en este ultimo caso, solo usar una variable de opcin de tipo entero y en los case poner la constante numrica, sin apstrofes decir por ejemplo case 5: instrucciones; break; En particular, instrucciones de tipo switch() se usan para construir programas de seleccin de mens, donde al usuario se le plantean dos o tres problemas distintos y el propio usuario seleccionaba cual de ellos se ejecuta

Repetitivas o Bucles
El bucle for o ciclo for tambien es una estructura de control en la que se puede indicar el nmero minimo de iteraciones. Est disponible en casi todos los lenguajes de programacin imperativos. Su uso principal se orienta a los vectores, pudiendo modificar, agregar, eliminar o consultar datos que se encuentren segn el ndice. Por esto ltimo, una condicin mnima del vector es que debe ser ordenado, por que si se intenta leer un dato inexistente, esto genera un error de programacin.

Sentencia For
For es quiza el tipo de bucle mas utilizado y verstil en el lenguaje de programacin C++. Su forma general es la siguiente:

int main() { int vector[10], i; for(i = 0; i < 10; i++) { vector[i] = i; } }

En la definicin del for, tenemos que la variable de control i se inicializa en un valor 0, luego se entrega la condicin de control que debe ser falsa durante su ejecucin, para completar el ciclo; y por ltimo, tenemos el incrementador en una unidad. Si por ejemplo en la condicin colocamos i < 11, entonces el ciclo for se ejecutar desde [0...10], lo cual, al intentar acceder al elemento vector[10], esto generar error, ya que el vector (por definicin) va desde [0..(n1)]. Su uso principal se orienta a los vectores, pudiendo modificar, agregar, eliminar o consultar datos que se encuentren segn el ndice. Por esto ltimo, una condicin mnima del vector es que debe ser ordenado, por que si se intenta leer un dato inexistente, esto genera un error de programacin.

Sentencia While
El lenguaje de programacin C contiene varias instrucciones condicionales y de bucle, en este captulo las trataremos todas ellas empezando con el bucle while. El bucle while se ejecuta mientras una condicin es cierta. Cuando esta condicin se torna falsa, el bucle termina su operacin. Veamos el siguiente ejemplo:

/* Este es un ejemplo del bucle while. */ # include <stdio.h> int main() { int contador; contador = 0; while (contador < 6) { printf ("El valor de contador es %d\n", contador); contador = contador + 1; } return 0 ;

Sentencia Do While
Tenemos ahora una variacin del bucle while en nuestro siguiente ejemplo, este programa es casi idntico al ejemplo anterior excepto que el bucle inicia con la palabra clave do, seguida por una serie de enunciados compuestos entre llaves, despus viene la palabra clave while y finalmente la expresin de evaluacin entre parntesis.

/* Este es un ejemplo del bucle do-while */ # include <stdio.h>

int main() { int i; i = 0; do { printf ( "El valor de i es ahora %d\n", i ); i = i + 1; } while (i < 5); return 0;

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