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