Mudanças entre as edições de "MCO18703 2017 2 AULA03"
Linha 164: | Linha 164: | ||
+ | ==Exemplo 1== | ||
− | + | (sala de aula) | |
− | |||
Um funcionário irá receber um aumento de acordo com o seu plano de trabalho (A,B,C e D). <br> | Um funcionário irá receber um aumento de acordo com o seu plano de trabalho (A,B,C e D). <br> | ||
Linha 192: | Linha 192: | ||
− | + | ==Exemplo 2== | |
+ | |||
+ | (sala de aula) | ||
Suponha que você atrasou uma conta. A cada mês que você deixa de pagar, será cobrado 1% de juros no valor inicial. | Suponha que você atrasou uma conta. A cada mês que você deixa de pagar, será cobrado 1% de juros no valor inicial. | ||
Linha 202: | Linha 204: | ||
- um inteiro: de 0 até 5, que são o número de meses de atraso. | - um inteiro: de 0 até 5, que são o número de meses de atraso. | ||
− | Faça um programa em C que calcule os juros (simples) de atraso | + | Faça um programa em C que calcule os juros (simples) de atraso. |
=Exercícios propostos= | =Exercícios propostos= |
Edição das 14h20min de 24 de outubro de 2017
Objetivos
- Utilizar os operadores relacionais e lógicos na programação C.
- Utilizar o comando de decisão if else.
Operadores Relacionais e Lógicos
Os operadores relacionais e lógicos são os mesmos vistos na aula anterior.
- Relacionais
Operador | Significado |
---|---|
> | maior que |
>= | maior ou igual que |
< | menor que |
<= | menor ou igual que |
== | igual a |
!= | diferente de |
- Lógicos
Operador | Significado |
---|---|
&& | AND (E) |
|| | OR (OU) |
! | NOT (NÃO) |
Ver Operadores Relacionais e Lógicos
Comandos de decisão if() e if() else
Estes comandos são também chamados de Comandos de controle de fluxo.
Possibilitam ao programador alterar a sequência de execução de um programa.
O comando if representa uma tomada de decisão do tipo "SE isto ENTÃO aquilo".
Sua forma geral é:
if (condição) declaração;
ou
if (condição) { declaração1; declaração2; } else { declaração3; declaração4; };
Note o uso das chaves sempre que houver mais de uma declaração e a utilização de identação (tecla TAB no teclado).
#include <stdio.h>
main()
{
int x; /* declaração de uma variável inteira */
int y; /* declaração de uma variável inteira */
printf ("Entre com o valor de x ");
scanf("%d",&x);
printf ("Entre com o valor de y ");
scanf("%d",&y);
if (y>x)
printf("MSG1:y é maior que x\n");
if (y>x)
printf("MSG2:y é maior que x\n");
else
printf("MSG3:y é igual ou menor que x\n");
}
Outro exemplo, usando blocos:
#include <stdio.h>
main()
{
int x,y,z; /* declaração de uma variável inteira */
printf ("Entre com o valor de x ");
scanf("%d",&x);
printf ("Entre com o valor de y ");
scanf("%d",&y);
if (y>x)
{
printf("MSG1: y é maior que x\n");
z = y-x;
printf("MSG2: Neste caso z = %d\n", z);
}
else
{
printf("MSG3: y é igual ou menor que x\n");
z = x-y;
printf("MSG4: Neste caso z = %d\n", z);
}
}
No C, qualquer expressão que resulta em 0 é considerada FALSA e qualquer expressão com valor diferente de 0 é VERDADEIRA.
Exemplo:
if (2)
printf("expressão sempre VERDADEIRA");
if ('2')
printf("expressão sempre VERDADEIRA");
if (1-1)
printf("expressão sempre FALSA");
if (x=1) /* um erro comum - sinal de atribuição no lugar de == */
printf("expressão sempre VERDADEIRA");
Indentação
É um recuo aplicado ao código fonte de um programa para ressaltar ou definir a estrutura do programa.
Exemplo 1
(sala de aula)
Um funcionário irá receber um aumento de acordo com o seu plano de trabalho (A,B,C e D).
A tabela abaixo mostra o plano e o percentual de aumento:
Plano | Percentual |
---|---|
A | 5% |
B | 10% |
C | 15% |
D | 20% |
Faça um programa que leia o plano de trabalho e o salário atual de um funcionário
em seguida calcule e imprima o seu novo salário. Use o comando switch.
Exemplo 2
(sala de aula)
Suponha que você atrasou uma conta. A cada mês que você deixa de pagar, será cobrado 1% de juros no valor inicial. Ou seja, se você atrasar um mês, irá pagar 1%. Se atrasar 3 meses, irá pagar 3%. Vamos supor que você pode atrasar, no máximo, 5 meses.
O programa pede, como entrada, dois valores: - um float: com o valor de sua dívida inicial (valor_i) - um inteiro: de 0 até 5, que são o número de meses de atraso.
Faça um programa em C que calcule os juros (simples) de atraso.
Exercícios propostos
- Implementar um programa C que converte temperaturas de graus Fahrenheit para Celsius.
- Implementar um programa que lê um número inteiro e imprime se o número é par ou ímpar. SUGESTÃO: Usar o operador de módulo da divisão.
- Implementar um programa em C para ler dois números inteiros e imprimir uma mensagem indicando se os números lidos são iguais ou diferentes. Caso sejam diferentes, computar a média dos mesmos.
- Implementar um programa para ler 4 números inteiros e imprimir uma mensagem se a soma dos dois primeiros for igual ou menor a soma dos dois últimos.
- Implementar um programa para ler dois números reais e, na sequência, um número inteiro. Se o número inteiro for 1 os dois números iniciais deverão ser somados, se for 2 eles serão subtraídos, se for 3 eles serão multiplicados e se for 4 serão divididos. Mostrar mensagem de erro se o número inteiro não estiver na faixa de 1 a 4. Mostrar mensagem caso a divisão não seja possível.
- Um estudo sobre sensibilidade de pessoas a temperaturas da água identificou que a maioria das pessoas considera fria a água com temperaturas abaixo de 25 graus, morna entre 25 e 30 graus, e quente acima de 30 graus. Escreva um algoritmo na forma de fluxograma que mostre as palavras "fria", "morna" ou "quente" dependendo da temperatura da água que for informada. Implemente o algoritmo na forma de um programa C.
- Implementar um programa que recebe três números reais e então o programa testa se estes números podem formar um triângulo EQUILÁTERO, ISÓSCELES, ESCALENO ou NÃO pode ser triângulo. (ver aula anterior).
- Implementar um programa C para converter um ângulo em radianos para graus.
- Implementar um programa C que recebe os 3 coeficientes de uma equação do segundo grau e então determina as raízes da mesma.