Como hacer una bnf

Solo disponible en BuenasTareas
  • Páginas : 7 (1731 palabras )
  • Descarga(s) : 0
  • Publicado : 11 de mayo de 2011
Leer documento completo
Vista previa del texto
1)
(a) Arreglo (array en ingles) o también conocido como vector hace referencia a una zona de almacenamiento contiguo (‘’uno al lado del otro’’) que contiene información con datos del mismo tipo.
(b) Puntero es una variable cuyo valor es una dirección de memoria, es decir no tiene un valor sino que apunta a donde se guarda el valor en si.
Ejemplos
Arrays:
float a[100]
float a[3] ={10.1,10.2,10.3};
multidimensionales
int a[3][3], b[2][3];
int b[2][3] = { {1,2,3}, {4,5,6} }

Punteros:
int *puntero1;
int *puntero2, *puntero3;
char variable, *punteroCaracter;
float *punteroReal, real;

2) Porque para acceder a un elemento de un arreglo se precisa además de conocer el identificador del arreglo, saber qué posición ocupa el mismo en el arreglo; mientras que para acceder a unavariable solo basta saber el identificador.

3) Algunas de las de entidades que un identificador puede denotar son las variables, las constantes, los tipos de dato, las etiquetas, las subrutinas (procedimientos y funciones) y los paquetes.

4) Números enteros (tipo int)

De ordinario una variable tipo int se almacena en 2 bytes (16 bits), aunque algunos
compiladores utilizan 4 bytes (32bits). El ANSI C no tiene esto completamente normalizado y existen diferencias entre unos compiladores y otros. Los compiladores de Microsoft para PCs utilizan 2 bytes. Con 16 bits se pueden almacenar 216 = 65536 números enteros diferentes: de 0 al 65535 para variables sin signo, y de -32768 al 32767 para variables con signo (que pueden ser positivas y negativas), que es la opción por defecto.
Estees el rango de las variables tipo int.
Una variable entera (tipo int) se declara, o se declara y se inicializa en la forma:

unsigned int numero;
int nota = 10;

En este caso la variable numero podrá estar entre 0 y 65535, mientras que nota deberá estar comprendida entre -32768 al 32767. Cuando a una variable int se le asigna en tiempo de ejecución un valor que queda fuera del rangopermitido (situación de overflow o valor excesivo), se produce un error en el resultado de consecuencias tanto más imprevisibles cuanto que de ordinario el programa no avisa al usuario de dicha circunstancia.

Números enteros (tipo long)

Existe la posibilidad de utilizar enteros con un rango mayor si se especifica como tipo long en su declaración:

long int numero_grande;

o, ya que la palabraclave int puede omitirse en este caso,

long numero_grande;

El rango de un entero long puede variar según el computador o el compilador que se
utilice, pero de ordinario se utilizan 4 bytes (32 bits) para almacenarlos, por lo que se pueden representar 232 = 4.294.967.296 números enteros diferentes.
Si se utilizan números con signo, podrán representarse números entre-2.147.483.648 y 2.147.483.647. También se pueden declarar enteros long que sean siempre positivos con la palabra unsigned:

unsigned long numero_positivo_muy_grande;

En algunos computadores una variable int ocupa 2 bytes (coincidiendo con short) y en otros 4 bytes (coincidiendo con long). Lo que garantiza el ANSI C es que el rango de int no es nunca menor que el de short ni mayor que el delong.

5)

El rango de valores enteros que se puede representar en un byte con signo es entre -64 y 63.

0,+222,-128,30765,-1400,68432,1234567,-1234567

Int, long int, long int, long int, no tiene representación, no tiene representación, no tiene representación.

No tienen representación ya que se van del rango de números posibles de expresar con las restricciones correspondientes alejercicio.

6) La razón por la cual el 0.1 no tiene una representación exacta es porque el float usa 7 caracteres para ser preciso y el double usa 15 por lo tanto al tener el 0.1 no se sabe cuantos ceros están después del 1.

7)
Las diferencias de rango y precisión entre los tipos de constantes reales se deben a que, dependiendo de estos, las constantes ocupan más o menos espacio en memoria.
Por...
tracking img