Está en la página 1de 3

Practica 21/03

Si pide crear un programa es el main.

Si pide crear una funcion no importa el main.

Si pide crear un procedimiento es crear un void.

Una funcion se la nombra con lo que devuelve, por ejmplo: funcion exponencial:
devuelve_exponente.

Un void se lo nombra con verbos en infinitivos, pro ejemplo: dar_disculpas, pedir]_disculpas.

Ejercicio 1

Como vimos la semana pasada, la organización de Monster University dejó qué desear este
cuatrimestre. Como la universidad se sintió tan mal por sus errores durante la inscripción,
decidió pedirle perdón a todos los alumnos.

1. Crear una función que reciba la cantidad de alumnos que hay e imprima por cada
uno de ellos el siguiente mensaje: “Disculpe las molestias ocasionadas!! No volverá a
suceder (probablemente si)”.

2. Crear un procedimiento para pedirle al usuario la cantidad de alumnos que hay

#include <stdio.h>
/*precondiciones: condiciones sobre los parámetros de entrada. (en este caso
cantidad_alumnos) postcondiciones: qué hace la función y las condiciones sobre los parámetro
s de salida, siempre y cuando se cumplan las precondiciones */

/*
pre: cantidad_alumnos tiene un valor mayor a 0.
post: imprime unas disculpas para cada alumno
*/
void pedir_disculpas(int cantidad_alumnos){
for(int i=0; i<cantidad_alumnos; i++){
printf("Disculpe las molestias ocasionadas!! No volverá a suceder (probablemente sí)
\n");
}
}

int main(){
int cant_alumnos = 4;
pedir_disculpas(cant_alumnos);

return 0;
}

Ejercicio 2

Mike Wasausky entró a su SIU para ver qué onda su promedio, pero en el mismo están todas
las notas por separado. Es por eso que necesita nuestra ayuda.

1. Crear un programa modularizado que le pregunte a Mike por sus notas hasta que diga que él
ya no quiera cargar más (ésto se dará cuando ingrese un 0). Será importante validar que la
nota que ingresa sea entre 0 y 10 inclusive.

Practica 21/03 1
2. Cuando finalice de preguntar, el programa deberá imprimir por pantalla el promedio de las
notas cargadas por Mike.

#include <stdio.h>

int main(void) {
printf("Hello World\n");
void pedir_disculpas(int cantidad_alumnos) {
for (int i = 0; i < cantidad_alumnos; i++) {
printf("diculpe las molestias...")
}
}

int main() {
int cant_alumnos; = 4;
pedir_disculpas(cant_alumnos);
}

//post: devuelve verdadero si la nota es invalida


//caso contrario devuelve falso.
const int sin_nota = -1;
const int no_mas_notas =0;
const int nota_minima = 0;
const int nota_maxima = 10;
boot es_nota_invaliada(int nota){
return nota < 0 || nota > 10;
}

void preguntar_notas(){
int nota = sin_nota;
int cantidad_notas = 0;
int suma_notas = 0;

while(nota != no_mas_notas){
printf("Por favor ingresar nota\nPara finalizar ingrese 0\n");
scanf("%i", &nota);

while(es_nota_invalia(nota))
printf("nota invalida, ingrese nuevamente")
scanf("%i" , &nota);
}
cantidad_notas++;
suma_notas += nota;

}
}
return 0;
}
// ejercicio 1
/*
pre:cantidad_alumnos tiene un valor mayor a cero
post: imprime unas disculpas para cada alumno
*/

//2
#include <stdio.h>
#include <stdbool.h>

Practica 21/03 2
const int SIN_NOTA = -1;
const int NO_MAS_NOTAS = 0;
const int NOTA_MINIMA = 0;
const int NOTA_MAXIMA = 10;

// post: devuelve verdadero si la nota es invalida (no está entre 0 y 10)


// caso contrario devuelve falso.
bool es_nota_invalida(int nota){
return nota < NOTA_MINIMA || nota > NOTA_MAXIMA;
}

// pre: completar!
// post: completar!
void pedir_nota(int* nota){
printf("Por favor ingresar nota\nPara terminar ingresar 0\n");
scanf("%i", nota);
while(es_nota_invalida(*nota)) {
printf("Nota ingresada inválida. Reingrese un valor entre 1 y 10\nPara terminar ingre
sar 0\n");
scanf("%i", nota); // ¿por qué piensan que no es necesario el & acá?
}
}

// pre: completar!
// post: completar!
void preguntar_notas(int* cantidad_notas, int* suma_notas) {
int nota = SIN_NOTA;

while(nota != NO_MAS_NOTAS) {
pedir_nota(&nota);

if(nota != NO_MAS_NOTAS) {
(*cantidad_notas)++;
(*suma_notas) += nota;
}
}
}

int main(){
int cantidad_notas = 0;
int suma_notas = 0;

preguntar_notas(&cantidad_notas, &suma_notas);

int promedio = suma_notas / cantidad_notas;


printf("El promedio de notas es %i\n", promedio);

return 0;
}

Practica 21/03 3

También podría gustarte