P07. Comandos de Repetição 2 - DECOM-UFOP

Propaganda
Programação de Computadores I
UFOP
DECOM
2014–1
Aula prática 7
Comandos de repetição — while
Resumo
Nesta aula você desenvolverá algumas aplicações para treinar o uso do comando for.
Sumário
1
Resolvendo problemas
1
1 Resolvendo problemas
Tarefa 1: Cálculo da média geométrica
A média geométrica de um conjunto de n números x 1 , . . . , x n é definida como a raiz
n-ésima do produto dos números.
M=
√
n
x1 x2 x3 . . . x n
Escreva um programa que leia a quantidade de números do conjunto e em seguida
leia cada um dos números e calcula e exibe a média geométrica dos números.
Exemplo de execução da aplicação
Cálculo da média geométrica
----------------------------------quantidade de números: 7
digite o próximo número: 5
digite o próximo número: 6
digite o próximo número: 2
digite o próximo número: 88
digite o próximo número: 1
digite o próximo número: 36
digite o próximo número: 5
média geométrica: 7.14474
Solução:
1
clc; clear;
printf("Cálculo da média geométrica\n");
printf("-----------------------------------\n");
n = input("quantidade de números: ");
produto = 1;
for i = 1:n
x = input("digite o próximo número: ");
produto = produto * x;
end
m = produto ^ (1/n);
printf("\nmédia geométrica: %g\n", m);
2
Tarefa 2: Valor aproximado de π
O valor de π pode ser aproximado pela seguinte série:
π
1
1
1
=
+
+
+···
8 1 × 3 5 × 7 9 × 11
Escreva um programa que leia um valor n ≥ 1 e calcule um valor aproximado para π
usando n termos da série acima.
Exemplo de execução da aplicação
Cálculo do valor aproximado de pi
----------------------------------quantidade de iterações: 100
pi = 3.136592684839
Solução:
clc; clear;
printf("Cálculo do valor aproximado de pi\n");
printf("-----------------------------------\n");
n = input("quantidade de iterações: ");
soma = 0;
x = 1
for i = 1:n
soma = soma + 1 / (x * (x+2));
x = x + 4;
end
piaprox = 8*soma;
printf("\npi = %.12f\n", piaprox);
3
Tarefa 3: Tabela de função
A função y (t) é definida por:
(
−3t 2 + 5, se t ≥ 0
y (t) =
3t 2 + 5, se t < 0
Escreva um programa Scilab que gera uma tabela da função no intervalo [−9 − −9],
com incrementos de 0,5, como mostsrado no exemplo de execução.
Exemplo de execução da aplicação
Tabela da função dada
===============================
t
y(t)
===============================
-9.0 248.0000
-8.5 221.7500
-8.0 197.0000
-7.5 173.7500
-7.0 152.0000
-6.5 131.7500
-6.0 113.0000
-5.5
95.7500
-5.0
80.0000
-4.5
65.7500
-4.0
53.0000
-3.5
41.7500
-3.0
32.0000
-2.5
23.7500
-2.0
17.0000
-1.5
11.7500
-1.0
8.0000
-0.5
5.7500
0.0
5.0000
0.5
4.2500
1.0
2.0000
1.5
-1.7500
2.0
-7.0000
2.5 -13.7500
3.0 -22.0000
3.5 -31.7500
4.0 -43.0000
4.5 -55.7500
5.0 -70.0000
5.5 -85.7500
6.0 -103.0000
6.5 -121.7500
7.0 -142.0000
7.5 -163.7500
8.0 -187.0000
8.5 -211.7500
9.0 -238.0000
Solução:
4
clc;
clear;
printf("Tabela da função dada\n")
printf("===============================\n");
printf("t
y(t)\n");
printf("===============================\n");
for t = -9 : 0.5 : 9 do
if t < 0 then
y = 3*t^2 + 5
else
y = -3*t^2 + 5
end
printf("%4.1f %9.4f\n", t, y)
end
5
Download