Foros del Web » Programación para mayores de 30 ;) » Programación General »

Taller de Programacion

Estas en el tema de Taller de Programacion en el foro de Programación General en Foros del Web. LEER ESTO ANTES DE CREAR UN NUEVO POST Bienvenid@ al taller de programación Esta sección ha sido creada tanto para principiantos como para mentes inquietas ...
  #1 (permalink)  
Antiguo 01/07/2005, 15:56
Avatar de spike_jr  
Fecha de Ingreso: febrero-2005
Ubicación: Valencia
Mensajes: 114
Antigüedad: 19 años, 9 meses
Puntos: 2
Taller de Programacion

LEER ESTO ANTES DE CREAR UN NUEVO POST

Bienvenid@ al taller de programación

Esta sección ha sido creada tanto para principiantos como para mentes inquietas de la programación. Os podeis encontrar desde ejercicios muy sencillos hasta aunténticos retos, todo depende de vuestra imaginación.

Y para qué crearla?
Primero para que de esta manera la gente que este empezando con la programación tenga "material" para practicar, y segundo porque será más fácil ayudarse mutuamente en el foro con las dudas que vayan surgiendo de cada ejercicio.

La estructura de los post para este Taller de Programación es la siguiente:

- En el título de cada post, poner el numero del ejercicío, por ejemplo

"Ejercicio 1"

- En el cuerpo del post:

Lenguaje: (en negrita)
Dificultad: (en negrita)
Descripción: (en negrita)


- Los lenguajes que deben utilizarse para la solución del problema van a ser
tres: C, C++ y Ensamblador. En el caso del Ensamblador, en la Descripción detallar de que tipo es.

-He puesto un distinguidor de dificultad para saber a que nivel de programación se va a enfrentar. La elección de la dificultad debe ser todo lo más objetiva posible, la medida más o menos es el grado de conocientos que se ha de tener para resolver el ejercicio.

De esta manera, en Dificultad habrá 4 niveles: Fácil, Normal, Difícil y Reto.

Yo consideraria un Reto a un programa que aparte de requirir un gran nivel de programación, también en otros campos como por ejemplo encriptación o inteligencia artificial. Aunque parezca una rallada, dejo ese nivel por si hay gente que se aburre...

-En la descripción debeis poner bien claro la entrada del programa(si la hay), lo que tiene que hacer y la salida.

Para las dudas que se tengan o los problemas que surjan de cada ejercicio, NO hay que postearlos aquí sino en un tema nuevo en el foro de programación. Y no olvideis decir el numero del ejercicio al que os refirais.

NO HACE FALTA DECIR QUE NO POSTEIS OTRA COSA QUE NO SEA UN EJERCICIO

Bueno creo que esto es todo.

Espero que la gente colabore posteando ejercicios. Cuantos más mejor

Venga, manos a la obra.
__________________
Cita:
"La programación es una carrera entre ingenieros de software luchando para construir programas cada vez más grandes, mejores y a prueba de idiotas, y el universo intentando producir cada vez más grandes y mejores idiotas. Por ahora, gana el universo." by Rich Cook
  #2 (permalink)  
Antiguo 01/07/2005, 16:22
Avatar de spike_jr  
Fecha de Ingreso: febrero-2005
Ubicación: Valencia
Mensajes: 114
Antigüedad: 19 años, 9 meses
Puntos: 2
Ejercicio 1

Lenguaje: C++
Dificultad: Fácil
Descripción: Calcular el tiempo equivalente en horas minutos y segundos a un número de segundos leído. El resultado debe imprimirse en un formato como el siguiente:

7322 segundos equivalen a: 2 horas, 2 minutos y 2 segundos.
__________________
Cita:
"La programación es una carrera entre ingenieros de software luchando para construir programas cada vez más grandes, mejores y a prueba de idiotas, y el universo intentando producir cada vez más grandes y mejores idiotas. Por ahora, gana el universo." by Rich Cook
  #3 (permalink)  
Antiguo 02/07/2005, 10:20
Avatar de spike_jr  
Fecha de Ingreso: febrero-2005
Ubicación: Valencia
Mensajes: 114
Antigüedad: 19 años, 9 meses
Puntos: 2
Ejercicio 2

Lenguaje: C++
Dificultad: Fácil
Descripción: Escribe una calculadora sencilla para vectores 2D situados en el origen de coordenadas. El programa pedirá al usuario la operación a realizar (+, -, *, /), así como los operandos necesarios (puntos x1, y1, x2, y2), y devolverá el resultado de la operación solicitada.

Por ejemplo:

Introduce la primera coordenada: (1,2)

Introduce la segunda coordenada: (3,4)

Que operacion desea realizar: +

La suma de los vectores es: (4,6)
__________________
Cita:
"La programación es una carrera entre ingenieros de software luchando para construir programas cada vez más grandes, mejores y a prueba de idiotas, y el universo intentando producir cada vez más grandes y mejores idiotas. Por ahora, gana el universo." by Rich Cook
  #4 (permalink)  
Antiguo 02/07/2005, 13:45
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 22 años
Puntos: 52
Ejercicio 3

Lenguaje: C
Dificultad: Normal
Descripción: Desarrollar un conversor de sistemas de unidades principales manualmente. Realizar rutinas que conviertan un numero de una base a otra sin usar las funciones de las bibliotecas de C o C++.

El programa de convertir:

decimal -binario(db)
decimal- hexadecimal(dh)
binario- decimal(bd)
binario- hexadecimal(bh)
hexadecimal-decimal(hd)
hexadecimal -binario(hb)

La entrada seria primero el numero, luego un simbolo indicando el tipo de convercion y por ultimo dar el resultado sin exeso de ceros(a la izquierda).
------------
Entrada:
7
db
Salida:
111
------------
Entrada:
9F
hb
Salida:
10011111
------------

Última edición por Instru; 02/07/2005 a las 13:52
  #5 (permalink)  
Antiguo 02/07/2005, 13:51
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 22 años
Puntos: 52
Ejercicio 4

Lenguaje: C
Dificultad: Normal
Descripcion:Realizar una pila de datos simple y dinamica usndo punteros. El programa debe usar punteros para crear los elementos de la pila dinamicamente y debe simular el funcionamiento de una pila, esto es:introducir datos a la pila y al pedirlos que de el ultimo que metiste y luego el que se sigue y asi sucesivamente. Un ejemplo de como debe ser el programa es:

Salida:
(i)nsertar dato
(o)obtener dato
(v)aciar pila

Entrada:
i
1
i
2
i
3
i
4
i
5
o

Salida:
5

Entrada:
o
Salida:
4
Entrada:
o
Salida:
3
Entrada:
o
Salida:
2
Entrada:
v
Salida:
No hay datos en la pila.

Esto es un ejemplo sencillo con numeros, para mayor dificultad puede tambien aceptar cadenas y otro tipo de datos.
  #6 (permalink)  
Antiguo 02/07/2005, 14:10
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 22 años
Puntos: 52
Ejercicio 5

Lenguaje: C
Dificultad: Dificil
Descripcion: Realizar una lista multiplemente enlazada en forma de arbol.
Este programa debe ser hecho usando punteros para crear los nodos dinamicamente. El programa debe tener una interfaz entendible ya que se debe poder aplicar diferentes operaciones a los nodos.
En este ejemplo se hace un arbol con solo 2 nodos por rama. Para mas dificultad, se puede hacer incluso con 5 logrando asi un arbol complejo y y con todo tipo de datos.

{...} Significa que al seleccionar esa opcion, te da mas opciones
Salida:
1-Crear nodo{...}
2-Selecionar nodo{...}
3-Eliminar{...}
4-Mover{...}
5-Mostrar{...}
Entrada:
1
Salida:
a-Crear cabeza(nodo principal, solo si no hay)
b-Seleccionar rama donde crear el nodo
c-Crear nuva rama
Entrada:
a
Salida:
1-Crear nodo{...}
2-Eliminar{...}
3-Mover{...}
4-Mostrar{...}
Entrada:
4
Salida:
Cabeza:
{datos}
-Rama1:
{datos}
-Rama secundaria:
{datos}
-Rama2:
{Datos}
Entrada:
2
Salida:
a-Eliminar nodo
b-Eliminar rama y subramas
c-Eliminar todo
Entrada:
c
Salida:
Memoria vacia.


Este es un pequeño ejemplo para dar la idea de como hacerlo, se puede usar otra interfaz.
  #7 (permalink)  
Antiguo 02/07/2005, 18:13
Avatar de spike_jr  
Fecha de Ingreso: febrero-2005
Ubicación: Valencia
Mensajes: 114
Antigüedad: 19 años, 9 meses
Puntos: 2
Ejercicio 6

Lenguaje: C++
Dificultad: Normal
Descripcion:

Para realizar el trabajo que se nos ha encargado, el alumno deberá adaptar la clase Cola vista en clase para que pueda guardar los trabajos de impresión (string).

El programa trabajará con dos colas que van a guardar hasta 10 elementos en cada una de ellas (una para la impresora antigua y otra para la nueva).

Al comenzar el programa se entrará en un bucle con el menú de decisiones, del cual sólo se saldrá si se elige la opción “salir” (cerrar los servidores de impresión). Además de esta opción se contará con las siguientes opciones:

1.-Mandar a imprimir un fichero a la impresora vieja.

El alumno deberá introducir el nombre del fichero a imprimir. Si la cola de impresión ya está llena (es decir, tiene ya 10 elementos en cola) se pierde el fichero que se pretendía imprimir y se pasa a un fichero histórico llamado errores.dat donde se almacena la información sobre el nombre del fichero que se ha perdido y la impresora donde se ha intentado imprimir (impr_vieja)
separados por el carácter ‘:’.

2.-Mandar a imprimir un fichero a la impresora nueva.

El alumno deberá introducir el nombre del fichero a imprimir. Si la cola de impresión ya está llena (tiene ya 10 elementos en cola) hace lo mismo que la impresora antigua. Es decir, se pierde el fichero que se pretendía imprimir y se pasa a un fichero histórico llamado errores.dat donde se almacena la información sobre el nombre del fichero que se ha perdido y la impresora donde se ha intentado imprimir (impr_nueva) separados por el carácter ‘:’.

3.-Avanzar una unidad de tiempo.

Con esta opción simulamos el paso del tiempo. Cuando hacemos avanzar una unidad de tiempo, la impresora nueva imprime el primer elemento de su cola (es decir, que lo elimina de la cola de impresión). La impresora vieja, como es la mitad de rápida, sólo imprime cada 2 veces que se pase por aquí. Es decir, que las veces “pares” que se pase por esta opción de “avanzar una unidad de
tiempo” se eliminará un elemento de la cola de la impresora vieja.

Una vez impresos los trabajos que se tengan que imprimir, se comprobará si la impresora nueva ha impreso ya 5 trabajos. Si es así, hay que tomar las medidas oportunas para que no se rompa y se pierda el menor número posible de trabajos. Para eso, pasaremos los elementos que quedan en la cola de la impresora nueva a la cola de la impresora vieja, siempre y cuando la cola de la
impresora vieja no esté llena. Cuando la cola de la impresora vieja ya esté llena se descartarán los ficheros que queden, indicando en el fichero “errores.dat” que son trabajos de la impresora nueva redirigidos a la vieja y descartados. Al vaciarse la cola de la impresora nueva, ésta se enfría
y vuelve a estar dispuesta para imprimir trabajos.

0.-Cerrar los servidores de impresión.

Está opción hará salir al programa del bucle en el que se encuentra, mostrará por pantalla el fichero de errores “errores.dat” y detendrá el servicio de impresión.

A continuación tenemos un ejemplo de cómo podría quedar el fichero "errores.dat”.

listado.xls:impr_vieja
docu1.doc:impr_nueva
docu2.doc:impr_nueva:impr_vieja
docu3.doc:impr_vieja

La primera y la última línea corresponde a ficheros que han tratado de ser impresos en la impresora vieja cuando estaba su cola llena. La segunda línea corresponde a un fichero que ha tratado de imprimirse en la impresora nueva cuando ya estaba llena la cola con 10 elementos. La tercera línea corresponde a un fichero que trató de imprimirse en la impresora nueva, pero se estropeó y se intentó pasar a la impresora vieja, pero esta ya tenía la cola llena con 10 elementos.

Cada vez que se avance una unidad de tiempo el programa de monitorización de las colas mostrará el estado de cada cola de impresión y si se calienta la impresora nueva se debería mostrar una cola vacía y la otra cola con todos los elementos que haya podido admitir.

Pista: Crear una clase cola (Cola.h, Cola.cpp) y manerjarla con un programa principal.

Fuente del ejercicio: Una práctica de la universidad
__________________
Cita:
"La programación es una carrera entre ingenieros de software luchando para construir programas cada vez más grandes, mejores y a prueba de idiotas, y el universo intentando producir cada vez más grandes y mejores idiotas. Por ahora, gana el universo." by Rich Cook
  #8 (permalink)  
Antiguo 31/10/2005, 11:51
Avatar de grifo  
Fecha de Ingreso: octubre-2005
Ubicación: COLOMBIA
Mensajes: 49
Antigüedad: 19 años, 1 mes
Puntos: 0
Ejercicio 7

Lenguaje: C++ en DOS
Dificultad: fácil
Descripcion:

Pintar un rectangulo (en modo texto no?)que se mueve por toda la pantalla, aprece, desparece y vuleve a aprecer en otro lado de la pantalla, el rectangulo cuando se encuentra cera a una "margen" no queda recortado, se ve todo, entonces se mueve de aquì para allà, siempre visible, hasta que el usuario oprime la tecla F4, desparece el rectangulo y se pide una cadena de caracteres (escribir algo) despues que se da enter, la frace con espacios y todo se situa en el centro de la pantalla y con un enter empiezan a caerse letra por letra hasta terminar la cadena, siendo asì termina el programa

saludos buenas idea spike_jr
ciao
__________________
-Tener la conciencia limpia es síntoma de mala memoria.
- Lo importante no es ganar, sino hacer perder al otro
- Si no eres parte de la solución, eres parte del problema.
- Errar es humano, pero echarle la culpa a otro, es más humano todavía.
- Yo no sufro de locura la disfruto a cada momento :-D
:-D

Última edición por grifo; 31/10/2005 a las 16:45
  #9 (permalink)  
Antiguo 23/01/2006, 23:32
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 22 años
Puntos: 52
Lenguaje: C
Dificultad: Muy dificil
Descripcion: Crear una calculadora en consola, con, por lo menos, la mayoria de las opciones de una calculadora cientifica. La calculadora debe calcular:
-sumas
-restas
-multiplicacion
-division
-potencia
-raiz(no solo cuadrada sino de cualquiera)
-sumas negativas
-seno, coseno, tangente, cotangente, secante, cosecante( y sus inversas sen-1)
-hipotenusas
-logaritmos
-uso de parentesis, corchetes y llaves(opcional
-fracciones(opcional)
-variables(solo en un grado de dificultad mayor, opcional)
-manejo de todas las unidades para los angulos. (grados, radianes, etc)
-notacion cientifica
-cambio de bases

Se pueden apoyar en la libreria math.h aunque es mucho mas aconsejable crear tus propias funciones.
La calculadora debe poder aceptar un numero considerable de terminos o en vez de eso, ejecutar la accion inmediatamente.
Los que tengan un nivel muy alto de conocimiento y quieran realizar este ejericio seria interesante que intentaran un analizador de expresiones recursivo.
No pongo ejemplos ya que este ejercicio puede ser resuelto de distintas maneras.
Por ultimo, para los que sepan manejar librerias graficas ya sea univerales o las de windows, seria tambien muy interesante hacer una interfaz grafica.
  #10 (permalink)  
Antiguo 24/03/2006, 12:26
 
Fecha de Ingreso: diciembre-2005
Ubicación: Ciudad de México
Mensajes: 45
Antigüedad: 18 años, 11 meses
Puntos: 1
Ejercicio 9

Lenguaje: C
Dificultad: Reto
Descripción:
La idea es crear una sopa de letras de dimensión nxm que será resuelta por el mismo programa.

-El tamaño de la sopa de letras será definida por el usuario en tiempo de ejecución.
-Después de especificado del tamaño, el programa generará aleatoriamente la sopa de letras, y lo desplegará al usuario.
-Una vez generada la sopa de letras, y desplegada la misma, el usuario determinará hasta 10 palabras de al menos 3 letras.
-Finalmente el programa deberá de buscar las palabras que el usuario especifique y desplegar su ubicación con coordenadas(x,y) así como la posición de la palabra: vertical, horizontal, diagonal,vertical invertida, horizontal invertida, diagonal invertida.

Objetivo del ejercicio:
Con este ejercicio se pretende practicar el uso de apuntadores así como reforzar la comprensión de las estructuras de control.

Recomendaciones:
Se recomienda anidar el menor número de ciclos posible, así como hacer uso de múltiples funciones(código modular) para un manejo más sencillo del código.

Nota:
Para la asignación del espacio de nxm no es necesario el uso de memoria dinámica, ya que el objetivo de este ejercicio no es el manejo de la misma.
  #11 (permalink)  
Antiguo 05/05/2006, 06:16
 
Fecha de Ingreso: abril-2006
Mensajes: 166
Antigüedad: 18 años, 7 meses
Puntos: 0
Ejercicio 10

Lenguaje: C++
Dificultad: Dificil
Descripción: Consiste en realizar un programa que resuelva sudokus.

De inicio debe mostrar un "panel SUDOKU" vacío, sin ningún número. Cuando introduzcamos los números necesarios para poder resolverlo, pulsamos la tecla F4 y muestra de inmediato la solución de dicho SUDOKU.

Si no introducimos los números mínimos necesarios para resolver el sudoku, debe mostrar un mensaje avisándolo. Si el sudoku tiene más de una solución, bastará con mostrar una de las soluciones.


Este ejercicio se podrá resolver también con coordenadas, por ejemplo:

Al iniciar el programa, que vaya pidiendo:
Introduce el número 1,1->
Introduce el número 1,2->
...

Y la solución la muestre así:

En la coordenada 3,3 va el número: X
En la coordenada 3,4 va el número: Y
...

Aunque de esta manera será mucho más engorroso.

Con esto quiero decir que el objetivo real de este ejercicio es hacer el código que deduzca las soluciones.

Última edición por aupaneu; 05/05/2006 a las 06:29
  #12 (permalink)  
Antiguo 02/07/2006, 15:50
Avatar de TolaWare
Colaborador
 
Fecha de Ingreso: julio-2005
Mensajes: 4.352
Antigüedad: 19 años, 4 meses
Puntos: 24
Ejercicio 11

Lenguaje: C++
Dificultad: Reto
Descripción: Consiste en un programa que encuentre las soluciones de un sistema de N ecuaciones con N incognitas.

El programa debe ir piediendo una a una las ecuaciones que componen el sistema. Debemos señalar el fin de ingreso de las ecuaciones mediante un caracter destinado a este fin.
Por ejemplo:
Ingrese la ecuacion 1: 3*x + 2*y= 9 <enter>
Ingrese la ecuacion 2: 1*y + 2*x = 1 <enter>
ingrese la ecuacion 3: <enter> <- aqui el programa inerpreta que se ha terminado el ingreso de ecuaciones.

El sistema debe determinar si existen o no las soluciones, y en caso de existior, debe determinar si las solucione sson unicas o multiples. Y en el caso de que sea solucion unica, obiamente tiene que calcular cual es esta solucion.

El formato de salida, podria ser asi:
Sistema de solucion unica:
x = 9
y = 7


otro ej:
Sistema de soluciones multiples

otro ej:
Sistema sin solucion.

Estableci como dificultad "reto" ya que para realizarlo, se debven tener conocimientos de algebra, de modelado numerico y un poco de automatas para interpretar las ecuaciones que se ingresan como cadenas.
__________________
http://blog.tolaware.com.ar -> Blog de Java, Ruby y Linux
  #13 (permalink)  
Antiguo 10/02/2007, 07:26
 
Fecha de Ingreso: febrero-2007
Mensajes: 12
Antigüedad: 17 años, 9 meses
Puntos: 0
Ejercicio 12

Lenguage: C++
Dificultad: Facil
Descripción: Se debe crear un sistema de alumnos que tenga como objetivo manejar un registro de 15 alumnos, en el cual se debe almacenar numero de registro, nombre, edad, curso y promedio final de cada alumno.

El programa debe dar cuatro opciones: Modificar alumno, Borrar alumno, Crear alumno, Buscar alumno.
En el caso de modificar alumno, que pida el numero de registro, y los otros datos, en el caso de borrar alumno, que pida el numero de registro y lo borre, en el de crear alumno, que pida todos los datos, NO puede haber más de 15 alumnos, si se supera la cantidad dar un mensaje de error, y en el último caso, el de buscar alumno, que pida los datos y al presionar enter que se muestre la/las coincidencias.

Es facil, pero medio laborioso
Saludos
  #14 (permalink)  
Antiguo 14/02/2007, 17:36
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 22 años
Puntos: 52
Ejericio 13

Lenguage: C/C++
Dificultad: Media
Descripción: Crear un pong usando solo el modo consola. Es decir sin usa ninguna libreria grafica como la de windows, la Dx, SDL, allegro, etc etc.

El truco estar en usar caracteres ASCII y mucho ingenio.

En este ejercicio es aceptable usar la libreria no estandar conio.h, mas sin embargo es mas util hacerlo sin ella.

Recomendaciones:
Sacar el maximo provecho del paradigma estructurado de C y orientado a objectos de C++. Separar pequeños bloques de codigos en funciones por ejemplo. Una funcion que ponga bloques del escenario en la pantalla. Una funcion que haga la deteccion de colisiones.
Por otro lado se podrian usar objectos para represaentar cada aspecto del juego e ir derivando segun sea necesario. Depende de las ideas del que lo quiera hacer.
  #15 (permalink)  
Antiguo 27/09/2008, 19:31
Avatar de mongus3010  
Fecha de Ingreso: julio-2008
Mensajes: 82
Antigüedad: 16 años, 4 meses
Puntos: 0
Pregunta Respuesta: Taller de Programacion

porque ya no han seguido con el taller de programacion a que se debe o que rollo acaso ya no tienen tiempo o a que se debe me gustaria que siguieran con este tipo de talleres en verdad ayuda a la gente aunque a simple vista parece no haber pegado mucho
  #16 (permalink)  
Antiguo 06/07/2009, 09:28
Avatar de FTech  
Fecha de Ingreso: julio-2009
Mensajes: 88
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Taller de Programacion

Variables Simples

Tener en cuenta que algunos problemas se tornarán más fáciles usando arrays, lo cual no estará permitido.

Encuentre los enteros impares positivos que no excedan a N, junto con sus cuadrados, donde N es un entero mayor que 1.

Diseñe un programa para resolver una ecuación cuadrática.

Dada una lista de valores correspondientes al peso de N estudiantes, calcular su promedio.

Diseñe un programa que permita encontrar el segundo número más grande de N números distintos.

Dado un número natural, diseñar un programa que permita mostrar sus dígitos invertidos.

Dado un número real, mostrar la cantidad de dígitos que posee la parte entera, y la cantidad que posee la parte decimal.

Diseñe un programa para generar los K primeros números de la serie Fibonacci.

Diseñar un diagrama que dado un número lo descomponga en sus factores primos, informando la cantidad de veces que dicho factor primo integra el número.
  #17 (permalink)  
Antiguo 06/07/2009, 09:38
Avatar de FTech  
Fecha de Ingreso: julio-2009
Mensajes: 88
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Taller de Programacion

Vectores

Dado un vector de N elementos. Invertir dicho vector. (No se permite el uso de vector auxiliar)

Calcular la media de las estaturas de una clase de N alumnos. Deducir cuantos son más altos que la media y cuantos son más bajos que dicha media.

Sumar dos polinomios P y Q de grado M y N respectivamente.

Diseñar un diagrama que permita decidir si un número dado N es capicúa o no.

Dada una lista de N números distintos, mostrar los dos más próximos. La distancia entre dos elementos se calcula como la diferencia en valor absoluto.

Dada una lista ordenada de N elementos, insertar un elemento dado E en dicha lista si es que no existe, de lo contrario reportar su posición. El vector tiene como límite inferior 0 y límite superior N. Aplicar búsqueda secuencial y por dicotomía.

Dada una lista de números distintos de 0, ordenar sus elementos a medida que vayan ingresando y asignándose al vector. Pista: Aplicar método de baraja.

Dado un vector "a", de N números reales y un vector de índices(conteniendo las posiciones iniciales de cada elemento), mostrar el vector "a" ordenado utilizando el índice; es decir sin realizar intercambios en "a".

----Ejemplo:
vector a : 10-4-12-9-1-3-5
vector ind:1-2-3-4-5-6-7

Salida:
vector a: 10-4-12-9-1-3-5
vector ind:5-6-2-7-4-1-3

Depurar una lista desordenada, sobre ella misma. Comparar cada elementos con todos los restantes a partir del algoritmo de clasificación por slección directa.
  #18 (permalink)  
Antiguo 06/07/2009, 09:44
Avatar de FTech  
Fecha de Ingreso: julio-2009
Mensajes: 88
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Taller de Programacion

Matrices

Dada una tabla de MxN que representa las notas de N alumnos de M comisiones de cierta materia. Calcular el promedio por comisión y la mayor nota por comisión.

Diseñar un diagrama que calcule y muestre las N primeras filas del Triángulo de Pascal.

fila 1: 1
fila 2: 1 1
fila 3: 1 2 1
fila4: 1 3 3 1
fila 5: 1 4 6 4 1
fila 6: 1 5 10 10 5 1

Dado un conjunto C de N elementos y una tabla T de N filas y N columnas que representa cierta operación entre los elementos de C, determinar si dicha operación es conmutativa(Postulado de Algebra de Boole)

Sea una tabla de MxN ordenada por filas en forma ascendente. Diseñar un diagrama que dada una lista de M elementos los inserte en la fila correspondiente utilizando el método de Búsqueda Binaria.
  #19 (permalink)  
Antiguo 24/06/2010, 17:05
 
Fecha de Ingreso: junio-2010
Ubicación: Argentina
Mensajes: 2
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Taller de Programacion

Buenas, soy nuevo en este foro y por lo que vi es muy rico en informacion y ayuda.Bueno tengo 16 años y quiero empezar a estudiar programacion, no se por donde empezar ni que lenguaje elegir.Lo unico que estoy estudiando es el Pseudocogido pero no se que lenguaje me conviene aprender y como.Me vendria bien algunos consejos.Gracias
  #20 (permalink)  
Antiguo 15/11/2011, 09:30
 
Fecha de Ingreso: enero-2011
Mensajes: 51
Antigüedad: 13 años, 10 meses
Puntos: 21
Ejercicio 14:

El siguiente ejercicio puede ser aplicado a varios lenguajes de programación, lo importante es que se manejen las estructuras básicas del lenguaje elegido, tales como:
  • Entrada y salida estándar
  • Operadores matemáticos simples y operadores de comparación
  • Sentencias de selección como los IF
  • Condiciones booleanas simples
  • Repetición con FOR o estructura similar
  • Repetición condicional con un bucle como WHILE, DO..WHILE, etc

Lenguaje: Pascal (pensado para este lenguaje), C, C++, Java.
Dificultad Fácil/Medio.
Descripción:

Un pequeño juego:

Los tres ejercicios anteriores corresponden a modificar códigos ya hechos por mí y a remodificar lo que ya habían hecho en los ejercicios anteriores, que aunque no es del todo fácil es más sencillo que diseñar un programa desde 0. Ahora les plantearé un pequeño juego para que lo hagan. Piensen en esto como en su primer proyecto de programación. Podrán usar todo lo que hemos visto hasta el momento. Este juego se centrará en el uso del WHILE. El problema es el siguiente:

Un jugador deberá adivinar en un máximo de 15 intentos un número entre 1 y 100. Si el jugador adivina, el programa se lo notificará y terminará su ejecución, en caso contrario el jugador recibirá una pista para volver a intentar adivinar. El juego le dirá si el número que debe adivinar es mayor o menor que el que ha ingresado y el jugador volverá intentarlo.

En cada caso el juego deberá mostrar al jugador el número de intento actual y cuantos restantes le quedan. Cuando el usuario pierda, el programa deberá mostrar cuál era el número que debía adivinar. Siempre asumiremos que recibiremos un entero desde la entrada estándar.
El número a ser adivinado será generado al azar por el juego.

Ejemplos de ejecución:
Ejemplo 1:
Dispones de 15 intentos para adivinar.
1)--> 98
¡¡¡Muy bien!!! ¡¡¡Has adivinado!!!


Ejemplo 2:
Dispones de 15 intentos para adivinar.
1)--> 99
Lo siento, no has acertado.
El número que debes adivinar es menor.

Dispones de 14 intentos para adivinar.
2)--> 80
Lo siento, no has acertado.
El número que debes adivinar es mayor.

Dispones de 13 intentos para adivinar.
3)--> 85
¡¡¡Muy bien!!! ¡¡¡Has adivinado!!!


Ejemplo 3:
Dispones de 15 intentos para adivinar.
1)--> 60
Lo siento, no has acertado.
El número que debes adivinar es menor.
. . .
Dispones de 1 intentos para adivinar.
15)--> 13
Lo siento, no has acertado.
Lamentablemente has perdido. El número era 10.


Mucha suerte. Espero que esto les guste. Un saludo, y como siempre, estaré a las órdenes.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 14 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 23:00.