Prof. Stefano 1 PROGRAMAÇÃO EM LINGUAGEM C Prof. Stefano.

60
Prof. Stefano 1 PROGRAMAÇÃO EM LINGUAGEM C Prof. Stefano

Transcript of Prof. Stefano 1 PROGRAMAÇÃO EM LINGUAGEM C Prof. Stefano.

Page 1: Prof. Stefano 1 PROGRAMAÇÃO EM LINGUAGEM C Prof. Stefano.

Prof. Stefano1

PROGRAMAÇÃO EM LINGUAGEM C

Prof. Stefano

Page 2: Prof. Stefano 1 PROGRAMAÇÃO EM LINGUAGEM C Prof. Stefano.

• Histórico• Estrutura de um programa• Constantes e variáveis• Operadores• Declarações de Controle• Exercícios

2

Page 3: Prof. Stefano 1 PROGRAMAÇÃO EM LINGUAGEM C Prof. Stefano.

• A primeira linguagem de programação de alto nível com real aceitação foi FORTRAN, na década de 50, para análise e resolução de problemas matemáticos;

• Em 1959 surgiu o COBOL, voltada para aplicações comerciais;

• A linguagem C foi desenvolvida em 1972, por Dennis Ritchie, para utilização com o sistema operacional UNIX;

3

Histórico

Page 4: Prof. Stefano 1 PROGRAMAÇÃO EM LINGUAGEM C Prof. Stefano.

• Estrutura básica de um programa em C:

4

Estrutura de um programa

void main() {

}

Page 5: Prof. Stefano 1 PROGRAMAÇÃO EM LINGUAGEM C Prof. Stefano.

void main() { TRISB = 0x00; do {

PORTB = 0; Delay_ms(500); PORTB= 255; Delay_ms(500); } while(1); }

5

Estrutura de um programaNo ambiente do MikroC digite o programa abaixo

Page 6: Prof. Stefano 1 PROGRAMAÇÃO EM LINGUAGEM C Prof. Stefano.

void main() { TRISB = 0x00; do {

PORTB = 0; Delay_ms(500); PORTB= 255; Delay_ms(500); } while(1); }

6

Estrutura de um programaIdentificando os elementos do programa

Configura as portas

Laço do ....while(condição)

Escreve 0 nas portas

Espera 500 ms

Escreve 25510 nas portas

Espera 500 ms

Início do programa

Page 7: Prof. Stefano 1 PROGRAMAÇÃO EM LINGUAGEM C Prof. Stefano.

• Exercício: Altere o programa para que os leds pares e ímpares pisquem alternadamente;

7

Estrutura de um programa em C

Page 8: Prof. Stefano 1 PROGRAMAÇÃO EM LINGUAGEM C Prof. Stefano.

Constantes e variáveis• Identificadores: São nomes arbitrários dados as

funções, variáveis, constantes. Os identificadores podem ser1 letras de A à Z, números de 0 à 9 e “_“(underline). Não pode começar com número.– Exemplos:

• Temperatura_media• Temp• _T1• Contador

81 – Depende de cada compilador

Page 9: Prof. Stefano 1 PROGRAMAÇÃO EM LINGUAGEM C Prof. Stefano.

Constantes e variáveis• Constantes: são elementos que tem um valor fixo,

não podendo ser mudados durante a execução do programa;– Exemplo: π = 3,1415927.... Em vez de escrever toda vez o

número podemos nomear uma constante PI = 3,1415927 e durante programa utilizar PI;

• Variáveis: são elementos que permitem a alteração do seu valor durante a execução do programa. É recomendável que no início do programa seja atribuído um valor inicial a elas, que elas sejam inicializadas;– Exemplo: Calcule consumo médio de combustível de um

automóvel. CONSUMO= KM/L9

Page 10: Prof. Stefano 1 PROGRAMAÇÃO EM LINGUAGEM C Prof. Stefano.

Em linguagem C as variáveis podem assumir diferentes tipos, de acordo com a sua utilização:

10

Tipos de variáveis

Tipo Bits Faixa

unsigned char 8 0 até 255

signed char 8 -128 até 127

unsigned short int 8 0 até 255

signed short int 8 -128 até 127

unsigned int 16 0 até 65535

signed int 16 -32768 até 32767

unsigned long int 32 0 até 4294967295

signed long int 32 -2147483648 até 2147483647

float 32 ± 1,17549435082E-38 até ± 6,80564774407E38

double 32 ± 1,17549435082E-38 até ± 6,80564774407E38

long double 32 ± 1,17549435082E-38 até ± 6,80564774407E38

Page 11: Prof. Stefano 1 PROGRAMAÇÃO EM LINGUAGEM C Prof. Stefano.

Representação numérica:

Decimal: não precisa de nenhuma representação especial, mas não pode começar com zero ou será considerado como base octal;

Hexadecimal: começa com 0x (0X): Exemplo: 0x3F;

Binário: começa com 0b (0B): Exemplo: 0b1100;

11

Tipos de variáveis

Page 12: Prof. Stefano 1 PROGRAMAÇÃO EM LINGUAGEM C Prof. Stefano.

Operadores• Operador é um símbolo que faz com que

compilador execute alguma operação matemática ou lógica;

• Os principais operadores são aritméticos, de relação, lógicos e bit a bit;

• A seguir serão apresentados os principais elementos de cada operador. Este tópico será visto em maiores detalhes na linguagem de programação aplicado diretamente ao compilador utilizado;

12

Page 13: Prof. Stefano 1 PROGRAMAÇÃO EM LINGUAGEM C Prof. Stefano.

Operadores• Operador Aritmético

13

Operador Operação realizada

+ Soma

- Subtração

* Multiplicação

/ Divisão

% Resto da divisão

+ + Incremento

- - Decremento

Page 14: Prof. Stefano 1 PROGRAMAÇÃO EM LINGUAGEM C Prof. Stefano.

• Exercício: Altere o programa anterior para que os leds sejam incrementados utilizando um contador;

14

Operadores

void main() { unsigned char contador=0; TRISB = 0x00;PORTB=0; do {

Delay_ms(500); PORTB= contador; contador++; Delay_ms(500); } while(1); }

Qual o tempo totalentre cada

incremento?

Page 15: Prof. Stefano 1 PROGRAMAÇÃO EM LINGUAGEM C Prof. Stefano.

• Exercício: Altere o programa anterior para que os leds mostrem o resultado da operação matemática;

15

Operadores

void main() {unsigned char soma=0; TRISB = 0x00; do {

soma= 16 + 6/3 -3; //15 PORTB= soma; Delay_ms(1000); soma= (6*2 + 8)/10 + 40; //42 PORTB= soma; Delay_ms(1000); } while(1); }

Page 16: Prof. Stefano 1 PROGRAMAÇÃO EM LINGUAGEM C Prof. Stefano.

Operadores• Operador de Relação: eles testam as relações nas

expressões. Seu resultado é 1 se for verdadeiro ou 0 se for falso;

16

Operador Operação realizada

= = Igual a

! = Não igual a

> Maior que

< Menor que

> = Maior ou igual a

< = Menor ou igual a

Page 17: Prof. Stefano 1 PROGRAMAÇÃO EM LINGUAGEM C Prof. Stefano.

Operadores• Exemplos de Operador de Relação: • 4 = = 3; retorna 0 - FALSO• 3 = = 3; retorna 1 - VERDADEIRO• 7 > = 3; retorna 1 – VERDADEIRO• 4 < = 3; retorna 0 - FALSO• 4 ! = 3; retorna 1 – VERDADEIRO• 4 > 3; retorna 1 – VERDADEIRO

17

Page 18: Prof. Stefano 1 PROGRAMAÇÃO EM LINGUAGEM C Prof. Stefano.

• Exercício: Altere o programa anterior para que quando o contador chegar em 255 o programa saia do laço e termine a execução;

18

Operadores

void main() {unsigned char contador=0; TRISB = 0x00;do {

PORTB = 0; Delay_ms(500); PORTB= contador; contador++; Delay_ms(500); } while(contador < 255);

}

Page 19: Prof. Stefano 1 PROGRAMAÇÃO EM LINGUAGEM C Prof. Stefano.

Operadores• Operadores lógicos: realizam operações lógicas nas

expressões. Os operandos são considerados verdadeiros(1) ou falsos(0). Seu resultado é 1 se for verdadeiro ou 0 se for falso;

19

Operador Operação realizada

& & AND

| | OR

! NOT (Negado)

Page 20: Prof. Stefano 1 PROGRAMAÇÃO EM LINGUAGEM C Prof. Stefano.

Operadores• Exemplos de Operador Lógico: a) (3 > 1) & & (2= = 2); 1 & & 1; resulta em 1 - verdadeiro

b) (3 > 7) | | (2= = 2); 0 | | 1 ; resulta em 1 - verdadeiro

c) !{(3 > 1) & & (2= = 2)} ; !{ 1 & & 1}; !{ 1} ; - resulta em 0 - falso

20

Page 21: Prof. Stefano 1 PROGRAMAÇÃO EM LINGUAGEM C Prof. Stefano.

Operadores• Operadores Bit a Bit: eles testam as relações dos

operadores nas expressões bit a bit;

21

Operador Operação realizada

& AND

| OR

^ XOR

~ NOT

> > SHIFT RIGHT,desloca bits a direita

< < SHIFT LEFT, desloca bits a esquerda

Page 22: Prof. Stefano 1 PROGRAMAÇÃO EM LINGUAGEM C Prof. Stefano.

Operadores• Exemplos de Operador Bit a Bit: a) v1= 101101, v2=110011, v3 = v1 & v2; AND v1 = 1 0 1 1 0 1 v2 = 1 1 0 0 1 1 v3 = 1 0 0 0 0 1

b) v1= 110001, v2=010111, v3 = v1 | v2; OR v1 = 1 1 0 0 0 1 v2 = 0 1 0 1 1 1 v3 = 1 1 0 1 1 1

22

Page 23: Prof. Stefano 1 PROGRAMAÇÃO EM LINGUAGEM C Prof. Stefano.

• Exemplo: Implemente o programa abaixo e acompanhe a variação na saída de acordo com a variação na entrada;

23

Operadores

void main() { TRISA = 0xFF; TRISB = 0x00;TRISC= 0x00; do {

PORTB = PORTA & 0x0F; PORTC = PORTA && 0x0F;

} while(1); }

Page 24: Prof. Stefano 1 PROGRAMAÇÃO EM LINGUAGEM C Prof. Stefano.

Operadores• Exemplos de Operador Bit a Bit: c) v1= 101101, v2=110011, v3 = v1 ^ v2; XOR v1 = 1 0 1 1 0 1 v2 = 1 1 0 0 1 1 v3 = 0 1 1 1 1 0

d) v1= 110001, v2 = ~ v1 ; NOT v1 = 1 1 0 0 0 1 v2 = 0 0 1 1 1 0

24

Page 25: Prof. Stefano 1 PROGRAMAÇÃO EM LINGUAGEM C Prof. Stefano.

• Exemplo: Implemente o programa abaixo e acompanhe a variação na saída;

25

Operadores

void main() { TRISB = 0x00; do {

PORTB = ~PORTB; Delay_ms(500);

} while(1); }

Page 26: Prof. Stefano 1 PROGRAMAÇÃO EM LINGUAGEM C Prof. Stefano.

Operadores• Exemplos de Operador Bit a Bit: e) v1= 000101, v2=v1 << 2; SHIFT LEFT (x 2) = 001010; <<1 v2 = 010100; <<2

f) v1= 010100, v2=v1 >> 2; SHIFT RIGHT (÷ 2) = 001010; >> 1 v2 = 000101; >> 2

26

Page 27: Prof. Stefano 1 PROGRAMAÇÃO EM LINGUAGEM C Prof. Stefano.

• Implemente um programa que desloca os leds do PORTB para direita;

27

Operadores

void main() { TRISB = 0x00; PORTB = 0xA0; do {

PORTB = PORTB>>1; Delay_ms(100); } while(1); }

Acompanhe asimulação para

ver o que acontececom a saída

Page 28: Prof. Stefano 1 PROGRAMAÇÃO EM LINGUAGEM C Prof. Stefano.

• Exercício: Implemente um programa que desloca os leds do PORTB para a esquerda;

28

Operadores

Page 29: Prof. Stefano 1 PROGRAMAÇÃO EM LINGUAGEM C Prof. Stefano.

• O controle do fluxo normal de um programa é um poderoso recurso em qualquer linguagem de programação;

• A seguir veremos as diferentes formas de fazer este controle;

29

Controle de fluxo de um programa

Page 30: Prof. Stefano 1 PROGRAMAÇÃO EM LINGUAGEM C Prof. Stefano.

Controle de fluxo de um programa

• Declaração de controle condicional IF

IF.......THEN....ELSESE......ENTÃO...SENÃO

• Ele é utilizado para executar um determinado comando se uma determinada condição for verdadeira. A opção ELSE não é obrigatória.

30

IF (true) THEN CommandsTrueELSE CommandsFalse

IF (verdadeiro) THEN ComandosVerdadeiroELSE ComandosFalso

Page 31: Prof. Stefano 1 PROGRAMAÇÃO EM LINGUAGEM C Prof. Stefano.

• Caso 1: somente verdadeiro:

31

Controle de fluxo de um programa

void main() { TRISB = 0x00; TRISA = 0xFF;do { if (PORTA.F0 = = 1)

{ PORTB = 0X0F; }

Delay_ms(1000); PORTB = 0XF0 ;

} while(1); }

if (true) { CommandsTrue}

Page 32: Prof. Stefano 1 PROGRAMAÇÃO EM LINGUAGEM C Prof. Stefano.

• Exercício: Implemente um programa para que toda vez que uma entrada (PORTA.0) estiver sendo acionada (1) um contador é incrementado e o valor mostrado em PORTB. O intervalo de incremento no contador é de 300ms.

32

Controle de fluxo de um programa

Page 33: Prof. Stefano 1 PROGRAMAÇÃO EM LINGUAGEM C Prof. Stefano.

• Caso 2: com verdadeiro e falso:

33

Controle de fluxo de um programa

void main() { TRISB = 0x00; TRISA = 0xFF;do { if (PORTA.0 = = 1)

PORTB = 0X0F; else PORTB = 0XF0 ;

} while(1); };

if (true) { CommandsTrue}else{ CommandsFalse}

Page 34: Prof. Stefano 1 PROGRAMAÇÃO EM LINGUAGEM C Prof. Stefano.

• Exercício: Implemente um programa para que toda vez que uma entrada (PORTA.0) estiver sendo acionada (1) somente os leds pares de PORTB devem estar ligados, caso contrário os ímpares.

34

Controle de fluxo de um programa

Page 35: Prof. Stefano 1 PROGRAMAÇÃO EM LINGUAGEM C Prof. Stefano.

• Exercício: Implemente um programa que tenha um contador que é incrementado a cada 300 ms e seu valor mostrado na PORTB. Enquanto o valor do contador for menor que 50 a saída PORTC.0 fica em 1, caso contrário somente a saída PORTC.1 fica em 1.

35

Controle de fluxo de um programa

Page 36: Prof. Stefano 1 PROGRAMAÇÃO EM LINGUAGEM C Prof. Stefano.

• Desafio: Considere que na saída PORTB tenhamos 8 leds ligados. Elabore um programa para que somente 1 led esteja ligado e que o acendimento se desloque entre os 8 leds, de uma ponta para outra, em um movimento de ida e volta. O incremento no deslocamento deverá ser a cada 300 ms e em laço infinito. Utilize o IF para selecionar o sentido do deslocamento do led.

36

Controle de fluxo de um programa

Page 37: Prof. Stefano 1 PROGRAMAÇÃO EM LINGUAGEM C Prof. Stefano.

• Caso 3: IF aninhado:

37

Controle de fluxo de um programa

if (true1) { Commands1}else if(true2) { Commands2 } else if (true3) { Commands3 }

else { Commands4 }

true1 ?

Commands1

N

V

true2 ?

N

V

true3 ?

N

V

Commands2

Commands3

Commands4

Page 38: Prof. Stefano 1 PROGRAMAÇÃO EM LINGUAGEM C Prof. Stefano.

38

Controle de fluxo de um programavoid main() {unsigned char contador=0; TRISB = 0x00; TRISC = 0x00;do { PORTB=contador; if (contador < 20)

PORTC = 0X01; else if (contador < 40) PORTC = 0X03 ; else if (contador < 70) PORTC = 0X07 ;

else PORTC = 0X0F ;contador++;

} while(1); }

Page 39: Prof. Stefano 1 PROGRAMAÇÃO EM LINGUAGEM C Prof. Stefano.

• Exercício: Altere o programa anterior para que as saídas da PORTC (C.0, C.1 e C.2) tenha seu nível lógico alterado de acordo com a tabela abaixo.

39

Controle de fluxo de um programa

Contador C.0 C.1 C.2

Contador>127 0 0 0

31<NIVEL≤127 1 0 0

15<NIVEL≤31 1 1 0

NIVEL≤15 1 1 1

Page 40: Prof. Stefano 1 PROGRAMAÇÃO EM LINGUAGEM C Prof. Stefano.

• Desafio: A) Considere que na entrada PORTA tenhamos 8 chaves ligadas simbolizando os sensores de segurança de uma casa. Elabore um programa, utilizando o IF aninhado para testar os sensores, um de cada vez, para que, enquanto algum dos sensores estiver atuado (1) todos os leds da saída PORTB devem ficar ligados, caso contrário desligados.

• B) Implemente um programa para resolver o problema acima sem utilizar o IF aninhado. Compare os dois programas e avalie qual é a melhor solução.

40

Controle de fluxo de um programa

Page 41: Prof. Stefano 1 PROGRAMAÇÃO EM LINGUAGEM C Prof. Stefano.

Controle de fluxo de um programa

• Declaração de controle condicional WHILE

WHILE (true) { }ENQUANTO (verdadeiro) { }

• Faz a verificação da condição ANTES de executar o comando. Enquanto a condição permanecer verdadeira o(s) comando(s) é/são executados.

41

WHILE (true){Comandos}

Page 42: Prof. Stefano 1 PROGRAMAÇÃO EM LINGUAGEM C Prof. Stefano.

42

Controle de fluxo de um programa

pergunta ?

Comandos

N

V

while(true){Comandos}

Page 43: Prof. Stefano 1 PROGRAMAÇÃO EM LINGUAGEM C Prof. Stefano.

• Exemplo WHILE:

43

Controle de fluxo de um programa

void main() {unsigned char contador=0; TRISB = 0x00;while(contador < 31) { PORTB = contador;

Delay_ms(300); contador++;

}}

Qual é o valor finalque aparece na saída??

Page 44: Prof. Stefano 1 PROGRAMAÇÃO EM LINGUAGEM C Prof. Stefano.

Controle de fluxo de um programa• Exercício: Na esteira abaixo quando o sensor S1 for

acionado por uma peça o motor M1 deve ser ligado e quando a peça acionar o sensor S2 o motor deve ser desligado. Implemente um programa em C que atenda o solicitado.

44

S1

M1

S2

S1 = PORTA.0S2 = PORTA.1M1 = PORTB.0

Page 45: Prof. Stefano 1 PROGRAMAÇÃO EM LINGUAGEM C Prof. Stefano.

• Resolução:

45

Controle de fluxo de um programa

void main() { TRISB = 0x00; TRISA = 0xFF;do { while(PORTA.f0 = = 0);

PORTB.f0 = 1;

while(PORTA.f1 = = 0);

PORTB.f0 = 1;

} while(1); }

Page 46: Prof. Stefano 1 PROGRAMAÇÃO EM LINGUAGEM C Prof. Stefano.

Controle de fluxo de um programa• Exercício: Na esteira abaixo a peça é colocada na posição

dada pelo sensor S1, e com isso o motor M1 é ligado, levando a peça até o sistema de aquecimento. Neste instante o motor M1 é desligado e a peça espera 3 segundos, sendo o motor M1 ligado novamente para levar a peça para o resfriamento, quando então o motor M1 é desligado novamente, aguardando agora 4 segundos neste estágio. Após decorrido o tempo o motor M1 é ligado novamente para levar a peça até a posição dada pelo sensor S4, quando o motor é desligado novamente. Implemente um programa em C que atenda o solicitado.

46

S1 = PORTA.0S2 = PORTA.1S3 = PORTA.2S4 = PORTA.3M1 = PORTB.0

Page 47: Prof. Stefano 1 PROGRAMAÇÃO EM LINGUAGEM C Prof. Stefano.

• Resolução:

47

Controle de fluxo de um programa

Page 48: Prof. Stefano 1 PROGRAMAÇÃO EM LINGUAGEM C Prof. Stefano.

Controle de fluxo de um programa

• Declaração de controle condicional DO ... WHILE

DO { }WHILE (true) FAÇA{ } ENQUANTO (verdadeiro)

• Executa a ação ANTES de verificar a condução. Enquanto a condição permanecer verdadeira o(s) comando(s) é/são executados.

48

DO { Comandos }WHILE (true);

Page 49: Prof. Stefano 1 PROGRAMAÇÃO EM LINGUAGEM C Prof. Stefano.

49

Controle de fluxo de um programa

pergunta ?

Comandos

N

V

do { Comandos }while (true);

Page 50: Prof. Stefano 1 PROGRAMAÇÃO EM LINGUAGEM C Prof. Stefano.

• Exemplo:

50

Controle de fluxo de um programa

void main() {unsigned char contador=0;

TRISB = 0x00;do {

PORTB= contador; contador++; Delay_ms(300); } while(contador < 31); }

Page 51: Prof. Stefano 1 PROGRAMAÇÃO EM LINGUAGEM C Prof. Stefano.

• Exemplo:

51

Controle de fluxo de um programa

void main() { TRISB = 0x00;PORTB=0x01; do{ do {

PORTB= PORTB<<1; delay_ms(300); } while(PORTB!=128); do {

PORTB= PORTB>>1; delay_ms(300); } while(PORTB!=1); }while(1); }

Page 52: Prof. Stefano 1 PROGRAMAÇÃO EM LINGUAGEM C Prof. Stefano.

EXERCÍCIOS DE REVISÃO

52

Exercícios de revisão

Page 53: Prof. Stefano 1 PROGRAMAÇÃO EM LINGUAGEM C Prof. Stefano.

Exercícios de revisão• Exercício : No sistema abaixo quando uma peça é colocada na

posição dada pelo sensor S1 o motor M1 é ligado, levando a peça até o sensor S2 e caindo na caixa de saída. Sabe-se que a caixa suporta até 20 peças. Implemente um contador(CONT) para que somente quando somente 20 peças caírem na caixa o motor M1 é desligado e a lâmpada L1 é ligada, alertando ao operador da necessidade de trocar a caixa. Implemente um algoritmo que atenda o solicitado.

53

S1 = PORTA.0S2 = PORTA.1M1 = PORTB.0L1= PORTB.1

Page 54: Prof. Stefano 1 PROGRAMAÇÃO EM LINGUAGEM C Prof. Stefano.

• Resolução:

54

Exercícios de revisão

Page 55: Prof. Stefano 1 PROGRAMAÇÃO EM LINGUAGEM C Prof. Stefano.

Exercícios de revisão• Exercício: No exercício anterior foi acrescentado o

botão B1 no painel para que quando o operador trocar a caixa ele irá apertar o botão a lâmpada L1 irá apagar, o motor M1 é ligado novamente, o contador é zerado e o ciclo se inicia novamente.

55

S1 = PORTA.0S2 = PORTA.1B1= PORTA.2M1 = PORTB.0L1= PORTB.1

Page 56: Prof. Stefano 1 PROGRAMAÇÃO EM LINGUAGEM C Prof. Stefano.

• Resolução:

56

Exercícios de revisão

Page 57: Prof. Stefano 1 PROGRAMAÇÃO EM LINGUAGEM C Prof. Stefano.

Exercícios de revisão• Exercício: No sistema de seleção da página seguinte

quando uma caixa é colocada na posição dada pelo sensor S1 o motor M1 é ligado levando a caixa até o sensor S5, quando então é desligado. Implemente um programa para que de acordo com o tipo de caixa, dada pela figura e identificada no sistema através do acionamento dos sensores S2,S3 e S4, somente a lâmpada correspondente fique ligada. Esta lâmpada somente poderá ficar ligada até a caixa correspondente chegar ao sensor S5. O sistema é contínuo.

57

Page 58: Prof. Stefano 1 PROGRAMAÇÃO EM LINGUAGEM C Prof. Stefano.

Exercícios de revisão

58

S1 = PORTA.0S2 = PORTA.1S3 = PORTA.2S4 = PORTA.3S5 = PORTA.4

M1= PORTB.0L1= PORTB.1L2= PORTB.2L3= PORTB.3

Page 59: Prof. Stefano 1 PROGRAMAÇÃO EM LINGUAGEM C Prof. Stefano.

• Resolução:

59

Exercícios de revisão

Page 60: Prof. Stefano 1 PROGRAMAÇÃO EM LINGUAGEM C Prof. Stefano.

60

REFERÊNCIAS

• Robert Schildt. C completo e total.• User´s Manual MikroC• Fábio Pereira. Programação em C• Notas de aula do Prof. Stefano