lunes, 26 de julio de 2010















































CODIGOS ARREGLOS














CODIGOS UNIDAD 3

LINK DE COGIGOS DE LA UNIDAD III


http://www.megaupload.com/?d=JRVY78ON

UNIDAD 3

UNIDAD III ARREGLOS





3.Punteros Referencias Y Arreglos Creación



Los punteros permiten simular el paso por referencia, crear y manipular estructuras dinamicas de datos, tales como listas encadenadas, pilas, colas y árboles. Generalmente las variables contienen valores especificos. Los punteros son variables pero en vez de contener un valor especifico, contienen las direcciones de las variables a las que apuntan. Para obtener o modificar el valor de la variable a la que apuntan se utiliza el operador de indirección. Los punteros, al ser variables deben ser declaradas como punteros antes de ser utilizadas.


La declaración de punteros utiliza un asterisco *, que en este caso actúa como calificador de tipo, en una sintaxis muy parecida a la utilizada en la declaración de objetos normales.
Ejemplos:
int * ptr; // declara ptr puntero a entero (int)
void * ptr; // declara ptr puntero a void (genérico)
char * ptr; // declara ptr puntero a carácter (char)


Los punteros siguen las reglas de creación y destrucción del resto de las variables, sin embargo hay que recordar que los objetos tienen duración independiente de los posibles que los señalan, de forma que cuando un puntero-a-objeto sale de ámbito, no se invoca implícitamente ningún destructor para el objeto señalado. A la inversa, la destrucción del objeto señalado no supone necesariamente la destrucción de los punteros que los referencian.

Puntero-constante: El puntero es constante; el objeto señalado podríavariar, pero el valor del puntero -dirección de memoria que señala- no. Estosignifica que está indefectiblemente ligado a un mismo objeto.










3.2 Operaciones Con Punteros Apuntadores


Un puntero es un tipo de dato similar a un entero, y hay un conjunto de operaciones definidas para punteros:
La suma o resta de un entero produce una nueva localización de memoria.
Se pueden comparar punteros, utilizando expresiones lógicas, para ver si están apuntando o no a la misma dirección de memoria.
La resta de dos punteros da como resultado el número de variables entre las dos direcciones.




ejemplo de utilización de punteros:

1.include
main() {

int vector[3];
int* princPunt = vector;

int* finPunt = &vector[2];

vector[2] = 15;
cout << *(princPunt+2) << ‘\t’ << *finPunt <<’\n’; if (princPunt == finPunt) cout << “ Esto no puede suceder “ << ‘\n’; cout << “Numero de elementos \t” < [];

Cuando declaremos una cadena hay que tener en cuenta que tendremos que reservar una posición para almacenar el carácter nulo, de modo que si queremos almacenar.






3.3 Referencias Programacion


Una referencia (&) es como un puntero constante que se destruye automáticamente. Normalmente se utiliza en la lista de argumentos y en el valor de retorno de una función. Pero también se puede hacer una referencia que apunte a algo que no ha sido asignado.


Referencias en las funciones El lugar más común en el que verá referencias es en los argumentos y valor de retorno de las funciones. Cuando se utiliza una referencia como un argumento de una función, cualquier cambio realizado en la referencia dentro de la función se realizará realmente sobre en el argumento fuera de la función. Por supuesto que podría hacer lo mismo pasando un puntero como argumento, pero una referencia es sintácticamente más clara. (Si lo desea, puede pensar que una referencia es, nada más y nada menos, sintácticamente más conveniente.)






3.4 Arreglos Unidimensionales Bidimensionales Y Multidimensionales



Los arreglos son una colección de variables del mismo tipo que se referencian utilizando un nombre común. Un arreglo consta de posiciones de memoria contigua. La dirección más baja corresponde al primer elemento y la más alta al último. Un arreglo puede tener una o varias dimensiones Para acceder a un elemento.



El formato para declarar un arreglo unidimensional es:

tipo nombre_arr [ tamaño ]

Por ejemplo, para declarar un arreglo de enteros llamado listanum con diez elementos se hace de la siguiente forma:

int listanum[10];






3.5 Cadenas De Caracteres

Una cadena puede almacenar informaciones como nombres de personas, mensajes de error, números de teléfono, etc.


Una cadena en C es un conjunto de caracteres, o valores de tipo “char”, terminados con el carácter nulo, es decir el valor numérico 0.



Este tipo de estructuras recibe un tratamiento especial, y es de gran utilidad y de uso continuo.

La manera de definir una cadena es la siguiente:

char [];


Cuando se declara una cadena hay que tener en cuenta que tendremos que reservar una posición para almacenar el carácter nulo, de modo que si queremos almacenar













3.6 Asignacion Dinamica De Memoria


La reserva de memoria se realiza dinámicamente en tiempo de ejecución, no siendo necesario entonces tener que especificar en la declaración de variables la cantidad de memoria que se va a requerir. La reserva de memoria dinámica añade una gran flexibilidad a los programas porque permite al programador la posibilidad de la cantidad de memoria exacta en el preciso instante en el que se necesite, sin tener que realizar una reserva por exceso en prevención a la que pueda llegar a necesitar

la asignación dinámica de memoria se manipula con las funciones malloc() y free(). En C++ se define un método de hacer asignación dinámica utilizando los operadores new y delete.






3.7 Clases Predefinidas Arreglos




Se puede crear un array de estructuras tal como se crea un array de otros tipos. Los arrays de estructuras son idóneos para almacenar un archivo completo de empleados, un archivo de inventario, o cualquier otro conjunto de datos que se adapte a un formato de estructura. Mientras que los arrays proporcionan un medio práctico de almacenar diversos valores del mismo tipo, los arrays de estructuras le permiten almacenar juntos diversos valores de diferentes tipos, agrupados como estructuras.

Muchos programadores de C utilizan arrays de estructuras como un método para almacenar datos en un archivo de disco. Se pueden introducir y calcular sus datos de disco en arrays de estructuras y a continuación almacenar esas estructuras en memoria. Los arrays de estructura proporcionan también un medio de guardar datos que se leen del disco.




















CODIGOS UNIDAD 2
























***LINK CODIGOS..........FUNCIONES***

LINK DE DESCARGA CODIGOS






http://www.megaupload.com/?d=D0BGKNE0

viernes, 23 de julio de 2010

UNIDAD 2

UNIDAD II SUBPROGRAMAS






2.1 definicion de un subprograma


un subprograma se presenta como un algoritmo separado del algoritmo principal, el cual permite resolver una tarea específica.

Un subprograma hace el papel de un programa. Puede tener una sección de
declaraciones (variables, constantes, etc…) y posee también unos datos de entrada y de
salida. Esto permite, como ya veremos, que el subprograma sea totalmente
independiente del programa principal.







2.1.1 Estructura de un subprograma



la estructura de un subprograma es La función puede ser llamada desde el programa principal o desde cualquier otro subprograma. Para llamar a la función desde cualquier parte, implica el conocimiento previo de que ésta función existe.

A través de los parámetros reales de la llamada se proporciona a la función la información que necesita, para ello, al hacer la llamada lo que se produce es una asociación automática entre parámetros reales y parámetros formales. Esta asociación se realiza según el orden de la aparición y de izquierda y derecha.

Si el parámetro formal y real no son del mismo tipo, en Pascal se produce un error, y en C se transforman los tipos si es posible. La llamada a una función, siempre va a formar parte de una expresión, de cualquier expresión en la que en el punto en la que se llama a la función, pudiera ir colocado cualquier valor del tipo de datos que devuelve la función, esto se debe a que el valor que devuelve una función esta asociado a su nombre.




2.1.2 Valor de Retorno



El valor de retorno no se imprime por la pantalla, es decir, cuando un programa termina no saca por pantalla un cero, pero nosotros podemos saber cuál es ese valor.


Es un número. El valor es cero (0) si el programa finalizó con éxito o distinto de cero si el programa no finalizó con éxito. Cada uno de los valores distintos de cero va asociado a una causa distinta (sabiendo este valor podríamos saber por qué razón falló el programa), pero puede que por ahora no lo necesites.



2.2. declaracion subprograma





En determinadas circunstancias (p.e. cuando un subprograma se proporciona para ser usado desde un paquete, cuando se define un subprograma genérico o cuando hay referencias mutuas entre subprogramas) se precisa escribir una declaración de un subprograma separada de su definición. La declaración de un subprograma es como su cabecera, pero terminada en ";" en vez de con la palabra "is", para expresar que lo que se está dando es una vista de un subprograma cuya definición se haya en otro lugar.




2.3 Bibliotecas o librerias subprogramas


Bibliotecas de Subprogramas

math.h

stdio.h

iostream.h




Funciones

sin:

Función: Calcula el seno del valor, proporcionado. .

Arch. match.h

Declaración: double sen (double x);

Tipo de Dato que devuelve: Valor del seno de entrada.

Argumento: double x es el valor al que se le hará el cálculo.

Ejemplos:

result= sin (0.6);

result= sin (0.4);

result= sin (0.2);



iostream.h


Declara en el C++ básico los datos de (I/O).

Funciones

Cin : Declara los datos de entrada para alas variables

Cout : Muestra los datos que uno desea que se vean en la pantalla.





2.4 primer acercamiento clases y objetos

CLASE

Una clase es un tipo de dato que contiene uno o más elementos dato llamados miembros dato, y cero, una o más funciones que manipulan esos datos (llamadas funciones miembro). Una clase se puede definir con struct, union o class. La sintaxis de una clase es:
class nombre_clase
{
miembro1;
miembro2;
...
funcion_miembro1();
funcion_miembro2();
...
};



OBJETO


un objeto es un elemento declarado de un tipo clase. Se conoce también como una instancia de una clase.

Los objetos se pueden tratar como cualquier variable C. La principal diferencia es que se puede llamar a cualquiera de las funciones que pertenecen a un objeto, esto es, se puede enviar un mensaje a ella.
class rectangulo
{
int base,altura;
public:
void dimensiones(int,int);
int area();
};


void rectangulo::dimensiones(int b,int h)
{
base=b;
altura=h;
}
int rectangulo::area()
{
return base*altura;
}
void main()
{rectangulo r; //declarar el objeto
r.dimensiones(3,5); //definir el tamaño
cout<<"area "<






2.5 Ambito y tiempo de vida de variables


tipos de variables:globales y locales.

Globales: las variables permanecen activas durante todo el programa. Se crean al iniciarse éste y se destruyen de la memoria al finalizar. Pueden ser utilizadas en cualquier función.

Locales: las variables son creadas cuando el programa llega a la función en la que están definidas. Al finalizar la función desaparecen de la memoria.

Si dos variables, una global y una local, tienen el mismo nombre, la local prevalecerá sobre la global dentro de la función en que ha sido declarada.

Dos variables locales pueden tener el mismo nombre siempre que estén declaradas en funciones diferentes.




2.6 Argumentos y paso de parametros


Las palabras parámetro y argumento, aunque de significado similar, tiene distintas connotaciones semánticas: Se denominan parámetros los tipos declarados en el prototipo 4.4.1 (que deben corresponder con los declarados en la definición 4.4.2). Cuando se realiza una llamada a la función, los “valores” pasados se denominan argumentos. A veces se utilizan también las expresiones argumentos formales, para los parámetros y argumentos actuales para los valores pasados.

Parámetros (en prototipo o definición) argumentos formales

Valores pasados (en tiempo de ejecución) argumentos actuales

La sintaxis utilizada para la declaración de la lista de parámetros formales es similar a la utilizada en la declaración de cualquier identificador.


Los argumentos son siempre objetos. Sus tipos pueden ser: escalares; estructuras; uniones, o enumeraciones; clases definidas por el usuario; punteros o referencias a estructuras y uniones, o punteros a funciones, a clases o a matrices. El tipo void está permitido como único parámetro formal. Significa que la función no recibe ningún argumento



2.7 sobrecarga de subprogramas



Un subprograma sobrecargará un significado ya existente siempre que su especificación sea suficientemente diferente, es decir, pueden existir dos subprogramas con el mismo identificador siempre que se distingan por el número o tipo de sus parámetros.



Es una conveniencia notacional, que es evidente cuando se usan nombres convencionales, como en siguiente ejemplo

Sobrecarga de Funciones en C++ y Java double abs(double); int abs(int); abs(1);

// invoca int abs(int); abs(1.0); // invoca double abs(double); // se sobrecargará print void print(int); void print (char*);








2.8 recursividad programacion




La recursividad se presenta cuando una función se invoca a si misma. Distintamente
a las iteraciones (bucles), las funciones recursivas consumen muchos recursos de
memoria y tiempo.
Una función recursiva se programa simplemente para resolver los casos más
sencillos, cuando se llama a una función con un caso más complicado, se divide el
problema en dos partes, la parte que se resuelve inmediatamente y la que necesita
de más pasos, ésta última se manda de nuevo a la función, que a su ves la divide de
nuevo, y así sucesivamente hasta que se llegue al caso base. Cuando se llega al
final de la serie de llamadas, va recorriendo el camino de regreso, hasta que por fin,
presenta el resultado.


martes, 20 de julio de 2010




















































































CODIGOS C++


jueves, 15 de julio de 2010

CODIGOS C++

**************CODIGOS DE C++**************

PROGRAMAS


http://www.megaupload.com/?d=N4X0NA4B

viernes, 9 de julio de 2010

1.6.2 TIPOS DE DATOS DEFINIDOS POR EL USUARIO



Un Tipo de fato definido por el usuario utiliza los siguientes mecanismos de C++

Clase
Atributos y métodos
Constructoras y destructoras
Sobrecarga de operadores
Definición de objetos

ejemplos de tipos de datos definidos por el usuario son:arreglos,listas enlazadas,punteros,apuntadores,arboles.


Los tipos de datos fundamentales son:
char short int int
long int unsigned char unsigned short int
unsigned int unsigned long int double
float long



1.7 PALABRAS RESERVADAS


las palabras reservadas son las que ya estan reservadas por el programa,tienen
un significado especial y no se pueden utilizar como variables en nuestro codigo.

ejemplos de palabras reservadas
char
else
short
if
switch
double
int
do
float
while



1.8 EXPRESIONES


Una expresión es una determinada combinación de operadores y operandos que se evalúan para obtener un resultado particular. Los operandos pueden ser variables, constantes o llamadas a métodos.

EJEMPLO DE EXPRESION
a=eg



1.9 ESTRUCTURAS DE CONTROL



Con las estructuras de control se puede: ejecutar un grupo u otro de sentencias (If-Then-Else y Select-Case)


EXISTEN 3 TIPOS DE ESTRUCTURAS DE CONTROL:
estructuras de asignacion,estructura de seleccion y estructuras de iteracion.



1.9.1 Asignacion

estructuras de asignacion:Las estructuras nos permiten agrupar varios datos, aunque sean de distinto tipo, que mantengan algún tipo de relación, permitiendo manipularlos todos juntos, con un mismo identificador, o por separado.




1.9.2 seleccion
estructura de seleccion :son dos if y case.

If.(si) La estructura de control if permite decidir entre dos opciones resultantes de la evaluación de una sentencia.




1.9.3 Iteracion

estructuras de iteracion:Ejecuta cero o más veces un grupo de instrucciones (bucle). El número de repeticiones está determinado por un número dado, o hasta que deje de cumplirse o se cumpla una condición.


Las estructuras de repetición más usuales en los lenguajes de programación suelen ser DO-WHILE, WHILE, y FOR.

miércoles, 7 de julio de 2010

objetos que permiten la E/S por consola

1.4 Objetos que permiten E/S por consola




En C++ los objetos pueden seguir utilizando las mismas sentencias para mostrar información por pantalla o pedirla mediante teclado. Pero a estas antiguas se añaden 2 nuevas de la misma potencia y mayor facilidad de uso. La cabecera que utilizan estas dos sentencias es iostream.h.
Mostrar por pantalla:
cout << expresión;
Pedir por teclado:
cin >> variable; La variable puede ser de cualquier tipo.





1.5 OPERADORES



en c++ los operadores nos sirven para realizar operaciones ejemplos de operadores:
+ SUMA
- RESTA
* MULTIPLICACION
/ DIVISION
^ POTENCIACION
mod. MODULO





existen varios tipos de operadores aqui muestro algunos

Operadores Lógicos


estos operadores se utilizan en los programas cuando la computadora desea realizar comparaciones entre distintos valores, esto se realiza utilizando los operadores relaciones

ejemplo:
< Menor que > Mayor que <= Menor o igual que >= Mayor o igual que = Igual a <> Distinto a, diferente de


Los operadores incremento y decremento estos operadores nos proporcionan una forma b de sumar o restar a una variable. ++g el valor de la variable se incrementa (decrementa) antes de que la variable sea usada y --g la variables se decrementa.



1.6 TIPOS DE DATOS


Existen 7 tipos de datos primitivos que son:char,short,int,long,enum,float.


existen varios tipos de datos como son :los enteros,flotantes,double,char etc.
el tipo de dato entero es el que mas se usa.

Enteros:se le denomina tipo dedato enteros por que los numeros no contienen ningun decimal .

Flotantes

Se denomina flotantes a los tipos de datos que representan a los números reales, ya que utilizan un sistema de representación basado en la técnica de coma flotante, que permite operar con números reales de diversas magnitudes, mediante un número decimal llamado mantisa y un exponente que indica el orden de magnitud.

Caracteres(char)

Los caracteres se representan utilizando el tipo char, que tiene sólo 1 byte de tamaño. Este tipo se utiliza para representar los 255 caracteres de la tabla de caracteres del sistema. El tipo char es también un tipo entero, ya que puede tomar valores de 0 a 255.



1.6.1 FUNDAMENTALES


El tipo de un dato es el conjunto de valores que puede tomar durante el programa.



Clasificaciones en los tipos de datos

En Pascal existen gran variedad y cantidad de tipos de datos. Pero en este tutorial sólo se trataran los básicos para que puedas ir construyendo tus primeros programas.

Existen muchas clasificaciones para los tipos de datos, y dependiendo de la fuente que mires, te mostrarán una u otra. A continuacón tienes una de las posibles clasificaciones.:

•Dinámicos
•Estáticos
o El tipo cadena

o Estructurados

o Simples

+ Ordinales

+ No-ordinales

martes, 6 de julio de 2010

programacion 1

UNIDAD 1 FUNDAMENTOS DEL LENGUAJE





1.1 INTRODUCCION AL LENGUAJE Y ASU ENTORNO DE DESARROLLO





El lenguaje C, fue diseñado por Dennies Ritchie en 1970, en los laboratorios Bell de Estados Unidos.

A finales de la década de 1970, C empezó a sustituir a BASIC como lenguaje de programación de microcomputadores predominante. Durante la década de 1980 se empezó a usar en los IBM PC, lo que incrementó su popularidad significativamente.

En 1972 Denis Ritchie escribe un lenguaje basado en BCPL y B con varias mejoras que contribuyen a su posterior popularidad; lo llamó C. La eficiencia del C en términos de ejecución y administración de recursos lo hizo el preferido de las empresas de software que diseñaban sistemas operativos y compiladores.

El lenguaje C se conoce como un lenguaje compilado, Permite la Programación Estructurada, Existen dos tipos de lenguaje: interpretados y compilados.
Un lenguaje de programación, es un conjuntos de palabras, reglas, con las cuales se le indica a la computadora las funciones que debe realizar y como las debe de realizar.

C++ nos permite realizar programas. Un Programa es un conjunto de instrucciones que se le dan a la computadora, para que ésta realice una determinada tarea.
Una vez terminado el programa debemos de compilarlo y un compilador nos sirve para saber si nuestro código tiene errores existen varios tipos de errores los cuales son: errores de sintaxis, errores de ejecución y errores de lógica
Errores de sintaxis estos errores el compilador los detecta que los identifica muestra la línea donde se encuentra el error que tenemos.

Errores de ejecución estos errores se producen, cuando le indicamos a la computadora, realizar una determinada acción, y la computadora comprende, pero no puede ejecutarla, esto sucede cuando le pedimos a la computadora realizar acciones y a lo mejor nosotros no declaramos las variables y por esa causa nos parecen esos errores.

Errores de lógica estos errores suceden cuando el compilador no nos indica errores de sintaxis, ni de lógica; pero el resultado de nuestro programa, pero el resultado que nos muestra no es el correcto, este tipo de errores son muy difíciles de identificar y de corregir y nos quita mucha perdida de tiempo.


1.2 COMENTARIOS


Los comentarios son más que nada anotaciones en el programa que nos sirven para saber que hace cada línea de nuestro código,los comentarios no son obligatorios ponerlos en nuestros códigos .
Un comentario puede ser escrito en varias líneas y en cualquier parte de nuestro programa .ejemplo de comentarios:
/* comentario de varias líneas este comentario es necesario cerrarlo para que no tengamos errores a la hora de compilar nuestro programa */
//comentario de una sola línea



1.3 VARIABLES Y CONSTANTES



Las variables son los Dato cuyo valor puede cambiar durante el programa. Se le asigna un nombre para identificarlos. Una variable es un tipo de dato, Para poder utilizar una variable, primero tiene que ser declarada.
En la declaración de una variable se debe indicar el tipo de dato al que pertenece.



CONSTANTES: Valores que una vez compilados no pueden ser cambiados, las constantes mantienen su valor a lo largo de todo el programa.