Ajuda com algoritmo em Pascal

1. Ajuda com algoritmo em Pascal

jokil kolpo
comp

(usa Outra)

Enviado em 01/04/2024 - 15:27h

Preciso de um algoritmo em linguagem Pascal, que utilize function e procedure para média, soma, maior e menor valor de um array [1..10] de real. Se possível mostrar a posição e quantas vezes aparece o mesmo número digitado.


  


2. Re: Ajuda com algoritmo em Pascal

Alexa Bolada
alexabolada

(usa Debian)

Enviado em 01/04/2024 - 15:27h

Para resolver esse problema em Pascal, você pode fazer uso de uma função para calcular a média, a soma, o maior e o menor valor de um array de 10 elementos e também mostrar a posição e a quantidade de vezes que um número específico aparece. Veja um exemplo de como você pode implementar isso:

[code]
program CalculoArray;

var
arrayNum: array [1..10] of real;

procedure preencherArray();
var
i: integer;

begin
for i := 1 to 10 do
begin
write('Digite o valor da posição ', i, ': ');
readln(arrayNum[i]);
end;
end;

function calcularMaior(): real;
var
i: integer;
maior: real;

begin
maior := arrayNum[1];
for i := 2 to 10 do
begin
if arrayNum[i] > maior then
maior := arrayNum[i];
end;

calcularMaior := maior;
end;

function calcularMenor(): real;
var
i: integer;
menor: real;

begin
menor := arrayNum[1];
for i := 2 to 10 do
begin
if arrayNum[i] < menor then
menor := arrayNum[i];
end;

calcularMenor := menor;
end;

function calcularMedia(): real;
var
i


3. Re: Ajuda com algoritmo em Pascal

Daniel Lara Souza
danniel-lara

(usa Fedora)

Enviado em 01/04/2024 - 16:11h


talvez ajude




program CalculoArray;

const
  TAMANHO_ARRAY = 10;

type
  TArray = array[1..TAMANHO_ARRAY] of real;

var
  numeros: TArray;

procedure LerNumeros(var numeros: TArray);
var
  i: integer;
begin
  writeln('Digite os ', TAMANHO_ARRAY, ' números do array:');
  for i := 1 to TAMANHO_ARRAY do
  begin
    write('Número ', i, ': ');
    readln(numeros[i]);
  end;
end;

function Media(const numeros: TArray): real;
var
  i: integer;
  soma: real;
begin
  soma := 0;
  for i := 1 to TAMANHO_ARRAY do
    soma := soma + numeros[i];
  Media := soma / TAMANHO_ARRAY;
end;

function Soma(const numeros: TArray): real;
var
  i: integer;
begin
  Soma := 0;
  for i := 1 to TAMANHO_ARRAY do
    Soma := Soma + numeros[i];
end;

function MaiorValor(const numeros: TArray): real;
var
  i: integer;
begin
  MaiorValor := numeros[1];
  for i := 2 to TAMANHO_ARRAY do
    if numeros[i] > MaiorValor then
      MaiorValor := numeros[i];
end;

function MenorValor(const numeros: TArray): real;
var
  i: integer;
begin
  MenorValor := numeros[1];
  for i := 2 to TAMANHO_ARRAY do
    if numeros[i] < MenorValor then
      MenorValor := numeros[i];
end;

procedure PosicaoEQuantidade(const numeros: TArray; const valor: real; var posicao: integer; var quantidade: integer);
var
  i: integer;
begin
  quantidade := 0;
  for i := 1 to TAMANHO_ARRAY do
  begin
    if numeros[i] = valor then
    begin
      quantidade := quantidade + 1;
      posicao := i;
    end;
  end;
end;

var
  mediaNum, somaNum, maiorNum, menorNum: real;
  num: real;
  posicaoNum, quantidadeNum: integer;

begin
  LerNumeros(numeros);
  mediaNum := Media(numeros);
  somaNum := Soma(numeros);
  maiorNum := MaiorValor(numeros);
  menorNum := MenorValor(numeros);

  writeln('Média: ', mediaNum:0:2);
  writeln('Soma: ', somaNum:0:2);
  writeln('Maior valor: ', maiorNum:0:2);
  writeln('Menor valor: ', menorNum:0:2);

  write('Digite um número para encontrar a posição e quantidade de ocorrências: ');
  readln(num);
  PosicaoEQuantidade(numeros, num, posicaoNum, quantidadeNum);
  if quantidadeNum > 0 then
    writeln('O número ', num:0:2, ' aparece na posição ', posicaoNum, ' e ocorre ', quantidadeNum, ' vez(es).')
  else
    writeln('O número ', num:0:2, ' não foi encontrado no array.');

  readln;
end.


 







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts