Aula 6: Comandos Estruturados Estrutura Condicional

Documentos relacionados
Aula 8: Estruturas de Repetição: O comando while

Linguagem C/C++ Estrutura Condicional. Prof: Rosemary Melo

Aula 4: Introdução à Linguagem C++

Aula 12: Funções. CI208 - Programação de Computadores. Prof. MSc. Diego Roberto Antunes

Aula 14: Funções Passagem de Parâmetros por Referência

LÓGICA DE PROGRAMAÇÃO ESTRUTURAS DE DECISÃO PARA ENGENHARIA. Prof. Dr. Daniel Caetano

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA ESTRUTURAS DE DECISÃO. Prof. Dr. Daniel Caetano

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA ESTRUTURAS DE DECISÃO. Prof. Dr. Daniel Caetano

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA ESTRUTURA COM DECISÃO MÚLTIPLA. Prof. Dr. Daniel Caetano

Estruturas condicionais

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA

ESTRUTURA COM DECISÃO COMPOSTA

Aula 8 Comandos de Seleção

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA ESTRUTURAS DE DECISÃO. Prof. Dr. Daniel Caetano

Aula 05: Condicionais (Parte 2)

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: Operadores relacionais e lógicos estruturas condicionais If...

Aula 01 Algoritmos e lógica de programação e introdução ao C++

Aula 10 Comandos de Repetição

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA DE CIÊNCIAS E TECNOLOGIA. ECT1203 Linguagem de Programação Turma Prof.

Linguagem C: if-else e operadores lógicos

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA

Unidade 10: Estruturas de Decisão Compostas Prof. Daniel Caetano

Aula 25: Funções com Arrays

Aula 01 Algoritmos e lógica de programação e introdução ao C++

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

Oficina de Introdução de Programação usando Linguagem Python Prof. Ms. Perini

Para começar... Para começar... Para começar... Para começar... Algoritmos e Lógica de Programação 80 horas // 4 h/semana. Estruturas condicionais...

INFORMÁTICA APLICADA AULA 03 LINGUAGEM DE PROGRAMAÇÃO C++

ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE)

Puca Huachi Vaz Penna

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA

Comandos de desvio de fluxo. Expressões lógicas.

INFORMÁTICA APLICADA AULA 05 LINGUAGEM DE PROGRAMAÇÃO C++

Comandos de desvio de fluxo. Expressões lógicas.

BAC004 Informática Teórica T2 Professora: Fabiana Costa Guedes Lista 05 Vetores e Matrizes Vetores

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA EXERCÍCIOS E CONSTRUÇÃO DE PROGRAMAS SEQUENCIAIS. Prof. Dr. Daniel Caetano

CI208 - Programação de Computadores. Aula 24: Arrays. Prof. MSc. Diego Roberto Antunes

Linguagem C++ Estruturas de controle Parte II Estruturas de repetição

Linguagem C. Programação Estruturada. Estruturas de Controle. Prof. Luis Nícolas de Amorim Trigo

Programação para Games I

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA DE CIÊNCIAS E TECNOLOGIA. ECT1203 Linguagem de Programação Turma Prof.

Introdução a programação Controle de Fluxo

Fundamentos de Programação1

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

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

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

Algoritmos e Programação

Algoritmos e Programação

Programação científica C++

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À PROGRAMAÇÃO COM C/C++ Prof. Dr. Daniel Caetano

Programação de Computadores

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

CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS DISCIPLINA : INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO ASSUNTO: ALGORITMOS

UNIVERSIDADE FEDERAL DO PAMPA CAMPUS BAGÉ ALGORITMOS E PROGRAMAÇÃO. Estruturas de condição. Prof. Alex Camargo

PROGRAMAÇÃO A. Estrutura Condicional

Algoritmos I Aula 8 Estrutura de controle: seleção

Treinamento Olimpíada Brasileira de Informática

Aula 7: Estrutura de Decisão

Algoritmos e Técnicas de

ESTRUTURA DE DADOS LAÇOS E VETORES

Introdução à Programação

Programação Orientada a Objetos

Aula Teórica 03. Comandos Condicionais (Decisão)

Fundamentos de Programação

Universidade Federal de Uberlândia Faculdade de Computação. Expressões aritméticas, relacionais e lógicas Estruturas condicionais

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: estruturas de repetição While / Do While / For

Aula 11: Laços e exercícios

exatasfepi.com.br Informática C/C++ André Luís Duarte Feliz é o homem que acha sabedoria, e o homem que adquire entendimento; Provérbios 3:13

Puca Huachi Vaz Penna / José Américo T. Messias

Introdução à Programação I

Unidade 9: Introdução às Estruturas de Decisão

ESTRUTURA CONDICIONAL E SELEÇÃO

LINGUAGEM C: COMANDOS DE REPETIÇÃO

Estruturas de controle: Estrutura de DECISÃO

Linguagem C (estruturas condicionais)

Fábio da Fontoura Beltrão Felipe Augusto Chies Lucas Fialho Zawacki Marcos Vinicius Cavinato Matheus de Carvalho Proença

Controle de Fluxo Comandos de decisão multipla

Algoritmos e Lógica de Programação 80 horas // 4 h/semana. Exercício... Para começar... Resolução... Para começar... Para começar...

ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE)

LP II Estrutura de Dados

Introdução à Lógica de Programação Aula 2. Adaptação de Luis Otavio Alvares

Programação Computacional C/C++

Oficina de Python Prof. Me. José Carlos Perini

Algoritmos - Paulo Roberto

Técnicas de Programação:

Fundamentos de Programação. Turma CI-240-EST. Josiney de Souza.

Capítulo 4: Condicionais

Algoritmo e Linguagem C++

Oficina de Python Prof. Me. José Carlos Perini

Exercícios Repetição

Controle de Fluxo Comandos de decisão multipla

Linguagem de Programação. Tutorial 3 Os comandos if, else e else if

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

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

Transcrição:

CI208 - Programação de Computadores Aula 6: Comandos Estruturados Estrutura Condicional Prof. MSc. Diego Roberto Antunes diegor@inf.ufpr.br www.inf.ufpr.br/diegor Universidade Federal do Paraná Setor de Ciências Exatas Departamento de Informática

Nas Últimas Aulas Modelo do Computador, Compilação/Execução, Memória Algoritmos vs. Programas Estrutura de um Programa C++ Variáveis (Tipos, Nomes, Valor, Inicialização) e Operadores Comandos de Entrada e Saída Obs.: revisem e resolvam todos os exercícios das listas anteriores

Estrutura Condicional?

Estrutura Condicional: Exemplos 1) Construir um Programa em C++ que leia dois números do tipo inteiro do teclado N1 e N2. Se N2 for maior que 0 (zero), calcule a divisão N1/N2 e mostre o resultado na tela. 2) Construir um programa que leia dois números e mostre qual é o maior. 3) Construir um Programa em C++ que leia dois números. Se os números forem iguais, mostre uma mensagem informando o usuário. Caso contrário, mostre na tela qual o maior entre os números. 4) Construir um Programa em C++ para ajudar o professor a calcular a média parcial da disciplina CI208. Seu programa deve ler do teclado as notas das três provas PI e P2 e P3, calcular a média e informar o resultado: aprovado por média, reprovado por nota ou exame.

Comando if: Sintaxe if (expressao) { sentencas; verdadeira expressão (condição) sentenças falsa

Exemplo Comando if 1) Construir um Programa em C++ que leia dois números do tipo inteiro do teclado N1 e N2. Se N2 for maior que 0 (zero), calcule a divisão N1/N2 e mostre o resultado na tela.

Exemplo Comando if 1) Construir um Programa em C++ que leia dois números do tipo inteiro do teclado N1 e N2. Se N2 for maior que 0 (zero), calcule a divisão N1/N2 e mostre o resultado na tela. #include <iostream> using namespace std; int main( ){ int N1, N2; cout << "Entre com dois números (N1 e N2): "; cin >> N1 >> N2; cout << O resultado da divisão eh: " << N1/N2 << endl;

Exemplo Comando if 1) Construir um Programa em C++ que leia dois números do tipo inteiro do teclado N1 e N2. Se N2 for maior que 0 (zero), calcule a divisão N1/N2 e mostre o resultado na tela. #include <iostream> using namespace std; int main( ){ int N1, N2; cout << "Entre com dois números (N1 e N2): "; cin >> N1 >> N2; cout << O resultado da divisão eh: " << N1/N2 << endl;

Exemplo Comando if 1) Construir um Programa em C++ que leia dois números do tipo inteiro do teclado N1 e N2. Se N2 for maior que 0 (zero), calcule a divisão N1/N2 e mostre o resultado na tela. #include <iostream> using namespace std; int main( ){ int N1, N2; cout << "Entre com dois números (N1 e N2): "; cin >> N1 >> N2; if ( N2 > 0 ) { cout << O resultado da divisão eh: " << N1/N2 << endl;

Exemplo Comando if 2) Construir um Programa em C++ que leia um número do teclado. Se o número for negativo, transforme-o para positivo. Ao ginal, mostre o número na tela.

Exemplo Comando if 2) Construir um Programa em C++ que leia um número do teclado. Se o número for negativo, transforme-o para positivo. Ao ginal, mostre o número na tela. #include <iostream> using namespace std; int main( ){ int n; cout << "Entre com um número: "; cin >> n; if ( n < 0 ) { n = n * -1; cout << O número positivo é: " << n << endl;

Mas, como resolvemos os problemas: a) No exemplo 1, queremos avisar o usuário que a divisão não pode ser feita; b) Construir um programa que leia dois números e mostre qual é o maior;

Comando if-else Se uma condição resultar em verdadeiro, então execute as sentenças A. Senão (caso contrário), as sentenças B serão executadas. if (expressao) { sentencasa; verdadeira expressão (condição) falsa else { sentencasb; sentencasa; sentencasb;

Exemplo Comando if-else 1) Construir um Programa em C++ que leia dois números do tipo inteiro do teclado N1 e N2. Se N2 for maior que 0 (zero), calcule a divisão N1/N2 e mostre o resultado na tela. #include <iostream> using namespace std; int main( ){ int N1, N2; cout << "Entre com dois números (N1 e N2): "; cin >> N1 >> N2; if ( N2 > 0 ) { cout << O resultado da divisão eh: " << N1/N2 << endl; else { cout << Erro! N2 deve ser maior que 0. << endl;

Exemplo Comando if-else 2) Construir um programa que leia dois números e mostre qual é o maior; #include <iostream> using namespace std; int main( ){ gloat n1, n2, maior; cout << "Entre com dois números (n1 e n2): "; cin >> n1 >> n2; if ( n1 >= n2 ) { maior = n1; else { maior = n2; cout << O maior número é: << maior << endl;

Exercício: a) Faça um programa em C++ que leia um número do tipo inteiro do teclado e mostre na tela se ele é par ou ímpar.

Comando condicional: Problemas comuns O programa a seguir está correto? #include <iostream> using namespace std; int main( ){ int saldo = 2000; if (saldo = 1) { cout << Saldo: " << endl; cout << "Voce esta quebrado! " << endl; else { cout << "Seu saldo eh " << saldo << endl;

Comando condicional: Problemas comuns O programa a seguir está correto? #include <iostream> using namespace std; int main( ){ int saldo = 2000; if (saldo = 1) { cout << Saldo: " << endl; cout << "Voce esta quebrado! " << endl; else { cout << "Seu saldo eh " << saldo << endl; Onde está a chave que indica o ginal do bloco if?

Comando condicional: Problemas comuns O programa a seguir está correto? #include <iostream> using namespace std; int main( ){ int saldo = 2000; if (saldo = 1) { cout << Saldo: " << endl; cout << "Voce esta quebrado! " << endl; else { cout << "Seu saldo eh " << saldo << endl; Você deve sempre abrir e fechar as chaves nos comandos if-else

Comando condicional: Problemas comuns O programa a seguir está correto? #include <iostream> using namespace std; int main( ){ int saldo = 2000; if (saldo = 1) { cout << Saldo: " << endl; cout << "Voce esta quebrado! " << endl; else { cout << "Seu saldo eh " << saldo << endl;

Comando condicional: Problemas comuns O programa a seguir está correto? #include <iostream> using namespace std; int main( ){ int saldo = 2000; if (saldo = 1) { Esta expressão é relacional? cout << Saldo: " << endl; cout << "Voce esta quebrado! " << endl; else { cout << "Seu saldo eh " << saldo << endl;

Comando condicional: Problemas comuns O programa a seguir está correto? #include <iostream> using namespace std; int main( ){ int saldo = 2000; if (saldo == 1) { cout << Saldo: " << endl; cout << "Voce esta quebrado! " << endl; else { cout << "Seu saldo eh " << saldo << endl; O operador relacional de igualdade é ==, não confundir com atribuição!

Comando condicional: Problemas comuns Cuidado ao utilizar os operadores relacionais. O programa a seguir está correto do ponto de vista semântico? #include <iostream> using namespace std; int main( ){ int numero = 0; if (numero > 0) { cout << O numero eh positivo! " << endl; else { cout << O numero eh negativo? << endl;

Mas, e para o seguinte problema: Construir um Programa em C++ que leia dois números. Se os números forem iguais, mostre uma mensagem informando o usuário. Caso contrário, mostre na tela qual o maior entre os números.

Aninhando sentenças if-else Então podemos colocar sentenças condicionais dentro de outras sentenças condicionais, ou seja, estamos aninhando sentenças. Resolvendo: #include <iostream> using namespace std; int main( ){ int n1, n2; cout << Informe n1 e n2: ; cin >> n1 >> n2; if (n1 == n2) { cout << Os números são iguais! << endl; else { //caso contrário, precisamos verigicar o maior

Aninhando sentenças if-else Lembrando que para verigicar o maior entre dois números: if (n1 > n2) { cout << O número << n1 << eh o maior! << endl; else { cout << O número << n2 << eh o maior! << endl;

#include <iostream> using namespace std; Aninhando sentenças if-else int main( ){ int n1, n2; cout << Informe n1 e n2: ; cin >> n1 >> n2; if (n1 == n2) { cout << Os números são iguais! << endl; else { if (n1 > n2) { cout << O número << n1 << eh o maior! << endl; else { cout << O número << n2 << eh o maior! << endl;

Operadores Lógicos

Operadores Lógicos! NÃO lógico, operação de negação (operador unário) && E lógico, conjunção (operador binário) OU lógico, disjunção (operador binário).

Operadores Lógicos Exemplo: se quisermos testar se um número é positivo e par, e imprimir uma mensagem como no exemplo anterior, podemos escrever: if ( (num >= 0) && (num % 2 == 0) ){ cout << O numero eh par e positivo." << endl;

Operadores Lógicos Exemplo: verigicar se o aluno está no exame ginal a partir da média parcial MP if ( (MP >= 40) && (MP < 70) ){ cout << O aluno esta no Exame Final." << endl; Exemplo: verigicar se o aluno reprovou a partir da média parcial MP e da média ginal MF: if ( (MP < 40) (MF < 50) ){ cout << O aluno esta Reprovado por nota!" << endl;

Operadores Lógicos Resultado das operações lógicas && e : expressão1 expressão2 expressão1 && expressão2 expressão1 expressão2 verdadeiro verdadeiro verdadeiro verdadeiro verdadeiro falso falso verdadeiro falso verdadeiro falso verdadeiro falso Falso falso falso Ou seja, uma comparação entre 2 expressões usando os Operadores Lógicos: a) usando o &&, somente resulta verdadeiro se ambas resultarem verdadeiro; b) usando o, somente resulta falso se ambas resultarem falso; Precedência:!, &&,

Exercícios

Exemplos Assuma as seguintes declaraçõoes de variáveis: int x = 4; int y = 8; O que é impresso pelo seguinte programa? if (y = 8) { if (x = 5){ cout << "a "; else { cout << "b "; cout << "c "; cout << "d" << endl;

Exemplos Assuma as seguintes declaraçõoes de variáveis: int x = 4; int y = 8; O que é impresso pelo seguinte programa? if (y ==8) { if (x == 5){ cout << "a "; else { cout << "b "; cout << "c "; cout << "d" << endl;

Exemplos Assuma as seguintes declaraçõoes de variáveis: int x = 5; int y = 8; O que é impresso pela seguinte sentença? if (x == 5 && y == 8) { cout << "a" << endl; else { cout << "b" << endl;

Exemplos Assuma as seguintes declaraçõoes de variáveis: int x = 4; int y = 8; O que é impresso pela seguinte sentença? if (!(x == 5 y == 8) ) { cout << "a" << endl; else { cout << "b" << endl;

Precedência completa de operadores

Construção else if Problema: Construir um Programa em C++ para ajudar o professor a calcular a média parcial da disciplina CI208. Seu programa deve ler do teclado as notas das duas provas PI, P2 e P3, calcular a média e informar o resultado: aprovado por média, reprovado por nota ou exame.

Construção else if Usada para uma sequência de decisões sem a necessidade de aninhar comandos condicionais. Por exemplo, pode ser usado em um menu de opções if (expressao 1 ) { sentencas 1 ; else if (expressao 2 ) { sentencas 2 ; else if (expressao n- 1 ) { sentencas n-1 ; else { sentencas n ; (último caso)

Construção else if Usada para uma sequência de decisões sem a necessidade de aninhar comandos condicionais. Por exemplo, pode ser usado em um menu de opções if (expressao 1 ) { sentencas 1 ; else if (expressao 2 ) { sentencas 2 ; else if (expressao n ) { sentencas n ; Quando o else não for necessário como opção default, ele pode ser removido.

Construção else if Problema: construir um Programa em C++ para ajudar o professor a calcular a média parcial da disciplina CI208. Seu programa deve ler do teclado as notas das duas provas PI, P2 e P3, calcular a média e informar o resultado: aprovado por média, reprovado por nota ou exame. cin >> p1 >> p2 >> p3; media_parcial = 0.25* (p1+p2) + 0.5*p3; if (media_parcial >= 70){ cout << O aluno está aprovado por média << endl; else if (media_parcial < 70 && media_parcial >= 40){ cout << O aluno está em Exame Final << endl; else { cout << O aluno está reprovado por nota << endl;

Dúvidas?

Exercícios

1. Faça um programa em C++ que leia do teclado 3 (três) números do tipo inteiro e mostre na tela o maior entre eles. 2. Faça um programa que leia do teclado a idade de um nadador e, em seguuida, verigique e mostre qual a sua categoria, de acordo com: infantil A = 5-10 anos juvenil A = 11-13 anos juvenil B = 14-17 anos adulto = maiores de 18 anos 3. A partir de uma competição entre as turmas A e B, escreva um programa que leia do teclado 2 números que indicam o número de vitórias da turma A e o número de vitórias da turma B, e mostre na tela o vencedor. Se houver empate seu programa deve mostrar na tela. 4. Tendo os dados de entrada altura e o sexo de uma pessoa (1 masculino e 0 feminino), construa um programa que calcule seu peso ideal: homens: (72.7 h) 58 mulheres: (62.1 h) 44.7

Conclusão Façam a Lista 2 de Exercícios e as Listas Complementares Revisem os conceitos na bibliogra\ia Próxima Aula: Prática para Implementação de exercícios e Dúvidas Trazer o computador e os Exercícios(impressos ou no computador)