Aula 06.

Slides:



Advertisements
Apresentações semelhantes
INTRODUÇÃO A COMPUTAÇÃO ENG. CIVIL
Advertisements

Algoritmo I Aula 04 Expressões Lógicas.
Estrutura Condicional
Programação de Computadores I Prof. Eduardo 2011
LÓGICA MATEMÁTICA OPERAÇÕES LÓGICAS SOBRE PROPOSIÇÕES
Universidade Federal de São Carlos Introdução à Linguagem C Comandos.
Introdução à Computação - Jorge Macêdo
Algoritmos com seleção
Universidade do Estado de Santa Catarina – CCT/UDESC
1 Professor Rogério B. de Andrade - Aula 001- Dez/2008 Técnicas e Linguagem de Programação.
Introdução à Programação Um enfoque orientado a construção de modelos em programas baseados em objetos Gustavo Motta Departamento de Informática - UFPB.
Estruturas de Decisão Permitir testes para decidir acções alternativas: if if - else switch (?:) Operador Condicional MF.
Aula 6 Instruções de selecção e instruções condicionais.
Algoritmos e linguagens de programação 1 (aula 05)
Semana 03: Comandos de desvio de fluxo. Expressões lógicas.
Introdução a Computação e Cálculo Numérico
Operações Lógicas sobre proposições
IAED Tagus, 2009/2010 Introdução à Programação em C (I)
Exercício 1 Faça um programa que receba como entrada o nome e o salário de um funcionário de uma empresa e que calcule o novo valor do salário do.
Aula 07.
Aula 09.
Aula 03.
Pontifícia Universidade Católica de Goiás PUC GOIÁS Departamento de Computação Informática e Computação Professor: MSc. Mário Oliveira Orsi Cesar.
Aula 04.
Aula 05.
Lógica Proposicional UESC
Material Didático Proposto 1 Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM Comissão para Coordenação das Atividades Pedagógicas.
Material Didático Proposto
FTIN Formação Técnica em Informática
Introdução a Lógica Prof. Luiz Carlos Gabi.
Linguagem de Programação JAVA Técnico em Informática Professora Michelle Nery.
LINGUAGENS DE PROGRAMAÇÃO PROF. DANIELA PIRES
Estruturas de Dados Módulo 3 – Controle de Fluxo
Semana 03 Comandos de desvio de fluxo. Expressões lógicas.
Operadores Relacionais, Lógicos e comandos de condição
Aula 01.
Programação em C++ Compiladores
Procedural vs. OO (Figuras Geométricas: Área do triângulo)
Programação e Sistemas de Informação
Programação I Aula 5 (Instruções de Repetição) Prof. Gilberto Irajá Müller Última atualização 24/3/2009.
Informática e Computação Estrutura de Repetição aula 12
Conectivos Lógicos / Operações
Material Didático Proposto 1 Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM Comissão para Coordenação das Atividades Pedagógicas.
Aula prática 2 Operadores e Expressões Comandos de Decisão Comentários
Algoritmos Estruturados
Aula 10. Pontifícia Universidade Católica de Goiás PUC GOIÁS Departamento de Computação Informática e Computação Professor: MSc. Mário Oliveira Orsi Cesar.
Tipos de dados inteiro caracter real logico
PCI- Estrutura Condicional Profa. Mercedes Gonzales Márquez.
Aula Prática 1 Monitoria IP/CC (~if669) (A partir do slide elaborado por Luís Gabriel)
LÓGICA PROPOSICIONAL.
Introdução aos Computadores e Programação DI-FCT-UNL-2003/2004
Linguagem C.
Curso Técnico em Informática Professor Igor Vale.
PROGRAMAÇÃO II – PARTE 3 Profa. Maria Augusta Constante Puget.
Desenvolvimento WEB Prof. Renato de Oliveira Bastos
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores Algoritmos e linguagens de programação 1 (aula 08) Prof. Alessandro Bernardo.
Profa. Maria Augusta Constante Puget
Pontifícia Universidade Católica de Goiás PUC GOIÁS Departamento de Computação Informática e Computação Cesar Augusto da Rocha Magalhães.
NOÇÕES DE LÓGICA Professor: Renilson.
Tipos de Dados, Variáveis, Expressões Lógicas e Aritméticas
Programação estruturada unidade 2
1 Programação – JAVA Unidade 3 – Loops e Lógica Prof. Aparecido V. de Freitas Curso de Ciência da Computação.
CONDICIONAL IF Desenvolvido pelo Mestrando Rodrigo Moreira Barreto – VHLab (Virtual Humans Simulation Laboratory – PUCRS) 1 Desenvolvido por: Rodrigo Moreira.
Algoritmos e Estruturas de Dados I – Tipos de dados
1 Estruturas de Controle Algoritmos Algoritmos –Série de ações em uma ordem específica As ações executadas Ordem na qual as ações são executadas.
Visual C# (parte 2) Prof. Igor Conrado Alves de Lima – Operadores, estruturas de decisão, vetores (arrays), e estruturas de.
Aula 3 Comandos Condicionais Prof. Filipe Mutz.. Revisão Computadores e seus Componentes – Processador, Memórias Primárias e Secundárias – Sistema Operacional.
Curso: Técnico Integrado em Informática Disciplina : Fundamentos de Lógica e Algoritmo Resumo do 1º Bimestre Profª. Katiuscia Lopes dos Santos.
1 Estruturas Condicionais Aula – Tópico 3 Algoritmos e Estruturas de Dados I (DCC/003)
PROGRAMAÇÃO I UNIDADE 3.
Transcrição da apresentação:

Aula 06

Pontifícia Universidade Católica de Goiás PUC GOIÁS Departamento de Computação Informática e Computação Professor: MSc. Mário Oliveira Orsi Cesar Augusto da Rocha Magalhães

INFORMÁTICA E COMPUTAÇÃO CMP 1060 ESTRUTURA CONDICIONAL 1 AULA 6 CONTROLE DE FLUXO ESTRUTURA CONDICIONAL 1

Os programas que vimos até agora têm a seguinte estrutura: main( ) { declarações instrução 1 instrução 2 instrução 3 ... instrução N } ESTRUTURA SEQUENCIAL

Estrutura Condicional O caso geral da instrução if - else: if ( expressão ) instrução1 ; else instrução2 ; If Se a (expressão) entre os parenteses for VERDADEIRA executo a instrução 1 else  senão executo a instrução 2 Exemplo: If (X > Y) X = Y else X = X +1 // se for verdade que o valor de X é maior que Y // atribui o valor de Y para X // senão adciono 1 ao valor de X

Estrutura Condicional O caso geral da instrução if - else: if ( expressão ) instrução1 ; else instrução2 ; If Se a (expressão) entre os parenteses for VERDADEIRA executo a instrução 1 else  senão executo a instrução 2 O comando else não é obrigatório: if ( expressão ) // se a expressao for verdadeira instrução1 ; // executo a instrução 1 e sigo a execução

Estrutura Condicional Expressões Logicas: é a expressão cujo operadores são lógicos e cujos operandos são relações, constantes e/ou variáveis do tipo lógico. Exemplos: X + Y = Z , X e Y = Z Relações: X > Y o resultado será verdadeiro ou falso. Símbolos Relacionais Símbolo Significado < menor > maior <= menor ou igual >= maior ou igual == igual != diferente

Estrutura Condicional Operadores Lógicos SÃO CONECTORES QUE RELACIONAM PROPOSIÇÕES QUE PODEM SER VERDADEIRAS OU FALSAS. e  conjunção (é verdadeira se e somente se ambas as proposições são verdadeiras). ou  disjunção ( é verdadeira se pelo menos uma delas for verdadeira). não  negação (é negação da expressão)

Estrutura Condicional   !(2 > 3) NÃO ! !(5>1) (4> 2) || (10 > 5) OU || (3> 1) || (10 > 11) (2 >1) && (10 > 9) E && (5 > 1) && (3>10) Exemplo Descrição Operador Resultado F V FALSO VERDADEIRO V F V V

Estrutura Condicional Simples if ( expressão ) instrução1 ; Exemplo Desenvolver um programa para entrar com um preço do carro e calcular o preço final de acordo com as opções do usuário com os opcionais de vidro elétrico, ar condicionado, trava central, pintura metálica e ar condicionado.

Entro com o valor do carro Desenvolver um programa para entrar com um preço do carro e calcular o preço final de acordo com as opções do usuário com os opcionais de vidro elétrico, ar condicionado, trava central, pintura metálica e ar condicionado. Entro com o valor do carro Análise: Preço do carro = 22000,00 Ar condicionado + 2500,00 Dir hidraulica + 2000,00 Pintura metálica + 650,00 Vidro elétrico + 500,00 Trava central + 400,00 Preço final carro 28050,00 Pergunto pelos opcionais: Tabela de Preços: Ar concionado R$ 2500,00 Dir . Hidraulica R$ 2000,00 Pintura metálica R$ 650,00 Vidro elétrico R$ 500,00 Trava central R$ 400,00 Resposta: ‘s’ ‘n’ ‘S’ ‘N’

DEFINIÇÃO DAS VARIÁVEIS Desenvolver um programa para entrar com um preço do carro e calcular o preço final de acordo com as opções do usuário com os opcionais de vidro elétrico, ar condicionado, trava central, pintura metálica e ar condicionado. Se não for adicionado nenhum opcional o PRECOFINAL é o valor do preço INICIAL do carro DEFINIÇÃO DAS VARIÁVEIS Análise: Preço do carro = 22000,00 Ar condicionado + 2500,00 Dir hidraulica + 2000,00 Pintura metálica + 650,00 Vidro elétrico + 500,00 Trava central + 400,00 Preço final carro 28050,00 RESPAC RESPDH RESPPM RESPVE RESPTC PRECOFINAL Resposta: ‘s’ ‘n’ ‘S’ ‘N’

// programa PRECOCARRO #include <iostream> using namespace std; O preço inicial do carro será = preço final sem nenhum opcional, entretanto existe a possibilidade de se querer comprar só item(s) opcionais  PRECOFINAL=preço do carro = 0 // programa PRECOCARRO #include <iostream> using namespace std; main( ) { char RESPAC, RESPDH, RESPPM, RESPVE, RESPTC; float PRECOFINAL=0; //leia os dados de entrada cout << "Qual o preco inicial do carro"; cin >> PRECOFINAL; cout << "Deseja Ar Condicionado (S/N) , (s/n)? "; cin >> RESPAC; cout << ”Deseja Direcao Hidraulica (S/N) , (s/n)? "; cin >> RESPDH; cout << "Deseja Pintura Metalica (S/N) , (s/n)? "; cin >> RESPPM; cout << "Deseja Vidros Eletricos (S/N) , (s/n)? "; cin >> RESPVE; cout << "Deseja Trava Central (S/N) , (s/n)? "; cin >> RESPTC; // teste da resposta do cliente Resposta: ‘s’ ‘n’ ‘S’ ‘N’ RESPAC RESPDH RESPPM RESPVE RESPTC PRECOFINAL

Resposta: ‘s’ ‘n’ ‘S’ ‘N’ // teste da resposta do cliente if ( (RESPAC == 'S') || (RESPAC == 's') ) PRECOFINAL = PRECOFINAL + 2500. ; if ( (RESPDH == 'S') || (RESPDH == 's') ) PRECOFINAL = PRECOFINAL + 2000. ; if ( (RESPPM == 'S') || (RESPPM =='s') ) PRECOFINAL = PRECOFINAL + 650. ; if( (RESPVE == 'S') || (RESPVE == 's') ) PRECOFINAL = PRECOFINAL + 500. ; if ( (RESPTC == 'S') || (RESPTC == 's') ) PRECOFINAL = PRECOFINAL + 400. ; //exiba os resultados de saída cout<< "R$ "<< PRECOFINAL<< " será o preço final do carro. \n“ ; system("PAUSE"); } RESPAC RESPDH RESPPM RESPVE RESPTC PRECOFINAL Preço do carro = 22000,00 Ar condicionado + 2500,00 Dir hidraulica + 2000,00 Pintura metálica + 650,00 Vidro elétrico + 500,00 Trava central + 400,00 Preço final do carro 28050,00

RASTREAMENTO Preço do carro = 22000,00 Ar condicionado + 2500,00 #include <iostream> using namespace std; main( ) {` char RESPAC, RESPDH, RESPPM, RESPVE, RESPTC; float PRECOFINAL=0; cout << "Qual o preco inicial do carro"; cin >> PRECOFINAL; cout << "Deseja Ar Condicionado (S/N) , (s/n)? "; cin >> RESPAC; cout << ”Deseja Direcao Hidraulica (S/N) , (s/n)? "; cin >> RESPDH; cout << "Deseja Pintura Metalica (S/N) , (s/n)? "; cin >> RESPPM; cout << "Deseja Vidros Eletricos (S/N) , (s/n)? "; cin >> RESPVE; cout << "Deseja Trava Central (S/N) , (s/n)? "; cin >> RESPTC; If ( (RESPAC == 'S') || (RESPAC == 's') ) PRECOFINAL = PRECOFINAL + 2500. ; If ( (RESPDH == 'S') || (RESPDH == 's') ) PRECOFINAL = PRECOFINAL + 2000. ; If ( (RESPPM == 'S') || (RESPPM =='s') ) PRECOFINAL = PRECOFINAL + 650. ; If ( (RESPVE == 'S') || (RESPVE == 's')) PRECOFINAL = PRECOFINAL + 500. ; If ( (RESPTC == 'S') || (RESPTC == 's') ) PRECOFINAL = PRECOFINAL + 400. ; cout<< "R$ "<< PRECOFINAL<< " será o preço final do carro. \n“ ; system("PAUSE"); } RASTREAMENTO RESPAC RESPDH RESPPM RESPVE RESPTC PRECOFINAL S S S S S 28050 22000 24500 27650 27150 26500 Preço do carro = 22000,00 Ar condicionado + 2500,00 Dir hidraulica + 2000,00 Pintura metálica + 650,00 Vidro elétrico + 500,00 Trava central + 400,00 Preço final do carro 28050,00 carroaut.exe

Estrutura Condicional Composta if ( expressão ) instrução1 ; else instrução2 ; Exemplo 1 Desenvolver um programa para entrar com dois números e exibir o maior entre eles.

RASTREAMENTO 587 943 #include <iostream> using namespace std; main() { setlocale(LC_ALL, " "); // define dois inteiros int X, Y; // entra com dois números inteiros cout << " Digite dois numeros inteiros diferentes: ”; cin >>X >> Y; //exibe uma mensagem dizendo qual número é maior if (X > Y) { cout << X<< " é maior do que " << Y << endl; } else { cout << X << " é menor do que " << Y << endl; system("PAUSE"); maior.exe // prog para exibir o maior de 2 numeros X e Y RASTREAMENTO X Y 587 943

#include <iostream> using namespace std; main( ) { // programa que verifica se um número é par ou ímpar*/ #include <iostream> using namespace std; main( ) { setlocale(LC_ALL, " "); int N; cout << " Digite um numero inteiro: "; cin >> N ; if ( N % 2 == 0 ) cout << N << " É par \n "; else cout<< N << " É impar \n "; system ("PAUSE") } parimpar.exe Analise N | 2 ` 0 quociente PAR

Se a (expressão) for verdadeira Se for falsa pulo a inst. 1 e ERROS FREQUENTES Provavelmente aquilo que queriam fazer era: if(...) { instrução1; instrução2; } Se a (express..) verdadeira Executo inst. 1 e inst. 2 if(...) instrução1; instrução2; Desta forma : Se a (expressão) for verdadeira Executo apenas a inst. 1 Se for falsa pulo a inst. 1 e Executo a instrução 2

If ( expressão ) { instrução1; instrução2; instrução3 ; instrução4 ; } else instrução5; instrução6 ; Instrução7; Instrução8; SE EXISTIR MAIS DE UMA INSTRUÇÃO PARA SER EXECUTADA DENTRO DO COMANDO if OU DO else DEVEMOS COLOCAR AS CHAVES { }

Exemplos de uso de estrutura condicional simples X composta #include <iostream> using namespace std; main() { setlocale(LC_ALL, " ");     int number = 75, nota; cout <<“\nEntre com sua nota, por favor "; cin>>nota; if (nota >= number) { cout << "Incrivel, voce passou com mérito.\n"); } system ("PAUSE")

#include <iostream> Condicional Composta using namespace std; main() { setlocale(LC_ALL, " ");     int number = 75, nota;     cout << “ Entre com sua nota, por favor \n”;     cin >> nota;     if (nota >= number)      {          cout << " Incrível, voce passou com mérito. \n";      } else { cout << " Que pena, voce reprovou. \n"; } system ("PAUSE")

Condicional Composta Aninhada #include <iostream> #include <cstdlib> using namespace std; main() {     int number = 75, nota;     cout <<”Entre com sua nota, por favor \ n";     cin >> nota;     if (nota >= number)      {         cout <<"Incrivel, voce passou com merito. \n";      } else if (nota >= 50)     {          cout<<”Você passou \n";      }      else      { cout<<”Que pena, você reprovou.\n"; } system (“PAUSE”); Condicional Composta Aninhada

Condicional Composta Aninhada #include <iostream> #include <cstdlib> using namespace std; main() {     int number = 75, nota;     cout <<”Entre com sua nota, por favor \ n";     cin >> nota;     if (nota >= number)      {         cout <<"Incrivel, voce passou com merito. \n";      } else if (nota >= 50)     {          cout<<”Você passou \n";      }      else      { cout<<”Que pena, você reprovou.\n"; } system (“PAUSE”); Condicional Composta Aninhada

Informe se é divisível simultaneamente. Desafio Faça um programa que leia um número inteiro e diga se ele é divisível por 2 e por 3 simultaneamente. Informe se é divisível simultaneamente. Caso não seja divisível simultaneamente. Informe por qual é divisível ou se não é divisível por nenhum dos dois.

#include<iostream> using namespace std; main() { setlocale(LC_ALL,""); int numero, num_2, num_3; cout<<"\n\nTeste de Número divisível por 2 e 3 simultaneamente"; cout<<"\n\nDigite o numero a ser testado : "; cin>>numero; num_2=numero%2; num_3=numero%3; if((num_2==0)&&(num_3==0)) cout<<"\n\nO número "<<numero<<" é divisivel por 2 e por 3 simultaneamente\n\n"; else if(num_2==0) cout<<"\n\nO número "<<numero<<" é divisivel por 2"; cout<<"\n\nO número "<<numero<<" não é divisivel por 3"; cout<<"\nO resto da divisão por 3 é : "<<num_3<<"\n\n"; }

else { if(num_3==0) cout<<"\n\nO número "<<numero<<" é divisivel por 3"; cout<<"\n\nO número "<<numero<<" não é divisivel por 2"; cout<<"\nO resto da divisão por 2 é : "<<num_2<<"\n\n"; } cout<<"\nO número "<<numero<<" não é divisivel por 2"; cout<<"\n\nO número "<<numero<<" não é divisivel por 3"; cout<<"\nO resto da divisão por 3 é : "<<num_3<<"\n\n"; system("pause");