Practica 4 - Funciones Segunda Parte Parte
Practica 4 - Funciones Segunda Parte Parte
Practica 4 - Funciones Segunda Parte Parte
ACADEMIA DE COMPUTACION
PRACTICA 4.
FUNCIONES (SEGUNDA PARTE)
PROFESOR:
MAD. SILVIANO ESCAMILLA GARCÍA
POO
ÍNDICE
FUNCIONES....................................................................................................................................3
Consideraciones teóricas
EJEMPLOS DE FUNCIONES...................................................................................................7
EJEMPLOS DE FUNCIONES RECURSIVAS.......................................................................11
4
POO
Una Función es una parte del código independiente del programa que se llama
dentro de él, como dijimos anteriormente C no tiene procedimientos solamente
funciones los procedimientos los simula con funciones que no devuelven nada
(Void) la estructura de la funciones en C y es los elementos mas fuertes del
lenguaje.
codigo ejecutable
Las variables de nuestras funciones son locales es decir que solamente viven
cuando se esta ejecutando la llamada a la función; el código ejecutable son las
sentencias que el programa utiliza para funcionar y el valor de retorno es el
resultado que va a devolver la misma función ( si se dice que una función retorna
un entero en el return se debe poner un entero como valor de devolución
4
POO
Ej: esta función de ejemplo cuenta cuantos caracteres existen dentro de una
variable que se le pase como parámetro.
;;
return (cont);
4
POO
Dentro de la función se define una variable local que solamente funciona para esta
función y es de tipo entero después recorro la cadena pasada como parámetro
buscando el fin de línea (‘\0’) cuando lo encuentro retorno el valor de cont que
tiene la cantidad de caracteres que contiene la cadena. ;)
Main()
{ ....
....
variables locales
...
...
return valor_de_retorno
};
4
POO
1. Cambiar en formato de entra y salida de “C” a “C++” de todos los programas(cout, cin)así
como librerías.
2. Haga correr el programa
3. Imprima pantalla de los resultados obtenidos
4. Realice un análisis del programa, de cada función y lo que realiza el programa.
5. Qué tipo de errores encontró.
6. Conclusiones finales del programa.
7. Guardar archivos cpp. Y exe, de cada programa.
8. Realizar una carpeta principal y subcarpetas por cada programa, que contenga los
archivos cpp. y exe.(recuerde guardar la carpeta principal con el formato establecido en
clase.
9. Comprimir toda su práctica en zip o .rar y guardarla con el formato establecido en clase.
4
POO
PROGRAMA 1.
#include <stdio.h>
void main()
{
int n;
printf("\n Escribe un número: ");scanf("%d",&n);
if (primo(n)==1) printf("\n\n Es primo");
else printf("\n\n No es primo");
}
4
POO
PROGRAMA 2.
#include <stdio.h>
void main()
{
int n,i,c1,c2,c3,c4,suma,producto;
printf("\nEscribe un número: ");scanf("%d",&n);
for (i=1;i<=9999;i++)
{
c1=int(i/1000);
c2=int((i % 1000)/100);
c3=int(((i % 1000) % 100)/10);
c4=(((i % 1000) % 100) % 10);
suma=c1+c2+c3+c4;
producto=c1*c2*c3*c4;
if ((n % suma == 0) && (producto % n == 0) &&
(suma <= n) && (producto >= n))
{
printf("%5d",i);
printf("\n");
}
}
}
4
POO
Bibliotecas de programas.
Fich001.c
/* Fich001.c */
Acabamos de crear un fichero biblioteca de nombre Fich001.c que contiene de momento una sóla
función, no lo ejecutes porque entre otras cosas no te funcionará.
PROGRAMA 3
#include <stdio.h>
#include "c:\TuCarpeta\Fich001.c"
void main()
{
int n;
printf("\n Escribe un número: ");scanf("%d",&n);
if (primo(n)==1) printf("\n\n Es primo");
else printf("\n\n No es primo");
4
POO
}
Observa de qué forma decimos al compilador que utilice las funciones que tenemos en Fich001.c:
#include “c:\TuCarpeta\Fich001.c”
Vamos a hacer un programa que escribe el listado de números primos inferiores a uno dado (utiliza
la función primo() de Fich001.c
PROGRAMA 4
#include <stdio.h>
#include "c:\TuCarpeta\Fich001.c"
void main()
{
int n,i;
int j,panta;
char c;
printf("\nHasta qué número quieres la lista de números primos: ");
scanf("%d",&n);
printf("\n");
c=getchar();
printf("\n1\n");
j=0;panta=1;
for(i=2;i<n;i++)
4
POO
if(primo(i)==1)
{
printf("%10d",i);
j++;
if(j==160*panta)
{
printf("\n Pulsa [Return] para continuar \n");
c=getchar();
panta++;
}
}
if(primo(n)==1) printf("\n%10d",n);
}
PROGRAMA 5
#include <stdio.h>
#include "c:\TuCarpeta\Fich001.c"
void main()
{
int n,i;
int k;
4
POO
printf("\n Escribe el número a descomponer: \n");
scanf("%d",&n);
for(i=2;i<n;i++)
{
k=1;
while ((primo(i)==1) && (n % (k*i) ==0))
{
printf("%d-",i);
k=k*i;
}
}
}
4
POO
PROGRAMA 6
#include <stdio.h>
void main()
{
int x,y;
int aux;
int resto;
4
POO
#include<stdio.h>
#include<conio.h>
#include<math.h>
#include<iostream>
if(x<y)
aux=x;
x=y;
y=aux;
if((x % y) == 0) resto=y;
4
POO
while ((x % y) != 0)
resto=x-y*(x/y);
x=y;
y=resto;
cout<<resto;
4
POO
Fich002.c
/* Fich002.c */
4
POO
y=resto;
}
return resto;
}
PROGRAMA 8
/* Prog068.cpp */
#include <stdio.h>
#include "c:\TuCarpeta\Fich002.c"
void main()
{
int a,b;
int mcd;
char otra[1];
otra[0]='s';
while (otra[0]=='s')
{
printf("\n Número: "); scanf("%d",&a);
printf("\n Número: "); scanf("%d",&b);
mcd=MCD(a,b);
printf("\n\n El MCD de %d y %d es %d",a,b,mcd);
printf("\n\n Quieres otro MCD (s/n)? ");
scanf("%s",otra);
}
}
4
POO
PROGRAMA 09.- Realice el programa anterior pero que calcule también el mínimo común
múltiplo.
PROGRAMA REALIZADO
main(void)
{
int a,b;
int mcd;
char otra[1];
otra[0]='s';
while (otra[0]=='s')
{
cout<<("\n Número: ");
cin>>a;
cout<<("\n Número: ");
cin>>b;
4
POO
mcd=MCD(a,b);
mcm=MCM(a,b);
cout<<("\n\n El MCD de %d y %d es %d",a,b,mcd);
cout<<("\n\n Quieres otro MCD (s/n)? ");
cin>>otra;
cout<<("\n\n El MCM es",a,b,mcm);
}
}
PROGRAMA 10.
Programa que simplifica una fracción, utilizando la función MCD, que tenemos en Fich002.c
#include <stdio.h>
#include "c:\TuCarpeta\Fich002.c"
void main()
{
int a,b;
int div;
printf("\n Escribe el numerador: ");
scanf("%d",&a);
printf("\n Escribe el denominador: ");
scanf("%d",&b);
div=MCD(a,b);
printf("\n Fracción simplificada: %d / %d",a/div,b/div);
}
4
POO
PROGRAMA 11.
#include <stdio.h>
#include "c:\TuCarpeta\Fich003.c"
void main()
{
int f1[2],f2[2];
int mcd,num;
printf("\Escribe la 1ª fracción: \n"); scanf("%d %d",&f1[0],&f1[1]);
printf("\Escribe la 2ª fracción: \n"); scanf("%d %d",&f2[0],&f2[1]);
mcd=(f1[1]*f2[1])/MCD(f1[1],f2[1]);
num=(mcd/f1[1])*f1[0]+(mcd/f2[1])*f2[0];
printf("\n\n Suma de %d/%d + %d/%d = ",f1[0],f1[1],f2[0],f2[1]);
printf(" %d / %d",num,mcd);
printf("\n\n");
simplifica(num,mcd);
}
4
POO