La derivada de la función int main(argc, char* argv[]) es igual a cero.

Iniciado por massif.exe, 11 Julio 2021, 10:46 AM

0 Miembros y 1 Visitante están viendo este tema.

massif.exe

DEMOSTRACION:
1. int main(argc, char* argv[])
2. (char* argv[] ∈ R) ∧ (argc = (argc(char* argv[]) ∈ R))
3. ∴ int main(Ac, B* Av[]) ∈ R ∧ ((d / d-argv[])(int main(Ac, B* Av[])) = 0

¿Cuál piensas tú que debería de ser el parámetro correcto sobre el cual se derive la función int main(argc, char* argv[])? 

fzp

Creo que la cuestión está mal planteada y ni siquiera existe una derivada de la función main.

Cita de: massif.exe en 11 Julio 2021, 10:46 AM
2. (char* argv[] ∈ R) ∧ (argc = (argc(char* argv[]) ∈ R))

char* argv[] ∈ R ==> FALSO: ni siquiera es char* argv[] ∈ Z, sino:
char* argv[] ∈ subconjunto de Z

argc = (argc(char* argv[]) ∈ R) ==> idem eadem idem

Cita de: massif.exe en 11 Julio 2021, 10:46 AM
3. ∴ int main(Ac, B* Av[]) ∈ R

int main... int, int, int...
Está claro que main  ∈ R es FALSO. Como en los casos anteriores ni siquiera pertenece a los números enteros sino a un subconjunto de ellos (los que la máquina y el compilador en cuestión sean capaces de gestionar).

Ahora bien, una derivada no es más que un límite de un cociente. Pero la división en en el conjunto Z -y por ende en un subconjunto de él- no está definida. En general el cociente entre dos números enteros no tiene porqué existir y ser otro número entero. Por tanto, si no puede definirse -en general- la operación cociente o división como una función interna en Z, no puede definirse la función derivada en Z; ni en un subgrupo de Z.

De tal forma carece de sentido hablar de derivada de la función main.

massif.exe


fzp

Como si quieres hacerlo double main (), o ya puestos void main ().

Hay muchas cuestiones. Por citar sólo algunas:

- Habías hecho un silogismo (encadenamiento de razonamientos). Te fijas sólo en el último eslabón de la cadena. Según tu ¿razonamiento? otro eslabón era:
char* argv[] ∈ R
y otro más era:
argc = (argc(char* argv[]) ∈ R)
...
A ver como justificas que punteros a char... en realidad punteros a-lo-que-sea (que eso me da igual) puedan ser números reales... :silbar:
Porque un puntero es y siempre será un entero, y un cociente entre punteros (por aquello de que una derivada es un límite de cocientes)... ¡cualquiera sabe qué cosa podrá ser!.

Y se supone que esos planteamientos formaban parte de tu cadena de razonamiento. Si falta un eslabón la cadena se rompe... y no has justificado esos eslabones (y me da que no vas a poder). Sólo te has fijado en el último de main, pero en tu razonamiento todos los eslabones tienen que ser ciertos si quieres que la conclusión lo sea.

Pero ya puestos...

Que una función de un lenguaje (C) pueda devolver un número real... no significa que esa función SEA un nº real. De hecho no es más que una aproximación numérica a un nº real.

Ya puestos. En realidad no has definido qué cosa pueda ser una derivada de una función de un lenguaje de computación. Que éso y no otra cosa sería una "derivada" de la función main (). Lo has tratado de identificar con lo que es una derivada en R o, si empezamos a meternos con R2, R3, etc. con sus derivadas parciales, etc, con lo que serían funciones de Rn en Rm, pero mientras que esas cosas están perfectamente definidas en matemáticas lo que son, como son y como se calculan, tu derivada de "una función de lenguaje de programación C"... ¡no está definida en ninguna parte! Así que tendrias que empezar por definir qué entiendes por tal cosa.

Primero tendrías que definir un espacio (bueno primero un conjunto ya veríamos si tendría caracteristicas de espacio) de "funciones del lenguaje C". Después definir las operaciones dentro de ese espacio y/o con otros espacios; como definir qué cosa pueda ser un cociente entre funciones de C o cociente entre una función C y un nº (ya sea éste real, entero, natural, complejo...), después qué pueda ser un límite en esos términos, por ejemplo un límite entre dividir una función de C y otra función de C... todo ello con sus correspondientes teoremas de existencia de los resultados de esas operaciones... y finalmente definir qué cosa sería una derivada en ese espacio de funciones de C. Definir el concepto de "cero" en ese espacio -que no sería igual al cero de los números reales, al cero complejo, al cero en Rn, etc...- y demostrar que el cero de ese espacio es isomorfo con cualquier otro cero de otro conjunto conocido.

Y unas pocas de cosas más.
...
La verdad, no te envido la tarea...  ::)

Y si lo consigues te lo  juro por mis niños que yo mismo te propongo para Premio Abel y te llevo a hombros y de rodillas hasta la sala de entrega de premios.

massif.exe

#4
Simplifiquemos las cosas:

La función int main(int argc, char *argv[ ]), por lo general, devuelve uno de dos valores enteros, el 0 o el 1. Es decir:


  • int main(int argc, char *argv[ ]) = 0
o
  • int main(int argc, char *argv[ ]) = 1

Sin embargo, podría regresar cualquier otro número entero. En esencia, esta función siempre devuelve un valor numérico constante y la derivada de cualquier función constante es igual a cero.

          d
---------------- (int main(int argc, char *argv[ ])) = !1
d(char *argv[ ])

fzp

Hombre, es que eso es de perogrullo. Para ese viaje no hacían falta tantas alforjas. Además éso es solamente si tu construyes tu funcion main de manera que siempre regrese lo mismo. Pero no es el caso general. Como bien dices podría regresar cualquier otro valor.

Yo pensaba que te referías a una función en que a pares distimtos corresponderían valores distintos:
argc1, *argv[ ]1 ----> main1
argc2, *argv[ ]2 ----> main2
argc3, *argv[ ]3 ----> main3
...

Que además es el caso general. Y si pretendes dar una definición de algo (en este caso una derivada) en matematicas debes hacer una definición general.

La derivada de funciones reales de variable real están definidas para todo el espacio de funciones y = f(x) ---> dy/dx.

Si haces una definición de derivadas sólo para las funciones y = k; k = constante... ¿eso de qué te vale?  :o

Tú en general tendrás funciones:
main = f[argc, *argv]
Y para esa función general es para la que tendrías que definir lo que quiera que fuese una derivada.

massif.exe

#6
CitarSi haces una definición de derivadas sólo para las funciones y = k; k = constante... ¿eso de qué te vale?  :o
En ingeniería aeronáutica y en casi todas las ingenierías que utilizan máquinas, ya sea como parte del área de innovación tecnológica o el área que utiliza estas máquinas para producir capital, las funciones constantes representan condiciones de estabilidad en dichas máquinas. Por supuesto que en los diferentes campos de estudio de la ingeniería existen otras funciones representativas de los modelos respectivos a cada campo que no son constantes y también representan un beneficio para el dispositivo ya fabricado o que está en fase de serlo.

¿Tú cómo definirías una derivada aplicada a este mundo que ustedes manejan? ¿Cómo llamarías a ese mundo?

DEFINICION DE FUNCION DE COMPUTADORA
LLEVADA AL CALCULO DIFERENCIAL E INTEGRAL
-------------------------------------------------------------------------------------
(argc₁, argv[ ]₁) = main₁
(argc₂, argv[ ]₂) = main₂
(argc₃, argv[ ]₃) = main₃ = [main = f(argc, *argv)]
                   .
                   .
                   .
-------------------------------------------------------------------------------------

(main)' = f'(argc, *argv) \( ̄︶ ̄*\))

fzp

No no. El que tiene que definir lo que sería una derivada en ese espacio eres tú, que fuiste el que lo propusiste, y además diiste que era igual a cero. Yo precisamente lo que he hecho es advertirte de que ---no tiene sentido/no es posible--- definir una derivada en ese entorno.

Seguro que en ingeniería aeronáutica, y me atrevería a decir que en ninguna otra, existen funciones de:

(un subconjunto de naturales de 0-255) x (un subconjunto de naturales -VER NOTA-) ----> (un conjunto extraño -ver NOTA 2-)

NOTA: el subconjunto dependerá de la memoria del ordenador y de como la gestione el compilador y el SO. Por ejemplo pongamos que empieza en (decimal) 4.096 y termina en 4.096.000.000.000.

NOTA 2: la función main () puede devolver cualquier cosa, segun como esté construída. Incluso podría devolver un dato tipo struct con enteros char, enteros grandes, reales, arreglos de char, arreglos de cadenas, punteros, arreglos de punteros...  ::) Pero incluso ciñéndonos a que devolviera reales.  Eres tú quien debe definir qué cosa seria una derivada -y con respecto a qué- en esas funciones.

El caso es que tú has querido asimilar el concepto de derivada de una función real de variable real a una función de un lenguaje de programación (C en este caso). Y no hay asimilación posible.

Es más, el caso de la derivada de una función = constante no tiene aquí cabida. Porque eso no es un axioma; es un resultado.  En las funciones de R --> R se definen las funciones en general, los límites de funciones en general, y las derivadas de funciones en general,... y sólo luego se concluye que, en particular, las derivadas de funciones constantes son igual a cero. Tú no puedes usar ese resultado de las funciones de R --> R para algo que ni siquiera has definido: lo que fuera o fuese una derivada de una función entre esos conjuntos extraños que te señalé más arriba.

Primero define qué cosa sería una función en ese conjunto, luego define lo que sería un limite, y ya para rematar define lo que sería una derivada. Y creo que te va a costar mucho...  :silbar:

Porque, para empezar, los conjuntos de partida son discretos, no contínuos. No puedes definir un límite cuando se tiende a infinito porque los dos conjuntos (recordemos, el del conjunto de caracteres y el de punteros a memoria) son finitos y están acotados superiormente.

Tampoco puedes definir un límite cuando se tiende a un elemento de cualquiera de ellos porque entre un punto y otro -de esos conjuntos- no hay infinitos puntos como en en R, R2, R3... Rn. Entre el carácter 67 y el 68... ¡no hay nada! Al igual que entre la posición de memoria 3F6AB3 y la 3F6AB4... ¡no hay nada! A ver cómo carajo defines un límite.

Creo que la confusión viene de intentar equiparar el significado de  la palabra función con diferentes significados en diferentes ámbitos.

Para terminar y relajar un poco, una pequeña broma, jugando con el significado de la palabra "función" en informática, matemáticas y el lenguaje ordinario:

No es lo mismo una función del lenguaje C que una función matemática, las dos son funciones, pero no ejercen la misma función.  :xD

PARA LOS MODERADORES:
creo que este hilo se debería cambiar al Foro Libre. En realidad sería una cuestión propiamente matemática. Sólo circunstancialmente se habla de la función main () de C, pero no para dilucidar problemas relacionados con el lenguaje de programación, sino para elucubrar sobre propiedades, dentro del ámbito matemático, de la misma.