Baixe o app para aproveitar ainda mais
Prévia do material em texto
Programação em C (Parte 2) Prof. Valério Rosset Profa. Mariá C. V. N. Rosset Slides adaptados do material da Profa. Rosely Sanches e Simone Senger de Souza, ICMC. Estrutura de Seleção Simples Sintaxe Portugol: se (expressão) então início ação; fim; fimse; Estrutura de Seleção Simples Sintaxe C: if (expressão) { ação; } 1. Algoritmo Média Aritmética 2. início // começo do algoritmo 3. //declaração de variáveis 4. inteiro: nota1, nota2, nota3, nota4; // notas bimestrais 5. real: mediaAnual; // média anual 6. //entrada … 7. //processamento 8. mediaAnual (nota1+nota2+nota3+nota4) / 4; 9. //saída 10. se ( mediaAnual ≥ 7) então 11. escreva (“o aluno foi aprovado!”); 12. fimse; 13. fim // fim do algoritmo Estrutura de Seleção Composta Sintaxe (PORTUGOL): Se (expressão) então inicio ação; Fim; Senão inicio ação; Fim; fimse Estrutura de Seleção Composta Sintaxe C: if (expressão) { ação; } else { ação; } 1. Algoritmo Média Aritmética 2. início // começo do algoritmo 3. //declaração de variáveis 4. inteiro: nota1, nota2, nota3, nota4; // notas bimestrais 5. real: mediaAnual; // média anual 6. //entrada … 7. //processamento 8. mediaAnual (nota1+nota2+nota3+nota4) / 4; 9. //saída 10. se ( mediaAnual ≥ 7) então 11. escreva (“o aluno foi aprovado!”); 12. senão 13. escreva (“o aluno foi reprovado!”); 14. fimse; 15. fim // fim do algoritmo // Programa Média Aritmética #include <stdio.h> void main() // Bloco Principal do Programa { //Inicio //Declaração de variáveis float nota1,nota2,nota3,nota4; float mediaAnual; //Entrada scanf(“%f”, nota1); scanf(“%f”,nota2); scanf(“%f”,nota3); scanf(“%f”,nota4); //processamento mediaAnual = (nota1 + nota2 + nota3 + nota4)/4.0; //Saída if (mediaAnual>=7) printf(“O aluno foi aprovado com Media: %f", mediaAnual); else printf(“O aluno não foi aprovado: Media %f", mediaAnual); } //Fim. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. Biblioteca Matemática C #include <math.h> Função Descrição Exemplo sqrt(x) Raiz quadrada de x sqrt(9.0) é 3.0 pow(x,y) Potência: xy. pow(2,3) é 8; ceil(x) Arredondamento para cima ceil(9.2) é 10 floor(x) Arredondamento para baixo floor(9.2) é 9 Exercício 3 Escreva um algoritmo em C para calcular as raízes reais de uma equação do segundo grau. Os valores de entrada serão a, b e c fornecidos pelo usuário. a deltab acbdelta 2 42 1. início 2. inteiro : a, b, c, delta, x1, x2; 3. Leia(a); 4. leia(b); 5. leia(c); 6. delta b* b – 4*a*c; 7. se (delta < 0) então 8. escreva ("Não há raízes reais!"); 9. senão 10. início 11. x1 (-b + sqrt(delta))/(2*a); 12. x2 (-b - sqrt(delta))/(2*a); 13. escreva (x1); 14. escreva (x2); 15. fim; 16. fimse; 17. fim Estrutura de Seleção Encadeada Sequências Encadeadas, sintaxe em Portugol: se (expressão) então ação; senão se (expressão) então ação; senão se (… fimse; fimse; fimse; Estrutura de Seleção Encadeada Sequências Encadeadas, sintaxe em C: if (expressão) ação; else if (expressão) ação; else if … if (expressão) { ação1; ação2; } else if (expressão) { ação3; ação4; } else if … Estrutura de Seleção Encadeada Exemplo Dados 3 valores A, B e C. Verificar se: É um triângulo? Se sim, verificar: Se é equilátero, escaleno ou isósceles. Triângulo: cada lado é menor que a soma dos outros dois. Equilátero: todos os lados iguais. Isósceles: dois lados iguais Escaleno: todos diferentes. Estrutura de Seleção Encadeada Exemplo Tabela de decisão: É Triângulo? É Equilátero? É isosceles? É escaleno? Saída V V V F “Equilátero” V F V F “Isosceles” V F F V “Escaleno” F - - - Não é Δ! Estrutura de Seleção Encadeada Exemplo Dando significado as perguntas: Triângulo: (A<B+C) E (B<A+C) E (C<A+B) Equilátero: (A=B) E (B=C) Isósceles: (A=B) OU (A=C) OU (B=C) Escaleno: (A<>B) E (A<>C) E (B<>C) Estrutura de Seleção Encadeada Exemplo Exercício 4. Escrevendo o Algoritmo em C para identificar, dadas as três dimensões, o tipo de triângulo . PARA CASA: Exercício 5 Escreva um algoritmo em C para calcular a média anual numa matéria onde o peso das provas é dependente da área: Dados: Matemática: P1, P2 e P3 tem peso idêntico. Português: P1=30%, P2=20%,P3=50% História: P1=25%, P2=30%,P3=45% Média Final para aprovação: 7,0 Entrada: Matéria, nota em cada prova (de 1 a 10). Use caracter/números para identificar as matérias: Digite 1 se for matemática Digite M se for matemática Saída: Média Ponderada e Se o aluno foi aprovado ou não. Seleção com Múltipla Escolha Sintaxe em Portugol: escolha X caso v1: ação; caso v2: ação; caso v3 .. v10: ação; caso v11, V12, V13: ação; … caso vn: ação; exceção: ação; <opcional> fimescolha; Seleção com Múltipla Escolha Sintaxe em C/C++: switch (expression) { case constant1: group of statements 1; break; case constant2: group of statements 2; break; . . . default: default group of statements } Seleção com Múltipla Escolha Sintaxe em C/C++: switch (expression) { case constant1: group of statements 1; break; case constant2: group of statements 2; break; . . . default: default group of statements } Em C/C++ as constantes ficam limitadas a valores inteiros e caracter. Não é possível utilizar expressões internamente a estrutura Seleção com Múltipla Escolha Sintaxe em C/C++: char c; … switch (c) { case 'm': cout << "matemática"; break; case 'p': cout << "portugues"; break; } int num; … switch (num) { case 1: cout << “Escolheu 1"; break; case 2: cout << “Escolheu 2"; break; } Exercício 6 Escreva um algoritmo em C para emular uma calculadora que compute uma operação aritmética de dois números e apresente o resultado ao usuário. Operações possíveis: Adição (“+”), Subtração (“-”), divisão (“/”) , Multiplicação (“*”). Entrada: Dois valores e um símbolo representando a operação a ser realizada, todos fornecidos pelo usuário. Saída: O resultado da operação. Slide 42 Slide 43 Slide 44 Slide 45 Slide 46 Slide 47 Slide 48 Slide 49 Slide 50 Slide 51 Slide 52 Slide 53 Slide 54 Slide 55 Slide 56 Slide 57 Slide 58 Slide 59 Slide 60 Slide 61 Slide 62 Slide 63 Slide 64
Compartilhar