Apuntes Semana 11
Apuntes Semana 11
Apuntes Semana 11
ARREGLOS Y ARCHIVOS
SEMANA 11. UNIDAD 5
ACTIVIDAD 1, 2, 3, 4
Introducción a Arreglos:
Un arreglo o matriz es una estructura homogénea compuesta por varios elementos
todos del mismo tipo y almacenados consecutivamente en memoria. Cada
elemento puede ser accedido directamente por el nombre de la variable tipo
arreglo, seguido de uno o más subíndices encerrados entre corchetes.
Las variables que se han visto hasta ahora son de tipo simple (entero, real,
alfabético), es decir, consisten solamente de una localidad de memoria y sólo
puede contener un valor a la vez, el cual puede ser actualizado en forma directa,
pero también existen las variables tipo arreglo (array) o estructurado que consisten
en una colección finita, homogénea y ordenada de elementos del mismo tipo,
que se almacenan en posiciones consecutivas de memoria y reciben un nombre
común:
Finita: Todo arreglo tiene un límite, es decir, debe determinarse cuál será el
número máximo de elementos que podrán formar parte del arreglo.
Homogénea: Todos los elementos del arreglo deben ser del mismo tipo.
Esto significa que si se declara una variable de tipo arreglo de una dimensión la
variable solamente tendrá un subíndice (ejemplo x[5]), si es de dos dimensiones,
dos subíndices(ejemplo x[3][2]), y así sucesivamente.
Int V [5]
Tipo nombre [tamaño];
Donde:
Tipo: Indica el tipo de dato de los elementos del vector, que pueden ser de
cualquier tipo primitivo o definido por el usuario.
Nombre: Es un identificador que nombra al vector
Tamaño: Constante entera que especifica el número de elementos del vector
Ejemplos:
int m[10]; Significa que se declara el vector m de 10 elementos de tipo entero
que pueden ser las edades de diez personas
float R[5]; Significa que se declara el vector R de 5 elementos de tipo flotante, que
pueden ser precios de cinco productos.
double LD [100]; Significa que se declara el vector LD de 100 elementos de tipo
double, que pueden ser los datos de temperatura para un experimento.
PÁGINA DE CONSULTA:
http://www.mailxmail.com/curso-introduccion-lenguaje-c/arrays-cadenas
Actividad 1:
Escribe 3 ejemplos de vectores y qué datos pueden contener.
Cómo acceder a los elementos de un vector:
a) En forma directa
b) A través de una estructura de control repetitiva donde se despliegue toda la
información contenida en el vector.
a) Forma Directa
Se utiliza el nombre del vector seguido del subíndice entre corchetes.
Por ejemplo, para acceder al tercer elemento del vector V y guardarlo en una
variable simple x se escribe de la siguiente manera:
0 1 2 3 4
V 15 23 58 96 75
x = v[2];
printf (“%d”, x); dará como resultado 58
Ejemplo:
int m[100], k=0, a=0;
//…..
a= m[1]+m[99];
k=50;
[k]++;
m[k+1]=m[k];
Observe que para referenciar un elemento del vector se puede utilizar como
subíndice una constante, una variable o una expresión de tipo entero. El subíndice
especifica la posición del elemento dentro del vector. La primera posición es la 0.
** NOTA IMPORTANTE:
Si se intenta acceder a un elemento con un subíndice menor o igual que cero o
mayor que el número de elementos de la matriz menos uno, el compilador de “C”
no checa el error, es el sistema operativo quien lo hace enviando un mensaje de
error, solo si el intento transgrede los límites de la zona de memoria asignada por
él a dicha aplicación. Por lo tanto es responsabilidad del programador escribir el
código necesario para detectar ese tipo de error, esto se hace verificando siempre
que el índice está entre 0 y el tamaño del arreglo menos 1. Por ejemplo:
#define N 100 //Asigna el tamaño del vector a una constante N
//…
int m[N], k=0; // Declara el vector m de tamaño N
//…..
k=99; // k es utilizada como subíndice
if (k >= 0 && k < N-1) // Valida que k se encuentre en el rango de 0 a 99
m[k+1]=m[k];
else
printf(“Indice fuera de límites\n”);
//…
Actividad 2:
Escribir un programa para guardar en un vector de 10 elementos la edad de 10
personas mayores de edad. Solo se registran las edades mayores de 17 años.
Desplegar la información de la siguiente manera:
Edad de persona 1: 25
Edad de persona 2: 33
Edad de persona 3: 19
….
Edad de persona 10: 87
Actividad 3:
Escribir un programa para guardar en un vector de 7 elementos, el promedio de
las materias del primer semestre. Suponer que cada materia solo tiene 3
unidades. Desplegar la información de la siguiente manera:
Materia 1:
Parcial 1: 90
Parcial 2: 100
Parcial 3: 80
Promedio Materia 1: 90
Materia 2:
Parcial 1: 70
Parcial 2: 90
Parcial 3: 80
Promedio Materia 2: 80
……
Materia 7:
Parcial 1: 100
Parcial 2: 100
Parcial 3: 100
Promedio Materia 7: 100
Cadenas de Caracteres:
Se representa igual que el vector con la diferencia de que el tipo de dato es char.
Por ejemplo: Crear un vector para que se guarde e imprima su nombre:
Se va a declarar la variable nombre de tipo char de tamaño 20:
char nombre[20];
Ejemplo:
/*nombre.C
autor: Lola Lopez
fecha:octubre de 2010
objetivo:Elaborar un programa que capture nombre utilizando scanf y printf
*/
#include<stdlib.h>
#include <conio.h>
#include <stdio.h>
main ()
{
char nombre[20];
#include<stdlib.h>
#include <conio.h>
#include <stdio.h>
//char *gets(char, *var); // invocar a la función gets. La variable var
// representa la matriz que contendra todos los caracteres tecleados excepto el
caracter
//\n que sea automaticamente reemplazado por el caracter \0 con el que C finaliza
// toda la cadena de caracteres.
main ()
{
char *c = NULL; // Almacena el valor retornado por gets
char nombre[20];
getche();
}