Escolar Documentos
Profissional Documentos
Cultura Documentos
Linguagem C
Unidade 4
Sávio Braga
1
Programa
2
Conceito, Operadores Lógicos, Relacionais e Expressões Lógicas
PARTE I
3
Conceito
Decisão: também conhecida por seleção ou estrutura
condicional. A execução dos comandos obedece a
veracidade de uma condição (verdadeira ou falsa).
São recursos utilizados para controlar o fluxo de
execução do programa de acordo com condições lógicas.
Essas estruturas permitem que o programa faça escolhas
baseadas em condições especificadas e,
consequentemente, execute diferentes instruções de
acordo com o resultado da avaliação dessas condições.
4
Conceito
5
Conceito
No Fluxograma:
Início
Exiba:
É> Sim “Parabéns!
Ler Nota Média? Continue
assim.”
Não
Exiba:
“Estude
Fim
mais!”
6
Operadores Lógicos
Tabela Verdade:
E 0 1 OU 0 1 NAO
0 0 0 0 0 1 0 1
1 0 1 1 1 1 1 0
10
Operadores Lógicos
Precedência:
1. !
2. &&
3. ||
== (igual a)
!= (diferente de)
< (menor que)
> (maior que)
<= (menor ou igual a)
>= (maior ou igual a)
12
Expressões Lógicas
17
Estrutura Condicional Simples (if)
PARTE II
18
Estrutura Condicional Simples (If)
Sintaxe:
if (condição)
instrução;
else //else é opcional
instrução;
19
Estrutura Condicional Simples (If)
Sintaxe:
if (condição){
instrução;
}
else { //else é opcional
instrução;
21
}
Estrutura Condicional Simples (If)
Exemplo:
Exemplo:
– Faça um programa em C que lê um inteiro e verifica
se é maior ou igual a 21. Em caso afirmativo, imprime
a mensagem “Número é maior ou igual a 21”, caso
contrário, imprime a mensagem “Número é menor que
21”
23
Estrutura Condicional Simples (If)
Exemplo:
#include <stdio.h>
main(){
int num;
printf(“Informe um numero: ”);
scanf(“%d”, &num);
if (num >= 21) {
printf(“Número é maior ou igual a 21.\n");
} else {
printf(" Número é menor que a 21.\n");
24 }}
Estrutura Condicional Simples (If)
A importância da indentação:
25
Estrutura Condicional Simples (If)
Exercícios:
1. Faça um programa em C que leia dois valores
numéricos inteiros e efetue a adição e informe caso
o resultado seja maior que 10.
2. Faça um programa em C que leia 3 notas de um
aluno, calcule a média e imprima Aprovado se a
média >= 5, caso contrário, imprima Reprovado.
3. Faça um programa que leia um número, verifique se
é múltiplo de 3 e imprima uma das duas mensagens:
26 "É múltiplo de 3"ou "Não é múltiplo de 3".
Estrutura Condicional com vários blocos (If)
27
Estrutura Condicional com vários blocos (If)
28
Estrutura Condicional com vários blocos (If)
29
Estrutura Condicional com vários blocos (If)
Exercícios
1. Faça um programa em C que lê um número inteiro,
verifica se é positivo, negativo ou zero, imprimindo
na tela o resultado.
2. Faça um programa em C que gere aleatoriamente
um número de 1 a 7 e imprima o dia da semana,
sendo 1 considerado domingo e assim
sucessivamente até 7 que seria sábado.
30
Estrutura Cond. com condições compostas (If)
&& = E/ AND
|| = OU/ OR
! = NÃO/ NOT
31
Estrutura Cond. com condições compostas (If)
Exemplo:
Um hospital está fazendo um cadastro de potenciais
doadores de sangue. Para doar, é necessário ter entre
16 e 69 anos, pesar pelo menos 50kg, estar bem
alimentado e não estar resfriado.
Faça um programa que lê o nome, idade, peso, se está
bem alimentado, se está resfriado e imprima o
resultado.
32
Estrutura Cond. com condições compostas (If)
Exemplo:
33
Estrutura Cond. com condições compostas (If)
Exemplo:
34
Estrutura Cond. com condições compostas (If)
Exercício:
Faça um programa em C que lê a idade (em anos) e
verifica a faixa etária da pessoa da seguinte forma
(imprima o resultado):
– Até 12 = Criança
– De 13 a 18 = Adolescente
– De 19 a 60 = Adulto
– Maior que 60 = Idoso
Observação: Se idade menor que zero deve ser considerada
inválida
35
Estrutura Cond. com condições compostas (If)
Exercício: Revise o programa que calcula o IMC. De acordo com
o resultado, utilizando Condições Compostas e blocos, classifique
a categoria da pessoa.
36
Condições Aninhadas
PARTE III
37
If Aninhados
Sintaxe
if (condição1) {
// código a ser executado se a condição1 for verdadeira
if (condição2) {
// código a ser executado se a condição2 for verdadeira
} else {
// código a ser executado se a condição2 for falsa
}
} else {
// código a ser executado se a condição1 for falsa
}
38
If Aninhados
Exemplo:
Vamos implementar um código que verifica se uma pessoa
está apta a dirigir.
Para isso, precisamos avaliar a idade e se ela possui carteira
de habilitação. Podemos fazer isso com ifs aninhados, da
seguinte forma:
39
If Aninhados
if (idade >= 18) {
if (possui_carteira) {
printf("Pode dirigir!");
} else {
printf("Não pode dirigir, pois não possui
carteira de habilitação.");
}
} else {
printf("Não pode dirigir, pois é menor de
idade.");
}
40
If Aninhados
Exercícios:
1. Refatore o código do IMC, usando Ifs Aninhados e
acrescente a verificação se foi digitado M ou F, se for
digitado algo diferente informe “Gênero inválido”
2. Escreva um código em C que leia duas notas de prova, se a
média parcial (MP) for maior ou igual a 5, solicite a terceira
nota (V3). A média final (MF) será igual a (MP+V3)/2. Se
MF maior ou igual a 5 e V3 maior ou igual a 4, o aluno
estará Aprovado. Se a MF for menor que 5 ou V3 < 4, o
aluno estará Reprovado.
41
Extra
42
Debugando o código no DEVC++
Menu
Ferramentas
– Opções do
Compilador
Utilizar um
compilador com
DEBUG
43
Debugando o código no DEVC++
Depurador (na
parte inferior)
44
Debugando o código no DEVC++
Depurador (na
parte inferior)
Clica em
Adicionar
Marcador e
informe as
variáveis que
quer
acompanhar
45
Debugando o código no DEVC++
Os marcadores
aparecem ao
clicar em
Depurador na
parte superior,
painel esquerdo
46
Debugando o código no DEVC++
Adiciona um
ponto de parada
clicando na
linha desejada
Clica em
Depurar na
parte inferior
47
Debugando o código no DEVC++
No modo DEBUG, ao chegar
no ponto de parada, o
programa passa o comando
para a console
É possível, acompanhar linha
a linha, continuar até o
próximo ponto de parada (se
houver) ou parar a execução
48
Debugando o código no DEVC++
Veja o resultado
após a execução
da próxima linha
49
Cláusula SWITCH
PARTE IV
50
SWITCH
51
SWITCH
switch (expressao) {
case valor1:
// código a ser executado caso a expressão seja igual a valor1
break;
case valor2:
// código a ser executado caso a expressão seja igual a valor2
break;
default:
// código a ser executado caso a expressão não seja igual a nenhum
dos valores anteriores
break;
}
52
SWITCH
Exemplo:
Um programa precisa verificar a opção digitada pelo usuário
que será de 1 a 3 (Como se fosse um menu).
53
SWITCH
#include <stdio.h>
int main() {
int opcao;
printf("Escolha uma opção (de 1 a 3):\n");
scanf("%d", &opcao);
switch (opcao) {
case 1:
printf("Você escolheu a opção 1.\n");
break;
case 2:
printf("Você escolheu a opção 2.\n");
break;
case 3:
printf("Você escolheu a opção 3.\n");
break;
default:
printf("Opção inválida.\n");
54 }}
SWITCH
Exercício:
Usando SWITCH, faça um programa em C que gere
aleatoriamente um número de 1 a 7 e imprima o dia da
semana, sendo 1 considerado domingo e assim
sucessivamente até 7 que seria sábado
55
Exercícios
Vamos praticar!
56