Ir al contenido principal

Entradas

Error " permission denied"

El ld.exe es el linker, puede dar problemas en dos casos: que se este ejecutando una aplicación bajo la misma ruta que el archivo de salida, es decir que se compila y ejecuta la aplicación, no se cierra, se modifica el código y se recopila; la otra cosa es de permisos : Windows no permite que el usuario no administrador trabaje directamente en directorios que no estén en su ámbito bloqueando el permiso de la aplicación para ejecutarse en los computadores.  Tomado de: http://www.forosdelweb.com/f96/permission-denied-compilar-ejecutar-1043557/ Como lo vemos el error es generado en su mayoría de veces por un descuido del propagador, que compila y ejecuta el programa, realiza cambios en el proyecto y vuelve a ejecutarlo sin cerrar la ventana de ejecución previamente abierta, generando errores en la ejecución y un molesto mensaje de dialogo cada vez que volvamos a compilar y ejecutar el programa  El problema puede ser resuelto fácilmente cop...

Como comprobar un algoritmo

En una de los aspectos en que mas se falla a la hora de crear un programa, es  que no se realiza la tarea de crear los algoritmos respectivos que nos ayudaran con la solución del problema, o no los revisamos. Para revisar un programa se puede hacer de manera mental pero no se recomienda (a menos de que ya se posea una capacidad y práctica para desarrollar esta labor), pero la mejor manera de probarlo, haciendolo, con esto se refiere al hecho de que se desarrolle el programa sin haberlo creado en código. Para desarrollar bien esta tarea, es bueno imaginar que uno es el propio computador, así uno mismo crea sus memorias y reemplaza los datos como si se ejecutara de manera manual. Fuente: https://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=277:como-comprobar-algoritmos-verificacion-mental-y-verificacion-prueba-por-seguimiento-escrito-cu00230a&catid=36&Itemid=60

La importancia del orden

En la programación como en la vida, el orden de los programas puede ser determinante al momento de llevar a cabo cualquier acción. Especialmente en programación, ser ordenado con los algoritmos y el código fuente puede sernos muy útil; Cuando redactamos el código fuente, debemos procurar dejar las funciones de primer orden (generales) a ras del borde izquierdo, e ir desglosando las demás funciones con una sangría de una, dos o tres espacios dependiendo la importancia de la función en el código Para aplicar la sangría utilizaremos la tecla Tab del teclado la cantidad de veces que sea necesario, es importante también hacer las cosas con calma y revisar cada pequeño detalle; hasta un punto y coma puede generar errores en nuestro código Ejemplo int VerificarFC(int matriz[3][3]){ int gano=0; int f=0; for(f=0;f<3,f++;){ if(matriz[f][0]==matriz[f][1]){ if(matriz[f][0]==matriz[f][2]){ if(matriz[f][0]!=0){ gano=1; } } } } }

Variables Aleatorias

Como ya hemos visto, por el momento las variables pueden tener 3 tipos de valores; un valor fijo dado por el algoritmo (ejemplo 1) variables determinadas por el usuario y el nuevo tipo de valores; un número aleatorio entre un rango de datos que cambia cada vez que se ejecuta el algoritmo En “C” las variables aleatorias están dadas por el prefijo equivalente al dato que lleven  y su valor dependerá, en este caso de la variable time (ver entrada “Time, la variable en cambio perpetuo”) y según esta variable, la función "rand();" le asignará un valor aleatorio a nuestra variable - Las funciones de tipo "Void" no retornan ningún valor Esta función aleatoria y otras están alojadas en las bibliotecas <time.h> y < stdlib.h   > en lenguaje “C” que se encargan de todo lo que tiene que ver con azar  Ejemplo 1:  int x=2; 

Time, la variable en perpetuo cambio

Time es un variable de cambio constante que muestra la cantidad de segundos pasados entre el primero de enero de 1970 y la fecha actual. Es una variable muy útil y curiosa, ya que no requiere una declaración para que funcione y es una variable que no tiene un valor constante el cual varía de tal forma que no pueden haber dos mismos valores iguales de la variable. Gracias a estas cualidades, podemos utilizarla para programar algoritmos que tengan que ver con probabilidad, ya que es muy difícil, si no imposible, calcular el momento preciso en el cual la variable provocará que el usuario obtenga el resultado que busca desordenado todas las funciones aleatorias que siguen una secuencia respecto a un número Es una variable de la biblioteca <time.h> de “C” 

Los Casinos y la programación

Cómo lo hemos demostrado a lo largo de estas entradas, la programación está en todos los lugares del mundo, por eso no es raro decir que la programación está presente también en nuestros juegos La probabilidad y el azar pasaron de ser una relación estadística para convertirse en entretenimiento con ayuda de la programación; desde los años 1900´s los populares casinos salieron a la luz con máquinas que permitían apostar dinero con base a la probabilidad y la suerte de las personas. Este desarrollo fue posible gracias a la introducción del micro controlador en dichas máquinas, que con un algoritmo simple permitía está realizar apuestas entre una persona y una máquina. La suerte que  dominaban estas máquinas, lejos de ser el producto de complejos procesos matemáticos o de azar e sí mismo, el día de hoy podemos describirlo como operaciones entre variables cambiantes dadas por una selección aleatoria que realiza nuestro algoritmo. Claramente esta suerte siempre va a favorecer a...

Arreglos

Cuando tenemos muchas variables de un mismo tipo podemos agruparlas en un arreglo. Estos arreglos se caracterizan por tener una cantidad de variables mayor a 3 y se utilizan para comparar muchas variables a la vez sin tener que declarar una a una individualmente. Los arreglos se utilizan dando la característica de las variables a guardad y en corchetes cuadrados "[]" la cantidad de variables que va a almacenar. Cuando deseemos nombrar la variable, utilizamos el nombre del arreglo y entre paréntesis el número de la casilla que ocupa en el arreglo, considerando que la posición menor es 0 y aumenta cada casilla. Ejemplo: Quiero sacar el promedio de las notas de un curso. float promedio; int arreglo[5];  int i=0;  while(i<5){ arreglo(i);  i++;} i=0; int acumulador=0; while(i<5){ acumulador= arreglo(i)+acumulador; i++;} promedio=acumulador/2; printf("%f", promedio); Cómo vemos, no hubo necesidad de crear las 5 variables que necesitam...