C Básico
Ejercicio 100
Escribir un programa que solicite una temperatura y sistema de medición (celsius o farenheit) y que haga la conversión al otro sistema.(para pasar a farenheit y=5/9X-32) x=grados celsius
Ejercicio 101
Escribir un programa para el arqueo de caja de una tienda.
Se pide cuantas monedas de 1 centimo
Cuantas monedas de 2 centimos
Cuantas monedas de 5 centimos
Cuantas monedas de 10 centimos
Cuantas monedas de 20 centimos
Cuantas monedas de 50 centimos
Cuantas monedas de 1 Euro
Cuantas monedas de 2 Euros
Cuantos billetes de 5 Euros
Cuantos billetes de 10 euros
Cuantos billetes de 20 Euros
Cuantos billetes de 50 Euros
Cuantos billetes de 100 Euros
Cuantos billetes de 200 Euros
Cuantos billetes de 500 Euros
y calcular la suma total en euros
Ejercicio 102
Escribir un programa que solicite una cantidad entera en formato decimal y la convierta a binario y hexadecimal
Ejercicio 103
Escribir un programa que solicite tres números reales A, B y C y calcule Ax2+Bx+C=0
Ejercicio 104
Escribir un programa que solicite un año e indique si es bisiesto o no
Un año es bisiesto si es múltiplo de 4 excluyendo aquellos que son múltiplo de 100 y no de 400.
Ejercicio 105
Escribir un programa que calcule los 100 primeros números primos
Ejercicio 106
Escribir un programa que pregunte un número entero entre uno y 9 y genere la tabla de multiplicar de ese número en el siguiente formato (p. ej el 7)
7 x 1 = 7
7 x 2 = 14
t x 3 = 21
7 x 4 = 28
7 x 5 = 35
...
7 x 10 = 70
Ejercicio 124
Conociendo las monedas y billetes que están en caja pedir el precio de compra de un producto y que el programa diga los cambios que hay que devolver (no solo el importe sino como distribuirlo en monedas y billetes)
Para ello primero hay que preguntar que monedas y billetes tenemos y luego que cantidad hay que cobrar.
Ejercicio 107
Realizar un programa que solicite una cantidad entera. Dada esa cantidad X debe solicitar X números y ordenarlos de mayor a menor
Ejercicio 108
Realizar un programa que solicite el nombre, dirección y teléfono de 5 personas. Una vez metidos preguntará un número entre 1 y 5 para sacar la información de esa persona.
El cero termina
Ejercicio 119
Realizar un programa que solicite una máscara de subred y devuelva una ip válida.
Ejercicio 127
Comprobar que una codificacion de tarjeta de credito es valida,y si nos es valida t dice k numero tienes k cambiarle para hacerla valida.
El numero se compone de tres partes principales:
Los 4 primeros digitos componen el identificativo del banco que cede la tarjeta.hay un numero diferente para cada banco(esto se busca en internet).
El 5 digito es el tipo de tarjeta e indica que entidad financiera gestiona esta tarjeta.Las mas importantes son Visa(4),american Expres(3),Master card(5),Discover(6).
los 10 digitos siguientes componen el numero de usuario e identifican a este de manera unica.
Digito de control es el ultimo numero y se obtiene aplicando un algoritmo al resto del numero.
El formato es el siguiente 1111 2333 3333 3334
algoritmo de codificacion:
Se realiza en tres pasos.
Si tenemos el numero de la tarjeta 4539 4512 0398 7356 y queremos comprobar que es válido:
1.Multiplicamos por dos los numeros de las posiciones imapres(4-3-4-1-0-9-7-5) y dejarlos con un solo digito.
4*2=8
3*2=6
4*2=81*2=2
0*2=0
9*2=18-->1+8=9
7*2=14--->1+4=5
5*2=10--->1+0=1
2.Sumar los digitos de las posiciones pares y los nuevos de las posiciones impares.
5+9+5+2+3+8+6+ 8+6+8+2+0+9+5+1=80
3.Si el resultado es multiplo de 10 entonces el numero es valido.
Acceso a ficheros
Ejercicio 122
Escribir un programa que solicite palabras y las agrege a un fichero llamado c:\diccionario de forma que luego se puedan consultar las palabras una a una
Ejercicio 109
Escribir un fichero que contenga 255 caracteres cualesquiera y los guarde en c:\exploit.exe
Ejercicio 110
Comprobar si existe el fichero c:\exploit.exe y si existe que lo lea y lo conserve en un array
Ejercicio 111
Escribir un programa que lea el archivo c:\exploit.exe y genere un archivo c:\ExploitCompleto.exe que será un archivo ejecutable. Al ejecutarse hace:
a) crea el archivo exploit.exe (lo tiene metido en un array)
b) realiza una serie de comprobaciones (las que queramos)
c) según el resultado de esas comprobaciones (figuradamente versión del sistema operativo por ejemplo) ejecuta exploit.exe con el parámetro correspondiente a la versión obtenida
Esas comprobaciones pueden ser sumar dos números aleatorios y si es par usar un parámetro, si es impar usar otro.
Naturalmente si en exploit.exe no hay un código real no funcionará, pero quizá podais intentar meter allí un código real que haga algo
Ejercicio 112
Realizar un keylogger que detecte las pulsaciones y las escriba a un fichero llamado log.txt utilizando las apis de windows
Comunicaciones
Ejercicio 113
Escribir un programa que escuche en el puerto 4500
Ejercicio 114
Escribir un programa que haga ping para encontrar un servidor que escuche en el puerto 4500
Ejercicio 115
Escribir un programa en que en el que un servidor escucha en el puerto 4500 y si un cliente intenta conectarse se le envía una paquete donde se le solicita que se identifique y queda a la escucha para recibir identificación.
Si el cliente es aceptado se le envía al cliente una aceptación
Si el cliente es rechazado se le envía al cliente una denegación
La estructura del paquete de comunicaciones es:
código: 5 dígitos
(código 1 = presentación (quién soy), código 2 = solicitud de identificación (¿quién eres?) código=3 = aceptación ("aceptado") código 4 = denegación (rechazado)
usuario (máximo 20 caracteres)
clave (máximo 10 caracteres)
ip_propia (20 caracteres)
puerto_propio (5 caracteres)
Ejercicio 116
Realizar una aplicación de cliente que busque a un servidor mediante un ping y si lo encuentra le envie un paquete con la siguiente información:
código = 1
Nombre de usuario (obligatoriamente 20 caracteres)
contraseña: (obligatoriamente 10 caracteres)
ip_local: la ip del cliente
puerto_local (el puerto donde escuchar la respuesta)
y quede a la escucha para recibir aceptación
Ejercicio 126
Realizar una aplicación que solicite usuario y contraseña y carpeta e intente realizar una sesión ftp con ese usuario y contraseña para subir todos los archivos que estén en esa carpeta.
Si se llama a la aplicación con el parámetro /D entonces en vez de subirlos baja todos los archivos que estén allí a esa carpeta.
Se considera que todos los archivos son texto.
Operaciones de bit
Ejercicio 117
escribir un programa al que solicita una máscara de subred en formato decimal. El programa devolverá todas las subredes con la siguiente información: Dirección de red, rango de direcciones válido, dirección de broadcast
Ejercicio 118
Escribir un programa que solicita una máscara de subred y dos direcciones ip. El programa informará si ambas direcciónes están en la misma subred o no
Seguridad
Ejercicio 120
Realizar un programa que solicite una clave y luego por iteraciones encuentre la clave
Ejercicio 121
Realizar un programa que solicite una clave y luego buscando en un diccionario de palabras del ejercicio 122 intente encontrar la clave
Ejercicio 123
Escribir un programa que solicite usuario y contraseña. La contraseña se cifra como querais y se vuelve a solicitar contraseña (para verificar). Se cifra y se compara con la anterior (es decir no se comparan las contraseñas sino su resultado cifrado).
Ejercicio 125
Escribir un programa que permita codificar/descodificar una determinada clave que se pasa como argumento. Si se pasa el parámetro /c hay que codificar. Si se pasa el parámetro /d hay que descodificar. Si no se pone se asume '/c'. Si no se pone clave no hace nada.
El formato será por tanto "aplicación [/d /c] clave
El sistema de cifrado será base64
http://foro.elhacker.net/index.php/topic,9039.0