Pular para o conteúdo principal

Postagem em destaque

BlackTDN :: LeetCode :: Zigzag Conversion: Implementando Soluções em xBase (Harbour) e TL++

_Créditos das imagens: ChatGPT_ ### LeetCode :: Zigzag Conversion: Implementando Soluções em xBase (Harbour) e TL++ A ["Zigzag Conversion"](https://leetcode.com/problems/zigzag-conversion/description/) é um problema popular do LeetCode que desafia desenvolvedores a transformar uma string em um padrão zigzag com base no número de linhas especificado, para então reconstruir a string seguindo a leitura linha a linha do padrão. Aqui, apresento soluções desenvolvidas em Harbour (XBase) e TL++ com melhorias e detalhes adicionais. --- ### **O Problema** Dado uma string e um número de linhas, distribua os caracteres em um padrão zigzag. Leia as linhas do padrão sequencialmente para obter o resultado: Exemplo: **Input:** String: "PAYPALISHIRING" Linhas: 3 **Padrão Zigzag:** ``` P A H N A P L S I I G Y I R ``` **Output:** "PAHNAPLSIIGYIR" --- ### **Implementação em Harbour** As soluções estão organizadas em dois arquivos principai...

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

Parâmetros de Blocos de Codificação:

As barras verticais utilizadas na montagem do Bloco de Codificação são as delimitadoras das especificações dos parâmetros formais e o que caracteriza a Montagem de um bloco de código, se elas não forem utilizadas o sistema interpretará que o valor que está sendo atribuído à variável é um array e não um Bloco de Código. A definição e uso desses parâmetros é opcional mas as barras não.

Exemplo:

bVar := { | nVar1 , nVar2 | nVar1 + nVar2 }
nRetult := Eval( bVar , 10 , 20 )

Quando Eval avaliar o bloco de codificação nVar1 terá o conteúdo 10 e nVar2 terá o conteúdo 20. Como em uma função, os parâmetros deverão ser passados na seqüência em que foram declarados. Outro exemplo poderia ser:

bVar := { |nVar1,nVar2,cVar3,aVar4| U_Teste(nVar1,nVar2,cVar3,aVar4)}
Eval( bVar , 10 , , “C” , {} )

Neste caso, Eval, na avaliação do bloco de codificação, irá efetuar a chamada à função U_Teste() com passagem de parâmetros. Observe que o segundo parâmetro não foi passado, sendo assim, U_Teste() receberá, respectivamente: 10, NIL, “C” e {} que serão os conteúdos reais das variáveis nVar1, nVar2, cVar3 e aVar4.

Comentários

Postagens mais visitadas