-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 751f158
Showing
9 changed files
with
538 additions
and
0 deletions.
There are no files selected for viewing
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
# FUNCIONES EN C | ||
## Problemario 4 - Programacion 1 | ||
|
||
1. Escriba un programa que imprima los coeficientes de un binomio a la n-ésima potencia. | ||
Ejemplo: | ||
|
||
Entrada: 𝑛=4 Salida: 1 4 6 4 1 | ||
Entrada: 𝑛=6 Salida: 1 6 15 20 15 6 1 | ||
Utilice números combinatorios: | ||
$$\binom{m}{n}=\frac{m!}{n!(m-n)!}$$ | ||
|
||
2. Escriba un programa que imprima el triángulo de Pascal. Utilice números combinatorios. | ||
3. Cree un programa en C que solicite números naturales hasta que el usuario desee terminar. Por cada número dado se deberá visualizar: | ||
a. Si el numero es primo: su factorial. | ||
b. Si el numero no es primo: sus múltiplos menores que 1000 | ||
c. Nota: El programa debe estar diseñado con funciones utilizando parámetros y variables locales. | ||
|
||
4. El desarrollo en serie de Taylor de la función coseno es: | ||
$$cos(x)=1-\frac{x^{2}}{2!}+\frac{x^{4}}{4!}-\frac{x^{6}}{6!}+...$$ Donde el ángulo 𝑥 viene expresado en radianes. | ||
Escriba un programa que calcule el valor aproximado de cos(𝑥), utilizando para ellos los 𝑛 primeros términos de la serie de Taylor. | ||
Nota: No utilice la función 𝑝𝑜𝑤() de la biblioteca math.h para calcular la potencia, Implemente su propia versión. | ||
|
||
5. Escriba un programa que mediante dos funciones convierta de grados centígrados a Fahrenheit y de Fahrenheit a Centígrados, dependiendo de la opción que proporcione el usuario. | ||
|
||
6. Escriba un programa que solicite el peso (Kg) y la altura (mts) de una persona y calcule su índice de masa corporal (IMC). Con base en este resultado, el programa deberá informar que clasificación pertenece dicha persona:$$IMC=\frac{Peso(kg)}{Estatura^{2}(Mts.)}$$ | ||
|
||
|Indice de Masa Corporal (IMC)|Clasificación| | ||
|--|--| | ||
| Menor a 18 |Peso bajo. Necesario valorar signos de desnutrición| | ||
| 18 a 24.9 |Normal| | ||
| 25 a 26.9 |**Sobrepeso**| | ||
| Mayor a 27 | **Obesidad** | | ||
| 27 a 29.9 | **Obesidad grado I.** Riesgo relativo alto para desarrollar enfermedades cardiovasculares | | ||
| 30 a 39.9 | **Obesidad grado II.** Riesgo relativo muy alto para el desarrollo de enfermedades cardiovasculares | | ||
| Mayor a 40| **Obesidad grado III Extrema O Mórbida.** Riesgo relativo extremadamente alto para el desarrollo de enfermedades cardiovasculares | | ||
|
||
Nota: Escriba una función para calcular el IMC y otra que muestre la clasificación. | ||
|
||
7. Modifique el programa anterior de tal forma que el proceso termine hasta que el usuario desee salir. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
/* 1. Programa que imprime los coeficientes de un binomio | ||
elevado a la n-�sima potencia usando n�meros combinatorios*/ | ||
|
||
//Cargar libreria/s | ||
#include <stdio.h> | ||
|
||
//Prototipo | ||
long factorial(int); | ||
|
||
//Principal | ||
int main(){ | ||
|
||
//Declarar variables | ||
int error, n, c; | ||
|
||
//Nota | ||
printf ("\n\t NOTA: Este programa SOLO acepta entradas por debajo de 13\n"); | ||
|
||
//Bucle do while | ||
do{ | ||
|
||
//Ingreso de datos por teclado | ||
printf ("\nIngrese un n%cmero para obtener sus coeficientes:\n",163,160); | ||
scanf ("%d",&n); | ||
|
||
//Fuera de rango | ||
if (n < 0){ | ||
printf ("\n[!] ERROR: Verifica tu informaci%cn [!]\n",162); | ||
error = 1; | ||
} | ||
|
||
//Fuera del l�mite | ||
if (n >= 13){ | ||
printf ("\n[!] ERROR: Constante supera el l%cmite [!]\n",161); | ||
error = 1; | ||
} | ||
printf ("\n"); | ||
} while (error != 0); | ||
|
||
//Salida de datos | ||
printf ("\tSalida:\n"); | ||
for (c = 0 ; c <= n; c++){ | ||
printf("[%ld] ", factorial(n)/(factorial(c)*factorial(n-c))); | ||
} | ||
printf ("\n"); | ||
//Cerrar programa | ||
system ("pause"); | ||
return 0; | ||
} | ||
|
||
//Factorial | ||
long factorial(int n){ | ||
int c; | ||
long result = 1; | ||
|
||
for (c = 1; c <= n; c++){ | ||
result *= c; | ||
} | ||
|
||
return result; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,68 @@ | ||
// 2. Programa que imprime el triángulo de Pascal | ||
|
||
//cargar libreria/s | ||
#include <stdio.h> | ||
|
||
//Prototipo | ||
long factorial(int); | ||
|
||
//Principal | ||
int main(){ | ||
|
||
//Declarar variables | ||
int error,i, n, c; | ||
|
||
//Nota | ||
printf ("\n\t NOTA: Este programa SOLO acepta entradas por debajo de 13\n"); | ||
|
||
//Bucle do while | ||
do{ | ||
|
||
//Ingreso de datos por teclado | ||
printf ("\nIngrese el n%cmero de fila para imprimir el tri%cngulo de Pascal:\n",163,160); | ||
scanf ("%d",&n); | ||
|
||
//Fuera de rango | ||
if (n < 0){ | ||
printf ("\n[!] ERROR: Verifica tu informaci%cn [!]\n",162); | ||
error = 1; | ||
} | ||
|
||
//Fuera del límite | ||
if (n >= 13){ | ||
printf ("\n[!] ERROR: Constante supera el l%cmite [!]\n",161); | ||
error = 1; | ||
} | ||
printf ("\n"); | ||
} while (error != 0); | ||
n+=1; | ||
|
||
printf ("Salida:\n"); | ||
//Forma de trángulo | ||
for (i = 0; i < n; i++){ | ||
for (c = 0; c <= (n - i - 2); c++){ | ||
printf(" "); | ||
} | ||
//Salida de datos | ||
for (c = 0 ; c <= i; c++){ | ||
printf("[%ld]", factorial(i)/(factorial(c)*factorial(i-c))); | ||
} | ||
|
||
printf("\n"); | ||
} | ||
//Cerrar programa | ||
system ("pause"); | ||
return 0; | ||
} | ||
|
||
//Factorial | ||
long factorial(int n){ | ||
int c; | ||
long result = 1; | ||
|
||
for (c = 1; c <= n; c++){ | ||
result *= c; | ||
} | ||
|
||
return result; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,66 @@ | ||
//Jesús Huerta Aguilar, Javier de La Luz Ruiz, Ernesto Flores Cesareo | ||
//Programación I - "Programa: Lectura de numeros naturales con casos determinados" | ||
#include <conio.h> | ||
#include <stdio.h> | ||
//PROTOTIPOS | ||
int primo(int x); | ||
void fact(int n); | ||
void mult(int n); | ||
//PRINCIPAL | ||
int main(){ | ||
int n; | ||
printf("Ingrese un numero natural (n >= 0)"); | ||
printf("\nNOTA: Para salir ingrese cualquier numero negativo.\n\n"); | ||
do{ | ||
scanf("%d",&n); | ||
if (n >= 0){ | ||
if (primo(n) == 1){ | ||
fact(n); | ||
} | ||
else{ | ||
mult(n); | ||
} | ||
} | ||
} while (n >= 0); | ||
//system("PAUSE"); | ||
printf("\n\tGracias por usar nuestros servicios."); | ||
getch(); | ||
return 0; | ||
} | ||
//DETECTAR PRIMOS | ||
int primo(int x){ | ||
int i,con; | ||
for ( i = 1; i <= x; i++) | ||
{ | ||
if(x%i==0){ | ||
con++; | ||
} | ||
} | ||
if (con > 2){ | ||
return 0; | ||
} | ||
else{ | ||
return 1; | ||
} | ||
} | ||
//FACTORIAL | ||
void fact(int n){ | ||
int i; | ||
double f=1; | ||
for (i = 1; i <= n; i++){ | ||
f = f*i; | ||
} | ||
printf(" -> PRIMO: %d! = %.lf\n",n,f); | ||
} | ||
//MULTIPLOS | ||
void mult(int n){ | ||
int i; | ||
printf(" -> NO PRIMO: M(%d) = {",n); | ||
for (i = 1; i <= 1000; i++) | ||
{ | ||
if (i%n==0){ | ||
printf("%d,",i); | ||
} | ||
} | ||
printf("}\n"); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,88 @@ | ||
//Jesús Huerta Aguilar, Javier de La Luz Ruiz, Ernesto Flores Cesareo | ||
//Programación I - "Programa: Serie de Taylor de la funcion coseno" | ||
#include <conio.h> | ||
#include <stdio.h> | ||
#include <math.h> | ||
//PROTOTIPOS | ||
void rad(float *x); | ||
int fact(int n); | ||
float pwr(int dpon,float x); | ||
//PRINCIPAL | ||
int main(){ | ||
//DECLARAR VARIABLES | ||
int n,i,dpon,error,band=1,dera=1,cont=0; | ||
float x,res,val; | ||
dpon = 0; | ||
//ENTRADAS GENERALES | ||
do | ||
{ | ||
error = 0; | ||
printf("Catidad de terminos de la serie de Taylor: "); | ||
scanf("%d",&n); | ||
printf("Valor de x: "); | ||
scanf("%f",&x); | ||
if (n <= 0 || x <= 0){ | ||
printf("\n[!] ERROR: Verifica tu informacion [!]\n\n"); | ||
error = 1; | ||
} | ||
|
||
} while (error != 0); | ||
//GRADOS A RADIANES | ||
printf("\n%f%c = ",x,248); | ||
// printf("\nValor Xi: %f",x); | ||
rad(&x); | ||
//printf("\nValor Xf: %f\n",x); | ||
|
||
printf("%0.10frad [aprox]\n",x); | ||
//SERIE DE TAYLOR | ||
do{ | ||
//CASO PRIMER VALOR | ||
if (band == 1){ | ||
res = 1; | ||
band = 0; | ||
} | ||
else{ | ||
//OTROS VALORES | ||
for (i = 2; i <= n; i++){ | ||
dpon = dpon + 2; | ||
val = pwr(dpon,x)/fact(dpon); | ||
if (dera == 1){ | ||
res = res - val; | ||
dera = 0; | ||
} | ||
else{ | ||
res = res + val; | ||
dera = 1; | ||
} | ||
} | ||
} | ||
cont++; | ||
} while (cont <= 1); | ||
//SALIDAS | ||
printf("\nValor aploximado con %d terminos: \n\n\tCos(%f) = %0.15f\n",n,x,res); | ||
printf("\nGracias por usar nuestros servicios."); | ||
getch(); | ||
return 0; | ||
} | ||
//GRADOS A RADIANES | ||
void rad(float *x){ | ||
*x = (*x * M_PI)/180; | ||
} | ||
//FACTORIAL | ||
int fact(int n){ | ||
int i; | ||
float f=1; | ||
for (i = 1; i <= n; i++){ | ||
f = f*i; | ||
} | ||
return f; | ||
} | ||
//POTENCIADOR | ||
float pwr(int dpon,float x){ | ||
int j; | ||
float power=1; | ||
for (j = 1; j <= dpon; j++){ | ||
power = power*x; | ||
} | ||
return power; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
//Jesús Huerta Aguilar, Javier de La Luz Ruiz, Ernesto Flores Cesareo | ||
//Programación I - Grados | ||
#include <stdio.h> | ||
|
||
float CelciusAFarenheit(float celcius){ | ||
return (celcius * 1.8) + 32; | ||
} | ||
|
||
float FarenheitACelcius(float farenheit){ | ||
return (farenheit - 32) / 1.8; | ||
} | ||
|
||
int main(){ | ||
|
||
float farenheit, celcius, total; | ||
char op; | ||
|
||
printf( "\n >>> MENU GRADOS <<<" ); | ||
printf( "\n Escoger la opcion que desee (1-2), se muestra a continuacion: "); | ||
printf( "\n (1) Para Celcius a Farenheit."); | ||
printf( "\n (2) Para Farenheit a Celcius. \n"); | ||
scanf( "%c", &op); | ||
|
||
switch (op){ | ||
case '1': | ||
printf("\n Introduzca los grados Celcius para convertir: "); | ||
scanf("%f",&celcius); | ||
total = CelciusAFarenheit(celcius); | ||
printf("\n Su conversion a Grados Farenheit es: %f ºF", total ); | ||
break; | ||
|
||
case '2': | ||
printf("\n Introduzca los grados Farenheit a convertir."); | ||
scanf("%f", &farenheit); | ||
total = FarenheitACelcius(farenheit); | ||
printf("\n Su conversion a Grados Celcius es: %f ºC", total ); | ||
break; | ||
|
||
default: printf("\n Operador no definido, intente de nuevo."); | ||
} | ||
getch(); | ||
return 0; | ||
|
||
} | ||
|
Oops, something went wrong.