Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Comando simples
comando;
1 só comando
Comando composto
{
comandos, separados por ponto e vírgula
}
1 comando (bloco)
verdadeira
< expressão lógica >
falsa 1 só
< comando >
comando
verdadeira
< expressão lógica >
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
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
int main(){
float altura, peso_ideal;
int sexo;
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;
}
falsa verdadeira
< expressão lógica >
#include<stdio.h>
int main()
{
int valor;
return 0;
}
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!
#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!
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;
}
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;
}
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.
int main( ){
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
int main( ){
float raio, per, area; // armazena o raio, perimetro e area
int op; // armazena qual operacao sera feita
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;
}