Autor |
Mensaje |
Huey 7
Nivel 6
Registrado: 03 Mar 2010
Mensajes: 267
Carrera: Electrónica
|
|
Language wars!
_nacho_ escribió:
|
Además, llevándolo un poco más lejos: supongamos que quiero hacer el mismo programita pero con números complejos. En Fortran solo tengo que cambiar el tipo de datos real por el tipo de datos complex, que también es intrínseco [...] En C tenés que usar alguna biblioteca y encima la sintaxis es una gadorcha (porque no tiene sobrecarga de operadores). Es C++ podés hacer algo un poco más elegante (o usar algo que hizo otro), pero igualmente no es tan simple como agarrar un lenguaje en el que el tipo de datos complejo ya existe.
|
koreano escribió:
|
[offtopic^2] C++ tiene numeros complejos [/offtopic^2]
|
Y siguiendo el terrible offtopic: C supuestamente también tiene complejos[1], pero no sé qué tan bien funciona su implementación. El ejemplo reescrito para operar con complejos [2]:
Código:
|
#include <stdlib.h>
#include <tgmath.h>
#define N 100000000
int main(){
for (int i = 0; i < N; i++){
double a = (double)rand()/RAND_MAX;
double complex c = a + a*I;
double complex b = pow(c, 2);
}
return 0;
}
|
Habría que ver qué tan eficientemente lo ejecuta GCC, por ejemplo. Pero es implementation issue, not language issue . Y, obviamente, ahora me voy a votar por programas en C++tron.
[1] #if __STDC_VERSION__ >= 199900L && !defined(__STDC_NO_COMPLEX__)
[2] Aunque seguramente, para elevar al cuadrado, c * c ande mejor que pow(c, 2).
|
|
|
|
_________________
|
|
|
|
|
Torbellino
Nivel 9
Edad: 37
Registrado: 29 May 2006
Mensajes: 1742
Ubicación: Congreso
Carrera: Electrónica y Informática
|
|
Sebastian Santisi escribió:
|
Sobre lo de que se usa para mantener cosas viejas, not true. En grupos de Física, Química, Ingeniería y demases, donde no saben programar, forman a los nuevos en continuar la práctica ancestral de programar en Fortran. La excusa es "es un lenguaje pensado para programar matemáticas", donde es una frase que se remite a 1950, cuando existían COBOL, Lisp y Fortran y entre esos 3, Fortran era el que tenía ese objetivo.
|
Entiendo tu punto de que es ridículo usarlo para software nuevo pero que aún así se sigue usando por tradición. Pero sí se usa para cosas viejas. Recuerdo a Menéndez (numérico 2) contando cómo desempolvaron un software en Fortran que les andaba bárbaro, y con una leve modificación lo usaron creo que para el canal de Panamá. También contaba que se querían matar de tener que ver ese código de nuevo, por supuesto. Que pensaron en reescribirlo, pero les resultó mejor modificar el que ya estaba hecho.
Tampoco hay que ser tan fundamentalista :-P
|
|
|
|
_________________
No hay vuelta atrás...
Spike Spiegel escribió:
|
Por un lado se celebran las hazañas de San Martín, Bolivar y demases, la reforma de 1918, el cordobazo y otras tantas en Argentina, Latinoamérica y el mundo entero. No sé cuántos habrán llorado mirando Braveheart al grito de FREEDOM de Wallace y dicho "cuántos huevos, viejo", tenido ganas de cambiar el mundo cuando terminaron de ver V for Vendetta o celebrado toda la ficcionaria justicia que solía hacer El Zorro.
Y sin embargo...
"Ay, no, violencia no. Ay, no, corte de calle, no. Ay, no, piden democracia pero son antidemocráticos con sus métodos. Ay, no, a la facultad se viene a estudiar"
¡PERO QUÉ MANGA DE PUTOS!
|
|
|
|
|
|
Sebastian Santisi
Administrador Técnico
Edad: 42
Registrado: 23 Ago 2005
Mensajes: 17451
|
|
koreano escribió:
|
[offtopic^2] C++ tiene numeros complejos [/offtopic^2]
|
C también, en el ANSI '99.
BTW, adhiero a la opinión de que lenguaje != biblioteca.
Torbe, nadie dice nada al respecto de que si tenés algo implementado lo uses como viene. En el IFRH2012 recuerdo que gente del grupo de Menéndez estaba presentando un trabajo que habían desarrollado usando MOHID. MOHID es un buen ejemplo de programa escrito por hidráulicos en lo que sabían; son miles de líneas de códigos de OOP con Fortran.
Como el MOHID te puedo citar otros ejemplos de solvers numéricos bastante modernos escritos en versiones nuevas de Fortran, donde no queda muy claro que estuvieran atados al lenguaje por cuestiones históricas. MOHID en particular es un modelo que arranca en el '85, cuando lo más nuevo que había en Fortran era la versión 77. El gran volumen de lo que implementa hoy, es código posterior a la decisión de reescribirlo con OOP que toma Paulo Leitão hace no más de 10 años.
Mi ejemplo de lenguajes a los que le metieron OOP por la ventana viene porque siento lo mismo cuando veo a alguien desarrollando, por ejemplo, en Visual Basic con objetos. Y no estamos hablando de performance; VB.NET tiene más o menos la misma performance que C#.NET; hablo de atarse a un lenguaje que ya es totalmente disfuncional.
(Vale la aclaración, no defendí ni jamás defendería C++.)
|
|
|
|
_________________
|
|
|
|
|
Barrett
Nivel 8
Edad: 40
Registrado: 10 Jul 2005
Mensajes: 635
Ubicación: Ramos Mejia
Carrera: Química
|
|
Volviendo al tópico, creo que lo que le están pidiendo no es calcular la cúbica (cosa que es muy sencilla); lo pedido son los puntos críticos de una mezcla binaria. En este paper explican un método:
http://redalyc.uaemex.mx/pdf/944/94403407.pdf (usan Fortran si quieren saberlo).
En el libro de Prausnitz y "Termodinámica molecular de los equilibrios de fases" había algún otro método también.
Magicum, si tu universidad tiene acceso a journals de Elsevier, fijate en el Fluid Phase Equilibria que vas a encontrar mucha información útil.
|
|
|
|
|
|
|
|
|
magicum
Nivel 5
Edad: 35
Registrado: 17 Sep 2012
Mensajes: 130
Ubicación: Mexico
Carrera: Química
|
|
Gracias Barrett
Como que todos se habia salido del tema principa ja ja ja ja
Ya he programado la RK en Dev C++ Que es gratuito y ademas me parece buen compilador. ahora el tema es para la mezclas binarias, supongo que tengo que trabajar mas en eso estoy buscando informacion y la tuya me parecio bastante buena.
Gracias!!!!
Posdata mi universidad no tiene Acceso pero espero que me puedan iluminar mas acerca del tema.
|
|
|
|
|
|
|
|
|
magicum
Nivel 5
Edad: 35
Registrado: 17 Sep 2012
Mensajes: 130
Ubicación: Mexico
Carrera: Química
|
|
Aqui mi codigo
#include iostream.h
#include conio.h
#include math.h
void main(){
double p,r,a,b,v,t;
cout<<BIENVEIDOS>";
cin>>r;
cout<<Ingrese>";
cin>>t;
cout<<Ingrese>";
cin>>v;
cout<<Ingrese>";
cin>>b;
cout<<Ingrese>";
cin>>a;
cout<<endl;
p=((r*t)/(v-b))-(a/((t^0.5)*v*(v+b)));
cout<<"El resultado es P="<<p;
getch();
}
Espero que me sigan ayudando un poco mas ahor para mezclas binarias
|
|
|
|
|
|
|
|
|
|
Ir a página Anterior 1, 2, 3
|
Ver tema siguiente
Ver tema anterior
Podés publicar nuevos temas en este foro No podés responder a temas en este foro No podés editar tus mensajes en este foro No podés borrar tus mensajes en este foro No podés votar en encuestas en este foro No Podéspostear archivos en este foro No Podés bajar archivos de este foro
|
Todas las horas son ART, ARST (GMT - 3, GMT - 2 Horas)
Protected by CBACK CrackerTracker365 Attacks blocked.
|