Entradas etiquetadas con Ejemplo
Variaciones: Sucesión de Fibonacci
17 jul
Pasando el tiempo, me dio por leer un poco sobre la Sucesión de Fibonacci. Gracias a ello, hice en Python dos formas para realizar esta sucesión
No siendo más, aquí os las dejo:
from math import sqrt, pow def f(x): return ((1/sqrt(5))*pow(((1+sqrt(5))/(2)),x)-(1/sqrt(5))*pow(((1-sqrt(5))/(2)),x))
from math import sqrt, pow a = 1.61803398874989 f = lambda x: (pow(a,x)- pow(-a,-x))/ sqrt(5) for i in range(25): print f(i)
Y en menos líneas…
from math import sqrt, pow a = 1.61803398874989 for i in range(25): print (lambda x: (pow(a,x)-pow(-a,-x))/sqrt(5))(i)
Bloc de notas en C++ Builder
14 may
Estaba aburrido, no tenía nada que hacer, así que me puse a programar algo en C++.
Éste es un bloc de notas sencillo, pero con las funcionalidades esenciales. Perdonen si hay errores o si el código no está completamente optimizado, pues no programo mucho en este lenguaje.
Espero sirva de base o mejor dicho de ejemplo.
Programado en: Borland C++ Builder
Descargar: Box.net – Notepad(C++).rar
Tablas de multiplicar
13 abr
Bueno, este principalmente es un código publicado por Javier (JaAViEr), en el cual hace una tabla de multiplicar usando el bucle while en C++. Me pareció interesante aunque realmente su uso no es muy funcional, pero divierte un poco.
Dejaré la aplicación original en C++ y pondré unas traducciones que hice a otros lenguajes.
- C++ (Original by Javier)
#include <iostream> using namespace std; int main() { int n,t,x=0; cout << "Ejemplo: Empezar:2 - Terminar: 10" <<endl; cout << endl << "Numero a Empezar > "; cin >> n; cout << "Numero a Terminar > "; cin >> t; while (x<=t){ cout << n << "x" << x << "=" << x*n <<endl; x++; } }
y aquí mis traducciones :
- Pascal
program project1; {$mode objfpc}{$H+} uses {$IFDEF UNIX}{$IFDEF UseCThreads} cthreads, {$ENDIF}{$ENDIF} Classes { you can add units after this }; var N,T:Integer; X:Integer=0; {$IFDEF WINDOWS}{$R project1.rc}{$ENDIF} begin Writeln('Ejemplo: Empezar:2 -> Terminar:10'); Write('Numero a empezar > '); Readln(N); Write('Numero a terminar > '); Readln(T); while X<=T do begin Write(N,'x',X,'=',x*N,' '); Inc(X); end; end.
- Python (Soy novato en él, así que perdonen errores…)
print("Tabla de multiplicar") X = 0 N = input("Introduzca el numero a iniciar > ") T = input("Introduzca el numero para finalizar > ") while X <= T: print N,"x",X,"=",X*N," " X += 1
- Ruby (Ni hablar apenas aprendí hoy, xD)
print 'Tablas de multiplicar' print 'Introduzca el numero a iniciar > ' Num = gets.chomp print 'Introduzca el numero para finalizar > ' Ter = gets.chomp X = 0 #Bucles N = Num.to_i T = Ter.to_i while X <= T print N,'x',X,'=',N*X,' ' X += 1 end
Agrego la traducción a Java gracias a Jh0uBrt.
import java.io.*; public class Mult { public static void main(String[] args) throws IOException { BufferedReader linea = new BufferedReader( new InputStreamReader(System.in)); System.out.println("Tabla de Más >
Calcular el factorial de un número
4 abr
Bueno, aclararles que no soy para nada un fan de VB, y tampoco es que me la lleve muy bien con él, pero en fin…Cuando toca hacer trabajos o actividades en determinado lenguaje no queda más alternativa ¿no?.
Esta función hace poco la expuse aquí en ObjectPascal, ahora hice una traducción a Visual Basic, un poco tosca pero es lo que hay, xD.
' --------------------------------------- '|---------- Función Factorial ----------| '|-- Calcula el factorial de un número --| '|--------- Autor: .:WindHack:. ---------| '|-- Sitio Web: http://daw-labs.com ---| ' --------------------------------------- Public Function Factorial(Num As Double) As String Dim I As Integer If Num >= 170 Then Factorial = "Numero Infinito..." Else For I = 1 To Num - 1 Num = Num * I Factorial = Num Next End If End Function
Con “recursividad”:
Public Function FactorialR(Num As Double) As Currency If (Num > 0) Then FactorialR = Num * FactorialR(Num - 1) Else FactorialR = 1 End If End Function
Saludos,
Obtener nombre de ventana activa [VB]
4 abr
Esta es otra función muy parecida a la anteriormente mostrada en Delphi -> La pueden ver aquí. Programada por mi amigo y compañero The Swash.
'----------------------------------------------------------- ' Function : [GetTitleActiveApp] ' Type : [SNIPPET] ' Autor : [The Swash] ' DateTime : [31/03/2010] '----------------------------------------------------------- Option Explicit 'User32 Lib Apis Private Declare Function GetForegroundWindow Lib "user32" () As Long Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Integer, ByVal lParam As Any) As Long 'SendMessage Constants Const WM_GETTEXT = &HD Const WM_GETTEXTLENGTH = &HE Public Function GetTitleActiveApp() As String Dim hRet As Long Dim hSpace As Long Dim sBuffer As String hRet = GetForegroundWindow If hRet <> 0 Then hSpace = SendMessage(hRet, WM_GETTEXTLENGTH, 0&, 0&) + 1 If hSpace > 0 Then sBuffer = Space$(hSpace) Call SendMessage(hRet, WM_GETTEXT, hSpace, sBuffer) End If End If GetTitleActiveApp = Trim(sBuffer) End Function
Un ejemplo de llamada puede ser:
MsgBox GetTitleActiveApp
Notepad en GNU/Linux – Lazarus
31 mar
Estaba instalando el Lazarus en mi PC, y apenas finalizó la instalación me dió por estrenarlo programando un Notepad sencillo.
(* Programado por .:WindHack:. The Notepad GNU... Fecha de COmpilacion: 09 - 19 - 2009 IDE: Lazarus *) unit Unit1; {$mode objfpc}{$H+} interface uses Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs, Menus, StdCtrls, ActnList,unit2; type { TForm1 } TForm1 = class(TForm) MainMenu1: TMainMenu; MenuItem11: TMenuItem; MenuItem9: TMenuItem; MText: TMemo; MenuItem1: TMenuItem; MenuItem10: TMenuItem; MenuItem2: TMenuItem; MenuItem3: TMenuItem; MenuItem4: TMenuItem; MenuItem5: TMenuItem; MenuItem6: TMenuItem; MenuItem7: TMenuItem; MenuItem8: TMenuItem; Open: TOpenDialog; Save: TSaveDialog; procedure FormCreate(Sender: TObject); procedure MenuItem10Click(Sender: TObject); procedure MenuItem11Click(Sender: TObject); procedure MenuItem2Click(Sender: TObject); procedure MenuItem4Click(Sender: TObject); procedure MenuItem6Click(Sender: TObject); procedure MenuItem7Click(Sender: TObject); procedure MenuItem8Click(Sender: TObject); procedure MenuItem9Click(Sender: TObject); procedure MenuItem20Click(Sender: TObject); private { private declarations } public { public declarations } end; var Form1: TForm1; const Espacio = ' - '; implementation { TForm1 } procedure TForm1.MenuItem4Click(Sender: TObject); var FileName:String; begin if Open.Execute then MText.Lines.LoadFromFile(Open.FileName); FileName := Open.FileName; Caption := ExtractFileName(FileName+Espacio+'Ejemplo Notepad Ubuntu by .:WIndHack:.'); end; procedure TForm1.MenuItem6Click(Sender: TObject); begin MText.CopytoClipBoard; end; procedure TForm1.MenuItem7Click(Sender: TObject); begin MText.CutToClipboard; end; procedure TForm1.MenuItem8Click(Sender: TObject); begin MText.PasteFromClipboard; end; procedure TForm1.MenuItem9Click(Sender: TObject); begin MText.Undo; end; procedure TForm1.MenuItem20Click(Sender: TObject); begin Application.Terminate; end; procedure TForm1.FormCreate(Sender: TObject); begin MText.Align:=alClient; end; procedure TForm1.MenuItem10Click(Sender: TObject); begin MText.SelectAll; end; procedure TForm1.MenuItem11Click(Sender: TObject); begin Form2.ShowModal(); end; procedure TForm1.MenuItem2Click(Sender: TObject); var FileName:String; begin if Save.Execute then begin FileName := Save.FileName; MText.Lines.SaveToFile(SAve.FileName); Caption :=ExtractFileName(FileName+Espacio+'Ejemplo Notepad Ubuntu by .:WIndHack:.'); end else Exit; end; initialization {$I unit1.lrs} end.
Bien, solo hay una falla…¿Cuál?, el tamaño del compilado, pues Lazarus o mejor dicho FreePascal, genera ejecutables extremadamente grandes.
Si desean descargar el source, solo presionen aquí
Más >
