Introdução à Computação (IC) Linguagem C: Operadores relacionais e lógicos; e Estrutura condicional Prof.ª Dr.ª Symone Gomes Soares Alcalá Universidade Federal de Goiás (UFG) Regional Goiânia (RG) Campus Aparecida de Goiânia (CAP) Faculdade de Ciências e Tecnologia (FCT) Website: http://sites.google.com/site/symonesoares E-mail: symone@ufg.br 09/11/2016
Objetivos Operadores relacionais Operadores lógicos Estrutura condicional (Comandos de seleção)
Operadores relacionais Operadores relacionais Relação é uma comparação entre dois valores de mesmo tipo básico, que produz como resultado um valor lógico Em linguagem C, as expressões lógicas que usam operadores relacionais devolvem 0 para falso e 1 para verdadeiro Tabela: Operadores relacionais OPERADOR NA MATEMÁTICA/ ALGORITMOS OPERADOR NA LINGUAGEM C AÇÃO > > Maior que >= Maior que ou igual < < Menor que <= Menor que ou igual = == Igual!= Diferente
Operadores lógicos Operadores lógicos São conectivos para construir proposições compostas em expressões lógicas Exemplos: e, ou, não Tabela: Operadores lógicos OPERADOR NOS ALGORITMOS OPERADOR NA LINGUAGEM C AÇÃO e && Conjunção ou Disjunção não! Negação É permitido combinar diversas operações em uma expressão lógica Exemplo: (10 > 5 &&!(10 < 9) 3 <= 4)
Operadores relacionais e lógicos PRIORIDADE Precedência dos operadores na linguagem C! ++ * / % + < <= > >= ==!= &&
Estrutura condicional simples Estrutura condicional simples Um comando ou grupo de comandos só será executado se a condição (expressão lógica) for verdadeira (igual a 1) if (condição) comando; // executado se condição for verdadeira if (condição) comando1; // executado se condição for verdadeira comando2; // executado independente da condição Observar que a condição deve estar entre parênteses e a palavra então é omitida
Estrutura condicional simples Exemplo Estrutura condicional simples Exemplo Algoritmo que lê um número inteiro e imprime a mensagem Voce acertou, caso o número digitado seja igual a 10 int X; printf("informe um numero inteiro: "); scanf("%d", &X); if (X == 10) printf("voce acertou \n");
Estrutura condicional composta Estrutura condicional composta Um comando A (ou grupo de comandos A) só será executado se a condição for verdadeira; e um comando B (ou grupo de comandos B) só será executado se a condição for falsa if (condição) comandoa; // executado se condição for verdadeira else comandob; // executado se condição for falsa if (condição) comandoa; // executado se condição for verdadeira else comandob; // executado se condição for falsa comandoc; //executado independente da condição
Estrutura condicional composta Exemplo Estrutura condicional composta: Exemplo Algoritmo que lê dois números distintos e imprime o maior número int X, Y; printf("informe o primeiro numero: "); scanf("%d", &X); printf("informe o segundo numero: "); scanf("%d", &Y); if (X > Y) printf("o maior numero e': %d\n ", X); else printf("o maior numero e': %d\n ", Y);
Estrutura condicional com grupo de comandos Estrutura condicional com grupo de comandos Chaves { } podem ser utilizadas para delimitar um grupo de comandos em uma estrutura condicional simples ou composta Exemplo: Estrutura condicional composta com grupo de comandos int X, Y, Z; printf("informe o primeiro numero: "); scanf("%d", &X); printf("informe o segundo numero: "); scanf("%d", &Y); if (X > Y){ Z = X - Y; printf("\n O resultado e': %d\n ", Z); } else{ Z = Y - X; printf("\n O resultado e': %d\n ", Z); }
Estrutura condicional Aninhamento de estruturas condicionais Aninhamento de estruturas condicionais (if) Exemplos: Incluindo uma nova estrutura condicional (if) após um então if (condição1) if (condição2) comandoa; // executado se condição1 e condição2 for verdadeira if (condição1) if (condição2) comandoa; // executado se condição1 e condição2 for verdadeira else comandob; // executado se condição2 for falsa if (condição1){ if (condição2) comandoa; // executado se condição1 e condição2 for verdadeira } else comandob; // executado se condição1 for falsa
Estrutura condicional Aninhamento de estruturas condicionais Aninhamento de estruturas condicionais (if) Incluindo uma nova estrutura condicional (if) após um senão (else) if (condição1) comandoa; // executado se condição1 for verdadeira else if (condição2) comandob; // executado se condição2 for verdadeira else comandoc; // executado se condição2 for falsa if (condição1){ comandoa; // executado se condição1 for verdadeira comandob; // executado se condição1 for verdadeira } else if (condição2) comandoc; // executado se condição2 for verdadeira else comandod; // executado se condição2 for falsa
Perguntas Perguntas?
Exercício Informações sobre um número inteiro Exercício: Faça um algoritmo que leia um número inteiro e informa se Ele é ou não divisível por 3 Ele é positivo, negativo ou nulo Ele é par ou ímpar
Exercício Informações sobre um número inteiro Algoritmo declare NUM numérico escreva Informe um número inteiro: leia NUM {Verificando se o número é divisível por 3} se RESTO(NUM, 3) = 0 então escreva O número é divisível por 3. senão escreva O número não é divisível por 3. fim se {Verificando se o número é positivo, negativo ou nulo} se NUM > 0 então escreva O número é positivo. senão se NUM < 0 então escreva O número é negativo. senão escreva O número é nulo. fim se fim se {Verificando se o número é par ou ímpar} se RESTO(NUM, 2) = 0 então escreva O número é par. senão escreva O número é ímpar. fim se fim algoritmo
Exercício Informações sobre o salário líquido de um funcionário Exercício: Faça um algoritmo que leia o salário bruto de um funcionário, e calcula e mostra o valor do imposto e seu salário líquido utilizando as regras a seguir. (Dica: o salário líquido é obtido descontando o valor do imposto sobre o salário bruto.) SALÁRIO BRUTO PERCENTUAL DO IMPOSTO SALÁRIO < R$ 3.000,00 3 % R$ 3.000,00 SALÁRIO < R$ 5.000,00 10 % R$ 5.000,00 SALÁRIO < R$ 12.000,00 17 % SALÁRIO R$ 12.000,00 23 %
Exercício Informações sobre o salário líquido de um funcionário Algoritmo declare SALBRUTO, SALLIQ, IMPOSTO numérico escreva Informe o salário bruto: leia SALBRUTO {Calculando o valor do imposto} se SALBRUTO < 3000 então IMPOSTO SALBRUTO x 0,03 senão se SALBRUTO < 5000 então IMPOSTO SALBRUTO x 0,10 senão se SALBRUTO < 12000 então IMPOSTO SALBRUTO x 0,17 senão IMPOSTO SALBRUTO x 0,23 fim se fim se fim se {Calculando o valor do salário líquido} SALLIQ SALBRUTO IMPOSTO {Escrevendo os resultados finais} escreva O valor do imposto é:, IMPOSTO escreva O valor do salário líquido é:, SALLIQ fim algoritmo
Bibliografia SCHILDT, H. C Completo e Total. Makron Books, 1996.