| |
|
6681
|
Programación / Programación General / Re: Calcular Pi
|
en: 17 Octubre 2014, 12:16 pm
|
1) El tamaño del cálculo aritmético va a estar siempre sujeto a la limitación de las capacidades de computación del lenguaje que utilices. Probablemente vaya a estar limitado a un número no mayor de 64 o 32 Bits de almacenamiento. 2) La longitud de un String (útil ejemplo de espacio donde insinuas que quieres almacenar digito por dígito por la razón que sea), también está limitada, y puede que en la mayoría de los casos el límite sea un número muy pequeño que no supere los 65534, es decir, la capacidad máxima de un número de 16 Bits, unsigned. En otros lenguajes, llega a ser incluso menor. 3) La limitación de la capacidad de almacenamiento de un String es fácil de evitar, ya que podrías enviar y escribir los datos a un archivo de texto, y entonces podrías resetear la variable a Null para no sobrepasar el máximo límite de longitud permitido, pero esto sería una locura, ya que el tiempo necesario de lectura y escritura en el disco cuando llevases una gigantesca cantidad de digitos acumulados en el interior del archivo de texto... sería algo terrorífico e inaguantable, no lo recomiendo. 4) En Python (por ejemplo) seria muy distinto, ya que la capacidad máxima es equivalente a la memoria RAM de la que dispongas para realizar la operación, es decir, cientos de miles (sino millones) de dígitos, y de caracteres. Por lo tanto... poder, quizás se pueda llegar a un número gigantesco del valor de PI si elijes un lenguaje que te permita realizar las operaciones necesarias. De todas formas si esto te lo has propuesto por curiosidad o como reto personal pues me parece bien, pero si lo haces para intentar calcular el número más grande entonces me parece una pérdida de tiempo, ya que hay webs y ftps que recopilan millones de digitos del PI, no es necesario desarrollar un Script si ya hay alguien que lo hizo. por ejemplo, en esta página muestran los 10.000 primeros dígitos del PI: http://www.ilikepi.com/10-000-digits-of-pi/ EDITO: Perdón, escribí los ejemplos de abajo pensando mientra escribia que este post estaba publicado en la sección de programación general xD, no tiene que ver con el Scripting, pero te podría servir de todas maneras.EDITO2: Muevo el tema a Programación General, ya que la duda no está sujeta a ningún lenguaje específico. 5) Te muestro otra forma de iterar los dígitos de un valor numérico (el PI común de 16 dígitos), esto lo he escrito en VB.NET, pro lo puedes tomar como ejemplo y/o pseudo-código para otro(s) lenguajes(s), la idea básica es simplificar la utilización de un búcle de tipo While/Until y la creación de variables innecesarias de contadores (o acumuladores como tú lo denominas) siempre que el lenguaje te lo permita (como es en este caso, y en C# sería practicamente igual): For Each c As Char In Convert.ToString(Math.PI) '.Replace(","c, String.Empty) Console.Write(c) Next c
6) La forma en la que tú has planteado el desarrollo del ejercicio, traducido a VB.Net podría llevarse a cabo de la siguiente manera, la cual te la muestro por si te sirve como idea, todo depende de cuantos digitos quieras sacar del PI...: ' Estas instrucciones sirven para especificar la lozalización del formato de un String, ' para posteriormente reemplazar/eliminar el separador de decimales del número PI de la manera correcta, ' es decir, compatible con cualquier representación del separador de decimales de cualquier idioma. Dim formatProvider As NumberFormatInfo = DirectCast(CultureInfo.CurrentCulture.NumberFormat.Clone, NumberFormatInfo) With formatProvider .NumberDecimalSeparator = Microsoft.VisualBasic.vbNull End With Dim pi As String = Math.PI.ToString(String.Empty, formatProvider) Dim data As String = String.Empty Dim counter As Double = 0.0R Do Until counter = pi.Length data &= pi(counter) counter += 1 Console.WriteLine(data) Loop
Saludos.
|
|
|
|
|
6682
|
Programación / .NET (C#, VB.NET, ASP) / Re: Como borrar todas las filas de un dataGridView??? (C#)
|
en: 17 Octubre 2014, 07:31 am
|
if (dataGridView1.Rows.Count > 1) ... 1) No se reviven temas antiguos, de hace CUATRO años. 2) El tema ya quedó solucionado (y además, con la solución más correcta), ¿a que viene revivir el tema para esto?, podrías leer las respuestas de los demás antes de responder. 3) Los códigos deben ir en su respectiva etiqueta GeShi. Porfavor, lee las normas del foro. Tema cerrado.
|
|
|
|
|
6683
|
Foros Generales / Dudas Generales / Re: Propiedades que no se pueden copiar
|
en: 17 Octubre 2014, 05:44 am
|
Eso suena mas a un problema de la tarjeta de memoria..
Probablemente sean metadatos o ADS (alternate data stream) los que se pierden Efectivamente, en NTFS un archivo puede tener más de un Stream de datos, estos Streams alternativos de información se usan en paralelo para añadir propiedades adicionales en el diálogo de "Propiedades" del archivo (por ejemplo). El error comentado (o mejor dicho, el aviso) ocurre cuando se intenta copiar un archivo que contiene " Alternate Data Streams" ( ADS) desde un dispositivo NTFS, a un dispositivo que no soporta ADS, es decir: NTFS > FAT32. ¿Como solucionar esto? 1) Prueba a formatear tu dispositivo a NTFS. 2) Prueba a eliminar los ADS de los archivos, con la utilidad Streams de SysInternals, y el siguiente Batch-Scirpt: ⇲Streams by SysInternals@Echo OFF & Title Streams Tool Helper by Elektro ForFiles.exe /M "*" /C " " %ComSpec%" /C \" If /I @IsDir EQU "False" (Echo " @File" ^& ".\Streams.exe" -d " @File" ) \" "
Saludos.
|
|
|
|
|
6685
|
Sistemas Operativos / Windows / Re: Eliminar Claves de Registro en Windows 7
|
en: 17 Octubre 2014, 04:49 am
|
1) Las claves en la ruta de registro ' HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root' están relacionadas, en su mayoría, con los Drivers instalados en tu PC, así que no debes pensar en eliminar claves tan a la ligera, aunque por otro lado, en este caso no estás haciendo mal, pero de todas formas deberías tenerlo presente para el futuro. 2) Precisamente por el motivo que he commentado en el punto 1), una cuenta de usuario (aunque la cuenta pertenezca al grupo ' Administradores') no tiene permisos suficientes para eliminar esas claves, para prevenir eliminaciones intencionadas que podrían provocar graves daños en el comportamiento del SO. 3) Así como para ciertos archivos protegidos necesitas obtener permisos, para algunas claves de registro también, y esto lo puedes conseguir de varias maneras: - Desde la herramienta Regedit, haciendo click derecho sobre la clave a la que quieres modificar su propietario y sus permisos (siendo Administrador)
- Utilizando aplicaciones de terceros como por ejemplo SetACL, con las siguientes instrucciones, en consola:
Set "RegKey=HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root\LEGACY_BFILTER" ".\SetACL.exe" -on "%RegKey%" -ot "reg" -ownr "n:%UserName%" -rec "Yes" -actn "setowner" ".\SetACL.exe" -on "%RegKey%" -ot "reg" -ace "n:%UserName%;p:full" -rec "Yes" -actn "ace"
- Activando y logueandote en la cuenta oculta de usuario 'Administrador', la cual es la que mayor privilegios tiene y en la cual podrás realizar las operaciones desde esa cuenta sin preocupaciones de 'Acceso denegado'. Esta cuenta la puedes activar con este comando, en consola:
Net User "Administrador" "" /Active:"Yes"
(A diferencia del comando que te ha mencionado otro usuario arriba, si tu Windows está en Español entonces debes utilizar el nombre de usuario apropiado, "Administrador", no "Administrator") 4) Las aplicaciones con las que has intentado eliminar esa clave no son las aplicaciones más apropiadas teniendo en cuenta que ya has eliminado el AntiVirus y lo que queda son restos de la instalación, así que debes utilizar limpiadores del Registro como por ejemplo la opción de limpiar el registro que lleva integrado el CCLeaner, aunque esto no significa que vaya eliminar la clave, pero su función es buscar irregularidades en el registro como claves obsoletas, rotas, sin dueño, las que cuyo valor apunten a archivos inexistentes, etc, así que sin duda alguna un limpiador de registro te servirá más que un Anti-AdAware en este caso específico. 5) Si no te deja instalar ningún antivirus debido a que dichos antiviruses detectan el tal ' Baidu Antivirus' ya instalado, entonces no creo que el problema sea la clave que mencionas, podría existir algún servicio de 'Baidu' en ejecución, o restos de instalación en la clave que contiene la información de los programas instalados en tu PC, así que si una vez hayas eliminado la clave Legacy sigue sin dejarte instalar ningún antivirus, debes asegurarte de dos cosas: - Que no exista ningún resto de instalación de 'Baidu Antivirus' en las siguientes claves (lo puedes comprobar mirando el valor 'DisplayName' de cada clave)
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall
- Que no exista ningún servicio de 'Baidu' instalado, ni en ejecución. Esto lo puedes cmprobar examinando la lista de servicios, escribiendo este comando, en consola:
Services.msc
Si encuentras algún servicio de 'Baidui', dále Click derecho > Propiedades, copia el nombre que te indica en el campo ' Nombre de servicio', y seguidamente ejecuta estos dos comandos para detener y eliminar el servicio, en consola: (SC.exe Stop "Nombre de Servicio") && (SC.exe Delete "Nombre de Servicio")
Suerte!
|
|
|
|
|
6686
|
Foros Generales / Foro Libre / Re: Iglesia satanista eeuu manda libros infantiles pra colorear a escuelas primarias
|
en: 16 Octubre 2014, 17:46 pm
|
más bien se trata de no enseñar que hay que hacer cosas malas a los pequeños...
Exacto, si es que esto es horrible... Aunque todo esto se tratase de una simple broma (cosa que parece estar clara, esto no puede ser real...), o de una noticia falsa que quiere pasar desapercibida como noticia real para sacar de quizio tanto a Cristianos como Ateos, a mi no me hace ni p**a gracia, ya que no es que sea satánico, es que algunos de los dibujos incluso humillan y pisotean los valores humanos como el amor (¿" I tolerate you"?, por dios...), aunque el último dibujo algo de gracia tiene ya que refleja la estupidez o ignorancia o pasotismo de las personas del siglo XXI que están todo el día pegados a su móvil, pero en general no le veo la gracia por ningún lado si es una broma, sinceramente, no me ha gustado la broma ya que es fácil creer que realmente pudieran hacer un libro así y lo peor de todo, que lo permitiesen, y eso ofendería a mucha gente :-/. Saludos!
|
|
|
|
|
6688
|
Programación / Programación General / Re: que lenguaje de programación me aconsejan?
|
en: 16 Octubre 2014, 13:05 pm
|
¿Que es mas aconsejable aprender primero?Un lenguaje está definiddo y sujeto al paradigma de programación que éste soporta (y practicamente todos los lenguajes de hoy en día son multi-paradigm, están diseñados para soportar múltiples paradigmas), así que lo correcto sería empezar por aprender acerca de los distintos paradigmas de programación, aunque por otro lado, considero que no debes darle más importancia de la necesaría a ese tema, ya que por una parte aunque hayas leido sobre los conceptos, hasta que no llegues a la práctica no se puede apreciar y entender claramente las diferencias si nunca has utilizado un lenguaje de programación, en ese caso el entendimiento no se consigue leyendo conceptos, se consigue descubriendo las diferencias en la práctica, y segundo, porque hoy en dia los más populares y usados lenguajes son multi-paradigma (exceptuando algunos pocos) y el paradigma que predomina generalmente y mundialmente en lo referente al desarrollo de aplicaciones me atrevería a decir que es el POO/OOP (Programación Orientada a Objetos/Object Oriented Programming), sin haber echo una comparación estadística sobre ello. ¿Por qué?En mi opinión, porque primero se debe aprender y conocer el/los concepto(s), y luego decidir la herramienta para llevar a cabo el desarrollo sujeto a ese estilo específico de programación, no se debería hacer al revés, ya que podrías cometer una elección erronea del lenguaje que vas a utilizar y luego arrepentirte para volver a empezar desde Cero. ¿Que lenguaje escojer?C#, C++, o VB.Net, cualquiera de ellos (entre muchos otros) serían una elección perfecta, yo solo nombré mis lenguajes favoritos (y no en ese orden), pero realmente la elección de un lenguaje debe depender de las necesidades y metas que tengas a la hora de programar, pues no es lo mismo desarrollar una simplista aplicación gráfica para Windows con un par de botones para llevar a cabo una tarea cotidiana, que una compleja aplicación Web son soporte para la manipulación de bases de datos, o un Driver para un dispositivo de Hardware (por decir algo), así como también debería depender de la plataforma para la que pienses programar, y sin olvidarnos de la importancia que se le debe dar también a la comodidad que te transmitan algunos factores distintivos del lenguaje, como por ejemplo su sintaxis, sus capacidades/límites, y su facilidad de uso en tu entorno. ⇲ Aquí puedes ver una tabla comparativa de los paradigmas que soporta cada lenguaje: Comparison of multi-paradigm programming languages¿Conclusión?Mi conclusión sería que, debes aprender sobre los distintos paradigmas de programación, pero no debes basar la elección del lenguaje unicamente en ese aspecto, ya que hay otros aspectos que ya he comentado los cuales son igual o más importantes, al fin y al cabo una vez elijes un lenguaje tienes que adaptarte a su modo de empleo, sus reglas. PD: Respecto a estas cuestiones en general, porfavor, utiliza el buscador del foro, este tema de orientación sobre lenguajes de programación se ha preguntado y respondido cientos de veces en el foro. Saludos
|
|
|
|
|
6689
|
Programación / Programación General / Re: Perl, Python o Ruby
|
en: 16 Octubre 2014, 12:41 pm
|
Tengo entendido que Ruby es mas para páginas web pero he notado que es sencillo y de buena sintaxis Para páginas web es Ruby On Rails (lo que se conoce como Rails) ya que es el que lleva un framework WAF (web application framework) para el desarrollo de páginas, servicios y aplicaciones web. Respecto a la sintaxis de Ruby, siempre depende de gustos, pero eso es lo mismo que yo percibí cuando descubrí este magnifico lenguaje hace años, para mi no tiene nada que hacer contra un inproductivo Python debido a su elevado grado de restricción en lo referente a su sintaxis, esto solo consigue hacer perder mucho tiempo en el desarrollo general del Script, repito, para mi, ya que es una cuestión de gustos y nada más. Me gustaría saber según su experiencia y opiniones personales cual lenguaje se adecuaría mas a lo que quiero, osea el mundo del Software En otras circunstancias, de entre los 3 lenguajes que has nombrado, yo te recomendaría Python, pero si estás más cómodo con la sintaxis de Ruby entonces te va a ocurrir como a mi, que vas a ser más productivo manejándote con Ruby y posiblemente no vayas a notar la necesidad de usar Python para llevar a cabo ninguna tarea específica. Ahora, respecto al aprendizaje y utilizicación de un lenguaje en Linux y para desarrollar aplicaciones (con interfaz gráfica, que imagino eso lo que querrás), pues debo decir que hace siglos que no manejo Linux, pero yo no elegiría ninguno de los que has mencionado, puedes ir diréctamente a C++ con la IDE que prefieras (ej: CodeBlocks) y junto al framework que preieras ( ej: GTKMM, Qt, etc... ) Y por último, respecto a este tipo de cuestiones... en un principio no iba a contestar a tu pregunta al igual que a la otra pregunta parecida que han publicado hace poco, ya que la obligación de un usuario es usar el buscador del foro para hallar respuesta a preguntas típicas que se han preguntado y respondido cientos de veces, pero habia un detalle que aclarar en tu duda, y además he encontrado tu pregunta algo distinta del resto. Ten eso presente para el futuro, usa el buscador del foro. EDITO: Este tema reciente quizás te podría servir para ayudarte en la elección de un lenguaje: http://foro.elhacker.net/programacion_general/que_lenguaje_de_programacion_me_aconsejan-t423039.0.htmlSaludos!
|
|
|
|
|
6690
|
Programación / .NET (C#, VB.NET, ASP) / Re: Centralita Avaya
|
en: 16 Octubre 2014, 12:01 pm
|
que es lo que nesesitas ? No creo que después de 4 años el usuario pueda seguir necesitando ayuda... además, su última conexión al foro fue hace un año. Porfavor, lean las fechas del último comentario antes de postear, revivir temas antiguos incumple las reglas del foro. Tema cerrado.Saludos!
|
|
|
|
|
|
| |
|