Modularidad
Funciones
Recursividad
Análisis
Varios
100

Son 3 ventajas de utilizar la modularidad

Reducir la complejidad del problema

Reducir el tamaño del problema

Facilitar la cooperación entre programadores

Reutilizar código

Depuración mas sencilla

100

Se encarga de dar a conocer la función al compilador antes de que ésta sea definida

Prototipo

100

Técnica para resolver un problema reduciéndolo a una versión más pequeña del mismo problema hasta llegar a un caso que ya sabemos resolver

Recursividad

100

¿Dónde está el error?

int s(int n1, int n2);


int main(void){

printf("%d", s(2));

return 0;

}


int s(int n1, int n2){

return n1+n2;

}

numero de argumentos incorrecto

100

Son aquellas variables que son accesibles y modificables por todas las funciones del programa

Variables globales

200

Los módulos se dividen en

Funciones y procedimientos

200

Formato que debe utilizarse por convención para nombrar a las funciones o procedimientos

CamelCase - primera palabra toda en minúsculas, siguientes palabras con mayúscula la primera letra

200

Ocurre cuando una función recursiva no tiene un caso base adecuado, provocando llamadas infinitas

StackOverflow

200

En la llamada a la función, nombres que se le dan al 5 y al 3:

int res= suma(5,3)

argumentos

200

Nombre que se le da cuando una variable local tiene el mismo nombre que una global

shadowing

300

Subalgoritmo que recibiendo o no datos devuelve un único resultado

Función

300

Orden correcto de un programa modular

librerías

prototipos

main

definiciones de funciones 

300

Es la parte donde la función se llama a sí misma con un argumento modificado, haciendo el problema más pequeño y acercándolo al caso base

Reducción

300

Caso base para una función recursiva suma(n) que sume los números del 1..n

suma(1) =1

300

Cualquier declaración dentro de los paréntesis en la declaración y/o definición de una función.

parámetro

400

Puede tener cero, uno o más argumentos, con los cuales realiza determinados procesos o acciones

Procedimiento

400

variable que recibe un valor cuando se llama a una función

Parámetro

400

Número máximo de veces que una función se llama a sí misma antes de alcanzar un caso base

Profundidad

400

resultado de llamar potencia(5) con la definición:

int potencia(int base, int exp) {
    if (exp == 0)
        return 1;

    return base * potencia(base, exp + 1);  
}

StackOverflow

400

Determina en qué partes del programa una variable es visible y puede usarse

Alcance

500

Partes de una función que obligatoriamente deben ser del mismo tipo

Tipo de retorno y valor de retorno

500

Máximo de parámetros permitidos en una función

253

500

Una función recursiva tiene un caso base correcto, pero el programa aún así entra en recursión infinita.
¿Cuál es la causa más probable de este problema?

La reducción del problema no acerca los valores al caso base.

500

Salida del programa: 

#include <stdio.h>

int x = 10;

void f() {
    int x = 5;
}

int main() {
    f();
    printf("%d", x);
}

x = 10

500

Si no existe un prototipo y se envía un argumento del tipo float a una función. Tipo de dato al que lo convertirá

double

M
e
n
u