Comandos de Repetição

Documentos relacionados
Exercícios: Comandos de Repetição

Exercícios Repetição

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

ESTRUTURAS DE REPETIÇÃO - PARTE 2

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

Linguagem C ESTRUTURA DE CONTROLE

Lista de Exercícios 5

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

Comandos de repetição while

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

Programação II. Victor Amorim dos Santos

ESTRUTURAS DE REPETIÇÃO - PARTE 1

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 Departamento de Computação - DECOM Programação de Computadores I - BCC701

Universidade Federal de Mato Grosso do Sul. Lista de Exercícios 2

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

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

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

ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE)

Valor: 0,0 CORREÇÃO. 1. Construa um programa que leia a sua idade, o seu nome e depois imprima na tela.

Faculdades Integradas Rui Barbosa Programação II Prof. Marcos Antonio Estremote. Exercícios com Vetores e Matrizes

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

1 Cada linha do triângulo é uma seqüência de fibonacci.

Estrutura de Repetição

Programação científica C++

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

Exercícios: Vetores e Matrizes

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

Exercícios de Programação Lista de Exercícios

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

Saída Média dos valores digitados: 3.40

BCC201 Introdução à Programação ( ) Prof. Reinaldo Silva Fortes. Prática 04 Estruturas de Dados Homogêneas Vetores

Comandos de repetição while

ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE)

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

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

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

Parte I - Expressões lógicas e operadores

Estruturas de Repetição WHILE e DO- WHILE

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

, se x = y. , se x > y

DCC001 - Programação de Computadores. Lista de Exercícios 02 - Estruturas de Dados Homogêneas (Vetores).

Segunda lista de exercícios

LISTA DE ATIVIDADES ...

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

Laços de repetição for, while, do-while

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

Variáveis, Atribuição, Entrada e Saída

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

Lista de Exercícios 2

ESTRUTURA CONDICIONAL E SELEÇÃO

Exercícios de Linguagem C

Aula 15: Repetição (Parte 3)

UNISINOS - UNIVERSIDADE DO VALE DO RIO DOS SINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (C6/6) Curso: Informática

para / for (com teste numérico) enquanto / while (com teste lógico no início) repita até que / do...while (com teste lógico no fim)

ALGORITMOS E PROGRAMAÇÃO DE COMPUTADORES I. Trabalho 1 (T1)

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

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

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Condicionais e de Repetição

Universidade Federal de Uberlândia Faculdade de Computação. Estruturas de repetição

Grupo B Estruturas de Repetição

Exercícios: comandos condicionais

Lista de Exercícios Algoritmos Vetores. 10) Escreva um algoritmo em PORTUGOL que armazene em um vetor todos os números

4ª Série de Exercícios Variáveis Compostas Homogêneas 1. Faça um algoritmo que leia, via teclado, 10 valores do tipo inteiro e os guarde na memória.

CADERNO DE EXERCÍCIOS ALGORITMOS

Programação II. Victor Amorim dos Santos

Introdução a programação Comandos de repetição

Matemática Computacional

Programação em C. Victor Amorim dos Santos

LISTA DE EXERCÍCIOS 5 Algoritmos Estruturas de Controle - Seleção

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

Material Didático Proposto

Programação Estruturada Comandos Condicionais (Decisão) Operadores Relacionais

Python 3.x Estrutura de Repetição while

Estruturas de Repetição

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: estruturas de repetição While / Do While / For

Lista de Exercícios Estrutura de Repetição

Exercícios de Repetição

Lista de exercícios 1 (Cast)

Exercícios: Recursão

Curso: Técnico em Informática Integrado Disciplina: Algoritmos Carga horária: 60h (80h/a) Período: 2º Ano Professor: Edmilson Barbalho Campos Neto

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

EXERCÍCIOS DE ESTRUTURA DE REPETIÇÃO - LABORATÓRIO

Exercícios sobre algoritmos

CAPÍTULO 5 ESTRUTURAS DE REPETIÇÃO

Estruturas de Repetição. Leonardo Murta

Universidade Federal do Paraná Setor de Ciências Exatas Departamento de Informática. Oficina de Programação CI

1. Faça uma função que recebe por parâmetro o raio de uma esfera e calcula o seu volume.

Lista de exercícios estrutura de repetição FOR e While. 3. Criar um algoritmo que imprima a soma dos nu meros pares de 230 a 520..

Aula Teórica 06. Material Didático Proposto. Conteúdos da Aula. Estruturas de Repetição Exercícios

Oficina de Introdução de Programação usando Linguagem Python Prof. Ms. Perini

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

Transcrição:

Programação de Computadores I UFOP DECOM 2013 2 Exercícios de Revisão Comandos de Repetição Sumário 1 Testes de Compreensão 1 2 Exercícios de Programação 2 1 Testes de Compreensão 1 Determine o valor de n ao final de cada um dos trechos de programa a seguir, e determine também o número de iterações executadas em cada loop n=1; while modulo(n,10)<>0 n=n+1; n=2; while n <= 200 n=n^2; n=2; while ir > 200 n=n^2; 2 Determine os valores das variáveis v1, v2 e v3 ao final da execução de cada um dos trechos de programa a seguir v = [2 5 8 3]; [L,C] = size(v) for i=1:c v1(1,i) = v(1,i)+10 v2(1,i) = v(1,l-i); v3(1,i) = v(1,i) > 3 m = [1 5 3 8; 2 4 0 1; 0 1 2 3]; [L,C] = size(v) for i=1:c v1(1,i) = v(1,i)+v(2,i) v2(1,i) = v(1,i) > v(2,i); v3(1,i) = v(i,1) + v(i,2) 1

2 Exercícios de Programação 1 Quando um resistor (R), um capacitor (C ), e uma bateria (V ) são conectadas em série, a carga no capacitor (Q) aumenta ao longo do tempo, de acordo com a fórmula a seguir, se o capacitor estiver completamente descarregado, no instante de tempo t = 0: Q(t) = CV (1 e t/rc ) Escreva um programa para monitorar a carga no capacitor, até que uma determinada carga seja atingida Seu programa deve ler os seguintes dados: a voltagem da bateria (V), os valores da resistência (R) do resistor e da capacitância (C) do capacitor, e o valor da carga (Q) a ser obtida no capacitor O programa deve imprimir uma tabela da carga do capacitor em cada instantes de tempo, a partir do instante inicial t = 0, em intervalos de 01, até que seja atingida a carga desejada no capacitor Carga de capacitor ---------------------- Voltagem da bateria: 9 Valor da resistência: 4 Valor da capacitância: 3 Carga desejada: 2 Tempo Carga 00 000 01 022 02 045 03 067 04 089 05 110 06 132 07 153 08 174 09 195 2 Você vai construir um programa para controlar o congelador da sua geladeira para gelar sua cerveja na temperatura que você gosta super gelada! A idéia é que o congelador tem sensores de temperatura interna e de temperatura externa, e você pode programar a temperatura desejada para a cerveja O visor do congelador exibe uma mensagem avisando quando a cerveja está na temperatura desejada, e quanto tempo foi necessário para atingir essa temperatura Ele também avisa quando a cerveja está prestes a congelar, ou seja, quando a temperatura da cerveja chaga a 0 o C Como não dispomos aqui desses sensores, seu programa deverá ler 3 valores de temperatura: a temperatura interna T C, a temperatura externa T E, isto é, a temperatura da cerveja no momento em que ela é colocada no congelador, e a temperatura desejada T D Vamos supor que a cerveja é colocada no congelador no momento em que é informada a temperatura desejada A partir daí, a temperatura da cerveja T i, depois de decorridos i minutos após a cerveja ser colocada na geladeira, é calculada do seguinte modo: T 0 = T E T i+1 = T i K (T i T C ) onde K é uma constante de resfriamento, cujo valor vamos supor que seja K = 005 O programa deve exibir as duas mensagens solicitadas, como mostra o exemplo a seguir 2

Cerveja gelada! ---------------- Temperatura externa: 27 Temperatura do congelador: -3 Temperatura desejada da cerveja: 4 Sua cerveja está gelada! Temperatura = 4 C, tempo = 29 min Sua cerveja congelou! Temperatura = -0 C, tempo = 45 min 3 Suponha que você deposita R$ 500,00 reais em uma conta de investimento, no início de cada mês No final de cada mês, é creditado um rimento de 1% do saldo total da conta Por exemplo, no final do do primeiro mês, o saldo da conta seria R$ 505,00, e ao final do segundo mês seria R$ 1015,10 Escreva um programa que calcule e imprima o saldo da conta, ao final de cada mes, ao longo do período de 1 ano, a partir do mes em que é feito o primeiro depósito Conta de Investimento Mês Saldo 1 50500 2 101510 3 153020 \vdots 12 640470 4 Os plano de cargos e salários de uma determinada empresa consiste de 7 diferentes níveis de salário mensal: 1500,00, 2400,00, 3500,00, 5000,00 7000,00, 9000,00 e 12000 O número de empregados da empresa em cada um desses níveis de salário é, respectivamente: 3000, 2500, 1500, 1000, 400, 100 e 25 Escreva um programa que imprima uma tabela com os valores dos níveis de salário e o número de empregados em cada nível, e calcule e imprima também os seguintes dados: (a) O salário mensal médio (b) O número de empregados com salário acima e abaixo do salário médio (c) O salário médio pago (ie, a soma dos salários mesnsais pagos a todos os funcionários dividido pelo número de funcionários) Plano de Salários Nível Valor Empregados 1 150000 3000 2 240000 2500 3 350000 1500 \vdots 7 12000,00 25 Salário médio: 490000 Empregados com salário acima do médio: 577 Empregados com salário abaixo do médio: 7000 Média de pagamentos mensais: 3

5 As tabelas a seguir apresentam dados de produção e va mensal de minério em duas mineradoras pertences à companhia Ouro Preto Minas SA Escreva um programa que leia os dados dessas tabelas na forma de 2 matrizes, M 1 e m 2, respectivamente O programa deve então calcular o lucro de cada uma das mineradoras, em cada mês, assim como o lucro total no período, de toda a companhia Para efeito deste cálculo, considere que todo o minério produzido em um mês é vido neste mesmo mês Determine também qual das duas mineradoras deu maior lucro no período Mineradora Cachoeira Produção (ton) 1200 1000 1500 2100 1800 1500 2000 1900 Custo (R$/ton) 4,00 4,50 3,90 3,50 3,80 4,00 3,50 3,50 Va (R$/ton) 4,50 4,50 5,00 4,80 4,50 4,10 4,50 4,70 Mineradora Itabirito Produção (ton) 1800 1500 1500 2000 1700 1600 2100 1900 Custo (R$/ton) 4,00 5,00 4,00 3,80 4,10 4,00 3,60 3,70 Va (R$/ton) 4,50 4,50 4,80 4,50 4,70 4,10 4,60 4,70 6 Uma sequência é um palíndromo se ela é igual ao seu reverso Por exemplo, as seguintes sequeências de numeros inteiros são palíndromos: 0 1 0 1 2 3 3 2 1 3 2 4 7 4 2 3 Escreva um programa que leia, repetidamente, uma sequência de números (como um vetor de linha) e determine se a sequência lida é um palíndromo ou não, conforme exemplificado a seguir O programa deve terminar quando for digitada uma sequência vazia Palíndromo Digite uma sequência de números: [1 3 5 4 5 3 1] É um palíndromo Digite uma sequência de números: [1 3 5 4] Não é um palíndromo Digite uma sequência de números: [ ] Tchau 7 Escreva um programa que leia um vetor de algarismos decimais e obtenha o número decimal correspondente, conforme exemplificado a seguir Seu programa deve verificar se cada elemento do vetor dado como entrada é um algarismo decimal Algarismos -> Número Digite uma sequência de algarismos: [3 12 31] Entrada inválida! Digite uma sequência de algarismos: [3 5 4 5 3 1] Número decimal = 34531 8 Escreva um programa que leia um número inteiro não negativo e determine a sequência de algarismos que compõem esse número Seu programa deve verificar se a anetrada é um valor válido, isto é, um número inteiro 0, conforme exemplificado a seguir: 4

Número -> Algarismos Digite um número inteiro >=0: 356 Entrada inválida! Digite um número inteiro >=0: 34531 Número decimal = [3 5 4 5 3 1] 9 Escreva um programa que leia um número inteiro positivo n e determine todos os divisores de n, exceto o próprio n Por exemplo: Divisores de n -------------- Digite um número inteiro positivo: 220 Divisores: 1 2 4 5 10 11 20 22 44 55 110 10 Dois números inteiros positivos n 1 e n 2 são ditos amigos se a soma dos divisores de n 1 é igual a n 2 e vice-versa 1 Por exemplo, 220 e 284 são números amigos, pois a soma dos divisores de 220 é 1+2+4+5+10+11+20+22+44+55+110=284 e a soma dos divisores de 284 é 1+2+4+71+142=220 A tabela a seguir relaciona alguns outros pares de números amigos: n 1 220 2620 12285 17296 69615 n 2 284 2924 14595 18416 87633 Números amigos -------------- Digite n1: 220 Digite n2: 284 São amigos Números amigos -------------- Digite n1: 756 Digite n2: 41 Não são amigos 11 Um número é primo se ele não é divisor de nenhum outro número exceto ele próprio e 1 Escreva um programa que leia um número inteiro positivo n e determine se ele é primo Números primos ---------------- Digite um número inteiro positivo: 4058879 Não é primo 1 Veja, por exemplo: http://wwwshyamsunderguptacom/amicablehtm 5

Números primos ---------------- Digite um número inteiro positivo: 2147483647 É primo Dica: A solução natural para este problema consiste em testar se o número lido, n, é divisível por 2,3,4, e assim sucessivamente, até encontrarmos um número k, tal que n seja divisível por k, ou concluirmos que n é primo Para que valores de k devemos testar se n divide k? Naturalmente, poderíamos testar para valores de k = 2, 3, (n 1) Entretanto, podemos restringir essa faixa de valores, de modo a tornar nosso programa mais eficiente: k = 2,3,, n As seguintes estratégias podem também ser adotadas para tornar o programa ainda mais eficiente: (a) Teste inicialmente se n é par, isto é, se n é divisível por 2 Em caso afirmativo, o programa termina imediatamente, informando que n não é primo (b) Se n não for par, podemos testar a divisibilidade de n apenas para números ímpares, isto é, para k = 3,5,7,, n 12 O valor de π pode ser aproximado pela seguinte série: π 8 = 1 1x3 + 1 5x7 + 1 9x11 + A tabela a seguir mostra como o valor calculado considerando-se n termos da série aproximase de π, à medida que n cresce n π-aprox 1 2666666666667 2 2895238095238 3 2976046176046 10 3091623806668 20 3116596556794 100 3136592684839 1000 3141092653621 10000 3141542653590 Escreva um programa que leia um valor n 1 e calcule um valor aproximado para π, usando n termos da série acima Valor aproximado de pi Número de iterações: 100 pi = 3136592684839 13 Em Análise Numérica, o Método de Newton-Raphson é um método para encontrar aproximações sucessivas para os zeros de uma função f : R R 2 Este método pode ser 2 Para saber mais sobre este método veja, por exemplo http://enwikipediaorg/wiki/newton%27s_method 6

usado para o cálculo de aproximações sucessivas para a raiz quadrada de um número real r, conforme explicado a seguir Começamos "adivinhando"um valor x 0 qualquer como uma aproximação para r A partir daí, obtemos valores cada vez mais próximos de r, por meio de iterações sucessivas, onde, em cada iteração n 1, calculamos um valor aproximando x n para r, do seguinte modo: x n = x n 1 x2 n 1 r 2x n 1 Por exemplo, considere o cálculo de uma aproximação para 10, começando com x 0 = 5 Por meio de iterações sucessivas, obtemos as seguintes aproximações para 10: n x n 0 x 0 = 5 1 x 1 = x 0 x2 0 10 2x 0 2 x 2 = x 1 x2 1 10 2x 1 3 x 3 = x 2 x2 2 10 2x 2 4 x 4 = x 3 x2 3 10 2x 3 = 5 52 10 25 = 35 = 35 352 10 235 = 31785714 = 31785714 317857142 10 231785714 = 31623194 = 31623194 316231942 10 231623194 = 31622777 Escreva um programa para cálculo de um valor aproximado para a raiz quadrada de um número real r, usando o método de Newton Você pode usar como uma aproximação inicial o valor x 0 = r/2 Você vai construir duas diferentes versões do programa: (a) O programa deve ler o número real r e um número inteiro positivo n e calcular um valor aproximado para r, usando n iterações do método de Newton-Raphson Cálculo de raiz quadrada - Número: 105 Iterações: 10 Raiz de 105 = 3240370349204 (b) O programa deve ler o número real r e um erro de aproximação desejado δ e calcular um valor aproximado para r tal que o erro de aproximação seja δ Em outras palavras, o programa deve calcular valores aproximados para r em sucessivas iterações, até que a diferença entre os valores calculados em iterações consecutivas x n x n 1 seja menor ou igual a δ Imprima também o número de iterações requeridas para se obter uma aproximação para r com o erro desejado Cálculo de raiz quadrada - Número: 105 Erro: 0000001 Raiz de 105 = 3240370349204 Número de iterações = 5 14 Uma matriz quadrada M é um quadrado mágico se todos os seguintes cálculos resultam em um mesmo valor, o qual é chamado de constante mágica da matriz M: 3 a soma de todos os valores, em cada linha de M 3 Veja http://enwikipediaorg/wiki/magic_square 7

a soma de todos os valores, em cada coluna de M a soma de todos os valores na diagonal de M a soma de todos os valores na diagonal secundária de M É possível construir um quadrado mágico n n para qualquer valor de n, exceto para n = 2 A figura a seguir ilustra um quadrado mágico 3 3: Escreva um programa que leia um matriz e verifique se ela é ou não um quadrado mágico Se a matriz dada como entrada não for uma matriz quadrada, o programa deve simplesmente responder que ela não é um quadrado mágico Dica: Quadrado mágico ----------------- Digite uma matriz quadrada: [2 7 6; 9 5 1; 4 3 8] É um quadrado mágico: k = 15 (a) O operador de comparação de igualdade (==) pode também ser usado para verificar se todos os valores de uma matriz ou vetor são iguais ao um determinado valor Uma expressão da forma M == n, onde M é uma matriz de números e n é um número, resulta em uma matriz de valores lógicos (%t ou %t), em que cada elemento é o resultado de comparar o elemento correspondente de M com o valor n Por exemplo: -->M = [1 2 1; 2 2 1] M = 1 2 1 2 2 1 -->K = M == 1 K = T F T F F T (b) A função and recebe como argumento uma matriz de valores lógicos M e retorna como resultado a conjunção de todos os valores de M Por exemplo, supondo que K é a matriz do exemplo acima, teríamos: -->and(k) ans = F -->and([%t %t %t]) ans = T 8