Aula 05: Condicionais (if / else)

Documentos relacionados
Aula 05: Condicionais (Parte 2)

Aula 15: Repetição (Parte 3)

Aula 06: Condicionais (switch)

Aula 16: Laços aninhados e desvios

Lista de Exercícios 2

Programação Estruturada

Aula 14: Repetição (Parte 2)

MC-102 Aula 04 Expressões Relacionais, Lógicas e Comandos Condicionais

Lógica de Programação I

MC-102 Aula 06 Comandos Repetitivos

MC-102 Aula 05 Comandos Condicionais

CCO 016 / COM 110 Fundamentos de Programação

Capítulo 4: Condicionais

Linguagem C (estruturas condicionais)

Sistemas Operacionais e Introdução à Programação. Programação com linguagem C

Linguagem C. Prof.ª Márcia Jani Cícero

Aula 10: Manipulação do fluxo de laços

Aula 01. Programação Condicional Programação repetitiva

Lista de Exercícios II. 01. Desenvolva um programa em C que receba um valor numérico real, verifique e mostre se esse número é positivo.

Aula 03: Introdução a C

Aula 12- Variáveis e valores reais

MC102 Algoritmos e Programação de Computadores

controle de fluxo - condicionais

Introdução à Computação

Estruturas de Controle de Fluxo

Aula 11: Laços e exercícios

Introdução à Ciência da Computação SCC0120 Prof. Zhao Liang. Aula de Laboratório 1: Operadores, comandos básicos e comando IF 27/03/2012

ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO

INF1007: Programação 2. 0 Revisão. 06/08/2015 (c) Dept. de Informática - PUC-Rio 1

Aula 18: Vetores Introdução a Programação Túlio Toffolo & Puca Huachi

Aula 6 Oficina de Programação Estruturas Condicionais no C. Profa. Elaine Faria UFU

Introdução à Linguagem C. Adaptado de Deise Saccol

Programação Estruturada

Linguagem C estruturas de repetição

CCO 016 / COM 110 Fundamentos de Programação

ALGORITMO I ESTRUTURA DE CONTROLE DECISÃO SE / CASO;

Laços de repetição for, while, do-while

Modulo 4: while do while (limites de variáveis)

Lógica e Linguagem de Programação Convertendo um algoritmo em pseudocódigo para a linguagem C Professor: Danilo Giacobo

Decisão. Prof. Dr. Silvio do Lago Pereira. Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo

Introdução à Programação. Expressões Booleanas e Comandos Condicionais

Algoritmos e Programação

LISTA DE EXERCÍCIOS: 1ª Unidade

Linguagem C Controle do Fluxo de Execução. Lógica de Programação

ponteiros INF Programação I Prof. Roberto Azevedo

Programação: Entrada e Saída de Dados

Linguagem C (repetição)

1) Operadores de auto incremento ++ e auto decremento --

Laboratório 3 Comandos de repetição while, do-while e for

5 Comando de Seleção Simples e Composta

Algoritmos RESUMO - LINGUAGEM C

Introdução à Ciência da Computação

Material Didático Proposto

Programação Estruturada Comandos Condicionais (Decisão) Operadores Relacionais

Working 03 : Conceitos Básicos II

Aula 8 Oficina de Programação Vetores. Profa. Elaine Faria UFU

ESTRUTURAS CONDICIONAIS. Baseado nos slides de autoria de Rosely Sanches e Simone Senger de Souza

Programação: Vetores

Linguagem C: Introdução

ESTRUTURAS CONDICIONAIS. Introdução à Ciência da ComputaçãoI Simone Senger de Souza

Agenda. Programação estruturada. Sequência. Decisão: Desvio de fluxo INTRODUÇÃO. Expressões lógicas.

Transcrição:

Aula 05: Condicionais (if / else) Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2019/1 Departamento de Computação UFOP

Aula Anterior Breve Revisão Comandos de Decisão Exercícios 2 / 27 Túlio Toffolo Introdução a Programação Aula 05: Condicionais (if / else)

Aula de Hoje 1 Exercícios da última aula 2 Condicionais (if - else) 3 Exemplos 4 Exercícios 5 Próximas Aulas 2 / 27 Túlio Toffolo Introdução a Programação Aula 05: Condicionais (if / else)

Aula de Hoje 1 Exercícios da última aula 2 Condicionais (if - else) 3 Exemplos 4 Exercícios 5 Próximas Aulas 2 / 27 Túlio Toffolo Introdução a Programação Aula 05: Condicionais (if / else)

Exercícios da última aula Exercício 1: Maior número Faça um programa que leia dois números inteiros e verifique qual deles é maior. Imprima uma mensagem informando qual deles é o maior. Exemplo de saída caso o usuário digite 10 e 20: 1 20 é o maior número 3 / 27 Túlio Toffolo Introdução a Programação Aula 05: Condicionais (if / else)

1 // Exercício 1 2 #include <stdio.h> 3 4 int main() 5 { 6 int numero1, numero2; 7 printf("digite dois numeros: "); 8 scanf("%d %d", &numero1, &numero2); 9 10 if (numero1 > numero2) 11 printf("o maior numero é %d\n", numero1); 12 else if (numero1 < numero2) 13 printf("o maior numero é %d\n", numero2); 14 else 15 printf("os números são iguais!\n"); 16 17 return 0; 18 } 4 / 27 Túlio Toffolo Introdução a Programação Aula 05: Condicionais (if / else)

Exercícios da última aula Exercício 2: Bônus para clientes Uma loja deseja mandar uma correspondência a um dos seus clientes anunciando um bônus especial. Escreva um algoritmo que leia o valor das compras desse cliente no ano passado e calcule um bônus de 10%, se o valor das compras for menor que R$ 50.000,00, e de 15%, caso contrário. O algoritmo deve imprimir o valor do bônus cedido ao cliente. Exemplo de saída se o usuário digitar o valor 10000: 1 Bonus do cliente: R$ 1000.00 5 / 27 Túlio Toffolo Introdução a Programação Aula 05: Condicionais (if / else)

1 // Exercício 2 2 #include <stdio.h> 3 4 int main() 5 { 6 double valor, bonus; 7 printf("digite o valor das compras: "); 8 scanf("%lf", &valor); 9 10 if (valor < 50000) 11 bonus = valor * 0.10; 12 else 13 bonus = valor * 0.15; 14 15 printf("valor do bônus: %lf\n", bonus); 16 return 0; 17 } 6 / 27 Túlio Toffolo Introdução a Programação Aula 05: Condicionais (if / else)

Exercício 3: Tarifa de Energia A conta de energia elétrica de consumidores residenciais de uma cidade é calculada do seguinte modo: se o consumo é de até 500 kw, a tarifa é de R$ 0,02 por unidade; se o consumo é maior que 500 kw, mas não excede 1000 kw, a tarifa é de R$10,00 para os 500 primeiros kw e de R$ 0,05 para cada kw excedente a 500; se o consumo é maior que 1000kw, a tarifa é de R$35,00 para os 1000 primeiros kw e de R$0,10 para cada kw excedente a 1000; em toda conta, é cobrada uma taxa básica de serviço de R$5,00, independentemente da quantidade de energia consumida. Escreva um programa que leia o consumo de energia de uma residência e imprima a sua conta de energia, no formato indicado no exemplo a seguir. 7 / 27 Túlio Toffolo Introdução a Programação Aula 05: Condicionais (if / else)

Exercícios da última aula Exercício 3: Tarifa de Energia Exemplo de execução do programa: 1 CÁLCULO DA CONTA DE ENERGIA ELÉTRICA 2 ------------------------------------ 3 4 DIGITE O CONSUMO DE ENERGIA ELÉTRICA (KW): 1251.0 5 6 TAXA BÁSICA: 5.00 7 CONSUMO (KW): 1251.0 8 VALOR DA CONTA (R$): 65.10 8 / 27 Túlio Toffolo Introdução a Programação Aula 05: Condicionais (if / else)

1 // Exercício 3 2 #include <stdio.h> 3 4 int main() 5 { 6 const double taxa = 5.0; 7 double consumo, valor; 8 9 printf("cálculo DA CONTA DE ENERGIA ELÉTRICA\n"); 10 printf("------------------------------------\n\n"); 11 12 printf("digite O CONSUMO DE ENERGIA ELÉTRICA (KW): "); 13 scanf("%lf", &consumo); 14 15 // calculando a conta 16 if (consumo <= 500) { 17 valor = taxa + 0.02 * consumo; 18 } 19 else if (consumo <= 1000) { 20 valor = taxa + 10 + 0.05 * (consumo - 500); 21 } 22 else { 23 valor = taxa + 35 + 0.1 * (consumo - 1000); 24 } 25 9 / 27 Túlio Toffolo Introdução a Programação Aula 05: Condicionais (if / else)

26 printf("\n"); 27 printf("taxa BÁSICA: %.2lf\n", taxa); 28 printf("consumo (KW): %.1lf\n", consumo); 29 printf("valor DA CONTA (R$): %.2lf\n", valor); 30 31 return 0; 32 } 10 / 27 Túlio Toffolo Introdução a Programação Aula 05: Condicionais (if / else)

Aula de Hoje 1 Exercícios da última aula 2 Condicionais (if - else) 3 Exemplos 4 Exercícios 5 Próximas Aulas 10 / 27 Túlio Toffolo Introdução a Programação Aula 05: Condicionais (if / else)

O Comando if Nos exercícios anteriores, o programa teve que tomar decisões baseadas nos dados fornecidos. Para tal, utilizamos dois comandos if. No entanto, podemos (e devemos) simplificar os programas com o uso do comando if-else. 11 / 27 Túlio Toffolo Introdução a Programação Aula 05: Condicionais (if / else)

O Comando if-else O comando if permite executar um ou mais comandos se a expressão relacional resultar em verdadeiro. Se desejarmos que algo seja executado se a expressão relacional resultar em falso, então devemos utilizar o comando if-else. Dessa forma, podemos executar um ou mais comandos se o teste for verdadeiro; ou executar um ou mais comandos distintos se o teste for falso. O comando if-else consiste no comando if seguido de uma instrução (ou um bloco de instruções), seguido da palavra-chave else, que por sua vez é seguida de uma instrução (ou um bloco de instruções). 12 / 27 Túlio Toffolo Introdução a Programação Aula 05: Condicionais (if / else)

Tomada de decisão V Condição F Comandos 1 Comandos 2 Comandos 3 13 / 27 Túlio Toffolo Introdução a Programação Aula 05: Condicionais (if / else)

Sintaxe do comando if-else 1 if ( <expressão_de_teste> ) 2 instrução_única_v; 3 else 4 instrução_única_f; ou 1 if ( <expressão_de_teste> ) 2 { 3 instrução_v1; 4... 5 instrução_vn; 6 } 7 else 8 { 9 instrução_f1; 10... 11 instrução_fn; 12 } 14 / 27 Túlio Toffolo Introdução a Programação Aula 05: Condicionais (if / else)

Aula de Hoje 1 Exercícios da última aula 2 Condicionais (if - else) 3 Exemplos 4 Exercícios 5 Próximas Aulas 14 / 27 Túlio Toffolo Introdução a Programação Aula 05: Condicionais (if / else)

Exemplo 1 Faça um programa em C/C++, para calcular a área de um círculo. A área de um círculo é dada pela seguinte fórmula a = πr 2. O valor do raio r será digitado pelo usuário. Verifique se o raio é positivo antes de efetuar cálculo, caso contrário imprima uma mensagem de erro ao usuário. Utilize if-else. 15 / 27 Túlio Toffolo Introdução a Programação Aula 05: Condicionais (if / else)

1 #include <stdio.h> 2 3 int main() 4 { 5 // declaração da constante Pi 6 const double PI = 3.141592; 7 double raio; 8 9 printf("digite o raio do círculo: "); 10 scanf("%lf", &raio); 11 12 // se raio for positivo, calcula e imprime a área do círculo 13 if (raio >= 0) { 14 double area = PI * raio * raio; 15 printf("\nárea do círculo: %lf\n", area); 16 } 17 // caso contrário, imprime mensagem de erro 18 else { 19 printf("erro: valor do raio é negativo...\n"); 20 } 21 22 return 0; 23 } 16 / 27 Túlio Toffolo Introdução a Programação Aula 05: Condicionais (if / else)

Exemplo 2 Codifique um programa que leia um número inteiro positivo. A seguir o programa imprime uma mensagem para o usuário dizendo se o número digitado é par ou impar. Utilize if-else. 17 / 27 Túlio Toffolo Introdução a Programação Aula 05: Condicionais (if / else)

1 #include <stdio.h> 2 3 int main() 4 { 5 int numero; //variável para armazenar o número 6 7 printf("digite um numero inteiro: "); 8 scanf("%d", &numero); 9 10 // se o número for par... 11 if (numero % 2 == 0) 12 printf("\no número %d é par.\n", numero); 13 14 // caso contrário 15 else 16 printf("\no número %d é ímpar.\n", numero); 17 18 return 0; 19 } 18 / 27 Túlio Toffolo Introdução a Programação Aula 05: Condicionais (if / else)

Exemplo 3 Escreva um programa para encontrar as raízes de uma equação do segundo grau: ax 2 + bx + c = 0 Os coeficientes da equação são reais. O programa faz a alocação de 3 posições de memória para esses coeficientes, inicializando-os com o valor zero. O programa efetua a leitura dos coeficientes através do teclado e, em seguida, calcula o valor das raízes existentes. Caso não existam raízes reais, o programa deve informar este fato ao usuário. 19 / 27 Túlio Toffolo Introdução a Programação Aula 05: Condicionais (if / else)

1 #include <stdio.h> 2 #include <math.h> 3 4 int main() 5 { 6 double a, b, c, delta; 7 8 printf("\ncoeficiente a: "); scanf(&a); 9 printf("\ncoeficiente b: "); scanf(&b); 10 printf("\ncoeficiente c: "); scanf(&c); 11 delta = pow(b, 2) - 4 * a * c; 12 13 if (delta < 0) { 14 printf("\nnão existem raízes reais\n"); 15 } 16 else { 17 double x1 = (-b + sqrt(delta)) / (2 * a); 18 double x2 = (-b - sqrt(delta)) / (2 * a); 19 printf("\nx1 = %lf\n", x1); 20 printf("x2 = %lf\n", x2); 21 } 22 return 0; 23 } 20 / 27 Túlio Toffolo Introdução a Programação Aula 05: Condicionais (if / else)

Exemplo 4 Como melhorar o programa anterior para informar o usuário as situações a seguir? Não existem raízes reais ( < 0); Existem raízes reais idênticas ( = 0); Existem raízes reais distintas ( > 0); 21 / 27 Túlio Toffolo Introdução a Programação Aula 05: Condicionais (if / else)

1 int main() 2 { 3 double a, b, c, delta; 4 5 printf("\ncoeficiente a: "); scanf(&a); 6 printf("\ncoeficiente b: "); scanf(&b); 7 printf("\ncoeficiente c: "); scanf(&c); 8 delta = pow(b, 2) - 4 * a * c; 9 10 if (delta < 0) { 11 printf("\nnão existem raízes reais\n"); 12 } 13 else { 14 if (delta == 0) { 15 double x = (-b + sqrt(delta)) / (2 * a); 16 printf("\nraizes identicas: X1 = X2 = %lf\n", x); 17 } 18 else { 19 double x1 = (-b + sqrt(delta)) / (2 * a); 20 double x2 = (-b - sqrt(delta)) / (2 * a); 21 printf("\nraizes distintas: X1 = %lf, X2 = %lf\n", x1, x2); 22 } 23 } 24 return 0; 25 } 22 / 27 Túlio Toffolo Introdução a Programação Aula 05: Condicionais (if / else)

1 int main() 2 { 3 double a, b, c, delta; 4 5 printf("\ncoeficiente a: "); scanf(&a); 6 printf("\ncoeficiente b: "); scanf(&b); 7 printf("\ncoeficiente c: "); scanf(&c); 8 delta = pow(b, 2) - 4 * a * c; 9 10 if (delta < 0) { 11 printf("\nnão existem raízes reais\n"); 12 } 13 else if (delta == 0) { 14 double x = (-b + sqrt(delta)) / (2 * a); 15 printf("\nraizes identicas: X1 = X2 = %lf\n", x); 16 } 17 else { 18 double x1 = (-b + sqrt(delta)) / (2 * a); 19 double x2 = (-b - sqrt(delta)) / (2 * a); 20 printf("\nraizes distintas: X1 = %lf, X2 = %lf\n", x1, x2); 21 } 22 return 0; 23 } 23 / 27 Túlio Toffolo Introdução a Programação Aula 05: Condicionais (if / else)

Exemplo 5 Codifique um programa que lê 3 valores inteiros. Estes valores representam os lados de um triângulo! O programa verifica a condição de existência do triângulo. Caso exista o triângulo, o mesmo é classificado em como equilátero, isósceles ou um triângulo qualquer. Se o triângulo não existir, uma mensagem é impressa para o usuário. 24 / 27 Túlio Toffolo Introdução a Programação Aula 05: Condicionais (if / else)

1 #include <stdio.h> 2 3 int main() 4 { 5 double a, b, c; 6 printf("digite os lados do triângulo: "); 7 scanf("%lf %lf %lf", &a, &b, &c); 8 9 // os lado formam um triângulo se: 10 // (1) todo lado é maior que zero 11 // (2) todo lado é menor que a soma dos outros dois 12 if (a > 0 && b > 0 && c > 0 && 13 a < b + c && b < a + c && c < a + b) { 14 15 if (a == b && b == c) 16 printf("\ntriângulo equilátero!\n"); 17 else if (a == b b == c a == c) 18 printf("\ntriângulo isósceles!\n"); 19 else 20 printf("\ntriângulo qualquer!\n"); 21 } 22 else { 23 printf("\ntriângulo não existe!\n"); 24 } 25 return 0; 26 } 25 / 27 Túlio Toffolo Introdução a Programação Aula 05: Condicionais (if / else)

Aula de Hoje 1 Exercícios da última aula 2 Condicionais (if - else) 3 Exemplos 4 Exercícios 5 Próximas Aulas 25 / 27 Túlio Toffolo Introdução a Programação Aula 05: Condicionais (if / else)

Exercícios Exercício 1 Codifique um programa que faça a leitura de dois número reais. A seguir o programa lê um caractere, que deve ser +, -, * ou /, e realiza a operação indicada pelo caractere sobre os valores lidos. O programa deve imprimir os valores e o resultado da operação realizada sobre eles, como mostra o exemplo a seguir (usando exatamente uma casa decimal): 1 Primeiro valor: 4.5 2 Segundo valor: 5 3 Operador: + 4 5 Resultado: 4.5 + 5.0 = 9.5 26 / 27 Túlio Toffolo Introdução a Programação Aula 05: Condicionais (if / else)

Aula de Hoje 1 Exercícios da última aula 2 Condicionais (if - else) 3 Exemplos 4 Exercícios 5 Próximas Aulas 26 / 27 Túlio Toffolo Introdução a Programação Aula 05: Condicionais (if / else)

Próxima Aula Aula prática Comandos condicionais if - else Aula teórica Comandos de decisão múltipla (switch) e de salto (break) Macros e constantes Portugol e pseudo-código Exercícios 27 / 27 Túlio Toffolo Introdução a Programação Aula 05: Condicionais (if / else)

/ 12 Perguntas?