Mostrando entradas con la etiqueta C. Mostrar todas las entradas
Mostrando entradas con la etiqueta C. Mostrar todas las entradas

miércoles, 12 de enero de 2011

Estructuras en C (Parte 3)

Tercera parte de la serie de entradas sobre Estructuradas, donde, por fin, vamos a empezar con las Estructuras dinámicas. Antes de leer esta entrada, te recomiendo leer la 1ª entrada y la 2ª entrada.

martes, 11 de enero de 2011

Estructuras en C (Parte 2)

Segunda parte sobre el tema de Estructuras en el blog. Si no has leído la primera parte, te recomiendo que la eches un ojo antes de leer esta. Puedes acceder a la entrada aquí.

lunes, 10 de enero de 2011

Estructuras en C (Parte 1)

Echaba de menos escribir código en C. Ya que, dentro de poco, me toca comerme la cabeza con esto mas a menudo, voy a empezar ya mismo a poner ejemplos en el blog. Y, empezamos con estructuras. Me gustaría escribir sobre dinámicas, pero dado que el blog está destinado tanto a novatos como a Geek's apasionados, voy a dividir esto en varias partes partes; En esta primera, explicaré el uso de estructuras normales. En las siguientes, iré ampliando poco a poco la información.

sábado, 13 de noviembre de 2010

C: Desbordamientos

Como bien he podido leer en uno de mis libros, "Un programa sólo puede hacer aquello para lo que está programado". Muchos programadores noveles echan la culpa de sus fallos al propio Ordenador, y es evidente que no siempre es así, pues es el propio programador el que ha escrito un código erróneo. Así que en esta entrada, voy a analizar un tipo de fallo muy dado hace unos años, que ahora con los lenguajes de programación de alto nivel, es un poco "Complicados" cometerlos pues la gestión de la memoria es automática; Voy a hablar sobre los Desbordamientos.

miércoles, 27 de octubre de 2010

Emular strlwr

Haciendo un proyecto de clase, en la propia clase funcionaba a la perfección. Al ser uno de los objetivos del programa, ser compatible tanto en Windows (En clase usamos Win 7 y Dev-C++ como IDE) como en GNU/Linux, he tenido que crear una pequeña función emulando el funcionamiento de una función que no es ANSI C: strlwr(). El código es simple y el algoritmo mas, y me parece que es interesante para todos los que quieran emular strlwr o similar bajo GNU/Linux.

martes, 19 de octubre de 2010

Punteros en C++

Podríamos decir que el tema de punteros en C/C++ es uno de los mas oscuros. Por experiencia personal, puedo decir que es de los capítulos que mas "asusta" leer en cualquier libro de programación. Pero, un mal uso de punteros, puede provocar cualquier desastre: Por ello es imprescindible usarlos "con cabeza". Para poder entender este texto, es necesario tener conocimientos básicos de programación, aunque intentaré aclarar incluso los conceptos mas simples. En esta primera entrada incluyo la "teoría", lo básico para comprender conceptos. Próximamente, crearé otra con mas contenido práctico.

sábado, 2 de octubre de 2010

AppSense 1

Os dejo un Script que acabo de crear, funcional para los que usamos los servicios de Google Adsense. En la versión 1 (Actual) solo calcula lo que he llamado el porcentaje: Hay días que ganamos mas o menos por click: Ahora podemos saber que días ganamos mas para llevar un mejor control sobre nuestros ingresos.

El programa te dirá si lo tienes alto, normal o bajo.

domingo, 19 de septiembre de 2010

Argumentos de Main

Por costumbre, a mi no me gusta llamar a los programas con argumentos, pero he de reconocer que es bastante útil, y mas que necesario, así que voy a explicar como llamar a nuestros programas con argumentos.

jueves, 16 de septiembre de 2010

Ver el retorno de un programa

Cuando programamos en C/C++, es estándar tener un valor de retorno para la función int main. El valor que retorne, será interpretado por el Sistema operativo (Por esto es tan importante tener el retorno puesto, y por eso no es aconsejable declarar main como void main)

Si nuestro programa retorna 0, significa que el programa se ha ejecutado sin problemas. Por el contrario, si retorna un número distinto que 0, significa que se hay un error (Si respetamos el estándar a la hora de programar, claro).

martes, 14 de septiembre de 2010

C a lo castellano

Es algo complicado que los programadores noveles, aprendan todo el argot de un lenguaje de programación. Por lo cual, con una simple lista de macros predefinidas en un archivo, es posible programar, siguiendo un método mas "sencillo", por su parecido al 'pseudolenguaje' algorítmico.

martes, 31 de agosto de 2010

Aligerar programas en C

Programando me encuentro, después de unas "Merecidas" vacaciones, un programa que, estará colgado en mi blog dentro de poco (O eso espero)

Y me ha surgido una duda, la cual es; ¿Cómo aligerar los programas para mejorar los tiempos de ejecución?

Tras hacer varias pruebas con un procedimiento "Hi World", he conseguido mejorar los tiempos notablemente.

jueves, 29 de julio de 2010

Controlando un Led desde un Móvil

Es mas fácil de lo que parece, al leer el título. Solo hace falta nuestro querido Arduino, y claro está, un móvil (Con Wifi para completar la estructura) y un ordenador, en mi caso GNU/Linux, con un servidor de SHH instalado.

jueves, 15 de julio de 2010

¿3D en C?

Cualquier persona puede creer que hacer gráficos en 3 dimensiones, programando en C, es algo absurdo e innecesario. Pero, realmente es algo útil, pues con el mas simple ejemplo de rotar un cubo, tenemos que aplicar operaciones con 8 vértices a la vez, ala par de controlar zonas visibles, etc.

martes, 13 de julio de 2010

Fundamentos básicos de programación

Muchas son las personas a las que las cuesta, por ejemplo, entender qué es una variable. Y no hablemos, por supuesto, de intentar hacer operaciones aritméticas con ellas. (En cualquier lenguaje)

Por este motivo, voy a intentar escribir una entrada acorde a programadores noveles, explicando principios básicos como tipos de datos, aritmética y variables.

martes, 6 de julio de 2010

ASM vs C

A continuación, 2 ejemplos de ejecutables bajo GNU/Linux.

Los 2 cumplen el mismo objetivo, solo que uno es escrito en el lenguaje de programación C y es compilado con GCC, y el otro está escrito en el lenguaje de programación ASM y está compilado con Nasm.

En caso de no tener instalado nasm, puedes instalar con:

sábado, 3 de julio de 2010

Stack

La pila (Stack) es una región de la memoria, la cual es una estructura de datos LIFO (Ya se explicó lo que es LIFO en una entrada anterior).

Recordamos también que sobre una pila podemos aplicar 2 acciones: PUSH y POP.

jueves, 1 de julio de 2010

Usa bien las funciones y los procedimientos

Las funciones y los procedimientos son una de las bases de C. Sin ellas, el código sería lineal, difícil de comprender y seguramente comprendería mas fallos. Además de no poder aplicar la programación modular, estéticamente quedaría bastante feo.

Por ello, voy a dar un repaso a las funciones y procedimientos: Qué usar en cada caso, cómo usarlo y por qué usarlo.

lunes, 28 de junio de 2010

El problema de las Variables Globales

Reconozco que es una práctica que uso mucho. Uso demasiadas variables globales, cosa que hace que un código quede algo ilegible. Queda extraño leer alguna función en algún programa grande, y ver de repente una variable, la cual no sabes donde usas, qué contiene o para que sirve.

Evidentemente si perseguimos obtener un código limpio y entendible a los ojos de la mayoría de los programadores, debemos evitar esta práctica. Pero se nos plantea un problema. Imaginemos un programa bastante grande, el cual queremos una variable común a todas las funciones y a todos los procedimientos, para llevar un control del estado de las funciones (Imaginemos que las funciones tienen estados, dependiendo de sus resultados)

sábado, 26 de junio de 2010

Control de interrupciones del ratón (DOS)

Desvirgo mi nuevo blog. Aquí podrás encontrar de todo, pero sobretodo información sobre programación, noticias, mis propios ensayos, etc.

También cuentas con un panel que muestra las últimas noticias de Google Noticias.

Dicho esto, empezamos:



Este ejemplo se desarrolla con Borland C++ 3.1 (Bajo Windows XP) Podemos manejar las interrupciones del ratón gracias a la interrupción 33h.