IT007.P19

Bài 8

/* test.c */
int main(int argc, char** argv)
{       
   	int a;
	for (int i = 1; i < 5; i++)
	{
		if (i % 2 == 0)
   			printf(“Hello world\\n");
		else a = 5*9;
	}
  	exit(0);
}

Bài 9

int main(int argc, char **argv)
{
    int i = 2;
    while (i < = 5)
    {
        i++;
        if (i % 2 == 0)
        {
            printf(“Hello”);
            printf(“Hi”);
        }
        else
        {
            printf(“Bye”);
        }
    }
    exit(0);
}

Bài 10

int main(int argc, char **argv)
{
    int a, b, i;
    for (i = 16, i >= 6; i--)
    {
        if (i % 3 == 0)
        {
            printf(“Số % d chia hết cho 3”, i);
        }
        else
        {
            a = b + i;
        }
    }
    exit(0);
}

Bài 12

int main()
{	
	fork();
	fork(); 
	fork();
	fork();
	return 0;
}

image.png

Bài 13

#include <stdio.h>
#include <unistd.h>
int main()
{
	int i;
	for (i = 0; i < 4; i++)
	{
		fork();
		printf("hello\\n");
	}
	return 0;
}
flowchart TD
  R1-P1((P1)) --> M1{{hello}} --> R2-P1((P1)) & R2-P2((P2))

  R2-P1((P1)) --> M2{{hello}} --> R3-P1((P1)) & R3-P3((P3))
  R2-P2((P2)) --> M3{{hello}} --> R3-P2((P2)) & R3-P4((P4))

  R3-P1((P1)) --> M4{{hello}} --> R4-P1((P1)) & R4-P5((P5))
  R3-P3((P3)) --> M5{{hello}} --> R4-P3((P3)) & R4-P6((P6))
  R3-P2((P2)) --> M6{{hello}} --> R4-P2((P2)) & R4-P7((P7))
  R3-P4((P4)) --> M7{{hello}} --> R4-P4((P4)) & R4-P8((P8))

  R4-P1((P1)) --> M8{{hello}} --> R5-P1((P1)) & R5-P9((P9))
  R4-P5((P5)) --> M9{{hello}} --> R5-P5((P5)) & R5-P10((P10))
  R4-P3((P3)) --> M10{{hello}} --> R5-P3((P3)) & R5-P11((P11))
  R4-P6((P6)) --> M11{{hello}} --> R5-P6((P6)) & R5-P12((P12))
  R4-P2((P2)) --> M12{{hello}} --> R5-P2((P2)) & R5-P13((P13))
  R4-P7((P7)) --> M13{{hello}} --> R5-P7((P7)) & R5-P14((P14))
  R4-P4((P4)) --> M14{{hello}} --> R5-P4((P4)) & R5-P15((P15))
  R4-P8((P8)) --> M15{{hello}} --> R5-P8((P8)) & R5-P16((P16))

Bài 14

int main (int argc, char **argv)
{
	int pid;
	printf(“Tiến trình cha \\n”);
	pid = fork();
	if (pid > 0)
	{
		fork();
		printf(“Tiến trình cha \\n”);
	} 
	else
	{
		printf(“Tiến trình con \\n”);
		if(fork() > 0 )
			printf("Tiến trình cha \\n"); 
		else 
			printf("Tiến trình con \\n");
	}
}
flowchart TD
  R1-P1((P1)) --> M1{{Tiến trình cha}} --> R2-P1((P1)) & R2-P2((P2))

  R2-P1((P1)) --> R3-P1((P1)) & R3-P3((P3))
  R3-P1((P1)) --> M2{{Tiến trình cha}}
  R3-P3((P3)) --> M3{{Tiến trình cha}}

  R2-P2((P2)) --> M4{{Tiến trình con}}
  M4 --> R3-P2((P2))
  R3-P2 --> M5{{Tiến trình cha}}
  M4 --> R3-P4((P4))
  R3-P4 --> M6{{Tiến trình con}}

Bài 15