Pular para o conteúdo principal

Postagem em destaque

BlackTDN :: LeetCode 23: Mesclando K Listas Ordenadas com Harbour/xBase e Reutilização de Código

_Créditos das imagens: ChatGPT **Título:** LeetCode 23: Mesclando K Listas Ordenadas com Harbour/xBase e Reutilização de Código **Introdução** Olá, entusiastas de Harbour/xBase e desafios de programação! Depois de explorarmos como mesclar duas listas ordenadas no [nosso post sobre o LeetCode 21](https://www.blacktdn.com.br/2025/03/blacktdn-leetcode-21-merge-two-sorted.html), vamos dar um passo adiante e enfrentar um problema um pouco mais complexo: o LeetCode 23 - Merge K Sorted Lists. Neste artigo, vamos desvendar uma implementação em Harbour/xBase para este desafio, demonstrando como podemos inteligentemente reutilizar a solução que já construímos para o problema 21. Veremos como a modularidade e a construção sobre soluções anteriores podem simplificar problemas mais complexos. **O Problema: LeetCode 23 - Merge K Sorted Lists** O desafio é o seguinte: dado um array (`aLists` em nossa implementação) contendo `k` listas encadeadas, onde cada lista já está ordenada em ordem cres...

Protheus :: Programação Básica em Advpl “Combo VI”

Variáveis:

No Advpl, as regras para a nomeação de identificadores são parecidas com as das linguagens típicas de computadores. A nomeação poderá ser iniciada com uma letra ou um caractere de sublinhado e poderão conter letras, sublinhados e dígitos. Para manter compatibilidade com o “legado” foi mantida a limitação de dez primeiros caracteres como significativos. Por isso, deve-se ter muito cuidado com nomes extensos. Se for utilizar nomes extensos lembre-se que atualmente apenas os dez primeiros caracteres serão considerados mas, se declarar uma variável com nome extenso, utilize-a da forma como foi declarada para que, se um dia a limitação de dez caracteres foi modificada, não seja necessário estar modificando os programas.

A restrição em dez caracteres pode ser fonte de defeitos ardilosos. Por exemplo, as seguintes variáveis:

cSNome_do_Pai
cSNome_do_Avo

Serão consideradas idênticas. A truncagem dos identificadores longos é conseqüência do tamanho fixo dos nomes nas tabelas mantidas pelo compilador e pelo pré-processador, portanto os nomes completos dos identificadores são passados sem alteração para o pré-processador. Tenha cuidado, esse tipo de erro é muito difícil de se depurar.

O estilo de codificação recomendada é usar letras maúsculas para destacar partes significativas de um identificador ao inves de usar sublinhados para serpará-las. Dessa forma será possível criar identificadores menores, sem afetar a legibilidade. Como em:

cSNomeDoPai
cSNomeDoAvo

Apesar dos identificadores acima terem mais de dez caracteres, os 10 mais significativos não são conflitantes. O primeiro será considerado como cSNomeDoPa e o segundo como cSNomeDoAv

Lembre-se: Somente os dez primeiros caracteres do nome de uma variável são significativos.

Uma variável tem os seguintes atributos:

Tipo
Tamanho
Duração
Visibilidade

Comentários

Postagens mais visitadas