BCC701 Programação de Computadores I Lista de Exercícios 04: Funções Definidas pelo Usuário

Documentos relacionados
BCC701 Programação de Computadores I Lista de Exercícios 04: Funções Definidas pelo Usuário

BCC701 Programação de Computadores I Lista de Exercícios 05: Funções Definidas pelo Usuário

Universidade Federal de Ouro Preto UFOP. Instituto de Ciências Exatas e Biológicas ICEB. Departamento de Computação DECOM

Programação de Computadores I BCC 701 Lista de Exercícios Módulo

Estrutura de Repetição

Exercícios Repetição

Universidade Federal de Ouro Preto UFOP. Instituto de Ciências Exatas e Biológicas ICEB. Departamento de Computação DECOM

LISTA DE ATIVIDADES ...

, se x = y. , se x > y

Lista de Exercícios Complementares 1 - Prof. Red. Entrada e Saída de Dados

Linguagem Computacional

Comandos de Repetição

69) Acrescentar uma mensagem de VALOR INVÁLIDO no exercício [68], caso o segundo valor informado seja ZERO.

Ciência da Computação A&P

Lista de Exercícios Estrutura de Repetição

CADERNO DE EXERCÍCIOS ALGORITMOS

BCC701 Programação de Computadores I Lista de Exercícios 03: Estruturas de Iteração

Comandos de repetição while

PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95

ESTRUTURAS DE REPETIÇÃO - PARTE 2

ESTRUTURAS DE REPETIÇÃO - PARTE 1

BCC201 Introdução à Programação ( ) Prof. Reinaldo Silva Fortes. Prática 05 Modularização

Programação de Computadores I - BCC 701 Lista de Exercícios 1 Módulo 1

Parte I - Expressões lógicas e operadores

BCC701 Programação de Computadores I Lista de Exercícios 03: Estruturas de Iteração

Disciplina: Algoritmos e Programação Professor: Paulo César Fernandes de Oliveira, BSc, PhD

EXERCÍCIOS DE RECORDAÇÃO DE ALGORITMOS

PROGRAMAÇÃO DE COMPUTADORES I BCC Aula Prática 15

Exercícios: Comandos de Repetição

PROGRAMAÇÃO DE COMPUTADORES I BCC Aula Prática 02

Lista de Exercícios 01 Entrada e Saída de Dados

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO MARANHÃO - CAMPUS CAXIAS. Aluno (s): 01 ATIVIDADE. Revisão de Conteúdo

Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM

Escreva um programa que imprima todos os números impares do intervalo fechado de 1 a 100.

Algoritmos e Lógica de Programação. 6ª Lista de Exercícios Comandos de Repetição

SEGUNDA LISTA DE EXERCÍCIOS ALGORÍTMOS SEQUENCIAS E CONDICIONAIS

Fundamentos de Programação Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte 15 de maio de 2018.

Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem Python

Universidade Federal de Ouro Preto UFOP. Instituto de Ciências Exatas e Biológicas ICEB. Departamento de Computação DECOM

Instituto Federal de Minas Gerais - Campus avançado de Ponte Nova - IFMG Disciplina: Introdução a programação Professor: Saulo Henrique Cabral Silva

Lista de Exercícios 5

Lógica de Programação Módulo I Prof.: Ricardo Lokchin. Fazer os exercícios abaixo na Linguagem C ou em ALGORITMOS.

Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM Programação de Computadores I - BCC701

Lista de Exercícios 06 Modularização (Procedimentos e Funções)

Prática 10 - Funções

Lista de Exercícios 2

LISTA DE EXERCÍCIOS: 2ª Unidade Funções

Algoritmos e Lógica de Programação. Prof. Marcos Antonio Estremoe. 1 - Faça um programa que imprima a frase: Bem Vindo à Engenharia Firb 2014.

2ª Lista de Exercícios de Programação I

PROGRAMAÇÃO DE COMPUTADORES I - BCC Aula Prática 04 Exercício 1

Universidade Federal de Ouro Preto UFOP. Instituto de Ciências Exatas e Biológicas ICEB. Departamento de Computação DECOM

Lista de Exercícios 03a Algoritmos Repetição. 1) Escreva um algoritmo em PORTUGOL que imprima todos os números inteiros de 0 a 50.

Estruturas de Repetição WHILE e DO- WHILE

BAC004 Informática Teórica T2 Professora: Fabiana Costa Guedes Lista 05 Vetores e Matrizes Vetores

Material Didático Unificado.

Programação de Computadores I BCC701 Aula Teórica 08 Exercícios

Aula 15 - Estruturas de Repetição (p3)

1. Considere o polígono irregular abaixo, formado por três retângulos e um triângulo.

PROGRAMAÇÃO DE COMPUTADORES I - BCC Vetores e matrizes

Exercícios: comandos condicionais

LISTA DE EXERCÍCIOS Fazer um algoritmo para leia três valores inteiros, determine e imprima o menor deles.

Lista de Exercícios 3

1ª LISTA DE EXERCÍCIOS - Extra

Lista de Exercícios 03a Repetição. 1) Escreva um programa que imprima todos os números inteiros de 0 a 50.

Programação de Computadores 1 Lista 2. Prof. Álvaro A. F. de Souza DECSI - ICEA - UFOP

1ª Lista de Exercícios

Resolva os exercícios utilizando a linguagem de programação C

Universidade Federal de Ouro Preto UFOP. Instituto de Ciências Exatas e Biológicas ICEB. Departamento de Computação DECOM

Programação II. Victor Amorim dos Santos

Fim. Instituto Federal do Pará Professor: Ricardo José Cabeça de Souza Disciplinas: - Algoritmos e Programação de Computadores

1. Faça um algoritmo que receba dois números e exiba o resultado da sua soma. subtração, multiplicação e a divisão dos números lidos.

Exercícios sobre repetição. 1. Escreva um método que lê via teclado 8 números e retorna a quantidade de negativos.

SSC Introdução à Programação para Engenharias. Lista 01 Entrega em 06/04/ h10

Aula Teórica 09 Funções

Fixação de conteúdo teórico

PROGRAMAÇÃO DE COMPUTADORES I BCC Aula Prática 12

Tipos, variáveis, operadores, e entrada e saída

Algoritmos e Programação

Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem C

1ª LISTA DE EXERCÍCIOS

3) Faça um algoritmo para ler a base e a altura de um triângulo. Em seguida, escreva a área do mesmo. Obs.: Área = ( Base * Altura ) / 2

Comandos de Desvio 1

Maratona de Programação

Universidade Federal de Sergipe - Campus Alberto Carvalho. Lista 4 - WHILE / REPEAT UNTIL

Professor Mauricio Lederer Algoritmos. Entrada e saída de dados

Grupo B Estruturas de Repetição

Comandos de repetição while

Aula 6: Entrada e Saída

Material Didático Unificado. Variáveis correspondem a nomes para endereços de memória que são gerenciados pelo Scilab.

Lógica e Linguagem de Programação Aula 04 - Estruturas de Repetição Repetição com Teste no Início Enquanto - GABARITO Professor: Danilo Giacobo

LISTA DE EXERCÍCIO. 2) Fazer um algoritmo para calcular a soma entre dois números e multiplicar o resultado pelo primeiro.

6 a Lista Complementar de Exercícios de CI208 Programação de Computadores 13/02/2014

Lista de Exercícios 03a Algoritmos Repetição

Transcrição:

BCC701 Programação de Computadores I 2018-02 Lista de Exercícios 04: Funções Definidas pelo Usuário http://www.decom.ufop.br/bcc701/ Questão 1. (2014-01) A distância entre dois pontos, A e B, no plano cartesiano pode ser dada pela fórmula: distância = X B X A 2 + (Y B Y A ) 2 Escreva um programa principal e uma função definida pelo usuário, DIST, onde: 1. o programa principal faz a leitura das coordenadas dos pontos A e B, ou seja, os valores de X A, Y A, X B e Y B, conforme o exemplo de execução abaixo; 2. o programa principal faz a chamada a uma função DIST, com os valores das coordenadas lidas. A função retorna para o programa principal o valor numérico da distância entre os pontos A e B. 3. o programa principal faz a impressão da distância calculada. OBS.: não é necessária a validação dos dados de entrada, as coordenadas serão sempre números reais. A seguir, um exemplo de execução do programa. CÁLCULO DA DISTÂNCIA ENTRE DOIS PONTOS INFORME XA: 1 INFORME YA: 1 INFORME XB: 4 INFORME YB: 5 DISTÂNCIA ENTRE (1, 1) e (4, 5) : 5 Questão 2. (2014-02) O fatorial duplo n!! é definido do seguinte modo: Por exemplo: n!! = 9!! = 9 7 5 3 1 = 945 12!! = 12 10 8 6 4 2= 46080 n n 2 n 4 3 1, se n é ímpar n n 2 n 4 4 2, se n é par 1

Defina em Scilab, uma função dfat, que receba como parâmetro um número inteiro positivo n e retorne o valor de n!!, tal como definido acima. Escreva também um programa principal que leia um número inteiro positivo e calcule o valor do fatorial duplo desse número, usando a função dfat, previamente definida. O programa deve testar se o valor lido é um inteiro positivo, solicitando que seja digitado um novo valor, caso contrário. A seguir, temos dois exemplos de execução do programa principal, com suas entradas e saídas de dados. Digite um numero inteiro positivo: -3 Valor inválido! Digite um número inteiro positivo: 9 9!! = 945 Digite um número inteiro positivo: 12 12!! = 46080 Questão 3. (2015-01) Dê uma definição para a função maxdiv, que recebe como parâmetro um número inteiro positivo n e retorna o maior divisor próprio de n. O maior divisor próprio de n é o maior divisor de n diferente dele próprio. Por exemplo, o maior divisor próprio de 12 é 6 e o maior divisor próprio de 15 é 5. Escreva agora um programa que leia dois números inteiros positivos, imprima o maior divisor próprio de cada um deles e imprima a soma dos maiores divisores próprios desses dois números, conforme ilustra o exemplo de execução a seguir. SOMA DOS MAIORES DIVISORES DIGITE UM NÚMERO INTEIRO POSITIVO: 8 MAIOR DIVISOR PRÓPRIO = 4 DIGITE UM NÚMERO INTEIRO POSITIVO: 15 MAIOR DIVISOR PRÓPRIO = 5 SOMA DOS DIVISORES = 9 Questão 4. (2015-02) Defina uma função para calcular o valor final de um investimento de capital. A função deve ter como parâmetros o valor do capital investido (C), a taxa de juros anual (j), o número de anos (a) durante os quais o capital permanecerá investido e a taxa de imposto que incidirá sobre o rendimento (ir); a função deve retornar como resultado o valor do montante final (VF) do investimento, já descontado o imposto de renda. As fórmulas envolvidas são: V = C(1+j) a VF = V - (V C)*ir Escreva um programa para ler do teclado um valor de capital a ser investido, a taxa anual de juros, o número de anos programado para o investimento e a taxa de imposto. O programa deverá calcular e imprimir o valor final resultante do investimento, utilizando a função definida acima. Deverá, também, calcular e imprimir o percentual de lucro líquido, dado pela fórmula: L = (VF C)/C * 100 2

Investimento Capital a ser investido: 10000 Taxa de juros anual do investimento: 0.07 Número de anos do investimento: 10 Imposto sobre o lucro: 0.15 Valor final = 18220.79 Percentual de lucro líquido = 82.21 Questão 5. (2016-01) O K-fatorial de um número natural N é uma generalização do fatorial, definido como: N x (N-K) x (N-2K) x (N-3K) x..., onde o produto é feito enquanto o resultado da diferença é maior ou igual a 1, ou seja, somente fatores maiores ou iguais a 1 são incluídos no produto. Observe que o fatorial de N, que é definido como: corresponde ao K-fatorial de N, para K=1. N! = N x (N-1) x (N-2) x... x 1 Escreva uma função fatnk, que receba como parâmetros dois números inteiros N e K, e retorne o K- fatorial de N. Escreva também um programa que leia dois números N e K e utilize essa função para calcular o k- fatorial de N, tal como nos exemplos de execução a seguir. OBS: Não é necessário verificar se N e K são inteiros positivos. Digite o valor de N: 10 Digite o valor de K: 3 Resposta = 280 Digite o valor de N: 21 Digite o valor de K: 19 Resposta = 42 Exemplo 3: Digite o valor de N: 21 Digite o valor de K: 30 Resposta = 21 Exemplo 4: Digite o valor de N: 8 Digite o valor de K: 1 Resposta = 40320 3

Questão 6. (2016-02) O quociente e o resto da divisão inteira de dois números inteiros positivos, A e B, podem ser calculados por operações sucessivas de subtração. Por exemplo, se A = 17 e B = 3, a divisão de A por B seria calculada do seguinte modo: 1ª subtração: 17 3 = 14 2ª subtração: 14 3 = 11 3ª subtração: 11 3 = 8 4ª subtração: 8 3 = 5 5ª subtração: 5 3 = 2 O quociente da divisão é o número de vezes que foi realizada a subtração de B, neste caso, 5 vezes. Note que a subtração de B é repetida enquanto o resultado obtido é maior ou igual ao valor de B. O resto da divisão é o resultado obtido na última subtração. Escreva uma função DivMod, que receba como parâmetros dois números inteiros A e B e retorne o quociente e o resto da divisão inteira de A por B, calculados conforme a estratégia explicada acima. Escreva também um programa principal, que leia dois valores A e B, verifique se os valores lidos são inteiros positivos e, em caso afirmativo, imprima o quociente e o resto da divisão de A por B, usando a função DivMod definida anteriormente. Caso os valores lidos não sejam inteiros, o programa deve imprimir uma mensagem, tal como mostrado a seguir. Divisão de inteiros... Digite o valor de A: 3 Digite o valor de B: 2.6 ERRO: Valor(es) inválido(s) Divisão de inteiros... Digite o valor de A: 17 Digite o valor de B: 3 17 dividido por 3: quociente = 5, resto = 2 Questão 7. (2017-02) Considere um relógio analógico marcando 5 h (a.m.) [Figura 1]. Se avançarmos mais quatro horas, o relógio mostrará 9 h (a.m.) [Figura 2]. Mas, se o horário exibido no relógio for 5 h (a.m.) e o tempo avançar 10 h, o horário exibido no mostrador do relógio não será 15 h (5+10), o horário exibido será 3 h (p.m.) [Figura 3]. Figura 1 Figura 2 Figura 3 Observe que 3 é o resto da divisão inteira de (5+10) por 12. Em geral, se o relógio exibe h horas, onde h é um inteiro de 1 a 12, e o horário avança para frente x horas, onde x é inteiro, então o horário y exibido no mostrador será: y = modulo((h + x), 12). 4

Implemente a função hora, que recebe dois valores: a hora atual (h) e a quantidade de horas (x), e retorna a hora o ponteiro das horas apontará após transcorrerem x horas a partir de h conforme descrito anteriormente. Implemente também um programa principal que leia a hora atual (h) e quantas horas o relógio irá avançar para frente (x) indicando e, a seguir, chama a função. O programa se comporta conforme os exemplos de execução, e não há necessidade de verificar se os dados de entrada são corretos. Qual o horário atual? 5 O quanto você quer avançar o relógio? 30 O ponteiro das horas apontará para: 11 Qual o horário atual? 1 O quanto você quer avançar o relógio? 20 O ponteiro das horas apontará para: 9 Questão 8. (2018-01) Na última aula de matemática, Rafael, Beto e Carlos aprenderam algumas novas expressões matemáticas. Cada um deles se identificou com uma expressão em especial, e resolveram competir para ver quem tinha a expressão de maior resultado. A expressão que Rafael escolheu é r = (3x)² + y². Já Beto escolheu a expressão b = 2(x²) + (5y)². Carlos, por sua vez, escolheu a expressão c = -100x + y³. Implemente uma função que receba os valores de x e y, calcule o valor de cada expressão, e retorne qual das expressões resultou no maior resultado. Para testar sua função, implemente um programa principal que leia N valores de x e y, e para cada um deles, imprima o vencedor, conforme os exemplos de execução a seguir. Digite o valor de N: 4 Digite o valor de x: 2 Digite o valor de y: 30 Carlos ganhou. Digite o valor de x: 2 Digite o valor de y: 100 Carlos ganhou. Digite o valor de x: 30 Digite o valor de y: 20 Beto ganhou. Digite o valor de x: 15 Digite o valor de y: 5 Rafael ganhou. Digite o valor de N: 0 Exemplo 3: Digite o valor de N: -10 5