Sei sulla pagina 1di 38

Na última aula

ü  Operadores lógicos (&&, ||, !)


ü  Operadores relacionais (<=, >=, ==, !=)
ü  Comandos de seleção condicional (comando if)

1 INF 01202 – Marcelo Walter – Aula 05


Comando: simples / composto

Comando simples

comando;

1 só comando
Comando composto

{
comandos, separados por ponto e vírgula
}

1 comando (bloco)

2 INF 01202 – Marcelo Walter – Aula 05


Comando condicional simples

C sem ; Linguagem algorítmica


if (expressão lógica) se expressão lógica
comando; comando
com ;

verdadeira
< expressão lógica >

falsa 1 só
< comando >
comando

3 INF 01202 – Marcelo Walter – Aula 05


Comando condicional composto
C Linguagem algorítmica
if ( expressão lógica ) se < expressão lógica >
{
comando 1; < comandoS >
...
comando n;
}

verdadeira
< expressão lógica >

< comando1 >


falsa 1 comando
< comando2 > composto

4 INF 01202 – Marcelo Walter – Aula 05


Exercício: localização de um ponto no plano

Dados um par de valores x e y, que representam


as coordenadas de um ponto no plano, determinar
a localização do ponto: se em um quadrante, em
um dos eixos ou na origem.

–  Entradas: coordenadas x e y de um ponto.


–  Processamento: testes, verificando onde o par de
valores se enquadra.
–  Saída: mensagem adequada.

5 INF 01202 – Marcelo Walter – Aula 05


Eixo dos Ys
x=0 ey≠0

Quadrante 2 Quadrante 1
x<0ey>0 x>0ey>0
Origem
x=0ey=0
Eixo dos Xs
x≠0 ey=0

Quadrante 3 Quadrante 4
x<0ey<0 x > 0 e y <0

6 INF 01202 – Marcelo Walter – Aula 05


Passos do Algoritmo

ü  leitura dos valores de x e y.


ü  determinação, pela avaliação de condições, onde o ponto se
encontra: se em um quadrante, em um eixo ou na origem.
ü  escrita da mensagem, onde é indicada a localização do
ponto – apenas 1 mensagem por par de valores.

7 INF 01202 – Marcelo Walter – Aula 05


Escrita do algoritmo em pseudolinguagem
Algoritmo LocalizaQuadrante
{ Entradas: x, y (coordenadas)
Saída: mensagem (localização) }
1. início
2. ler x , y
3. se x = 0 e y = 0
escrever “ponto na origem”
4. se x > 0 e y > 0
escrever “quadrante 1”
5. etc…
(...)
9. se x ≠ 0 e y = 0
escrever “eixo dos x”
10.fim

8 INF 01202 – Marcelo Walter – Aula 05


/* Obtem coordenadas e informa localização */
Em C: #include <stdio.h>
int main ( )
{
float x , y; // pontos são valores reais
printf("\n Coordenadas: x = ");
scanf("%f", &x);
printf(" e y = ");
scanf("%f", &y);
if ( x == 0 && y == 0 )
printf("\n Ponto na origem");
if ( x > 0 && y > 0 )
printf("\n Ponto no quadrante 1");
if ( x < 0 && y > 0 )
printf("\n Ponto no quadrante 2");
if ( x < 0 && y < 0 )
printf("\n Ponto no quadrante 3");
if ( x > 0 && y < 0 )
printf("\n Ponto no quadrante 4");
if ( x == 0 && y != 0 )
printf("\n Ponto no eixo dos y");
if ( x != 0 && y == 0 )
printf("\n Ponto no eixo dos x");
printf("\n");
return 0;
}
9 INF 01202 – Marcelo Walter – Aula 05
Comando condicional simples
Calcular o peso ideal de uma pessoa. Para isto, obter o sexo (fem: 1, masc: 2) e
altura (em metros), calcular o peso ideal de acordo com as fórmulas abaixo e
informar o peso calculado ( em kg, com 2 casa decimais).
sexo peso ideal
feminino altura X 62,1 – 44,7
masculino altura X 72,7 – 58.

Algoritmo CalcPesoIdeal // nome: ação está incluída

{calcula peso ideal de um indivíduo


entradas: sexo (1 ou 2) Se sexo
altura (float)
saída: pesoideal (float) } informado for
1. início diferente de 1 e
2. ler sexo, altura 2?
3. se sexo = 1
3.1 pesoideal = altura * 62.1 - 44.7
4. se sexo = 2
4.1 pesoideal = altura * 72.7 - 58
5. informa pesoideal
6. fim

10 INF 01202 – Marcelo Walter – Aula 05


Comando condicional simples
Calcular o peso ideal de uma pessoa. Para isto, obter o sexo (fem: 1, masc: 2) e
altura (em metros), calcular o peso ideal de acordo com as fórmulas abaixo e
informar o peso calculado ( em kg, com 2 casa decimais).
sexo peso ideal
feminino altura X 62,1 – 44,7
masculino altura X 72,7 – 58.

Algoritmo
Algoritmo CalcPesoIdeal
CalcPesoIdeal ////nome:
nomeação
algoritmo
está incluída
{calculapeso
{calcula peso ideal
ideal de
de um
um indivíduo
indivíduo
entradas
entradas:sexo
:sexo (1(1 ou
ou 2)
2)
altura
altura (float)
(float)
saída
saída:: pesoideal
pesoideal (float)
(float) }}
1.
1. início
início
2.
2. ler
ler sexo,
sexo, altura
altura
3. se
3. sexo == 11 // em C, ==
se sexo
3.1
3.1 pesoideal == altura
pesoideal altura ** 62.1
62.1 -- 44.7
44.7
4. se
4. sexo == 22 // em C, ==
se sexo
4.1
4.1 pesoideal == altura
pesoideal altura ** 72.7
72.7 –-5858
5.
5. informa
se sexo peso ? sexo != 2 // e ou ou ?
!= 1 ideal
5.1se sexo
6. != 1 Epesoideal
informa sexo != 2 // prestar atenção no operador lógico adequado
6. fim informa codigo errado
6.1
6. fim

11 INF 01202 – Marcelo Walter – Aula 05


Comando condicional Composto
Calcular o peso ideal de uma pessoa. Para isto, obter o sexo (fem: 1, masc: 2)
e altura (em metros), calcular o peso ideal de acordo com as fórmulas abaixo e
informar o peso calculado ( em kg, com 2 casa decimais).
sexo peso ideal
mulher altura X 62,1 – 44,7
homem altura X 72,7 – 58
.
Algoritmo CalcPesoIdeal, outra opção: duplicando a impressão
{calcula peso ideal de um indivíduo
entradas: sexo (1 ou 2)
altura (float)
saída: pesoideal (float) }
1. início
2. ler sexo, altura Mais de um comando associado ao IF
3. se sexo = 1
3.1 pesoideal = altura * 62.1 - 44.7
3.2 informa “mulher” pesoideal
4. se sexo = 2
4.1 pesoideal = altura * 72.7 – 58
4.2 informa “homem” pesoideal
5. se sexo != 1 E sexo != 2
5.1 informa código errado
6. fim

12 INF 01202 – Marcelo Walter – Aula 05


// Le sexo e altura e calcula peso ideal, avisando se sexo informado invalido
#include <stdio.h>

int main(){
float altura, peso_ideal;
int sexo;

printf("Digite o sexo (1=fem, 2=masc): ");


scanf("%d", &sexo);
printf("Digite a altura: ");
scanf("%f", &altura);

if (sexo==1) // aqui nao tem ponto e virgula


{ // comando composto
peso_ideal=altura*62.1-44.7;
printf("O peso ideal para mulheres de altura = %.2fm eh %.2fkg.\n", altura, peso_ideal);
}

if (sexo==2) // aqui nao tem ponto e virgula


{ // comando composto
peso_ideal=altura*72.7-58;
printf("O peso ideal para homens de altura = %.2fm eh %.2fkg.\n", altura, peso_ideal);
}

if (sexo!=1 && sexo!= 2) // nao eh valor valido


printf("Sexo informado invalido!\n");
return 0;
}

13 INF 01202 – Marcelo Walter – Aula 05


Exemplos de Execução

14 INF 01202 – Marcelo Walter – Aula 05


Comandos de seleção condicional

Aula
ü  Condicional Simples
de   if (condição)
Hoje!   comando;
ü  Seleção Dupla
  if (condição)
  comando;
  else // implica condição FALSA
  comando;
ü  Seleção múltipla
  switch (variável)
  {
  expressão;
  }

15 INF 01202 – Marcelo Walter – Aula 05


Comando de seleção dupla
C Linguagem algorítmica
if ( expressão lógica ) se ( expressão lógica )
comando v; comando v
else senão
comando f; comando f

falsa verdadeira
< expressão lógica >

< comando f > < comando v >

16 INF 01202 – Marcelo Walter – Aula 05


Ex: Fazer um programa que leia um número
natural e informe se o número lido é par ou ímpar.

Algoritmo Par ou Ímpar


/* Verifica se um valor lido do teclado é par ou ímpar
entrada: o valor a ser testado
saídas: Mensagem de “par” ou “ímpar” */
1. início
2. ler o valor
3. se (valor é par) resto da divisão inteira por
3.1 escrever ‘par’ 2=0
senão
3.2 escrever ‘ ímpar’
4. fim

17 INF 01202 – Marcelo Walter – Aula 05


Programa em C

// Programa para verificar se um nro natural lido eh par ou impar


// Analisa o resto da divisao inteira por 2

#include<stdio.h>

int main()
{
int valor;

printf(“Digite o valor a ser testado: “);


scanf(“%d”, &valor);

if ( (valor%2) == 0) //analisa resto da divisao inteira


printf(“Valor eh par!\n”);
else
printf(“Valor eh impar!\n”);

return 0;
}

18 INF 01202 – Marcelo Walter – Aula 05


‘Ifs’ encadeados (aninhados)

if (condição1 )
if (condição)
if (condição2 )
{
if (condição3)
comando;
comando;
if (condição)
{
comando1;
If (condição1)
comando2; if (condição2)
} if (condição3)
comando; comando;
}
else
comando;
Importância da else
indentação para tornar comando;
claro o escopo dos
comandos!

19 INF 01202 – Marcelo Walter – Aula 05


Ex: Processar uma venda de livros em uma livraria.
Obter código do tipo de livro vendido (A, B, C) e número de unidades.
Preços: Tipo A: R$ 10,00
Tipo B: R$ 20,00
Tipo C: R$ 30,00
Calcular e informar preço a pagar. Caso tenham sido vendidas mais
de 10 livros, emitir uma mensagem.
Algoritmo UmaVenda
/* Processa uma venda e avisa caso tenham sido vendidas maisde 10 unidades
entradas: codigo {do tipo do livro}
nro_livros {vendidos}
saídas: apagar
mensagem {caso tenham sido vendidas mais de 10 unidades} */
1. início
2. ler codigo, nro_livros
3. se codigo = ´A´
3.1 apagar ← nro_livros * 10; Redundância!!!!
4. se codigo = ´B´ Encadear testes
4.1 apagar ← nro_livros * 20;
5 se codigo = ´C’ !!!!
5.1 apagar ← nro_livros * 30;
6. informar apagar
7. se nro_livros > 10
7.1 informar “mais de 10 livros vendidos”
8. fim

20 INF 01202 – Marcelo Walter – Aula 05


Ex2: Processar uma venda de livros em uma livraria. Obter código do tipo de livro
vendido (A, B, C) e número de unidades.
Preços: Tipo A: R$ 10,00 ; Tipo B: R$ 20,00; Tipo C: R$ 30,00
Calcular e informar preço a pagar. Caso tenham sido vendidas mais de 10 livros,
emitir uma mensagem.
Algoritmo UmaVenda
/* Processa uma venda e avisa caso tenham sido vendidas maisde 10 unidades
entradas: codigo {do tipo do livro}
nro_livros {vendidos}
saídas: apagar
mensagem {caso tenham sido vendidas mais de 10 unidades */
1. início
2. ler codigo, nro_livros
3. se codigo = ´A´
3.1 apagar ← nro_livros * 10
3.2 senão
3.2.1 se codigo = ´B´
3.2.1.1 apagar ← nro_livros * 20
3.2.1.2 senão
3.2.1.2.1 se codigo = ´C’
3.2.1.2.1.1 apagar ← nro_livros * 30 Fazemos consistência
3.2.1.2.1.2 senão de que o código existe
3.2.1.2.1.2.1 informa “Código inexistente!”
4. informar apagar
5. se nro_livros > 10
5.1 informar “mais de 10 livros vendidos”
6. fim

21 INF 01202 – Marcelo Walter – Aula 05


// Processa uma venda e avisa quando mais de 10 unidades foram vendidas

#include <stdio.h>
int main(){ Algum problema?
char codigo; Se cod inválido, não
int nro_livros; existe venda nem valor a
float apagar; ser pago!

printf(“Digite o codigo do livro e nro de unidades: “);


scanf(“%c%d”, &codigo, &nro_livros);

if (codigo==‘a’ || codigo == ‘A’) apagar = nro_livros * 10;


else
if (codigo==‘b’ || codigo == ‘B’) apagar = nro_livros * 20;
else
if (codigo==‘c’ || codigo == ‘C’) apagar = nro_livros * 30;
else printf(“Codigo invalido!\n”);

printf(“O valor a ser pago eh R$ %4.2f\n”, apagar );


if (nro_livros > 10)
printf(“Foram vendidas mais de 10 unidades!\n”);

return 0;
}22 INF 01202 – Marcelo Walter – Aula 05
// substitui trecho assinalado por:
if (codigo == 'a'|| codigo == 'A')
apagar = nro_livros*10;
else
if (codigo == 'b' || codigo == 'B')
apagar = nro_livros*20;
else
if (codigo == 'c' || codigo == 'C')
apagar = nro_livros*30;
else
{ //início de comando composto
printf("Codigo informado nao existe\n \n");
apagar = 0; // confirma ausência de pagamento!
} // fim de comando composto
if (apagar > 0)
// comandos ABAIXO executados apenas se ocorreu venda!
{ //comando if composto
printf("O valor a pagar e' R$ %4.2f\n",apagar);
if (nro_livros > 10)
printf("Foram vendidas mais de 10 unidades do tipo %c\n",codigo);
} // fim de comando composto
23 INF 01202 – Marcelo Walter – Aula 05
Exercício (melhorando solução anterior)
Tendo como dados de entrada o sexo (M ou F) e a altura de uma
pessoa (em metros), informe o peso ideal (em kg), sabendo que
para homens o peso ideal é obtido por altura x 72,7 - 58 e, para
mulheres, por altura x 62,1 - 44,7.

Algoritmo PesoIdeal
/* Ler sexo e altura e calcular peso ideal
Entrada: sexo - M ou F - e altura (m);
Saída: peso ideal (kg) */
1 - início
2 - ler sexo
3 - ler altura
4 - se sexo = ‘m’ // pode aceitar maiúscula
pesoideal ← altura * 72.7 - 58
senão if sexo = ‘f'
pesoideal ← altura * 62.1 - 44.7 // pode consistir sexo errado
senão imprimir sexo informado inválido
5 - imprimir pesoideal
6 - fim
24 INF 01202 – Marcelo Walter – Aula 05
//Ler sexo e altura e calcular peso ideal:
#include <stdio.h>

int main()
{
float altura, pesoideal;
char sexo;
printf("digite o sexo (M/F):\n");
scanf("%c", &sexo); Se digita outro
printf("digite a altura:\n"); caractere???
scanf("%f",&altura);
if (sexo=='M' || sexo=='m') Imprime
pesoideal = altura*72.7 - 58; resultado...
else
if (sexo=='f' || sexo=='F')
pesoideal = altura*62.1 - 44.7;
else
printf("sexo informado inválido\n");
printf("seu peso ideal é %.2f kg\n",pesoideal);

return 0;
}

25 INF 01202 – Marcelo Walter – Aula 05


//Ler sexo e altura e calcular peso ideal:
#include <stdio.h>
int main()
{
float altura, pesoideal;
char sexo;
else
printf("digite o sexo (M/F):\n");
scanf("%c", &sexo); {
printf("sexo informado inválido\n");
printf("digite a altura:\n");
scanf("%f",&altura); pesoideal = 0;
}
if (sexo=='M' || sexo=='m')
pesoideal =ifaltura*72.7
(pesoideal >- 0)
58;
else printf("seu peso ideal é %.2f kg\n",pesoideal);
if (sexo=='f' || sexo=='F')
pesoideal = altura*62.1 - 44.7;
else
printf("sexo informado inválido\n");
printf("seu peso ideal é %.2f kg\n",pesoideal);

return 0;
}
26 INF 01202 – Marcelo Walter – Aula 05
//Ler sexo e altura e calcular peso ideal:
#include <stdio.h>
int main()
{
float altura,pesoideal;
char sexo;
printf("digite o sexo (M/F):\n");
scanf("%c", &sexo);
printf("digite a altura:\n");
scanf("%f",&altura);

if ((sexo=='M') || (sexo=='m'))
pesoideal = altura*72.7 - 58; transformar minúscula em
else maiúscula ou vice-versa
if ((sexo=='f') || (sexo=='F'))
pesoideal = altura*62.1 - 44.7;
else
{
printf("sexo informado inválido\n");
pesoideal = 0;
}
if (pesoideal > 0)
printf("seu peso ideal é %.2f kg\n",pesoideal);

return 0;
}

27 INF 01202 – Marcelo Walter – Aula 05


//Ler sexo e altura e calcular peso ideal:
#include <stdio.h>

#include <ctype.h> // para usar funções toupper – maiúsculas – e tolower


int main()
{
float altura,pesoideal;
char sexo;
printf("digite o sexo (M/F):\n");
scanf("%c", &sexo);
printf("digite a altura:\n");
scanf("%f",&altura);
// compara sempre com minúscula:
if ( tolower(sexo) =='m') // ou toupper(sexo) =='M'
pesoideal = altura*72.7 - 58;
else
if (tolower(sexo) =='f')
pesoideal = altura*62.1 - 44.7;
else
{
printf("sexo informado inválido\n");
pesoideal = 0;
}
if (pesoideal > 0)
printf("seu peso ideal é %.2f kg\n",pesoideal);

return 0;
}28 INF 01202 – Marcelo Walter – Aula 05
//Ler
//Ler sexosexo e altura
e altura e calcular
e calcular pesopeso ideal:
ideal:
#include
#include<stdio.h>
<stdio.h>
#include <stdlib.h>
#include <ctype.h> // para usar funções toupper – maiúsculas – e tolower
int main()
{ int main()
{
float altura,pesoideal;
float sexo;
char altura,pesoideal;
char sexo;
printf("digite o sexo (M/F):\n");
printf("digite
scanf("%c", &sexo); o sexo (M/F):\n");
scanf("%c", &sexo);
printf("digite a altura:\n");
printf("digite
scanf("%f",&altura);a altura:\n");
scanf("%f",&altura);
sexo = toupper(sexo); // converte para maiúscula ou tolower(sexo) - minúscula
if (sexo==‘M') transformar minúscula em
if ((sexo=='M') || (sexo=='m')) maiúscula ou vice-versa
pesoideal = altura*72.7 - 58;
pesoideal = altura*72.7 - 58;
else
else if ((sexo=='f') || (sexo=='F'))
if pesoideal
(sexo ==‘F') = altura*62.1 - 44.7;
pesoideal
else = altura*62.1 - 44.7;
else {
{ printf("sexo informado inválido\n");
printf("sexo
pesoideal = 0; informado inválido\n");
pesoideal
} = 0;
}
if (pesoideal > 0)
if (pesoideal
printf("seu> peso0) ideal é %.2f kg\n",pesoideal);
printf("seu peso ideal é %.2f kg\n",pesoideal);
system("pause");
return 0;
return
} 0;
} 29 INF 01202 – Marcelo Walter – Aula 05
Fazer: otimizar localização de um ponto no
plano
Dados um par de valores x e y, que representam
as coordenadas de um ponto no plano, determinar
a localização do ponto: se em um quadrante, em
um dos eixos ou na origem.

–  Entradas: coordenadas x e y de um ponto.


–  Processamento: testes, verificando onde o par de
valores se enquadra.
–  Saída: mensagem adequada.

30 INF 01202 – Marcelo Walter – Aula 05


/* Obtem coordenadas e informa localização */
Em C: #include <stdio.h>
int main ( )
{
float x , y; // pontos são valores reais
printf("\n Coordenadas: x = ");
scanf("%f", &x);
Estratégias: printf(" e y = "); Redundância!!!
1 ) Manter a identificação scanf("%f", &y);
if ( x == 0 && y == 0 )
das localizações baseada nos printf("\n Ponto na origem"); Refazer,
dois pontos; if ( x > 0 && y > 0 ) usando
2) Analisar pontos separada- printf("\n Ponto no quadrante 1");encadeamento!
mente, limitando a possível if ( x < 0 && y > 0 )
printf("\n Ponto no quadrante 2");
localização. if ( x < 0 && y < 0 )
printf("\n Ponto no quadrante 3");
if ( x > 0 && y < 0 )
printf("\n Ponto no quadrante 4");
if ( x == 0 && y != 0 )
printf("\n Ponto no eixo dos y");
if ( x != 0 && y == 0 )
printf("\n Ponto no eixo dos x");
printf("\n");
return 0;
}
31 INF 01202 – Marcelo Walter – Aula 05
/* Obtem coordenadas e informa localização, utilizando if-else SOLUÇÃO 1 */
#include <stdio.h>
int main ( )
{ // solução avalia 2 condições a cada vez – 2 testes lógicos
float x , y;
printf("\n Coordenadas: x = ");
scanf("%f", &x);
printf(" e y = ");
scanf("%f", &y);
if ( x == 0 && y == 0 ) // identifica a origem
printf("\n Ponto na origem");
else if ( x > 0 && y > 0 ) // na sequência, localiza quadrantes
printf("\n Ponto no quadrante 1");
else if ( x < 0 && y > 0 )
printf("\n Ponto no quadrante 2");
else if ( x < 0 && y < 0 )
printf("\n Ponto no quadrante 3");
else if ( x > 0 && y < 0 )
printf("\n Ponto no quadrante 4");
else if ( x == 0 && y != 0 ) // eixo y
printf("\n Ponto no eixo dos y");
else // sobrou x != 0 && y == 0 , nem precisa testar!
printf("\n Ponto no eixo dos x");
printf("\n");
return 0;
}
32 INF 01202 – Marcelo Walter – Aula 05
/* Obtem coordenadas e informa localização, utilizando if_else SOLUÇÃO 2 */
#include <stdio.h>
int main ( )
{// avalia 1 condição a cada vez , que leva a 2 possibilidades
float x , y;
printf("\n Coordenadas: x = "); scanf("%f", &x);
printf(" e y = "); scanf("%f", &y);
// identifica origem e eixos
if ( x == 0 ) // x = 0: possibilidade de origem ou eixo y
if (y == 0 ) // y também = 0: localizou origem
printf("\n Ponto na origem");
else // só pode ser eixo y
printf("\n Ponto no eixo dos y");
else // x certamente é diferente de zero: não testa mais!
if ( y == 0 ) // localizou eixo x
printf("\n Ponto no eixo dos x");
else // só sobraram os quadrantes!!!
if ( x > 0 ) // quadrantes 1 ou 4, dependendo de y
if ( y > 0 ) // quadrante 1
printf("\n Ponto no quadrante 1");
else // quadrante 4, sem precisar mais testes
printf("\n Ponto no quadrante 4");
else // x é < 0: sobraram quadrantes 2 e 3, dependendo de y
if ( y > 0 )
printf("\n Ponto no quadrante 2");
else // sobrou x < 0 e y < 0: não precisa testar
printf("\n Ponto no quadrante 3");
printf("\n");
return 0;
}
33 INF 01202 – Marcelo Walter – Aula 05
Exercício da última aula

ü  John Doe gosta de correr todos os dias. Ele mede o


numero de passos que ele dá no primeiro minuto da
corrida e o numero de passos que ele dá no último
minuto da corrida. John faz então um média dos
passos para os 2 casos e diz que este é o numero
médio de passos para toda a corrida.
ü  Escreva um programa em C que lê o número de
passos do primeiro minuto, o número de passos do
último minuto e o número de horas e minutos total
que John correu. Calcule e apresente a distância
em km que John percorreu neste tempo. Considere
que cada passo de John mede 70cm.

34 INF 01202 – Marcelo Walter – Aula 05


Exemplo de execução

ü  Entre com o nro de passo do primeiro minuto: 10


ü  Entre com o nro de passo do ultimo minuto: 10
ü  Entre com o nro de horas e minutos de corrida: 1 0
ü  Distancia total percorrida 0.42km

35 INF 01202 – Marcelo Walter – Aula 05


Programa em C
#include <stdio.h>

int main( ){

int pi, pf, h, min, total_minutos;


float mp, distancia;

printf("Entre com o nro de passo do primeiro minuto: ");


scanf("%d", &pi);
printf("Entre com o nro de passo do ultimo minuto: ");
scanf("%d", &pf);
printf("Entre com o nro de horas e minutos de corrida: ");
scanf("%d%d", &h, &min);
mp = (pi+pf)/2; // media dos passos
total_minutos = h*60+min;

distancia = total_minutos*mp*0.0007;
printf("Distancia total percorrida em km %f\n", distancia);

return 0;
}
36 INF 01202 – Marcelo Walter – Aula 05
Exercício

Faça um programa que lê dois valores, o primeiro


servindo de indicador de operação e o segundo
correspondendo ao raio de uma circunferência.
Caso o primeiro valor lido seja igual a 1, calcular
e imprimir a área desta circunferência. Se o
valor lido for 2, calcular e imprimir o perímetro
da circunferência. E se o valor lido for diferente
destes dois valores, imprimir uma mensagem
dizendo que o indicador de operação foi mal
fornecido.

37 INF 01202 – Marcelo Walter – Aula 05


Programa em C
#include <stdio.h>

int main( ){
float raio, per, area; // armazena o raio, perimetro e area
int op; // armazena qual operacao sera feita

// Leitura dos Dados


printf("Entre com a operacao: 1 para area e 2 para perimetro: ");
scanf("%d", &op);
printf("Entre com o valor do raio: \n ");
scanf("%f",&raio);

if (op == 1)
{
//area = 3.1415 * raio * raio;
printf("Area da circunferencia com raio %4.2f igual a %4.2f\n", raio, 3.1415 * raio * raio);
}
else if ( op == 2 ){
per = 2 * 3.1415 * raio;
printf("Perimetro da circunferencia com raio %4.2f igual a %4.2f\n", raio, per);
}
else
printf("Codigo de operacao errado!\n\n");

return 0;
}

38 INF 01202 – Marcelo Walter – Aula 05

Potrebbero piacerti anche