Selecciona el Idioma

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

jueves, 12 de junio de 2025

Diseño de un ZGI (Zero Gravity Indicator) para la NASA

 Buenas tardes, 

Este 16 de Junio se termina el plazo para entregar el diseño de tu ZGI  para la NASA y su nueva misión ARTEMIS II  a bordo de la nave espacial Orion que orbitará la Luna. 

La NASA y Freelancer han lanzado este challenge a modo de concurso con premios de hasta 25000$ si no me equivoco... 

Y aquí os traigo un pedacito del diseño que he presentado. 

Esta difícil resultar ganadora,  ya que se han presentado más de 200 diseños pero solo poder participar en esta idea 💡  me aparece apasionante y súper guay. 

Os dejo unos enlaces también para que entendáis mejor que es un ZGI. 

Así a modo resumen se trata de un pequeño objeto, suele ser un peluche credo con materiales resistentes similares a los mismos materiales que se utilizan para la creación del interior de una nave espacial,  ya que deben resistir temperaturas extremas. 

https://youtube.com/shorts/8OZeE9aC8AA?si=yYM8w0pqdkQGDzHn

https://youtu.be/K63ERxA7R7w?si=kQmLul5lAiRgsG16


Mi diseño está inspirado en la perro Husky de mis vecinos, que casualmente se llama: Luna.

Mi diseño lleva el nombre de Wolfy, el cachorro de lobo. 

El diseño estaría realizado con materiales como Kevlar Azul para los ojos, piel sintética exterior e interior de fibra de poliester. 

Además incluye un collar precioso en forma de luna creciente. 

Os animo a que vosotr@s también hagáis vuestro diseño y partícipes en esta oportunidad 😉. 

Quien sabe, quizás es vuestro el peluche que viaje a bordo de la proxima nave espacial qie órbite la luna. 



lunes, 10 de junio de 2019

MI CANAL DE YOUTUBE






Muy buenas lectores/as  ,

Hoy , después de tantos dedicando tiempo al Blog, a ayudar a otros a aprender y a aprobar asignaturas con mis apuntes.

Sólo os pido un pequeño grano de arena para el canal que tengo en Youtube y si os gusta la temática, si alguna vez os ha ayudado a solucionar un problema que tuvieraís ,etc...

Me gustaría si no es mucho pedir, que os suscribáis y le déis a la campanita para estar al día de todo lo que voy a ir subiendo.

Por aquí os dejo un vídeo enlace relacionado con la temática del blog,
 como veréis en el canal tengo varias secciones, unas de cocina, otras de viajes y otra de informática.


Agradezco cada uno de vuestros comentarios  para mejorar y evolucionar .


Os espero en el canal  que como no podia ser de otra forma, se llama :   DESY Repara ;)




Gracias de Antemano, 

jueves, 27 de febrero de 2014

Manual Programación C

Los lenguajes de programación podemos dividirlos en :Lenguajes de Alto Nivel y Lenguajes de Bajo Nivel.
Los de bajo nivel, son más cercanos al ordenador.Eso hace que sean más difíciles de aprender.El ordenador sólo entiende 0 y 1. También conocidos como :Datos binarios
Antes de poner en práctica los lenguajes de alto nivel es conveniente:
  • Crear Algoritmo en Pseudocódigo
Es como realizar un boceto del programa, antes de ponerse a picar código, eso facilita el trabajo, especialmente si estamos empezando a programar y desconocemos todo el lenguaje.
El Lenguaje C, se puede crear desde varios programas (Dev-c++,Eclipse,Gedit...),ha de estar bien tabulado y seguir una estructura:
  • Bibliotecas (#include ...)
  • Variables
  • Funciones y Procedimientos
  • Bucles o Condicionales
  • Terminar con un: system("PAUSE");

Existen diferentes tipos de datos (numéricos,carácteres,cadenas...) para definirlos en las variables se hace:
  • int numero; (si es de tipo entero)
  • float numero; (si es tipo real)
  • double numero; (si es real muy largo)
  • char c; (si es tipo carácter)
  • chat c [10]; (si es tipo cadena de 10 carácteres)
  • int c [10]; (si es un array de 10 numeros enteros)

A la hora de guardar los datos de estas variables lo haremos con:
  • scanf("%d",&numero); (si es de tipo entero)
  • scanf("%f", &numero); (si es tipo real)
  • scanf("%lf", &numero); (si es real muy largo)
  • scanf("%c", &c); (si es tipo carácter)
  • scanf("%s", c); (si es tipo cadena de 10 carácteres)
  • scanf("%d",&c); (si es un array de 10 numeros enteros)

Para printarlo por pantalla sería por ejemplo:
printf("resultado=%d\n",n);
En el caso de un entero de variable tipo entero con nombre n, el \n lo que hace es un salto de linea.
La Asignación de valores a una variable se hace así:
nombrevariable=560;
Mientras que si se tratara de un condicional sería así:
if (nombrevariable==560){
Argumentos
};
El programa debe crearse dentro del main() o, tener funciones y/o procedimientos que serán llamados a través del main().
Podemos insertar comentarios con // ( si el comentario ocupa solo una linea).
/* comentarios*/ (si ocupa más de una linea).
Para incrementar o decrementar el valor de una variable, por ejemplo si la usamos como variable contador se puede hacer de varias formas:
  • a++; o a=a+1;
  • a--; o a=a-1;

Para ver exactamente lo que ocupa una variable se hace con sizeof:
Para convertir una variable float (por ejemplo) en una int (por ejemplo):
En los condicionales (if), podemos usar carácteres como: <,>,<=,>=,!=,==
Que significan: menor, mayor,menor o igual, mayor o igual , diferente de,igual a .
Los if pueden ser anidados, NO son bucles, solo se harán una vez a menos que se encuentren dentro de bucles como:while , do-while
Los condicionales if-else , si no hacen el primer condicional harán el siguiente.En los condicionales también se pueden añadir Operadores Lógicos (&&, ||, !)
Que && es para que se cumplan las dos condiciones , || para que se cumpla una u otra y ! para que no se cumpla ninguna.
Normalmente, además del Pseudocodigo se suelen hacer Diagramas de Flujo para representar un programa en C o cualquier otro Lenguaje .
Otro elemento es el switch (variable) significa Encasode (variable).
Hace diferentes casos (respuestas) dependiendo del valor de una variable introducida. NO es un bucle y por tanto solo se hará una vez, a menos que este dentro de una estructura repetitiva, como hemos dicho antes.
Las Estructuras Repetitivasson While y Do-While. Significan Mientras... y Repetir-Mientras... Son bucles y dentro de ellos se añade el código a ejecutar tantas veces como sea necesario.
Ahora un ejemplo de Repetir-Mientras...:
Después tenemos los For, que también son bucles. por ejemplo:
  • for (i=0;i<=10;i++)
  • significa : para (i=0;mientras i<=10;hacer i++)
Esto repite un proceso que va a ir dentro del bucle tantas veces como vale i
También existen for anidados para matrices o ordenar arrays, es su uso más convencional, pero también se necesitan para crear pequeños dibujos a partir de arrays bidimensionales o tridimensionales.
Con un break; podemos terminar los bucles o condicionales.Se usan también en los Switch para pasar al siguiente case.
Mientras que los continue; sirven para forzar pasar a la siguiente acción en los condicionales .
Algunos Códigos Útiles:
putchar ('A'); Formas sencillas de poner un solo carácter por pantalla.
putchar (x) Formas sencillas de poner un solo carácter por pantalla (si utilizamos una variable).
letra=getchar(); Almacena un valor introducido, en la memoria.
gets(texto); Para escribir un texto por pantalla sin parar en el primer espacio.
puts(texto); Para escribir un texto por pantalla sin parar en el primer espacio.
strcpy (destino,origen);Asigna a una cadena el valor de otra (copiar)
strcat (destino,origen);Añade una cadena al final de otra
strcmp (cad1,cad2);Compara cadenas
sscanf ("%s",cadena) Parecido al scanf pero los datos no se leen desde el teclado sino desde una cadena de texto
struct - Son las Estructuras , se crean fuera del main(), y después son en el donde se crea los registros necesarios.
Funciones y Procedimientos:
Son pequeños programas fuera del main () que después serán llamados por este para ejecutar los datos. Las funciones retornan un solo valor , mientras que los procedimientos no retornan nada.
Las funciones pueden ser de tipo (int,double,float,char...) (su retorno tendrá que ser de este mismo tipo). Mientras que los procedimientos siempre serán de tipo Void. Ambos pueden contener parámetros.
Las variables que estos contienen se denominan locales, estas solo podrán ser usadas por el prodecimiento o función que las contenga. Pero también existen las variables globales, se declaran fuera del main() y fuera de cualquier función o procedimiento. Estas variables, si podrán ser usadas en cualquier momento del programa.
Para interrumpir un programa en cualquier momento podemos ejercer las órdenes:
  • exit(0);
  • return(0);
exit80) necesita la biblioteca #include para ejecutarse. Ambos funcionarán si no ha habido ningún error.
Para Debugar o Depurar el programa DEV-c++ incluye una herramienta de muy fácil uso, que nos alertará de los errores que hay que corregir para que el programa funcione bien. Solo hemos de poner un punto de interrupción y después compilar y Debugar.
Para cambiar los colores del printf es necesaria la funcion : SetConsoleTextAttribute (GetStdHandle (STD_OUTPUT_HANDLE),9)
donde el último numero (9) corresponde a un color. Por ejemplo para verlo tenéis que hacer algo así:
#include <#stdlib.h>
#include <#stdio.h>
#include <#time.h>
#include <#Windows.h> 



int functotal(int min, int max){
 min=0;
max=5;
int total=0;
int res;

printf("Total de compras  en dolares:? \n");
scanf("%d",&total);
if (total <100 0:="" 10="" 1:="" 20="" 2:="" 30="" 3:="" 4:="" 50="" :="" amarilla:="" aplicable="" azul="" blanca:="" bola="" break="" case="" de="" descuento="" dolares="" else="" etstdhandle="" hay="" int="" lo="" main="" n="" num1="" num2="" o="" oooooh="" otra="" pre="" printf="" promocion="" res="" return="" roja:="" sera="" setconsoletextattribute="" siento="" srand="" switch="" system="" time="" total="functotal(num1,num2);" verde:="" vez="">

Y se verá algo así :

Os dejo este videotutorial aquí. Es un ejemplo para obtener un resultado aleatorio, en este caso. El ganador para un concurso.






Espero que os sirva de ayuda,

para más info suscribete a Desy Repara

jueves, 11 de julio de 2013

Un poco de historia

Un ordenador es una máquina que almacena y reparte información. Siendo este, un servidor , no necesita teclado ,ratón o intervención del usuario, en caso contrario ( que sea cliente) si son necesarios.
El Ábaco chino fue el primer " ordenador" , se usaba para hacer cálculos matemáticos. Comenzó a utilizarse en 1279-1368 , pero ya existían otros en otros países. Aún se usa, sobretodo para los niños pequeños, para aprender a contar.





LA ERA MECÁNICA


1642- Máquina Aritmética de Blaise Pascal, con lenguaje de programación PASCAL.





1671- La Calculadora Universal, de Gotfried Leibniz, su elemento más característico era un tambor cilíndrico con 9 dientes de longitud variable, llamado "rueda escalonada".





1822- Máquina de Diferencias de Charles Babbage, con mucha similitud a las máquinas analíticas posteriores.





1833- Máquina Analítica de Charles Babbage, una especie de calculadora que hacia 4 operaciones básicas sobre 1000 números de 50 cifras , contenidos en una memoria. Nunca funcionó correctamente, pero se establecieron los elementos necesarios para un sistema automático.





1885-Herman Hollerith, ideó una tarjeta perforada para contener información y una máquina con capacidad para leer y tabular información. Pero fue más tarde de un año lo que tardó en conseguirlo.





LA ERA ELECTROMECÁNICA


1937-1942- ABC (Atanasoff Berry Computer).Calculador pequeño para resolver ecuaciones lineales ,usaba elementos electrónicos.Construida por el Doctor John Atanasoff.





1941- Konrad Zuse creador de la primera calculadora universal programable.





1943-Uno de mis favoritos, Colossus de Alan Turing. Fue el primero que se aplicó en la segunda guerra mundial. Se hacía servir para descifrar el código Alemán (por ejemplo el tipo morse).





1943-1946- E.N.I.A.C (Electronic Numerical Integrator Calculator) Construido en Pensylbania con el primer elemento electrónico que se introdujo en los ordenadores (válvula de vacío)programandolos con lenguaje máquina o ensamblados.Fue construida por el ejercito estadounidense.
Su Hardware fue construido por Hombres, pero su función lógica, es decir el software, fue construido y diseñado por mujeres, Matemáticas llamadas 2las computadoras". Sus nombres: Betty Snyder Holberton, Betty Jean Jennings Bartik, Ruth Lichterman Teitelbaum, Kathleen McNulty Mauchly Antonelli, Frances Bilas Spence y Marlyn Wescoff Meltzer. En el siguiente link os dejo más información de la ENIAC






1944- Mark (Howard Aiken) creador de la máquina de Mark1.





1945- 1951- E.D.V.A.C /Electronic Discrete Variable Computer) fabricada por John Von Neumann fue el primer ordenador de programa almacenado.





1949- E.D.S.A.C (Electronic Dacrete Storage Automatic Computer). De Mauricio Wilkes.





1945- 1955- El Lenguaje máquina con la electrónica tecnología de válvulas, los programas se creaban con algún tipo de código binario y eso es lo que más caracterizó esa generación (la 1ª).





1950-1955- UNIVAC - de Eckert y Mauchly , primer ordenador comercial.







Espero que os sirva de ayuda,

para más info suscribete a Desy Repara

sábado, 15 de junio de 2013

TABLA HEXADECIMAL , DECIMAL, BINARIO, OCTAL

TABLA DE CÓDIGOS










También hay otro modo de hacer el cambio de binario a decimal y decimal binario por ejemplo: Mediante una tabla como esta: Cada vez que subimos un nivel en superindex multiplicamos por 2 su valor como podéis ver. Así podemos subir niveles tantos como sean necesarios. Pero cuando se trate de Ip's solo habrá 7 niveles, porque son como máximo 1 byte ( 8 bits) , que es hasta nivel 2 7, Ddo que la suma de estos 7 niveles da 255 y esa es la última red posible , Que se usa para la máscara de subred.
27 26 25 24 23 22 21 20
128 64 32 16 8 4 2 1
Por ejemplo si tenemos el código binario : 11010010 en la tabla se mira:
DE BINARIO A DECIMAL
27 26 25 24 23 22 21 20
128 64 32 16 8 4 2 1
1 1 0 1 0 0 1 0
Se trata de sumar los dígitos de la tabla que contengan 1 , si es 0 no se suma es decir : 128+64+16+2= 210
Pero con este mismo método también podemos hacer justo lo contrario pasar un valor decimal a binario por ejemplo con el número 100, ahora en vez de sumar el valor decimal de los niveles los hemos de ir restando. Por ejemplo empezar con el nivel 2 6= 64, dado que el nivel 7 equivale a 128 y se pasa del número 100. entonces restaríamos 64 a 100. 100-64=36, y así hasta llegar a 0. Así formaríamos nuestro valor binario es decir:64+32+4
DE DECIMAL A BINARIO
27 26 25 24 23 22 21 20
128 64 32 16 8 4 2 1
0 1 1 0 0 1 0 0
Para convertir un número hexadecimal en decimal o binario, solo debemos hacer uso de la siguiente tabla de datos.
Decimal Hexadecimal Binario
0 0 0000
1 1 0001
2 2 0010
3 3 0011
4 4 0100
5 5 0101
6 6 0110
7 7 0111
8 8 1000
9 9 1001
10 A 1010
11 B 1011
12 C 1100
13 D 1101
14 E 1111
Lo más fácil y aconsejable es coger un numero decimal y para pasarlo a hexadecimal primero convertir ese decimal en binario., después dividimos ese número binario en bloques de 4 en 4 y hacemos la conversión final del binario a hexadecimal.

Para más info Clic aqui

Se empiezan a crear los bloques desde el final hacía delante, y si faltan números, para complementar los bloques de 4 dígitos, se añaden 0 a la izquierda.



Para más info suscribete a Desy Repara