Fundamentos de Programación en C: Vectores, Funciones y Macros

Clasificado en Informática

Escrito el en español con un tamaño de 6,81 KB

I. Complete los espacios en blanco

  • Un vector permite almacenar varios datos del mismo tipo utilizando un solo nombre.
  • Los vectores en C comienzan desde la posición 0.
  • Un procedimiento no retorna un valor.
  • Una función retorna un valor.
  • Los datos enviados a funciones o procedimientos se denominan parámetros.
  • La directiva utilizada para crear macros es #define.
  • El operador utilizado para obtener el resto de una división es %.
  • La instrucción return devuelve un valor desde una función.
  • Un arreglo unidimensional también se conoce como vector.
  • La función buscar() retorna 1 cuando encuentra un elemento.

II. Verdadero o Falso

  • (F) Un vector puede almacenar datos de distintos tipos simultáneamente.
  • (F) Un procedimiento retorna un valor.
  • (V) Una función puede recibir parámetros.
  • (F) Los vectores comienzan desde la posición 1.
  • (V) Una macro sirve para simplificar operaciones repetitivas.
  • (V) La función mayor() busca el valor más grande del vector.
  • (V) El operador % permite calcular el resto de una división.
  • (V) Un vector de tamaño 10 posee posiciones de 0 a 9.
  • (V) La función menor() busca el valor más pequeño del vector.
  • (V) Una función siempre debe devolver un valor.

III. Sintaxis y Declaraciones en C

Declaración de un vector de 10 enteros

int v[10];

Sintaxis de un procedimiento

void nombre()
{
    instrucciones;
}

Sintaxis de una función

tipo nombre()
{
    instrucciones;
    return valor;
}

Macro para calcular el cuadrado

#define CUADRADO(x) ((x)*(x))

Instrucción para retornar un valor

return valor;

IV. Definiciones Técnicas

Vector

Estructura que almacena varios datos del mismo tipo utilizando un único nombre y posiciones numeradas.

Procedimiento

Bloque de instrucciones que realiza una tarea específica y no devuelve un valor.

Función

Bloque de código que realiza una tarea y devuelve un resultado mediante la instrucción return.

Parámetro

Dato que se envía a una función o procedimiento para que pueda trabajar con él.

Macro

Instrucción definida con #define que permite reemplazar expresiones y simplificar operaciones repetitivas.

V. Selección Múltiple

¿Cuál es la declaración correcta de un vector de 5 enteros?

  • a) int(5)v;
  • b) int v[5];
  • c) vector v[5];
  • d) array v(5);

¿Cuál de las siguientes opciones representa una función?

  • a) void mostrar()
  • b) void cargar()
  • c) int suma()
  • d) printf()

¿Cuál es la posición del primer elemento de un vector?

  • a) 1
  • b) 2
  • c) 0 ✓
  • d) -1

¿Qué palabra devuelve un valor en una función?

  • a) scanf
  • b) return
  • c) void
  • d) define

¿Cuál es el resultado de la siguiente macro?

#define CUADRADO(x) ((x)*(x))
CUADRADO(4)
  • a) 8
  • b) 12
  • c) 16 ✓
  • d) 20

¿Qué función calcula el promedio?

  • a) promedio()
  • b) mayor()
  • c) buscar()
  • d) cargar()

¿Qué función cuenta números pares?

  • a) suma()
  • b) promedio()
  • c) contarpares()
  • d) buscar()

¿Cuál es el operador para determinar si un número es par?

  • a) /
  • b) *
  • c) %
  • d) +

¿Qué retorna buscar() cuando encuentra un dato?

  • a) 0
  • b) -1
  • c) 1 ✓
  • d) 10

¿Cuál es la finalidad principal de una macro?

  • a) Crear vectores
  • b) Simplificar operaciones repetitivas ✓
  • c) Crear ciclos
  • d) Crear funciones

VI. Corregir el código

1. Declaración de vector

Incorrecto: int v(10);

Corrección: int v[10];

2. Retorno en procedimiento

Incorrecto:

void suma()
{
    return s;
}

Corrección:

void suma()
{
    // Los procedimientos no retornan valores; use una función si requiere return.
    // instrucciones
}

3. Lógica de Macro

Incorrecto: #define CUADRADO(x) (x+x)

Corrección: #define CUADRADO(x) ((x)*(x))

4. Ciclo de iteración

Incorrecto:

for(i=1; i<=10; i++)
{
    printf("%d", v[i]);
}

Corrección:

for(i=0; i<10; i++)
{
    printf("%d", v[i]);
}

VII. Implementación de Funciones en C

#include <stdio.h>

int suma(int v[])
{
    int i, s = 0;
    for(i = 0; i < 10; i++)
        s = s + v[i];
    return s;
}

float promedio(int v[])
{
    return suma(v) / 10.0;
}

int mayor(int v[])
{
    int i, m = v[0];
    for(i = 1; i < 10; i++)
        if(v[i] > m)
            m = v[i];
    return m;
}

int menor(int v[])
{
    int i, m = v[0];
    for(i = 1; i < 10; i++)
        if(v[i] < m)
            m = v[i];
    return m;
}

VIII. Ejercicio Práctico: Macros y Vectores

Crear una macro denominada CUBO(x) y calcular la suma de los cubos de 8 números almacenados en un vector.

#include <stdio.h>

#define CUBO(x) ((x)*(x)*(x))

int main()
{
    int v[8], i, suma = 0;
    
    for(i = 0; i < 8; i++)
    {
        printf("Ingrese el valor %d: ", i + 1);
        scanf("%d", &v[i]);
        suma += CUBO(v[i]);
    }
    
    printf("La suma de los cubos es: %d\n", suma);
    
    return 0;
}

Entradas relacionadas: