martes, 25 de marzo de 2008

trabajo mision sucre

DESARROLLO
* Como se declara en “Lenguaje C”
Como declarar un arreglo en C.Bueno un arreglo es un conjunto de variables del mismo tipo que se identifican con un mismo nombre pero se distinguen por medio de un indice.El tipo puede ser cualquier tipo (int, char, float, etc)rango es el número de elementos del arreglo
En lenguaje C todos los arreglos se empiezan con 0 (cero) esto significa que el primer elemento de un arreglo es ceroEjemplo:
#include //se inicializa la función mainint main(){int n[ 10 ]; //se declara el arreglo con 10 elemntosint i; //contador//se inicializan el contadorfor ( i = 0; i < 10; i++ ) {n[ i ] = 0; // establece el elemento i a 0} /* fin de for */printf( "%s%13s\n", "Elemento", "Valor" );// muestra el contenido del arreglo n en forma tabularfor ( i = 0; i < 10; i++ ) {printf( "%7d%13d\n", i, n[ i ] );} // fin de forreturn 0; //termina correctamente} // fin de main
Los arreglos también pueden ser bidimensionales o multidimensionales, pero eso no lo veremos después.... espero que en clase y si no pues ya lo estaré posteando
.Tipos de datos n 'C' existen básicamente cuatro tipos de datos, aunque como se verá después, podremos definir nuestros propios tipos de datos a partir de estos cuatro. A continuación se detalla su nombre, el tamaño que ocupa en memoria y el rango de sus posibles valores.

TIPO Tamaño Rango de valores

char 1 byte -128 a 127

int 2 bytes -32768 a 32767

float 4 bytes 3'4 E-38 a 3'4 E+38

double 8 bytes 1'7 E-308 a 1'7 E+308
Las variablesUna variable es un tipo de dato, referenciado mediante un identificador (que es el nombre de la variable). Su contenido podrá ser modificado a lo largo del programa.
Una variable sólo puede pertenecer a un tipo de dato. Para poder utilizar una variable, primero tiene que ser declarada:

[calificador]
Es posible inicializar y declarar más de una variable del mismo tipo en la misma sentencia:
[calificador] ,=,=,
/* Uso de las variables */
#include
main() /* Suma dos valores */
int num1=4,num2,num3=6;
printf("El valor de num1 es %d",num1);
printf("\nEl valor de num3 es %d",num3);
num2=num1+num3;
printf("\nnum1 + num3 = %d",num2);
b ) ¿ Dónde se declaran ?
Las variables pueden ser de dos tipos según el lugar en que las declaremos: globales o locales.La variable global se declara antes de la main ( ). Puede ser utilizada en cualquier parte del programa y se destruye al finalizar éste.
La variable local se declara después de la main ( ), en la función en que vaya a ser utilizada. Sólo existe dentro de la función en que se declara y se destruye al finalizar dicha función.
El identificador (nombre de la variable) no puede ser una palabra clave y los caracteres que podemos utilizar son las letras: a-z y A-Z (­ojo! la ñ o Ñ no está permitida), los números: 0-9 y el símbolo de subrayado _.
Además hay que tener en cuenta que el primer caracter no puede ser un número.
/* Declaración de variables */

#include

Int a;
Main () /* Muestra dos valores */
{
Int b=4;
Printf ("b es local y vale %d",b);
a=5;
Printf ("\na es global y vale %d",a);
}

Los lenguajes imperativos son aquellos en los que se especifica cómo conseguir los objetivos que se persiguen. C; C++; Javascript y Perl, entre otros muchos, pertenecen a esta categoría. Por contra, los lenguajes declarativos son aquellos en los que se especifica que objetivo se persigue, sin preocuparse por el cómo. SQL y HTML son quizás los ejemplos más representativos de esta categoría.
[2] El propio Stroustrup reconoce en el prólogo de su primer libro sobre C++: "Se ha dado gran importancia a mantener compatibilidad con C.... C++ debe la mayor parte a C. C es mantenido como un subconjunto).
[3] De hecho, el mentado compilador Zortech C++, se ofrecía como: "The World's first 'TRUE' C++ compiler for MS-DOS".
[4] Stroustrup señala que una de las razones que llevaron a K&R a diseñar el C fue no tener que programar en ensamblador (*), y que en el diseño de C++ se cuidó no perder las ventajas ganadas en este sentido. Precisamente comenzó a desarrollar C++ como un lenguaje que le ayudara en el trabajo de diseño de un Sistea Operativo distribuido.
(*) En ocasiones, C ha sido considerado como un "lenguaje ensamblador de alto nivel".
[5] "You are not doing OO just because you are compiling with C++" Ian Joyner "C++??"
[6] Bjarne Stroustrup. Entrevista con Al Stevens’s en Dr. Dobb's Journal Sept. 1992.
[7] Entrevista en "C++ Pointers and Dynamic Memory Management" de Michael C. Daconta. Edit. John Wiley & Sons, Inc. ISBN 0-471-04998-0









*PALABRA RESERVADA CLASS
Aunque antes se han dado una serie de restricciones sobre cuáles son los nombres válidos que se pueden dar en C# a los identificadores, falta todavía por dar una: los siguientes nombres no son válidos como identificadores ya que tienen un significado especial en el lenguaje:

abstract, as, base, bool, break, byte, case, catch, char, checked, class, const, continue, decimal, default, delegate, do, double, else, enum, event, explicit, extern false, finally, fixed, float, for, foreach, goto, if, implicit, in, int, interface, internal, lock, is, long, namespace, new, null, object, operator, out, override, params, private, protected, public, readonly, ref, return, sbyte, sealed, short, sizeof, stackalloc, static, string, struct, switch, this, throw, true, try, typeof, uint, ulong, unchecked, unsafe, ushort, ing, virtual, void, while
Aparte de estas palabras reservadas, si en futuras implementaciones del lenguaje se decidiese incluir nuevas palabras reservadas, Microsoft dice que dichas palabras habrían de incluir al menos dos símbolos de subrayado consecutivos (__) Por tanto, para evitar posibles conflictos futuros no se recomienda dar a nuestros identificadores nombres que contengan dicha secuencia de símbolos.

Aunque directamente no podemos dar estos nombres a nuestros identificadores, C# proporciona un mecanismo para hacerlo indirectamente y de una forma mucho más legible que usando secuencias de escape. Este mecanismo consiste en usar el carácter @ para prefijar el nombre coincidente con el de una palabra reservada que queramos dar a nuestra variable. Por ejemplo, el siguiente código es válido:

class @class
{
static void @static(bool @bool)
{
if (@bool)
Console.WriteLine("cierto");
else
Console.WriteLine("falso");
}
}

Lo que se ha hecho en el código anterior ha sido usar @ para declarar una clase de nombre class con un método de nombre static que toma un parámetro de nombre bool, aún cuando todos estos nombres son palabras reservadas en C#.

Hay que precisar que aunque el nombre que nosotros escribamos sea por ejemplo @class, el nombre con el que el compilador va a tratar internamente al identificador es solamente class. De hecho, si desde código escrito en otro lenguaje adaptado a .NET distinto a C# hacemos referencia a éste identificador y en ese lenguaje su nombre no es una palabra reservada, el nombre con el que deberemos referenciarlo es class, y no @class (si también fuese en ese lenguaje palabra reservada habría que referenciarlo con el mecanismo que el lenguaje incluyese para ello, que quizás también podría consistir en usar @ como en C#)

En realidad, el uso de @ no se tiene porqué limitar a preceder palabras reservadas en C#, sino que podemos preceder cualquier nombre con él. Sin embargo, hacer esto no se recomienda, pues es considerado como un mal hábito de programación y puede provocar errores muy sutiles como el que muestra el siguiente ejemplo:

class A
{
int a; // (1)
int @a; // (2)

public static void Main()


Si intentamos compilar este código se producirá un error que nos informará de que el campo de nombre a ha sido declarado múltiples veces en la clase A. Esto se debe a que como @ no forma parte en realidad del nombre del identificador al que precede, las declaraciones marcadas con comentarios como (1) y (2) son equivalentes.

Hay que señalar por último una cosa respecto al carácter @: sólo puede preceder al nombre de un identificador, pero no puede estar contenido dentro del mismo. Es decir, identificadores como i5322@fie.us.es no son válidos.





















*CLASES Y FUNCIONES AMIGAS

Una función fuera de una clase puede definirse como función amiga por la clase que le da libre acceso a los miembros privados de la clase. Hay casos en que esto ayuda a hacer más legible un programa, y permite el acceso controlado a los datos.
Una función aislada puede ser declarada como amiga, así como miembro de otras clases, e incluso se le puede dar el estatus de amiga a clases enteras, si es necesario.
No pueden ser funciones amigas los constructores ni los destructores.

Dentro de las clases podemos definir funciones (o clases) como amigas de la clase. Esto significa que le estamos dando acceso a una función (o clase) a que modifique los datos miembros de la clase.
Esto es especialmente útil para la sobrecarga de operadores como veremos más adelante.
Por el momento sólo diremos que una función (o clase) amiga tiene acceso a los datos miembros de la clase que la declara como amiga.
Para ilustrar ésto veremos el siguiente ejemplo. Tenemos una clase llamada Número, que consta de un dato miembro llamado x. Tiene una función pública mostrar () que saca por pantalla el valor de x. Además declara una función amiga llamada establecer (), que recibe el objeto a modificar y un número de punto flotante double para establecer el valor del objeto.
Como vemos estamos utilizando la función no a través del objeto sino pasándole el objeto pasado como parámetro.

No hay comentarios: