Jump to content
Sign in to follow this  
pejuge2

Par ou Impar? 4 Funções

Recommended Posts

pejuge2

PON - Par, Impar ou Não numeral? 2 Funções

Olá a todos novamente, depois de algum tempo sem postar (o vício no jogo estava muito), voltei com toda força =D. Neste Tutorial simples e rápido demonstrarei duas funções simples criadas por mim (o título está incorreto na visualização antes de entrar, não sei o motivo), como gosto de dar nome aos meus scripts, estes se chamarão PON (Par, Ímpar ou Não numeral), isPON(param) - é par, ímpar ou não numeral? - e PONQtd(table, value) - quantos de pares, ímpares ou não números? - caso já existam estas funções favor postar neste tutorial. Pretendo criar um script com elas (aguardem =D). :fun::style::pirate:

Obs.: Ao final disponibilizarei o download e o modo de instalação. Os scripts scripts de ímpares estão feitos baseados nos pares, pois em caso de necessitar mudanças é mais facil.

A função isPON:

Esta Função é bem simples, ela determina se um número é par ou ímpar. Aí está:

function isPON(param) --> Check if the param is a pair or an odd number

if type(param) == 'number' then

if param % 2 == 0 then

return "pair"

else return "odd"

end

else return "not number"

end

end

Bom, utilizei um recurso muito simples, o módulo (%). Para quem desejar saber mais sobre este e outros recursos recomendo este tutorial:

http://forums.otserv.com.br/f176/aula-4-operadores-e-bibliotecas-115674/ , iniciei meus estudos com estas aulas e são de grande auxílio, será facil compreender o script com elas (principalmente a do link).

Você deve estar se perguntando, o que é esse negócio de param? Bem simples hehe :loool:. Ele é o conteúdo analizado, geralmente o número de uma tabela.

 

A seguir um exemplo prático:

local tabela = {1, 2, 3, 4, casa, olho}

print(isPON(tabela[2])) -- retornará par

print(isPON(tabela[5])) -- retornará not number, pois 'olho' não é um número

print(isPON(tabela[3])) -- retornará ímpar

A função PONQtd:

Esta função é apenas uma aplicação da função isPON, onde no caso avalia uma tabela e determina qual a quantidade de números pares, ímpares ou não números. Bom, aqui está o script:

function PONQtd(table, value) --> Check how many pair or odd or not numbers have on the table; use "pair" or "odd" or "not number"

local a = nil

local total = 0

for a = 1, #table do

if isPON(table[a]) == value then

total = total + 1

end

end

return total

end

Note que neste caso utilizei table ao invés de param pois não há sentido escrever milhões de números para posterior avaliação, o mais comum é avaliação de tabelas. Ok, mas o que é esse negócio de value? Simples, hehe :said::pirate::laugh::ras: (nem gosto de emoticons), é um parâmetro "extra" (necessário colocá-lo), coloque nele "pair" para que se obtenha a quantidade de números pares, "odd" para os ímpares ou "not number" para não números. A seguir um exemplo:

local tabela = {1, 2, 3, 4, camarao,"casa", "olho", 20, 90}

print(PONQtd(tabela, "pair")) -- retornará 4, pois 2, 4, 20 e 90 são pares

print(PONQtd(tabela, "not number")) -- retornará 3 pois camarao, "casa" e "olho" não sao números

print(PONQtd(tabela, "odd")) -- retornará 1, pois apenas 1 e 3 neste caso são ímpares

Download:

Script:

Hidden Content

    Sign In here or Sign Up here to see this hidden content.

 

Instalação:

Para instalar, é simples, basta colar o arquivo na pasta lib(...\lib) e colar isto: dofile(getDataDir() .. "lib/Par ou Impar.lua") em data.lua(...\lib\data.lua). Lembre-se para no caso de mudar o nome do arquivo mudar o texto em negrito preto.

Obrigado:

Agradeço por ter lido meu tópico e espero ter ajudado, aguardem o script prometido ^^. Aguardo comentários hehe :w00t:

Edited by pejuge2

Share this post


Link to post
Share on other sites
Skyen Hasus

Aprovado e movido. Obrigado pela contribuição.

Share this post


Link to post
Share on other sites
pejuge2

Obrigado Skyen ^^, meu terceiro post (2 Tutoriais e 1 Download), terceira aprovação, =D. Bom, achei que faltavam estas duas funções, logo logo (quando a preguiça deixar) eu faço o npc prometido (o vício no jogo é muito uhauhauha), além disso PROMETO =D postar um tutorial novo logo logo hehe.

Obs.: Estou de férias, mereço um disconto huauhuahuauh

 

Grato, Pedro(PeJuGe)

Share this post


Link to post
Share on other sites
Gabrielmaxx

O Script é legal, mas pra q q serve dentro de um OT?

 

Só pra saber mesmo, não tou querendo criticar nem nada^^

Share this post


Link to post
Share on other sites
pejuge2

Gabriel, eles são funções. Muitas vezes, na hora de avaliar tabelas, o que é muito comum, os scripters se deparam com impedimentos e acabam utilizando meios mais longos, com as funções simplificadas é mais facil este trabalho ^^.

Share this post


Link to post
Share on other sites
demoniac otserv

Aprovado

 

Gostei de mais do Script. Nao muito ultio, mas bem legal

Share this post


Link to post
Share on other sites
ricardosohn

gostei, em um futuro proximo pode ser util.

aprovado

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×