Você está na página 1de 7

18/5/2016

Linguagem de Programao
aplicada a Microcontroladores
2015/2
Aula 09

Curso Tcnico em Eletrnica

Funes

A Funo

Funes so as estruturas que permitem ao usurio separar seus


programas em blocos. Se no as tivssemos, os programas teriam que
ser curtos e de pequena complexidade. Para fazermos programas
grandes e complexos temos de constru-los bloco a bloco.
Uma funo no C tem a seguinte forma geral:

tipo_de_retorno nome_da_funo (declarao_de_parmetros)


{
corpo_da_funo
}
18/5/2016

Funes

O tipo-de-retorno o tipo de varivel que a funo vai retornar. O


default o tipo int, ou seja, uma funo para qual no declaramos o tipo
de retorno considerada como retornando um inteiro. A declarao de
parmetros uma lista com a seguinte forma geral:

tipo nome1, tipo nome2, ... , tipo nomeN

Repare que o tipo deve ser especificado para cada uma das N
variveis de entrada. na declarao de parmetros que informamos ao
compilador quais sero as entradas da funo (assim como informamos a
sada no tipo-de-retorno).
O corpo da funo a sua alma. nele que as entradas so
processadas, sadas so geradas ou outras coisas so feitas.

Funes

O Comando return

O comando return tem a seguinte forma geral:


return valor_de_retorno; ou return;
Digamos que uma funo est sendo executada. Quando se chega
a uma declarao return a funo encerrada imediatamente e, se o
valor de retorno informado, a funo retorna este valor. importante
lembrar que o valor de retorno fornecido tem que ser compatvel com o
tipo de retorno declarado para a funo.
Uma funo pode ter mais de uma declarao return. Isto se torna
claro quando pensamos que a funo terminada quando o programa
chega primeira declarao return.
18/5/2016

Funes

Aqui esto dois exem-


plos de uso do return:

Funes

importante notar que, como as funes retornam valores,


podemos aproveit-los para fazer atribuies, ou mesmo para que estes
valores participem de expresses. Mas no podemos fazer:

func(a,b)=x; /* Errado! */

No segundo exemplo vemos o uso de mais de um return em uma


funo.
Fato importante: se uma funo retorna um valor voc no precisa
aproveitar este valor. Se voc no fizer nada com o valor de retorno de
uma funo ele ser descartado. Por exemplo, a funo printf() retorna
um inteiro que ns nunca usamos para nada. Ele descartado.
18/5/2016

Funes

O Tipo void
Agora vamos ver o nico tipo da linguagem C que no detalhamos
ainda: o void. Em ingls, void quer dizer vazio e isto mesmo que o void
. Ele nos permite fazer funes que no retornam nada e funes que no
tm parmetros! Podemos agora escrever o prottipo de uma funo que
no retorna nada:
void nome_da_funo (declarao_de_parmetros);

Numa funo, como a acima, no temos valor de retorno na


declarao return. Alis, neste caso, o comando return no necessrio
na funo.
Podemos, tambm, fazer funes que no tm parmetros:
tipo_de_retorno nome_da_funo (void);

ou, ainda, que no tem parmetros e no retornam nada:


void nome_da_funo (void);

Funes

Um exemplo de funes que usam o tipo void:

Se quisermos que a funo retorne algo, devemos usar a declarao


return. Se no quisermos, basta declarar a funo como tendo tipo-de-
retorno void. Devemos lembrar agora que a funo main() uma funo e
como tal devemos trat-la. O compilador acha que a funo main() deve
retornar um inteiro. Isto pode ser interessante se quisermos que o sistema
operacional receba um valor de retorno da funo main().
18/5/2016

Funes

Se no estivermos interessados neste tipo de coisa, basta declarar a


funo main como retornando void.
As duas funes main() abaixo so vlidas:

A primeira forma vlida porque, como j vimos, as funes em C tm, por


padro, retorno inteiro.. Alguns compiladores reclamaro da segunda forma de
main, dizendo que main sempre deve retornar um inteiro. Se isto acontecer com o
compilador que voc est utilizando, basta fazer main retornar um inteiro.

Funes

A Funo GetTickCount()

Esta uma funo da biblioteca windows.h. uma funo que no


tem argumentos de entrada, mas fornece como sada um inteiro
correspondente a quantidade de tempo em que o sistema est ligado, em
milissegundos.
18/5/2016

Funes

A Funo GetSystemTime(&varivel)

Esta mais uma funo da biblioteca windows.h. uma funo que


tem como argumento de sada uma varivel tipo estrutura previamente
declarada da biblioteca. O resultado dado por estas variveis.
wYear para ano
wMonth para ms
wDayOfWeek para dia da semana
wDay para dia
wHour para hora
wMinute para minuto
wSecond para segundo
wMilliseconds para milissegundos

Todas so do tipo inteiro.

Funes
18/5/2016

Funes

A Funo clock()

Esta uma funo da biblioteca time.h. A funo devolve o tempo


de CPU decorrido desde o incio da execuo do seu programa. O tempo
medido em ciclos do relgio interno. Cada CLOCKS_PER_SEC ciclos
correspondem aproximadamente a 1 segundo e definida de acordo com
o clock do hardware.
Portanto ao dividirmos o nmero de ciclos do relgio interno
(clock()) pelo total de ciclos em 1 segundo (clocks_per_sec), teremos o
tempo gasto pelo programa desde o inicio da sua execuo at o instante
em que a operao de diviso executada.

float tempo;
tempo = (float)clock() / (float)CLOCKS_PER_SEC;

Você também pode gostar