Sunteți pe pagina 1din 13

UNIVERSIDAD AUTONOMA METROPOLITANA

Práctica 6

Sobre:
“ARREGLOS UNIDIMENSIONALES”

Alumno: Álvarez Peralta Jorge Armando

Matrícula: 2182002671

Profesor: Cruz Sandoval Alejandro

Grupo: CSAI81

Programación Estructurada SAI


OBJETIVOS

1- El alumno resolverá problemas con algoritmos o pseudocódigos,


diagramas de flujo y su representación gráfica con raptor, dfd o Pseint
(Opcional).
2- El alumno codificará programas que incluyan arreglos unidimensionales
en lenguaje C.

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).

Las características de un arreglo son las siguientes:

- Finito: Tiene un límite, es decir, tiene una cantidad máxima de elementos


que puede contener
- Homogéneo: Todos los elementos de un arreglo son del mismo tipo
- Ordenado: Se puede determinar cuál es el primer y último elemento.

A continuación, se muestra una descripción gráfica de un arreglo

Como se puede observar en la figura 1, un arreglo se pude ver como un conjunto


de casillas o divisiones, como si fuera un mueble donde se guarda ropa, es decir,
como sabemos, un mueble tiene cajones, y en cada uno de estos cajones se puede
almacenar ropa, pues un arreglo funciona de una forma muy similar, solamente que
en vez de ser un mueble se puede ver como un contenedor de números, de meses,
de nombres, etc.

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:

Tipo_de_dato_del_arreglo Nombre_del_arreglo [Tamaño del arreglo];

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];

Ejemplo de arreglos de tipo flotante:

float dimensiones[10];

float peso[5];

Ejemplo de arreglos de tipo carácter (cadenas de texto):

char nombre[10];

char direccion[20];

La asignación de valores a un arreglo se puede realizar desde su inicialización:

int numeros[10] = {1,2,3,4,5,6,7,8,9,10};

float pesos[5] = {234.59, 231.17, 443.24, 432.48, 212.43};

char nombre[10] = ‘Mario’;

También se puede realizar la asignación de forma dinámica, pero esto se verá en la


parte del desarrollo práctico.

Ahora ¿Cómo accedemos a una de las posiciones de cada uno de los arreglos?

Acceder es muy simple, solamente consiste en señalar el arreglo con el que se va


a trabajar y entre corchetes se coloca el índice del elemento que se quiere. A
continuación, se muestra un ejemplo tomando como referencia los arreglos que se
inicializaron anteriormente.
Código:

printf(“Arreglo numeros, indice 3: %d”, números[3]);

printf(“\nArreglo pesos, indice 0: %.2f”, pesos[0]);

printf(“\nArreglo nombre, indice 4: %c”, nombre[4]);

Salida en pantalla:

Arreglo numeros, indice 3: 4

Arreglo pesos, indice 0: 234.59


Arreglo nombre, indice 4: o
DESARROLLO PRÁCTICO
1. Escriba un programa en el que se introduzca “n” cantidad de datos enteros y los
ordene de manera ascendente.
Pseudocodigo
1. Inicio
2. Inicializar arreglo entero datos[100]
3. Inicializar variable entera n, i, j
4. Inicializar variable entera aux = 0
5. Leer n
6. Desde i=0 hasta i<n con paso i+1 hacer
a. Leer datos[i]
7. Fin desde
8. Imprimir “datos desordenados”
9. Imprimir “subíndice valor”
10. Desde i=0 hasta i<n con paso i+1 hacer
a. Imprimir “%d %d”, i, datos[i]
11. Fin desde
12. Desde i = 0 hasta i < n con paso i+1 hacer
a. Desde j=0 hasta j<n con paso j+1 hacer
i. Si datos[j] > datos [j+1] entonces
1. Hacer aux = datos[j]
2. Hacer datos[j] = datos[j + 1]
3. Hacer datos [j+1] = aux
ii. Fin si
b. Fin desde
13. Fin desde
14. Imprimir “Datos ordenados ascendentemente ”;
15. Imprimir “Subíndice valor”
16. Desde i=0 hasta i<n con paso i+1 hacer
a. Imprimir “%d %d”, i, datos[i]
17. Fin desde
18. Fin del programa
2. Escriba un programa que pida un rango y de entre ese rango almacene únicamente los datos
que sean primos.

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

2. ¿Cuál es la sintaxis de la declaración de arreglos?


Tipo_de_dato nombre_del_arreglo [dimensión_del_arreglo]

3. ¿De cuántos tipos se pueden declarar las variables en un arreglo?


En general, se pueden crear arreglos de todos los tipos de datos que existen
en c

4. ¿Cómo se diferencia una variable de otra en un arreglo?


Una variable únicamente puede almacenar un valor correspondiente a su tipo
de dato, en el caso de los arreglos, estos son conocidos por ser una colección
de valores del mismo tipo de dato.

5. ¿Qué hace el compilador cuando se declara un arreglo?


Dependiendo del tamaño y del tipo de dato del arreglo lo que hace es
reservar la memoria necesaria para esa cantidad de valores.

6. ¿Se usa la misma memoria para almacenar un arreglo de enteros,


flotantes y caracteres?
Si, se usa la misma memoria, pero con diferentes direcciones de esta. Un
arreglo trabaja con la memoria RAM.

7. Defina que es un subíndice


Es una posición de un arreglo, es decir, indica cada uno de los lugares del
arreglo en donde están almacenados ciertos valores

8. ¿Cómo se accede a una sola letra en una cadena?


Colocando el nombre de la cadena y entre corchetes se coloca el índice
correspondiente al carácter que queremos obtener. Ej. Nombre[3]

9. ¿Qué contiene una cadena después del nulo?


Nada, este es último elemento que contiene una cadena de texto

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

Conocer y saber utilizar los arreglos es de gran utilidad en la programación, por lo


que, con la ayuda de esta práctica se logró aprender acerca de los arreglos y a su
vez se llevó a cabo su implementación para que de esta forma se pudiera conocer
un poco más del potencial de los arreglos. Cabe mencionar que en esta práctica
solamente se trabajó con arreglos unidimensionales. Así mismo, se mostró que
pueden ser de cualquier tipo de dato, es decir, pueden ser numéricos de tipo entero
o flotante, etc. Además de estos tipos de datos también es posible tener la presencia
de arreglos de tipo carácter, estos últimos son mejor conocidos como cadenas de
texto y se logró resolver problemas con la ayuda de arreglos de diversos tipos, ya
que, por su naturaleza permiten un mejor manejo de la información.

BIBLIOGRAFÍA

H.m. deitel/ p.j. deitel. (1995). Como programar en c/c++. Eua: prentice hall.

S-ar putea să vă placă și