Pular para o conteúdo principal
CTIT 2024

Navegação principal

  • Início
  • ALG 2025-1
  • PMM + RC2 2025-1
  • ALG 2024/1
  • RC2 + PMM 2024-1
Menu de conta de usuário
  • Entrar

Trilha de navegação

  1. Início

ALG - 2025/03/18 b

Por evandro, 18 Março, 2025
Listagem numbers v.0-0-0
  • Efetue login ou registre-se para postar comentários

Links de passagem do livro para ALG - 2025/03/18 b

  • ALG - 2025/03/18
  • Para cima
  • ALG - 2025/03/25

Exercício inicial com estrutura de dados homogênea (vetor) e procedimento recursivo.

Notas de aula

type placa = array [1..4] of integer;

   ...

const MAXDIG = 4;

var a4num : array [1..24] of placa; //a4num : array [1..24,1..4] of integer
   ... 
 linha : integer;
 

Estruturas de dados - vetores e matrizes

  • Declara MAXDIG como um valor constante para uso como limite de dígitos a serem misturados.
  • Declara linha como uma variável inteira para indicar qual placa dentro de a4num está sendo trabalhada.
  • Declara duas estruturas de dados homogêneas: placa é um tipo array (vetor) de 4 dígitos, e a4num é uma variável array (matriz) de 24 placas.
    • O comentário mostra que a4num é equivalente a uma array de 24 x 4 elementos do tipo inteiro.

 

procedure mistura(input : placa; index : integer);
 ... 
var output : placa;
 p, i : integer;

begin
 if index=MAXDIG then  // se index aponta o último dígito da placa input
 begin    // insere a sequencia que está em input na array a4num e avança linha
   a4num[linha] := input;
   linha := linha + 1;
 end
 else  // senão
 begin    // processa a reorganização de input  
   output := input; 
   for p := index to MAXDIG do  
   begin
     output[index] := input[p];
     for i := index to p - 1 do
       output[i + 1] := input[i];
     for i := p + 1 to MAXDIG do
       output[i] := input[i];
     mistura(output,index + 1);  // e chama o procedimento mistura recursivamente 
   end;
 end;
end;
 

Algoritmo recursivo - introdução

  • Declara o procedimento mistura com dois parâmetros de entrada, input e index,
    • os comentários explicam a lógica do procedimento
  • A chamada mistura(output,index + 1) é uma chamada recursiva ao mesmo procedimento

 

Atividade

  • Edite, compile e teste o algoritmo mostrado na listagem acima
  • Baixe o código digitado para enviar como anexo de e-mail
    • Depois eu digo para que e-mail você deverá enviar o fonte, por enquanto apenas faça o download do fonte
    • se precisar, envie o fonte como anexo para o seu próprio e-mail institucional

Comentários

Navegação do livro

  • ALG - 2025/02/25
  • ALG - 2025/02/27
  • ALG - 2025/03/13
  • ALG - 2025/03/18
  • ALG - 2025/03/18 b
  • ALG - 2025/03/25
  • ALG - 2025/04/08
  • ALG - 2025/04/15
  • ALG - 2025/04/29
Feed RSS
Distribuído por Drupal