Ir ao conteúdo
  • Cadastre-se

Whillis

Membro Júnior
  • Posts

    13
  • Cadastrado em

  • Última visita

Reputação

10
  1. desculpe o código muito grande, penso q se mostrar todo será melhor para seu entendimento Ola estou com uma duvida em meu programa que tem por objetivo pôr de 2 á 4 valores para tirar sua média, porém não sei como fazer para que o programa divida os valores colocados em cada Edit pela quantidade de valores ( se 2, 3 ou 4), por exemplo: edit1=15 , edit2=16, edit3=20 , edit4=' ' são três Edit's sendo usados, dessa forma somo apenas os três e divido pelo número 3, variando de acordo com os edit's usados. Agradeço qualquer ajuda. aqui uma das minhas tentativas: if (edit1.text='') and (edit2.text='') then begin end else begin Edit5.text:= FloatToStr((somac2)/4); end end;
  2. unit Unit1; {$mode delphi} interface uses Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls; { TForm1 } type TForm1 = class(TForm) Button1: TButton; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Edit4: TEdit; Edit5: TEdit; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; RadioButton1: TRadioButton; RadioButton2: TRadioButton; RadioButton3: TRadioButton; RadioButton4: TRadioButton; procedure Button1Click(Sender: TObject); procedure Edit5Change(Sender: TObject); procedure RadioButton1Change(Sender: TObject); private { private declarations } public { public declarations } end; var Form1: TForm1; implementation {$R *.lfm} { TForm1 } procedure TForm1.RadioButton1Change(Sender: TObject); begin end; procedure TForm1.Button1Click(Sender: TObject); var soma:real; vezes:real; begin //Média Aritmética Simples------------------------------------------------------ soma:=(strtofloat(edit1.text) + strtofloat(edit2.text) + strtofloat(edit3.text) + strtofloat(edit4.text)); If (radiobutton1.checked=true) then begin Edit5.text:=(soma)/4; end; //Média Geométrica ------------------------------------------------------------- vezes:=(strtofloat(edit1.text) * strtofloat(edit2.text) * strtofloat(edit3.text) * strtofloat(edit4.text)); If (radiobutton3.checked=true) then begin Edit5.text:='sqrt(vezes)'; end; end; procedure TForm1.Edit5Change(Sender: TObject); begin end; end. Não consigo por as contas da média dentro de variaveis para adicionar outras divisões/ raizes ou multiplicações. Estou com um erro pra pegar o resultado dessas médias simples e geométrica, esta dando um erro de (Error:Incompatible type for arg no. 1:Got "Real", expected "TTranslateString") e não sei com consertar o erro esta nessas linhas: procedure TForm1.Button1Click(Sender: TObject); var soma:real; vezes:real; begin //Média Aritmética Simples------------------------------------------------------ soma:=(strtofloat(edit1.text) + strtofloat(edit2.text) + strtofloat(edit3.text) + strtofloat(edit4.text)); If (radiobutton1.checked=true) then begin Edit5.text:=(soma)/4; end; //Média Geométrica ------------------------------------------------------------- vezes:=(strtofloat(edit1.text) * strtofloat(edit2.text) * strtofloat(edit3.text) * strtofloat(edit4.text)); If (radiobutton3.checked=true) then begin Edit5.text:='sqrt(vezes)'; end; end;
  3. program exercicio; uses CRT; var vetor: array[1..5] of integer; m, p : integer; menor: integer; begin writeln(''); writeln('---------------------------------------------------------'); writeln('Ex. Sistema composto (para e vetor)'); writeln('Digite 5 valores para coloca-los em ordem crescente') writeln('') for m:=1 to 5 do begin writeln('insira um valor na posição: ', m); read(vetor[m]); end; readln; for m:= 1 to 5 do begin for p:= 1 to 5 do begin if (vetor[p] > vetor[m]) then begin menor:= vetor[m]; vetor[m]:=vetor[p]; vetor[p]:=menor; end; readln; end; readln; end; readln; for m:=1 to 5 do begin write('(',vetor[m],')'); end; readln writeln(''); writeln('---------------------------------------------------------'); readkey; end. Agora funcionou! mt obrigado pela preocupação, ai está o código que eu usei
  4. @Simon Viegas Estou utilizando o lazarus IDE v1.6.4 pois foi o sugerido pelo meu professor de programação Eu salvei o documento porém n mudou em nada
  5. @Simon Viegas Este programa precisa criar um laço de repetição e então a partir de um vetor colocar os números digitados em ordem crescente, porém assim que inicializo e digito os números ele põe em ordem números que eu nem digitei, ou repete números que digito apenas uma vez Ex.: eu inicializo o programa, digito os números 1, 8, 9, 5 e 6 e então é posto como resultado os números (1)(5)(5)(0)(5) Eu arrumei o identifier " i " para " m " e " p ", porém o problema ainda vem acontecendo, e quando coloco apenas números menores que 5 o programa repete o "writeln ('insira um valor na posição:',m)" e não para até q eu digite um número maior que 5. usei o código que você mostrou: VAR vetor: array[1..4] of integer; m, p : integer; menor: integer; begin writeln(''); writeln('Ex. Sistema composto (para e vetor)'); for m:=1 to 5 do begin writeln('insira um valor na posição: ', m); read(vetor[m]); end; for m:= 1 to 5 do begin for p:= 1 to 5 do begin if (vetor[p] > vetor[m]) then begin menor:= vetor[m]; vetor[m]:=vetor[p]; vetor[p]:=menor; end; end; end; for m:=1 to 5 do begin write('(',vetor[m],')'); end; readln; readln; writeln(''); writeln('---------------------------------------------------------'); end. Com relação ao identifier, estou usando as letras [m] e [p], pois esse código é parte de outro onde já utilizei os identificadores [ i ] e [ j ]
  6. Muito obriagado, estava realmente com problemas nesse problema tão simples. adicionado 0 minutos depois Nossa muito obrigado, você pode me tirar muitas duvidas sobre pascal!
  7. program Exercicio; USES CRT; VAR vetor: array[1..4] of integer; m,p, menor : integer; begin writeln(''); writeln('Ex. Sistema composto (para e vetor)'); m:=1; for i:=1 to 5 do begin writeln('insira um valor na posição: ', m); read(vetor[m]); m:=m+1 end; for m:= 1 to 5 do begin for p:= 1 to 5 do begin if (vetor[p] > vetor[m]) then begin menor:= vetor[m]; vetor[m]:=vetor[p]; vetor[p]:=menor; end; end; end; for m:=1 to 5 do begin write('(',vetor[m],')'); end; end. Como está mostrado, preciso de um vetor com estrutura para, mas n consigo fazer este programa funcionar precisamente, agradeceria muito se alguém pudesse me ajudar. Agradeço desde ja.
  8. Olá estou fazendo um trabalho no lazarus e queria saber por que n está dando certo program Principal; USES CRT; VAR contmenu, opcao: integer; //Op. 2 ------------------------------------------------------------------------ n1, n2: integer; //Op. 3 ------------------------------------------------------------------------ num: integer; begin { DESENVOLVENDO MENU DE ACESSO} CONTMENU:=1; WHILE (CONTMENU = 1) DO BEGIN writeln ('MENU DE ENTRADA'); writeln (' 1 - Equipe'); writeln (' 2 - Sistema sequencial'); writeln (' 3 - Sistema de decisão'); writeln (' 4 - Sistema de repeticao (enquanto)'); writeln (' 5 - Sistema composto (decisão e enquanto)' ); writeln (' 6 - Sistema composto (enquanto e decisão)' ); writeln (' 7 - Sistema de repeticao (para)' ); writeln (' 8 - Sistema composto (para e se)' ); writeln (' 9 - Sistema composto (para e vetor)' ); writeln ('10 - Sistema composto (matriz)' ); writeln ('11 - Sair'); writeln ('0 - Menu de entrada'); write ('DIGITE O NUMERO DE OPCAO: '); read(OPCAO); //Opção 11 Sair ---------------------------------------------------------------- if (opcao = 11 ) then BEGIN contmenu:=0; end; //Opção 1 Equipe -------------------------------------------------------------- if (OPCAO = 1 ) then begin writeln (''); writeln ('1 - Equipe'); writeln ('ALUNO: Marcelo Rolim de Moura - Numero: 20'); writeln (''); end; //Opção 2 Sistema sequencial --------------------------------------------------- if (OPCAO = 2 ) then begin writeln(''); writeln('2 - Ex. Sistema sequencial'); writeln(''); writeln('Digite primeiro numero'); read(n1); writeln('Digite segundo numero'); read(n2); writeln('a soma de ',n1,'+',n2,' e igual a ',n1+n2); writeln(''); end; //Opção 3 Sistema de decisão -------- AQUI ESTÀ O ERRO vvvvv --------------------------------------------------- if (opcao = 3 ) then begin writeln(''); writeln('3 - Ex. Sistema de decisão'); writeln(''); writeln('digite um numero'); read(num); ///////////////////////////////////////////////////////////////// // o erro esta no else, mas n sei consertar --------------------- if (num > 0) then begin writeln(num,' e um número positivo'); else writeln(num,'e um número negativo'); end; //---------------------------------------------------------------- ////////////////////////////////////////////////////////////////// contmenu:=0; end; end; end; readkey; end. Na opção 3 tem um erro com o 'else' e n consigo encontrar como consertar isso Agradeço desde ja.
  9. Oh obrigado mesmo n sei como q n enxerguei um problema tão simples
  10. Olá, estou fazendo um trabalho de linguagem de programação no visualg e precisava saber como se faz a média de um vetor (que no caso seria o VetorB). Estou com problemas nessa última estrutura "para" : Var vetorA: vetor [1..10] de inteiro VetorB: vetor [1..10] de inteiro i:inteiro num:inteiro media:real result:real Inicio i<-1 Para i de 1 ate 10 faca Leia(num) vetorA [i]<-num i<-i+1 Fimpara escreval("") escreval("calculando o dobro...") escreval("") para i de 1 ate 10 faca timer (50) VetorB[i] <- VetorA[i] * 2 escreva(VetorB[i]) fimpara para i de 1 ate 10 faca media <- VetorB[i] + VetorB[i] result <- media/10 fimpara Fimalgoritmo agradeço desde ja

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...