Quieres recibir por e-mail las novedades que vayamos incluyendo en la página?
Introduce tu e-mail aquí:

BitFísica: Programación e Informática

Visitante número Counter Actualizada el Sábado, 3 de Abril de 2004!!

Códigos fuente

Programación avanzada

Interrupciones BIOS, VGA, PC interno

Otros

Código abierto - Open Source, GNU, MiKTeX, gnuPlot..

Experiència Linux

Nueva sección sobre Linux, desde cero hasta donde lleguemos! Tiny Linux, Slackware, LinuxFromScratch, funcionamiento, FreeDOS, programación y (esperemos que) más! <En català> [>Entrar]

Compiladores gratuitos

Recopilación de compiladores y lenguajes de programación gratuitos: C, C++, COBOL, Delphi, Java, Prolog, Ensamblador (ASM), Visual Basic, Tcl/Tk y más. Para diferentes plataformas (DOS, Windows, OS/2, Linux, UNIX, etc). [>Entrar]
Actualizado el 20/04/2004.

Programación en Java

Recursos gratuitos para la programación en Java: compiladores, editores, IDEs, applets, tutoriales, manuales y libros. Descubre el lenguaje de programación Java. Con todo este material podrás dominar este lenguaje. [>Entrar]
Puesto el 29/06/2003

Rotaciones en 3D con C/C++ y Pascal [Mejorado!]

Código fuente de un programa que muestra por pantalla una figura compuesta por puntos y líneas, que el usuario especifica a través de ficheros. Después, el usuario puede hacer rotar la figura a través del teclado. Se incluyen algunos ficheros de ejemplo que corresponden a estructuras cristalográficas (FCC, BCC, diamante, etc).
También hay disponible una ón más sencilla de este programa en Turbo Pascal. Código y explicación en lenguaje C
Versión simplificada en Pascal

Algoritmos genéticos

Simples rutinas que pueden ser implementadas con relativamente pocos conocimientos y que en escasos segundos aproximan soluciones a problemas que nos harían perder mucho tiempo o que serían prácticamente irresolubles. La teoría está pensada para ser implementada en cualquier lenguaje; además se incluye el código fuente de un programa de algoritmos genéticos (AGs) en C/C++. [>Entrar]

Contacta con el webmaster. Escribe tu comentario o pregunta

E-mail:



Entrar en el FORO
¿Tienes una pregunta? ¿Quieres hacer valer tu opinión? ¿Qué te gusta y qué no? Discútelo en nuestro FORO!

Programación en ensamblador (códigos fuente)

HOLAMUND.ASM
Imprescindible código fuente para empezar a aprender un lenguaje de programación. Para los que no sepan de esto: normalmente cuando aprendes un lenguaje, el que sea, lo primero que te enseñan es a hacer un programa que saque por pantalla: hola mundo!

ENT.ASM:
Es un archivo que contiene funciones de tratamiento de cadenas de texto para ser usado con otros programas de ensamblador. Las funciones que contiene son las siguientes.
ENTRA: Permite la entrada por teclado de una palabra. Toma como parámetros (es decir, hay que apilar por este orden) la dirección donde será guardada la cadena y el carácter de terminación de la cadena (que normalmente es "$").
ENTRAN: Exactamente igual que la anterior, lo único es que detecta la entrada de números enteros de la siguiente manera: si la palabra entrada es un número natural no pasa nada, en caso contrario pone el flag de signo a 1. Así puedes controlar errores de entrada en un programa al que por ejemplo sólo le interese que sean introducidos números. Va bastante bien combinada con la funcion A_INT (ver más adelante).
LONG: Toma los mismos parámetros que las anteriores y devuelve la longitud de la cadena que hayas aplilado.
A_STR: Convierte un número entero en cadena de texto, para poder ser presentado por pantalla, etc etc. Además de los dos parámetros habituales hay que apilar como tercer parámetro el número entero.
A_INT: Convierte una cadena de texto en número entero para poder ser manipulado algebraicamente. Toma sólo los dos parámetros habituales, pero devuelve el resultado en AX. Una cosa importante es que el procedimiento no comprueba que la cadena aplilada sea la correspondiente a un número entero, en caso de no serlo, el valor devuelto de AX puede ser un disparate. Por eso decía que va bien combinada con la función ENTRAN, porque esta asegura que la cadena entrada sea la correspondiente a un entero y así no habrá errores al usar A_INT.
Para usar estas funciones en otro programa ambos (el programa y ENT.ASM deben ser compilados por separado y luego linkados. Por ejemplo para usarlo con SUMASIN.ASM el proceso general sería
TASM SUMASIN.ASM
TASM ENT.ASM
TLINK SUMASIN.OBJ ENT.OBJ
y ya estará disponible el programa ejecutable.

Se puede ver cómo se usan estas funciones en cualquiera de los programas que a continuación se ofrecen.

SUMACON.ASM
Es un programa que suma dos números entrados por el usuario. Está bien para ver el uso de las funciones de ENT.ASM

ASCII.ASM
Quizás el más sencillo de estos programas. Devuelve el código ASCII de cualquier tecla pulsada.

MAYUS.ASM y MINUS.ASM
MAYUS en una función que, dada una cadena de texto, convertirá únicamente sus letras minúsculas en mayúsculas. Por ejemplo si entras HoTMaiL pondría HOTMAIL y si pones jose devolvería JOSE. Ya podéis imaginar lo que hace MINUS.ASM

versiones HALx.ASM (comprimidas en ZIP con un archivo de Word explicativo)
Es una serie de programas de los cuales ves cómo ha ido evolucionando hasta ser lo que es. el último, HAL4 es de funcionamiento similar al MAYUS. Dada una cadena de caracteres convierte cada letra en su consecutiva en el Alfabeto.Por ejemplo si introduces HAL (supercomputadora de 2001 Odisea en el espacio) la respuestá será... (compuébalo tú).

Avanzado - PC interno

Se dan una serie de direcciones (de momento pocas, ya irán apareciendo más) en donde se puede encontrar información sobre las interrupciones de la BIOS, funciones, etc. para sacar el máximo rendimiento al ensamblador. La mayoría de lenguajes de programación hoy en día (no creo que esté incluido el FORTRAN) permiten también llamar a interrupciones, así que este código puede ser útil de todas formas
.
Interrupciones de Bios, DOS, EMS y Mouse
http://www.htl-steyr.ac.at/~_morg/pcinfo/hardware/interrupts/inte1at0.htm

VGA Programming - Funciones de la BIOS VGA para manejar entrada y salida gráfica por pantalla
http://www.airmissle.com/microwerx/programming/vga.html

Programación en C (códigos fuente) y C++

Atención: Los programas aquí expuestos no producen errores de compilación con Borland Turbo C y Borland Turbo C++. En caso de encontrar errores, renombrar el archivo de .C a .CPP (puede que se trate de un código C++).

MATRIUS.C
Realiza un producto de dos matrices dadas por el usuario de dimensión tan grande como permita la memoria disponible, sólo que se limita por razones de espacio al presentar el resultado por pantalla. Viene acompañado de una extensa explicación sobre la manera de funcionar del programa.
Versión de este documento en Word (comprimido en Zip, menos de 7 K)

CITY.C
Realiza la gestión de base de datos de un conjunto de calles (nombre, posición, anchura, etc.) y una vez introducidas puede ser dibujado el barrio. Bájate si quieres un ejemplo de barrio aquí.

AGENDA.CPP
Un programa que encontré por ahí de gestión de una agenda de personas. Lo malo es que las estructuras que usa son variables dinámicas, no archivos, es decir, es puramente pedagógico ya que no permite almacenar los datos en disco, sino en memoria.

BRAIN MASTER
Una versión de este juego (si esque se llama así y no de otra manera) que también me lo encontré dentro del archivo comprimido en el que me pasaron el C (se debe haber transmitido de generación en generación).

Links

Neonprimetime - Página personal de un amante del c++ que incluye muchos códigos fuente de diferentes funcionalidades, además de links y más material. Es interesante la sección que lleva un título parecido a "Lo que programé cuando estaba aburrido". En inglés.
http://www.oocities.org/neonprimetime.geo/

gnuC++ library for version 2.0 - El manual de instrucciones del gnuC++.
http://www.cl.cam.ac.uk/texinfodoc/libg++_toc.html#SEC66

Combinatorial algorithms - Dynamic Lists - Uso de listas dinámicas en algoritmos combinatorios, es en realidad para estudiantes de informática.
http://laplace.snu.ac.kr/~pos7hink/Courses/C++-Reference/Lists/Lists.html

Código abierto!

http://www.sourceforge.net - Miles de proyectos de c&ooacute;digo abierto bajo licencia GNU.
http://www.opensource.org - Toda la información que necesitas saber de la open Source Foundation
http://www.gnu.org - El mundo del gnu
http://www.miktex.org - El famoso editor de textos es también un proyecto de código abierto
http://www.gnuplot.org - gnuPlot: El visualizador de funciones matemáticas gratuito más famoso entre la comunidad científica