12/09/2015
Comentário sobre os exercícios desta semana ...
Linguagem de Programação Estruturada Prof. Leandro Carlos Fernandes
2º semestre 2015
Exercício #2
2) Faça um programa que colete algumas informações sobre o seu utilizador, tais como nome, idade, sexo, altura e peso; e as exiba na tela como no formato dado pelo exemplo a seguir:
----====== Ficha do Usuário ======---- Nome: Wolverine
Idade: 120 Sexo: M
Altura: 1.83 m Peso: 210 Kg
----==========================----
12/09/2015
#include <stdio.h>
#include <stdlib.h>
int main() { char nome[30];
char sexo;
int idade;
float peso;
float altura;
printf("Informe o seu nome: ");
scanf("%s", &nome);
printf("Qual a sua idade? ");
scanf("%d", &idade);
fflush(stdin);
printf("Informe o gênero: (M)asculino ou (F)eminino? ");
scanf("%c", &sexo);
printf("Informe seu peso e a altura, separando por espaço: ");
scanf("%f %f", &peso, &altura);
printf("\n----==== Ficha do Usuário ====----\n");
printf("Nome: %s\n", nome);
printf("Idade: %d\tSexo: %c\n", idade, sexo);
printf("Altura: %.2f m\tPeso: %.1f Kg", altura, peso);
printf("\n----==========================----\n");
return 0;
}
12/09/2015
Exercício #4
4) Faça um programa que receba a medida do raio, calcule e mostre:
a) o comprimento da circunferência, sabendo que é dado por = 2
b) a área da circunferência, que é dada por =
c) o volume de uma esfera com este raio, tal que: V =
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main() {
float raio, comprimento, area, volume;
printf("Informe a medida do raio da circunferência: ");
scanf("%f", &raio);
comprimento = 2 * M_PI * raio;
area = M_PI * raio * raio;
volume = 3.0/4 * M_PI * pow(raio,3);
printf("A circunferência têm:\n%f de comprimento;\n%f de área; e\n%f de volume.", comprimento, area, volume);
return 0;
}
12/09/2015
Exercício #5
5) Faça um programa que receba um número real, calcule e mostre:
a) a parte inteira deste número;
b) a parte fracionária deste número;
c) o arredondamento desse número.
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main() { float numero;
int parteInteira, valorArredondado;
float parteFracionaria;
printf("Informe um número real qualquer: ");
scanf("%f", &numero);
parteInteira = trunc(numero);
parteFracionaria = numero - parteInteira;
valorArredondado = round(numero);
printf("Após o processamento, extraímos os seguintes dados:\n");
printf("Parte inteira....: %d\n", parteInteira);
printf("Parte fracionária: %f\n", parteFracionaria);
printf("Valor arredondado: %d", valorArredondado);
return 0;
12/09/2015
Exercício #6
6) Modifique o programa do exercício 3 para que exiba a nota na forma de um conceito (letra), segundo a tabela dada a seguir:
[8.0 – 10.0] A [7.0 – 8.0[ B [5.5 – 7.0[ C [4.0 – 5.5[ D [0.0 – 4.0[ E
#include <stdio.h>
#include <stdlib.h>
int main() {
int n1, n2, n3, peso1, peso2, peso3;
float media;
printf("Por favor, informe as três notas:\n");
scanf("%d %d %d", &n1, &n2, &n3);
printf("Agora informe os respectivos pesos:\n");
scanf("%d %d %d", &peso1, &peso2, &peso3);
media = (float)(n1*peso1 + n2*peso2 + n3*peso3) / (peso1 + peso2 + peso3);
printf("A média ponderada é %f e corresponde ao ", media);
12/09/2015
if ( (8.0 <= media) && (media <= 10) ) printf("conceito A");
if ( (7.0 <= media) && (media < 8.0) ) printf("conceito B");
if ( (5.5 <= media) && (media < 7.0) ) printf("conceito C");
if ( (4.0 <= media) && (media < 5.5) ) printf("conceito D");
if ( (0.0 <= media) && (media < 4.0) ) printf("conceito E");
return 0;
}
Estruturas de Decisão
• Classificados em três tipos:
– Comando Condicional Simples – Comando Condicional Composto
– Seleção entre duas ou mais seqüências de
comandos
12/09/2015
Comando Condicional Simples
• Estrutura decisão que permite a escolha do grupo de ações a ser executado quando determinada condição é satisfeita.
13
sim ? não
O Comando IF
if ( expressão lógica )
execute comando ou bloco de comandos ; Ex:
if ( num == 0 )
printf("O numero digitado eh zero");
14
12/09/2015
Comando Condicional Composto
• Estrutura decisão que permite a escolha entre dois grupos de ações a serem executado
dependendo de se uma condição é ou não satisfeita.
15
sim ? não
O comando IF-ELSE
• Podemos pensar no comando else como sendo um complemento do comando if. O comando if completo tem a seguinte forma geral:
if (condição) {
seqüência_de_comandos_1;
} else {
seqüência_de_comandos_2;
}
12/09/2015
Aninhamento de IF
• É possível aninhar construções do tipo if- else em diversos níveis:
– O ifaninhado é
simplesmente um ifdentro da declaração de um outro ifmais externo.
– O único cuidado que devemos ter é o de saber exatamente a qual ifum determinado elseestá ligado.
if(cond1) if(cond2)
comandos if2;
elsecomandos else2;
elseif(cond3) if(cond4)
comandos if4;
elsecomandos else4;
elsecomandos else3;
17
Aninhamento de IF’s
• Observe sempre a correspondência entre if’s e else’s
• Note que neste caso, a definição de um bloco de comandos garante a correta interpretação do aninhamento dos comandos
if
(cond1)
if(cond2)
comandos if2;
else
comandos else1;
if
(cond1) {
if(cond2)
comandos if2;
}
elsecomandos else1;
18
12/09/2015
#include <stdio.h>
#include <stdlib.h>
int main () {
int num;
printf("Digite um numero: ");
scanf("%d", &num);
if (num == 10) {
printf("Você acertou!\n");
printf("O número escolhido era 10.\n");
}else {
if (num > 10)
printf("O número era menor que %d.", num);
elseprintf("O numero era maior que %d.", num);
return} 0;
}
19
Encadeamento IF-ELSE-IF
if (teste_1) <comando_1>;
else if (teste _2) <comando _2>;
else if (teste _3) <comando _3>;
. . .
else <comando _n>;
• No encadeamento apenas um dos n comandos será
executado: o primeiro cujo teste for verdadeiro
12/09/2015
Encadeamento IF-ELSE-IF
•
A estrutura if-else-if é apenas uma forma de uso da estrutura
if-else. Sua forma geral é:if(condição_1) {
seqüência_de_comandos_1;
} else if(condição_2) {
seqüência_de_comandos_2;
} . . .
else if(condição_n) {
seqüência_de_comandos_n;
} else{
seqüência_de_comandos_default; }
21
#include <stdio.h>
#include <stdlib.h>
int main() {
int n1, n2, n3, peso1, peso2, peso3;
float media;
printf("Por favor, informe as três notas:\n");
scanf("%d %d %d", &n1, &n2, &n3);
printf("Agora informe os respectivos pesos:\n");
scanf("%d %d %d", &peso1, &peso2, &peso3);
media = (float)(n1*peso1 + n2*peso2 + n3*peso3) / (peso1 + peso2 + peso3);
printf("A média ponderada é %f e corresponde ao ", media);
12/09/2015
if ( (8.0 <= media) && (media <= 10) ) printf("conceito A");
else if ( (7.0 <= media) && (media < 8.0) ) printf("conceito B");
else if ( (5.5 <= media) && (media < 7.0) ) printf("conceito C");
else if ( (4.0 <= media) && (media < 5.5) ) printf("conceito D");
else if ( (0.0 <= media) && (media < 4.0) ) printf("conceito E");
elseprintf(“sem conceito");
return 0;
}