Академический Документы
Профессиональный Документы
Культура Документы
RPOGRAMACION 1
Laboratorio de programación
taller final
#include <iostream>
using namespace std;
int main()
{
int n,i;
long double factorial; //
cout << "Introduce un numero: ";
cin >> n;
factorial=1;
for(i=1;i<=n;i++)
factorial = factorial * i;
cout << endl << "Factorial de " << n << " -> " << factorial << endl;
system("pause");
}
3.Modifique el programa del punto anterior y calcule el factorial del numero utilizando
una función
#include<stdio.h>
#include<conio.h>
int main()
{
int fac=0;
printf("Ingresa numero para calcular el factorial ");
scanf("%d",&fac);
int temp=fac-1;
int r=fac;
while (temp>=1)
{
r=r*temp;
temp--;
}
#include
#include
void main(){
int cont,i,num;
printf("Valor: ");
scanf("%d",&num);
i=num;
cont=1;
num=1;
do
{
num=num*cont;
cont++;
}
while(cont<=i);
printf("Factorial de %d = %d",i,num);
}
#include
using namespace std;
int factorial(int n) {
if(n < 0) return 0;
else if(n > 1) return n*factorial(n-1);
return 1;
}
int main(void) {
int numero;
cout<<"ingresa un numero: ";
cin>>numero;
cout<<"Factorial de "<;
}
#include <stdio.h>
int factorial(int n);
int factorial(int n)
{
int i, /
producto = 1;
/* Calcula el producto n*(n-1)*(n-2)*...*2*1 */ for (i=n; i>1; --i){
producto *= i;
}
return (producto);
}
int main(void)
{
int num, fact;
printf("Dar un entero entre 0 y 10> ");
scanf("%d", &num);
if (num < 0) {
printf("El factorial de un numero negativo (%d) es indefinido\n", num); }
else if (num <= 30) {
fact = factorial(num);
printf("El factorial de %d es %d\n", num, fact);
}
else {
printf("Numero fuera de rango: %d\n", num); }
return (0); }
8. En INGENIERIA QUIMICA se utilizó el diseño factorial de experimentos para la preparación
de partículas de quitosano cargadas con la hormona vegetal ácido 1,3-indolacético (AIA) y
posteriormente estudiar la liberación controlada en agua. Las partículas de quitosano
cargadas se prepararon disolviendo la hormona y el quitosano en ácido acético haciéndose
gotear luego en solución de NaOH con agitación constante. Se utilizó el Diseño Factorial 23
cuyos factores a estudiar fueron: la concentración de quitosano (% quitosano), tiempo de
gelación en NaOH (tiempo en NaOH) y concentración de tripolifosfato de sodio (TPP) (% de
TPP). Como respuesta se obtuvo la cantidad de hormona liberada en dos horas, medida
espectrofotométricamente a 285 nm. Los resultados del diseño experimental indicaron que
los tres factores influyen en la cantidad liberada de AIA en dos horas, en donde a mayor
concentración de quitosano aumenta la velocidad de liberación, mientras que a mayor
concentración de TPP y mayor tiempo de gelación en NaOH disminuye la velocidad de
liberación.
función y prodecimiento
parámetros por valor y parámetros por referencia
variables locales y variales globales
las semejanzas
Las diferencias
Las funciones sólo pueden retornar un único valor, los procedimientos más de uno.
Aunque esto es lo que establece la teoría, en la práctica puede hacerse que las funciones
devuelvan más de un valor mediante el paso de punteros como parámetros por valor, cada
uno de los cuales puede apuntar a la dirección de memoria inicial de una estructura de
datos compleja, tal como un arreglo o un registro. Puesto que en la mayoría de los lenguajes
solamente se permite devolverse un único valor (el especificado en la
declaración/definición de la función) este truco permite al programador mayor versatilidad
sin violentar las reglas sintácticas del lenguaje mismo. Otra manera de saltarse esta
limitante es empleando variables globales, aunque se aconseja documentar bien cada
instrucción donde se utilicen así como mantenerlas bajo estricta supervisión para evitar
efectos colaterales.
Las funciones sólo aceptan parámetros de entrada. Los procedimientos aceptan tanto
parámetros de entrada como de entrada/salida.
Esta diferencia es fundamental y se relaciona con la anterior. Le confiere a los
procedimientos más generalidad y versatilidad, como se menciona en la siguiente
diferencia.
Una función debe especificar el tipo de dato a devolver. Los procedimientos no.
Al declarar/definir una función es obligatorio incluir el tipo de dato que dicha función
devolverá a su punto de llamada. Esto es muy importante, puesto que la variable, función
o expresión que reciba el valor devuelto por la función llamada deberá ser capaz de manejar
el tipo de datos que esta última produzca. En caso contrario se obtendrá el típico error
"Type mismatch" (Tipos no concuerdan) en tiempo de compilación o ejecución.
Las funciones se destinan para realizar una única tarea. Los procedimientos para más de
una.
Esta restricción está orientada más para favorecer el estilo y mantener simple el diseño de
los programas. El asegurar que una función realice una única cosa favorece además la
depuración y el mantenimiento. En la práctica puede hacerse que una función haga más de
una cosa, pero no se recomienda por las ventajas antes mencionadas. Los procedimientos,
por otro lado, puesto que son más generales y pueden devolver más de un valor a su punto
de llamada a través de los parámetros de entrada/salida (parámetros por variable en Pascal)
a menudo se les recarga con más de una tarea.
Las funciones deben ser cortas. Los procedimientos suelen ser largos.
Dado que las funciones se utilizan para tareas específicas y puntuales, éstas suelen ser
cortas. Las buenas prácticas de programación recomiendan que una función no sobrepase
las dos pantallas de texto a fin de que pueda ser manejable y se mantenga simple. Más allá
de esta medida debe considerarse su fragmentación en dos o más subfunciones. Los
procedimientos en cambio, puesto que podrían incorporar otras funciones y
procedimientos y actuar como módulos o clases dentro de un programa, suelen extenderse
varias páginas. Sin embargo, más allá de 10 suele llevar a considerar seriamente su
fragmentación o refactorización a fin de mejorar el diseño y favorecer la depuración y el
mantenimiento.
Variable local: es aquella que sólo es utilizable dentro del código de la función.
Variable global: es aquella cuyo ámbito es todo el programa, incluso dentro de una
función.
Dicho de otro modo:
Una variable declarada dentro de una función es una variable de tipo local que sólo
existe dentro del contexto de la función. Por contrapartida, una variable global tiene un
ámbito de todo el programa (incluso dentro de las funciones). Esto quedará claro con
este ejemplo:
En este ejemplo queda claro que la variable iParcial (local) y la variable iParcial (global)
son dos variables diferentes.
La función actualiza la variable local y esto produce que la suma iTotal + iParcial no
diese el valor correcto (2320).