A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Curso Engenharia Química Modalidade Superior Instituto Federal do Sul de Minas, câmpus Pouso Alegre Professora Michelle Nery Programação de Computadores.

Apresentações semelhantes


Apresentação em tema: "Curso Engenharia Química Modalidade Superior Instituto Federal do Sul de Minas, câmpus Pouso Alegre Professora Michelle Nery Programação de Computadores."— Transcrição da apresentação:

1 Curso Engenharia Química Modalidade Superior Instituto Federal do Sul de Minas, câmpus Pouso Alegre Professora Michelle Nery Programação de Computadores Instituto Federal do Sul de Minas, câmpus Pouso Alegre

2 Conteúdo Programático Instituto Federal do Sul de Minas, câmpus Pouso Alegre 2

3 Introdução Instituto Federal do Sul de Minas, câmpus Pouso Alegre 3  Aprendendo a programar em C.

4 Como escrevemos programas? Instituto Federal do Sul de Minas, câmpus Pouso Alegre 4 CodificaçãoCompilaçãoExecutável #include int main () { printf("Ola Mundo"); getch( ); return 0; }

5 Estrutura Inicial de Um Programa Instituto Federal do Sul de Minas, câmpus Pouso Alegre 5 #include int main () { getch ( ); return 0; } Instruções

6 Estrutura Inicial de Um Programa Instituto Federal do Sul de Minas, câmpus Pouso Alegre 6 #include /* Inclusão de Biblioteca */ int main () { /* Chave delimita o início do código */ getch ( ); /* Função que mantém a tela aberta*/ return 0; /* Retorno informando sucesso */ } /* Chave delimita o fim do código */

7 Funções Básicas Instituto Federal do Sul de Minas, câmpus Pouso Alegre 7

8 Funções Básicas Instituto Federal do Sul de Minas, câmpus Pouso Alegre 8  printf() – escreve uma mensagem na tela.  scanf() – lê um valor do teclado.  Porém para o uso dessas função é necessário incluir as bibliotecas às quais as funções básicas pertencem:  #include /* Contém a printf e o scanf */  #include /* Contém a getch */

9 Primeiro Programa em C Instituto Federal do Sul de Minas, câmpus Pouso Alegre 9 #include int main() { printf(“Ola Mundo!"); getch(); return 0; }

10 Declarando Variáveis Inteiras Instituto Federal do Sul de Minas, câmpus Pouso Alegre 10 #include int main() { int a; /* Declarando uma variável inteira */ getch(); return 0; }

11 Variáveis Inteiras: Programa Instituto Federal do Sul de Minas, câmpus Pouso Alegre 11 #include int main() { int numero, quadrado; /* Declarando variável inteira */ printf("Informe um valor inteiro: "); scanf("%d", &numero); /* Função Leia */ quadrado = numero * numero; printf(“Esse valor ao quadrado eh: %d", quadrado); getch(); return 0; }

12 Comparativo com o Pseudocódigo Instituto Federal do Sul de Minas, câmpus Pouso Alegre 12  printf("Informe um valor inteiro: ");  ESCREVA (“Informe um valor inteiro: ”)  scanf("%d", &numero);  LEIA (numero);  printf(“Esse valor ao quadrado eh: %d", quadrado);  ESCREVA (“Esse valor ao quadrado eh: ”, quadrado);

13 Declarando Variáveis Reais Instituto Federal do Sul de Minas, câmpus Pouso Alegre 13 #include int main() { float numero; /* Declarando uma variável real */ getch(); return 0; }

14 Variáveis Reais: Programa Instituto Federal do Sul de Minas, câmpus Pouso Alegre 14 #include int main() { float numero, quadrado; /* Declarando variável real */ printf("Informe um valor real: "); scanf("%f", &numero); quadrado = numero * numero; printf(" Esse valor ao quadrado eh: %f", quadrado); getch(); return 0; }

15 Comparativo com o Pseudocódigo Instituto Federal do Sul de Minas, câmpus Pouso Alegre 15  printf("Informe um valor real: ");  ESCREVA (“Informe um valor real: ”)  scanf("%f", &numero);  LEIA (numero);  printf(“Esse valor ao quadrado eh: %f", quadrado);  ESCREVA (“Esse valor ao quadrado eh: ”, quadrado);

16 Exemplo da Soma de Dois Números Instituto Federal do Sul de Minas, câmpus Pouso Alegre 16 #include int main() { int a, b, soma; printf("Informe o primeiro numero: "); scanf("%d", &a); printf("Informe o segundo numero: "); scanf("%d", &b); soma = a + b; printf(“A soma dos números eh: %d", soma); getch(); return 0; }

17 Sem a parte que delimita o programa Instituto Federal do Sul de Minas, câmpus Pouso Alegre 17 #include int main() { getch(); return 0; }

18 Apenas o Corpo do Programa Instituto Federal do Sul de Minas, câmpus Pouso Alegre 18 int a, b, soma; printf("Informe o primeiro numero: "); scanf("%d", &a); printf("Informe o segundo numero: "); scanf("%d", &b); soma = a + b; printf(“A soma dos números eh: %d", soma);

19 Exercícios Instituto Federal do Sul de Minas, câmpus Pouso Alegre 19  Implementar todos os exercícios da lista 1 de algoritmos.

20 Estrutura de Condição Instituto Federal do Sul de Minas, câmpus Pouso Alegre 20

21 Pseudocódigo: Maior número Instituto Federal do Sul de Minas, câmpus Pouso Alegre 21 Algoritmo MAIOR_NUMERO Variaveis A, B: REAIS; Inicio ESCREVA ("Digite o primeiro numero: "); LEIA ( A ); ESCREVA ("Digite o segundo numero: "); LEIA ( B ); SE ( A > B ) ENTAO ESCREVA (“O maior numero eh: ”, A); SENAO ESCREVA (“O maior numero eh: ”, B); FIM_SE Fim

22 Programa em C: Maior número Instituto Federal do Sul de Minas, câmpus Pouso Alegre 22 #include int main (){ float numero1, numero2; printf ("Informe o primeiro numero: "); scanf ("%f", &numero1); printf ("Informe o segundo numero: "); scanf ("%f", &numero2); if (numero1 > numero2){ printf ("O maior numero eh: %f", numero1); } else { printf ("O maior numero eh: %f", numero2); } getch( ); return 0; }

23 Pseudocódigo: Média Instituto Federal do Sul de Minas, câmpus Pouso Alegre 23 Algoritmo PROGRAMA_EXEMPLO Variaveis A, B, MEDIA: REAIS; Inicio ESCREVA ("Digite a nota da primeira prova:"); LEIA ( A ); ESCREVA("Digite a nota da segunda prova:"); LEIA ( B ); MEDIA  (A + B) / 2; ESCREVA (“A MEDIA EH: “, MEDIA); SE (MEDIA >= 60) ENTAO ESCREVA (“APROVADO!”); SENAO ESCREVA (“REPROVADO!”); FIM_SE Fim

24 Programa em C: Média Instituto Federal do Sul de Minas, câmpus Pouso Alegre 24 #include int main (){ float nota1, nota2, media; printf ("Informe o primeiro numero: "); scanf ("%f", ¬a1); printf ("Informe o segundo numero: "); scanf ("%f", ¬a2); media = (nota1 + nota2) / 2; if (media >= 60){ printf (“Aprovado"); } else { printf (“Reprovado"); } getch( ); return 0; }

25 Operadores Relacionais Instituto Federal do Sul de Minas, câmpus Pouso Alegre 25  Exemplo: if ( num == 20 ) { printf(“O NUMERO INFORMADO EH O NUMERO 20!”); } OperaçõesOperadoresExemplo Maior>a > b Maior Igual>=a >= b Menor

26 Operadores Lógicos Instituto Federal do Sul de Minas, câmpus Pouso Alegre 26 Operadores Exemplo E&a > 60 & b > 40 E &&a > 60 && b > 40 Ou|a > 60 | b > 40 Ou ||a > 60 || b > 40 Não!!(a > 60)

27 Operadores Lógicos &: Se uma das condições for falsa, todo o resto será falso. Todas as condições são analisadas. &&: Se uma das condições for falsa, todo o resto será falso. Se a primeira condição for falsa, não analisa o restante. Instituto Federal do Sul de Minas, câmpus Pouso Alegre 27  V & V = V  V & F = F  F & V = F  F & F = F  V && V = V  V && F = F  F && V = F  F && F = F  false && ?  sempre false (não avalia o segundo operando).

28 Operadores Lógicos |: Se uma das condições for verdadeira, todo o resto será verdadeiro. Todas as condições são analisadas. ||: Se uma das condições for verdadeira, todo o resto será verdadeiro. Se a primeira condição for verdadeira, não analisa o restante. Instituto Federal do Sul de Minas, câmpus Pouso Alegre 28  V | V = V  V | F = V  F | V = V  F | F = F  V || V = V  V || F = V  F || V = V  F || F = F  true || ?  sempre true (não avalia o segundo operando).

29 Operadores Lógicos Instituto Federal do Sul de Minas, câmpus Pouso Alegre 29  Exemplo Operador E: if ( num > 20 && num < 30 ) { printf(“O NUMERO EH MAIOR QUE 20 E MENOR QUE 30!”); }  Exemplo Operador OU: if ( num > 20 || num < 30 ) { printf(“O NUMERO EH MAIOR QUE 20 OU MENOR QUE 30!”); }

30 IF’s aninhados Instituto Federal do Sul de Minas, câmpus Pouso Alegre 30 Algoritmo PROGRAMA_EXEMPLO Variaveis A, B, MEDIA: REAIS; Inicio ESCREVA ("Digite a nota da primeira prova:"); LEIA ( A ); ESCREVA("Digite a nota da segunda prova:"); LEIA ( B ); MEDIA  (A + B) / 2; ESCREVA (“A MEDIA EH: “, MEDIA); SE ( MEDIA >= 60 ) ENTAO ESCREVA (“Aprovado!”); SENAO SE ( MEDIA >= 30 ) ENTAO ESCREVA (“Recuperação!”); SENAO ESCREVA (“Reprovado!”); FIM_SE Fi

31 Instituto Federal do Sul de Minas, câmpus Pouso Alegre 31 #include int main (){ float nota1, nota2, media; printf ("Informe o primeiro numero: "); scanf ("%f", ¬a1); printf ("Informe o segundo numero: "); scanf ("%f", ¬a2); media = (nota1 + nota2) / 2; printf (“A media eh: %0.2f \n”, media); if (media >= 60){ printf ("Aprovado"); } else { if (media >= 30) { printf ("Recuperacao"); } else { printf ("Reprovado"); } getch( ); return 0; }

32 Exemplo Prático Instituto Federal do Sul de Minas, câmpus Pouso Alegre 32 escreve_display(“.:: MENU ::.”); escreve_display(“1 - Configurações”); escreve_display(“2 – Iniciar Sistema”); escreve_display(“3 – Sair”); opcao = le_opcao( ); if ( opcao == 1 ) { escreve_display(“Entrando nas configurações.”); configura ( ); } else if ( opcao == 2 ) { escreve_display(“Inicializando sistema.”); inicializa ( ); } else { escreve_display(“Saindo do menu.”); }

33 Exercícios Instituto Federal do Sul de Minas, câmpus Pouso Alegre Implementar todos os exercícios da lista 2 de algoritmos.

34 Estrutura de Repetição Instituto Federal do Sul de Minas, câmpus Pouso Alegre 34

35 Estrutura de Repetição Instituto Federal do Sul de Minas, câmpus Pouso Alegre 35  Os laços de repetição ou loops se encarregam de repetir determinado bloco de instruções enquanto uma condição for verdadeira.  Temos basicamente dois tipos de loops em Linguagem C:  for (para)  while (enquanto) ou do while (faça... enquanto)

36 Estrutura de Repetição: While Instituto Federal do Sul de Minas, câmpus Pouso Alegre 36  Sintaxe: while (condição) { bloco de código; }

37 Pseudocódigo: Contador Instituto Federal do Sul de Minas, câmpus Pouso Alegre 37 ALGORITMO LOOP_ENQUANTO VARIAVEIS CONT : INTEIRO; INICIO CONT  1; ENQUANTO ( CONT < 5 ) FAÇA ESCREVA (“Numero: ”, CONT); CONT  CONT + 1; FIM_ENQUANTO FIM

38 Programa em C: While Instituto Federal do Sul de Minas, câmpus Pouso Alegre 38 #include int main (){ int cont = 1; while (cont < 5){ printf( “Numero: %d \n”, cont); cont = cont + 1; } getch( ); return 0; }

39 Pseudocódigo: Média Instituto Federal do Sul de Minas, câmpus Pouso Alegre 39 ALGORITMO PROGRAMA_MEDIA_COM_LOOP VARIAVEIS MEDIA, N1, N2: REAIS; NUM: INTEIRO; INICIO NUM  1; ENQUANTO ( NUM == 1 ) FAÇA ESCREVA (“Informe a primeira nota: ”); LEIA ( N1 ); ESCREVA (“Informe a segunda nota: ”); LEIA ( N2 ); MEDIA  ( N1 + N2 ) / 2; ESCREVA (“Sua media eh: ”, MEDIA); ESCREVA (“Digite 1 se deseja continuar no programa”); LEIA ( NUM ); FIM_ENQUANTO FIM

40 Programa em C: Média Instituto Federal do Sul de Minas, câmpus Pouso Alegre 40 #include int main () { float media, nota1, nota2; int num = 1; while (num == 1) { printf ("Informe a primeira nota: "); scanf ("%f", ¬a1); printf ("Informe a segunda nota: "); scanf ("%f", ¬a2); media = (nota1 + nota2 ) / 2; printf («A media eh: %f\n", media); printf ("Digite 1 se deseja continuar no programa: "); scanf ("%d", &num); } getch(); return 0; }

41 Estrutura de Repetição: For Instituto Federal do Sul de Minas, câmpus Pouso Alegre 41  Sintaxe: for (inicialização; condição; incremento) { bloco de código; }  Exemplo: for (cont = 1; cont <= 5; cont++) { bloco de código; }

42 Psedeucódigo: Contador Instituto Federal do Sul de Minas, câmpus Pouso Alegre 42 ALGORITMO LOOP_PARA VARIAVEIS CONT : INTEIRO; INICIO PARA CONT  1 ATÉ 5, PASSO 1, FAÇA ESCREVA (“Numero: ”, CONT); FIM_PARA FIM A cada execução do loop dá-se o nome de iteração.

43 Programa em C: Contador Instituto Federal do Sul de Minas, câmpus Pouso Alegre 43 #include int main (){ int cont; for (cont = 1; cont <= 5; cont++){ printf ( “Numero: %d”, cont); } getch ( ); return 0; }

44 Estrutura de Repetição: do... while Instituto Federal do Sul de Minas, câmpus Pouso Alegre 44  O loop do... while é uma derivação do loop while.  A diferença é que com esse loop, o bloco de código é executado uma vez antes da condição ser verificada.

45 Estrutura de Repetição: do... while Instituto Federal do Sul de Minas, câmpus Pouso Alegre 45  Sintaxe: do { bloco de código; } while (condição);

46 Pseudocódigo: Contador Instituto Federal do Sul de Minas, câmpus Pouso Alegre 46 ALGORITMO LOOP_FACA_ENQUANTO VARIAVEIS CONT: INTEIRO; INICIO CONT  0; FAÇA ESCREVA (“Numero: ”, CONT); CONT  CONT + 1; ENQUANTO ( CONT < 5 ) FIM

47 Programa em C: Contador Instituto Federal do Sul de Minas, câmpus Pouso Alegre 47 #include int main (){ int cont = 0; do{ printf( "Numero: %d\n", cont); cont = cont + 1; } while ( cont < 5 ); getch( ); return 0 ; }

48 Operadores Relacionais Instituto Federal do Sul de Minas, câmpus Pouso Alegre 48  Exemplo: while ( num == 20 ) { printf(“O numero informado e o numero 20!”); printf( “Informe novamente um numero : ” ); scanf( “ %d ”, &num); } OperaçõesOperadoresExemplo Maior>a > b Maior Igual>=a >= b Menor

49 Operadores Lógicos Instituto Federal do Sul de Minas, câmpus Pouso Alegre 49 Operadores Exemplo E&a > 60 & b > 40 E &&a > 60 && b > 40 Ou|a > 60 | b > 40 Ou ||a > 60 || b > 40 Não!!(a > 60)

50 Operadores Lógicos &: Se uma das condições for falsa, todo o resto será falso. Todas as condições são analisadas. &&: Se uma das condições for falsa, todo o resto será falso. Se a primeira condição for falsa, não analisa o restante. Instituto Federal do Sul de Minas, câmpus Pouso Alegre 50  V & V = V  V & F = F  F & V = F  F & F = F  V && V = V  V && F = F  F && V = F  F && F = F  false && ?  sempre false (não avalia o segundo operando).

51 Operadores Lógicos |: Se uma das condições for verdadeira, todo o resto será verdadeiro. Todas as condições são analisadas. ||: Se uma das condições for verdadeira, todo o resto será verdadeiro. Se a primeira condição for verdadeira, não analisa o restante. Instituto Federal do Sul de Minas, câmpus Pouso Alegre 51  V | V = V  V | F = V  F | V = V  F | F = F  V || V = V  V || F = V  F || V = V  F || F = F  true || ?  sempre true (não avalia o segundo operando).

52 Operadores Lógicos Instituto Federal do Sul de Minas, câmpus Pouso Alegre 52  Exemplo Operador E: while ( num > 20 && num < 30 ) { printf(“O número eh maior que 20 e menor que 30!”); printf(“Informe novamente um numero: ”); scanf(“%d”, &num); }  Exemplo Operador OU: while ( num > 20 || num < 30 ) { printf(“O número eh maior que 20 e menor que 30!”); printf(“Informe novamente um numero: ”); scanf(“%d”, &num); }

53 Comando Break Instituto Federal do Sul de Minas, câmpus Pouso Alegre 53  Também é possível deixar o loop rodando em uma condição que será sempre verdadeira e usar uma condição if com o comando break para encerrar o loop.  Veja o exemplo: while (1) { printf( “Mensagem Qualquer” ); cont = cont + 1; if (cont == 5) { break ; }

54 Exercícios Instituto Federal do Sul de Minas, câmpus Pouso Alegre Implementar todos os exercícios da lista 3 de algoritmos.

55 Funções Instituto Federal do Sul de Minas, câmpus Pouso Alegre 55

56 Funções Instituto Federal do Sul de Minas, câmpus Pouso Alegre 56  São utilizadas para dividir um código maior (mais complexo) em partes menores (mais simples).  Quando uma mesma tarefa é realizada várias vezes em um programa, não é necessário duplicar o código, apenas faz-se a chamada da função que contém o código da tarefa.  Este processo é conhecido como modularização.

57 Como Criar uma Função em C? Instituto Federal do Sul de Minas, câmpus Pouso Alegre 57  Uma função deve vir externa ao escopo do main e deve receber um nome;  É necessário informar o tipo de seu retorno (retorno é o dado devolvido pela função), por exemplo:  int para retorno do tipo inteiro;  float para retorno do tipo real;  void para função sem retorno.

58 Como Criar uma Função em C? Instituto Federal do Sul de Minas, câmpus Pouso Alegre 58  Também é necessário informar os tipos de seus argumentos, quando houver;  O escopo de uma função é delimitado por chaves { }. Exemplo: void oi( ) { printf ("Oi! \n"); }

59 Chamada de Função Instituto Federal do Sul de Minas, câmpus Pouso Alegre 59 #include int main() { oi( ); /* Chamada de Função Sem Retorno */ getch( ); return 0; }

60 Função com Retorno em C Instituto Federal do Sul de Minas, câmpus Pouso Alegre 60  A palavra int antes do nome da função indica que a função irá retornar um valor inteiro. int calcula_quadrado(int a) { int result; result = a * a; return result; }

61 Função com Retorno em C Instituto Federal do Sul de Minas, câmpus Pouso Alegre 61  O retorno acontece através do comando return. int calcula_quadrado(int a) { int result; result = a * a; return result; }

62 Passagem de Parâmetros Instituto Federal do Sul de Minas, câmpus Pouso Alegre 62  Observe que esta função está recebendo um valor inteiro como argumento, que foi chamado de a. int calcula_quadrado(int a) { int result; result = a * a; return result; }

63 Exemplo Completo Instituto Federal do Sul de Minas, câmpus Pouso Alegre 63 #include int calcula_quadrado (int a) { int result; result = a * a; return result; } int main () { int num, r; printf ("Informe um valor: "); scanf ("%d", &num); r = calcula_quadrado (num); printf ("Quadrado: %d", r); getch ( ); return 0; }

64 Retorno de Tipo Real em C Instituto Federal do Sul de Minas, câmpus Pouso Alegre 64  A palavra float antes do nome da função indica que a função irá retornar um valor real;  A função seguinte está dividindo um parâmetro por outro e retornando o resultado. float divide (float a, float b) { float result; result = a / b; return result; }

65 Chamada para a função Instituto Federal do Sul de Minas, câmpus Pouso Alegre 65 int main() { float n1, n2, r; printf ("Informe o primeiro numero: "); scanf ("%f", &n1); printf ("Informe o segundo numero: "); scanf ("%f", &n2); r = divide (n1, n2); printf (“Divisao: %f", r); getch ( ); return 0; }

66 Exercícios Instituto Federal do Sul de Minas, câmpus Pouso Alegre 66  Implementar todos os exercícios da lista 4 de algoritmos.

67 Estrutura Switch Case Instituto Federal do Sul de Minas, câmpus Pouso Alegre 67

68 Muitas Condições Aninhadas Instituto Federal do Sul de Minas, câmpus Pouso Alegre 68  Em algumas situações pode ser necessário o uso de muitas condições aninhadas. Exemplo: if (num == 1) { /* Bloco de Instruções */ } else{ if (num == 2) { /* Bloco de Instruções */ } else{ if (num == 3) { /* Bloco de Instruções */ } else { /* Bloco de Instruções */ }

69 Comando Switch Case Instituto Federal do Sul de Minas, câmpus Pouso Alegre 69  O comando Switch Case serve para facilitar este tipo de construção, simplificando a organização do código, já que muitas condições aninhadas podem ser um pouco confuso;  Porém o Switch Case só serve para comparar valores inteiros ou tipos derivados, por exemplo: char e long int.

70 Comando Switch Case Instituto Federal do Sul de Minas, câmpus Pouso Alegre 70 switch (n) { case 1: printf("Valor Um"); break; case 2: printf("Valor Dois"); break; case 3: printf("Valor Tres"); break; }

71 Comando Switch Case Instituto Federal do Sul de Minas, câmpus Pouso Alegre 71  Após o switch, definimos a variável que será manipulada (n);  Cada um dos blocos case trata-se de uma possibilidade de valor para esta variável;  Se a variável n for igual a 1, então o bloco de código definido no case 1 será executado;  Se a variável n for igual a 2, então o bloco de código definido no case 2 será executado;  Se a variável n for igual a 3, então o bloco de código definido no case 3 será executado;

72 Comando Switch Case Instituto Federal do Sul de Minas, câmpus Pouso Alegre 72  Também é possível adicionar um bloco default, que será executado caso a variável manipulada não corresponda a nenhum dos valores definidos pelos case; default: printf("Bloco Padrão"); break;

73 Comando Switch Case Instituto Federal do Sul de Minas, câmpus Pouso Alegre 73 switch (n) { case 1: printf("Valor Um"); break; case 2: printf("Valor Dois"); break; default: printf(“Nenhum dos Valores"); break; }

74 Comando Switch Case Instituto Federal do Sul de Minas, câmpus Pouso Alegre 74  A instrução break é responsável por encerrar a execução do bloco de código;  Quando não presente, a execução do programa inicia em um case e continua pelos próximos case, até encontrar um comando break.

75 Comando Switch Case Instituto Federal do Sul de Minas, câmpus Pouso Alegre 75 switch (n) { case 1: printf("Valor Um"); break; case 2: printf("Valor Dois"); break; default: printf(“Nenhum dos Valores"); break; }

76 Exercícios Instituto Federal do Sul de Minas, câmpus Pouso Alegre 76  Leia duas variáveis reais.  Faça um menu de opções.  (‘s’) Somar  (‘u’) Subtrair  (‘m’) Multiplicar  (‘d’) Dividir  Caso o usuário opte por um das opções, o cálculo respectivo deverá será feito, e o resultado deverá ser impresso na tela.  Caso o usuário digite uma letra errada, por default o programa indicará que a opção está incorreta.

77 Extras Instituto Federal do Sul de Minas, câmpus Pouso Alegre 77

78 Criar Funções Instituto Federal do Sul de Minas, câmpus Pouso Alegre 78  Nos programas que desenvolvemos até agora tivemos de definir nossas funções antes do main (parte principal).  Agora vamos ver como criar funções em qualquer parte de um arquivo.c ou até mesmo usar outro arquivo para implementar uma função.

79 Protótipo de Função Instituto Federal do Sul de Minas, câmpus Pouso Alegre 79  Para definir uma função em qualquer parte de um arquivo fonte em linguagem C, precisamos primeiro criar o protótipo da função.  O protótipo é a assinatura da função, trata-se da primeira linha da função porém encerrando com um ponto e vírgula ( ; ).

80 Protótipo de Função Instituto Federal do Sul de Minas, câmpus Pouso Alegre 80  Pelo protótipo informamos ao compilador que em algum ponto dos arquivos ele encontrará uma função com as características informadas.

81 Exemplo de Protótipo de Função Instituto Federal do Sul de Minas, câmpus Pouso Alegre 81  int potencia(int base, int exp);  Função: int potencia (int base, int exp) { int result = 1; for (int cont = 1; cont <= exp; cont++){ result = result * base; } return result; }

82 Como Ficaria o Programa? Instituto Federal do Sul de Minas, câmpus Pouso Alegre 82 #includes.../* Bibliotecas */ int potencia(int base, int exp); /* Protótipo */ int main ( ) {... }/* Parte Principal */ int potencia (int base, int exp) { int result = 1; for (int cont = 1; cont <= exp; cont++){ result = result * base; } return result; }

83 Arquivo Separado para a Função Instituto Federal do Sul de Minas, câmpus Pouso Alegre 83  Passos 1. Criamos um arquivo de cabeçalho contendo o protótipo da função; 2. Criamos um arquivo.c que irá conter o código da função; 3. Criamos um arquivo.cpp que irá conter a parte principal do programa.

84 1. Arquivo de Cabeçalho ou Header Instituto Federal do Sul de Minas, câmpus Pouso Alegre 84  Criamos um arquivo de cabeçalho (header file) que irá conter apenas o protótipo da função: int potencia(int base, int exp);  Nos arquivos header, são declaradas funções e constantes que podem ser compartilhadas por vários programas ou rotinas de linguagem C.

85 2.Arquivo.c da Função Instituto Federal do Sul de Minas, câmpus Pouso Alegre 85  Criamos um.c que contém o código da função: int potencia (int base, int exp) { /*Função*/ int result = 1; for (int cont = 1; cont <= exp; cont++){ result = result * base; } return result; }

86 3.Arquivo.cpp da Parte Principal Instituto Federal do Sul de Minas, câmpus Pouso Alegre 86 #include #include “potencia.h” /* Header File da Função */ int main(){ int num, r; printf("Informe um numero: "); scanf("%d", &num); r = potencia(num, 3); printf("O resultado eh: %d", r); getch( ); return 0; }

87 Exercícios Instituto Federal do Sul de Minas, câmpus Pouso Alegre 87  Faça três funções:  A primeira calcula a área do quadrado.   AreaQuadrado = lado *lado  A segunda calcula a área do retângulo.   AreaRetangulo = lado*altura  A terceira calcula a área do triângulo.   AreaTriangulo = (lado * altura) / 2  Crie um arquivo que contém o protótipo das funções.  Crie um arquivo que contém as funções.  Crie um arquivo que contém a função principal.  Declare a variável lado e altura.  Leias as variáveis.  Declare as variáveis respostaQuadrado, respostaRetangulo, respostaTriangulo.  Para cada variável de resposta, chame seu método.  Imprime as resposta de cada uma das áreas.

88 Variáveis Globais e Constantes Instituto Federal do Sul de Minas, câmpus Pouso Alegre 88

89 Variáveis Locais x Globais Instituto Federal do Sul de Minas, câmpus Pouso Alegre 89  Nos programas que desenvolvemos até agora declaramos apenas variáveis locais, ou seja, as variáveis que utilizamos tinham seu escopo limitado à função main ou outra função.  Utilizamos parâmetros para transferir valores para funções.

90 Variáveis Locais x Globais Instituto Federal do Sul de Minas, câmpus Pouso Alegre 90  Agora veremos como definir uma variável para se tornar visível em todo o código (variável global), sem a necessidade de passar por parâmetro entre as funções.  Porém, o uso de variáveis globais não é recomendado.

91 Variáveis Locais Instituto Federal do Sul de Minas, câmpus Pouso Alegre 91 #include int main() { int a, b, soma; printf("Informe o primeiro numero: "); scanf("%d", &a); printf("Informe o segundo numero: "); scanf("%d", &b); soma = a + b; printf(“A soma dos números eh: %d", soma); getch(); return 0; } Variáveis Locais

92 Variáveis Globais Instituto Federal do Sul de Minas, câmpus Pouso Alegre 92 #include int exemplo = 15; void exibe(); int main() { printf("Valor da variavel: %d \n", exemplo); exibe( ); getch( ); return 0; } void exibe ( ) { printf("Valor da variavel: %d \n", exemplo); }

93 Variáveis Globais Instituto Federal do Sul de Minas, câmpus Pouso Alegre 93  Note que a variável global foi definida logo após a inclusão das bibliotecas.  No exemplo anterior a variável global será acessível tanto na função principal (main) como na função exibe( ).

94 Definição de Constantes Instituto Federal do Sul de Minas, câmpus Pouso Alegre 94  Uma das maneiras de definir uma constante em linguagem C é através do uso da diretiva de compilação #define  Exemplo: #define PI  O compilador irá substituir todas as ocorrências da constante PI no código pelo valor , no momento da compilação.

95 Definição de Constantes Instituto Federal do Sul de Minas, câmpus Pouso Alegre 95 #include #define PI int main() { printf("O valor de PI eh: %f", PI); getch(); return 0; }

96 Definição de Constantes Instituto Federal do Sul de Minas, câmpus Pouso Alegre 96  Um outro local onde podemos declarar constantes são nos arquivos de cabeçalho (ou arquivos header).  Basta criar um arquivo de extensão.h, definir as constantes e protótipos dentro do arquivo e, depois, importar o arquivo no código usando o comando include.

97 Definição de Constantes Instituto Federal do Sul de Minas, câmpus Pouso Alegre 97  Exemplo de arquivo header: #ifndef POTENCIA_H_ #define POTENCIA_H_ #define PI 3.14 int potencia(int base, int exp); #endif /* POTENCIA_H_ */  Comando de importação: #include “potencia.h”

98 Exercícios Instituto Federal do Sul de Minas, câmpus Pouso Alegre 98  Faça uma função que calcula o salário de um servidor com base no aumento.   salarioServidor = SALARIO + (SALARIO * aumento)  Crie um arquivo que contém o protótipo da função e a constante SALARIO.  Crie um arquivo que contém a função.  Crie um arquivo que contém a função principal.  Declare a variável aumento (dado em porcentagem).  Leia a variável.  Declare as variáveis salarioReajustado.  Faça a variável receber o método da função criada.  Imprime a resposta.

99 Principais Tipos de Variáveis Instituto Federal do Sul de Minas, câmpus Pouso Alegre 99

100 Principais Tipos de Variáveis Instituto Federal do Sul de Minas, câmpus Pouso Alegre 100 TipoBytesFaixas Formato p/ scanf e printf char1 = a 127 %c int2 = a %i ou %d long int4= a %li float4 = ,4E-38 a 3.4E+38 %f double8 = ,7E-308 a 1,7E+308 %lf long double ,4E-4932 a 3,4E+4932 %lf

101 Principais Tipos de Variáveis: Ampliação Instituto Federal do Sul de Minas, câmpus Pouso Alegre 101 TipoBytesFaixas Formato p/ scanf e printf unsigned char1 = a 255 %c unsigned int2 = a %i ou %d unsigned long int4= a %li

102 Utilizando os Novos Tipos Instituto Federal do Sul de Minas, câmpus Pouso Alegre 102  O tipo char permite armazenar letras;  O tipo long é semelhante ao int, porém suporta um valor maior, com mais dígitos que o tipo int;  O tipo double é semelhante ao float, porém também suporta mais dígitos que o float;  O processo para declarar e utilizar variáveis dos tipos char, long e double é o mesmo que já utilizamos para as variáveis de tipo int e float.

103 Declarando Variáveis Long Int Instituto Federal do Sul de Minas, câmpus Pouso Alegre 103 #include int main() { long int a; /* Declarando variável long int */ getch(); return 0; }

104 Variáveis Long Int em um Programa Instituto Federal do Sul de Minas, câmpus Pouso Alegre 104 #include int main() { long int a, q; /* Declarando variável long int */ printf("Informe um valor inteiro: "); scanf("%li", &a); /* Função Leia */ q = a * a; printf(“Esse valor ao quadrado eh: %li", q); getch(); return 0; }

105 Declarando Variáveis Double Instituto Federal do Sul de Minas, câmpus Pouso Alegre 105 #include int main() { double a; /* Declarando variável double */ getch(); return 0; }

106 Variáveis Double em um Programa Instituto Federal do Sul de Minas, câmpus Pouso Alegre 106 #include int main() { double a, q; /* Declarando variável real */ printf("Informe um valor real: "); scanf("%lf", &a); q = a * a; printf(" Esse valor ao quadrado eh: %lf", q); return 0; }

107 Variáveis Char em um Programa Instituto Federal do Sul de Minas, câmpus Pouso Alegre 107 int main() { char v; printf("Informe apenas uma letra: "); scanf("%c", &v); if (v == 'a'){ printf("Voce digitou a letra a."); } else { printf("Voce digitou letra diferente de a."); } getch(); return 0; }

108 Funções Instituto Federal do Sul de Minas, câmpus Pouso Alegre 108  Também podemos definir funções que recebam variáveis de tipo double, long int e char como parâmetro e funções que tenham retorno de tipo double, long int ou char.  Exemplo: double cubo (double num) { double result; result = num * num * num; return result; }

109 Declarando Variáveis Char Instituto Federal do Sul de Minas, câmpus Pouso Alegre 109 #include int main() { char a; /* Declarando variável char*/ getch(); return 0; }  Tome cuidado, pois esta declaração funciona apenas para um único caractere, não palavras.

110 Exercícios Instituto Federal do Sul de Minas, câmpus Pouso Alegre 110  Crie um programa que leia cada um dos tipos de variáveis mencionadas. Dê um nome aplicável a variável, por exemplo:  char sexo, que pode ser f ou m.

111 Vetores Instituto Federal do Sul de Minas, câmpus Pouso Alegre 111

112 Vetores Instituto Federal do Sul de Minas, câmpus Pouso Alegre 112  Vetores são coleção de objetos que têm mesma natureza, ou seja, todos seus elementos possuem um mesmo tipo básico;  São chamados também de array, em inglês;  Os elementos de um vetor são identificados pelo nome seguido de índice entre colchetes.  Com vetores, conseguimos armazenar vários valores usando um mesmo identificador (variável), porém cada valor fica em um índice diferente.

113 Declaração de Vetor Instituto Federal do Sul de Minas, câmpus Pouso Alegre 113 intexemplo[5]; TipoNomeNúmero Elementos  Na declaração de um vetor tempos de definir o tipo do vetor, o nome do vetor e a quantidade de elementos (entre colchetes);  Para atribuir e acessar os elementos do vetor, temos de especificar o índice do elemento, também através do uso de colchetes. Ex.: exemplo[3] = 100;

114 Declaração de Vetor Instituto Federal do Sul de Minas, câmpus Pouso Alegre 114  No caso da declaração do vetor anterior, obtemos na memória o seguinte arranjo:  Observe que o vetor exemplo é dividido em 5 posições. Cada posição pode ser ocupada por um valor distinto;  Depois de inicializar a posição 3 com o valor 100, ainda tempos 4 posições livres no vetor. índices [0][1][2][3][4] 100 exemplo

115 Declaração de Vetor Instituto Federal do Sul de Minas, câmpus Pouso Alegre 115  Exemplo - vetor de notas de uma turma: float notas[22];  Organização do vetor: índices [0][1][2][...][21] 7,810,05,6...8,5 notas

116 Declaração e Inicialização de Vetor Instituto Federal do Sul de Minas, câmpus Pouso Alegre 116  Veja exemplos de declarações e inicializações de vetores a seguir. int dia[7] = { 12, 30, 14, 7, 13, 15, 6 }; float notas[5] = { 8.4, 6.9, 4.5, 4.6, 7.2 }; char vogal[5] = { 'a', 'e', 'i', 'o', 'u' };

117 Declaração e Inicialização Instituto Federal do Sul de Minas, câmpus Pouso Alegre 117 int exemplo[5]; exemplo[0] = 20; exemplo[1] = 22; exemplo[2] = 24; exemplo[3] = 26; exemplo[4] = 28; printf("Primeiro elemento do vetor: %d \n", exemplo[0]); printf("Segundo elemento do vetor: %d \n", exemplo[1]); printf("Terceiro elemento do vetor: %d \n", exemplo[2]); printf("Quarto elemento do vetor: %d \n", exemplo[3]); printf("Quinto elemento do vetor: %d \n", exemplo[4]);

118 Varrendo o Vetor Instituto Federal do Sul de Minas, câmpus Pouso Alegre 118 int exemplo[5]; exemplo[0] = 20; exemplo[1] = 22; exemplo[2] = 24; exemplo[3] = 26; exemplo[4] = 28; for (cont = 0; cont <= 4; cont++) { printf(“Elemento do vetor: %d \n”, exemplo[cont]); }

119 Atribuindo Dados Lidos ao Vetor Instituto Federal do Sul de Minas, câmpus Pouso Alegre 119 int exemplo[5]; printf("Informe o primeiro valor: "); scanf("%d", &exemplo[0]); printf("Informe o segundo valor: "); scanf("%d", &exemplo[1]); printf("Informe o terceiro valor: "); scanf("%d", &exemplo[2]); printf("Informe o quarto valor: "); scanf("%d", &exemplo[3]); printf("Informe o quinto valor: "); scanf("%d", &exemplo[4]);

120 Atribuindo Dados Lidos ao Vetor Instituto Federal do Sul de Minas, câmpus Pouso Alegre 120  Para evitar repetições podemos usar um laço para percorrer todos os índices do vetor, armazenando em cada posição um valor informado pelo usuário: for (int cont = 0; cont <= 4; cont++) { printf(“Exemplo[%d]: “, cont); scanf("%d", &exemplo[cont]); }

121 Exemplo Completo Instituto Federal do Sul de Minas, câmpus Pouso Alegre 121 int main( ) { int vetor[5]; for (int cont = 0; cont <=4; cont++) { printf(“Vetor[%d]: “, cont); scanf("%d", &vetor[cont]); } printf("\n Estes sao os elementos do Vetor: \n"); for (int cont = 0; cont <= 4; cont++) { printf(“Vetor[%d]: %d\n", cont, vetor[cont]); } getch(); return 0; }

122 Exercícios Instituto Federal do Sul de Minas, câmpus Pouso Alegre 122  Leia o tamanho de um vetor de notas.  Após a leitura, criar um vetor de notas do tamanho que o usuário informou.  Leia o valor em cada posição do vetor de notas.  Faça a soma dos valores do vetor de notas.  Após a soma, calcular a média das notas.  Imprimir o resultado.  Exemplo: Soma = 36,6 Média = 7,32 7,110,05,06,08,5 notas

123 Strings Instituto Federal do Sul de Minas, câmpus Pouso Alegre 123

124 Strings Instituto Federal do Sul de Minas, câmpus Pouso Alegre 124  Em linguagem C criamos uma String ao definir um vetor de caracteres;  Exemplo: char nome[50]; char endereco[200];

125 Strings Instituto Federal do Sul de Minas, câmpus Pouso Alegre 125  Ao ler Strings em linguagem C podemos usar o especificador %s, o qual lê o conteúdo digitado pelo usuário até encontrar o primeiro espaço;  Ou podemos utilizar o comando: scanf ("%[^\n]", &variavel); O comando irá ler todo o conteúdo digitado pelo usuário até encontrar o \n, ou seja, a tecla enter;  Para apresentar a String também utilizamos o especificador %s.

126 Programa Exemplo Usando %s Instituto Federal do Sul de Minas, câmpus Pouso Alegre 126 #include int main () { char nome[30]; printf ("Informe seu nome: "); scanf ("%s", &nome); printf ("Seu nome eh: %s", nome); getch(); return 0; }

127 Programa Exemplo Alternativo Instituto Federal do Sul de Minas, câmpus Pouso Alegre 127 #include int main () { char nome[30]; printf ("Informe seu nome: "); scanf ("%[^\n]", &nome); printf ("Seu nome eh: %s", nome); getch(); return 0; }

128 Programa Usando Função gets() Instituto Federal do Sul de Minas, câmpus Pouso Alegre 128  Também é possível utilizar a função gets para ler uma String, veja o exemplo: int main () { char nome[30]; printf ("Informe seu nome: "); gets(nome); printf ("Seu nome eh: %s", nome); getch(); return 0; }

129 Formação da String Instituto Federal do Sul de Minas, câmpus Pouso Alegre 129  Como a String é um vetor, também podemos percorrer os vários caracteres que a constitui através de um laço de repetição;  Utilizaremos o laço de repetição para percorrer os caracteres da String até que encontre o caractere de controle \0, responsável por indicar o final da String.

130 Inicializando String Instituto Federal do Sul de Minas, câmpus Pouso Alegre 130  char nome[9] = { ‘M’, ‘i’, ‘c’, ‘h’, ‘e’, ‘l’, ‘l’, ‘e’, '\0' };  char nome[9] = “Michelle";  Repare que apesar da String possuir 8 caracteres, devemos sempre definir o tamanho com uma unidade a mais devido ao caractere \0 que delimita o fim da String.

131 Formação da String Instituto Federal do Sul de Minas, câmpus Pouso Alegre 131  O caractere de controle \0 é sempre o último caractere em uma String. Michelle\0 nome índices [0][1][2][3][4] [5] [6] [7] [8]

132 Percorrendo os Caracteres Instituto Federal do Sul de Minas, câmpus Pouso Alegre 132 int main() { char nome[30]; int cont = 0; printf("Informe seu nome: "); scanf("%s", &nome); while (nome[cont] != '\0'){ printf("%c \n", nome[cont]); cont++; } getch(); return 0; }

133 Funções para Strings Instituto Federal do Sul de Minas, câmpus Pouso Alegre 133  Por se tratar de um vetor, não é possível comparar uma String com outra utilizando os operadores relacionais >, <, !=, etc.  Assim como não é possível atribuir o conteúdo de uma String diretamente a outra. Se optarmos por esta forma, teria de ser uma atribuição de posição por posição da String.

134 Funções para Strings Instituto Federal do Sul de Minas, câmpus Pouso Alegre 134  Para realizar essas operações utilizaremos algumas funções da biblioteca string.h  strcpy (str1, str2); /* Copia */  strcat (str1, str2); /* Concatena */  strcmp (str1, str2); /* Compara */  strlen (str1); /* Calcula tamanho */

135 Exemplo Copiando String Instituto Federal do Sul de Minas, câmpus Pouso Alegre 135 #include int main() { char nome1[30]; char nome2[30]; printf("Informe seu nome: "); scanf("%s", &nome1); strcpy (nome2, nome1); printf("Valor da variavel nome1: %s \n", nome1); printf("Valor da variavel nome2: %s", nome2); getch(); return 0; }

136 Exemplo Tamanho de String Instituto Federal do Sul de Minas, câmpus Pouso Alegre 136 #include int main() { char frase[250]; int tamanho; printf("Informe a frase: "); scanf("%s", &frase); tamanho = strlen(frase); printf("Quantidade caracteres: %d", tamanho); getch(); return 0; }

137 Exemplo Concatenando String Instituto Federal do Sul de Minas, câmpus Pouso Alegre 137 #include int main() { char nome[100], sobrenome[100]; printf("Informe seu nome: "); fflush(stdin); scanf("%s", &nome); printf("Informe seu sobrenome: "); fflush(stdin); scanf("%s", &sobrenome); strcat(nome, sobrenome); printf("Nome completo: %s", nome); getch(); return 0; } Limpa o que está armazenado no buffer do teclado.

138 Exemplo Comparando String Instituto Federal do Sul de Minas, câmpus Pouso Alegre 138 #include int main() { char nome1[50], nome2[50]; printf("Informe uma palavra: "); fflush(stdin); scanf("%s", &nome1); printf("Informe outra palavra: "); fflush(stdin); scanf("%s", &nome2); if (strcmp(nome1, nome2) < 0) { printf("A palavra que vem primeiro: %s", nome1);} else { printf("A palavra que vem primeiro : %s", nome2);} getch(); return 0; }

139 Funções strupr e strlwr Instituto Federal do Sul de Minas, câmpus Pouso Alegre 139 #include #include /* Biblioteca Necessária */ int main() { char s1[ ] = “MICHELLE NERY"; strlwr(s1); printf ("Palavra em minusculas: %s\n", s1); strupr(s1); printf ("Palavra em maiusculas: %s\n", s1); getch(); return 0; }  Converte palavra para maiúscula ou minúscula.

140 Funções da Biblioteca ctype.h Instituto Federal do Sul de Minas, câmpus Pouso Alegre 140 #include int main() { printf (“tolower A = %c\n “, tolower(‘A’)); printf (“toupper a = %c”, toupper(‘a’)); getch(); return 0; }  Converte letra para maiúscula ou minúscula.

141 Exercícios Instituto Federal do Sul de Minas, câmpus Pouso Alegre Leia duas string login1 e login2.  Imprima o tamanho das strings.  Compare as strings, caso forem iguais, imprimir “Login válido”, se forem diferentes, imprimir “Login inválido”.  Caso o login for validado, concatene a string com a string login1; e copie a string login1 para a string login2. Imprima as duas strings.

142 Math Instituto Federal do Sul de Minas, câmpus Pouso Alegre 142

143 Math Instituto Federal do Sul de Minas, câmpus Pouso Alegre 143  Em C existe uma biblioteca própria para cálculos matemáticos um pouco mais complexos.  A biblioteca math.h tem seu correspondente em C++ como cmath.  Com a biblioteca math.h (cmath) pode-se encontrar facilmente funções para calcular potências, raíz quadrada, funções trigonométricas para cálculos que envolvem seno, co-seno e tangente, além de constantes para números irracionais como, por exemplo, PI ( Π ).

144 Constantes da Biblioteca Math Instituto Federal do Sul de Minas, câmpus Pouso Alegre 144 SímboloDescriçãoConstante em C/C++Valor eNúmero de EulerM_E2, log2 eLogaritmo de e na base 2M_LOG2E1, log10 eLogaritmo de e na base 10M_LOG10E0, Ln2 (x)Logaritmo neperiano binárioM_LN20, Ln10 (x)Logaritmo neperiano ou naturalM_LN102, Π PiM_PI3, Π /2 Meio PiM_PI_21, Π /4 Quarto de PiM_PI_40, √2Raiz quadrada de 2M_SQRT21, √½Raiz quadrada de meioM_SQRT1_20,

145 Usando as Constantes Instituto Federal do Sul de Minas, câmpus Pouso Alegre 145 #include int main(){ double raio, areaCirculo; printf(“Entre com o Raio: ”); scanf(“%lf”, &raio); areaCirculo = raio * 2 * M_PI; printf(“Area: %0.2lf”, areaCirculo); getch(); return 0; } Inclusão da Biblioteca Math

146 Funções da Biblioteca Math Instituto Federal do Sul de Minas, câmpus Pouso Alegre 146  Trigonométricas  sin (): Retorna o valor do seno. O argumento (graus) em double.  cos(): Retorna o valor do co-seno. O argumento (graus) em double.  tan(): Retorna o valor da tangente. O argumento (graus) em double.  Logaritmicas  log(): Retorna o valor do logaritmo na base 2. O argumento em double.  log10(): Retorna o valor do logaritmo na base 10. O argumento em double.

147 Funções da Biblioteca Math Instituto Federal do Sul de Minas, câmpus Pouso Alegre 147  Potências  pow(): Retorna o valor da base elevada ao expoente. Dois argumentos double, o primeiro é a base e o segundo o expoente.  sqrt(): Retorna o valor da raiz quadrada. O argumento em double.  Arredondamento  ceil(): Retorna o primeiro float sem casas decimais acima. float como argumento. Exemplo: ceil ( ) resultaria em 46.  floor(): Retorna o primeiro float sem casas decimais abaixo. float como argumento. Exemplo: floor ( ) resultaria em 45.  round(): Retorna o float sem casas decimais arredondado. float como argumento. Exemplo: floor ( ) resultaria em 46.

148 Funções da Biblioteca Math Instituto Federal do Sul de Minas, câmpus Pouso Alegre 148  Para ilustrar todas essas funções e constantes, abaixo está um código demonstrando o resultado de cada função da biblioteca math.h (cmath).

149 Usando as Funções Trigonométricas Instituto Federal do Sul de Minas, câmpus Pouso Alegre 149 #include int main(){ double graus, x, base, expoente; printf(“Trigonometria \n \n”); printf(“Graus: “); scanf(“%lf”, &graus); printf(“Seno: %0.2lf \n”, sin(graus)); printf(“Co-seno: %0.2lf \n”, cos(graus)); printf(“Tangente: : %0.2lf \n \n”, tan(graus)); Inclusão da Biblioteca Math

150 Usando as Funções Trigonométricas Instituto Federal do Sul de Minas, câmpus Pouso Alegre 150 printf(“Logaritmos \n \n”); printf(“Valor de X para Logaritmos: “); scanf(“%lf”, &x); printf(“Log base 2: %0.2lf \n”, x, log(x)); printf(“Log base 10: %0.2lf \n \n”, x, log10(x));

151 Usando as Funções de Potenciação Instituto Federal do Sul de Minas, câmpus Pouso Alegre 151 printf(“Potencias \n \n”); printf(“Base: ”); scanf(“%lf”, &base); printf(“Expoente: ”); scanf(“%lf”, &expoente); printf(“Potência: %0.2lf \n \n”, pow(base, expoente)); printf(“Valor de X para Raiz Quadrada: ”); scanf(“%lf”, &x); printf(“Raiz Quadrada: %0.2lf \n \n”, sqrt(x));

152 Usando as Funções Trigonométricas Instituto Federal do Sul de Minas, câmpus Pouso Alegre 152 printf(“Arredondamentos \n \n”); printf(“Valor de X para Arredondamento para Cima: ”); scanf(“%lf”, &x); printf(“Arredondando para Cima: %0.2lf \n \n”, ceil(x)); printf(“Valor de X para Arredondamento para Baixo: ”); scanf(“%lf”, &x); printf(“Arredondando para Baixo: %0.2lf \n \n”, floor(x)); printf(“Valor de X para Arredondamento Seguindo as Regras: ”); scanf(“%lf”, &x); printf(“Arredondando: %0.2lf \n \n”, round(x));

153 Usando as Funções Trigonométricas Instituto Federal do Sul de Minas, câmpus Pouso Alegre 153 getch(); return 0; }

154 Exercícios Instituto Federal do Sul de Minas, câmpus Pouso Alegre 154

155 Gravando Dados em Arquivo Instituto Federal do Sul de Minas, câmpus Pouso Alegre 155

156 Gravando em Arquivo Instituto Federal do Sul de Minas, câmpus Pouso Alegre 156  Veremos na sequência quatro funções básicas para gravar e ler dados de um arquivo com Linguagem C;  Existem outras funções para a mesma finalidade, mas as funções que serão abordadas são de uso mais simplificado.

157 Funções Básicas Instituto Federal do Sul de Minas, câmpus Pouso Alegre 157  fopen ( ) – abrir arquivo;  fclose( ) – fechar arquivo;  fwrite( ) – grava o conteúdo no arquivo;  fread( ) – lê o conteúdo do arquivo.

158 Declarando o Arquivo e um Valor Instituto Federal do Sul de Minas, câmpus Pouso Alegre 158 #include int main() { FILE *arquivo; int dados[3] = {4, 5, 6};...

159 Abrindo o Arquivo Instituto Federal do Sul de Minas, câmpus Pouso Alegre 159  Abrindo o arquivo em modo de escrita binário. arquivo = fopen("arquivo.txt", "wb"); if (arquivo == NULL) { printf("Erro ao abrir o arquivo! \n"); getch(); return 0; }

160 Gravando o Dado no Arquivo Instituto Federal do Sul de Minas, câmpus Pouso Alegre 160  Parâmetros de gravação:  Variável, tamanho, quantidade e arquivo; fwrite(dados, sizeof(int), 3, arquivo); if (fclose( arquivo ) != 0) { printf("Erro ao fechar o arquivo!"); }

161 Exemplo Completo Gravando Instituto Federal do Sul de Minas, câmpus Pouso Alegre 161 #include int main() { FILE *arquivo; int dados[3] = {4, 5, 6}; arquivo = fopen("arquivo.txt", "wb"); if (arquivo == NULL) { printf("Erro ao abrir o arquivo! \n"); getch(); return 0; } fwrite(dados, sizeof(int), 3, arquivo); if (fclose( arquivo ) != 0) { printf("Erro ao fechar o arquivo!"); }

162 Funcionamento Instituto Federal do Sul de Minas, câmpus Pouso Alegre 162  Após rodar o código anterior o programa irá gravar o conteúdo do vetor chamado a em um arquivo de nome arquivo.txt.

163 Abrindo o Arquivo para Ler o Valor Instituto Federal do Sul de Minas, câmpus Pouso Alegre 163 #include int main() { FILE * arquivo; int dados[3], cont; arquivo = fopen("arquivo.txt", "rb"); if (arquivo == NULL) { printf("Erro ao abrir o arquivo! \n"); getch(); return 0; }

164 Lendo o Valor Gravado em Arquivo Instituto Federal do Sul de Minas, câmpus Pouso Alegre 164 fread(dados, sizeof(int), 3, arquivo); for (cont = 0; cont <= 2; cont++){ printf("Valor lido: %d \n", dados[cont]); } if (fclose(arquivo) != 0) { printf("Erro ao fechar o arquivo!"); }

165 Exemplo completo lendo o valor Instituto Federal do Sul de Minas, câmpus Pouso Alegre 165 #include int main() { FILE * arquivo; int dados[3], cont; arquivo = fopen("arquivo.txt", "rb"); if (arquivo == NULL) { printf("Erro ao abrir o arquivo! \n"); getch(); return 0;} fread(dados, sizeof(int), 3, arquivo); for (cont = 0; cont <= 2; cont++){ printf("Valor lido: %d \n", dados[cont]);} if (fclose(arquivo) != 0) { printf("Erro ao fechar o arquivo!");} }

166 Funcionamento Instituto Federal do Sul de Minas, câmpus Pouso Alegre 166  Após rodar o código anterior o programa irá ler o conteúdo do arquivo de nome arquivo.txt e armazenar esse conteúdo no vetor chamado dados.

167 Simplificando a escrita em arquivo Instituto Federal do Sul de Minas, câmpus Pouso Alegre 167 FILE *arquivo; int dados[3] = {4, 5, 6}; /* declara */ arquivo = fopen("arquivo.txt", "wb");/* abre */ fwrite(dados, sizeof(int), 3, arquivo);/* grava*/ fclose(arquivo);/* fecha */

168 Simplificando a leitura de arquivo Instituto Federal do Sul de Minas, câmpus Pouso Alegre 168 FILE *arquivo; int dados[3]; arquivo = fopen("arquivo.txt", "rb"); fread(dados, sizeof(int), 3, arquivo); /* leitura */ for (int cont = 0; cont <= 2; cont++){ printf("Valor lido: %d \n", dados[cont]); } fclose(arquivo);

169 Exercícios Instituto Federal do Sul de Minas, câmpus Pouso Alegre 169  Crie um programa que leia  Nome  Sexo  Idade  Salário  Grave as informações em um arquivo.  Busque as informações do arquivo e imprima.

170 Bibliográfica  Bibliografia Básica  Bibliografia Complementar

171 Regras 1. Celular em sala de aula é proibido por lei. 1. Acessórios como os fones de ouvido também são proibidos durante a aula. 2. O horário de aula, ou seja, o tempo em sala de aula, está descrito no plano pedagógico do curso, portanto sair mais cedo ou chegar mais tarde, somente a critério do professor.


Carregar ppt "Curso Engenharia Química Modalidade Superior Instituto Federal do Sul de Minas, câmpus Pouso Alegre Professora Michelle Nery Programação de Computadores."

Apresentações semelhantes


Anúncios Google