Ejercicios Propuestos
1. Implemente un programa en C que use hilos independientes, Un hilo imprime números pares
del 1 al 10 y la suma de dichos números, y otro hilo que imprime números impares del 1 al
10. Cree dos hilos de cada uno y muestre la salida. (Colmenarez, Gil, Luna)
2. Implementa un programa en C, que genere un vector de MAX números enteros
aleatorios comprendidos entre 0 y 9. A continuación buscara secuencialmente en
dicho vector el número que se le pasa como primer argumento. El programa debe
crear tantos hilos como se le indique en el segundo argumento. Y cada hilo ha de
realizar la búsqueda en un fragmento consecutivo del vector de un tamaño
aproximadamente igual para todos los hilos. Una vez que un hilo encuentre el
número, todos los hilos finalizaran la búsqueda. El hilo principal esperara a que
acaben todos los hilos y ´ mostrara por pantalla el índice de una posición en la que
este el numero ´ o si el número no está en el vector- (Reyes, Giménez, Vizcaya.)
3. Escribe un programa en C que cree dos threads. El primero de ellos debe escribir los
números pares (mayores 10) y el otro los impares (mayores a 9). En pantalla deben aparecer
los números ordenados por lo que las ejecuciones deben ser alternas. El proceso padre
deberá esperar a que termine el proceso hijo. .( Oropeza, Suarez, Escalona)
4. Escribe un programa en C que pida por teclado tres cadenas de caracteres y Después
escriba cada cadena por pantalla carácter a carácter. La escritura de cada cadena
deberá hacerla un proceso diferente. El proceso padre deberá esperar a que termine el
proceso hijo. ( Torres, Sivira)
5. Escribe un programa en C que reciba dos números enteros como parámetros de
entrada y cree dos procesos de manera determine si uno o los dos números son primos
imprimir, sino calcule el Factorial de uno de los números, de forma concurrente. El
proceso padre será el último en terminar, es decir, que espere a la terminación de sus
procesos hijos. .( Guedez, Mendoza, Arquizna)
6. Escribir una función que lea de la entrada estándar un carácter y escriba ese carácter
en un fichero cuyo descriptor se pasa como argumento a la misma. Una vez escrito
en el fichero el carácter leído, la función escribirá por la salida estándar el
identificador del proceso que ejecuta la función. El proceso padre será el último en
terminar, es decir, que espere a la terminación de sus procesos hijos. .( Timaure,
López, Barreto)
7. Escribe un programa en C que dada 2 matrices, sincronice los hilos del código de tal
forma que se imprima en primer lugar la matriz identidad, luego la primera fila de la
matriz2, a continuación la segunda, después la tercera y así sucesivamente hasta la
´última fila de la matriz. El proceso padre será el último en terminar, es decir, que
espere a la terminación de sus procesos hijos. . .( Piñero, Gutiérrez, Triana)
8. Escribe un programa en C que reciba dos arreglos como parámetros de entrada y cree
dos threads. El primero de ellos debe ordenar uno descendente y otro ascendente. El
proceso padre será el último en terminar, es decir, que espere a la terminación de sus
procesos hijos. .( Torrealba , Gil, Canelón )
9. Escribe un programa en C que cree los threads para hallar las tablas de multiplicar de
dos números dados. La ejecución debe ser concurrente, El hilo principal finalizara
cuando se haya impreso todas las tablas. ( Pérez, Giménez, Peraza)
10. Implementa un programa en C, que calcule una secuencia de potencias de 2. El
programa creara tantos hilos como se especifique en su único argumento. Y cada hilo
calculara la potencia de 2 de un número que se le pasa como argumento. El proceso
padre será el último en terminar, es decir, que espere a la terminación de sus procesos
hijos. ( Pérez, Giménez, Peraza)
11. Escribe un programa que ejecute tres hilos en paralelo a los que llamaremos A, B y
C. El hilo A consta de tres bloques de código (a1, a2 y a3), el hilo B de otros cuatro
(b1, b2, b3 y b4) y el C de 3 (c1, c2 y c3). Haz que el código de cada uno de estos
bloques consista en repetir cinco veces los siguientes pasos: escribir un mensaje que
lo identifique y realizar un retardo aleatorio. .( Rivss, Rodríguez, Pineda)
12. Implementa un programa en lenguaje C que cree 10 hilos de tipo “sumador” y otros
10 hilos de tipo “restador”. Los hilos sumadores sumarán uno a una variable global
v, realizando cada uno esta operación 1000 veces. Los hilos restadores restarán uno
a la variable global v y cada uno realizará esta operación 1000 veces. Se incluye la
estricción de que el valor de la variable v no puede ser nunca negativo. Utiliza mutex
y variables de condición para sincronizar la ejecución de los hilos. (Salazar,
Zambrano)
13. Elabore un hilo que con 10 nombres de los pitufos comiendo pan con queso (3), quien
termine los tres panes indique que termino. (Pineda, Heredia, Mejías
.
14. Realiza ejercicio N- 7, de la guía final SO.(Vargas)
15. Implementa un programa que calcule una secuencia de potencias de 2. El programa creara
tantos hilos como se especifique en su ´ unico argumento. Y cada hilo calcu- ´ lara la
potencia de 2 de un n ´ umero que se le pasa como argumento. El primer hilo ´ recibira 0
como argumento y calcular ´ a´ 2 0 . El segundo hilo, 2 1 . El tercero, 2 2 y as´ı
sucesivamente. El hilo principal mostrara por pantalla el resultado calculado por ´ cada hilo
subordinado (Freitez, Meléndez()
Compila y ejecuta cada ejercicio para comprobar su funcionamiento