Mudanças entre as edições de "MCO018703 2018 2 AULA04"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
Linha 75: Linha 75:
 
=Exercícios propostos=
 
=Exercícios propostos=
  
<!--
+
[1]
#Implementar um programa C que converte temperaturas de graus Fahrenheit para Celsius.
 
<syntaxhighlight lang=c>
 
#include <stdio.h>
 
float converter_fahreiheit_para_celsius (float temp_fahr)
 
{
 
  /* melhorar - retornar -1000 se o valor do parâmetro for inválido */
 
  return ((temp_fahr-32)/1.8);
 
}
 
 
 
main()
 
{
 
  float temperatura_fahre, resultado_celsius;
 
  printf("Entre com graus Fahrenheit -> ");
 
  scanf ("%f", &temperatura_fahre);
 
  resultado_celsius = converter_fahreiheit_para_celsius(temperatura_fahre);
 
  printf("Conversao = %f\n", resultado_celsius);
 
}
 
</syntaxhighlight>
 
-->
 
#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.
 
<!--
 
<syntaxhighlight lang=c>
 
main()
 
{
 
  int x,y;
 
  float media;
 
 
 
  printf("Entre com x\n");
 
  scanf("%d",&x);
 
  printf("Entre com y\n");
 
  scanf("%d",&y);
 
  if (x==y)
 
    printf("números iguais\n");
 
  else {
 
    printf("números diferentes\n");
 
    media = (x+y)/2.0;
 
  }
 
}
 
</syntaxhighlight>
 
-->
 
#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.
 
<!--<syntaxhighlight lang=c>
 
main()
 
{
 
  int num1,num2,num3,num4;
 
  int soma1,soma2;
 
 
 
  printf("Entre com num1\n");
 
  scanf("%d", &num1);
 
  printf("Entre com num2\n");
 
  scanf("%d", &num2);
 
  printf("Entre com num3\n");
 
  scanf("%d", &num3);
 
  printf("Entre com num4\n");
 
  scanf("%d", &num4);
 
 
 
  soma1 = num1+num2;
 
  soma2 = num3+num4;
 
 
 
  if(soma1<=soma2)
 
      printf("Soma dos dois primeiros <= que a soma dos dois últimos\n");
 
}
 
</syntaxhighlight>
 
-->
 
#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.
 
<!--
 
<syntaxhighlight lang=c>
 
main()
 
{
 
  float num1,num2;
 
  int operacao;
 
 
 
  printf("Entre com num1\n");
 
  scanf("%f", &num1);
 
  printf("Entre com num2\n");
 
  scanf("%f", &num2);
 
 
 
  printf("Entre com a operacao\n");
 
  scanf("%d", &operacao); 
 
 
 
  /* Esta solução pode ser otimizada - veremos
 
      mais tarde */
 
  if (operacao>=1 && operacao <=4) {
 
      if (operacao==1)
 
        resultado = num1 + num2;
 
      if (operacao==3)
 
        resultado = num1 - num2;
 
      if (operacao==3)
 
        resultado = num1 * num2;
 
      if (operacao==4) {
 
        if (num2!=0)
 
            resultado = num1 / num2;
 
        else
 
            printf("Divisao por zero\n");
 
      }
 
      printf("O resultado da operacao %d é %f\n",operacao,resultado);
 
  } else {
 
      printf("Operacao inválida");
 
  }
 
}
 
</syntaxhighlight>
 
-->
 
#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 um programa C.
 
#Implementar um programa C para converter um ângulo em radianos para graus.
 
  
  

Edição das 20h36min de 13 de agosto de 2018

Objetivos

  • Aprender sobre funções para controle de de fluxo;
  • Utilizar o comando de decisão if else.

Funções para Controle de Fluxo

if( )
é um controle de fluxo usado para selecionar uma ou mais instruções baseado no resultado de um teste de comparação. Todas as instruções entre as chaves { e } são executadas somente se o resultado desse teste for verdadeiro; se não, essas instruções não são executadas. Verdadeiro é qualquer resultado, mesmo negativo, diferente de zero. Falso é um resultado zero.
if (expressão){
   bloco de instruções; // se "expressão" for verdadeira, "bloco de instruções" é executado
}
Fig037 MCO018703.jpg
if( )...else
Ao se acrescentar mais um bloco de instruções no loop do comando if pode-se criar o comando if...else, para fazer um teste novo quando o resultado da expressão for falsa.
if (expressão) {
   bloco de instruções1; // se "expressão" for verdadeira, "bloco de instruções1" é executado
}
else {
   bloco de instruções2; // se "expressão" for falsa, "bloco de instruções2" é executado 
}

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

Exercícios propostos

[1]




Icone voltar.png Icone menu.png Icone prox.png