Está en la página 1de 9

Módulo 4.

Avanzando en C
Arreglo o Vector.

Supongamos que nos llaman para resolver el siguiente problema por computadora:
De una agencia de Lotería de La Plata quieren saber cuántas veces se jugó cada número
de la quiniela (son 100 números del 0 al 99) durante el año 2020. La agencia posee los
tickets de cada vez que alguna persona jugó un número. El ticket tiene detallado el
número y el monto jugado.
¿Cómo lo resolvemos?
Con las herramientas vistas hasta el momento podríamos declarar 100 variables del
mismo tipo (int). Cada una de estas variables representarían la cantidad de veces que se
jugó el número correspondiente, es decir:

Luego iríamos leyendo de teclado todos los números jugados que están detallados en los
tickets. No sabemos la cantidad de tickets que hay (pero si que son muuuuchos).
Podríamos ingresar los números jugados, que vamos obteniendo de los tickets, y luego de
ingresar el último podríamos ingresar el número 777 para asegurar que corte la iteración.
Nos quedaría algo así por el momento:

Bien, ahora tenemos que resolver cómo contar en la variable dentro del while que le
corresponde al número jugado en el ticket. Deberíamos hacer algo similar a lo siguiente:
ipap.gba.gob.ar 1
Por último, nos queda informar cada número con la cantidad de veces que se jugó:

¿Funciona la solución propuesta? ¿Es correcta?


…en programación, que una solución funcione no significa que sea correcta.
Para resolver este tipo de problemas contamos con un tipo de dato que es el array,
arreglo o vector.

Un arreglo o vector es una colección de elementos del mismo tipo que se accede
por medio de un índice a cada uno de los mismos.

ipap.gba.gob.ar 2
Características:
 Homogéneo: todos los elementos que contiene son del mismo tipo (int, char o
float).
 Indexado: por medio de un índice se puede acceder a cada uno de los elementos.
 Acceso directo: no es necesario recorrerlo para obtener un elemento,
directamente lo obtengo indicando el índice en donde se encuentra el mismo.

La sintaxis para declarar un vector en C es la siguiente:


tipoDeDato nombreVector[cantidadDeElementos];

Ejemplos de declaración:

¿Cómo accedemos a los elementos o valores contenidos en el vector?


El índice del vector, sin importar el tipo de dato que almacena, es siempre
numérico entero y comienza en 0 (cero) hasta el total declarado menos uno. Es
decir, el vector palabra[50] de tipo char va a tener defino un índice de 0 a 49 para
poder acceder a cada uno de sus caracteres.

Por ejemplo, si declaramos un vector de 5 elementos enteros:

ipap.gba.gob.ar 3
Para obtener el primer elemento del vector:

Para obtener el último elemento del vector:

Para obtener el tercer elemento del vector:

¿Cómo asignamos valores a los elementos contenidos en el vector?


Para asignar un valor al primer elemento del vector:

Para asignar un valor al último elemento del vector:

Para asignar un valor al tercer elemento del vector:

También podemos inicializar el vector con valores al momento de declararlo.


Al momento de su declaración se le puede asignar valores indicándolos entre
llaves y separados por coma.

ipap.gba.gob.ar 4
Si queremos inicializar todo el vector en 0 (cero) directamente podemos hacer lo
siguiente:

¡Ahora si estamos en condiciones de mejorar la solución para la agencia de lotería!!!!!

Entre todos, podríamos modificar la solución para calcular además el dinero jugado
en total por cada número.
¿y si quisiéramos sacar un promedio del dinero jugado?

ipap.gba.gob.ar 5
Modularización

Modularizar significa dividir un problema en partes funcionalmente independientes. No


se trata solamente de subdividir el código de un programa en bloques de sentencias. Sino
en descomponer el problema en subproblemas.
Estos subproblemas o partes del problema funcionalmente independientes se los llama
módulos. Un módulo es un conjunto de instrucciones que cumplen una tarea específica
definida.
Ventajas:
Puedo dividir la implementación de los módulos entre los miembros del equipo.
Puedo reutilizar los módulos implementados en el programa.
Facilidad de mantenimiento, modificación y corrección de errores.
Mayor claridad para leer el código del programa.

Los módulos en C se llaman funciones.


Hemos estado viendo y utilizado funciones “sin querer”: scanf() y printf() son funciones
provistas por el lenguaje. Main() es la función principal de C donde escribimos nuestros
algoritmos.

Sintaxis:
TipoDatoRetornado NombreDeLaFuncion ( parámetros )
{
Sentencias;
}

Para poder implementar nuestras propias funciones y utilizar las mismas debemos
realizar dos tareas en nuestro programa:
1. Declarar o definir la función.
Se declaran antes de la función main()
2. Invocar la función.
Se invocan en el lugar que la requiramos de nuestro programa.

ipap.gba.gob.ar 6
La solución anterior, si bien fue modularizada, siempre calcula el 10 por ciento del valor 5.
Podríamos indicarle a la función el número sobre el cual queremos calcular el 10 por
ciento.

ipap.gba.gob.ar 7
Parámetros

Los parámetros de una función son los valores que esta recibe por parte del código que la
llama. En la declaración de la función se escriben después del nombre entre paréntesis
indicándose el tipo de cada uno y su nombre.
Los parámetros se usan para mandar valores a las funciones. Por decirlo de otra manera,
los parámetros son los valores de entrada que recibe una función.

Podríamos seguir mejorando la solución por medio de los parámetros, para que ahora la
función pueda calcular el porcentaje que nosotros le indiquemos.

ipap.gba.gob.ar 8
También tenemos la opción de que la función no retorne ningún valor. Esto lo logramos poniendo
void como Tipo de Dato a retornar y quitando la sentencia return del final de la función.

ipap.gba.gob.ar 9

También podría gustarte