Ejemplos de Funciones para la Clase de Introducción a la

Anuncio
Ejemplos de Funciones para la Clase de Introducción a la Programación
Viernes 19 de noviembre de 2010
Instrucciones.- Los siguientes algoritmos deben comentarizarse para indicar que hace cada uno. Estos
ejercicios se deben de entregar el día lunes 22 de noviembre, antes de iniciar el examen.
#include <stdio.h>
/*Aquí se está definiendo la función serie*/
/*Primero se muestra que la función regresa un valor de tipo flotante*/
/*Posteriormente se muestra el nombre de la función*/
/*Entre paréntesis se muestra que la función recibe un valor de tipo entero*/
int serieimpar(int n);
main()
{
int n,i,x;
float sumatoria;
printf("Ingresa el limite de la serie");
scanf("%d",&n);
/*Aquí se realiza la llamada de la función serie*/
/*Entre paréntesis se indica que se va a pasar el limite de la serie almacenado en la variable n*/
sumatoria=serie(n);
/*Dado que la función se definió que regresa un valor, se tiene que guardar este valor en una variable*/
/*De lo contrario se perdería, en este caso el valor que regresa la función se guarda en la variable sumatoria*/
printf("El valor de la serie es igual a:%f",sumatoria);
}
/*Aquí se está definiendo las operaciones que va a realizar mi función serie*/
int serie(int n)
{
int i,sumatoriad;
i=1;
sumatoriad=1;
/*Aquí se puede apreciar que se va a utilizar el valor guardado en n*/
while(i<=n){
sumatoriad=sumatoriad*i;
i=i+2;
}
/*Para indicar que variable es la que se desea regresar de la función al main, se utiliza la palabra reservada
return*/
return(sumatoriad);
/*Una función solamente puede regresar una variable*/
/*Cualquier instrucción que se escriba después del return no se ejecutará*/
}
#include <stdio.h>
/*Aquí se están definiendo la función de potencia*/
int pot ();
/*Esta función no recibe ninguna variable y regresa un valor de tipo entero*/
main()
{
int i, n, potencia;
i=0;
printf("Ingresa cuantos valores deseas calcular su potencia:\n");
scanf("%d",&n);
while(i<n)
{
/*Aquí se realiza la llamada de la función pot y de acuerdo a su definición no se le pasa ningún parámetro*/
potencia=pot();
/*Dado que la función pot regresa el valor de una potencia, se debe guardar este valor en una variable*/
/*Para este ejemplo se guarda en la variable potencia */
i=i+1;
printf("El valor de la potencia es:%d\n",potencia);
}
}
/*Aquí se está definiendo las operaciones que va a realizar mi función pot*/
int pot(){
int j,base,exponente,p;
j=0;
p=1;
printf("Ingresa el valor de la base:\n");
scanf("%d",&base);
printf("Ingresa el valor del exponente:\n");
scanf("%d",&exponente);
while(j<exponente){
if(exponente==0) {
p=1;
}
else {
p=p*base;
}
j=j+1;
}
return(p);
}
#include <stdio.h>
/*Aquí se está definiendo la función fact y recibe como parámetro una variable de tipo entero y regresa un valor de
tipo entero*/
int fact(int m);
main()
{
int i, n, serie,sumatoria;
i=1;
sumatoria=0;
printf("Ingresa el limite de la serie:\n");
scanf("%d",&n);
while(i<=n)
{
/*Aquí se realiza la llamada de la función fact*/
serie=fact(i);
sumatoria=sumatoria+serie;
/*De acuerdo a como se definió la función serie, recibe como parámetro el valor de i*/
/*Se pasa como parámetro la variable i, para calcular cada factorial comprendido en el intervalo de 1 hasta n*/
/*Como la función regresa un valor, en este ejemplo se guarda el valor en la variable serie*/
i=i+1;
}
printf("El resultado de la suma de 1!+2!+... hasta n!, es igual a:%d\n",sumatoria);
}
/*Aquí se está definiendo las operaciones que va a realizar mi función fact*/
/*El valor limite de la serie guardado en n y que se esta pasando como parámetro a la función fact se va a almacenar
en la variable m*/
int fact(int m){
int t, facto;
t=1;
facto=1;
while(t<=m){
facto=facto*t;
t=t+1;
}
return(facto);
}
#include <stdio.h>
/*En este ejemplo tanto la función pares como la función impares no regresan ningún valor, por esa razón se emplea
la palabra reservada void*/
void pares(int m);
void impares(int p);
/*En ambas funciones el valor del límite de la serie guardado en la variable n se pasa como parámetro y se guarda en
las variables m y p respectivamente*/
main()
{
char op;
printf("Este programa te permite multiplicar los valores pares comprendidos en el intervalo de 1 hast N\n");
printf("o\n");
printf("Si deseas sumar todos los valores impares comprendidos en el intervalo de 1 hast N \n");
printf("Para seleccionar la primera opcion, digita el valor 1, sino digita el valor 2.\n");
scanf("%c",&op);
int n;
float par, impar;
/*Para la comparación de caracteres se emplea la comilla simple*/
if(op=='1')
{
printf("Ingresa el valor limite de la serie:\n");
scanf("%d",&n);
pares(n);
}
if(op=='2')
{
printf("Ingresa el valor limite de la serie:\n");
scanf("%d",&n);
impares(n);
}
}
void pares(int m)
{
int i, temp, part;
i=2;
part=1;
do {
if(m<0)
{
printf("El valor limite ingresado de la serie no es valido");
}
else
{
temp=i%2;
/*Se emplea la operación módulo 2 para verificar que el valor sea par, mediante el valor del residuo*/
if(temp==0)
{
part=part*i;
}
}
i=i+2;
}
while(i<=m);
printf("El resultado de la serie es:%d\n",part);
}
void impares(int p)
{
int i, temp, impart;
i=1;
impart=0;
do {
if(p<0){
printf("El valor limite ingresado de la serie no es valido");
}
else {
temp=i%2;
if(temp==1)
{
impart=impart+i;
}
}
i=i+2;
}
while(i<=p);
printf("El resultado de la serie es:%d\n",impart);
}
Descargar