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

Documentos relacionados
LINGUAGEM C: COMANDOS DE CONTROLE CONDICIONAL

INSTITUTO FEDERAL CATARINENSE Campus Ibirama

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

Algoritmos e Programação

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

Algoritmos e Estruturas de Dados I IEC012. Linguagem C - Estruturas de Controle - Seleção. Prof. César Melo

Prof. A. G. Silva. 28 de agosto de Prof. A. G. Silva INE5603 Introdução à POO 28 de agosto de / 1

Programação científica C++

Linguagem C (estruturas condicionais)

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

Estruturas de seleção. Prof.: Jesus

COMANDOS DE CONTROLE DE FLUXO. Luís Charneca.

Desenvolvimento de Aplicações Desktop

Algoritmos e Técnicas de

Programação I Estruturas de Decisão

Introducao a Programacao Estruturas de decisão

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

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

Sintaxe Básica de Java Parte 2

Estruturas de seleção. Prof.: Jesus

Comandos em C (cont.)

SSC304 Introdução à Programação Para Engenharias. Controle de Fluxo. GE4 Bio

Aula 4 Estruturas de Controle

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...

Comandos de Controle do Programa

Capítulo 2: Condicionais. Pontifícia Universidade Católica Departamento de Informática

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

4. Constantes. Constantes pré-definidas

Introdução à Programação

3. Linguagem de Programação C

Programação Orientada a Objetos

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

Capítulo 4: Condicionais

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

USP - ICMC - SSC SSC o. Semestre Disciplina de Introdução à Computação para Engenharia Ambiental

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

Aula 6: Comandos Estruturados Estrutura Condicional

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

Variáveis primitivas e Controle de fluxo

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

LINGUAGEM C: COMANDOS DE REPETIÇÃO

SSC304 Introdução à Programação Para Engenharias

Programação I PRG Engenharia de Telecomunicações 2ª Fase Professor: Cleber Jorge Amaral

GFM015 Introdução à Computação Algoritmos e Programação / Controle de Fluxo / Estutura Condicional

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

Estruturas de Repetição

ESTRUTURA CONDICIONAL E SELEÇÃO

ECT1203 Linguagem de Programação

Programação II. Aula 3

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

C Comandos de Controle

Linguagem C Operadores

Linguagens de Programação I

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Condicionais e de Repetição

Estruturas de Repetição. for() while() do-while() break; continue;

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

controle de fluxo - condicionais

Tipos Primitivos, estruturas de iteração e decisão.

ALGORITMOS E APLICAÇÕES. FATEC IPIRANGA ADS Noturno 1º semestre de 2012 Prof. Luiz Carlos de Jesus Junior

Linguagem C: if-else e operadores lógicos

Introdução à Computação (IC) Linguagem C: Operadores relacionais e lógicos; e Estrutura condicional

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

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

Aula 8 Comandos de Seleção

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

Linguagem C. André Tavares da Silva.

Linguagem C estruturas de repetição

PROGRAMAÇÃO A. Estrutura Condicional

Linguagem C Operadora

Estruturas Condicionais

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

CIT Aula 02 Variáveis e Estruturas de desvio condicional. Autor: Max Rodrigues Marques Carga Horária: 2 h 22/07/15 1

C Comandos de Controle

Treinamento Olimpíada Brasileira de Informática

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

Programação de Computadores I Funções de Repetição da Linguagem C PROFESSORA CINTIA CAETANO

Algoritmos Estrutura Condicional

Estruturas de Controle de Fluxo Estruturas de Seleção. Givanaldo Rocha

Seleção Múltipla Laços (while, do-while, for) AULA 05

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

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...

Técnicas de Programação em Engenharia Elétrica I - Engenharia de Sistemas Embarcados - Prof. Alessandro Zimmer Introdução à Linguagem C

Aula 6 Instruções de Seleção Cleverton Hentz

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

Revisão C++ - Parte 1

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Básicas. Aula Tópico 2

Linguagem de Programação

Programação Estruturada

Programação para Games I

CONDICIONAL / de SELEÇÃO / de DECISÃO

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

UNISINOS - UNIVERSIDADE DO VALE DO RIO DOS SINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (C6/6) Curso: Informática

CCO 016 / COM 110 Fundamentos de Programação

A única diferença entre o difícil e o impossível é que o último demora um pouco mais de tempo para ser alcançado..

Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte Lista de Exercícios para a Terceira Unidade

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS

Controle de Fluxo - Condicionais. INF1005 Programação I Profa. Simone D.J. Barbosa sala 410 RDC

Estrutura Condicional

Linguagem Java - Introdução

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE DEPARTAMENTO DE INFORMÁTICA E MATEMÁTICA APLICADA. DIM0320 Algoritmos e Programação de Computadores

Transcrição:

Universidade Federal de Uberlândia Faculdade de Computação Linguagem C: Operadores relacionais e lógicos estruturas condicionais If... Else Switch Prof. Renato Pimentel 1 Operações relacionais Operações lógicas 2 Prof. Renato Pimentel 1

Operadores relacionais em C Operadores relacionais: comparação entre valores, constantes, variáveis ou expressões aritméticas. São operadores binários (2 operandos: 1 à esquerda e outro à direita). Retorno: 0 quando falso ou 1 quando verdadeiro. Operador Exemplo Definição > x > y Retorna 1 se x for maior que y, 0 caso contrário. < x < y Retorna 1 se x for menor que y, 0 caso contrário. >= X >= y Retorna 1 se x for maior ou igual a y, 0 c. c. <= X <= y Retorna 1 se x for menor ou igual a y, 0 c. c. == x == y Retorna 1 se x for igual a y, 0 c. c.!= x!= y Retorna 1 se x for diferente de y, 0 c. c. 3 Importante: = e == Operador de atribuição = é totalmente diferente do operador relacional de igualdade ==. 4 Prof. Renato Pimentel 2

Importante: = e == Operador de atribuição = é totalmente diferente do operador relacional de igualdade ==. Por que sempre se entra no bloco da condição? Ao fazer Nota = 60 (Nota recebe 60), estamos atribuindo um valor inteiro e diferente de zero à variável nota. Como em C os valores lógicos são números inteiros, assume-se que a condição retornou verdadeira (60 é diferente de zero, valor associado a falso). 5 Operadores lógicos em C Operadores lógicos: operam sobre valores lógicos. Retorno: 0 para verdadeiro ou 1 para falso. 3 Operadores: && (E lógico) (OU lógico)! (NÃO lógico) operador unário (único operando à direita). Operador Exemplo Definição && (c>='0' && c<='9') AND (E) (a==5 a==0) OR (OU)!!continuar NOT (NÃO): negação lógica. 6 Prof. Renato Pimentel 3

Operadores lógicos em C Tabela verdade em linguagem C: a b a && b a b!a!b 1 1 1 1 0 0 1 0 0 1 0 1 0 1 0 1 1 0 0 0 0 0 1 1 7 Estruturas condicionais If If Else Switch 8 Prof. Renato Pimentel 4

Estruturas condicionais Também chamadas de estruturas de condição ou estruturas de seleção. Possibilita a escolha de uma ação ou um grupo de ações a serem executadas quando determinadas condições são ou não satisfeitas. Condição Geralmente dada em termos de uma ou combinações de: operações relacionais; operações lógicas. 9 Condição em C Pode ser definida em termos de: Operadores matemáticos: +,, *, /, % Operadores relacionais: >, <, >=, <=, == (igual),!= (diferente) Operadores lógicos: && (e), (ou),! (não) Exemplos: x é maior ou igual a y? x >= y x-5 é diferente de y+3? x 5!= y + 3 x é maior que y e menor que z? (x > y) && (x < z) 10 Prof. Renato Pimentel 5

Condição em C Condição: operação relacional ou lógica. Considerada falsa se possui valor 0; Considerada verdadeira se possui valor 1 ou diferente de 0. Expressões equivalentes Se uma variável é diferente de zero, ela própria retorna um valor que é considerado verdadeiro pelo computador: (num!= 0) (num) Se uma variável possui valor zero, sua negação é considerada verdadeiro pelo computador: (num == 0) (!num) 11 Comando if Estrutura condicional simples: comando if: if (condição) comando; Estrutura condicional Mais de um comando: usar chaves {}: if (condição) { } sequência de comandos; Estrutura condicional 12 Prof. Renato Pimentel 6

Comando if Comando if:...... if (condição) { sequência de comandos; }... condição F... V Comando(s) 13 Comando if: exemplo 14 Prof. Renato Pimentel 7

Comando if: exemplo Em C, condição deve vir entre parênteses! 15 Comando if: exemplo Início Falso Verdadeiro Fim 16 Prof. Renato Pimentel 8

Comando if: exemplo 17 Comando if: exemplo Uso das chaves é obrigatório quando há mais de uma instrução no bloco de instruções 18 Prof. Renato Pimentel 9

Comando if Observações: Não se usa ponto e vírgula (;) após o comando if: compilador entende que comando if terminou, e executa o comando seguinte sempre (como se estivesse fora do if); Pode-se usar as chaves {} para delimitar sequência de comandos: As chaves devem ser usadas quando sequência tem mais de um comando; Quando única instrução, uso é facultativo: chaves podem ser omitidas. 19 Comando else Comando else complementa o comando if, tratando a situação em que a condição de teste é falsa. Neste caso, temos uma estrutura condicional composta. 20 Prof. Renato Pimentel 10

Comando else Forma geral do comando else: if (condição) { primeira sequência de instruções; } else { segunda sequência de instruções; } 21 Comando else... if (condição) {... primeira sequência } de instruções; V condição F else { segunda sequência Comando(s) Comando(s) de instruções; }...... 22 Prof. Renato Pimentel 11

Comando else: exemplo 23 Comando else: exemplo Início Verdadeiro Falso Fim 24 Prof. Renato Pimentel 12

Comando else Observações: Não existe condição para o comando else: comando é simplesmente complemento do if, quando condição do último é falsa. Errado: else (num!= 10) Não existe else isolado, sem if correspondente. A exemplo do que ocorre para if, não se usa ponto e vírgula (;) após o comando else. Errado: else; Uso de chaves {} segue as mesmas regras vistas para o if. 25 Comando else Observação: se instruções do comando if forem executadas em um programa, então instruções de seu else não serão executadas. Portanto, não faz sentido usar um único par de chaves para definir os dois conjuntos: 26 Prof. Renato Pimentel 13

Aninhamento de if if aninhado: if definido dentro de bloco de instruções de outro if (ou else) mais externo: 27 Aninhamento de if No slide anterior, o programa começa a testar as condições iniciando pela condição 1. Se o resultado for diferente de zero, então bloco de comandos associado a ela é executado. Assim, a condição 2 será testada, se, e somente se, condição 1 for verdadeira. Esse processo se repete para cada if que o programa encontrar dentro do bloco de comando que for executado. 28 Prof. Renato Pimentel 14

Aninhamento de if Útil quando se tem mais do que dois caminhos para seguir dentro de um programa. Exemplo: um comando if é suficiente para testar se um valor é maior que outro ou não. Porém, não pode testar se número é maior, menor, ou igual ao outro. Veja exemplo a seguir. 29 Aninhamento de if: exemplo 30 Prof. Renato Pimentel 15

Aninhamento de if: exemplo V F V F 31 Aninhamento de if Cuidado: É preciso saber a qual if acima no programa o comando else está relacionado: Esta relação não é definida pelo alinhamento no arquivo.c; else é associado ao primeiro if antes dele dentro de um bloco de comandos: 32 Prof. Renato Pimentel 16

Aninhamento de if Cuidado: É preciso saber a qual if acima no programa o comando else está relacionado: Esta relação não é definida pelo alinhamento no arquivo.c; else é associado ao primeiro if antes dele dentro de um bloco de comandos: 33 Aninhamento de if Cuidado: É preciso saber a qual if acima no programa o comando else está relacionado: Esta relação não é definida pelo alinhamento no arquivo.c; else é associado ao primeiro if antes dele dentro de um bloco de comandos: Novo bloco de comando definido pelas chaves 34 Prof. Renato Pimentel 17

Aninhamento de if Cuidado: Para cada if existe um único else. 35 Operador? Operador ternário?: simplificação do if-else, quando apenas uma instrução faz parte do if e apenas uma do else. Tipicamente usado para atribuição. Sintaxe: condição? expressão1 : expressão2 Condição é avaliada: Se verdadeira, expressão1 será o resultado do comando; Se falsa, expressão2 será o resultado. 37 Prof. Renato Pimentel 18

Operador? Exemplo: imprimir maior valor 38 Operador? Exemplo: imprimir maior valor 39 Prof. Renato Pimentel 19

Comando switch Comando de seleção múltipla; Assemelha-se ao aninhamento de if-else-if.. 40 Comando switch Mais limitado que if-else: Comando if-else pode testar expressões relacionais ou lógicas; Comando switch somente pode testar se variável do tipo int ou char é igual a um certo valor constante. switch é indicado para testar uma variável em relação a diversos valores preestabelecidos. Uso de chaves {} dentro de cada case não é necessário. 41 Prof. Renato Pimentel 20

Comando switch: exemplo 42 Comando switch Comando default: Comando opcional, e sua sequência de comandos somente é executada se o valor da variável testada pelo comando switch não for igual a nenhum dos valores do comando case. 43 Prof. Renato Pimentel 21

Comando switch Comando break: Faz com que o switch seja interrompido assim que uma das sequências de comandos seja executada. Não é essencial. Se após a execução da declaração não houver um break, o programa executará o conteúdo dentro dos cases subsequentes. Isto pode ser útil em algumas situações, mas tenha cuidado! 44 Comando switch: exemplo sem break Exemplo: qual a saída do programa a seguir? 45 Prof. Renato Pimentel 22

Exercícios 1. Escreva um programa que lê um número inteiro. O programa deverá dizer se tal número é par ou ímpar. 2. Faça um programa que leia dois números inteiros e mostre o maior deles. Se, por acaso, os dois números forem iguais, imprima a mensagem Números iguais. 3. Faça um programa que receba três números, e mostre o maior. 46 Exercícios 4. Faça um programa que receba a idade de um nadador e mostre sua categoria, conforme tabela a seguir: Categoria Idade infantil 5 a 7 juvenil 8 a 10 adolescente 11 a 15 adulto 16 a 30 sênior Acima de 30 47 Prof. Renato Pimentel 23

Exercícios 5. Escreva um programa que mostre o menu de opções a seguir, receba a opção do usuário e os demais dados necessários para executar cada operação. Menu de opções 1. Somar dois números inteiros 2. Extrair a raiz quadrada de um número real Digite a opção desejada 48 Exercícios 6. Escreva um programa que receba um número de 1 a 12 e mostre qual o mês correspondente, escrevendo o nome do mês por extenso. 7. Escreva um programa que resolva a equação de segundo grau, sendo que o valor a deve ser diferente de zero. Caso não exista raiz real, o programa deve retornar uma mensagem dizendo tal fato. Lembre-se: a raiz quadrada de uma variável x em linguagem C é dada por srqt(x). 49 Prof. Renato Pimentel 24