Cómo funciona JustAnswer:

  • Preguntar a un Experto
    Los expertos tiene muchos conocimientos valiosos y están dispuestos a ayudar en cualquier pregunta. Credenciales confirmadas por una empresa de verificación perteneciente a Fortune 500.
  • Obtener una respuesta profesional
    Por correo electrónico, mensaje de texto o notificación mientras espera en su sitio.
    Haga preguntas de seguimiento si lo necesita.
  • Garantía de satisfacción plena
    Garantizamos tu satisfacción.

Formule su propia pregunta a benjaminrc78

benjaminrc78
benjaminrc78, Diplomatura
Categoría: Informática
Clientes satisfechos: 5
Experiencia:  Ingeniero Técnico Informático. Experiencia profesional desde 1995.
60062687
Escriba su pregunta sobre Informática aquí...
benjaminrc78 está en línea ahora

estoy esperando respuesta

Pregunta del cliente

estoy esperando respuesta
Enviada: hace 5 año.
Categoría: Informática
Experto:  elvis1231 escribió hace 5 año.
me podria decir su pregunta
Experto:  D.Soto escribió hace 5 año.

Hola, ¡Bienvenido a JustAnswer!

 

Explíquenos su problema con más detalle.

 

Gracias.

Cliente: escribió hace 5 año.
Creación de Procesos


El problema que le expongo trata de la realización de un programa en C llamado padre que deberá crear un proceso “hijo” el cual deberá calcular los 10 primeros números de la sucesión de Fibonacci e imprimirlos por salida estándar (formato “ HIJO: fibonacci % N =%M\n ”
donde %N y %M representan el índice y el valor del correspondiente número de la sucesión)

Mientras el ”hijo” realiza el cálculo, el “padre” deberá esperar a que termine.Una vez haya terminado, el hijo comunicará al proceso “padre” la información necesaria para poder continuar con el cálculo de la sucesión.De esa manera el padre podrá continuar y calcular los siguientes 10 números de la sucesión e imprimirlos por salida estándar (formato “ PADRE: fibonacci %N=%M\n”
donde %N y %M representan el índice y el valor del correspondiente número de la sucesión)
El “padre” no deberá nunca calcular la sucesión desde el inicio.
Experto:  benjaminrc78 escribió hace 5 año.
Te adjunto el codigo que te va a ayudar a realizar lo que pides de una manera muy facil y con el codigo comentado.
Espero que te sirva de ayuda.
No te escribo el codigo completo porque considero que esta bien que le des un poco al coco, pero con lo que te dejo, lo tienes muy facil.
El calculo de fibonaci te dejo el metodo normal y el metodo recursivo.


#include <stdio.h> /* Este programa muestra el uso de arrays */ // Funcion principal int main() { // Creamos un array de 24 integers [0,23] int fib[24]; // Creamos un integer int i; // Asignamos valores a los dos primeros int fib[0] = 0; fib[1] = 1; /* Rellenamos el resto de valores de la * secuencia de Fibonacci * */ for(i = 2; i < 24; i++) fib = fib[i-1] + fib[i-2]; // Mostramos toda la serie for (i = 0; i < 24; i++) printf("%3d %6d\n", i, fib); // Terminamos return 0; }

#include <stdio.h> #include <stdlib.h> // Funcion que recursivamente calcula el valor // de la serie Fibonacci int fib(int num) { switch(num) { case 0: return(0); break; case 1: return(1); break; default: /* Including recursive calls */ /* Cada vez se llama recursivamente dos veces a la funcion * lo que significa que tiene un costo bastante alto * La recursividad aporta a veces soluciones sencillas y elegantes * pero hay que tener mucho cuidado con los costes * Ver las notas sobre time mas abajo * */ return(fib(num - 1) + fib(num - 2)); break; } } /* Para comprobar el uso de recursos se puede utilizar el * comando time de unix: * time ./5-Fibonacci_recursivo 40 * 102334155 <-- Respuesta de este programa * * real 0m4.190s <-- Tiempo real que ha tardado * user 0m4.136s <-- Tiempo utilizando CPU como usuario * sys 0m0.001s <-- Tiempo utilizando CPU como sistema * * */ /* Funcion principal */ int main(int argc, char *argv[]) { // Declaramos variables locales int numero, valor; if (argc == 2) { // Si tenemos dos argumentos // Tomamos el segundo argumento como valor sscanf(argv[1], "%d", &valor); } else if (argc == 1) { // Si tenemos un solo argumento (la llamada al programa) printf("Introduzca un valor: "); // Tomamos la entrada como valor scanf("%d", &valor); } else { // Si tenemos mas de dos argumentos printf("Uso: %s [valor]\n", argv[0]); // Terminamos con un valor distinto de 0 (error) exit (1); } // Llamamos a la funcion numero=fib(valor); // Mostramos el resultado printf("%6d\n", numero); // Terminamos return 0; }

#include <stdio.h> #include <pthread.h> #define NUM_IT 100 // Variable global iniciada a 0 int a=0; void * hilo (void *arg) { int id,i,aux; // Tomamos el argumento como identificador del hilo id = (int) arg; printf("Soy el hilo %d con identificador %d.\n", id, pthread_self() ); // El hilo 0 aumenta el valor de a, //+ el resto lo decrementa for (i=0; i<NUM_IT; i++) if (id == 0) { aux = a; aux++; a = aux; } else { aux = a; aux--; a = aux; } // No es estrictamente necesario pthread_exit(0); } int main(void) { // Creamos variables hilo pthread_t t1, t2, t3; // Creamos tres hilos printf("Creamos los hilos. Valor inicial de a: %d.\n", a ); pthread_create(&t1, NULL, hilo, (void *)0); pthread_create(&t2, NULL, hilo, (void *)1); pthread_create(&t3, NULL, hilo, (void *)2); // Esperamos a que acaben los hilos printf("Esperando que terminen los hilos. Valor de a: %d.\n", a); pthread_join(t1, NULL); printf("--Hilo terminado. Valor de a: %d.\n", a); pthread_join(t2, NULL); printf("--Hilo terminado. Valor de a: %d.\n", a); pthread_join(t3, NULL); printf("--Hilo terminado. Valor de a: %d.\n", a); // Terminamos printf( "\nHilos terminados. Valor de a: %d.\n", a ); return 0; } // main
Cliente: escribió hace 5 año.
Muchas gracias.


Lo voy a ejecutar...

Opiniones de nuestros clientes:

 
 
 
  • Explicación simple y concreta que facilitó enormemente lo que tenía que hacer. Osvaldo Argentina
  • Explicación simple y concreta que facilitó enormemente lo que tenía que hacer. Osvaldo Argentina
  • Gracias! Servicio excelente. Me ha gustado trabajar con los Expertos. Éxito y gracias. Estefanía Chile
  • Muy agradecida. Si lo necesito volveré a utilizar el site. Mari Ramírez San Juan, Puerto Rico
  • El tiempo de respuesta es excepcional, de menos de 6 minutos. La pregunta se respondió con profesionalidad y con un alto grado de compasión. Inés Santander
  • Quedé muy satisfecho con la rapidez y la calidad de los consejos que recibí. Me gustaría añadir que puse en práctica los consejos y que funcionaron la primera vez y siguen haciéndolo. Luis Málaga
  • Es un servicio fantástico y M. Castillo me ayudó muchísimo y me proporcionó algunos sitios web y herramientas estupendos que me permitieron ampliar mis conocimientos sobre la pregunta. ¡Muchas gracias! Esther Sevilla
  • Un servicio estupendo: rápido, eficiente y preciso. ¿Qué más se puede pedir? No tengo palabras para agradecer su ayuda. María Barcelona
 
 
 

Conozca a los expertos:

 
 
 
  • Jesús

    Jesús

    Técnico Informático

    Clientes satisfechos:

    711
    Experto en Software, Hardware y Redes.
  • http://ww2.justanswer.com/uploads/JE/jesemo/2012-2-26_21847_yocarnet.64x64.jpg Avatar de Jesús

    Jesús

    Técnico Informático

    Clientes satisfechos:

    711
    Experto en Software, Hardware y Redes.
  • http://ww2.justanswer.com/uploads/ES/Estigia/2011-10-18_211225_VMNB.64x64.JPG Avatar de Estigia

    Estigia

    Ing. en Electrónica

    Clientes satisfechos:

    1009
    Especializado en HW, SW e Infraestructura de Redes.
  • http://ww2.justanswer.com/uploads/AR/arcangelus/2012-1-3_2523_Jluis.64x64.jpg Avatar de arcangelus

    arcangelus

    Ing. en Sistemas

    Clientes satisfechos:

    428
    Más de 20 años de experiencia en Informatica
  • http://ww2.justanswer.com/uploads/RR/rrubidio/2015-3-16_19381_arnetnuevo.64x64.jpeg Avatar de Rubén Díaz

    Rubén Díaz

    Técnico en computación, informática

    Clientes satisfechos:

    381
    Más de 7 años de experiencia en soporte informático in-situ y remoto, con conocimientos en equipos Windows, Mac, Smartphone y periféricos.
  • http://ww2.justanswer.com/uploads/AL/Albertillo/2012-10-29_21350_newtshirthe.64x64.jpg Avatar de Albertillo

    Albertillo

    Ingeniero Superior en Informática

    Clientes satisfechos:

    23
    Último curso de carrera
  • http://ww2.justanswer.com/uploads/RA/ratonxi/2012-1-3_151146_1.64x64.png Avatar de ratonxi

    ratonxi

    Licenciatura

    Clientes satisfechos:

    13
    Licenciado en Física, expecialidad física computacional.
 
 
 

Preguntas relacionadas con Informática