Programação 1

Aula prática 3



1. A função printf(..)
 Qual será o output (saída) do programa a seguir?

   #include <stdio.h>

   main()
   {  int i = 67;
      printf("%d %c %f\n", i, i, i);
   }
 
 
 
Resposta:                                                                . 

Verifique.



2. Variáveis e a sua capacidade de armazenamento
Em C, igual que noutras linguagens de programação, cada variável está desenhada para guardar tipos de valores específicos.

2.1) Escreve um programa que
declara as seguintes variáveis cujos nomes devem ser:
            i = inteiro, c = caracter,  f = ponto fluctuante, uc = caractere sem sinal, d = double.

Utilize os modificadores de tipo "long" e "unsigned"  para responder as seguintes perguntas:

 a) Numa variável de tipo inteiro , pode armazenar o número 32701? e o número 32823? Imprima o que resulta declarando uma variavelde tipo inteiro para armazenar cada valor.
b)  Qué resultado obteve? Porqué tem um valor negativo quando imprimiu o segundo número? Intente este problema resolver olhando para os apontamentos do capítulo 3.
c)  Como devería  modificar o tipo da variável inteira para poder armazenar este último número?

2.2)
Crie duas variáveis numéricas (n1 e n2) dum tipo apropriado e armazene nelas os seguintes valores: 4.5678 e 3.21
Declare igualmente a variável n3 do mesmo tipo para armazenar o resultado da seguinte operação:
Execute a divisão onde n1 seja o numerador e n2 seja o denominador. Guardaro valor numa variável n3. Olho com o tipo que escoger para ela!
Que resultado obtem se imprimir?
Que acontecia se n3 fose declarada como de tipo inteiro? Imprima e compare. Corrigir se necessário.



3. Cálculos
 Qual será o output do programa a seguir?

   #include <stdio.h>

   main()
   {
      unsigned int a, b;
      a = 2500;
      b = a * a;
      printf("%d*%d=%d\n", a, a, b);
   }
 
 
Resposta:                                                                .

Agora verifica. Elimina o erro.



4. Utilizando a instrução if : nota final
Imagina que a uma dada cadeira, a nota de frequência é obtida da seguinte forma: um trabalho com peso 30% e um teste com peso 70%. Fazer um programa que calcula a vossa nota de frequência dessa cadeira. Se a nota de frequência for inferior a 9.5, o computador deve imprimir a mensagem: "tem de ir a exame". Caso contrário, imprime a mensagem: "Passaste com x valores".

Ao ser executado, o programa vai fazer o seguinte:
       Nota do trabalho:
       15
        Nota do teste:
       10.5
       Logo imprimirá "Passaste com 11.9 valores"

             (Repare que o resultado debe ser mostrado com apenas um valor decimal.)



5. if 2: estruturas mais complicadas.
5a) Faz um programa que pede ao utilizador 3 números e escrevo-os no ecrã na ordem decrescente:

Ao ser executado, o programa vai fazer o seguinte:
       Diz um número:
       18
        Diz outro número:
       -4
        Diz outro número:
       5
        Ordem decrescente: 18  5  -4
 



6.Mais cálculos
 Fazer um programa que calcule a pendente entre dois pontos (x1, y1) e (x2, y2) no espaço, conforme a conhecida fórmula que diz que o resultado  corresponde a diferença entre as coordenadas y2 e y1 dividido pela diferença entre as coordenadas x2 e x1. Chamaremos m a pendente obtida. Imprima o valor da pendente calculada.

(Em geral a pendente representa uma quantidade que da a inclinação duma curva o linha com respecto a uma outra curva o linha.)
Dica: Calcule a pendente de dois pontos conhecidos por você. Introduzindo estes valores o programa pode ser testado como correcto quando produzir os mesmos resultados seus feitos a mão. Isto sempre ajuda.