INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO MARANHÃO
CAMPUS SÃO LUÍS - MONTE CASTELO
DEPARTAMENTO ACADÊMICO DE INFORMÁTICA – DAI
SISTEMAS DE INFORMAÇÃO
Disciplina: Linguagem de Programação I
Professora: Karla Donato Fook
2015.2
Exercícios
1. São dadas as coordenadas (xc, yc) do centro de uma circunferência e a medida r de seu
raio. Também são dadas as coordenadas (x, y) de uma série de pontos, sendo que o último
deles é igual ao centro. Determine quantos pontos desta série estão dentro da
circunferência, quantos estão fora e quantos estão sobre ela. Crie a função dist(x1, y1, x2,
y2) que dá a distância entre os pontos (x1, y1) e (x2, y2) e, depois, utilize-a num programa
que resolva o problema proposto.
2. Crie uma estrutura para armazenar dados sobre filmes (título, gênero e ano). Em seguida,
crie uma função que receba um vetor de 10 filmes e imprima os títulos dos filmes de
aventura feitos entre 2001 e 2005.
3. Codifique a função dv(n) que recebe um número n e devolve o seu dígito verificador. Essa
função deve implementar o seguinte método:
Suponha n= 345702159.
1o calculamos s = 3 * 10 + 4 * 9 + 5 * 8 + 7 * 7 + 0 * 6 + 2 * 5 + 1 * 4 + 5 * 3 + 9 * 2 = 202 .
2o calculamos x = 11 − s% 11 = 11 − 201 % 11 = 11 − 4 = 7 .
3o o dígito verificador é 0 se x> 9 e é o próprio x, caso contrário. Então, d= 7 .
4. Desenvolva um programa em C que contenha uma função para calcular a área de um
círculo. Para tanto, o programa deve solicitar que o usuário digite o valor do raio (real) e,
com esse valor a função areaCirculo (r) deve ser chamada para retornar o valor da área
obtida. O valor calculado deve ser exibido na main. O programa deve ser encerrado quand
o usuário desejar.
AreaCirculo = π * r2
5. Escreva um programa que contenha uma função que receba a base e a altura de um
triângulo como argumentos e retorne a área calculada. A área calculada deve ser exibida.
Obs.:
1) Os dados devem ser informados pelo usuário.
2) O programa deve ser encerrado quando o usuário desejar.
6. Faça uma função que receba um único valor representando segundos. Essa função deverá
converter esse valor para horas, minutos e segundos. Todas as variáveis devem ser
passadas como parâmetro, não havendo variáveis globais.
1
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO MARANHÃO
CAMPUS SÃO LUÍS - MONTE CASTELO
DEPARTAMENTO ACADÊMICO DE INFORMÁTICA – DAI
SISTEMAS DE INFORMAÇÃO
Disciplina: Linguagem de Programação I
Professora: Karla Donato Fook
2015.2
7. Escreva um programa em C que solicite ao usuário digitar em caracter e um valor inteiro.
Esses dois valores são usados pela função exibeLinha (c, n) na chamada à função. Essa
função deve exibir na tela uma linha de n caracteres c (informados pelo usuário). Note que
esta função deve ser chamada para montar uma tabela de notas de alunos, como ilustrada
a seguir. A função será chamada 3 vezes. Para elaborar este programa, você deve criar
uma função exibeLinha (c, n) e chamá-la a partir da função main ().
========================
Nome Aluno
Nota
========================
Marcos
9.0
Ana Rosa
8.0
Pedro
9.0
========================
8. Faça uma função que receba dois números positivos por parâmetro e retorne a soma dos
N números inteiros entre eles.
9. Codifique a função pot(x,n), que devolve x elevado a n.
10. Escreva um programa que contenha uma função que receba um valor em real e retorne o
valor convertido em euro. O valor a ser convertido deverá ser informado pelo usuário na
main. O programa deve ser encerrado quando o usuário desejar.
11. Na seqüência de Fibonacci 0, 1, 1, 2, 3, 5, 8, 13, ..., os dois primeiros elementos são 0 e 1, e
cada elemento subseqüente é dado pela soma dos dois elementos que o precedem na
seqüência. Escreva uma função recursiva que calcule e exiba o n-ésimo número de
Fibonnaci, para n >= 0.
12. Escreva uma função recursiva que calcula a divisão usando subtrações sucessivas.
int div (int a, int b);
13. Escreva uma função recursiva que calcula a potencia de um numero usando multiplicações
sucessivas.
int pot (int base, int exp);
14. Escreva uma função recursiva que calcula o resto de uma divisão usando subtrações
sucessivas.
int mod (int a, int b);
#
________________________________________________________
Fontes: (SILVA FILHO, 2010), (SCHILDT, 2002), (MIZRAHI, 1994), (CAMPOS, 2007)
2
Download

Exercícios 1. São dadas as coordenadas (xc, yc) do centro de uma