Ir para conteúdo
Fórum Script Brasil
  • 0

Ajuda...


dhyeggo

Pergunta

sou novo em delphi e preciso fazer esses dois programinha para eu entregar onde eu estudo...

só que tentei fazer e não consigo... sei que é pouca coisa.. mais eu não entendo nada de delphi... alguém poderia me ajudar...

grato...

01 - programa em delphi que peça as quatros notas de 10 alunos calcule e armazene num vetor a media de cada aluno, imprima o numero de alunos com media maior ou igual a 7,0

02 programa em delphi que peça um numero inteiro e dertermine se ele é ou não um numero primo. caso o numero não seja primo, por quais numeros ele é divisivel

valeu ai...

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

sou novo em delphi e preciso fazer esses dois programinha para eu entregar onde eu estudo...

só que tentei fazer e não consigo... sei que é pouca coisa.. mais eu não entendo nada de delphi... alguém poderia me ajudar...

grato...

Não dá para fazer o programinha por você, mas vamos ver ser com algumas sugestões você consegue pelo menos iniciar. Depois vai tirando dúvidas.

01 - programa em delphi que peça as quatros notas de 10 alunos calcule e armazene num vetor a media de cada aluno, imprima o numero de alunos com media maior ou igual a 7,0
Não sei se será o modo mais simples, mas acho que seria mais ou menos assim:

1) num form, que seria o principal, você declara uma matriz aluno x nota para armazenar a informação. Para isto você cria um record(registro) que aramazena os dados de um aluno e, a seguir, declara uma variável que é um vetor de 10 posições onde em cada posição será armazenado este registro. Algo como:

type
  RegNotas = record
    Nome :string;
    Nota1,
    Nota2,
    Nota3,
    Nota4 :Single;
  end;

var
  MatrizAlunos :array[1..10] of RegNotas;
  VetorMedias :array[1..10] of single;
  PosicaoMatriz :Integer;
Neste form você poderia adicionar um botão para que as notas sejam informadas. E ao acionar este botão você mostra um segundo form. 2) num segundo form, que seria uma tela de entrada, você adicionaria o seguinte: -> um Edit para receber o nome do aluno; -> quatro Edits, um para cada uma das notas necessárias; -> um label para indicar o nº sequencia do aluno a cada vez que você o inclui; -> um botão para adicionar a informação a sua matriz (alunos x notas). no evento OnClick do botão, você move os valores digitados para a respectiva posição na matriz:
procedure TForm2.btAddAlunoClick(Sender :TObject);
begin
  with MatrizAlunos[PosicaoMatriz] do
  begin
    Nome := edNome.Text;
    Nota1 := StrToFloat(edNota1.Text);
    Nota2 := StrToFloat(edNota1.Text);
    Nota3 := StrToFloat(edNota1.Text);
    Nota4 := StrToFloat(edNota1.Text);
  end;
  Inc(PosicaoMatriz);  // avança uma posição na matriz
  btAddAluno.Enabled := PosicaoMatriz <= 10;  // habilita o botão apenas se ainda não informou os 10
  // limpa os campos, viabilizando nova inclusão
  edNome.Text := '';
  edNota1.Text := '';
  edNota2.Text := '';
  edNota3.Text := '';
  edNota4.Text := '';
end;
No form principal, você vai precisar ter um procedimento para inicialização da matriz. Este procedimento pode ser declarado dentro da sessão Private do seu form. O código para este procedimento seria mais ou menso assim:
procedure TForm1.InicializaMatriz;
begin
  FillChar(MatrizAlunos, 0, SizeOf(MatrizAlunos)); // limpa a matriz
  FillChar(VetorMedias, 0, SizeOf(VetorMedias)); // limpa a vetor
  PosicaoMatriz := 1; // inicializa na primeira posição da matriz
end;
depois no evento OnClick do botão(btEntradaNotas) que aciona o segundo form(o de entrada) você chama este procedimento antes de mostrar o form:
procedure TForm1.btEntradaNotasClick(Sender :TObject);
var
  Indice :Integer;
begin
  InicializaMatriz;
  if Form2.ShowModal = mrOk then
  begin
    for Indice := 1 to 10 do
    begin
      // cálculo da média
      VetorMedias[Indice] := (MatrizAlunos[Indice].Nota1 +
                              MatrizAlunos[Indice].Nota2 +
                              MatrizAlunos[Indice].Nota3 +
                              MatrizAlunos[Indice].Nota4) /4;
    end;
    // aqui segue com procedimentos após concluído o preenchimento da matriz
  end;
end;
Fica a dúvida se este "imprima o número de alunos..." é realente para a impressora. É apenas uma prototipação. Falta a validação dos edits referentes às notas; Falta gerenciar a questão do cancelamento das inclusões (utilizar um botão para este fim, retornando mrCancel) e mais alguns detalhes que aparecem ao gosto do freguês.
02 programa em delphi que peça um numero inteiro e dertermine se ele é ou não um numero primo. caso o numero não seja primo, por quais numeros ele é divisivel
A entrada de dados é parecida com a que será feita no programinha anterior. A função para testar se o número é primo eu peguei deste link:
function NumeroPrimo(Numero: Cardinal): Boolean;
var
  Cont: Cardinal;
begin
  if Numero>1 then
  begin
    Result:=True;
    Cont:=2;
    while Result and (Cont<Numero) do
      if (Numero mod Cont)=0 then
        Result:=False
      else
        Inc(Cont);
  end else
    Result:=False;
 end;

Acho que você já tem o bastante para começar. Tente avançar, havendo dúvidas questione, talvez mais alguém possa lhe ajudar.

[]s

Link para o comentário
Compartilhar em outros sites

  • 0

Opa Micheus..

Me espressei mal... não queria que alguém fizesse os programas para mim... queria algum tipo de ajuda por exemplo.. vai que alguém já tinha feito algo parecido, ou até mesmo me auxiliar no codigo...

estou tentando fazer...

vou utilizar o que voce me passou para ver se consigo terminar...

valeu brigadao...

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...