Universidade Federal de Ouro Preto – UFOP Instituto de Ciências Exatas e Biológicas – ICEB Departamento de Computação – DECOM PROGRAMAÇÃO DE COMPUTADORES I - BCC701 – 2014-2 Aula Prática 04 O comando if-then-elseif-...-else-end Este comando possui a forma: if condição_1 then instrução_a; instrução_b; Bloco ... elseif condição_2 instrução_e; instrução_f; Bloco ... elseif condição_3 instrução_k; instrução_m; Bloco ... // se necessário, mais elseif else // é opcional instrução_p; instrução_q; Bloco ... 1 2 3 n end Onde: as condições são expressões lógicas que resultam em verdadeiro ou falso; o fluxo de execução dos comandos é controlado pelas condições; se a condição_1 é verdadeira, então o bloco 1 de comandos é executado. Ao final do bloco, o fluxo de execução salta para o primeiro comando após o end; caso contrário, a condição 2 é verificada. Se for verdadeira, o bloco 2 de comandos é executado. Ao final do bloco, o fluxo de execução salta para o primeiro comando após o end; caso contrário, cada condição seguinte é verificada da mesma forma; se todas as condições forem falsas, o fluxo de execução executa os comandos do último bloco, após o else. Veja que não há testes no else. Ao final do bloco, o fluxo de execução salta para o primeiro comando após o end. A cláusula else opcional. 1 Universidade Federal de Ouro Preto – UFOP Instituto de Ciências Exatas e Biológicas – ICEB Departamento de Computação – DECOM Exercício 1 Cálculo das Raízes Reais de uma Equação do Segundo Grau Codifique um programa Scilab que calcula as raízes reais de uma equação do segundo grau, seguindo o algoritmo: 1. fazer a leitura dos coeficientes da equação: a, b e c; 2. calcule o discriminante delta; 3. se o valor de delta for negativo, imprima a mensagem "NÃO EXITEM RAÍZES REAIS PARA A EQUAÇÃO"; 4. se o valor de delta for positivo, calcule e imprima as raízes reais x1 e x2; 5. se o valor de delta for nulo, calcule e imprima somente uma raiz; 6. para indicar o término do programa, imprima a mensagem: "FIM DO PROGRAMA". Observe os modelos de execução abaixo para implementar as entradas e saídas de dados. Exemplo 1 CÁLCULO DAS RAÍZES REAIS DE UMA EQUAÇÃO DO SEGUNDO GRAU DIGITE O COEFICIENTE a: 1 DIGITE O COEFICIENTE b: 2 DIGITE O COEFICIENTE c: 1 1 x^2 + 2 x + 1 RAÍZES IGUAIS: X = -1.000 FIM DO PROGRAMA Exemplo 2 CÁLCULO DAS RAÍZES REAIS DE UMA EQUAÇÃO DO SEGUNDO GRAU DIGITE O COEFICIENTE a: -2 DIGITE O COEFICIENTE b: 3 DIGITE O COEFICIENTE c: 2 -2 x^2 RAÍZES X1 = X2 = FIM DO + 3 x + 2 DISTINTAS: -0.500 2.000 PROGRAMA 2 Universidade Federal de Ouro Preto – UFOP Instituto de Ciências Exatas e Biológicas – ICEB Departamento de Computação – DECOM Exercício 2 Cálculo do Valor de Uma Função de Duas Variáveis Considere a função de duas variáveis abaixo. Escreva um programa Scilab que implemente o algoritmo: 1. 2. 3. 4. 5. ler um valor para x; ler um valor para y; calcular o valor de f(x,y) de acordo com a definição da função; imprimir o valor calculado seguindo os exemplos de execução. imprimir uma mensagem finalizando o programa. Exemplo 1 -----------------------------------------------CÁLCULO DO VALOR DE UMA FUNÇÃO DE DUAS VARIÁVEIS -----------------------------------------------DIGITE O VALOR DO ARGUMENTO x: 12.892 DIGITE O VALOR DO ARGUMENTO y: -44.763 f(12.89, -44.76) = 2016.6182 FIM DO PROGRAMA Exemplo 2 -----------------------------------------------CÁLCULO DO VALOR DE UMA FUNÇÃO DE DUAS VARIÁVEIS -----------------------------------------------DIGITE O VALOR DO ARGUMENTO x: -1.9876 DIGITE O VALOR DO ARGUMENTO y: -0.09876 f(-1.99, -0.10) = FIM DO PROGRAMA 3.9603 3 Universidade Federal de Ouro Preto – UFOP Instituto de Ciências Exatas e Biológicas – ICEB Departamento de Computação – DECOM Exercício 3 Peter Griffin de Mudança para a Austrália Peter e Louis decidiram mudar-se para a Austrália, um excelente país para se viver. Infelizmente, um país com taxas altas de impostos. Há alguns anos atrás, os cidadãos australianos pagaram as seguintes taxas de imposto de renda: Renda Tributável (AUD$) 0 < renda ≤ 6000 6001 ≤ renda ≤ 20000 Imposto Sobre a Renda Nenhum 17 centavos para cada AUD$ 1 acima de 6000 AUD$ 2380, 20001 ≤ renda ≤ 50000 mais 30 centavos para cada AUD$ 1 acima de 20000 AUD$ 11380, 50001 ≤ renda ≤ 60000 mais 42 centavos para cada AUD$ 1 acima de 50000 AUD$ 15580, renda > 60000 mais 47 centavos para cada AUD$ 1 acima de 60000 Além desses impostos, um imposto para a saúde de 1,5 %, o Imposto Drunken Clam, é aplicado sobre toda a renda tributável do cidadão. Escreva um programa Scilab para calcular o imposto devido por um cidadão, a partir de sua renda tributável. O programa tem como entrada a renda tributável. As saídas do programa são: o calculo do imposto sobre a renda que ele deve pagar (imposto devido), o imposto Drunken Clam, e o total que o cidadão deve pagar ao governo. A seguir, dois exemplos de execução do programa. Exemplo 1 CÁLCULO DO IMPOSTO - DÓLAR AUSTRALIANO (AUD$) DIGITE A RENDA TRIBUTÁVEL DO CIDADÃO: 5000 RENDA TRIBUTÁVEL: AU$ 5000.00: IMPOSTO DEVIDO: AU$ 0.00 IMPOSTO PARA A SAÚDE - Drunken Clam: AU$ IMPOSTO TOTAL A SER PAGO: AU$ 75.00 75.00 Exemplo 2 CÁLCULO DO IMPOSTO - DÓLAR AUSTRALIANO (AUD$) DIGITE A RENDA TRIBUTÁVEL DO CIDADÃO: 50200 RENDA TRIBUTÁVEL: AU$ 50200.00: IMPOSTO DEVIDO: AU$ 11464.00 IMPOSTO PARA A SAÚDE - Drunken Clam: AU$ IMPOSTO TOTAL A SER PAGO: AU$ 12217.00 4 753.00