Fórum Tabuada do 1 ao 20, intervalo 1 a 10. #513378
11/03/2015
0
Gostaria que me ajudassem, estou tentando fazer esta Tabuada do 1 ao 20, com intervalo de 1 a 10, no Delphi usando o form, só que não estou conseguindo fazer, abaixo segue o que eu fiz, de qualquer forma, da maneira que procedi, sei que está errada, pois o certo seria, ao entrar na aplicação, ele já me apresenta-se a tabuada do 1 e ao apertar "enter" as outras tabuadas iam surgindo, alguém pode me ajudar ?
(fiz uma para inserir o valor, com esse mesmo intervalo, só que dessa vez, não era bem isso que eu queria, alguém pode ajudar ? )
Segue o que fiz ;
var
i, n, key, r:integer;
i1, n1, r1:string;
Begin
ListBox1.Items.Clear;
n:=strtoint(Edit1.Text);
i:=1;
while (i <=10) and (n<=10) do
begin
r:=n*i;
str(i:2,i1);
str(n:2,n1);
str(r:3,r1);
ListBox1.Items.Add(n1+' x '+i1+' = '+r1);
i:=i+1;
end;
if (n >=10) then
begin
ShowMessage('Aperte "Enter" para continuar')
end;
if (key = VK_F5) then
begin
r:=n*i;
str(i:2,i1);
str(n:2,n1);
str(r:3,r1);
ListBox1.Items.Add(n1+' x '+i1+' = '+r1);
i:=i+1;
end;
end;
end.
André Moutinho
Curtir tópico
+ 0Post mais votado
11/03/2015
coloque o código abaixo no evento 'onpaint' do formulário principal e veja se é isso o desejado.
procedure TForm1.FormPaint(Sender: TObject);
var
contador, numero, resultado : integer;
begin
for contador := 1 to 20 do
begin
for numero := 1 to 10 do
begin
resultado := contador * numero;
ListBox1.Items.Add(IntToStr(numero) + ' X ' + IntToStr(contador) + ' = ' + IntToStr(resultado));
end;
ShowMessage('Aperte Enter para continuar');
end;
end;
Marcos Saffran
Gostei + 1
Mais Posts
12/03/2015
André Moutinho
coloque o código abaixo no evento 'onpaint' do formulário principal e veja se é isso o desejado.
procedure TForm1.FormPaint(Sender: TObject);
var
contador, numero, resultado : integer;
begin
for contador := 1 to 20 do
begin
for numero := 1 to 10 do
begin
resultado := contador * numero;
ListBox1.Items.Add(IntToStr(numero) + ' X ' + IntToStr(contador) + ' = ' + IntToStr(resultado));
end;
ShowMessage('Aperte Enter para continuar');
end;
end;
Caro Marcos Alfredo ,
Desde já quero agradecer ao auxílio que me foi dado diante desta questão, refiz totalmente a aplicação e acrescentei a ela, ou melhor, ao evento "OnPaint" , o código que você informou e a aplicação correu da maneira que pensava, fiz alguns ajustes após acrescenta-lo como pular a linha, acrescentei também um MessageBox, solicitando ao usuário se quer ou não para a exibição de tabuadas, enfim, agradeço muito, e já te incomodo mais um pouco, para ver se consegue me auxiliar neste aqui ;
Entrar via teclado com “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;
Como posso proceder na resolução deste, pois estou confuso, teria como me ajudar ?
Agradeço e desculpa o incomodo.
Gostei + 0
12/03/2015
Marcos Saffran
program Project1;
{$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.Gostei + 0
12/03/2015
André Moutinho
program Project1;
{$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.Então, eu fiz em C# Sharp no Console Application já esta aplicação, mas como você bem deve saber, a sintaxe de uma para a outra sofre certas alterações e são nelas que acabo me barrando e não conseguindo transpor o código de C# ao Delphi, talvez justamente, porque a orientação a objeto te faz pensar de forma diferente, pois para mim, o Console de Application e a parte até do C# Windows Form é mais fácil, anda como você já notou ando apanhando para me acostumar e aprender Delphi, bom, em cima do que você passou, me baseando, fiz um código porém está péssimo KKKKKKKKK , se possível dê uma olhada e veja o que pode-se arrumar, detalhe, quero apenas trabalhar com 3 variáveis, ou seja, 3 caixas de texto, solicitando para que seja digitado os valores, tem como você ver pra mim ?
(Caso você faça o download e veja o que eu fiz, ignore as Label's que criei, pois acabei repensando e passando as informações para o ShowMessage)
Se puder me auxiliar mais uma vez, agradeço :D
Segue o link da aplicação para download;
http://www.4shared.com/rar/2V9qHBkNce/Aplicao_11.html?
Gostei + 0
13/03/2015
Marcos Saffran
Para usar o meu código, vá em File -> New -> Other, na janela que abre, escolha a aba New e escolha o console application.
Depois vou verificar o seu programa para poder adaptá-lo.
Gostei + 0
13/03/2015
André Moutinho
Para usar o meu código, vá em File -> New -> Other, na janela que abre, escolha a aba New e escolha o console application.
Depois vou verificar o seu programa para poder adaptá-lo.
Então o que eu queria era que você se possível me ajudasse nesse, como me auxiliou no outro, pois em console application C# , essa aplicação eu fiz, só que não tive sucesso em repassa-lo para o delphi orientado a objeto.
Se puder me auxiliar neste, como conseguiu no primeiro te agradecerei.
Aguardo resposta.
Abraço.
Gostei + 0
13/03/2015
Marcos Saffran
Qual a versão do delphi que você está usando e pode usar o pascal?
Em C# não poderei ajudar.
Gostei + 0
14/03/2015
André Moutinho
Qual a versão do delphi que você está usando e pode usar o pascal?
Em C# não poderei ajudar.
Não.....eeu só citei o c# pra dizer que fiz no console de application, o auxilio que te peço é no delphi 7 msm ou a versao RAD que vc tiver disponivel , nao to conseguindo interpretar aqele cod q vc passo pro delphi eu ate tentei e te mandei o download mas deve estar td errado.
Se tu pudesse fzr naqele estilo da primeira duvida mnh seria uma mao na roda pq consegii me basear bem naqele e fazer.....se puder fzr dest forma nesse te agradeço .
Nao uso pascal.....uso o delphi 7 ou o rad 2010 q tnho orientado a objeto por isso n to conseguindo de forma resolutiva passar o cod qe vc mandou pro delphi.
Se puder transpor este da mesma forma que o primeiro acho q conseguirei me basear .
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)