Programação de Computadores

Slides:



Advertisements
Apresentações semelhantes
IFTO ESTRUTURA DE DADOS AULA 05 Prof. Manoel Campos da Silva Filho
Advertisements

Funções em C Prof. Fabiano Utiyama.
Programação em Java Prof. Maurício Braga
Programação em Java Prof. Maurício Braga
Estruturas de Controle
Um programa em C Bibliotecas Variáveis globais
Estruturas de Repetição
Vamos contar D U De 10 até 69 Professor Vaz Nunes 1999 (Ovar-Portugal). Nenhuns direitos reservados, excepto para fins comerciais. Por favor, não coloque.
14/10/09 Uma animação possui: Início; Passo; Fim; 1.
Exercício do Tangram Tangram é um quebra-cabeças chinês no qual, usando 7 peças deve-se construir formas geométricas.
Construção de Algoritmos AULA 07
Nome : Resolve estas operações começando no centro de cada espiral. Nos rectângulos põe o resultado de cada operação. Comprova se no final.
Ludwig Krippahl, 2008 Programação para as Ciências Experimentais 2007/8 Teórica 3.
Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 3.
Universidade Federal de São Carlos Introdução à Linguagem C Comandos.
Campus Curitiba Departamento Acadêmico de Matemática Angela Olandoski Barboza UTFPR – Damat.
Algoritmos e Programação Linguagens de Programação Teoria Aula (09/06)
Curso de ADMINISTRAÇÃO
Introdução à Computação - Jorge Macêdo
Introdução à Programação
EXPRESSÕES ARITMÉTICAS
Linguagem C Estruturas de Controle de Fluxos
Estruturas de Dados II Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
LINGUAGEM ESTRUTURADA TURBO C
Universidade Federal do Espírito Santo
Aula 4 Nomes, Vinculações, Tipos e Escopos
LINGUAGEM C Centro Federal de Educação Tecnológica da Paraíba Coordenação de Informática Professor: Lafayette B. Melo.
Linguagem C Estruturas de Seleção.
Estruturas de Decisão Permitir testes para decidir acções alternativas: if if - else switch (?:) Operador Condicional MF.
Revisão da Linguagem C.
Estrutura de decisão e repetição em JAVA
Classes e objetos P. O. O. Prof. Grace.
Apontadores ou Ponteiros
O Portal do Estudante de Computação
Renda até 2 SM.
Semana 03: Comandos de desvio de fluxo. Expressões lógicas.
Diagnósticos Educativos = Diagnósticos Preenchidos 100% = 1.539
Introdução a Computação e Cálculo Numérico
PROGRAMAÇÃO ESTRUTURADA II
CATÁLOGO GÉIA PÁG. 1 GÉIA PÁG. 2 HESTIA PÁG. 3.
Linguagem de Programação I Parte II
PROCESSOS PRINCIPAIS Alunos - Grau de Satisfação 4971 avaliações * Questões que entraram em vigor em 2011 ** N.A. = Não Aplicável Versão: 07/02/2012 INDICADORES.
FTIN Formação Técnica em Informática
Construção de Algoritmos Professor: Aquiles Burlamaqui Construção de Algoritmos AULA 07 Aquiles Burlamaqui UERN
© 2003 Introdução à programaçãoComputadores e programação I Linguagens de programação Introdução ao C (continuação)
Programação II Estruturas de Dados Aula 02 - continuação
Seminário 1: Revisão de C
Semana 03 Comandos de desvio de fluxo. Expressões lógicas.
O Portal do Estudante de Computação
Introdução à linguagem C
Aula 6 - Estruturas de Controle
Algoritmo e Programação
1 Aplicações do Fecho Regular. 2 A interseção de uma linguagem livre de contexto e uma linguagem regular é uma linguagem livre de contexto livre de contexto.
Vetor Prof. Guilherme Baião S. Silva Adaptações:
Linguagem de Programação JAVA
Olhe fixamente para a Bruxa Nariguda
Conceitos Básicos Luis Antonio Tavares
Algoritmos e Estruturas de Dados
Introdução à Linguagem C
Declarando e Chamando Funções
Algumas notas sobre a linguagem de programação C
Aula prática 2 Operadores e Expressões Comandos de Decisão Comentários
 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.
Wellington Felix.  Criada por Brian Kernighan e Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix  C++ é uma extensão da.
Introdução à Programação
Revisão Luis Antonio Tavares
Introdução a Programação
Profa. Maria Augusta Constante Puget
11 Revisão da Linguagem C Prof. Kariston Pereira Adaptado de Material gentilmente fornecido pelo Prof. Rui Tramontin (DCC/UDESC)
Linguagem de Programação 11 Estruturas de Decisão e Repetição. Prof. Luiz José Hoffmann Filho
Transcrição da apresentação:

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

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

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

Como escrevemos programas? Codificação Compilação Executável #include <stdio.h> #include <conio.h> int main () { printf("Ola Mundo"); getch( ); return 0; } Instituto Federal do Sul de Minas, câmpus Pouso Alegre

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

Estrutura Inicial de Um Programa #include <stdio.h> /* Inclusão de Biblioteca */ #include <conio.h> /* 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 */ Instituto Federal do Sul de Minas, câmpus Pouso Alegre

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

Funções Básicas 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 <stdio.h> /* Contém a printf e o scanf */ #include <conio.h> /* Contém a getch */ Instituto Federal do Sul de Minas, câmpus Pouso Alegre

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

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

Variáveis Inteiras: Programa #include <stdio.h> #include <conio.h> 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; } Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Comparativo com o Pseudocódigo 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); Instituto Federal do Sul de Minas, câmpus Pouso Alegre

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

Variáveis Reais: Programa #include <stdio.h> #include <conio.h> 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; } Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Comparativo com o Pseudocódigo 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); Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Exemplo da Soma de Dois Números #include <stdio.h> #include <conio.h> 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; } Instituto Federal do Sul de Minas, câmpus Pouso Alegre

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

Apenas o Corpo do Programa 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); Instituto Federal do Sul de Minas, câmpus Pouso Alegre

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

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

Pseudocódigo: Maior número 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 Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Programa em C: Maior número #include <conio.h> #include <stdio.h> 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; Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Pseudocódigo: Média Fim Algoritmo PROGRAMA_EXEMPLO Variaveis Inicio 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 Instituto Federal do Sul de Minas, câmpus Pouso Alegre

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

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

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

Operadores Lógicos V & V = V V & F = F F & V = F F & F = F false && ? &: 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. 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). Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Operadores Lógicos V | V = V V | F = V F | V = V F | F = F V || V = V |: 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. 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). Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Operadores Lógicos 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!”); Instituto Federal do Sul de Minas, câmpus Pouso Alegre

IF’s aninhados Fi Algoritmo PROGRAMA_EXEMPLO Variaveis Inicio 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 Instituto Federal do Sul de Minas, câmpus Pouso Alegre

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

Exemplo Prático 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.”); Instituto Federal do Sul de Minas, câmpus Pouso Alegre

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

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

Estrutura de Repetição 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) Instituto Federal do Sul de Minas, câmpus Pouso Alegre

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

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

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

Pseudocódigo: Média 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 Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Programa em C: Média #include <conio.h> #include <stdio.h> int main () { float media, nota1, nota2; int num = 1; while (num == 1) { printf ("Informe a primeira nota: "); scanf ("%f", &nota1); printf ("Informe a segunda nota: "); scanf ("%f", &nota2); 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; Instituto Federal do Sul de Minas, câmpus Pouso Alegre

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

Psedeucódigo: Contador 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. Instituto Federal do Sul de Minas, câmpus Pouso Alegre

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

Estrutura de Repetição: do... while 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. Instituto Federal do Sul de Minas, câmpus Pouso Alegre

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

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

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

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

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

Operadores Lógicos V & V = V V & F = F F & V = F F & F = F false && ? &: 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. 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). Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Operadores Lógicos V | V = V V | F = V F | V = V F | F = F V || V = V |: 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. 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). Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Operadores Lógicos 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 ) { Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Comando Break 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; } Instituto Federal do Sul de Minas, câmpus Pouso Alegre

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

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

Funções 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. Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Como Criar uma Função em C? 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. Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Como Criar uma Função em C? 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"); } Instituto Federal do Sul de Minas, câmpus Pouso Alegre

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

Função com Retorno em C 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; } Instituto Federal do Sul de Minas, câmpus Pouso Alegre

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

Passagem de Parâmetros 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; } Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Exemplo Completo int result; result = a * a; return result; #include <conio.h> #include <stdio.h> 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; Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Retorno de Tipo Real em C 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; } Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Chamada para a função 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; } Chamada para a função Instituto Federal do Sul de Minas, câmpus Pouso Alegre

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

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

Muitas Condições Aninhadas 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) { if (num == 3) { else { Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Comando Switch Case 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. Instituto Federal do Sul de Minas, câmpus Pouso Alegre

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

Comando Switch Case 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; Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Comando Switch Case 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; Instituto Federal do Sul de Minas, câmpus Pouso Alegre

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

Comando Switch Case 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. Instituto Federal do Sul de Minas, câmpus Pouso Alegre

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

Exercícios 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. Instituto Federal do Sul de Minas, câmpus Pouso Alegre

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

Criar Funções 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. Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Protótipo de Função 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 ( ; ). Instituto Federal do Sul de Minas, câmpus Pouso Alegre

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

Exemplo de Protótipo de Função 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; Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Como Ficaria o Programa? #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; Instituto Federal do Sul de Minas, câmpus Pouso Alegre

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

1. Arquivo de Cabeçalho ou Header 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. Instituto Federal do Sul de Minas, câmpus Pouso Alegre

2.Arquivo .c da Função 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; Instituto Federal do Sul de Minas, câmpus Pouso Alegre

3.Arquivo .cpp da Parte Principal #include<conio.h> #include<stdio.h> #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; } Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Exercícios 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. Instituto Federal do Sul de Minas, câmpus Pouso Alegre

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

Variáveis Locais x Globais 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. Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Variáveis Locais x Globais 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. Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Variáveis Locais Variáveis Locais #include <stdio.h> #include <conio.h> 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 Instituto Federal do Sul de Minas, câmpus Pouso Alegre

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

Variáveis Globais 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( ). Instituto Federal do Sul de Minas, câmpus Pouso Alegre

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

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

Definição de Constantes 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. Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Definição de Constantes 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” Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Exercícios 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. Instituto Federal do Sul de Minas, câmpus Pouso Alegre

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

Principais Tipos de Variáveis Bytes Faixas Formato p/ scanf e printf char 1 = 28 -127 a 127 %c int 2 = 215 -32.768 a 32.767 %i ou %d long int 4= 231 -2.147.483.648 a 2.147.483.647 %li float 4 = 231 3,4E-38 a 3.4E+38 %f double 8 = 263 1,7E-308 a 1,7E+308 %lf long double 280 3,4E-4932 a 3,4E+4932 Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Principais Tipos de Variáveis: Ampliação Bytes Faixas Formato p/ scanf e printf unsigned char 1 = 28 0 a 255 %c unsigned int 2 = 215 0 a 65.535 %i ou %d unsigned long int 4= 231 -0 a 4.294.967.295 %li Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Utilizando os Novos Tipos 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. Instituto Federal do Sul de Minas, câmpus Pouso Alegre

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

Variáveis Long Int em um Programa #include <stdio.h> #include <conio.h> 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; } Instituto Federal do Sul de Minas, câmpus Pouso Alegre

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

Variáveis Double em um Programa #include <stdio.h> #include <conio.h> 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; } Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Variáveis Char em um Programa 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; Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Funções 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; } Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Declarando Variáveis Char #include <stdio.h> #include <conio.h> 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. Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Exercícios 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. Instituto Federal do Sul de Minas, câmpus Pouso Alegre

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

Vetores 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. Instituto Federal do Sul de Minas, câmpus Pouso Alegre

int exemplo [5]; Declaração de Vetor Tipo Nome Nú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; Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Declaração de Vetor 100 exemplo índices [0] [1] [2] [3] [4] 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. exemplo 100 índices [0] [1] [2] [3] [4] Instituto Federal do Sul de Minas, câmpus Pouso Alegre

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

Declaração e Inicialização de Vetor 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' }; Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Declaração e Inicialização 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]); Instituto Federal do Sul de Minas, câmpus Pouso Alegre

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

Atribuindo Dados Lidos ao Vetor 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]); Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Atribuindo Dados Lidos ao Vetor 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]); } Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Exemplo Completo 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; Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Exercícios 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 notas 7,1 10,0 5,0 6,0 8,5 Instituto Federal do Sul de Minas, câmpus Pouso Alegre

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

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

Strings 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. Instituto Federal do Sul de Minas, câmpus Pouso Alegre

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

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

Programa Usando Função gets() 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; } Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Formação da String 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. Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Inicializando String 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. Instituto Federal do Sul de Minas, câmpus Pouso Alegre

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

Percorrendo os Caracteres 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; Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Funções para Strings 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. Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Funções para Strings 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 */ Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Exemplo Copiando String #include <stdio.h> #include <conio.h> #include <string.h> 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; } Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Exemplo Tamanho de String #include <stdio.h> #include <conio.h> #include <string.h> 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; } Instituto Federal do Sul de Minas, câmpus Pouso Alegre

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

Exemplo Comparando String #include <stdio.h> #include <conio.h> #include <string.h> int main() { char nome1[50], nome2[50]; printf("Informe uma palavra: "); fflush(stdin); scanf("%s", &nome1); printf("Informe outra palavra: "); 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; } Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Funções strupr e strlwr #include <stdio.h> #include <conio.h> #include <string.h> /* 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. Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Funções da Biblioteca ctype.h #include <stdio.h> #include <conio.h> #include <ctype.h> 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. Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Exercícios 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 “@programação.edu.br” com a string login1; e copie a string login1 para a string login2. Imprima as duas strings. Instituto Federal do Sul de Minas, câmpus Pouso Alegre

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

Math 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 (Π). Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Constantes da Biblioteca Math Símbolo Descrição Constante em C/C++ Valor e Número de Euler M_E 2,7182818284590452354 log2 e Logaritmo de e na base 2 M_LOG2E 1,4426950408889634074 log10 e Logaritmo de e na base 10 M_LOG10E 0,43429448190325182765 Ln2 (x) Logaritmo neperiano binário M_LN2 0,69314718055994530942 Ln10 (x) Logaritmo neperiano ou natural M_LN10 2,30258509299404568402 Π Pi M_PI 3,14159265358979323846 Π/2 Meio Pi M_PI_2 1,57079632679489661923 Π/4 Quarto de Pi M_PI_4 0,78539816339744830962 √2 Raiz quadrada de 2 M_SQRT2 1,41421356237309504880 √½ Raiz quadrada de meio M_SQRT1_2 0,707106781186547524 Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Inclusão da Biblioteca Math Usando as Constantes #include <stdio.h> #include <conio.h> #include <math.h> 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 Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Funções da Biblioteca Math 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. Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Funções da Biblioteca Math 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 (45.98561) resultaria em 46. floor(): Retorna o primeiro float sem casas decimais abaixo. float como argumento. Exemplo: floor (45.98561) resultaria em 45. round(): Retorna o float sem casas decimais arredondado. float como argumento. Exemplo: floor (45.98561) resultaria em 46. Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Funções da Biblioteca Math 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). Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Usando as Funções Trigonométricas #include <stdio.h> #include <conio.h> #include <math.h> 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 Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Usando as Funções Trigonométricas 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)); Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Usando as Funções de Potenciação 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)); Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Usando as Funções Trigonométricas 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: ”); printf(“Arredondando para Baixo: %0.2lf \n \n”, floor(x)); printf(“Valor de X para Arredondamento Seguindo as Regras: ”); printf(“Arredondando: %0.2lf \n \n”, round(x)); Instituto Federal do Sul de Minas, câmpus Pouso Alegre

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

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

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

Gravando em Arquivo 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. Instituto Federal do Sul de Minas, câmpus Pouso Alegre

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

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

Abrindo o Arquivo 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; } Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Gravando o Dado no Arquivo 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!"); } Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Exemplo Completo Gravando #include <stdio.h> #include <conio.h> 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!"); Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Funcionamento 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. Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Abrindo o Arquivo para Ler o Valor #include <stdio.h> #include <conio.h> 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; } Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Lendo o Valor Gravado em Arquivo 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!"); Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Exemplo completo lendo o valor #include <stdio.h> #include <conio.h> 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!"); } } Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Funcionamento 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. Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Simplificando a escrita em arquivo 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 */ Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Simplificando a leitura de arquivo 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); Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Exercícios 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. Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Bibliográfica Bibliografia Básica Bibliografia Complementar

Regras Celular em sala de aula é proibido por lei. Acessórios como os fones de ouvido também são proibidos durante a aula. 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.