Programação I

2006/2007

1ºano

Ficha de Trabalho nº4                                      

Tema: Operadores aritméticos                   

 

Tópicos:          Operadores aritméticos

                                               Caracteres vs. Inteiros

                                               Casting

                                               Operadores ++ e –

                                               Atribuições compostas +=, -=, *=, /= ,%=

 

Exercícios resolvidos

Exercício 1

Escreva um programa que calcule o perímetro e a área de uma circunferência.

# include <stdio.h>

main()

{    float raio, perimetro;

double Pi=3.1415927,area;

printf(“Introduza o Raio da Circunferência: “);

scanf(“%f”,&raio);

area=Pi * raio*raio;

perimetro=2*Pi*raio;

printf(“Área = %f\nPerimetro = %f\n”, área, perimetro);

}

Exercício 2

Escreva um programa em C que solicite um determinado número de segundos, e em seguida indique quantas horas, minutos e segundos esse valor representa.

# include <stdio.h>

main()

{    long int n_segundos;

     printf(“Introduza o nº de segundos: “);

     scanf(“%ld”,&n_segundos);

     printf(“Horas: %d\n”, (int) n_segundos/3600);

     printf(“Minutos: %d\n”, (int) (n_segundos%3600/60));

     printf(“Segundos: %d\n”, (int) n_segundos%60);

}

Exercícios a resolver:

Exercício 3

Indique quais o valores atribuídos às variáveis p e k com a execução de cada uma das instruções de a) a j). Considere as instruções independentes (não são executadas sequencialmente) e que, para cada uma dessas instruções, as variáveis foram declaradas da seguinte forma:   int p=5, k=3;

 

a)  P-=25;         p=

b)  k=20/5;        k=

c)  k=++k;         k=

d)  k=p-- -2;      p=      k=

e)  p%=2*2;        p=

f)  p=++k*5;       p=      k=

g)  k=p&3;         p=      k=

h)  k<<=k>>1;      k=

i)  p<<=1;         p=

j)  p=p/k*10;      p=      k=      

 

Exercício 4

Indique qual o resultado de cada uma das seguintes expressões:

a)      2>7? 3:4                      R:

b)      5>20 || 20>5               R:

c)      !(73%2 != 0)               R:

d)      21.6/3.0 + 3.0                         R:

e)      5%3*2+7>=2                         R:

Exercício 5

 

Sabendo que x e y são variáveis do tipo inteiro, diga qual o resultado de cada uma das seguintes atribuições:

y= 4+3*2;            y=

x= 3*4/2-2;           x=

y= y++;                   y=

x += 3;                   x=

y-=2;                y=

x /= 3;                   x=

y %=3;               y=

x *= y++ + 3;        x=        y=

           

 

Exercício 6

Escreva um programa que solicite um inteiro (entre 0 e 255) ao utilizador e mostre o inteiro seguinte e o carácter correspondente.

 

Exercício 7

Escreva um programa em C que solicite um determinado número real e mostre qual a sua parte inteira e a sua parte fraccionária.

 

Exercício 8

 

Um objecto, que se encontra inicialmente em repouso, é sujeito a uma força que lhe provoca uma aceleração a de valor constante. O espaço percorrido s por esse objecto num espaço de tempo t  é dado pela seguinte equação:

Pretende-se que construa um programa que pergunte os valores da aceleração e do tempo e apresente, como resultado, o espaço percorrido.

 

 

Exercício extra-aulas

 

Exercício 9

Escreva um programa em C que solicite ao utilizador dois inteiros e apresente o resultado da realização das operações aritméticas tradicionais.

 

Exercício 10

Escreva um programa que leia três valores inteiros e que indique para cada um deles qual o desvio em relação à média.

 

Exercício 11

 

Implemente um programa que receba dois valores do tipo inteiro e que apresente o resultado de várias operações aritméticas, tal como exemplificado a seguir.

Introduza dois valores

17

5

A divisão inteira é: 3

A divisão real é: 3.4

O resto da divisão é: 2

A raiz quadrada da soma dos dois valores é:

O primeiro valor incrementado é: 18

O segundo valor decrementado é: 4