Académique Documents
Professionnel Documents
Culture Documents
APRENDIZAJE:IMPLEMENTACIÓN
DE FUNCIONES EN UN
PROGRAMA EN LENGUAJE C.
INSTITUTO: Universidad Abierta y a Distancia de México
ALUMNO: Edwing Cid Cantú
DOCENTE: Claudia Erika González Gómez
MATRICULA: ES1821021282
SEMESTRE: Primer
CARRERA: Desarrollo de Software
ASIGNATURA: Fundamentos de programación
CLAVE: 15141102
UNIDAD: 6 “Funciones”
Indicaciones:
c) Proceso.
Pedir al usuario ingrese las 4 calificaciones individuales porcentuales
necesarias (0-100)
Promediar la calificación de las 4 calificaciones
Decidir si el promedio resultante es de 70 hacia arriba
Si es así Imprimir el promedio y la leyenda: “Estas aprobado no
requieres nivelación”
Si el promedio resultante no es mayor o igual a 70, decidir si esta
entre mayor a 50 y menor a 70
Si es así Imprimir el promedio y la leyenda: “Estas reprobado pero
tienes derecho a nivelación”
Decidir si el promedio es menor a 50
P á g i n a 1 | 11
Si es así Imprimir el promedio y la leyenda: “Estas reprobado”
e) Algoritmo
Proceso Calificaciones
Definir n1,n2,n3,ep Como Entero;
Definir promedio Como Real;;
Escribir "Calificación de la primera actividad (0 a 100): ";
Leer n1;
Escribir "Calificación de la segunda actividad (0 a 100): ";
Leer n2;
Escribir "Calificación de la tercera actividad (0 a 100): ";
Leer n3;
Escribir "Calificación de examen practico (0 a 100): ";
Leer ep;
promedio<-(n1+n2+n3+ep)/(4);
Si promedio>=70 Entonces
Escribir "Tu promedio es de: ",promedio;
Escribir "Aprobado";
Escribir "No requieres nivelación";
SiNo
Si promedio>50 Y promedio<70 Entonces
Escribir "Tu promedio es de: ",promedio;
Escribir "Reprobado";
Escribir "Tienes derecho a nivelación";
SiNo
Escribir "Tu promedio es de: ",promedio;
Escribir "Reprobado";
Fin Si
Fin Si
FinProceso
P á g i n a 2 | 11
Diagrama modular:
El programa tendrá tres funciones: Una principal (main) donde se pedirán los datos
iniciales al usuario y se imprimirán los resultados esperados. La suma de las notas
y la tercera función para calcular el promedio.
Principal
Datos Entrada:
n1[],n2[],n3[],ep[]
Salidas:
Sumar Promedio
Sumar[n1n2,n3,ep] suma
suma prom
P á g i n a 3 | 11
Como podemos observar en el pseudocodigo y diagrama de flujo, este módulo o función
llamado “sumar” pedirá como parámetro de entrada los datos requeridos en el módulo o
función principal, en este caso las 4 notas individuales, posteriormente se realizará el
proceso de la suma de dichas calificaciones o notas para finalmente retornar el valor en la
variable llamada “suma”.
P á g i n a 4 | 11
Como podemos observar en el pseudocodigo y diagrama de flujo, este módulo o función
llamado “Promedio” pedirá como parámetro de entrada el retorno del valor “suma” del
anterior módulo descrito, posteriormente se realizará el proceso de dividir el valor de
retorno “suma” entre el tamaño (TAM) de calificaciones ingresadas, es decir 4, para
finalmente retornar el valor en la variable llamada “prom”.
Inicio
Leer(n1);
Leer(n2);
Leer(n2);
Leer(n1);
P á g i n a 5 | 11
/* Llamamos a las funciones de sumar y promediar */
x sumar(n1,n2,n3,ep);
y promedio(x);
SI (y>=70 Y y<=100){
SINO{
SI (y>50 Y y<70){
SINO{
SI (y>=0 Y y<=50){
SINO{
SI (y<0 O y>100){
P á g i n a 6 | 11
}
Regresa (suma);
Regresa (prom);
Fin
Como podemos observar en el algoritmo del módulo principal, primero se dará paso a las
lecturas de las 4 calificaciones a promediar, después de ello invocaremos a nuestras dos
funciones: “sumar” y “promedio” con el objetivo de que en la primera función se sumen
todas las calificaciones y en la segunda función se promedien para un promedio final,
posteriormente mediante sentencias SI-SINO se hacen los ajustes necesarios para evaluar
en qué posición cae el promedio y devolver al usuario si el alumno esta aprobado o
reprobado y si tiene o no derecho a nivelación. Por último se colocan nuestras funciones a
utilizar en el módulo principal y las cuales son motor para resolver el problema.
Código en C:
/* Declaramos librerias*/
#include <stdio.h>
#include <stdlib.h>
#include <wchar.h>
#include <locale.h>
#define TAM 4
/*Función principal*/
int main()
setlocale(LC_ALL, "");
float n1,n2,n3,ep,x,y;
scanf("%f",&n1);
scanf("%f",&n2);
scanf("%f",&n3);
scanf("%f",&ep);
x = sumar(n1,n2,n3,ep);
y = promedio(x);
else{
}
P á g i n a 8 | 11
else{
else{
if (y<0 || y>100){
return 0;
return (suma);
return (prom);
P á g i n a 9 | 11
Ejecutable:
P á g i n a 10 | 11
Figura 3. Calificación reprobatoria sin derecho a nivelación
Fuentes de consulta:
P á g i n a 11 | 11