Documente Academic
Documente Profesional
Documente Cultură
Práctica 6
Sobre:
“ARREGLOS UNIDIMENSIONALES”
Matrícula: 2182002671
Grupo: CSAI81
INTRODUCCIÓN
Un arreglo es una herramienta de almacenamiento que puede contener un conjunto
de elementos, es decir, dentro de él se pueden colocar una cantidad finita de
elementos los cuales deben de ser estrictamente de un mismo tipo de dato, es decir,
un arreglo puede ser del tipo int, float, e incluso char (mejor conocido como cadenas
de texto).
Así mismo, siguiendo con la analogía del mueble, si se necesitara ver que hay en
cada uno de los cajones del mueble se podría considerar que en el cajón 1 hay x
cosa, que en el cajón 2 hay y cosa y así sucesivamente, en otras palabras, cada
cajón puede ser referenciado con un índice y con un contenido correspondiente a
dicho índice. Pues en un arreglo funciona de una forma similar ya que cada casilla
tiene un índice, y en cada índice hay un elemento en específico, como se puede ver
en la figura 1. Algo muy importante que se debe de mencionar es que, en
programación los índices de un arreglo comienzan desde el valor 0 en lugar de 1.
Esto involucra que, si el arreglo que creamos tiene 10 elementos como el de la figura
1, su índices comenzarán desde el 0 y llegará hasta el 9.
Tipos de arreglos
Hasta este momento hemos hablado de lo que es un arreglo y algunas de sus
características, sin embargo, existen 3 tipos de arreglos:
1. Unidimensionales (de una sola dimensión).
2. Bidimensionales (de dos dimensiones).
3. De 3 o más dimensiones, también conocidos como multidimensionales.
Aunque cada uno estos 3 tipos comparten las características que se han
mencionado, cabe mencionar que en la práctica presente se trabajará únicamente
con arreglos unidimensionales.
Declaración de un arreglo
La estructura de un arreglo en el lenguaje de programación C es de la siguiente
forma:
Como ya se había puntualizado, el tipo de dato del arreglo puede ser, en general,
de cualquiera de los tipos de datos que existen en el lenguaje de programación
correspondiente.
Ejemplo de arreglos de tipo entero:
int numeros[10];
int edades[20];
float dimensiones[10];
float peso[5];
char nombre[10];
char direccion[20];
Ahora ¿Cómo accedemos a una de las posiciones de cada uno de los arreglos?
Salida en pantalla:
Pseudocodigo
1. Inicio
2. Inicializar arreglo entero primos[100]
3. Inicializar variables enteras ri, rf, i, j , primo, sub=0
4. Leer ri
5. Leer rf
6. Si ri < rf entonces
6.1. Desde i=ri hasta i<=rf con paso i+1 hacer
6.1.1. Hacer primo = 0
6.1.2. Desde j=1 hasta j<=i con paso j+1 hacer
6.1.2.1. Si (i mod j) == 0 entonces
6.1.2.1.1. Hacer primo = primo + 1
6.1.2.2. Fin Si
6.1.3. Fin desde
6.1.4. Si primo <= 2 entonces
6.1.4.1. Hacer primos [sub] = i
6.1.4.2. Hacer sub = sub + 1
6.1.5. Fin si
6.2. Fin desde
7. Si no
7.1. Desde i=rf hasta i<=ri con paso i-1 hacer
7.1.1. Hacer primo = 0
7.1.2. Desde j=1 hasta j<=i con paso j-1 hacer
7.1.2.1. Si (i mod j) == 0 entonces
7.1.2.1.1. Hacer primo = primo + 1
7.1.2.2. Fin Si
7.1.3. Fin desde
7.1.4. Si primo <= 2 entonces
7.1.4.1. Hacer primos [sub] = i
7.1.5. Fin si
7.2. Fin desde
8. Fin Si
9. Imprimir “Los números primos son: ”
10. Imprimir “Subíndice: Valor: ”
11. Desde i=0 hasta i<sub con paso i+1 hacer
11.1. Imprimir “[%d] [%d]”, i, primos[i]
12. Fin desde
13. Fin del programa
3. Escriba un programa que lea una cadena y determine cuántas letras existen en ella.
Pseudocodigo
1. Inicio
2. Inicializar arreglo de caracteres cadena[100]
3. Inicializar variable carácter blanco = ‘ ’
4. Inicializar variable entera num_palabras, i, longitud
5. Imprimir “Teclea la cadena: ”
6. Leer cadena
7. Hacer longitud = strlen(cadena)
8. Si longitud > 0 entonces
8.1. Hacer num_palabras = 1
8.2. Hacer i = 0
8.3. Mientras cadena[i] != ‘\0’
8.3.1. Si cadena[i] == blanco || cadena[i] == ‘\0’ entonces
8.3.1.1. Mientras cadena[++i] == blanco && cadena[i] != ‘\0’ entonces
8.3.1.1.1. Si cadena[i] != ‘\0’ entonces
8.3.1.1.1.1. Hacer num_palabras++
8.3.1.1.2. Fin Si
8.3.1.2. Fin mientras
8.3.2. Si no
8.3.2.1. Hacer i++
8.3.3. Fin si
8.4. Fin mientras
8.5. Imprimir “El número de palabras es: %d”, i
9. Si no
9.1. Imprimir “Digite una cadena”
10. Fin Si
11. Fin del programa
CUESTIONARIO
1. ¿Cuál es la ventaja de utilizar arreglos?
Permite un mejor de manejo de la información, así como su gran habilidad de
almacenar una cantidad alta de valores
10. ¿Se puede leer un arreglos de números en una sola sentencia scanf()
como lo hace la sentencia gets() para obtener una cadena?
No, ya que la sentencia gets es una función especial de la librería string.h.
Para leer una serie de elementos numéricos de un arreglo forzosamente se
debe de recurrir a los ciclos for o while.
CONCLUSION
BIBLIOGRAFÍA
H.m. deitel/ p.j. deitel. (1995). Como programar en c/c++. Eua: prentice hall.