Quer ganhar o livro uC/OS-III The Real-Time Kernel?

- por Sergio Prado

Categorias: Promoção, RTOS Tags: , ,

Como vocês podem ver, tenho aqui comigo algumas cópias de capa-dura do livro sobre o novíssimo uC/OS-III da Micrium!

O livro é muito bom, extremamente didático, fácil de acompanhar e entender. Traz os conceitos principais de sistemas operacionais de tempo real como o escalonador de tarefas, tratamento de interrupções, mecanismos de sincronização, comunicação entre tarefas, etc. São 820 páginas de muito RTOS na veia!

Os livros foram gentilmente doados pela NXP para serem sorteados aqui no blog. Mas é claro que não vai ser tão fácil assim! :)

Se você quer receber este livro no conforto da sua casa (frete por minha conta para qualquer lugar do Brasil) precisa resolver os 4 desafios abaixo.

Cada desafio vale um ponto. As 3 (três) pessoas que pontuarem melhor levarão um livro para casa. Se houver empate, farei um sorteio. O concurso vale até o dia 24/01/2012 às 23:59.

Mandem as respostas para contato@sergioprado.org com o assunto “Concurso livro Micrium“.

Atualização: O concurso esta encerrado. O resultado foi publicado aqui.

DESAFIO 1

O código abaixo tem um erro. Qual é este erro?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdlib.h>
#include <stdio.h>
 
#define SIZE 15 
 
int main()
{
    int *a, i;
 
    a = malloc(SIZE*sizeof(int));
 
    for (i = 0; i < SIZE; i++)
        *(a + i) = i * i;
 
    for (i = 0; i < SIZE; i++)
        printf("%d\n", *a++);
 
    free(a);
 
    return 0;
}

DESAFIO 2

O código abaixo também tem um erro. Qual?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
 
int main()
{
    int* ptr1, ptr2;
 
    ptr1 = malloc(sizeof(int));
 
    ptr2 = ptr1;
 
    *ptr2 = 10;
 
    return 0;
}

DESAFIO 3

A função abaixo recebe um vetor de números inteiros e tem o objetivo de retornar o menor número inteiro deste vetor. Implemente esta função sem usar nenhum operador de comparação! Ou seja, você não pode usar nenhum destes operadores: “==“, “!=“, “>“, “<“, “>=“, “<=“.

1
2
3
4
unsigned int menor(unsigned int buf[], size_t size)
{
 
}

DESAFIO 4

Escreva um programa em C que imprima “Quero o meu livro!“, mas sem usar nenhum ponto-e-vírgula no arquivo “.c“! Obs: o programa deve compilar e funcionar normalmente.

Um abraço e boa sorte!

Sergio Prado

Faça um Comentário

Navegue
Creative Commons Este trabalho de Sergio Prado é licenciado pelo
Creative Commons BY-NC-SA 3.0.