Teorema fundamental del calculo
Enviado por samantha galicia • 8 de Junio de 2020 • Apuntes • 11.782 Palabras (48 Páginas) • 165 Visitas
ARREGLOS
INTRODUCCION
La memoria está organizad en localidades o celdas numeradas que se accesan por procedimientos aleatorios. Cuando declaramos una variable, lo que se hace en realidad, es apartar un conjunto de localidades de memoria, dependiendo del tipo de la variable. Por ejemplo, si declaramos int x; se está apartando una palabra de 2 bytes. Si se declara long y; se están apartando 2 palabras de memoria de 2 bytes cada una[1]. La memoria para almacenar estas variables pudo ser apartada de manera contigua o no, ya que se trata de la memoria de acceso aleatorio (RAM).
Dirección 52 54 56 58
... | ... | -34 | ... | ... | . 92 | ... |
|
x y
La "dirección" de la variable se refiere al número de la primera celda apartada. En lenguaje C, este número se obtiene anteponiendo un "&" al nombre de la variable. La dirección de la variable x (&x) es 52, la dirección de la variable y (&y) es58.
Para accesar al contenido de la variable, se utiliza un prefijo "*", también en lenguaje C. El contenido de la variable x (*x) es -34 y el contenido de la variable y (*y) es 92
Cuando declaramos un arreglo, se apartan 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 en particular de un arreglo se usa uno o mas índices dependiendo de las dimensiones del arreglo.
Un arreglo(también conocido como array , vector o matriz) es un modo de manejar una gran cantidad de datos del mismo tipo bajo un mismo nombre o identificador. Por ejemplo,
mediante la declaración: double a[5]; se reserva espacio para 5 variables de tipo double. Las 5 variables se agrupan con el nombre a y se accesan una u otra por medio de un subíndice, que es una expresión entera escrita a continuación del nombre entre corchetes [...]. En general, el subíndice inicia en cero para referirse a la primera variable, y el subíndice n-1(siendo n el tamaño del arreglo) contiene la última. Si se aparta el arreglo a partir de la dirección 1502, la memoria nos quedaría de la siguiente forma:
Dirección 1502 1504 1506 1508 1510
... | ... | 25 | ... | ... | ... | ... |
|
La dirección de la variable a(&a equivalente a a[0]) es 1502
El contenido de la variable a es 25.
Dado que se está declarando un arreglo de 5 elementos de tipo double(una variable de tipo doble ocupa 4 bytes), entonces se están apartando 5 por 4 bytes que da un total de 20 bytes, apartados de forma contigua.
La clasificación de los arreglos se puede hacer de dos formas:
Por su dimensión: Esto es, existen arreglos de 1 dimensión, 2 dimensiones, 3 dimensiones, … , N dimensiones.
Por el tipo de variables que se almacenaran: variables definidas en C, y variables de tipo definido por el usuario.
En estas notas sólo veremos arreglos de tipo numérico y de tipo carácter(tipos de variables de C) y dentro de estos tipos, veremos arreglos de una y dos dimensiones.
La forma general de la declaración de un vector es la siguiente:
tipo nombre[número_elementos1][número_elementos2]…[número_ elementosN];
cada corchete representa una dimensión del arreglo, por lo que se puede deducir que el arreglo es de dimensión N.
Los elementos se numeran desde 0 hasta (número _ elementos-1). Para cada una de las dimensiones. Es importante mencionar que cada dimensión puede tener un número diferente de elementos. Por ejemplo, un arreglo de 2 dimensiones, puede tener 5 elementos en una y tres en la otra, como una tabla (matriz) de 5*3. Tendría en total 15 elementos.
Cuando manejamos cualquier tipo de arreglo, nos debe quedar claro algunos conceptos para su mejor comprensión, dado que un arreglo consta de un conjunto de datos del mismo tipo, almacenados en memoria de manera contigua, donde cada uno de los datos ocupa una localidad de memoria, por lo tanto podemos decir que un arreglo consta de un conjunto de celdas donde cada una tiene una posición donde se puede almacenar un contenido. Tomando el ejemplo anterior del arreglo a, se tiene:
Dirección en memoria 1502 1504 1506 1508 1510
contenido | del arreglo | -25.141 | 32.098 | 0 | -3 | 100 |
Posición dentro del arreglo 0 1 2 3 4
De lo anterior podemos concluir lo siguiente:
La dirección de memoria es relativa y volátil, por lo que deberá pasar totalmente inadvertida para el usuario, si es posible, hasta ignorarla, pero es importante saber que cualquiera que sea la variable, y del tipo que sea tiene asignada una dirección de memoria.
...