Você está na página 1de 26

Algoritmo e Estrutura de

Dados I

Aula 5 – Estrutura Condicional

Márcia Marra
marsha@dcc.ufmg.br
Estrutura Condicional
• Permite a escolha do grupo de ações e
estruturas a ser executado quando
determinada condição é satisfeita.
• 2 tipos de estrutura condicional:
– Simples
– Composta

2
Estrutura Condicional Simples
se condição
então sequência comandos
fim se

Algoritmo
declare A, B, C numérico
leia A, B, C
se A + B < C
então escreva “Mensagem”
fim se
fim algoritmo

3
Estrutura Condicional Composta
se condição
então seqüência de comandos A
senão seqüência de comandos B
fim se

4
Exemplo de estrutura condicional
composta
Algoritmo
declare A, B, X, Y numérico
leia A, B
se A = B
então X ← 1,5
Y ← 2,5
senão X ← -1,5
Y ← -2,5
fim se
escreva X, Y
fim algoritmo
5
Um pouco de prática com
refinamentos sucessivos
• Escreva um algoritmo que leia três valores
inteiros, determine e imprima o menor deles.

Algoritmo
Defina os tipos das variáveis
Leia os números
Determine o menor número
Escreva o menor número
fim algoritmo

6
Refinamentos sucessivos do
algoritmo 1
Ref. Leia os números
leia A, B, C
fim ref
Ref. Determine o menor número
se A < B e A < C
então MENOR ← A
senão Determine o menor dentre B
e C
fim se
fim ref
7
Refinamentos sucessivos do
algoritmo 1
Ref. Determine o menor dentre B e C
se B < C
então MENOR ← B
senão MENOR ← C
fim se
fim ref
Ref. Escreva o menor número
escreva MENOR
Fim ref
Ref. Defina os tipos das variáveis
declare A, B, C, MENOR numérico
fim ref 8
Algoritmo 1 completo
Algoritmo
{ Definição do tipo das variáveis}
declare A, B, C, MENOR numérico
{ Leitura dos números }
leia A, B, C
{ Determinação do menor número }
se A < B e A < C
então MENOR ← A
senão se B < C
então MENOR ← B
senão MENOR ← C
fim se
fim se
{ Escrita do menor número}
escreva MENOR
fim Algoritmo
9
Algoritmo 2
• Dados três valores X, Y, Z verificar se eles
podem ser os comprimentos dos lados de
um triângulo e, se forem, verificar se é um
triângulo eqüilátero, isósceles ou
escaleno. Se eles não forem um
triângulo,escrever uma mensagem.

10
Algoritmo 2
• Alguns lembretes:
– O comprimento de cada um dos lados do
triângulo é menor do que a soma dos
comprimentos dos outros dois lados;
– Triângulo eqüilátero: possui o comprimento
dos três lados iguais;
– Triângulo isósceles: possui o comprimento de
dois lados iguais;
– Triângulo escaleno: possui o comprimento
dos três lados diferentes.
11
Algoritmo 2
Algoritmo
Defina os tipos das variáveis
Leia os números
se existe triângulo
então verifique o tipo do triângulo
senão escreva uma mensagem
fim se
fim algoritmo

12
Refinamentos sucessivos do
algoritmo 2
Ref. Leia os números
leia X, Y, Z
fim ref.
Ref. Se existe triângulo
se X < Y + Z e Y < X + Z e Z < X + Y
Fim ref.
Ref. Verifique o tipo do triângulo
se X = Z e X = Y
então escreva “Triângulo Equilátero”
senão Verifique se ele é escaleno ou isósceles
fim se
fim ref.
13
Refinamentos sucessivos do
algoritmo 2
Ref. Verifique se ele é escaleno ou isóceles
se X = Y ou X = Z ou Y = Z
então escreva “Triângulo Isósceles”
senão escreva “Triângulo Escaleno”
fim se
fim ref.
Ref. Escreva mensagem
escreva “Não existe triângulo”
Fim ref.
Ref Defina o tipo das variáveis
declare X, Y, Z numérico
fim ref. 14
Algoritmo 2 completo
Algoritmo
{ Definição do tipo das variáveis}
declare X, Y, Z numérico
{ Leitura dos números }
leia X, Y, Z
{ Verificação da existência do triângulo }
se X < Y + Z e Y < X + Z e Z < X + Y
então { Verificação do tipo do triângulo}
se X = Z e X = Y
então escreva “Triângulo Equilátero”
senão se X = Y ou X = Z ou Z = Y
então escreva “Triângulo Isósceles”
senão escreva “Triângulo Escaleno”
fim se
fim se
senão escreva “Não existe triangulo”
fim se
fim algoritmo
15
Pratique a estrutura condicional
A prefeitura de Contagem abriu uma linha
de crédito para os funcionários
estatutários. O valor máximo da prestação
não poderá ultrapassar 30% do salário
bruto. Fazer um algoritmo que permita
entrar com o salário bruto e o valor da
prestação, e informar se o empréstimo
pode ou não ser concedido.

16
Estrutura condicional no C
• Existem 2 principais comandos para
realizar o controle de fluxo baseado em
estrutura condicional no C:
if
switch

17
Comando if
• Forma geral:
if (condição) { declaração }
• A expressão na condição é avaliada. Se
for igual 0, a declaração não é excutada.
Caso contrário, ela será executada.
• Caso a declaração seja composta por
mais de um comando, é necessário a
utilização de chaves para delimitar o bloco
de comandos.
18
Exemplo do uso do if em estrutura
condicional simples
#include <stdio.h>

int main() {

int a,b,c, resultado;


printf("Entre com o primeiro numero:\n");
scanf("%d", &a);
printf("Entre com o segundo numero:\n");
scanf("%d", &b);
printf("Entre com o terceiro numero:\n");
scanf("%d", &c);

resultado = a + b;

if (resultado < c) {
printf("Mensagem!\n");
}

return(0);
}

19
Execução do programa
algoritmoEstrCondSimples

20
Comando else
• O comando else é o complemento do comando
if. A sua forma geral é:
if (condicao) {
declaracao_1
}
else {
declaracao_2
}
• A expressão da condição é avaliada. Se ela for
diferente de 0, a declaração_1 será executada.
Caso contrário, a declaração_2 é executada.
• Quando utilizamos a estrutura if-else, estamos
garantindo que uma das declarações será
executada.
21
Exemplo do uso do if-else em
estrutura condicional composta
#include <stdio.h>

int main() {
// Declaracao das variaveis
float a, b, x, y;
// Leitura dos valores a e b
printf("Digite o primeiro valor:\n");
scanf("%f", &a);
printf("Digite o segundo valor:\n");
scanf("%f", &b);
// Verifica se a eh igual a b
if (a == b) {
x = 1.5;
y = 2.5;
}
else {
x = -1.5;
y = -2.5;
}
printf("O valor de X eh %f e o valor de Y eh %f\n", x, y);
return (0);

}
22
Execução do programa
algoritmoEstrCondComposta

23
/* Programa que dados os lados do triangulo, verifica se ele eh
* isosceles, escaleno ou equilatero.
*/
#include <stdio.h>
int main() {
// Declaracao das variaveis
float x, y, z;
// Leitura dos lados do triangulo
printf("Entre com a primeira medida:\n");
scanf("%f", &x);
printf("Entre com a segunda medida:\n");
scanf("%f", &y);
printf("Entre com a terceira medida:\n");
scanf("%f", &z);
// Verificacao da existencia do triangulo
if ( (x < y + z) && (y < x + z) && (z < y + x)) {
// Verificacao do tipo do triangulo
if ((x == y) && (y == z)) {
printf("Triangulo Equilatero\n");
}
else {
if ( (x == y) || (x == z) || (z == y)) {
printf("Triangulo Isosceles\n");
}
else {
printf("Triangulo Escaleno\n");
}
}
}
else {
printf("As medidas nao representam um triangulo\n");
}

return(0);
}
24
Execução do programa algoritmo2

25
Execução do programa algoritmo2

26

Você também pode gostar