exercícios de programação estruturada

exercícios de programação estruturada

(Parte 2 de 2)

∆ 1.12.24. Fazer um algoritmo que calcule e escreva o valor de S:

4 ++

∆ 1.12.25. Fazer um algoritmo que calcule e escreva a seguinte soma:

48 ++

∆ 1.12.26. Fazer um algoritmo para calcular e escrever a seguinte soma:

3 ++

∆ 1.12.27. Fazer um algoritmo que calcule e escreva o valor de S onde:

36-

∆ 1.12.28. Fazer um algoritmo que calcule e escreva a soma dos 50 primeiros termos da seguinte série:

4 +

1000 1 - 997 2 + 994 3 - 991 ∆ 1.12.29. Fazer um algoritmo que calcule e escreva a soma dos 30 primeiros termos da série:

13 +

∆ 1.12.30. Escrever um algoritmo para gerar e escrever uma tabela com s valores do seno de um ângulo A em radianos, utilizando a série de Mac-Laurin truncada, apresentada a seguir:

sen A = A - A3

Condições: os valores dos ângulos A devem variar de 0.0 a 6.3, inclusive, de 0.1 em 0.1.

∆ 1.12.31. Fazer um algoritmo para calcular e escrever o valor d número pi, com precisão de 0,0001, usando a série:

1 +

Para obter a precisão desejada, adicionar apenas os termos cujo valor absoluto seja maior ou igual a 0.0001.

∆ 1.12.42. Sejam P(x1,y1) e Q(x2,y2) dois pontos quaisquer do plano. A sua distância é dada por

Escrever então um algoritmo que, lendo várias linhas onde cada uma contém as coordenadas dos dois pontos, escreva para cada par de pontos lidos a sua distância. A última linha contém as coordenadas x1, y2, y1,y2 iguais a zero.

∆ 1.12.43. A solução x, y para o sistema de equações lineares abaixo:

ax + by = u cx + dy = v é dada por:

x + d

ad - bc vy =

ad - bc u - b - c ad - bc u + a ad - bc v

Escrever um algoritmo que:

• leia várias linhas, onde cada uma contém os parâmetros a, b, c, d, u, v do sistema (a última linha contém os valores a, b, c, d iguais a zero);

• calcule a solução x, y de cada sistema dado por seus parâmetros;

• escreva os parâmetros lidos e os valores calculados.

∆ 1.12.4. Fazer um algoritmo que, lendo em uma unidade de entrada os parâmetros A e B de uma reta no plano dado pela equação Y = AX + B, determina a área do triângulo formado por esta reta e os eixos coordenados.

O algoritmo lerá um número indeterminado de linhas, cada linha contendo um par de parâmetros (A, B), e para cada par lido deverá escrever: os parâmetros A e B e a área do triângulo.

A execução do algoritmo deverá terminar quando ler uma linha cm um par de zeros.

Observação: Se, em uma linha (à exceção da última), um dos parâmetros for igual a zero, não haverá triângulo – assim, o programa deverá imprimir A, B, e 0 (zero).

∆ 1.12.45. Fazer um algoritmo para tabular a função y = f(x) + g(x), para x = 1, 2, 3, ..., 10 onde:

∆ 1.12.46. As coordenadas de um ponto (x1,y1) estão disponíveis em uma unidade de entrada. Ler esses valores (até quando um flag ocorrer) e escrever “INTERIOR” se o ponto estiver dentro da região entre as retas mostrada abaixo; caso contrário, escrever “EXTERIOR”.

y y = 3x y = 1 3 x

x

∆ 1.12.47. Fazer um algoritmo para calcular e escrever a soma dos cubos dos números pares compreendidos entre B e A . Suponha que os valores de B e A (B > A) são dados em uma linha.

∆ 1.12.48. Fazer um algoritmo que calcule o volume de uma esfera em função do raio R. O raio deverá varias de 0 a 20 cm de 0,5 em 0,5 cm

∆ 1.12.49. Fazer um algoritmo para calcular e escrever a área de um polígono regular de N lados inscrito numa circunferência de raio R. O número de polígonos será fornecido na primeira linha de dados e nas linhas seguintes serão fornecidos os valores de N e R.

∆ 1.12.50. Para um polígono regular inscrito numa circunferência, quanto maior o número de lados do polígono, mais seu perímetro se aproxima do comprimento da circunferência. Se o número de lados for muito grande e o raio da circunferência for unitário, o semiperímetro do polígono terá um valor muito próximo de pi.

Fazer um algoritmo que escreva uma tabela do semiperímetro em função do número de lados, para polígonos regulares inscritos, numa circunferência de raio unitário. O número de lados deverá variar de 5 a 100 de 5 em 5.

∆ 1.12.51. Construir uma tabela de perda de carga em tubulações para vazões que variem de 0,1

l / s a 10 l / s, de 0,1 em 0,1, através da fórmula de Hanzen-Willians dada abaixo:

onde: J = perda de carga (m/1000m);

D = diâmetro de tubo (m2 ); C = coeficiente de rugosidade.

Os valores de D e C serão lidos de uma unidade de entrada. Considerar como flag o valor D = 0.

∆ 1.12.52. Fazer um algoritmo que calcule e escreva o número de grãos de milho que se pode colocar num tabuleiro de xadrez, colocando 1 no primeiro quadro e nos quadros seguintes o dobro do quadro anterior.

∆ 1.12.53. Um certo aço é classificado de acordo com o resultado de três testes, que devem verificar se o mesmo satisfaz às seguintes especificações: Teste 1 – conteúdo de carbono abaixo de 7%; Teste 2 – dureza de Rockwell maior que 50; Teste 3 – resistência à tração maior do que 80.0 psi.

Ao aço é atribuído o grau 10, se passa pelos três testes; 9, se passa apenas nos testes 1 e 2; 8, se passa no teste 1; e 7, se não passou nos três testes. Supondo que sejam lidos de uma unidade de entrada: número de amostra, conteúdo de carbono (em %), a dureza de Rockwell e a resistência à tração (em psi) – fazer um algoritmo que dê a classificação de 112 amostras de aço que foram testadas, escrevendo o número da amostra e o grau obtido.

∆ 1.12.54. Fazer um algoritmo para calcular a raiz quadrada de um número positivo, usando o roteiro abaixo, baseado no método de aproximações sucessivas de Newton: Seja Y o número:

• A primeira aproximação para a raiz quadrada de Y é X

1 = Y 2

• as sucessivas aproximações serão: X n+1 =

X2 n + Y

2X n

O algoritmo deverá prever 20 aproximações.

∆ 1.12.5. Dada a equação x3 - 3x2 + 1 = 0 , pode-se encontrar qualquer uma de suas raízes reais através de aproximações sucessivas utilizando a seguinte fórmula:

Erro!

Fazer um algoritmo que: • considere como primeira aproximação X = 1,5;

• calcule e escreva a trigésima aproximação da raiz.

∆ 1.12.56. Fazer um algoritmo que tabule a seguinte função:

xy - 5y - 3x + 15

para x = 1,4,9,16,,100;
ey = 0,1,2, ...,5 para cada valor de x.

∆ 1.12.57. Tem-se 10 conjuntos de valores, onde cada conjunto é formado pelo número de um aluno, a nota provisória do seu trabalho prático e a data em que foi entregue.

Fazer um algoritmo para: a) Calcular e imprimir a nota final de cada aluno, sabendo-se que os trabalhos entregues:

• até 20/04, nota final = nota provisória + 10 pontos;

• até 02/05, nota final = nota provisória;

• até 30/05, nota final = nota provisória/2;

• até 30/06, nota final = 0. b) Calcular a média e o desvio padrão das notas provisória e final.

Observação: Desvio padrão = 1

∆ 1.12.58. Números complexos podem ser escritos na forma cartesiana Z = x + iy ou na forma exponencial Z = reiΘ . Multiplicações e divisões de números complexos na forma exponencial ficam muito mais fáceis de serem feitas, pois assumem a seguinte forma:

bastando, portanto, operar os módulos ( r ,1 e r ,2 ) e os argumentos (Θ ,1 e Θ ,2) .

Fazer um algoritmo que leia um conjunto de linhas, cada uma contendo um código de quatro valores. Código MULTIPLICA indica que se quer operar a multiplicação dos dois números complexos representados pelos quatro valores (r ,1 , Θ ,1

, Θ ,2) . Código DIVIDE indica que a operação desejada é a divisão. E código VAZIO vai indicar fim de dados. Para cada operação completada, escrever todos os valores lidos e os valores obtidos.

∆ 1.12.59. O cálculo do valor de uma integral definida, usando o método das aproximações por trapézios, é feito dividindo o intervalo de integração em n partes iguais e aproximando a função, em cada subintervalo obtido, por um segmento de reta. O valor da integral é calculado, então, como a soma das áreas dos diversos trapézios formados.

2 . h , área de cada trapézio h = x i+1 - x i = b - a n = constante

Fazer um algoritmo para determinar e escrever o valor de pi, o qual pode ser calculado pela integral:

pi = ⌡

1 + x2dx

∆ 1.12.60. Fazer um algoritmo que:

• leia um conjunto de 25 linhas, contendo, cada uma três números inteiros positivos (em qualquer ordem).

• calcule o máximo divisor comum entre os três números lidos, utilizando o método das divisões sucessivas.

• escreva os três números lidos e o m.d.c. entre eles. ∆ 1.12.61. O número 3025 possui a seguinte característica:

Fazer um algoritmo para um programa que pesquise e imprima todos os números de quatro algoritmos que apresentam tal característica.

∆ 1.12.62. Dada uma equação diferencial y = f(x,y) e a condição inicial y(x0) = y0 pode-se encontrar uma solução aproximada desta equação, usando o seguinte método:

Yk+1 = yk + hf(xk,yk)

Onde h é um acréscimo que se dá aos valores de x, xn limite superior do intervalo; h = xn - x0

nx0 limite inferior do intervalo;

n número de subintervalos.

Fazer, portanto, um algoritmo que encontre e escreva as soluções aproximadas da equação y’ = xy com y(0) = 1 no intervalo fechado de 0 a 1, com n = 10 subintervalos.

∆ 1.12.63. Fazer um algoritmo que:

• calcule o número de divisores dos números compreendidos entre 300 e 400. • Escreva cada número e o número de divisores correspondentes.

∆ 1.12.64. Fazer um algoritmo que, dados 100 números inteiros positivos, calcule e imprima os que são números perfeitos. Nota: Número perfeito é aquele cuja soma de seus divisores, exceto ele próprio, é igual ao número. Exemplo: 6 é perfeito porque 1 + 2 + 3 = 6.

∆ 1.12.65. Regressão linear é uma técnica estatística que ajusta uma equação linear (da forma y = ax + b) a um conjunto de pontos dados. O problema consiste em achar uma equação linear que melhor se ajuste aos pontos dados. Um dos métodos empregados é o dos mínimos quadrados, que consiste em minimizar a soma dos quadrados dos desvios verticais dos pontos para a linha reta.

As fórmulas para os coeficientes a e b, dado um conjunto de n pares de pontos (x,y) são a = nΣxy - Σx.Σy nΣx2 - (Σx)2 b =

Σy.Σx2 - Σx.Σxy sendo: Σx = Σn,i=1xi Σxy = Σn,i=1xiyi

Σy = Σn,i=1yi Σx2 Σn,i=1xi2

Uma vez achada a equação da reta, é importante determinar a precisão de ajustamento dessa linha aos dados reais. Uma medida disso é o coeficiente de correlação R, dado pela fórmula

R = nΣxy - Σx.Σy

O intervalo de variação de R é de –1 ≤ R ≤ 1. Quanto mais próximo de 1 ou –1 ficar o valor de R, melhor terá sido o ajustamento da reta.

Fazer um algoritmo para ler e imprimir um conjunto de pares de pontos (x,y) e calcular e escrever os valores de a, b e R.

∆ 1.12.6. Capicuas são números que têm o mesmo valor, se lidos da esquerda para a direita ou da direita para a esquerda. Ex: 4, 232, etc.

Fazer um algoritmo que determine e escreva todos os números inteiros menores que 10.0 que são quadrados perfeitos e capicuas ao mesmo tempo.

∆ 1.12.67. Número primo é aquele que só é divisível por ele mesmo e pela unidade.

Fazer um algoritmo que determine e escreva os números primos compreendidos entre 5.0 e 7.0.

∆ 1.12.68. Fazer um algoritmo que:

• leia um conjunto de linhas contendo, cada uma, um número inteiro, na base 10, de até cinco dígitos. A última linha contém o valor zero;

• transforme esse número da base 10 para a base 2;

• escreva o número na base 10 e na base 2.

∆ 1.12.69. Fazer um algoritmo que:

• leia um conjunto de linhas contendo, cada uma, um número inteiro na base 3. A última linha contém o valor zero;

• transforme esse número na base 3 para a base 10;

• escreva o número na base 3 e na base 10.

(Parte 2 de 2)

Comentários