Escuela de Ciencias Básicas, Tecnología e Ingeniería
Fundamentos de Programación
Paso 4 - Funciones y procedimientos
Estudiante:
Iván Ramiro Paniagua Solera
Código:
1002107244
Grupo:
213022_82
Tutor:
Deiris Marlith Valenzuela Zambrano
Universidad Nacional Abierta y a Distancia
Ingeniería en Sistema
Turbo - Antioquia
Abril – 2023
Introducción.
Con el siguiente trabajo se deberá realizar dos tablas de requerimientos de los problemas
elegidos en el foro colaborativo, donde se deberá analizar el problema con el fin de llevar un
orden en los requerimiento para luego realizar una programación básica en lenguaje C#, y se
deberá utilizar funciones con parámetros y sin parámetros para una programación estructurada,
hay que tener en cuenta lo aprendido en las fases anteriores, cumpliendo con lo solicitado en la
guía de actividades.
En resumen la utilización de estructuras control y funciones que implican el uso de
condiciones y repeticiones para tomar decisiones y repetir acciones utilizando funciones para
encapsular y reutilizar código, son fundamentales para la creación de programas para dar
solución a los problemas escogidos en el foro colaborativo.
Objetivos.
Objetivo General.
Dar solución a los dos problemas escogidos, realizando la tabla de requerimientos solicitada y
una aplicación en C# aplicando funciones con parámetros y sin parámetros de programación
básica.
Objetivo Especificos.
• Escoger dos problemas
• Aplicar lo aprendido en fases anteriores
• Utilizar funciones con parámetros y sin parámetros
• Dar solución a la tabla de requerimientos.
• Utilizar el lenguaje de programación orientado a objetos.
• Realizar una aplicación según los problemas elegidos.
• Entender como funciona las estructuras de repetición.
• Evitar errores como bucles infinitos.
• Saber como definir y llamar funciones.
• Utilizar operaciones aritméticas para dar solución a ciertos parámetros.
Actividad 1:
Del archivo titulado “Anexo 1 - Banco de Problemas - Paso 4”, cada estudiante debe
seleccionar dos (2) problemas a desarrollar y debe publicar en el foro una tabla con la siguiente
información, tal y como se describe a continuación:
Tabla 1 – Información Situación Problema a Resolver.
Problema Asignado
Estudiante (Marque con una X el problema a resolver’
diferente a los ya escogidos en el foro).
Ivan Ramiro Paniagua Solera
Problema 2 y 6
1002107244
Actividad 2:
El estudiante debe diligenciar por cada problema seleccionado, la tabla de requerimientos
con base en los campos exigidos. La construcción de la tabla de requerimientos forma parte del
análisis del problema. Los requerimientos hacen referencia a las necesidades de los usuarios, es
decir, identifican los aspectos que los usuarios del programa desean resolver mediante software
posteriormente.
Problemas 2.
El colegio SUAREZ requiere un programa que permita hallar la calificación promedio de
sus estudiantes así:
• Por teclado se debe solicitar la cantidad de usuarios a valorar. (ejemplo si
digita 5 deberá repetir los pasos siguientes 5 veces)
• Se requiere captura por teclado de nombre y calificación (siendo la edad un
número entero de 1 a 10).
• Se debe calcular e imprimir en consola el valor de la calificación promedio,
máxima y mínima de los estudiantes.
Tabla 2. Tabla de Requerimientos – Problema 2
Identificación del Resultados
Descripción Entradas
requerimiento (salidas)
Se mostrará en pantalla
Se debe solicitar por Se debe ingresar la la cantidad ingresada y
R1 teclado la cantidad de cantidad de usuarios se almacenará estos
usuarios que valorara que se valoraran datos en la variable
cantidad.
Se mostrará en pantalla
Se solicita por teclado Se debe ingresar los los nombres de los
R2 el nombre de los nombres de los estudiantes y se
estudiantes estudiantes almacenará en la
variable nombre.
Las calificaciones se
Se solicita por teclado Se debe ingresar la
mostrarán en pantalla y
R3 la calificaciones de calificación de los
se almacenarán en la
cada estudiante. estudiantes.
variable notas.
Se debe realizar una
Se solicita calcular el operación aritmética Se mostrará en consola
promedio y la para hallar el el promedio, la
R4 calificación mas alta y promedio, la calificación más alta y
la mas baja de los calificación mas alta la más baja de los
estudiantes. y la mas baja de los estudiantes ingresados.
estudiantes.
Problema 6:
En el curso de matemáticas se requiere un programa que calcular el área y el perímetro de
un cuadrado así:
• Se requiere captura por teclado del lado del cuadrado (siendo el lado un
número entero).
• Se debe calcular e imprimir en consola el valor del área y del perímetro del
cuadrado.
NOTA: El área de un cuadrado lado 2. Es decir, lado al cuadrado.
NOTA: El diámetro de un cuadrado lado * 4. Es decir, lado por cuatro.
Tabla 2.1. Tabla de Requerimientos – Problema 6
Identificación del Resultados
Descripción Entradas
requerimiento (salidas)
Se debe solicitar
ingresar por teclado el Se debe ingresar por Se mostrará en la
R1 lado del cuadrado consola el lado del consola el valor lado
preferible un número cuadrado. del cuadrado.
entero.
Se calcular el valor del
Se mostrará en la
Se debe calcular el área realizando una
R2 consola el valor del
valor del área. multiplicación de la
área.
longitud de los lados
Se calcula el valor del Se mostrará en la
Se debe calcular el
R3 perímetro realizando consola el valor del
valor del perímetro.
la suma de sus lados. perímetro.
Actividad 3.
Utilizando el lenguaje de programación orientado a objetos, el estudiante codifica y hace
las respectivas pruebas de escritorio para validar que el programa esté entregando los resultados
esperados.
Problemas 2.
// Nombre del estudiante: Ivan Ramiro Paniagua Solera
// Grupo: 213022_82
// Programa: Ingeniería de Sistemas
// Código Fuente: autoría propia
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
// Creamos la variable o vector para los nombres de los estudiantes.
string[] estudiantes;
//Creamos la variavle o vector para las calificaciones de los estudiantes.
double[,] calificaciones;
//Creamos la variavle o vector para el ingreso de la cantidad de estudiantes.
Console.Write("Ingrese la cantidad de estudiantes a evaluar: ");
int cantidad = Int32.Parse(Console.ReadLine());
//iniciamos la formacion
estudiantes = new string[cantidad];
//1 sola nota por estudiantes.
calificaciones = new double[cantidad, 1];
//Realizamos bucle donde se pediran los nombres, las notas de los estudiantes.
for (int i = 0; i < cantidad; i++)
{
Console.WriteLine("\nAlumno #" + (i + 1));
Console.Write("Ingrese el Nombre del Estudiante: ");
estudiantes[i] = Console.ReadLine();
for (int j = 0; j < 1; j++)
{
// Se pide la nota del estudiante.
Console.Write("Ingrese la nota del Estudiante, solo notas de [1 al 10]: ", (j + 1));
calificaciones[i, j] = Double.Parse(Console.ReadLine());
}
Console.WriteLine("Guardado Exitoso");
//Una vez digitados los datos procedemos a realizar las operaciones.
Console.WriteLine("\n\tPromedio de las notas\n");
double sumascantidades = 0;
double promedio = 0;
double sumamaxi = 0;
double sumamini = 10;
for (int i = 0; i < cantidad; i++)
{
//Se almacena las calificaciones de los estudiantes
double sumaNotas = 0;
for (int j = 0; j < 1; j++)
sumaNotas += calificaciones[i, j];
//Sentencia para calcular la nota mas alta y la mas baja.
sumascantidades = sumascantidades + sumaNotas;
if (sumaNotas > sumamaxi)
{
sumamaxi = sumaNotas;
}
if (sumaNotas < sumamini)
{
sumamini = sumaNotas;
}
}
//Calculo del promedio total de los estudiantes evaluados.
promedio = sumascantidades / cantidad;
//Impresion en pantalla del promedio, nota maxima y minima de los estudiantes.
Console.WriteLine("El promedio de total de los alumnos evaluados: " + promedio + "\n");
Console.WriteLine("La nota maxima de los estudiantes es: " + sumamaxi + "\n");
Console.WriteLine("La nota minima de los estudiantes es: " + sumamini + "\n");
Console.WriteLine("\n\tFIN POR FAVOR REINICIE EL PROGRAMA");
Problema 6.
// Nombre del estudiante: Ivan Ramiro Paniagua Solera
// Grupo: 213022_82
// Programa: Ingeniería de Sistemas
// Código Fuente: autoría propia
//Creamos un recibimiento en la consola.
Console.WriteLine("Calcular el área y el perímetro de un cuadrado: ");
Console.WriteLine("");
Console.WriteLine("Ingrese el Lado del Cuadrado");
double cuadradolado = double.Parse(Console.ReadLine()); //Creamos la variable donde se alojara
el valor de los lados del cuadrado.
double area = cuadradolado * cuadradolado; // Realizamos la operacion aritmetrica para hallar el
valor del area del cuadrado.
Console.WriteLine("El valor del área es: " +area+ "\n"); // Imprimimos el valor del area
Console.WriteLine("");
double perimetro = cuadradolado + cuadradolado + cuadradolado + cuadradolado; // Realizamos
la operacion para hallar el perimetro del cuadrado.
Console.WriteLine("El valor del perimetro es: " +perimetro+ "\n"); // Imprimimos el valor del
perimetro
Conclusiones.
Se le dio solución a las dos problemáticas que se escogieron en el foro colaborativo,
realizando la tabla de requerimientos donde analizamos el problema 2 y 6, haciendo o dando
solución a la entradas de estos requerimientos, la descripción y la salida como este se imprimiría
en la consola, además se realizó una aplicación en C# utilizando parámetros con for y if para
cumplir con lo solicitado en el Banco de problemas.
Es importante tener en cuenta que se aplica lo aprendió en fases anteriores para la
elaboración de la actividad actual, además que la programación es un proceso continuo de
aprendizaje y mejora, donde debemos estar dispuestos a aprender nuevas técnicas y herramientas
para expandir nuestro conocimiento sobre la programación.
Referencias Bibliográficas.
Tech, B. (2021). Algoritmo para CALCULAR PROMEDIO de N Alumnos en PSeInt |
Algoritmo CALIFICACIONES N Estudiantes [YouTube Video]. In YouTube.
https://www.youtube.com/watch?v=IqThRhzAK4s&ab_channel=ByspelTech
Programador Novato. (2021). Ejercicio 20.- (Arreglo de objetos) Lista de alumnos y
calificaciones C# [70]#⃣ [YouTube Video]. In YouTube.
https://www.youtube.com/watch?v=TkJX6aFh0ww&ab_channel=ProgramadorNovato
Programador Novato. (2022). Programación Orientada a Objetos Herencia en C# [71]#⃣ [YouTube
Video]. In YouTube.
https://www.youtube.com/watch?v=oT78lYreXJQ&ab_channel=ProgramadorNovato
Profe, T. (2019). Cómo calcular el área y el perímetro de un cuadrado [YouTube Video]. In
YouTube.
https://www.youtube.com/watch?v=lvQafQ5m23Q&ab_channel=YoSoyTuProfe
López Goytia, J. L. (2015). Programación orientada a objetos C++ y Java: un acercamiento
interdisciplinario. (pp. 1 - 61) https://elibro-
net.bibliotecavirtual.unad.edu.co/es/ereader/unad/39461?page=29
Oviedo, R. E. (2015). Lógica de programación orientada a objetos. (pp. 179-204). https://elibro-
net.bibliotecavirtual.unad.edu.co/es/ereader/unad/70431?page=179