Aplicação em cima de uma estrutura de repetição
Olá !
Gostaria que se possível me ajudassem com esta questão ;
Digitar “N” valores quaisquer. O valor “N” (que representa a quantidade de números) será digitado, deverá ser positivo, mas menor que vinte. Caso a quantidade não satisfaça a restrição, enviar mensagem de erro e solicitar o valor novamente. Após a digitação dos “N” valores, exibir:
a) O maior valor;
b) O menor valor;
c) A soma dos valores;
d) A média aritmética dos valores;
e) A porcentagem de valores que são positivos;
f) A porcentagem de valores negativos;
Tentei proceder a aplicação,mas sem sucesso, se alguém puder me ajudar, com o código para que possa me basear e auxiliar ou se baseando em cima do código que fiz ;
http://www.4shared.com/rar/2V9qHBkNce/Aplicao_11.html?
Tudo foi efetuado no DELPHI 2010 em modo FORMULÁRIO.
Gostaria que se possível me ajudassem com esta questão ;
Digitar “N” valores quaisquer. O valor “N” (que representa a quantidade de números) será digitado, deverá ser positivo, mas menor que vinte. Caso a quantidade não satisfaça a restrição, enviar mensagem de erro e solicitar o valor novamente. Após a digitação dos “N” valores, exibir:
a) O maior valor;
b) O menor valor;
c) A soma dos valores;
d) A média aritmética dos valores;
e) A porcentagem de valores que são positivos;
f) A porcentagem de valores negativos;
Tentei proceder a aplicação,mas sem sucesso, se alguém puder me ajudar, com o código para que possa me basear e auxiliar ou se baseando em cima do código que fiz ;
http://www.4shared.com/rar/2V9qHBkNce/Aplicao_11.html?
Tudo foi efetuado no DELPHI 2010 em modo FORMULÁRIO.
André Moutinho
Curtidas 0
Respostas
Thiago Santana
18/03/2015
Qual foi o problema encontrado?
Poste a parte do código que você está com problemas
Poste a parte do código que você está com problemas
GOSTEI 0
André Moutinho
18/03/2015
Então, fiz esse exercício em C# no visual studio em modo Console Application e tenho um esboço dessa aplicação em Pascal, porém, eu não estou conseguindo transpor ela, pro Delphi 2010 orientado a objeto.
#Código que tenho em PASCAL
{$APPTYPE CONSOLE}
uses
SysUtils;
Var
i, N, numero, maior, menor, soma : Integer;
quantidade_positivo, quantidade_negativo : Integer;
media, porcentagem_positivo, porcentagem_negativo : double;
begin
soma := 0;
quantidade_positivo := 0;
quantidade_negativo := 0;
Writeln('Digite um valor entre 1 e 20');
Readln(N);
While (N > 20) or (N <= 0) do
begin
Writeln('Valor fora dos limites, >0 e <=20');
Writeln('Digite um valor entre 1 e 20');
Readln(N);
end;
for i := 1 to N do
begin
Writeln('Digite o ' + IntToStr(i) + 'o Valor :');
Readln(numero);
Soma := soma + numero;
if i = 1 then
begin
maior := numero;
menor := numero;
if numero < 0 then quantidade_negativo := quantidade_negativo + 1;
if numero > 0 then quantidade_positivo := quantidade_positivo + 1;
end
else
begin
if numero > maior then maior := numero;
if numero < menor then menor := numero;
if numero < 0 then quantidade_negativo := quantidade_negativo + 1;
if numero > 0 then quantidade_positivo := quantidade_positivo + 1;
end;
end;
Writeln('O maior numero e = ' + IntToStr(maior));
Writeln('O menor numero e = ' + IntToStr(menor));
Writeln('A soma e = ' + IntToStr(soma));
Writeln('A media aritmetica e = ' + FloatToStr((soma / N)));
Writeln('A % de positivos e = ' + FloatToStr(((quantidade_positivo / N)*100)));
Writeln('A % de negativos e = ' + FloatToStr(((quantidade_negativo / N)*100)));
Readln;
end.
#Código que fiz em Console Application no C#
int n = -1, i, s = 0, ma = 0, me = 0, m, v;
double po = 0, ne = 0, poc, nec;
while (n <= 0 | n > 20)
{
Console.Write("Quantidade de digitos?: ");
n = int.Parse(Console.ReadLine());
if (n <= 0 | n > 20)
{
Console.WriteLine("A quantidade deve ser positiva e menor que 20");
Console.Write("Digite novamente um numero...");
Console.ReadKey();
Console.Clear();
}
}
Console.WriteLine("");
for (i = 1; i <= n; i++)
{
Console.Write("° valor: ",i);
v = int.Parse(Console.ReadLine());
s = s + v;
if (v > ma)
{
ma = v;
}
else
{
if (v < me)
{
me = v;
}
}
if (v>0)
{
po = po + 1;
}
else
{
ne = ne + 1;
}
}
m = s / n;
poc = po/n*100;
nec = ne/n*100;
Console.Write("\nMaior Valor = \nMenor Valor = \nSoma = \nMédia = \nPorcentagem de Valores positivos = %\nPorcentagem de Valores negativos = %",ma,me,s,m,poc,nec);
Console.ReadKey();
}
}
}
Tem alguma forma de transpor esse código no DELPHI orientado a objeto ?
Eu não estou conseguindo, já fiz uma serie de aplicações, mas nada voltado ao tipo dessa para me basear.
#Código que tenho em PASCAL
{$APPTYPE CONSOLE}
uses
SysUtils;
Var
i, N, numero, maior, menor, soma : Integer;
quantidade_positivo, quantidade_negativo : Integer;
media, porcentagem_positivo, porcentagem_negativo : double;
begin
soma := 0;
quantidade_positivo := 0;
quantidade_negativo := 0;
Writeln('Digite um valor entre 1 e 20');
Readln(N);
While (N > 20) or (N <= 0) do
begin
Writeln('Valor fora dos limites, >0 e <=20');
Writeln('Digite um valor entre 1 e 20');
Readln(N);
end;
for i := 1 to N do
begin
Writeln('Digite o ' + IntToStr(i) + 'o Valor :');
Readln(numero);
Soma := soma + numero;
if i = 1 then
begin
maior := numero;
menor := numero;
if numero < 0 then quantidade_negativo := quantidade_negativo + 1;
if numero > 0 then quantidade_positivo := quantidade_positivo + 1;
end
else
begin
if numero > maior then maior := numero;
if numero < menor then menor := numero;
if numero < 0 then quantidade_negativo := quantidade_negativo + 1;
if numero > 0 then quantidade_positivo := quantidade_positivo + 1;
end;
end;
Writeln('O maior numero e = ' + IntToStr(maior));
Writeln('O menor numero e = ' + IntToStr(menor));
Writeln('A soma e = ' + IntToStr(soma));
Writeln('A media aritmetica e = ' + FloatToStr((soma / N)));
Writeln('A % de positivos e = ' + FloatToStr(((quantidade_positivo / N)*100)));
Writeln('A % de negativos e = ' + FloatToStr(((quantidade_negativo / N)*100)));
Readln;
end.
#Código que fiz em Console Application no C#
int n = -1, i, s = 0, ma = 0, me = 0, m, v;
double po = 0, ne = 0, poc, nec;
while (n <= 0 | n > 20)
{
Console.Write("Quantidade de digitos?: ");
n = int.Parse(Console.ReadLine());
if (n <= 0 | n > 20)
{
Console.WriteLine("A quantidade deve ser positiva e menor que 20");
Console.Write("Digite novamente um numero...");
Console.ReadKey();
Console.Clear();
}
}
Console.WriteLine("");
for (i = 1; i <= n; i++)
{
Console.Write("° valor: ",i);
v = int.Parse(Console.ReadLine());
s = s + v;
if (v > ma)
{
ma = v;
}
else
{
if (v < me)
{
me = v;
}
}
if (v>0)
{
po = po + 1;
}
else
{
ne = ne + 1;
}
}
m = s / n;
poc = po/n*100;
nec = ne/n*100;
Console.Write("\nMaior Valor = \nMenor Valor = \nSoma = \nMédia = \nPorcentagem de Valores positivos = %\nPorcentagem de Valores negativos = %",ma,me,s,m,poc,nec);
Console.ReadKey();
}
}
}
Tem alguma forma de transpor esse código no DELPHI orientado a objeto ?
Eu não estou conseguindo, já fiz uma serie de aplicações, mas nada voltado ao tipo dessa para me basear.
GOSTEI 0
Thiago Santana
18/03/2015
Em Delphi orientado a objeto não acho interessante pois o delphi é orientado a eventos, mas dá pra fazer sim!
Tú já começou a migrar o código? Em que ponto não conseguiu prosseguir?
Tú já começou a migrar o código? Em que ponto não conseguiu prosseguir?
GOSTEI 0