Está en la página 1de 6

PROYECTO INTEGRADOR

Profesor: Luis Machado

Elaborado por: Santiago Panchi y Mell Arguellos

RESULTADO DE APRENDIZAJE DE LA CARRERA:

RC1 Identifica, formula y resuelve problemas complejos de ingeniería mediante la aplicación de principios de ingeniería, ciencia y matemática.

INDICADORES DE DESEMPEÑO:

• Formula el problema identificando sus principales variables.

• Plantea varias alternativas de solución al problema.

• Analiza las alternativas que dan solución al problema.

• Fundamenta la solución al problema.

OBJETIVO PROPUESTO DE LA CONSIGNA:

El trabajo por realizar tiene como finalidad aplicar el conocimiento adquirido en el análisis y solución de problemas computacionales y creación de un algoritmo que dé
solución al problema planteado.

INDICACIONES:

Los estudiantes deben analizar el problema planteado por el docente con el cual se debe: Definir claramente los datos y procesos involucrados en el problema, proponer y
evaluar la mejor alternativa para resolver al problema, finalmente seleccionar la mejor alternativa de solución fundamentado en los principios de la algoritmia. Se debe
presentar el algoritmo a través de un diagrama de flujo, pseudocódigo las pruebas de escritorio respectivas. Como parte final el estudiante debe realizar la implementación
de la solución en un lenguaje de programación estructurado preferiblemente C. Los problemas propuestos se encuentran como anexos.

SOLUCIÓN:

Analizar el problema seleccionado, identifique claramente los datos de entrada, procesos y salida. En función de los conocimientos adquiridos plantee alternativas de
diseño de la solución usando Diagrama de Flujo para cada una de ellas. Recuerde que el diagrama debe tener identificado los datos y procesos. Luego debe crear el
pseudocódigo del algoritmo optimizado. Y por último se debe hacer la implementación del algoritmo en lenguaje de programación C.

Problema-5:

Escribir un programa que permita visualizar el triángulo de pascal. En el triángulo de pascal cada número es la suma de los dos números situados

encima de él. Este problema se debe resolver utilizando un arreglo de una sola dimensión.
Formulación del problema

Datos de entrada Proceso Datos de Salida


filas[5] #include <stdio.h> printf (" ");
a (Variable de uso para bucle) int main() { printf("%4d", coefi);
i (Variable de uso para bucle) for (a=0; a<=5; a++){ printf ("\n");
caracter filas[a] = 5;
space }
coefi = 1 for(i=0;i<filas[5];i++)

for (space=1; space<=filas[5]-i; space++)

for (caracter=0;caracter<=i;caracter++)

if (caracter==0 || i==0)

coefi=1;

else

coefi=coefi*(i-caracter+1)/caracter;

return 0;

}
Alternativas de solución del problema: Opción 1

En la primera opción se declaran 6 variables, una de ellas es un arreglo donde se


determinará la dimensión del triangulo de pascal, se declara las letras a, i (número de
filas) para variables de uso en el bucle y por último el carácter (para determinar el
número de caracteres en la fila), el space (para imprimir el espacio entre caracteres) y
coefi para construir el triángulo. El código se construye a partir de una serie de bucles
for y un if. El primer bucle for funciona para declarar el número de filas a ser impresas
en este caso 5, a continuación, en el bucle interno el segundo for se usa plenamente
para imprimir el espacio recorriendo cada uno de los caracteres. La siguiente estructura
entre el for y el if se usa para realizar los cálculos correspondientes para formar el
triángulo de Pascal, al final se imprime el separador de línea.
Alternativas de solución del problema: Opción 2

En la segunda opción se declaran 3 variables, i, n y c. El código


funciona de la siguiente manera. Se le pedirá al usuario un número
que defina el número de filas que debe tener el triángulo y se
almacenara en la variable n, el primer ciclo for iterará la cantidad de
veces que el usuario proporcione. En cada iteración se ejecutarán
otros 2 bucles, el primero define el número de espacios de izquierda
a derecha, eliminando uno de esos espacios en cada iteración hasta
la última fila, que no debe tener ningún espacio y el bucle importante
que imprime el valor del número correspondiente con la fórmula
mencionada en el código.
Fundamentación de la solución al problema

Primero tomemos en consideración que el resultado de las 2 opciones planteadas es exactamente igual por lo que tendríamos que enfocarnos en el consumo de memoria.
Con respecto a esto de las dos alternativas realizadas, la mejor para el problema es la opción 1 ya que, al usar arreglos, se puede observar una disminución considerable del
número de líneas de código, además usa estructuras y variables más simples, lo que provoca una reducción en el consumo de memoria con respecto a la opción 2.

Código en C
Prueba de escritorio

También podría gustarte